ropav 0.1.9 → 0.2.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 (46) hide show
  1. package/README.md +13 -5
  2. package/dist/base.css +570 -773
  3. package/dist/calendar.css +1 -1
  4. package/dist/color-input.css +3 -7
  5. package/dist/color-picker.css +2 -6
  6. package/dist/color-swatch.css +2 -6
  7. package/dist/combobox.css +5 -5
  8. package/dist/componentColors.js +29 -25
  9. package/dist/components/alert/types.d.ts +1 -1
  10. package/dist/components/avatar/types.d.ts +1 -1
  11. package/dist/components/badge/types.d.ts +1 -1
  12. package/dist/components/pagination/types.d.ts +1 -1
  13. package/dist/components/progress/types.d.ts +1 -1
  14. package/dist/components/segmented-control/types.d.ts +1 -1
  15. package/dist/components/slider/types.d.ts +1 -1
  16. package/dist/components/toast/types.d.ts +1 -1
  17. package/dist/date-picker.css +1 -1
  18. package/dist/dropdown-menu.css +7 -7
  19. package/dist/field.css +1 -1
  20. package/dist/hover-card.css +1 -1
  21. package/dist/modal.css +1 -1
  22. package/dist/multi-select.css +5 -5
  23. package/dist/pagination.css +1 -1
  24. package/dist/popover.css +2 -2
  25. package/dist/select.css +5 -5
  26. package/dist/slider.css +3 -3
  27. package/dist/tabs.css +3 -3
  28. package/dist/tags-input.css +1 -1
  29. package/dist/textarea.css +1 -1
  30. package/dist/toast.css +1 -1
  31. package/dist/tooltip.css +1 -1
  32. package/dist/utils/componentColors.d.ts +2 -4
  33. package/docs/code-architecture.md +147 -0
  34. package/docs/public-styles-api.md +8 -6
  35. package/docs/releasing.md +39 -0
  36. package/package.json +37 -16
  37. package/src/styles/_mixins.scss +2 -6
  38. package/src/styles/_tokens.scss +4 -833
  39. package/src/styles/generated/showcase.html +274 -0
  40. package/src/styles/generated/tokens.css +592 -0
  41. package/src/styles/generated/tokens.md +583 -0
  42. package/src/styles/generated/tokens.scss +1134 -0
  43. package/tokens/manifest.json +6164 -0
  44. package/docs/public-tokens.md +0 -685
  45. package/src/styles/_variables.scss +0 -243
  46. package/src/styles/styles-manifest.json +0 -5244
package/dist/calendar.css CHANGED
@@ -171,7 +171,7 @@
171
171
  background-color: var(--rp-color-control-selected-bg);
172
172
  }
173
173
  .rp-calendar__day--selected[data-v-9df33d1a]:hover:not(:disabled) {
174
- background-color: var(--rp-primary-color-filled-hover);
174
+ background-color: var(--rp-color-primary-filled-hover);
175
175
  }
176
176
  .rp-calendar__day[data-v-9df33d1a]:disabled {
177
177
  cursor: not-allowed;
@@ -5,8 +5,8 @@
5
5
  --_rp-color-input-preview-inset: calc(
6
6
  (var(--_rp-color-input-height) - var(--_rp-color-input-preview-size)) / 2
7
7
  );
8
- --_rp-color-input-empty-tile: var(--rp-color-gray-3);
9
- --_rp-color-input-empty-tile-alt: var(--rp-color-white);
8
+ --_rp-color-input-empty-tile: var(--rp-color-gray-5);
9
+ --_rp-color-input-empty-tile-alt: var(--rp-color-gray-1);
10
10
  --_rp-color-input-empty-grid: conic-gradient(
11
11
  var(--_rp-color-input-empty-tile) 25%,
12
12
  var(--_rp-color-input-empty-tile-alt) 0 50%,
@@ -33,13 +33,9 @@
33
33
  .rp-color-input--size-xl[data-v-fe0168d1] {
34
34
  --_rp-color-input-height: var(--rp-size-control-xl);
35
35
  }
36
- html.dark .rp-color-input[data-v-fe0168d1], [data-rp-color-scheme=dark] .rp-color-input[data-v-fe0168d1] {
37
- --_rp-color-input-empty-tile: var(--rp-color-dark-6);
38
- --_rp-color-input-empty-tile-alt: var(--rp-color-dark-4);
39
- }
40
36
  .rp-color-input[data-v-fe0168d1] .rp-input {
41
37
  width: 100%;
42
- min-width: 180px;
38
+ min-width: var(--rp-component-menu-min-width);
43
39
  padding-inline-start: calc(var(--_rp-color-input-preview-inset) - var(--rp-border-width-thin));
44
40
  }
45
41
  .rp-color-input[data-v-fe0168d1] .rp-popover__content {
@@ -146,8 +146,8 @@
146
146
  0px,
147
147
  calc(var(--_rp-color-picker-saturation-height) - var(--_rp-color-picker-thumb-size))
148
148
  );
149
- --_rp-color-picker-checkerboard-tile: var(--rp-color-gray-3);
150
- --_rp-color-picker-checkerboard-tile-alt: var(--rp-color-white);
149
+ --_rp-color-picker-checkerboard-tile: var(--rp-color-gray-5);
150
+ --_rp-color-picker-checkerboard-tile-alt: var(--rp-color-gray-1);
151
151
  --_rp-color-picker-checkerboard: conic-gradient(
152
152
  var(--_rp-color-picker-checkerboard-tile) 25%,
153
153
  var(--_rp-color-picker-checkerboard-tile-alt) 0 50%,
@@ -168,10 +168,6 @@
168
168
  user-select: none;
169
169
  vertical-align: top;
170
170
  }
171
- html.dark .rp-color-picker[data-v-7fe38e4e], [data-rp-color-scheme=dark] .rp-color-picker[data-v-7fe38e4e] {
172
- --_rp-color-picker-checkerboard-tile: var(--rp-color-dark-6);
173
- --_rp-color-picker-checkerboard-tile-alt: var(--rp-color-dark-4);
174
- }
175
171
  .rp-color-picker--readonly[data-v-7fe38e4e] {
176
172
  cursor: default;
177
173
  }
@@ -2,8 +2,8 @@
2
2
  .rp-color-swatch[data-v-63bed4a0] {
3
3
  --_rp-color-swatch-size: 24px;
4
4
  --_rp-color-swatch-radius: var(--rp-radius-sm);
5
- --_rp-color-swatch-checkerboard-tile: var(--rp-color-gray-3);
6
- --_rp-color-swatch-checkerboard-tile-alt: var(--rp-color-white);
5
+ --_rp-color-swatch-checkerboard-tile: var(--rp-color-gray-5);
6
+ --_rp-color-swatch-checkerboard-tile-alt: var(--rp-color-gray-1);
7
7
  --_rp-color-swatch-checkerboard: conic-gradient(
8
8
  var(--_rp-color-swatch-checkerboard-tile) 25%,
9
9
  var(--_rp-color-swatch-checkerboard-tile-alt) 0 50%,
@@ -31,10 +31,6 @@
31
31
  overflow: hidden;
32
32
  vertical-align: middle;
33
33
  }
34
- html.dark .rp-color-swatch[data-v-63bed4a0], [data-rp-color-scheme=dark] .rp-color-swatch[data-v-63bed4a0] {
35
- --_rp-color-swatch-checkerboard-tile: var(--rp-color-dark-6);
36
- --_rp-color-swatch-checkerboard-tile-alt: var(--rp-color-dark-4);
37
- }
38
34
  .rp-color-swatch__icon[data-v-63bed4a0] {
39
35
  display: inline-flex;
40
36
  align-items: center;
package/dist/combobox.css CHANGED
@@ -13,7 +13,7 @@
13
13
  display: inline-flex;
14
14
  align-items: center;
15
15
  box-sizing: border-box;
16
- min-width: 180px;
16
+ min-width: var(--rp-component-menu-min-width);
17
17
  height: var(--_rp-combobox-height);
18
18
  padding: 0 var(--_rp-combobox-padding-x);
19
19
  gap: var(--rp-spacing-2);
@@ -95,7 +95,7 @@
95
95
  .rp-combobox--radius-xl[data-v-b9882cdc] {
96
96
  --_rp-combobox-radius: var(--rp-radius-xl);
97
97
  }
98
- html.dark .rp-combobox[data-v-b9882cdc], [data-rp-color-scheme=dark] .rp-combobox[data-v-b9882cdc] {
98
+ [data-scheme=dark] .rp-combobox[data-v-b9882cdc] {
99
99
  --_rp-combobox-invalid-border: var(--rp-color-red-light-color);
100
100
  --_rp-combobox-invalid-ring: color-mix(
101
101
  in srgb,
@@ -194,13 +194,13 @@ html.dark .rp-combobox[data-v-b9882cdc], [data-rp-color-scheme=dark] .rp-combobo
194
194
  .rp-combobox__dropdown[data-v-b9882cdc] {
195
195
  position: absolute;
196
196
  width: calc(100% + var(--rp-border-width-thin) * 2);
197
- z-index: 100;
197
+ z-index: var(--rp-z-index-dropdown);
198
198
  background-color: var(--rp-color-default);
199
199
  border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
200
200
  border-radius: var(--_rp-combobox-radius);
201
201
  box-shadow: var(--rp-shadow-md);
202
202
  padding: var(--rp-spacing-1) 0;
203
- max-height: 240px;
203
+ max-height: var(--rp-component-menu-max-height);
204
204
  padding: var(--rp-spacing-1);
205
205
  }
206
206
  .rp-combobox__dropdown[data-v-b9882cdc] .rp-scroll-area__viewport {
@@ -221,7 +221,7 @@ html.dark .rp-combobox[data-v-b9882cdc], [data-rp-color-scheme=dark] .rp-combobo
221
221
  background-color: var(--_rp-combobox-option-highlighted-bg);
222
222
  }
223
223
  .rp-combobox__option--selected[data-v-b9882cdc] {
224
- color: var(--rp-primary-color-light-color);
224
+ color: var(--rp-color-primary-light-color);
225
225
  }
226
226
  .rp-combobox__option--disabled[data-v-b9882cdc] {
227
227
  color: var(--rp-color-disabled-color);
@@ -1,7 +1,7 @@
1
1
  import { t as parseCssColor } from "./color.js";
2
2
  //#region src/utils/componentColors.ts
3
3
  var componentColors = [
4
- "dark",
4
+ "primary",
5
5
  "gray",
6
6
  "red",
7
7
  "pink",
@@ -17,7 +17,6 @@ var componentColors = [
17
17
  "orange"
18
18
  ];
19
19
  var componentColorShades = [
20
- "0",
21
20
  "1",
22
21
  "2",
23
22
  "3",
@@ -26,13 +25,15 @@ var componentColorShades = [
26
25
  "6",
27
26
  "7",
28
27
  "8",
29
- "9"
28
+ "9",
29
+ "10",
30
+ "11",
31
+ "12"
30
32
  ];
31
33
  var componentColorNames = new Set(componentColors);
32
34
  var componentColorShadeNames = new Set(componentColorShades);
33
35
  function parseComponentColor(color) {
34
36
  if (!color) return { kind: "empty" };
35
- if (color === "primary") return { kind: "primary" };
36
37
  if (componentColorNames.has(color)) return {
37
38
  kind: "preset",
38
39
  color
@@ -53,7 +54,6 @@ function parseComponentColor(color) {
53
54
  }
54
55
  function getComponentColorValue(color) {
55
56
  const parsed = parseComponentColor(color);
56
- if (parsed.kind === "primary") return "var(--rp-primary-color-filled)";
57
57
  if (parsed.kind === "preset") return `var(--rp-color-${parsed.color}-filled)`;
58
58
  if (parsed.kind === "shade") return `var(--rp-color-${parsed.color}-${parsed.shade})`;
59
59
  if (parsed.kind === "custom") return parsed.value;
@@ -91,42 +91,45 @@ function getComponentColorRoles(color) {
91
91
  switch (parsed.kind) {
92
92
  case "empty":
93
93
  case "invalid": return;
94
- case "primary": return createPrimaryColorRoles();
95
94
  case "preset": return createPresetColorRoles(parsed.color);
96
95
  case "shade": return createShadeColorRoles(parsed.color, parsed.shade);
97
96
  case "custom": return createCustomColorRoles(parsed.value);
98
97
  }
99
98
  }
100
- function createPrimaryColorRoles() {
101
- return createComponentColorRoles("var(--rp-primary-color-filled)", {
102
- hover: "var(--rp-primary-color-filled-hover)",
103
- contrast: "var(--rp-primary-color-contrast)",
104
- light: "var(--rp-primary-color-light)",
105
- lightHover: "var(--rp-primary-color-light-hover)",
106
- outline: "var(--rp-primary-color-outline)",
107
- outlineHover: "color-mix(in srgb, var(--rp-primary-color-outline) 62%, transparent)",
108
- foreground: "var(--rp-primary-color-light-color)"
109
- });
110
- }
111
99
  function createPresetColorRoles(color) {
112
100
  return createComponentColorRoles(`var(--rp-color-${color}-filled)`, {
113
101
  hover: `var(--rp-color-${color}-filled-hover)`,
114
102
  contrast: `var(--rp-color-${color}-contrast)`,
115
103
  light: `var(--rp-color-${color}-light)`,
116
104
  lightHover: `var(--rp-color-${color}-light-hover)`,
105
+ lightActive: `var(--rp-color-${color}-light-active)`,
117
106
  outline: `var(--rp-color-${color}-outline)`,
118
- outlineHover: `color-mix(in srgb, var(--rp-color-${color}-outline) 62%, transparent)`,
107
+ outlineHover: `var(--rp-color-${color}-outline-hover)`,
119
108
  foreground: `var(--rp-color-${color}-light-color)`
120
109
  });
121
110
  }
111
+ /**
112
+ * Readable text for content sitting on a palette step, by Radix band:
113
+ * steps 1-8 are backgrounds/borders (step-12 text reads on all of them),
114
+ * 9-10 are solids (the generated companion foreground), 11-12 are themselves
115
+ * text colors (step-1 is the app background they invert against).
116
+ */
117
+ function getShadeContrastColor(color, step) {
118
+ if (step >= 11) return `var(--rp-color-${color}-1)`;
119
+ if (step >= 9) return `var(--rp-color-${color}-contrast)`;
120
+ return `var(--rp-color-${color}-12)`;
121
+ }
122
122
  function createShadeColorRoles(color, shade) {
123
- const base = `var(--rp-color-${color}-${shade})`;
124
- const hoverShade = Math.min(Number(shade) + 1, 9);
123
+ const step = Number(shade);
124
+ const hoverStep = Math.min(step + 1, 12);
125
+ const activeStep = Math.min(step + 2, 12);
126
+ const base = `var(--rp-color-${color}-${step})`;
125
127
  return createComponentColorRoles(base, {
126
- hover: `var(--rp-color-${color}-${hoverShade})`,
127
- contrast: `var(--rp-color-${color}-${shade}-contrast)`,
128
- contrastHover: `var(--rp-color-${color}-${hoverShade}-contrast)`,
129
- contrastActive: `var(--rp-color-${color}-${shade}-active-contrast)`,
128
+ hover: `var(--rp-color-${color}-${hoverStep})`,
129
+ active: `var(--rp-color-${color}-${activeStep})`,
130
+ contrast: getShadeContrastColor(color, step),
131
+ contrastHover: getShadeContrastColor(color, hoverStep),
132
+ contrastActive: getShadeContrastColor(color, activeStep),
130
133
  foreground: base
131
134
  });
132
135
  }
@@ -270,6 +273,7 @@ var customForegroundBackgroundMixes = [
270
273
  .18,
271
274
  .24
272
275
  ];
276
+ var customForegroundMinimumContrast = 4.6;
273
277
  function getCustomForegroundColor(color) {
274
278
  const parsed = parseCssColor(color);
275
279
  if (!parsed || parsed.opacity < 100) return color;
@@ -296,7 +300,7 @@ function getCustomForegroundColor(color) {
296
300
  if (customForegroundBackgroundMixes.every((backgroundWeight) => {
297
301
  const lightBackground = mixOpaqueColors(parsed, backgroundWeight, white);
298
302
  const darkBackground = mixOpaqueColors(parsed, backgroundWeight, darkBody);
299
- return contrastRatio(lightForeground, lightBackground) >= 4.5 && contrastRatio(darkForeground, darkBackground) >= 4.5;
303
+ return contrastRatio(lightForeground, lightBackground) >= customForegroundMinimumContrast && contrastRatio(darkForeground, darkBackground) >= customForegroundMinimumContrast;
300
304
  })) break;
301
305
  colorPercent -= 1;
302
306
  }
@@ -2,7 +2,7 @@ import { ComponentColorValue } from '../../utils/componentColors.js';
2
2
  import { StylesApiProps } from '../../styles-api.js';
3
3
  export declare const alertParts: readonly ["root", "icon", "title", "description", "body", "action", "close"];
4
4
  export type AlertPart = (typeof alertParts)[number];
5
- export declare const alertColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
5
+ export declare const alertColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
6
6
  export declare const alertVariants: readonly ["subtle", "surface", "outline", "solid"];
7
7
  export declare const alertRadiuses: readonly ["none", "xs", "sm", "md", "lg", "xl"];
8
8
  export type AlertColor = ComponentColorValue;
@@ -2,7 +2,7 @@ import { ComponentColorValue } from '../../utils/componentColors.js';
2
2
  import { StylesApiProps } from '../../styles-api.js';
3
3
  export declare const avatarParts: readonly ["root", "image", "fallback"];
4
4
  export type AvatarPart = (typeof avatarParts)[number];
5
- export declare const avatarColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
5
+ export declare const avatarColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
6
6
  export declare const avatarSizes: readonly ["xs", "sm", "md", "lg", "xl"];
7
7
  export declare const avatarRadiuses: readonly ["none", "xs", "sm", "md", "lg", "xl", "full"];
8
8
  export declare const avatarVariants: readonly ["solid", "subtle", "surface", "outline"];
@@ -2,7 +2,7 @@ import { ComponentColorValue } from '../../utils/componentColors.js';
2
2
  import { StylesApiProps } from '../../styles-api.js';
3
3
  export declare const badgeParts: readonly ["root", "left", "label", "right"];
4
4
  export type BadgePart = (typeof badgeParts)[number];
5
- export declare const badgeColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
5
+ export declare const badgeColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
6
6
  export declare const badgeSizes: readonly ["xs", "sm", "md", "lg", "xl"];
7
7
  export declare const badgeRadiuses: readonly ["none", "xs", "sm", "md", "lg", "xl", "full"];
8
8
  export declare const badgeVariants: readonly ["solid", "subtle", "surface", "outline"];
@@ -3,7 +3,7 @@ import { StylesApiProps } from '../../styles-api.js';
3
3
  import { ComputedRef, CSSProperties } from 'vue';
4
4
  export declare const paginationParts: readonly ["root", "items", "control", "page", "ellipsis"];
5
5
  export type PaginationPart = (typeof paginationParts)[number];
6
- export declare const paginationColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
6
+ export declare const paginationColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
7
7
  export declare const paginationSizes: readonly ["xs", "sm", "md", "lg", "xl"];
8
8
  export declare const paginationRadiuses: readonly ["none", "xs", "sm", "md", "lg", "xl", "full"];
9
9
  export type PaginationColor = ComponentColorValue;
@@ -2,7 +2,7 @@ import { ComponentColorValue } from '../../utils/componentColors.js';
2
2
  import { StylesApiProps } from '../../styles-api.js';
3
3
  export declare const progressParts: readonly ["root", "label", "value", "track", "indicator"];
4
4
  export type ProgressPart = (typeof progressParts)[number];
5
- export declare const progressColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
5
+ export declare const progressColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
6
6
  export declare const progressSizes: readonly ["xs", "sm", "md", "lg", "xl"];
7
7
  export declare const progressRadiuses: readonly ["none", "xs", "sm", "md", "lg", "xl", "full"];
8
8
  export type ProgressColor = ComponentColorValue;
@@ -2,7 +2,7 @@ import { InputHTMLAttributes } from 'vue';
2
2
  import { StylesApiProps } from '../../styles-api.js';
3
3
  import { ComponentColorValue } from '../../utils/componentColors.js';
4
4
  export declare const segmentedControlParts: readonly ["root", "control", "input", "indicator", "label"];
5
- export declare const segmentedControlColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
5
+ export declare const segmentedControlColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
6
6
  export declare const segmentedControlSizes: readonly ["xs", "sm", "md", "lg", "xl"];
7
7
  export declare const segmentedControlRadiuses: readonly ["none", "xs", "sm", "md", "lg", "xl", "full"];
8
8
  export declare const segmentedControlOrientations: readonly ["horizontal", "vertical"];
@@ -6,7 +6,7 @@ export declare const sliderParts: readonly ["root", "label", "value", "track", "
6
6
  export declare const rangeSliderParts: readonly ["root", "label", "value", "track", "range", "input", "thumb", "mark", "markLabel", "tooltip"];
7
7
  export type SliderPart = (typeof sliderParts)[number];
8
8
  export type RangeSliderPart = (typeof rangeSliderParts)[number];
9
- export declare const sliderColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
9
+ export declare const sliderColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
10
10
  export declare const sliderSizes: readonly ["xs", "sm", "md", "lg", "xl"];
11
11
  export declare const sliderOrientations: readonly ["horizontal", "vertical"];
12
12
  export type SliderPresetColor = (typeof sliderColors)[number];
@@ -6,7 +6,7 @@ export declare const toastParts: readonly ["root", "icon", "title", "description
6
6
  export declare const toastViewportParts: readonly ["root", "item", "toast", "toastIcon", "toastTitle", "toastDescription", "toastBody", "toastAction", "toastClose"];
7
7
  export type ToastPart = (typeof toastParts)[number];
8
8
  export type ToastViewportPart = (typeof toastViewportParts)[number];
9
- export declare const toastColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
9
+ export declare const toastColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
10
10
  export declare const toastVariants: readonly ["subtle", "surface", "outline", "solid"];
11
11
  export declare const toastRadiuses: readonly ["none", "xs", "sm", "md", "lg", "xl"];
12
12
  export declare const toastPositions: readonly ["top-left", "top-center", "top-right", "bottom-left", "bottom-center", "bottom-right"];
@@ -7,7 +7,7 @@
7
7
  }
8
8
  .rp-date-picker[data-v-4508ba14] .rp-input {
9
9
  width: 100%;
10
- min-width: 180px;
10
+ min-width: var(--rp-component-menu-min-width);
11
11
  }
12
12
  .rp-date-picker__clear[data-v-4508ba14], .rp-date-picker__indicator[data-v-4508ba14] {
13
13
  padding: 0;
@@ -18,17 +18,17 @@
18
18
  display: contents;
19
19
  }
20
20
  .rp-dropdown-menu__content {
21
- z-index: 100;
21
+ z-index: var(--rp-z-index-dropdown);
22
22
  background-color: var(--rp-color-default);
23
23
  border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
24
24
  border-radius: var(--_rp-dropdown-menu-radius);
25
25
  box-shadow: var(--rp-shadow-md);
26
26
  padding: var(--rp-spacing-1) 0;
27
27
  position: absolute;
28
- z-index: 100;
29
- min-width: 180px;
28
+ z-index: var(--rp-z-index-dropdown);
29
+ min-width: var(--rp-component-menu-min-width);
30
30
  max-width: min(24rem, 100vw - var(--rp-spacing-6));
31
- max-height: 240px;
31
+ max-height: var(--rp-component-menu-max-height);
32
32
  overflow-y: auto;
33
33
  padding: var(--rp-spacing-1);
34
34
  color: var(--rp-color-text);
@@ -172,7 +172,7 @@
172
172
  color: var(--rp-color-dimmed);
173
173
  }
174
174
  .rp-dropdown-menu__submenu {
175
- z-index: 100;
175
+ z-index: var(--rp-z-index-dropdown);
176
176
  background-color: var(--rp-color-default);
177
177
  border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
178
178
  border-radius: var(--_rp-dropdown-menu-radius);
@@ -181,9 +181,9 @@
181
181
  position: absolute;
182
182
  top: calc(-1 * var(--rp-spacing-1));
183
183
  left: calc(100% + var(--rp-spacing-1));
184
- min-width: 180px;
184
+ min-width: var(--rp-component-menu-min-width);
185
185
  max-width: min(24rem, 100vw - var(--rp-spacing-6));
186
- max-height: 240px;
186
+ max-height: var(--rp-component-menu-max-height);
187
187
  overflow-y: auto;
188
188
  padding: var(--rp-spacing-1);
189
189
  color: var(--rp-color-text);
package/dist/field.css CHANGED
@@ -7,7 +7,7 @@
7
7
  font-family: var(--rp-font-family);
8
8
  color: var(--rp-color-text);
9
9
  }
10
- html.dark .rp-field[data-v-babf7642], [data-rp-color-scheme=dark] .rp-field[data-v-babf7642] {
10
+ [data-scheme=dark] .rp-field[data-v-babf7642] {
11
11
  --_rp-field-danger: var(--rp-color-red-light-color);
12
12
  }
13
13
  .rp-field__label[data-v-babf7642] {
@@ -11,7 +11,7 @@
11
11
  --_rp-hover-card-radius: var(--rp-radius-sm);
12
12
  --_rp-hover-card-arrow-size: 0.5rem;
13
13
  position: absolute;
14
- z-index: 100;
14
+ z-index: var(--rp-z-index-dropdown);
15
15
  box-sizing: border-box;
16
16
  width: max-content;
17
17
  max-width: min(22rem, 100vw - var(--rp-spacing-6));
package/dist/modal.css CHANGED
@@ -5,7 +5,7 @@
5
5
  --_rp-modal-radius: var(--rp-radius-sm);
6
6
  position: fixed;
7
7
  inset: 0;
8
- z-index: 1000;
8
+ z-index: var(--rp-z-index-tooltip);
9
9
  box-sizing: border-box;
10
10
  display: grid;
11
11
  place-items: center;
@@ -17,7 +17,7 @@
17
17
  display: inline-flex;
18
18
  align-items: center;
19
19
  box-sizing: border-box;
20
- min-width: 180px;
20
+ min-width: var(--rp-component-menu-min-width);
21
21
  min-height: var(--_rp-multi-select-height);
22
22
  padding: var(--rp-spacing-1) var(--_rp-multi-select-padding-x);
23
23
  gap: var(--rp-spacing-2);
@@ -99,7 +99,7 @@
99
99
  .rp-multi-select--radius-xl[data-v-b38d027f] {
100
100
  --_rp-multi-select-radius: var(--rp-radius-xl);
101
101
  }
102
- html.dark .rp-multi-select[data-v-b38d027f], [data-rp-color-scheme=dark] .rp-multi-select[data-v-b38d027f] {
102
+ [data-scheme=dark] .rp-multi-select[data-v-b38d027f] {
103
103
  --_rp-multi-select-invalid-border: var(--rp-color-red-light-color);
104
104
  --_rp-multi-select-invalid-ring: color-mix(
105
105
  in srgb,
@@ -252,13 +252,13 @@ html.dark .rp-multi-select[data-v-b38d027f], [data-rp-color-scheme=dark] .rp-mul
252
252
  .rp-multi-select__dropdown[data-v-b38d027f] {
253
253
  position: absolute;
254
254
  width: calc(100% + var(--rp-border-width-thin) * 2);
255
- z-index: 100;
255
+ z-index: var(--rp-z-index-dropdown);
256
256
  background-color: var(--rp-color-default);
257
257
  border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
258
258
  border-radius: var(--_rp-multi-select-radius);
259
259
  box-shadow: var(--rp-shadow-md);
260
260
  padding: var(--rp-spacing-1) 0;
261
- max-height: 240px;
261
+ max-height: var(--rp-component-menu-max-height);
262
262
  padding: var(--rp-spacing-1);
263
263
  }
264
264
  .rp-multi-select__dropdown[data-v-b38d027f] .rp-scroll-area__viewport {
@@ -286,7 +286,7 @@ html.dark .rp-multi-select[data-v-b38d027f], [data-rp-color-scheme=dark] .rp-mul
286
286
  background-color: var(--_rp-multi-select-option-highlighted-bg);
287
287
  }
288
288
  .rp-multi-select__option--selected[data-v-b38d027f] {
289
- color: var(--rp-primary-color-light-color);
289
+ color: var(--rp-color-primary-light-color);
290
290
  }
291
291
  .rp-multi-select__option--disabled[data-v-b38d027f] {
292
292
  color: var(--rp-color-disabled-color);
@@ -5,7 +5,7 @@
5
5
  --_rp-pagination-radius: var(--rp-radius-sm);
6
6
  --_rp-pagination-gap: var(--rp-spacing-1);
7
7
  --_rp-pagination-active-bg: var(--rp-color-control-selected-bg);
8
- --_rp-pagination-active-bg-hover: var(--rp-primary-color-filled-hover);
8
+ --_rp-pagination-active-bg-hover: var(--rp-color-primary-filled-hover);
9
9
  --_rp-pagination-active-fg: var(--rp-color-control-selected-fg);
10
10
  --_rp-pagination-active-fg-hover: var(--_rp-pagination-active-fg);
11
11
  display: inline-flex;
package/dist/popover.css CHANGED
@@ -11,9 +11,9 @@
11
11
  --_rp-popover-radius: var(--rp-radius-sm);
12
12
  --_rp-popover-arrow-size: 0.5rem;
13
13
  position: absolute;
14
- z-index: 100;
14
+ z-index: var(--rp-z-index-dropdown);
15
15
  box-sizing: border-box;
16
- min-width: 180px;
16
+ min-width: var(--rp-component-menu-min-width);
17
17
  max-width: min(24rem, 100vw - var(--rp-spacing-6));
18
18
  padding: var(--rp-spacing-4);
19
19
  color: var(--rp-color-text);
package/dist/select.css CHANGED
@@ -61,7 +61,7 @@
61
61
  --_rp-select-option-min-height: calc(var(--rp-size-control-xl) - var(--rp-spacing-6));
62
62
  --_rp-select-option-padding-y: var(--rp-spacing-2);
63
63
  }
64
- html.dark .rp-select[data-v-097d7f90], [data-rp-color-scheme=dark] .rp-select[data-v-097d7f90] {
64
+ [data-scheme=dark] .rp-select[data-v-097d7f90] {
65
65
  --_rp-select-invalid-border: var(--rp-color-red-light-color);
66
66
  --_rp-select-invalid-ring: color-mix(
67
67
  in srgb,
@@ -80,7 +80,7 @@ html.dark .rp-select[data-v-097d7f90], [data-rp-color-scheme=dark] .rp-select[da
80
80
  justify-content: center;
81
81
  justify-content: space-between;
82
82
  width: 100%;
83
- min-width: 180px;
83
+ min-width: var(--rp-component-menu-min-width);
84
84
  height: var(--_rp-select-height);
85
85
  padding: 0 var(--_rp-select-padding-x);
86
86
  font-size: var(--_rp-select-font-size);
@@ -203,13 +203,13 @@ html.dark .rp-select[data-v-097d7f90], [data-rp-color-scheme=dark] .rp-select[da
203
203
  .rp-select__dropdown[data-v-097d7f90] {
204
204
  position: absolute;
205
205
  width: 100%;
206
- z-index: 100;
206
+ z-index: var(--rp-z-index-dropdown);
207
207
  background-color: var(--rp-color-default);
208
208
  border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
209
209
  border-radius: var(--_rp-select-radius);
210
210
  box-shadow: var(--rp-shadow-md);
211
211
  padding: var(--rp-spacing-1) 0;
212
- max-height: 240px;
212
+ max-height: var(--rp-component-menu-max-height);
213
213
  padding: var(--rp-spacing-1);
214
214
  }
215
215
  .rp-select__dropdown[data-v-097d7f90] .rp-scroll-area__viewport {
@@ -230,7 +230,7 @@ html.dark .rp-select[data-v-097d7f90], [data-rp-color-scheme=dark] .rp-select[da
230
230
  background-color: var(--_rp-select-option-focused-bg);
231
231
  }
232
232
  .rp-select__option--selected[data-v-097d7f90] {
233
- color: var(--rp-primary-color-light-color);
233
+ color: var(--rp-color-primary-light-color);
234
234
  }
235
235
  .rp-select__option--disabled[data-v-097d7f90] {
236
236
  color: var(--rp-color-disabled-color);
package/dist/slider.css CHANGED
@@ -65,7 +65,7 @@
65
65
  font-size: var(--_rp-slider-font-size);
66
66
  line-height: var(--rp-line-height-md);
67
67
  }
68
- html.dark .rp-slider[data-v-0fbfb274], [data-rp-color-scheme=dark] .rp-slider[data-v-0fbfb274] {
68
+ [data-scheme=dark] .rp-slider[data-v-0fbfb274] {
69
69
  --_rp-slider-thumb-bg: var(--_rp-slider-color);
70
70
  --_rp-slider-thumb-border: var(--rp-color-control-thumb-bg);
71
71
  }
@@ -493,7 +493,7 @@ html.dark .rp-slider[data-v-0fbfb274], [data-rp-color-scheme=dark] .rp-slider[da
493
493
  --_rp-tooltip-bg: var(--rp-color-bright);
494
494
  --_rp-tooltip-fg: var(--rp-color-default);
495
495
  position: absolute;
496
- z-index: 1000;
496
+ z-index: var(--rp-z-index-tooltip);
497
497
  box-sizing: border-box;
498
498
  width: max-content;
499
499
  max-width: min(18rem, 100vw - var(--rp-spacing-6));
@@ -772,7 +772,7 @@ html.dark .rp-slider[data-v-0fbfb274], [data-rp-color-scheme=dark] .rp-slider[da
772
772
  font-size: var(--_rp-range-slider-font-size);
773
773
  line-height: var(--rp-line-height-md);
774
774
  }
775
- html.dark .rp-range-slider[data-v-e27ae1af], [data-rp-color-scheme=dark] .rp-range-slider[data-v-e27ae1af] {
775
+ [data-scheme=dark] .rp-range-slider[data-v-e27ae1af] {
776
776
  --_rp-range-slider-thumb-bg: var(--_rp-range-slider-color);
777
777
  --_rp-range-slider-thumb-border: var(--rp-color-control-thumb-bg);
778
778
  }
package/dist/tabs.css CHANGED
@@ -213,7 +213,7 @@
213
213
  }
214
214
  .rp-tabs-trigger--active[data-v-20d5c2eb] {
215
215
  --_rp-tabs-trigger-fg: var(--rp-color-text);
216
- --_rp-tabs-trigger-indicator: var(--rp-primary-color-filled);
216
+ --_rp-tabs-trigger-indicator: var(--rp-color-primary-filled);
217
217
  }
218
218
  .rp-tabs-trigger--pills[data-v-20d5c2eb]::after, .rp-tabs-trigger--outline[data-v-20d5c2eb]::after {
219
219
  display: none;
@@ -224,8 +224,8 @@
224
224
  }
225
225
  .rp-tabs-trigger--pills.rp-tabs-trigger--active[data-v-20d5c2eb] {
226
226
  --_rp-tabs-trigger-fg: var(--rp-color-white);
227
- --_rp-tabs-trigger-bg: var(--rp-primary-color-filled);
228
- --_rp-tabs-trigger-bg-hover: var(--rp-primary-color-filled-hover);
227
+ --_rp-tabs-trigger-bg: var(--rp-color-primary-filled);
228
+ --_rp-tabs-trigger-bg-hover: var(--rp-color-primary-filled-hover);
229
229
  }
230
230
  .rp-tabs-trigger--outline[data-v-20d5c2eb] {
231
231
  --_rp-tabs-trigger-bg-hover: var(--rp-color-default-hover);
@@ -10,7 +10,7 @@
10
10
  display: inline-flex;
11
11
  align-items: center;
12
12
  box-sizing: border-box;
13
- min-width: 180px;
13
+ min-width: var(--rp-component-menu-min-width);
14
14
  min-height: var(--_rp-tags-input-height);
15
15
  padding: var(--rp-spacing-1) var(--_rp-tags-input-padding-x);
16
16
  gap: var(--rp-spacing-2);
package/dist/textarea.css CHANGED
@@ -68,7 +68,7 @@
68
68
  .rp-textarea--radius-xl[data-v-da9cf2c9] {
69
69
  --_rp-textarea-radius: var(--rp-radius-xl);
70
70
  }
71
- html.dark .rp-textarea[data-v-da9cf2c9], [data-rp-color-scheme=dark] .rp-textarea[data-v-da9cf2c9] {
71
+ [data-scheme=dark] .rp-textarea[data-v-da9cf2c9] {
72
72
  --_rp-textarea-valid-border: var(--rp-color-green-light-color);
73
73
  --_rp-textarea-valid-ring: color-mix(
74
74
  in srgb,
package/dist/toast.css CHANGED
@@ -136,7 +136,7 @@
136
136
  --_rp-toast-viewport-shift-x: 0;
137
137
  --_rp-toast-viewport-shift-y: calc(var(--rp-spacing-3) * -1);
138
138
  position: fixed;
139
- z-index: 1001;
139
+ z-index: var(--rp-z-index-tooltip)1;
140
140
  display: flex;
141
141
  box-sizing: border-box;
142
142
  width: min(24rem, 100vw);
package/dist/tooltip.css CHANGED
@@ -12,7 +12,7 @@
12
12
  --_rp-tooltip-bg: var(--rp-color-bright);
13
13
  --_rp-tooltip-fg: var(--rp-color-default);
14
14
  position: absolute;
15
- z-index: 1000;
15
+ z-index: var(--rp-z-index-tooltip);
16
16
  box-sizing: border-box;
17
17
  width: max-content;
18
18
  max-width: min(18rem, 100vw - var(--rp-spacing-6));
@@ -1,5 +1,5 @@
1
- export declare const componentColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
2
- export declare const componentColorShades: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
1
+ export declare const componentColors: readonly ["primary", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
2
+ export declare const componentColorShades: readonly ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
3
3
  export type ComponentColor = (typeof componentColors)[number];
4
4
  export type ComponentColorShade = (typeof componentColorShades)[number];
5
5
  export type ComponentColorShadeValue = `${ComponentColor}.${ComponentColorShade}`;
@@ -57,8 +57,6 @@ export type ParsedComponentColor = {
57
57
  } | {
58
58
  kind: 'preset';
59
59
  color: ComponentColor;
60
- } | {
61
- kind: 'primary';
62
60
  } | {
63
61
  kind: 'shade';
64
62
  color: ComponentColor;