ropav 0.1.8 → 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 (67) hide show
  1. package/README.md +13 -4
  2. package/dist/base.css +570 -773
  3. package/dist/calendar.css +45 -34
  4. package/dist/calendar.js +108 -83
  5. package/dist/color-input.css +3 -7
  6. package/dist/color-picker.css +2 -6
  7. package/dist/color-swatch.css +2 -6
  8. package/dist/combobox.css +5 -5
  9. package/dist/componentColors.js +29 -25
  10. package/dist/components/alert/types.d.ts +1 -1
  11. package/dist/components/avatar/types.d.ts +1 -1
  12. package/dist/components/badge/types.d.ts +1 -1
  13. package/dist/components/calendar/index.d.ts +1 -1
  14. package/dist/components/calendar/types.d.ts +3 -0
  15. package/dist/components/date-picker/index.d.ts +1 -1
  16. package/dist/components/date-picker/types.d.ts +3 -1
  17. package/dist/components/pagination/types.d.ts +1 -1
  18. package/dist/components/progress/types.d.ts +1 -1
  19. package/dist/components/segmented-control/types.d.ts +1 -1
  20. package/dist/components/slider/types.d.ts +1 -1
  21. package/dist/components/slider/useSlider.d.ts +1 -1
  22. package/dist/components/slider/useSliderPointer.d.ts +15 -0
  23. package/dist/components/slider/useSliderValueState.d.ts +1 -0
  24. package/dist/components/toast/types.d.ts +1 -1
  25. package/dist/components/toolbar/index.d.ts +3 -0
  26. package/dist/components/toolbar/index.js +2 -0
  27. package/dist/components/toolbar/toolbar.d.ts +24 -0
  28. package/dist/components/toolbar/types.d.ts +12 -0
  29. package/dist/components/toolbar/useToolbar.d.ts +7 -0
  30. package/dist/date-picker.css +9 -9
  31. package/dist/date-picker.js +4 -2
  32. package/dist/dropdown-menu.css +7 -7
  33. package/dist/field.css +1 -1
  34. package/dist/focusNavigation.js +12 -6
  35. package/dist/hover-card.css +1 -1
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.js +2 -1
  38. package/dist/modal.css +1 -1
  39. package/dist/multi-select.css +5 -5
  40. package/dist/pagination.css +1 -1
  41. package/dist/popover.css +2 -2
  42. package/dist/select.css +5 -5
  43. package/dist/slider.css +80 -71
  44. package/dist/slider.js +91 -16
  45. package/dist/tabs.css +3 -3
  46. package/dist/tags-input.css +1 -1
  47. package/dist/textarea.css +1 -1
  48. package/dist/toast.css +1 -1
  49. package/dist/toolbar.css +15 -0
  50. package/dist/toolbar.js +143 -0
  51. package/dist/tooltip.css +1 -1
  52. package/dist/utils/componentColors.d.ts +2 -4
  53. package/dist/utils/dom/focusNavigation.d.ts +4 -1
  54. package/docs/code-architecture.md +30 -1
  55. package/docs/public-styles-api.md +11 -6
  56. package/docs/releasing.md +39 -0
  57. package/package.json +52 -39
  58. package/src/styles/_mixins.scss +2 -6
  59. package/src/styles/_tokens.scss +4 -833
  60. package/src/styles/generated/showcase.html +274 -0
  61. package/src/styles/generated/tokens.css +592 -0
  62. package/src/styles/generated/tokens.md +583 -0
  63. package/src/styles/generated/tokens.scss +1134 -0
  64. package/tokens/manifest.json +6164 -0
  65. package/docs/public-tokens.md +0 -685
  66. package/src/styles/_variables.scss +0 -243
  67. package/src/styles/styles-manifest.json +0 -5244
@@ -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"];
@@ -1,3 +1,3 @@
1
1
  export { default as Calendar } from './calendar.js';
2
2
  export { calendarParts, calendarRadiuses, calendarSizes, calendarWeekdayFormats } from './types.js';
3
- export type { CalendarDay, CalendarDaySlotProps, CalendarDisabledDates, CalendarPart, CalendarProps, CalendarRadius, CalendarSize, CalendarWeekday, CalendarWeekdayFormat, } from './types.js';
3
+ export type { CalendarDay, CalendarDaySlotProps, CalendarDisabledDates, CalendarGetDayAriaLabel, CalendarPart, CalendarProps, CalendarRadius, CalendarSize, CalendarWeekday, CalendarWeekdayFormat, } from './types.js';
@@ -9,6 +9,7 @@ export type CalendarSize = (typeof calendarSizes)[number];
9
9
  export type CalendarRadius = (typeof calendarRadiuses)[number];
10
10
  export type CalendarWeekdayFormat = (typeof calendarWeekdayFormats)[number];
11
11
  export type CalendarDisabledDates = DisabledDateRule;
12
+ export type CalendarGetDayAriaLabel = (day: Readonly<CalendarDay>) => string;
12
13
  export interface CalendarDay {
13
14
  date: Date;
14
15
  key: string;
@@ -43,11 +44,13 @@ export interface CalendarProps extends StylesApiProps<CalendarPart> {
43
44
  disabledDates?: CalendarDisabledDates;
44
45
  fixedWeeks?: boolean;
45
46
  hideOutsideDates?: boolean;
47
+ showHeader?: boolean;
46
48
  disabled?: boolean;
47
49
  readonly?: boolean;
48
50
  size?: CalendarSize;
49
51
  radius?: CalendarRadius;
50
52
  ariaLabel?: string;
53
+ getDayAriaLabel?: CalendarGetDayAriaLabel;
51
54
  previousLabel?: string;
52
55
  nextLabel?: string;
53
56
  }
@@ -1,4 +1,4 @@
1
1
  export { default as DatePicker } from './date-picker.js';
2
2
  export { datePickerParts } from './types.js';
3
- export type { DatePickerDaySlotProps, DatePickerFormat, DatePickerParse, DatePickerPart, DatePickerProps, } from './types.js';
3
+ export type { DatePickerDaySlotProps, DatePickerFormat, DatePickerGetDayAriaLabel, DatePickerParse, DatePickerPart, DatePickerProps, } from './types.js';
4
4
  export { defaultDatePickerFormat, formatDatePickerValue, normalizeDatePickerValue, parseDatePickerValue, } from './datePickerModel.js';
@@ -1,6 +1,6 @@
1
1
  import { InputHTMLAttributes } from 'vue';
2
2
  import { StylesApiProps } from '../../styles-api.js';
3
- import { CalendarDaySlotProps, CalendarDisabledDates, CalendarRadius, CalendarSize, CalendarWeekdayFormat } from '../calendar/types.js';
3
+ import { CalendarDaySlotProps, CalendarDisabledDates, CalendarGetDayAriaLabel, CalendarRadius, CalendarSize, CalendarWeekdayFormat } from '../calendar/types.js';
4
4
  import { InputRadius, InputSize } from '../input/types.js';
5
5
  import { PopoverPlacement } from '../popover/types.js';
6
6
  export declare const datePickerParts: readonly ["root", "control", "input", "clear", "indicator", "content", "calendar", "calendarHeader", "calendarControl", "calendarMonthLabel", "calendarWeekdays", "calendarWeekday", "calendarGrid", "calendarWeek", "calendarDayCell", "calendarDay"];
@@ -8,6 +8,7 @@ export type DatePickerPart = (typeof datePickerParts)[number];
8
8
  export type DatePickerFormat = (date: Date) => string;
9
9
  export type DatePickerParse = (value: string) => Date | null;
10
10
  export type DatePickerDaySlotProps = CalendarDaySlotProps;
11
+ export type DatePickerGetDayAriaLabel = CalendarGetDayAriaLabel;
11
12
  export interface DatePickerProps extends StylesApiProps<DatePickerPart> {
12
13
  id?: string;
13
14
  name?: string;
@@ -27,6 +28,7 @@ export interface DatePickerProps extends StylesApiProps<DatePickerPart> {
27
28
  disabledDates?: CalendarDisabledDates;
28
29
  fixedWeeks?: boolean;
29
30
  hideOutsideDates?: boolean;
31
+ getDayAriaLabel?: DatePickerGetDayAriaLabel;
30
32
  allowInput?: boolean;
31
33
  clearable?: boolean;
32
34
  closeOnSelect?: boolean;
@@ -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];
@@ -42,7 +42,7 @@ export declare function useSlider(props: SliderStateProps, onChange: (value: num
42
42
  tooltipFormattedValue: import('vue').ComputedRef<string | number>;
43
43
  tooltipContent: import('vue').ComputedRef<string>;
44
44
  onInput: (event: Event) => void;
45
- onTooltipPointerDown: (event: PointerEvent) => void;
45
+ onTrackPointerDown: (event: PointerEvent) => boolean;
46
46
  onTooltipPointerMove: (event: PointerEvent) => void;
47
47
  onTooltipTrackEnter: (event: PointerEvent) => void;
48
48
  onTooltipTrackLeave: () => void;
@@ -0,0 +1,15 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { SliderBounds } from './sliderModel.js';
3
+ import { SliderOrientation } from './types.js';
4
+ interface UseSliderPointerOptions {
5
+ bounds: ComputedRef<SliderBounds>;
6
+ disabled: () => boolean;
7
+ inputRef: Ref<HTMLInputElement | null>;
8
+ orientation: () => SliderOrientation;
9
+ step: ComputedRef<number | 'any'>;
10
+ updateValue: (value: number) => void;
11
+ }
12
+ export declare function useSliderPointer(options: UseSliderPointerOptions): {
13
+ onPointerDown: (event: PointerEvent) => boolean;
14
+ };
15
+ export {};
@@ -30,4 +30,5 @@ export declare function useSliderValueState(props: SliderStateProps, onChange: (
30
30
  hasMarkLabels: import('vue').ComputedRef<boolean>;
31
31
  trackSlotProps: import('vue').ComputedRef<SliderTrackSlotProps>;
32
32
  onInput: (event: Event) => void;
33
+ updateValue: (value: number) => void;
33
34
  };
@@ -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"];
@@ -0,0 +1,3 @@
1
+ export { default as Toolbar } from './toolbar.js';
2
+ export { toolbarOrientations, toolbarParts } from './types.js';
3
+ export type { ToolbarOrientation, ToolbarPart, ToolbarProps } from './types.js';
@@ -0,0 +1,2 @@
1
+ import { n as toolbarParts, r as toolbar_default, t as toolbarOrientations } from "../../toolbar.js";
2
+ export { toolbar_default as Toolbar, toolbarOrientations, toolbarParts };
@@ -0,0 +1,24 @@
1
+ import { ToolbarProps } from './types.js';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<ToolbarProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: import('vue').ShallowUnwrapRef<{
7
+ nativeElement: import('vue').ShallowRef<HTMLElement | null, HTMLElement | null>;
8
+ focus: () => void;
9
+ }>) => void;
10
+ attrs: any;
11
+ slots: {
12
+ default?: (props: {}) => any;
13
+ };
14
+ emit: {};
15
+ }>) => import('vue').VNode & {
16
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
17
+ };
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
21
+ [K in keyof T]: T[K];
22
+ } : {
23
+ [K in keyof T as K]: T[K];
24
+ }) & {};
@@ -0,0 +1,12 @@
1
+ import { StylesApiProps } from '../../styles-api.js';
2
+ export declare const toolbarParts: readonly ["root"];
3
+ export declare const toolbarOrientations: readonly ["horizontal", "vertical"];
4
+ export type ToolbarPart = (typeof toolbarParts)[number];
5
+ export type ToolbarOrientation = (typeof toolbarOrientations)[number];
6
+ export interface ToolbarProps extends StylesApiProps<ToolbarPart> {
7
+ id?: string;
8
+ orientation?: ToolbarOrientation;
9
+ ariaLabel?: string;
10
+ describedby?: string;
11
+ labelledby?: string;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { ShallowRef } from 'vue';
2
+ import { ToolbarOrientation } from './types.js';
3
+ export declare function useToolbar(root: ShallowRef<HTMLElement | null>, getOrientation: () => ToolbarOrientation): {
4
+ focus: () => void;
5
+ onFocusin: (event: FocusEvent) => void;
6
+ onKeydown: (event: KeyboardEvent) => void;
7
+ };
@@ -1,15 +1,15 @@
1
1
  @layer ropav.components {
2
- .rp-date-picker[data-v-c39b1387] {
2
+ .rp-date-picker[data-v-4508ba14] {
3
3
  display: inline-flex;
4
4
  max-width: 100%;
5
5
  font-family: var(--rp-font-family);
6
6
  vertical-align: middle;
7
7
  }
8
- .rp-date-picker[data-v-c39b1387] .rp-input {
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
- .rp-date-picker__clear[data-v-c39b1387], .rp-date-picker__indicator[data-v-c39b1387] {
12
+ .rp-date-picker__clear[data-v-4508ba14], .rp-date-picker__indicator[data-v-4508ba14] {
13
13
  padding: 0;
14
14
  font: inherit;
15
15
  background: none;
@@ -23,22 +23,22 @@
23
23
  color: var(--rp-color-control-icon);
24
24
  transition: color var(--rp-transition-fast), opacity var(--rp-transition-fast);
25
25
  }
26
- .rp-date-picker__clear[data-v-c39b1387]:hover:not(:disabled), .rp-date-picker__indicator[data-v-c39b1387]:hover:not(:disabled) {
26
+ .rp-date-picker__clear[data-v-4508ba14]:hover:not(:disabled), .rp-date-picker__indicator[data-v-4508ba14]:hover:not(:disabled) {
27
27
  color: var(--rp-color-control-fg);
28
28
  }
29
- .rp-date-picker__clear[data-v-c39b1387]:focus-visible, .rp-date-picker__indicator[data-v-c39b1387]:focus-visible {
29
+ .rp-date-picker__clear[data-v-4508ba14]:focus-visible, .rp-date-picker__indicator[data-v-4508ba14]:focus-visible {
30
30
  outline: var(--rp-border-width-medium) solid var(--rp-color-focus-ring);
31
31
  outline-offset: 2px;
32
32
  }
33
- .rp-date-picker__clear[data-v-c39b1387]:disabled, .rp-date-picker__indicator[data-v-c39b1387]:disabled {
33
+ .rp-date-picker__clear[data-v-4508ba14]:disabled, .rp-date-picker__indicator[data-v-4508ba14]:disabled {
34
34
  cursor: not-allowed;
35
35
  opacity: var(--rp-opacity-disabled);
36
36
  }
37
- .rp-date-picker__clear[data-v-c39b1387] > svg, .rp-date-picker__indicator[data-v-c39b1387] > svg {
37
+ .rp-date-picker__clear[data-v-4508ba14] > svg, .rp-date-picker__indicator[data-v-4508ba14] > svg {
38
38
  width: 1em;
39
39
  height: 1em;
40
40
  }
41
- .rp-date-picker__clear--hidden[data-v-c39b1387] {
41
+ .rp-date-picker__clear--hidden[data-v-4508ba14] {
42
42
  visibility: hidden;
43
43
  pointer-events: none;
44
44
  }
@@ -484,7 +484,7 @@ function useDatePicker(props, emit, elements) {
484
484
  }
485
485
  //#endregion
486
486
  //#region src/components/date-picker/date-picker.vue?vue&type=script&setup=true&vapor=true&lang.ts
487
- var t0 = template("<button data-v-c39b1387></button>");
487
+ var t0 = template("<button data-v-4508ba14></button>");
488
488
  //#endregion
489
489
  //#region src/components/date-picker/date-picker.vue
490
490
  var date_picker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -525,6 +525,7 @@ var date_picker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
525
525
  type: Boolean,
526
526
  default: false
527
527
  },
528
+ getDayAriaLabel: {},
528
529
  allowInput: {
529
530
  type: Boolean,
530
531
  default: false
@@ -749,6 +750,7 @@ var date_picker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
749
750
  "disabled-dates": () => __props.disabledDates,
750
751
  "fixed-weeks": () => __props.fixedWeeks,
751
752
  "hide-outside-dates": () => __props.hideOutsideDates,
753
+ "get-day-aria-label": () => __props.getDayAriaLabel,
752
754
  readonly: () => __props.readonly,
753
755
  size: () => __props.calendarSize ?? __props.size,
754
756
  radius: () => __props.calendarRadius ?? __props.radius,
@@ -784,7 +786,7 @@ var date_picker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
784
786
  }
785
787
  }, true);
786
788
  }
787
- }), [["__scopeId", "data-v-c39b1387"]]);
789
+ }), [["__scopeId", "data-v-4508ba14"]]);
788
790
  //#endregion
789
791
  //#region src/components/date-picker/types.ts
790
792
  var datePickerParts = [
@@ -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] {
@@ -1,8 +1,8 @@
1
1
  import { n as getNextEnabledIndex, t as getEnabledIndexes } from "./collectionNavigation.js";
2
2
  import { t as isElement } from "./query.js";
3
3
  //#region src/utils/dom/focusNavigation.ts
4
- function isDisabled(element) {
5
- return element.matches(":disabled");
4
+ function isIneligible(element) {
5
+ return element.matches(":disabled") || element.closest("[hidden], [inert]") !== null;
6
6
  }
7
7
  function getDirection(key, orientation) {
8
8
  if (orientation === "vertical") {
@@ -16,22 +16,28 @@ function getDirection(key, orientation) {
16
16
  function getScopedItems(collection, options) {
17
17
  return Array.from(collection.querySelectorAll(options.itemSelector)).filter((item) => item.closest(options.collectionSelector) === collection);
18
18
  }
19
+ function setFocusNavigationTabStop(collection, preferredItem, options) {
20
+ const items = getScopedItems(collection, options);
21
+ const target = preferredItem && items.includes(preferredItem) && !isIneligible(preferredItem) ? preferredItem : items.find((item) => !isIneligible(item)) ?? null;
22
+ for (const item of items) item.tabIndex = item === target ? 0 : -1;
23
+ return target;
24
+ }
19
25
  function getFocusNavigationTarget(event, collection, options) {
20
26
  if (!isElement(event.target)) return void 0;
21
27
  const currentItem = event.target.closest(options.itemSelector);
22
- if (!currentItem || currentItem.closest(options.collectionSelector) !== collection || isDisabled(currentItem)) return;
28
+ if (!currentItem || currentItem.closest(options.collectionSelector) !== collection || isIneligible(currentItem)) return;
23
29
  const items = getScopedItems(collection, options);
24
30
  const currentIndex = items.indexOf(currentItem);
25
31
  if (currentIndex < 0) return void 0;
26
- const enabledIndexes = getEnabledIndexes(items, isDisabled);
32
+ const enabledIndexes = getEnabledIndexes(items, isIneligible);
27
33
  if (enabledIndexes.length === 0) return void 0;
28
34
  if (event.key === "Home") return items[enabledIndexes[0]];
29
35
  if (event.key === "End") return items[enabledIndexes[enabledIndexes.length - 1]];
30
36
  let direction = getDirection(event.key, options.orientation);
31
37
  if (!direction) return void 0;
32
38
  if (options.orientation === "horizontal" && collection.ownerDocument.defaultView?.getComputedStyle(collection).direction === "rtl") direction = direction === 1 ? -1 : 1;
33
- const nextIndex = getNextEnabledIndex(items, currentIndex, direction, isDisabled);
39
+ const nextIndex = getNextEnabledIndex(items, currentIndex, direction, isIneligible);
34
40
  return nextIndex === void 0 ? void 0 : items[nextIndex];
35
41
  }
36
42
  //#endregion
37
- export { getFocusNavigationTarget as t };
43
+ export { setFocusNavigationTabStop as n, getFocusNavigationTarget as t };
@@ -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/index.d.ts CHANGED
@@ -45,4 +45,5 @@ export * from './components/tags-input/index.js';
45
45
  export * from './components/teleport-provider/index.js';
46
46
  export * from './components/textarea/index.js';
47
47
  export * from './components/toast/index.js';
48
+ export * from './components/toolbar/index.js';
48
49
  export * from './components/tooltip/index.js';
package/dist/index.js CHANGED
@@ -60,5 +60,6 @@ import { n as tags_input_default, t as tagsInputParts } from "./tags-input.js";
60
60
  import { t as teleport_provider_default } from "./teleport-provider.js";
61
61
  import { n as textarea_default, t as textareaParts } from "./textarea.js";
62
62
  import { a as toastColors, c as toastRadiuses, d as toastViewportParts, f as createToastStore, i as useToast, l as toastTypes, n as toast_viewport_default, o as toastParts, p as toast_default, r as toast_provider_default, s as toastPositions, t as useToastState, u as toastVariants } from "./toast.js";
63
+ import { n as toolbarParts, r as toolbar_default, t as toolbarOrientations } from "./toolbar.js";
63
64
  import { t as tooltipParts } from "./tooltip2.js";
64
- export { accordion_default as Accordion, accordion_item_default as AccordionItem, alert_default as Alert, aspect_ratio_default as AspectRatio, avatar_default as Avatar, badge_default as Badge, button_default as Button, button_group_default as ButtonGroup, button_link_default as ButtonLink, calendar_default as Calendar, card_default as Card, checkbox_default as Checkbox, collapse_default as Collapse, color_input_default as ColorInput, color_picker_default as ColorPicker, color_swatch_default as ColorSwatch, combobox_default as Combobox, date_picker_default as DatePicker, dialog_close_default as DialogClose, dialog_content_default as DialogContent, dialog_description_default as DialogDescription, dialog_overlay_default as DialogOverlay, dialog_portal_default as DialogPortal, dialog_root_default as DialogRoot, dialog_title_default as DialogTitle, dialog_trigger_default as DialogTrigger, dropdown_menu_default as DropdownMenu, dropdown_menu_checkbox_item_default as DropdownMenuCheckboxItem, dropdown_menu_content_default as DropdownMenuContent, dropdown_menu_context_trigger_default as DropdownMenuContextTrigger, DropdownMenuItem, dropdown_menu_item_indicator_default as DropdownMenuItemIndicator, dropdown_menu_label_default as DropdownMenuLabel, dropdown_menu_portal_default as DropdownMenuPortal, dropdown_menu_radio_group_default as DropdownMenuRadioGroup, dropdown_menu_radio_item_default as DropdownMenuRadioItem, dropdown_menu_root_default as DropdownMenuRoot, dropdown_menu_separator_default as DropdownMenuSeparator, dropdown_menu_sub_default as DropdownMenuSub, dropdown_menu_sub_content_default as DropdownMenuSubContent, dropdown_menu_sub_trigger_default as DropdownMenuSubTrigger, dropdown_menu_trigger_default as DropdownMenuTrigger, dropzone_default as Dropzone, field_default as Field, file_input_default as FileInput, focus_trap_default as FocusTrap, hover_card_default as HoverCard, icon_button_default as IconButton, input_default as Input, modal_default as Modal, multi_select_default as MultiSelect, number_input_default as NumberInput, overlay_default as Overlay, overlay_layer_provider_default as OverlayLayerProvider, pagination_default as Pagination, popover_default as Popover, progress_default as Progress, radio_default as Radio, radio_group_default as RadioGroup, range_slider_default as RangeSlider, scroll_area_default as ScrollArea, segmented_control_default as SegmentedControl, select_default as Select, slider_default as Slider, switch_default as Switch, tabs_default as Tabs, tabs_content_default as TabsContent, tabs_list_default as TabsList, tabs_trigger_default as TabsTrigger, tags_input_default as TagsInput, teleport_provider_default as TeleportProvider, textarea_default as Textarea, toast_default as Toast, toast_provider_default as ToastProvider, toast_viewport_default as ToastViewport, tooltip_default as Tooltip, accordionItemParts, accordionParts, alertColors, alertParts, alertRadiuses, alertVariants, aspectRatioParts, avatarColors, avatarParts, avatarRadiuses, avatarSizes, avatarVariants, badgeColors, badgeParts, badgeRadiuses, badgeSizes, badgeVariants, buttonGroupParts, buttonLinkParts, buttonParts, calendarParts, calendarRadiuses, calendarSizes, calendarWeekdayFormats, cardParts, checkboxParts, collapseParts, colorInputParts, colorPickerFormats, colorPickerParts, colorPickerSizes, colorSwatchParts, comboboxParts, createToastStore, datePickerParts, defaultDatePickerFormat, dropdownMenuParts, dropzoneErrorCodes, dropzoneParts, dropzoneStatuses, fieldParts, fileInputParts, focusTrapParts, formatDatePickerValue, getPaginationItems, hoverCardParts, hoverCardPlacements, iconButtonParts, inputParts, modalParts, multiSelectParts, normalizeDatePickerValue, normalizePaginationPage, normalizePaginationTotal, numberInputParts, overlayParts, paginationColors, paginationParts, paginationRadiuses, paginationSizes, parseDatePickerValue, popoverParts, popoverPlacements, progressColors, progressParts, progressRadiuses, progressSizes, radioGroupParts, radioParts, rangeSliderParts, scrollAreaParts, scrollAreaScrollbars, scrollAreaTypes, segmentedControlColors, segmentedControlOrientations, segmentedControlParts, segmentedControlRadiuses, segmentedControlSizes, selectParts, sliderColors, sliderOrientations, sliderParts, sliderSizes, switchParts, tabsContentParts, tabsListParts, tabsParts, tabsTriggerParts, tagsInputParts, textareaParts, toastColors, toastParts, toastPositions, toastRadiuses, toastTypes, toastVariants, toastViewportParts, tooltipParts, useAccordion, useAccordionItem, useCollapse, useControllableValue, useDropdownMenu, useFloatingPosition, useFocusTrap, useHoverDisclosure, useOverlayZIndex, usePagination, useTabs, useTabsContent, useTabsList, useTabsTrigger, useTeleportTarget, useToast, useToastState };
65
+ export { accordion_default as Accordion, accordion_item_default as AccordionItem, alert_default as Alert, aspect_ratio_default as AspectRatio, avatar_default as Avatar, badge_default as Badge, button_default as Button, button_group_default as ButtonGroup, button_link_default as ButtonLink, calendar_default as Calendar, card_default as Card, checkbox_default as Checkbox, collapse_default as Collapse, color_input_default as ColorInput, color_picker_default as ColorPicker, color_swatch_default as ColorSwatch, combobox_default as Combobox, date_picker_default as DatePicker, dialog_close_default as DialogClose, dialog_content_default as DialogContent, dialog_description_default as DialogDescription, dialog_overlay_default as DialogOverlay, dialog_portal_default as DialogPortal, dialog_root_default as DialogRoot, dialog_title_default as DialogTitle, dialog_trigger_default as DialogTrigger, dropdown_menu_default as DropdownMenu, dropdown_menu_checkbox_item_default as DropdownMenuCheckboxItem, dropdown_menu_content_default as DropdownMenuContent, dropdown_menu_context_trigger_default as DropdownMenuContextTrigger, DropdownMenuItem, dropdown_menu_item_indicator_default as DropdownMenuItemIndicator, dropdown_menu_label_default as DropdownMenuLabel, dropdown_menu_portal_default as DropdownMenuPortal, dropdown_menu_radio_group_default as DropdownMenuRadioGroup, dropdown_menu_radio_item_default as DropdownMenuRadioItem, dropdown_menu_root_default as DropdownMenuRoot, dropdown_menu_separator_default as DropdownMenuSeparator, dropdown_menu_sub_default as DropdownMenuSub, dropdown_menu_sub_content_default as DropdownMenuSubContent, dropdown_menu_sub_trigger_default as DropdownMenuSubTrigger, dropdown_menu_trigger_default as DropdownMenuTrigger, dropzone_default as Dropzone, field_default as Field, file_input_default as FileInput, focus_trap_default as FocusTrap, hover_card_default as HoverCard, icon_button_default as IconButton, input_default as Input, modal_default as Modal, multi_select_default as MultiSelect, number_input_default as NumberInput, overlay_default as Overlay, overlay_layer_provider_default as OverlayLayerProvider, pagination_default as Pagination, popover_default as Popover, progress_default as Progress, radio_default as Radio, radio_group_default as RadioGroup, range_slider_default as RangeSlider, scroll_area_default as ScrollArea, segmented_control_default as SegmentedControl, select_default as Select, slider_default as Slider, switch_default as Switch, tabs_default as Tabs, tabs_content_default as TabsContent, tabs_list_default as TabsList, tabs_trigger_default as TabsTrigger, tags_input_default as TagsInput, teleport_provider_default as TeleportProvider, textarea_default as Textarea, toast_default as Toast, toast_provider_default as ToastProvider, toast_viewport_default as ToastViewport, toolbar_default as Toolbar, tooltip_default as Tooltip, accordionItemParts, accordionParts, alertColors, alertParts, alertRadiuses, alertVariants, aspectRatioParts, avatarColors, avatarParts, avatarRadiuses, avatarSizes, avatarVariants, badgeColors, badgeParts, badgeRadiuses, badgeSizes, badgeVariants, buttonGroupParts, buttonLinkParts, buttonParts, calendarParts, calendarRadiuses, calendarSizes, calendarWeekdayFormats, cardParts, checkboxParts, collapseParts, colorInputParts, colorPickerFormats, colorPickerParts, colorPickerSizes, colorSwatchParts, comboboxParts, createToastStore, datePickerParts, defaultDatePickerFormat, dropdownMenuParts, dropzoneErrorCodes, dropzoneParts, dropzoneStatuses, fieldParts, fileInputParts, focusTrapParts, formatDatePickerValue, getPaginationItems, hoverCardParts, hoverCardPlacements, iconButtonParts, inputParts, modalParts, multiSelectParts, normalizeDatePickerValue, normalizePaginationPage, normalizePaginationTotal, numberInputParts, overlayParts, paginationColors, paginationParts, paginationRadiuses, paginationSizes, parseDatePickerValue, popoverParts, popoverPlacements, progressColors, progressParts, progressRadiuses, progressSizes, radioGroupParts, radioParts, rangeSliderParts, scrollAreaParts, scrollAreaScrollbars, scrollAreaTypes, segmentedControlColors, segmentedControlOrientations, segmentedControlParts, segmentedControlRadiuses, segmentedControlSizes, selectParts, sliderColors, sliderOrientations, sliderParts, sliderSizes, switchParts, tabsContentParts, tabsListParts, tabsParts, tabsTriggerParts, tagsInputParts, textareaParts, toastColors, toastParts, toastPositions, toastRadiuses, toastTypes, toastVariants, toastViewportParts, toolbarOrientations, toolbarParts, tooltipParts, useAccordion, useAccordionItem, useCollapse, useControllableValue, useDropdownMenu, useFloatingPosition, useFocusTrap, useHoverDisclosure, useOverlayZIndex, usePagination, useTabs, useTabsContent, useTabsList, useTabsTrigger, useTeleportTarget, useToast, useToastState };
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;