@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
package/README.md CHANGED
@@ -126,8 +126,9 @@ did before the other themes existed.
126
126
 
127
127
  ### Bundled themes
128
128
 
129
- Eleven, ported from HeroUI's theme gallery. The default one is already in `@ropav/styles`; the rest are
130
- opt-in, one file each:
129
+ The default one, plus a theme per brand ported from HeroUI's gallery `hero` among them, being
130
+ HeroUI's own palette. The default is already in `@ropav/styles`; the others are opt-in, one file
131
+ each:
131
132
 
132
133
  ```css
133
134
  @import "@ropav/styles";
@@ -136,10 +137,10 @@ opt-in, one file each:
136
137
 
137
138
  | `data-theme` | | `data-theme` | | `data-theme` |
138
139
  | --- | --- | --- | --- | --- |
139
- | `default` | | `netflix` | | `airbnb` |
140
+ | `default` | | `mint` | | `coinbase` |
141
+ | `hero` | | `netflix` | | `airbnb` |
140
142
  | `sky` | | `uber` | | `discord` |
141
143
  | `lavender` | | `spotify` | | `rabbit` |
142
- | `mint` | | `coinbase` | | |
143
144
 
144
145
  Each carries both a light and a dark palette, so a theme is a brand rather than an appearance. There is
145
146
  no `netflix-dark` — it is `data-theme="netflix"` plus `class="dark"`.
@@ -147,11 +148,15 @@ no `netflix-dark` — it is `data-theme="netflix"` plus `class="dark"`.
147
148
  `themes/all.css` pulls in all of them at once. That is for docs and playgrounds; an app should import
148
149
  only the themes it actually offers, since each is around 10 kB before compression.
149
150
 
150
- The ten non-default themes are **generated** — edit `scripts/themes/presets.ts` and run
151
+ Every theme but `default` and `hero` is **generated** — edit `scripts/themes/presets.ts` and run
151
152
  `pnpm generate:themes`, never the CSS. A preset is four numbers (accent lightness, chroma and hue, plus
152
153
  the chroma of the neutral ramp), a radius pair, and any exact brand colours that should beat the
153
154
  calculated ones.
154
155
 
156
+ Those two stay hand-written, each file's header saying what the generator cannot reproduce about it.
157
+ Their presets carry the label and the presentation order; the CSS is the source of truth for their
158
+ tokens.
159
+
155
160
  ### Retheming
156
161
 
157
162
  Every token is a CSS custom property, so overriding them in your own stylesheet is enough — no rebuild
@@ -116,7 +116,7 @@
116
116
  /* Surface variant */
117
117
  .accordion--surface {
118
118
  @apply bg-surface;
119
- border-radius: min(32px, var(--radius-3xl));
119
+ border-radius: min(32px, var(--component-radius));
120
120
 
121
121
  /* Forced Colors Mode flattens the fill onto the page and strips the shadow, so the container
122
122
  * stops having any shape and its contents sit loose on the page. */
@@ -147,13 +147,13 @@
147
147
 
148
148
  /* Special rounding for first and last items in surface variant */
149
149
  &:first-child [data-slot="accordion-trigger"] {
150
- border-start-start-radius: min(32px, var(--radius-3xl));
151
- border-start-end-radius: min(32px, var(--radius-3xl));
150
+ border-start-start-radius: min(32px, var(--component-radius));
151
+ border-start-end-radius: min(32px, var(--component-radius));
152
152
  }
153
153
 
154
154
  &:last-child:not(:has([data-slot="accordion-trigger"][aria-expanded="true"]))
155
155
  [data-slot="accordion-trigger"] {
156
- border-end-start-radius: min(32px, var(--radius-3xl));
157
- border-end-end-radius: min(32px, var(--radius-3xl));
156
+ border-end-start-radius: min(32px, var(--component-radius));
157
+ border-end-end-radius: min(32px, var(--component-radius));
158
158
  }
159
159
  }
@@ -145,7 +145,7 @@
145
145
  @apply flex min-h-0 w-full flex-col;
146
146
  @apply max-h-full;
147
147
  @apply bg-overlay shadow-overlay outline-none;
148
- border-radius: min(32px, var(--radius-3xl));
148
+ border-radius: min(32px, var(--component-radius));
149
149
  @apply p-6;
150
150
  @apply overflow-clip;
151
151
  @apply pointer-events-auto;
@@ -11,7 +11,7 @@
11
11
  outline: 1px solid CanvasText;
12
12
  outline-offset: -1px;
13
13
  }
14
- border-radius: min(32px, var(--radius-3xl));
14
+ border-radius: min(32px, var(--component-radius));
15
15
  }
16
16
 
17
17
  /* Alert elements */
@@ -7,6 +7,17 @@ export declare const autocompleteVariants: import("tailwind-variants").TVReturnT
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;
@@ -31,6 +42,17 @@ export declare const autocompleteVariants: import("tailwind-variants").TVReturnT
31
42
  trigger: string;
32
43
  };
33
44
  };
45
+ size: {
46
+ lg: {
47
+ base: string;
48
+ popover: string;
49
+ };
50
+ md: {};
51
+ sm: {
52
+ base: string;
53
+ popover: string;
54
+ };
55
+ };
34
56
  variant: {
35
57
  primary: {
36
58
  base: string;
@@ -55,6 +77,17 @@ export declare const autocompleteVariants: import("tailwind-variants").TVReturnT
55
77
  trigger: string;
56
78
  };
57
79
  };
80
+ size: {
81
+ lg: {
82
+ base: string;
83
+ popover: string;
84
+ };
85
+ md: {};
86
+ sm: {
87
+ base: string;
88
+ popover: string;
89
+ };
90
+ };
58
91
  variant: {
59
92
  primary: {
60
93
  base: string;
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.styles.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete/autocomplete.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,oBAAoB;;QAgB3B,KAAK;QACL,IAAI;YACF,IAAI;YACJ,OAAO;;;;QAIT,OAAO;YACL,IAAI;;QAEN,SAAS;YACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIV,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"autocomplete.styles.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete/autocomplete.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,oBAAoB;;QAiB3B,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,oBAAoB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -3,6 +3,7 @@ import { tv } from "tailwind-variants";
3
3
  const autocompleteVariants = tv({
4
4
  defaultVariants: {
5
5
  fullWidth: false,
6
+ size: "md",
6
7
  variant: "primary"
7
8
  },
8
9
  slots: {
@@ -22,6 +23,17 @@ const autocompleteVariants = tv({
22
23
  trigger: "autocomplete__trigger--full-width"
23
24
  }
24
25
  },
26
+ size: {
27
+ lg: {
28
+ base: "autocomplete--lg",
29
+ popover: "autocomplete__popover--lg"
30
+ },
31
+ md: {},
32
+ sm: {
33
+ base: "autocomplete--sm",
34
+ popover: "autocomplete__popover--sm"
35
+ }
36
+ },
25
37
  variant: {
26
38
  primary: { base: "autocomplete--primary" },
27
39
  secondary: { base: "autocomplete--secondary" }
@@ -4,7 +4,7 @@
4
4
  }
5
5
 
6
6
  .autocomplete__trigger {
7
- @apply relative isolate inline-flex min-h-9 rounded-field border bg-field px-3 py-2 text-sm text-field-foreground shadow-field outline-none select-none no-highlight;
7
+ @apply relative isolate inline-flex min-h-9 rounded-field border bg-field px-3 field-line-md text-field-foreground shadow-field outline-none select-none no-highlight;
8
8
 
9
9
  /* Forced Colors Mode flattens the fill onto the page and strips the shadow, leaving a control
10
10
  * with nothing to say it is one. `ButtonBorder` is the keyword the platform uses for a
@@ -109,7 +109,7 @@
109
109
  }
110
110
 
111
111
  .autocomplete__value {
112
- @apply flex-1 text-start text-base wrap-break-word text-current sm:text-sm;
112
+ @apply flex-1 text-start wrap-break-word text-current;
113
113
 
114
114
  &[data-placeholder="true"] {
115
115
  @apply text-field-placeholder;
@@ -139,7 +139,7 @@
139
139
  /* Similar to popover content styles */
140
140
  .autocomplete__popover {
141
141
  @apply flex w-(--trigger-width) max-w-(--trigger-width) origin-(--trigger-anchor-point) scroll-py-1 flex-col overflow-hidden overscroll-contain bg-overlay p-0 pt-2 text-sm outline-none;
142
- border-radius: min(32px, var(--radius-3xl));
142
+ border-radius: min(32px, var(--component-radius));
143
143
  box-shadow: var(--shadow-overlay);
144
144
 
145
145
  &:focus,
@@ -289,3 +289,31 @@
289
289
  transform: scale(0.93);
290
290
  }
291
291
  }
292
+
293
+ /* ==========================================================================
294
+ Size variants
295
+ ========================================================================== */
296
+
297
+ /* The trigger's own metrics, and the option rows in a popover that is portalled out of this tree -
298
+ * which is why the popover carries its own size class rather than being reached from the base. */
299
+ .autocomplete--sm .autocomplete__trigger {
300
+ @apply min-h-8 field-line-sm;
301
+ }
302
+
303
+ .autocomplete--lg .autocomplete__trigger {
304
+ @apply min-h-10 field-line-lg;
305
+ }
306
+
307
+ .autocomplete__popover--sm {
308
+ [data-slot="list-box-item"] {
309
+ @apply min-h-8 py-1;
310
+ }
311
+ }
312
+
313
+ .autocomplete__popover--lg {
314
+ @apply text-base;
315
+
316
+ [data-slot="list-box-item"] {
317
+ @apply min-h-10 py-2;
318
+ }
319
+ }
@@ -26,32 +26,32 @@
26
26
 
27
27
  /* Apply border radius to first button (start edge) */
28
28
  .button-group--horizontal .button:first-child {
29
- @apply rounded-s-3xl;
29
+ @apply rounded-s-component;
30
30
  }
31
31
 
32
32
  /* Apply border radius to last button (end edge) */
33
33
  .button-group--horizontal .button:last-child {
34
- @apply rounded-e-3xl;
34
+ @apply rounded-e-component;
35
35
  }
36
36
 
37
37
  /* If only one button, apply both rounded edges */
38
38
  .button-group--horizontal .button:first-child:last-child {
39
- @apply rounded-3xl;
39
+ @apply rounded-component;
40
40
  }
41
41
 
42
42
  /* Apply border radius to first button (top edge) in vertical */
43
43
  .button-group--vertical .button:first-child {
44
- @apply rounded-t-3xl;
44
+ @apply rounded-t-component;
45
45
  }
46
46
 
47
47
  /* Apply border radius to last button (bottom edge) in vertical */
48
48
  .button-group--vertical .button:last-child {
49
- @apply rounded-b-3xl;
49
+ @apply rounded-b-component;
50
50
  }
51
51
 
52
52
  /* If only one button in vertical, apply all rounded edges */
53
53
  .button-group--vertical .button:first-child:last-child {
54
- @apply rounded-3xl;
54
+ @apply rounded-component;
55
55
  }
56
56
 
57
57
  /* Remove scale transform on active/pressed state for buttons in group */
@@ -2,7 +2,7 @@
2
2
 
3
3
  /* Base button styles */
4
4
  .button {
5
- @apply relative isolate inline-flex h-10 w-fit origin-center items-center justify-center gap-2 rounded-3xl px-4 text-sm font-medium whitespace-nowrap outline-none select-none no-highlight md:h-9;
5
+ @apply relative isolate inline-flex h-9 w-fit origin-center items-center justify-center gap-2 rounded-component px-4 text-sm font-medium whitespace-nowrap outline-none select-none no-highlight;
6
6
 
7
7
  /**
8
8
  * Transitions
@@ -69,17 +69,13 @@
69
69
 
70
70
  /* SVG icon styling - exclude spinner and link-icon svgs */
71
71
  & svg:not([data-slot="spinner"] svg, [data-slot="link-icon"] svg) {
72
- @apply pointer-events-none -mx-0.5 my-0.5 size-5 shrink-0 self-center sm:my-1 sm:size-4;
72
+ @apply pointer-events-none -mx-0.5 my-1 size-4 shrink-0 self-center;
73
73
  }
74
74
  }
75
75
 
76
76
  /* Size variants */
77
77
  .button--sm {
78
- @apply h-9 px-3 md:h-8;
79
-
80
- & svg:not([data-slot="spinner"] svg, [data-slot="link-icon"] svg) {
81
- @apply size-4;
82
- }
78
+ @apply h-8 px-3;
83
79
 
84
80
  &:active,
85
81
  &[data-pressed="true"] {
@@ -92,7 +88,7 @@
92
88
  }
93
89
 
94
90
  .button--lg {
95
- @apply h-11 text-base md:h-10;
91
+ @apply h-10 text-base;
96
92
 
97
93
  &:active,
98
94
  &[data-pressed="true"] {
@@ -168,15 +164,15 @@
168
164
 
169
165
  /* Icon-only modifier */
170
166
  .button--icon-only {
171
- @apply w-10 p-0 md:w-9;
167
+ @apply w-9 p-0;
172
168
  }
173
169
 
174
170
  .button--icon-only.button--sm {
175
- @apply w-9 md:w-8;
171
+ @apply w-8;
176
172
  }
177
173
 
178
174
  .button--icon-only.button--lg {
179
- @apply w-11 md:w-10;
175
+ @apply w-10;
180
176
  }
181
177
 
182
178
  /* Full width modifier */
@@ -116,7 +116,7 @@
116
116
  * Year Cell
117
117
  * -------------------------------------------------------------------------- */
118
118
  .calendar-year-picker__year-cell {
119
- @apply relative inline-flex h-8 items-center justify-center rounded-3xl px-2.5 text-sm font-medium outline-none select-none no-highlight;
119
+ @apply relative inline-flex h-8 items-center justify-center rounded-component px-2.5 text-sm font-medium outline-none select-none no-highlight;
120
120
  touch-action: manipulation;
121
121
 
122
122
  /**
@@ -4,7 +4,7 @@
4
4
  .card {
5
5
  @apply relative flex flex-col gap-3 overflow-visible p-4;
6
6
  @apply shadow-surface;
7
- border-radius: min(32px, var(--radius-3xl));
7
+ border-radius: min(32px, var(--component-radius));
8
8
  }
9
9
 
10
10
  /* Element - header */
@@ -6,6 +6,15 @@ export declare const colorInputGroupVariants: import("tailwind-variants").TVRetu
6
6
  base: string;
7
7
  };
8
8
  };
9
+ size: {
10
+ lg: {
11
+ base: string;
12
+ };
13
+ md: {};
14
+ sm: {
15
+ base: string;
16
+ };
17
+ };
9
18
  variant: {
10
19
  primary: {
11
20
  base: string;
@@ -26,6 +35,15 @@ export declare const colorInputGroupVariants: import("tailwind-variants").TVRetu
26
35
  base: string;
27
36
  };
28
37
  };
38
+ size: {
39
+ lg: {
40
+ base: string;
41
+ };
42
+ md: {};
43
+ sm: {
44
+ base: string;
45
+ };
46
+ };
29
47
  variant: {
30
48
  primary: {
31
49
  base: string;
@@ -46,6 +64,15 @@ export declare const colorInputGroupVariants: import("tailwind-variants").TVRetu
46
64
  base: string;
47
65
  };
48
66
  };
67
+ size: {
68
+ lg: {
69
+ base: string;
70
+ };
71
+ md: {};
72
+ sm: {
73
+ base: string;
74
+ };
75
+ };
49
76
  variant: {
50
77
  primary: {
51
78
  base: string;
@@ -1 +1 @@
1
- {"version":3,"file":"color-input-group.styles.d.ts","sourceRoot":"","sources":["../../../src/components/color-input-group/color-input-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,uBAAuB;;QAa9B,KAAK;QACL,IAAI;YACF,IAAI;;;;QAIN,OAAO;YACL,IAAI;;QAEN,SAAS;YACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIV,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"color-input-group.styles.d.ts","sourceRoot":"","sources":["../../../src/components/color-input-group/color-input-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,uBAAuB;;QAc9B,KAAK;QACL,IAAI;YACF,IAAI;;;;QAIN,EAAE;YACA,IAAI;;QAEN,EAAE;QACF,EAAE;YACA,IAAI;;;;QAIN,OAAO;YACL,IAAI;;QAEN,SAAS;YACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIV,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -3,6 +3,7 @@ import { tv } from "tailwind-variants";
3
3
  const colorInputGroupVariants = tv({
4
4
  defaultVariants: {
5
5
  fullWidth: false,
6
+ size: "md",
6
7
  variant: "primary"
7
8
  },
8
9
  slots: {
@@ -16,6 +17,11 @@ const colorInputGroupVariants = tv({
16
17
  false: {},
17
18
  true: { base: "color-input-group--full-width" }
18
19
  },
20
+ size: {
21
+ lg: { base: "color-input-group--lg" },
22
+ md: {},
23
+ sm: { base: "color-input-group--sm" }
24
+ },
19
25
  variant: {
20
26
  primary: { base: "color-input-group--primary" },
21
27
  secondary: { base: "color-input-group--secondary" }
@@ -61,7 +61,7 @@
61
61
  ========================================================================== */
62
62
 
63
63
  .color-input-group__input {
64
- @apply flex h-full flex-1 cursor-text items-center rounded-none border-0 bg-transparent px-3 py-2 text-base shadow-none outline-none sm:text-sm;
64
+ @apply flex h-full flex-1 cursor-text items-center rounded-none border-0 bg-transparent px-3 field-line-md shadow-none outline-none;
65
65
 
66
66
  /* Placeholder styling */
67
67
  &::placeholder {
@@ -142,3 +142,23 @@
142
142
  .color-input-group--full-width {
143
143
  @apply w-full;
144
144
  }
145
+
146
+ /* ==========================================================================
147
+ Size variants
148
+ ========================================================================== */
149
+
150
+ .color-input-group--sm {
151
+ @apply h-8;
152
+
153
+ .color-input-group__input {
154
+ @apply field-line-sm;
155
+ }
156
+ }
157
+
158
+ .color-input-group--lg {
159
+ @apply h-10;
160
+
161
+ .color-input-group__input {
162
+ @apply field-line-lg;
163
+ }
164
+ }
@@ -7,6 +7,15 @@ export declare const comboBoxVariants: import("tailwind-variants").TVReturnType<
7
7
  inputGroup: string;
8
8
  };
9
9
  };
10
+ size: {
11
+ lg: {
12
+ popover: string;
13
+ };
14
+ md: {};
15
+ sm: {
16
+ popover: string;
17
+ };
18
+ };
10
19
  }, {
11
20
  base: string;
12
21
  inputGroup: string;
@@ -21,6 +30,15 @@ export declare const comboBoxVariants: import("tailwind-variants").TVReturnType<
21
30
  inputGroup: string;
22
31
  };
23
32
  };
33
+ size: {
34
+ lg: {
35
+ popover: string;
36
+ };
37
+ md: {};
38
+ sm: {
39
+ popover: string;
40
+ };
41
+ };
24
42
  }, {
25
43
  base: string;
26
44
  inputGroup: string;
@@ -35,6 +53,15 @@ export declare const comboBoxVariants: import("tailwind-variants").TVReturnType<
35
53
  inputGroup: string;
36
54
  };
37
55
  };
56
+ size: {
57
+ lg: {
58
+ popover: string;
59
+ };
60
+ md: {};
61
+ sm: {
62
+ popover: string;
63
+ };
64
+ };
38
65
  }, {
39
66
  base: string;
40
67
  inputGroup: string;
@@ -1 +1 @@
1
- {"version":3,"file":"combo-box.styles.d.ts","sourceRoot":"","sources":["../../../src/components/combo-box/combo-box.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,gBAAgB;;QAavB,KAAK;QACL,IAAI;YACF,IAAI;YACJ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIhB,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"combo-box.styles.d.ts","sourceRoot":"","sources":["../../../src/components/combo-box/combo-box.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,gBAAgB;;QAcvB,KAAK;QACL,IAAI;YACF,IAAI;YACJ,UAAU;;;;QAMZ,EAAE;YACA,OAAO;;QAET,EAAE;QACF,EAAE;YACA,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIb,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { tv } from "tailwind-variants";
2
2
  //#region src/components/combo-box/combo-box.styles.ts
3
3
  const comboBoxVariants = tv({
4
- defaultVariants: { fullWidth: false },
4
+ defaultVariants: {
5
+ fullWidth: false,
6
+ size: "md"
7
+ },
5
8
  slots: {
6
9
  base: "combo-box",
7
10
  inputGroup: "combo-box__input-group",
@@ -9,13 +12,20 @@ const comboBoxVariants = tv({
9
12
  trigger: "combo-box__trigger",
10
13
  value: "combo-box__value"
11
14
  },
12
- variants: { fullWidth: {
13
- false: {},
14
- true: {
15
- base: "combo-box--full-width",
16
- inputGroup: "combo-box__input-group--full-width"
15
+ variants: {
16
+ fullWidth: {
17
+ false: {},
18
+ true: {
19
+ base: "combo-box--full-width",
20
+ inputGroup: "combo-box__input-group--full-width"
21
+ }
22
+ },
23
+ size: {
24
+ lg: { popover: "combo-box__popover--lg" },
25
+ md: {},
26
+ sm: { popover: "combo-box__popover--sm" }
17
27
  }
18
- } }
28
+ }
19
29
  });
20
30
  //#endregion
21
31
  export { comboBoxVariants };
@@ -100,7 +100,7 @@
100
100
  /* Similar to popover content styles */
101
101
  .combo-box__popover {
102
102
  @apply min-w-(--trigger-width) origin-(--trigger-anchor-point) scroll-py-1 scrollbar overflow-y-auto overscroll-contain bg-overlay p-0 text-sm;
103
- border-radius: min(32px, var(--radius-3xl));
103
+ border-radius: min(32px, var(--component-radius));
104
104
  box-shadow: var(--shadow-overlay);
105
105
 
106
106
  /* Focus state */
@@ -174,6 +174,26 @@
174
174
  }
175
175
  }
176
176
 
177
+ /* ==========================================================================
178
+ Size variants
179
+ ========================================================================== */
180
+
181
+ /* The input inside sizes itself from the context the root provides, so only the option rows are
182
+ * left - reached from the popover's own class, since it is teleported out of this tree. */
183
+ .combo-box__popover--sm {
184
+ [data-slot="list-box-item"] {
185
+ @apply min-h-8 py-1;
186
+ }
187
+ }
188
+
189
+ .combo-box__popover--lg {
190
+ @apply text-base;
191
+
192
+ [data-slot="list-box-item"] {
193
+ @apply min-h-10 py-2;
194
+ }
195
+ }
196
+
177
197
  /* Full width modifier */
178
198
  .combo-box--full-width {
179
199
  @apply w-full;
@@ -6,6 +6,15 @@ export declare const dateInputGroupVariants: import("tailwind-variants").TVRetur
6
6
  base: string;
7
7
  };
8
8
  };
9
+ size: {
10
+ lg: {
11
+ base: string;
12
+ };
13
+ md: {};
14
+ sm: {
15
+ base: string;
16
+ };
17
+ };
9
18
  variant: {
10
19
  primary: {
11
20
  base: string;
@@ -28,6 +37,15 @@ export declare const dateInputGroupVariants: import("tailwind-variants").TVRetur
28
37
  base: string;
29
38
  };
30
39
  };
40
+ size: {
41
+ lg: {
42
+ base: string;
43
+ };
44
+ md: {};
45
+ sm: {
46
+ base: string;
47
+ };
48
+ };
31
49
  variant: {
32
50
  primary: {
33
51
  base: string;
@@ -50,6 +68,15 @@ export declare const dateInputGroupVariants: import("tailwind-variants").TVRetur
50
68
  base: string;
51
69
  };
52
70
  };
71
+ size: {
72
+ lg: {
73
+ base: string;
74
+ };
75
+ md: {};
76
+ sm: {
77
+ base: string;
78
+ };
79
+ };
53
80
  variant: {
54
81
  primary: {
55
82
  base: string;
@@ -1 +1 @@
1
- {"version":3,"file":"date-input-group.styles.d.ts","sourceRoot":"","sources":["../../../src/components/date-input-group/date-input-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,sBAAsB;;QAe7B,KAAK;QACL,IAAI;YACF,IAAI;;;;QAIN,OAAO;YACL,IAAI;;QAEN,SAAS;YACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIV,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"date-input-group.styles.d.ts","sourceRoot":"","sources":["../../../src/components/date-input-group/date-input-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,sBAAsB;;QAgB7B,KAAK;QACL,IAAI;YACF,IAAI;;;;QAIN,EAAE;YACA,IAAI;;QAEN,EAAE;QACF,EAAE;YACA,IAAI;;;;QAIN,OAAO;YACL,IAAI;;QAEN,SAAS;YACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIV,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -3,6 +3,7 @@ import { tv } from "tailwind-variants";
3
3
  const dateInputGroupVariants = tv({
4
4
  defaultVariants: {
5
5
  fullWidth: false,
6
+ size: "md",
6
7
  variant: "primary"
7
8
  },
8
9
  slots: {
@@ -18,6 +19,11 @@ const dateInputGroupVariants = tv({
18
19
  false: {},
19
20
  true: { base: "date-input-group--full-width" }
20
21
  },
22
+ size: {
23
+ lg: { base: "date-input-group--lg" },
24
+ md: {},
25
+ sm: { base: "date-input-group--sm" }
26
+ },
21
27
  variant: {
22
28
  primary: { base: "date-input-group--primary" },
23
29
  secondary: { base: "date-input-group--secondary" }