ropav 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion.css +10 -10
- package/dist/accordion.js +2 -2
- package/dist/alert.css +109 -0
- package/dist/alert.js +168 -0
- package/dist/aspect-ratio.css +17 -0
- package/dist/aspect-ratio.js +26 -0
- package/dist/avatar.css +97 -0
- package/dist/avatar.js +161 -0
- package/dist/badge.css +40 -115
- package/dist/badge.js +19 -16
- package/dist/base.css +609 -180
- package/dist/button-link.css +161 -0
- package/dist/button-link.js +108 -0
- package/dist/button.css +50 -229
- package/dist/button.js +7 -9
- package/dist/card.css +12 -12
- package/dist/check.js +12 -0
- package/dist/checkbox.css +16 -57
- package/dist/checkbox.js +14 -31
- package/dist/collapse.css +2 -2
- package/dist/collapse.js +1 -1
- package/dist/color-input.css +108 -0
- package/dist/color-input.js +344 -0
- package/dist/color-picker.css +304 -0
- package/dist/color-picker.js +717 -0
- package/dist/color-picker2.js +18 -0
- package/dist/color-swatch.css +50 -0
- package/dist/color-swatch.js +73 -0
- package/dist/color.js +190 -0
- package/dist/componentColors.js +206 -13
- package/dist/components/alert/alert.d.ts +30 -0
- package/dist/components/alert/index.d.ts +3 -0
- package/dist/components/alert/index.js +2 -0
- package/dist/components/alert/types.d.ts +20 -0
- package/dist/components/alert/useAlertColor.d.ts +3 -0
- package/dist/components/aspect-ratio/aspect-ratio.d.ts +21 -0
- package/dist/components/aspect-ratio/index.d.ts +2 -0
- package/dist/components/aspect-ratio/index.js +2 -0
- package/dist/components/aspect-ratio/types.d.ts +3 -0
- package/dist/components/avatar/avatar.d.ts +24 -0
- package/dist/components/avatar/index.d.ts +3 -0
- package/dist/components/avatar/index.js +2 -0
- package/dist/components/avatar/types.d.ts +20 -0
- package/dist/components/avatar/useAvatarColor.d.ts +3 -0
- package/dist/components/badge/types.d.ts +2 -1
- package/dist/components/badge/useBadgeColor.d.ts +3 -8
- package/dist/components/button/types.d.ts +1 -0
- package/dist/components/button/useButtonColor.d.ts +3 -13
- package/dist/components/button-link/button-link.d.ts +27 -0
- package/dist/components/button-link/index.d.ts +2 -0
- package/dist/components/button-link/index.js +2 -0
- package/dist/components/button-link/types.d.ts +20 -0
- package/dist/components/checkbox/types.d.ts +1 -0
- package/dist/components/checkbox/useCheckbox.d.ts +2 -4
- package/dist/components/color-input/color-input.d.ts +29 -0
- package/dist/components/color-input/index.d.ts +2 -0
- package/dist/components/color-input/index.js +2 -0
- package/dist/components/color-input/types.d.ts +34 -0
- package/dist/components/color-input/useColorInput.d.ts +27 -0
- package/dist/components/color-input/useColorInputEyeDropper.d.ts +13 -0
- package/dist/components/color-input/useColorInputPopover.d.ts +11 -0
- package/dist/components/color-input/useColorInputValue.d.ts +8 -0
- package/dist/components/color-picker/color-picker-saturation.d.ts +21 -0
- package/dist/components/color-picker/color-picker-slider.d.ts +21 -0
- package/dist/components/color-picker/color-picker-utils.d.ts +23 -0
- package/dist/components/color-picker/color-picker.d.ts +23 -0
- package/dist/components/color-picker/index.d.ts +3 -0
- package/dist/components/color-picker/index.js +3 -0
- package/dist/components/color-picker/types.d.ts +39 -0
- package/dist/components/color-picker/useColorPickerDrag.d.ts +11 -0
- package/dist/components/color-picker/useColorPickerSwatches.d.ts +21 -0
- package/dist/components/color-picker/useColorPickerValue.d.ts +15 -0
- package/dist/components/color-swatch/color-swatch.d.ts +21 -0
- package/dist/components/color-swatch/index.d.ts +2 -0
- package/dist/components/color-swatch/index.js +2 -0
- package/dist/components/color-swatch/types.d.ts +6 -0
- package/dist/components/color-swatch/useColorSwatchColor.d.ts +5 -0
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -2
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts +1 -1
- package/dist/components/dropdown-menu/useDropdownMenuNavigation.d.ts +1 -1
- package/dist/components/dropdown-menu/useDropdownSubmenus.d.ts +1 -1
- package/dist/components/field/types.d.ts +0 -2
- package/dist/components/field/useField.d.ts +0 -2
- package/dist/components/icon-button/types.d.ts +1 -0
- package/dist/components/input/types.d.ts +3 -0
- package/dist/components/number-input/index.d.ts +2 -0
- package/dist/components/number-input/index.js +2 -0
- package/dist/components/number-input/number-input.d.ts +29 -0
- package/dist/components/number-input/types.d.ts +34 -0
- package/dist/components/number-input/useNumberInput.d.ts +31 -0
- package/dist/components/popover/index.d.ts +1 -0
- package/dist/components/popover/index.js +2 -1
- package/dist/components/popover/types.d.ts +2 -1
- package/dist/components/progress/types.d.ts +1 -1
- package/dist/components/radio/types.d.ts +3 -0
- package/dist/components/radio/useRadio.d.ts +2 -4
- package/dist/components/select/index.d.ts +1 -1
- package/dist/components/select/types.d.ts +3 -0
- package/dist/components/slider/index.d.ts +2 -1
- package/dist/components/slider/index.js +2 -2
- package/dist/components/slider/range-slider.d.ts +45 -0
- package/dist/components/slider/types.d.ts +14 -2
- package/dist/components/slider/useRangeSlider.d.ts +59 -0
- package/dist/components/slider/useRangeSliderTooltipCollision.d.ts +7 -0
- package/dist/components/slider/useRangeSliderTooltipTransition.d.ts +4 -0
- package/dist/components/switch/useSwitch.d.ts +2 -3
- package/dist/components/tooltip/types.d.ts +1 -0
- package/dist/dropdown-menu.css +17 -17
- package/dist/field.css +15 -18
- package/dist/field.js +17 -35
- package/dist/icon-button.css +57 -236
- package/dist/icon-button.js +5 -6
- package/dist/index.d.ts +8 -0
- package/dist/index.js +16 -4
- package/dist/input.css +40 -46
- package/dist/input.js +39 -21
- package/dist/minus.js +12 -0
- package/dist/modal.css +9 -9
- package/dist/modal.js +1 -1
- package/dist/number-input.css +86 -0
- package/dist/number-input.js +350 -0
- package/dist/overlay.css +5 -5
- package/dist/overlay.js +3 -3
- package/dist/popover.css +54 -21
- package/dist/popover.js +8 -5
- package/dist/popover2.js +17 -0
- package/dist/progress.css +9 -30
- package/dist/progress.js +3 -6
- package/dist/radio.css +34 -62
- package/dist/radio.js +28 -16
- package/dist/select.css +105 -61
- package/dist/select.js +12 -8
- package/dist/slider.css +508 -41
- package/dist/slider.js +1122 -48
- package/dist/switch.css +19 -44
- package/dist/switch.js +4 -5
- package/dist/tabs.css +36 -36
- package/dist/tabs.js +1 -1
- package/dist/textarea.css +33 -25
- package/dist/tooltip.css +7 -35
- package/dist/tooltip.js +13 -8
- package/dist/useButtonColor.js +16 -14
- package/package.json +40 -8
- package/src/styles/_mixins.scss +25 -41
- package/src/styles/_tokens.scss +615 -182
- package/src/styles/_variables.scss +177 -49
|
@@ -7,7 +7,7 @@ type UseDropdownSubmenusOptions = {
|
|
|
7
7
|
focusItem: (target: Exclude<SubmenuFocusTarget, false>, menuPath?: ItemPath) => boolean;
|
|
8
8
|
};
|
|
9
9
|
export declare function useDropdownSubmenus({ focusedPath, getItemAtPath, focusItem, }: UseDropdownSubmenusOptions): {
|
|
10
|
-
openSubmenuPath: Ref<number[], import('./types').DropdownMenuItemPath
|
|
10
|
+
openSubmenuPath: Ref<number[], number[] | import('./types').DropdownMenuItemPath>;
|
|
11
11
|
resetSubmenus: () => void;
|
|
12
12
|
isSubmenuOpen: (path: ItemPath) => boolean;
|
|
13
13
|
closeSubmenusAfter: (menuPath: ItemPath) => void;
|
|
@@ -3,9 +3,7 @@ export declare function useField(props: Readonly<FieldProps>): {
|
|
|
3
3
|
controlId: import('vue').ComputedRef<string>;
|
|
4
4
|
labelId: import('vue').ComputedRef<string>;
|
|
5
5
|
descriptionId: import('vue').ComputedRef<string>;
|
|
6
|
-
messageId: import('vue').ComputedRef<string>;
|
|
7
6
|
isInvalid: import('vue').ComputedRef<boolean>;
|
|
8
|
-
messageText: import('vue').ComputedRef<string | undefined>;
|
|
9
7
|
hasLabel: import('vue').ComputedRef<boolean>;
|
|
10
8
|
hasDescription: import('vue').ComputedRef<boolean>;
|
|
11
9
|
hasMessage: import('vue').ComputedRef<boolean>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'vue';
|
|
1
2
|
export type InputRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2
3
|
export type InputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
4
|
export interface InputProps {
|
|
@@ -16,4 +17,6 @@ export interface InputProps {
|
|
|
16
17
|
ariaLabel?: string;
|
|
17
18
|
describedby?: string;
|
|
18
19
|
labelledby?: string;
|
|
20
|
+
inputAttrs?: InputHTMLAttributes;
|
|
21
|
+
validationMessage?: string;
|
|
19
22
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NumberInputProps, NumberInputValue } from './types';
|
|
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<NumberInputProps & {
|
|
4
|
+
"onUpdate:modelValue"?: ((value: NumberInputValue) => any) | undefined;
|
|
5
|
+
}> & (typeof globalThis extends {
|
|
6
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
7
|
+
} ? P : {});
|
|
8
|
+
expose: (exposed: {}) => void;
|
|
9
|
+
attrs: any;
|
|
10
|
+
slots: {
|
|
11
|
+
'increment-icon'?: (props: {}) => any;
|
|
12
|
+
} & {
|
|
13
|
+
'decrement-icon'?: (props: {}) => any;
|
|
14
|
+
} & {
|
|
15
|
+
'increment-icon'?: (props: {}) => any;
|
|
16
|
+
} & {
|
|
17
|
+
'decrement-icon'?: (props: {}) => any;
|
|
18
|
+
};
|
|
19
|
+
emit: (evt: "update:modelValue", value: NumberInputValue) => void;
|
|
20
|
+
}>) => import('vue').VNode & {
|
|
21
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
22
|
+
};
|
|
23
|
+
declare const _default: typeof __VLS_export;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
26
|
+
[K in keyof T]: T[K];
|
|
27
|
+
} : {
|
|
28
|
+
[K in keyof T as K]: T[K];
|
|
29
|
+
}) & {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'vue';
|
|
2
|
+
import { InputRadius, InputSize } from '../input/types';
|
|
3
|
+
export type NumberInputValue = number | null;
|
|
4
|
+
export type NumberInputRadius = InputRadius;
|
|
5
|
+
export type NumberInputSize = InputSize;
|
|
6
|
+
export type NumberInputControlsPosition = 'left' | 'right' | 'split';
|
|
7
|
+
export type NumberInputTextAlign = 'left' | 'center' | 'right';
|
|
8
|
+
export interface NumberInputProps {
|
|
9
|
+
id?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
modelValue: NumberInputValue;
|
|
12
|
+
min?: number;
|
|
13
|
+
max?: number;
|
|
14
|
+
step?: number;
|
|
15
|
+
size?: NumberInputSize;
|
|
16
|
+
radius?: NumberInputRadius;
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
controls?: boolean;
|
|
19
|
+
controlsPosition?: NumberInputControlsPosition;
|
|
20
|
+
textAlign?: NumberInputTextAlign;
|
|
21
|
+
clampOnBlur?: boolean;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
readonly?: boolean;
|
|
24
|
+
required?: boolean;
|
|
25
|
+
invalid?: boolean;
|
|
26
|
+
valid?: boolean;
|
|
27
|
+
ariaLabel?: string;
|
|
28
|
+
describedby?: string;
|
|
29
|
+
labelledby?: string;
|
|
30
|
+
inputAttrs?: InputHTMLAttributes;
|
|
31
|
+
validationMessage?: string;
|
|
32
|
+
incrementLabel?: string;
|
|
33
|
+
decrementLabel?: string;
|
|
34
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'vue';
|
|
2
|
+
import { NumberInputControlsPosition, NumberInputProps, NumberInputTextAlign, NumberInputValue } from './types';
|
|
3
|
+
export interface NumberInputBounds {
|
|
4
|
+
min: number | undefined;
|
|
5
|
+
max: number | undefined;
|
|
6
|
+
}
|
|
7
|
+
type StepDirection = -1 | 1;
|
|
8
|
+
export type NumberInputControl = 'decrement' | 'increment';
|
|
9
|
+
export declare function normalizeNumberInputBounds(min: number | undefined, max: number | undefined): NumberInputBounds;
|
|
10
|
+
export declare function normalizeNumberInputStep(step: number | undefined): number;
|
|
11
|
+
export declare function clampNumberInputValue(value: number, bounds: NumberInputBounds): number;
|
|
12
|
+
export declare function stepNumberInputValue(value: NumberInputValue, direction: StepDirection, step: number, bounds: NumberInputBounds): number;
|
|
13
|
+
export declare function parseNumberInputValue(value: string): NumberInputValue;
|
|
14
|
+
export declare function normalizeNumberInputControlsPosition(position: NumberInputControlsPosition | undefined): NumberInputControlsPosition;
|
|
15
|
+
export declare function normalizeNumberInputTextAlign(textAlign: NumberInputTextAlign | undefined): NumberInputTextAlign;
|
|
16
|
+
export declare function useNumberInput(props: Readonly<NumberInputProps>, emitUpdate: (value: NumberInputValue) => void): {
|
|
17
|
+
control: import('../../composables/useControlState').ControlState;
|
|
18
|
+
rootClass: import('vue').ComputedRef<string[]>;
|
|
19
|
+
bounds: import('vue').ComputedRef<NumberInputBounds>;
|
|
20
|
+
nativeStep: import('vue').ComputedRef<number>;
|
|
21
|
+
nativeInputAttrs: import('vue').ComputedRef<InputHTMLAttributes>;
|
|
22
|
+
modelInputValue: import('vue').ComputedRef<string>;
|
|
23
|
+
leftControls: import('vue').ComputedRef<NumberInputControl[]>;
|
|
24
|
+
rightControls: import('vue').ComputedRef<NumberInputControl[]>;
|
|
25
|
+
canIncrement: import('vue').ComputedRef<boolean>;
|
|
26
|
+
canDecrement: import('vue').ComputedRef<boolean>;
|
|
27
|
+
increment: () => boolean;
|
|
28
|
+
decrement: () => boolean;
|
|
29
|
+
onInputUpdate: (value: string) => void;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { default as Popover } from './popover';
|
|
2
|
+
export { popoverPlacements } from './types';
|
|
2
3
|
export type { PopoverContentSlotProps, PopoverOffset, PopoverOffsetOptions, PopoverPlacement, PopoverProps, PopoverRole, PopoverSlotProps, PopoverTarget, PopoverTriggerProps, } from './types';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Ref } from 'vue';
|
|
2
|
-
export
|
|
2
|
+
export declare const popoverPlacements: readonly ["top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-start", "bottom", "bottom-end", "left-start", "left", "left-end"];
|
|
3
|
+
export type PopoverPlacement = (typeof popoverPlacements)[number];
|
|
3
4
|
export type PopoverTarget = string | HTMLElement | Ref<HTMLElement | null | undefined>;
|
|
4
5
|
export interface PopoverOffsetOptions {
|
|
5
6
|
mainAxis?: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentColorValue } from '../../utils/componentColors';
|
|
2
|
-
export declare const progressColors: readonly ["
|
|
2
|
+
export declare const progressColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
|
|
3
3
|
export declare const progressSizes: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
4
4
|
export declare const progressRadiuses: readonly ["none", "xs", "sm", "md", "lg", "xl", "full"];
|
|
5
5
|
export type ProgressColor = ComponentColorValue;
|
|
@@ -7,6 +7,7 @@ export interface RadioProps {
|
|
|
7
7
|
value: string | number;
|
|
8
8
|
variant?: RadioVariant;
|
|
9
9
|
color?: RadioColor;
|
|
10
|
+
autoContrast?: boolean;
|
|
10
11
|
size?: RadioSize;
|
|
11
12
|
disabled?: boolean;
|
|
12
13
|
}
|
|
@@ -16,6 +17,7 @@ export interface RadioGroupProps {
|
|
|
16
17
|
modelValue: string | number | null;
|
|
17
18
|
variant?: RadioVariant;
|
|
18
19
|
color?: RadioColor;
|
|
20
|
+
autoContrast?: boolean;
|
|
19
21
|
size?: RadioSize;
|
|
20
22
|
disabled?: boolean;
|
|
21
23
|
required?: boolean;
|
|
@@ -31,6 +33,7 @@ export interface RadioGroupContext {
|
|
|
31
33
|
required: boolean;
|
|
32
34
|
variant?: RadioVariant;
|
|
33
35
|
color?: RadioColor;
|
|
36
|
+
autoContrast?: boolean;
|
|
34
37
|
size?: RadioSize;
|
|
35
38
|
select: (value: string | number) => void;
|
|
36
39
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
+
import { CSSProperties } from 'vue';
|
|
1
2
|
import { RadioGroupContext, RadioGroupProps, RadioProps } from './types';
|
|
2
3
|
export declare function useRadio(props: Readonly<RadioProps>): {
|
|
3
4
|
group: RadioGroupContext;
|
|
4
5
|
isChecked: import('vue').ComputedRef<boolean>;
|
|
5
6
|
isDisabled: import('vue').ComputedRef<boolean>;
|
|
6
7
|
rootClass: import('vue').ComputedRef<string[]>;
|
|
7
|
-
rootStyle: import('vue').ComputedRef<
|
|
8
|
-
'--_rp-radio-custom-color': string & {};
|
|
9
|
-
'--_rp-radio-custom-on-color': string;
|
|
10
|
-
} | undefined>;
|
|
8
|
+
rootStyle: import('vue').ComputedRef<CSSProperties | undefined>;
|
|
11
9
|
onSelect: () => void;
|
|
12
10
|
};
|
|
13
11
|
export declare function useRadioGroup(props: Readonly<RadioGroupProps>, emitUpdate: (value: string | number | null) => void): {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Select } from './select';
|
|
2
|
-
export type { SelectProps,
|
|
2
|
+
export type { SelectOption, SelectProps, SelectRadius, SelectSize } from './types';
|
|
@@ -4,14 +4,17 @@ export interface SelectOption {
|
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
}
|
|
6
6
|
export type SelectRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
7
|
+
export type SelectSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
7
8
|
export interface SelectProps {
|
|
8
9
|
id?: string;
|
|
9
10
|
name?: string;
|
|
10
11
|
modelValue: string | number | null;
|
|
11
12
|
options?: SelectOption[];
|
|
13
|
+
size?: SelectSize;
|
|
12
14
|
radius?: SelectRadius;
|
|
13
15
|
placeholder?: string;
|
|
14
16
|
clearable?: boolean;
|
|
17
|
+
clearLabel?: string;
|
|
15
18
|
disabled?: boolean;
|
|
16
19
|
required?: boolean;
|
|
17
20
|
invalid?: boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default as Slider } from './slider';
|
|
2
|
+
export { default as RangeSlider } from './range-slider';
|
|
2
3
|
export { sliderColors, sliderOrientations, sliderSizes } from './types';
|
|
3
|
-
export type { SliderColor, SliderMark, SliderMarkColor, SliderMarkInput, SliderOrientation, SliderProps, SliderPresetColor, SliderSize, SliderThumbStyle, SliderTooltip, SliderTooltipMode, SliderTooltipOptions, SliderValueFormatter, } from './types';
|
|
4
|
+
export type { RangeSliderAriaValueText, RangeSliderEndpointValueText, RangeSliderProps, RangeSliderThumb, RangeSliderValue, SliderColor, SliderMark, SliderMarkColor, SliderMarkInput, SliderOrientation, SliderProps, SliderPresetColor, SliderSize, SliderThumbStyle, SliderTooltip, SliderTooltipMode, SliderTooltipOptions, SliderValueFormatter, } from './types';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
export { slider_default as Slider, sliderColors, sliderOrientations, sliderSizes };
|
|
1
|
+
import { a as slider_default, i as range_slider_default, n as sliderOrientations, r as sliderSizes, t as sliderColors } from "../../slider.js";
|
|
2
|
+
export { range_slider_default as RangeSlider, slider_default as Slider, sliderColors, sliderOrientations, sliderSizes };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { RangeSliderProps } from './types';
|
|
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<RangeSliderProps & {
|
|
4
|
+
"onUpdate:modelValue"?: ((value: [number, number]) => any) | undefined;
|
|
5
|
+
}> & (typeof globalThis extends {
|
|
6
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
7
|
+
} ? P : {});
|
|
8
|
+
expose: (exposed: {}) => void;
|
|
9
|
+
attrs: any;
|
|
10
|
+
slots: {
|
|
11
|
+
default?: (props: {}) => any;
|
|
12
|
+
} & {
|
|
13
|
+
value?: (props: {
|
|
14
|
+
value: import('./types').RangeSliderValue;
|
|
15
|
+
formattedValue: [string | number, string | number];
|
|
16
|
+
percent: import('./types').RangeSliderValue;
|
|
17
|
+
}) => any;
|
|
18
|
+
} & {
|
|
19
|
+
thumb?: (props: {
|
|
20
|
+
thumb: string;
|
|
21
|
+
index: number;
|
|
22
|
+
value: number;
|
|
23
|
+
formattedValue: string | number;
|
|
24
|
+
percent: number;
|
|
25
|
+
}) => any;
|
|
26
|
+
} & {
|
|
27
|
+
thumb?: (props: {
|
|
28
|
+
thumb: string;
|
|
29
|
+
index: number;
|
|
30
|
+
value: number;
|
|
31
|
+
formattedValue: string | number;
|
|
32
|
+
percent: number;
|
|
33
|
+
}) => any;
|
|
34
|
+
};
|
|
35
|
+
emit: (evt: "update:modelValue", value: [number, number]) => void;
|
|
36
|
+
}>) => import('vue').VNode & {
|
|
37
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
38
|
+
};
|
|
39
|
+
declare const _default: typeof __VLS_export;
|
|
40
|
+
export default _default;
|
|
41
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
42
|
+
[K in keyof T]: T[K];
|
|
43
|
+
} : {
|
|
44
|
+
[K in keyof T as K]: T[K];
|
|
45
|
+
}) & {};
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { TooltipProps } from '../tooltip/types';
|
|
2
|
-
|
|
2
|
+
import { ComponentColorValue } from '../../utils/componentColors';
|
|
3
|
+
export declare const sliderColors: readonly ["dark", "gray", "red", "pink", "grape", "violet", "indigo", "blue", "cyan", "teal", "green", "lime", "yellow", "orange"];
|
|
3
4
|
export declare const sliderSizes: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
4
5
|
export declare const sliderOrientations: readonly ["horizontal", "vertical"];
|
|
5
6
|
export type SliderPresetColor = (typeof sliderColors)[number];
|
|
6
|
-
export type SliderColor =
|
|
7
|
+
export type SliderColor = ComponentColorValue;
|
|
7
8
|
export type SliderSize = (typeof sliderSizes)[number];
|
|
8
9
|
export type SliderOrientation = (typeof sliderOrientations)[number];
|
|
9
10
|
export type SliderValueFormatter = (value: number) => string | number;
|
|
11
|
+
export type RangeSliderValue = [number, number];
|
|
12
|
+
export type RangeSliderThumb = 'lower' | 'upper';
|
|
13
|
+
export type RangeSliderEndpointValueText = string | SliderValueFormatter;
|
|
14
|
+
export type RangeSliderAriaValueText = RangeSliderEndpointValueText | [RangeSliderEndpointValueText, RangeSliderEndpointValueText];
|
|
10
15
|
export type SliderTooltipMode = 'hover' | 'always';
|
|
11
16
|
export type SliderTooltipOptions = Pick<TooltipProps, 'id' | 'placement' | 'color' | 'offset' | 'openDelay' | 'arrow'> & {
|
|
12
17
|
mode?: SliderTooltipMode;
|
|
@@ -48,3 +53,10 @@ export interface SliderProps {
|
|
|
48
53
|
describedby?: string;
|
|
49
54
|
labelledby?: string;
|
|
50
55
|
}
|
|
56
|
+
export interface RangeSliderProps extends Omit<SliderProps, 'modelValue' | 'name' | 'ariaLabel' | 'ariaValueText'> {
|
|
57
|
+
modelValue: RangeSliderValue;
|
|
58
|
+
minRange?: number;
|
|
59
|
+
name?: string | [string, string];
|
|
60
|
+
ariaLabel?: [string, string];
|
|
61
|
+
ariaValueText?: RangeSliderAriaValueText;
|
|
62
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { CSSProperties } from 'vue';
|
|
2
|
+
import { RangeSliderProps, RangeSliderThumb, RangeSliderValue } from './types';
|
|
3
|
+
type RangeSliderStateProps = Readonly<RangeSliderProps & {
|
|
4
|
+
min: number;
|
|
5
|
+
max: number;
|
|
6
|
+
step: number | 'any';
|
|
7
|
+
minRange: number;
|
|
8
|
+
tooltip: NonNullable<RangeSliderProps['tooltip']>;
|
|
9
|
+
orientation: NonNullable<RangeSliderProps['orientation']>;
|
|
10
|
+
ariaLabel: [string, string];
|
|
11
|
+
}>;
|
|
12
|
+
export declare function normalizeRangeSliderMinRange(minRange: number, min: number, max: number): number;
|
|
13
|
+
export declare function normalizeRangeSliderValue(value: RangeSliderValue, min: number, max: number, step: number | 'any', minRange?: number): RangeSliderValue;
|
|
14
|
+
export declare function getClosestRangeSliderThumb(value: number, range: RangeSliderValue, activeThumb?: RangeSliderThumb): RangeSliderThumb;
|
|
15
|
+
export declare function useRangeSlider(props: RangeSliderStateProps, emitUpdate: (value: RangeSliderValue) => void): {
|
|
16
|
+
control: import('../../composables/useControlState').ControlState;
|
|
17
|
+
nativeMin: import('vue').ComputedRef<RangeSliderValue>;
|
|
18
|
+
nativeMax: import('vue').ComputedRef<RangeSliderValue>;
|
|
19
|
+
nativeStep: import('vue').ComputedRef<number | "any">;
|
|
20
|
+
nativeNames: import('vue').ComputedRef<[string | undefined, string | undefined]>;
|
|
21
|
+
nativeIds: import('vue').ComputedRef<[string | undefined, string | undefined]>;
|
|
22
|
+
rootClass: import('vue').ComputedRef<string[]>;
|
|
23
|
+
normalizedValue: import('vue').ComputedRef<RangeSliderValue>;
|
|
24
|
+
valuePercent: import('vue').ComputedRef<RangeSliderValue>;
|
|
25
|
+
formattedValue: import('vue').ComputedRef<[string | number, string | number]>;
|
|
26
|
+
ariaLabels: import('vue').ComputedRef<[string, string]>;
|
|
27
|
+
ariaValueText: import('vue').ComputedRef<[string | undefined, string | undefined]>;
|
|
28
|
+
markItems: import('vue').ComputedRef<{
|
|
29
|
+
key: string;
|
|
30
|
+
value: number;
|
|
31
|
+
label: string | number | undefined;
|
|
32
|
+
hasLabel: boolean;
|
|
33
|
+
filled: boolean;
|
|
34
|
+
style: CSSProperties;
|
|
35
|
+
}[]>;
|
|
36
|
+
trackStyle: import('vue').ComputedRef<CSSProperties>;
|
|
37
|
+
activeThumb: import('vue').Ref<RangeSliderThumb | undefined, RangeSliderThumb | undefined>;
|
|
38
|
+
tooltipVisible: import('vue').ComputedRef<boolean>;
|
|
39
|
+
tooltipOpen: import('vue').ComputedRef<boolean>;
|
|
40
|
+
tooltipPlacement: import('vue').ComputedRef<import('../tooltip').TooltipPlacement>;
|
|
41
|
+
tooltipIds: import('vue').ComputedRef<[string | undefined, string | undefined]>;
|
|
42
|
+
mergedTooltipId: import('vue').ComputedRef<string | undefined>;
|
|
43
|
+
tooltipColor: import('vue').ComputedRef<import('../../utils/componentColors').ComponentColorValue | undefined>;
|
|
44
|
+
tooltipOffset: import('vue').ComputedRef<import('../tooltip').TooltipOffset | undefined>;
|
|
45
|
+
tooltipOpenDelay: import('vue').ComputedRef<number>;
|
|
46
|
+
tooltipArrow: import('vue').ComputedRef<boolean>;
|
|
47
|
+
tooltipContent: import('vue').ComputedRef<[string, string]>;
|
|
48
|
+
mergedTooltipContent: import('vue').ComputedRef<string>;
|
|
49
|
+
onInput: (thumb: RangeSliderThumb, event: Event) => void;
|
|
50
|
+
onTrackPointerDown: (event: PointerEvent) => void;
|
|
51
|
+
onTooltipFocus: (thumb: RangeSliderThumb) => void;
|
|
52
|
+
onTooltipBlur: (thumb: RangeSliderThumb) => void;
|
|
53
|
+
onTooltipTrackMouseEnter: () => void;
|
|
54
|
+
onTooltipTrackMouseLeave: () => void;
|
|
55
|
+
openTooltip: (thumb: RangeSliderThumb) => void;
|
|
56
|
+
closeTooltip: (thumb?: RangeSliderThumb) => void;
|
|
57
|
+
onTooltipKeydown: (thumb: RangeSliderThumb, event: KeyboardEvent) => void;
|
|
58
|
+
};
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
type TooltipRect = Pick<DOMRect, 'bottom' | 'height' | 'left' | 'right' | 'top' | 'width'>;
|
|
3
|
+
export declare function areRangeSliderTooltipRectsOverlapping(lower: TooltipRect, upper: TooltipRect, gap?: number): boolean;
|
|
4
|
+
export declare function useRangeSliderTooltipCollision(root: Ref<HTMLElement | null>): {
|
|
5
|
+
tooltipsOverlapping: Ref<boolean, boolean>;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
type EndpointTooltipKind = 'lower' | 'upper';
|
|
3
|
+
export declare function useRangeSliderTooltipTransition(root: Ref<HTMLElement | null>, tooltipsOverlapping: Ref<boolean>, value: Ref<readonly [number, number]>, activeThumb: Ref<EndpointTooltipKind | undefined>): void;
|
|
4
|
+
export {};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import { CSSProperties } from 'vue';
|
|
1
2
|
import { SwitchProps } from './types';
|
|
2
3
|
export declare function useSwitch(props: Readonly<SwitchProps>, emitUpdate: (value: boolean) => void): {
|
|
3
4
|
control: import('../../composables/useControlState').ControlState;
|
|
4
5
|
rootClass: import('vue').ComputedRef<string[]>;
|
|
5
|
-
rootStyle: import('vue').ComputedRef<
|
|
6
|
-
'--_rp-switch-custom-color': string & {};
|
|
7
|
-
} | undefined>;
|
|
6
|
+
rootStyle: import('vue').ComputedRef<CSSProperties | undefined>;
|
|
8
7
|
onChange: (e: Event) => void;
|
|
9
8
|
};
|
package/dist/dropdown-menu.css
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
.rp-dropdown-menu {
|
|
2
2
|
--_rp-dropdown-menu-radius: var(--rp-radius-sm);
|
|
3
|
-
--_rp-dropdown-menu-focused-bg: var(--rp-color-
|
|
3
|
+
--_rp-dropdown-menu-focused-bg: var(--rp-color-default-hover);
|
|
4
4
|
position: relative;
|
|
5
5
|
display: inline-flex;
|
|
6
6
|
font-family: var(--rp-font-family);
|
|
7
7
|
vertical-align: middle;
|
|
8
8
|
}
|
|
9
|
-
html.dark .rp-dropdown-menu {
|
|
10
|
-
--_rp-dropdown-menu-focused-bg: var(--rp-color-
|
|
9
|
+
html.dark .rp-dropdown-menu, [data-rp-color-scheme=dark] .rp-dropdown-menu {
|
|
10
|
+
--_rp-dropdown-menu-focused-bg: var(--rp-color-disabled);
|
|
11
11
|
}
|
|
12
12
|
.rp-dropdown-menu--disabled {
|
|
13
13
|
opacity: var(--rp-opacity-disabled);
|
|
@@ -15,8 +15,8 @@ html.dark .rp-dropdown-menu {
|
|
|
15
15
|
}
|
|
16
16
|
.rp-dropdown-menu__content {
|
|
17
17
|
z-index: 100;
|
|
18
|
-
background-color: var(--rp-color-
|
|
19
|
-
border: var(--rp-border-width-thin) solid var(--rp-color-border);
|
|
18
|
+
background-color: var(--rp-color-default);
|
|
19
|
+
border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
|
|
20
20
|
border-radius: var(--_rp-dropdown-menu-radius);
|
|
21
21
|
box-shadow: var(--rp-shadow-md);
|
|
22
22
|
padding: var(--rp-spacing-1) 0;
|
|
@@ -27,8 +27,8 @@ html.dark .rp-dropdown-menu {
|
|
|
27
27
|
overflow-y: auto;
|
|
28
28
|
padding: var(--rp-spacing-1);
|
|
29
29
|
color: var(--rp-color-text);
|
|
30
|
-
font-size: var(--rp-font-size-
|
|
31
|
-
line-height: var(--rp-line-height-
|
|
30
|
+
font-size: var(--rp-font-size-md);
|
|
31
|
+
line-height: var(--rp-line-height-md);
|
|
32
32
|
outline: none;
|
|
33
33
|
}
|
|
34
34
|
.rp-dropdown-menu__content--has-submenu {
|
|
@@ -77,10 +77,10 @@ html.dark .rp-dropdown-menu {
|
|
|
77
77
|
background-color: var(--_rp-dropdown-menu-focused-bg);
|
|
78
78
|
}
|
|
79
79
|
.rp-dropdown-menu__item--destructive {
|
|
80
|
-
color: var(--rp-color-
|
|
80
|
+
color: var(--rp-color-red-light-color);
|
|
81
81
|
}
|
|
82
82
|
.rp-dropdown-menu__item--disabled {
|
|
83
|
-
color: var(--rp-color-
|
|
83
|
+
color: var(--rp-color-disabled-color);
|
|
84
84
|
cursor: not-allowed;
|
|
85
85
|
}
|
|
86
86
|
.rp-dropdown-menu__item--submenu {
|
|
@@ -93,7 +93,7 @@ html.dark .rp-dropdown-menu {
|
|
|
93
93
|
text-overflow: ellipsis;
|
|
94
94
|
}
|
|
95
95
|
.rp-dropdown-menu__shortcut {
|
|
96
|
-
color: var(--rp-color-
|
|
96
|
+
color: var(--rp-color-dimmed);
|
|
97
97
|
font: inherit;
|
|
98
98
|
font-size: var(--rp-font-size-sm);
|
|
99
99
|
}
|
|
@@ -110,12 +110,12 @@ html.dark .rp-dropdown-menu {
|
|
|
110
110
|
}
|
|
111
111
|
.rp-dropdown-menu__submenu-icon {
|
|
112
112
|
margin-left: auto;
|
|
113
|
-
color: var(--rp-color-
|
|
113
|
+
color: var(--rp-color-dimmed);
|
|
114
114
|
}
|
|
115
115
|
.rp-dropdown-menu__submenu {
|
|
116
116
|
z-index: 100;
|
|
117
|
-
background-color: var(--rp-color-
|
|
118
|
-
border: var(--rp-border-width-thin) solid var(--rp-color-border);
|
|
117
|
+
background-color: var(--rp-color-default);
|
|
118
|
+
border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
|
|
119
119
|
border-radius: var(--_rp-dropdown-menu-radius);
|
|
120
120
|
box-shadow: var(--rp-shadow-md);
|
|
121
121
|
padding: var(--rp-spacing-1) 0;
|
|
@@ -128,8 +128,8 @@ html.dark .rp-dropdown-menu {
|
|
|
128
128
|
overflow-y: auto;
|
|
129
129
|
padding: var(--rp-spacing-1);
|
|
130
130
|
color: var(--rp-color-text);
|
|
131
|
-
font-size: var(--rp-font-size-
|
|
132
|
-
line-height: var(--rp-line-height-
|
|
131
|
+
font-size: var(--rp-font-size-md);
|
|
132
|
+
line-height: var(--rp-line-height-md);
|
|
133
133
|
outline: none;
|
|
134
134
|
}
|
|
135
135
|
.rp-dropdown-menu__submenu--has-submenu {
|
|
@@ -145,8 +145,8 @@ html.dark .rp-dropdown-menu {
|
|
|
145
145
|
justify-content: center;
|
|
146
146
|
min-height: var(--rp-size-control-sm);
|
|
147
147
|
padding: var(--rp-spacing-2) var(--rp-spacing-4);
|
|
148
|
-
color: var(--rp-color-
|
|
149
|
-
font-size: var(--rp-font-size-
|
|
148
|
+
color: var(--rp-color-dimmed);
|
|
149
|
+
font-size: var(--rp-font-size-md);
|
|
150
150
|
}
|
|
151
151
|
.rp-dropdown-menu-content-enter-active,
|
|
152
152
|
.rp-dropdown-menu-content-leave-active {
|
package/dist/field.css
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
.rp-field[data-v-
|
|
2
|
-
--_rp-field-danger: var(--rp-color-
|
|
1
|
+
.rp-field[data-v-f9e37351] {
|
|
2
|
+
--_rp-field-danger: var(--rp-color-red-filled);
|
|
3
3
|
display: grid;
|
|
4
4
|
gap: var(--rp-spacing-1);
|
|
5
5
|
min-width: 0;
|
|
6
6
|
font-family: var(--rp-font-family);
|
|
7
7
|
color: var(--rp-color-text);
|
|
8
8
|
}
|
|
9
|
-
html.dark .rp-field[data-v-
|
|
10
|
-
--_rp-field-danger: var(--rp-color-
|
|
9
|
+
html.dark .rp-field[data-v-f9e37351], [data-rp-color-scheme=dark] .rp-field[data-v-f9e37351] {
|
|
10
|
+
--_rp-field-danger: var(--rp-color-red-light-color);
|
|
11
11
|
}
|
|
12
|
-
.rp-field__label[data-v-
|
|
12
|
+
.rp-field__label[data-v-f9e37351] {
|
|
13
13
|
display: inline-flex;
|
|
14
14
|
width: fit-content;
|
|
15
15
|
align-items: center;
|
|
@@ -17,27 +17,24 @@ html.dark .rp-field[data-v-0d027ead] {
|
|
|
17
17
|
color: var(--rp-color-text);
|
|
18
18
|
font-size: var(--rp-font-size-sm);
|
|
19
19
|
font-weight: var(--rp-font-weight-medium);
|
|
20
|
-
line-height: var(--rp-line-height-
|
|
20
|
+
line-height: var(--rp-line-height-md);
|
|
21
21
|
}
|
|
22
|
-
.rp-field__required[data-v-
|
|
22
|
+
.rp-field__required[data-v-f9e37351] {
|
|
23
23
|
color: var(--_rp-field-danger);
|
|
24
|
-
line-height:
|
|
24
|
+
line-height: 1;
|
|
25
25
|
}
|
|
26
|
-
.rp-field__label + .rp-field__control[data-v-
|
|
26
|
+
.rp-field__label + .rp-field__control[data-v-f9e37351] {
|
|
27
27
|
margin-block-start: var(--rp-spacing-1);
|
|
28
28
|
}
|
|
29
|
-
.rp-field__control[data-v-
|
|
29
|
+
.rp-field__control[data-v-f9e37351] {
|
|
30
30
|
min-width: 0;
|
|
31
31
|
}
|
|
32
|
-
.rp-field__description[data-v-
|
|
32
|
+
.rp-field__description[data-v-f9e37351] {
|
|
33
33
|
margin: 0;
|
|
34
|
-
color: var(--rp-color-
|
|
34
|
+
color: var(--rp-color-dimmed);
|
|
35
35
|
font-size: var(--rp-font-size-sm);
|
|
36
|
-
line-height: var(--rp-line-height-
|
|
36
|
+
line-height: var(--rp-line-height-md);
|
|
37
37
|
}
|
|
38
|
-
.rp-field--
|
|
39
|
-
color: var(--
|
|
40
|
-
}
|
|
41
|
-
.rp-field--disabled .rp-field__label[data-v-0d027ead], .rp-field--disabled .rp-field__description[data-v-0d027ead], .rp-field--disabled .rp-field__message[data-v-0d027ead] {
|
|
42
|
-
color: var(--rp-color-text-disabled);
|
|
38
|
+
.rp-field--disabled .rp-field__label[data-v-f9e37351], .rp-field--disabled .rp-field__description[data-v-f9e37351] {
|
|
39
|
+
color: var(--rp-color-disabled-color);
|
|
43
40
|
}
|