reka-ui 2.3.0 → 2.3.2
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/AccordionItem.cjs +1 -1
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +1 -1
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/AlertDialog/AlertDialogContent.cjs +0 -1
- package/dist/AlertDialog/AlertDialogContent.cjs.map +1 -1
- package/dist/AlertDialog/AlertDialogContent.js +0 -1
- package/dist/AlertDialog/AlertDialogContent.js.map +1 -1
- package/dist/Combobox/ComboboxCancel.cjs +1 -1
- package/dist/Combobox/ComboboxCancel.cjs.map +1 -1
- package/dist/Combobox/ComboboxCancel.js +1 -1
- package/dist/Combobox/ComboboxCancel.js.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.cjs +1 -1
- package/dist/Combobox/ComboboxContentImpl.js +1 -1
- package/dist/Combobox/ComboboxEmpty.cjs +1 -1
- package/dist/Combobox/ComboboxEmpty.cjs.map +1 -1
- package/dist/Combobox/ComboboxEmpty.js +1 -1
- package/dist/Combobox/ComboboxEmpty.js.map +1 -1
- package/dist/Combobox/ComboboxGroup.cjs +1 -1
- package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
- package/dist/Combobox/ComboboxGroup.js +1 -1
- package/dist/Combobox/ComboboxGroup.js.map +1 -1
- package/dist/Combobox/ComboboxInput.cjs +7 -10
- package/dist/Combobox/ComboboxInput.cjs.map +1 -1
- package/dist/Combobox/ComboboxInput.js +7 -10
- package/dist/Combobox/ComboboxInput.js.map +1 -1
- package/dist/Combobox/ComboboxItem.cjs +2 -2
- package/dist/Combobox/ComboboxItem.cjs.map +1 -1
- package/dist/Combobox/ComboboxItem.js +2 -2
- package/dist/Combobox/ComboboxItem.js.map +1 -1
- package/dist/Combobox/ComboboxRoot.cjs +23 -33
- package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
- package/dist/Combobox/ComboboxRoot.js +24 -34
- package/dist/Combobox/ComboboxRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.cjs +2 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js +2 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.cjs +5 -2
- package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.js +5 -2
- package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
- package/dist/Dialog/DialogContent.cjs +0 -1
- package/dist/Dialog/DialogContent.cjs.map +1 -1
- package/dist/Dialog/DialogContent.js +0 -1
- package/dist/Dialog/DialogContent.js.map +1 -1
- package/dist/Dialog/DialogContentImpl.cjs +1 -1
- package/dist/Dialog/DialogContentImpl.js +1 -1
- package/dist/DismissableLayer/utils.cjs +12 -4
- package/dist/DismissableLayer/utils.cjs.map +1 -1
- package/dist/DismissableLayer/utils.js +12 -4
- package/dist/DismissableLayer/utils.js.map +1 -1
- package/dist/Editable/EditableRoot.cjs +2 -2
- package/dist/Editable/EditableRoot.cjs.map +1 -1
- package/dist/Editable/EditableRoot.js +2 -2
- package/dist/Editable/EditableRoot.js.map +1 -1
- package/dist/HoverCard/HoverCardContentImpl.cjs +1 -1
- package/dist/HoverCard/HoverCardContentImpl.js +1 -1
- package/dist/Listbox/ListboxFilter.cjs +1 -1
- package/dist/Listbox/ListboxFilter.cjs.map +1 -1
- package/dist/Listbox/ListboxFilter.js +1 -1
- package/dist/Listbox/ListboxFilter.js.map +1 -1
- package/dist/Listbox/ListboxRoot.cjs.map +1 -1
- package/dist/Listbox/ListboxRoot.js.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.cjs +1 -1
- package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.js +1 -1
- package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
- package/dist/Menu/MenuContentImpl.cjs +1 -1
- package/dist/Menu/MenuContentImpl.js +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.js +1 -1
- package/dist/PinInput/PinInputInput.cjs +14 -6
- package/dist/PinInput/PinInputInput.cjs.map +1 -1
- package/dist/PinInput/PinInputInput.js +14 -6
- package/dist/PinInput/PinInputInput.js.map +1 -1
- package/dist/PinInput/PinInputRoot.cjs +4 -2
- package/dist/PinInput/PinInputRoot.cjs.map +1 -1
- package/dist/PinInput/PinInputRoot.js +4 -2
- package/dist/PinInput/PinInputRoot.js.map +1 -1
- package/dist/Popover/PopoverContentImpl.cjs +1 -1
- package/dist/Popover/PopoverContentImpl.js +1 -1
- package/dist/Primitive/Slot.cjs +7 -7
- package/dist/Primitive/Slot.cjs.map +1 -1
- package/dist/Primitive/Slot.js +7 -7
- package/dist/Primitive/Slot.js.map +1 -1
- package/dist/RadioGroup/Radio.cjs +2 -0
- package/dist/RadioGroup/Radio.cjs.map +1 -1
- package/dist/RadioGroup/Radio.js +2 -0
- package/dist/RadioGroup/Radio.js.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.cjs +22 -4
- package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.js +22 -4
- package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
- package/dist/Select/SelectContent.cjs +8 -4
- package/dist/Select/SelectContent.cjs.map +1 -1
- package/dist/Select/SelectContent.js +9 -5
- package/dist/Select/SelectContent.js.map +1 -1
- package/dist/Select/SelectContentImpl.cjs +1 -1
- package/dist/Select/SelectContentImpl.js +1 -1
- package/dist/Select/SelectItemText.cjs +1 -1
- package/dist/Select/SelectItemText.cjs.map +1 -1
- package/dist/Select/SelectItemText.js +2 -2
- package/dist/Select/SelectItemText.js.map +1 -1
- package/dist/Stepper/StepperRoot.cjs +1 -1
- package/dist/Stepper/StepperRoot.cjs.map +1 -1
- package/dist/Stepper/StepperRoot.js +1 -1
- package/dist/Stepper/StepperRoot.js.map +1 -1
- package/dist/Toast/ToastViewport.cjs +1 -1
- package/dist/Toast/ToastViewport.js +1 -1
- package/dist/Tooltip/TooltipContentImpl.cjs +1 -1
- package/dist/Tooltip/TooltipContentImpl.js +1 -1
- package/dist/constant/components.cjs.map +1 -1
- package/dist/constant/components.js.map +1 -1
- package/dist/constant.d.ts +60 -0
- package/dist/date/useDateField.cjs +6 -2
- package/dist/date/useDateField.cjs.map +1 -1
- package/dist/date/useDateField.js +6 -2
- package/dist/date/useDateField.js.map +1 -1
- package/dist/index.d.ts +17 -16
- package/dist/nuxt/index.cjs +14 -14
- package/dist/nuxt/index.d.cts +2 -2
- package/dist/nuxt/index.d.mts +2 -2
- package/dist/nuxt/index.mjs +14 -14
- package/dist/resolver/index.cjs +9 -5
- package/dist/resolver/index.mjs +9 -5
- package/dist/shared/useForwardProps.cjs +2 -4
- package/dist/shared/useForwardProps.cjs.map +1 -1
- package/dist/shared/useForwardProps.js +3 -5
- package/dist/shared/useForwardProps.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -3067,10 +3067,10 @@ export declare const ComboboxRoot: <T extends AcceptableValue = AcceptableValue>
|
|
|
3067
3067
|
} | undefined) => any) | undefined;
|
|
3068
3068
|
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:open" | "onUpdate:modelValue" | "onHighlight"> & ComboboxRootProps<T> & Partial<{}>> & PublicProps;
|
|
3069
3069
|
expose(exposed: ShallowUnwrapRef< {
|
|
3070
|
-
filtered: ComputedRef<
|
|
3070
|
+
filtered: ComputedRef<{
|
|
3071
3071
|
count: number;
|
|
3072
|
-
items: Map<string, number
|
|
3073
|
-
groups: Set<string
|
|
3072
|
+
items: Map<string, number>;
|
|
3073
|
+
groups: Set<string>;
|
|
3074
3074
|
}>;
|
|
3075
3075
|
highlightedElement: ComputedRef<HTMLElement | undefined>;
|
|
3076
3076
|
highlightItem: ((value: AcceptableValue) => void) | undefined;
|
|
@@ -3120,14 +3120,12 @@ declare type ComboboxRootContext<T> = {
|
|
|
3120
3120
|
onResetSearchTerm: EventHookOn;
|
|
3121
3121
|
allItems: Ref<Map<string, string>>;
|
|
3122
3122
|
allGroups: Ref<Map<string, Set<string>>>;
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
};
|
|
3130
|
-
};
|
|
3123
|
+
filterSearch: Ref<string>;
|
|
3124
|
+
filterState: ComputedRef<{
|
|
3125
|
+
count: number;
|
|
3126
|
+
items: Map<string, number>;
|
|
3127
|
+
groups: Set<string>;
|
|
3128
|
+
}>;
|
|
3131
3129
|
ignoreFilter: Ref<boolean>;
|
|
3132
3130
|
};
|
|
3133
3131
|
|
|
@@ -4226,6 +4224,7 @@ isDateDisabled: Matcher;
|
|
|
4226
4224
|
isDateUnavailable: Matcher;
|
|
4227
4225
|
isDateHighlightable: Matcher;
|
|
4228
4226
|
allowNonContiguousRanges: boolean;
|
|
4227
|
+
maximumDays: number;
|
|
4229
4228
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
|
|
4230
4229
|
default?(_: {
|
|
4231
4230
|
modelValue: DateRange;
|
|
@@ -4269,6 +4268,7 @@ declare type DateRangePickerRootContext = {
|
|
|
4269
4268
|
dir: Ref<Direction>;
|
|
4270
4269
|
allowNonContiguousRanges: Ref<boolean>;
|
|
4271
4270
|
fixedDate: Ref<'start' | 'end' | undefined>;
|
|
4271
|
+
maximumDays?: Ref<number | undefined>;
|
|
4272
4272
|
};
|
|
4273
4273
|
|
|
4274
4274
|
export declare type DateRangePickerRootEmits = {
|
|
@@ -4280,7 +4280,7 @@ export declare type DateRangePickerRootEmits = {
|
|
|
4280
4280
|
'update:startValue': [date: DateValue | undefined];
|
|
4281
4281
|
};
|
|
4282
4282
|
|
|
4283
|
-
export declare type DateRangePickerRootProps = DateRangeFieldRootProps & PopoverRootProps & Pick<RangeCalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect' | 'isDateUnavailable' | 'isDateHighlightable' | 'allowNonContiguousRanges' | 'fixedDate'>;
|
|
4283
|
+
export declare type DateRangePickerRootProps = DateRangeFieldRootProps & PopoverRootProps & Pick<RangeCalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect' | 'isDateUnavailable' | 'isDateHighlightable' | 'allowNonContiguousRanges' | 'fixedDate' | 'maximumDays'>;
|
|
4284
4284
|
|
|
4285
4285
|
export declare const DateRangePickerTrigger: __VLS_WithTemplateSlots_109<DefineComponent<DateRangePickerTriggerProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DateRangePickerTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
|
|
4286
4286
|
default?(_: {}): any;
|
|
@@ -4368,7 +4368,7 @@ declare interface DialogContentImplProps extends DismissableLayerProps {
|
|
|
4368
4368
|
trapFocus?: boolean;
|
|
4369
4369
|
}
|
|
4370
4370
|
|
|
4371
|
-
export declare interface DialogContentProps extends DialogContentImplProps {
|
|
4371
|
+
export declare interface DialogContentProps extends Omit<DialogContentImplProps, 'trapFocus'> {
|
|
4372
4372
|
/**
|
|
4373
4373
|
* Used to force mounting when more control is needed. Useful when
|
|
4374
4374
|
* controlling animation with Vue animation libraries.
|
|
@@ -5028,7 +5028,7 @@ export declare type FlattenedItem<T> = {
|
|
|
5028
5028
|
};
|
|
5029
5029
|
};
|
|
5030
5030
|
|
|
5031
|
-
declare type FocusOutsideEvent = CustomEvent<{
|
|
5031
|
+
export declare type FocusOutsideEvent = CustomEvent<{
|
|
5032
5032
|
originalEvent: FocusEvent;
|
|
5033
5033
|
}>;
|
|
5034
5034
|
|
|
@@ -5604,7 +5604,7 @@ declare type ListboxRootContext<T> = {
|
|
|
5604
5604
|
onKeydownTypeAhead: (event: KeyboardEvent) => void;
|
|
5605
5605
|
onCompositionStart: () => void;
|
|
5606
5606
|
onCompositionEnd: () => void;
|
|
5607
|
-
highlightFirstItem: (
|
|
5607
|
+
highlightFirstItem: () => void;
|
|
5608
5608
|
};
|
|
5609
5609
|
|
|
5610
5610
|
export declare type ListboxRootEmits<T = AcceptableValue> = {
|
|
@@ -6929,6 +6929,7 @@ declare interface PinInputRootContext<Type extends PinInputType = 'text'> {
|
|
|
6929
6929
|
isCompleted: ComputedRef<boolean>;
|
|
6930
6930
|
inputElements?: Ref<Set<HTMLInputElement>>;
|
|
6931
6931
|
onInputElementChange: (el: HTMLInputElement) => void;
|
|
6932
|
+
isNumericMode: ComputedRef<boolean>;
|
|
6932
6933
|
}
|
|
6933
6934
|
|
|
6934
6935
|
export declare type PinInputRootEmits<Type extends PinInputType = 'text'> = {
|
|
@@ -6961,7 +6962,7 @@ declare type PinInputType = 'text' | 'number';
|
|
|
6961
6962
|
|
|
6962
6963
|
declare type PinInputValue<Type extends PinInputType = 'text'> = Type extends 'number' ? number[] : string[];
|
|
6963
6964
|
|
|
6964
|
-
declare type PointerDownOutsideEvent = CustomEvent<{
|
|
6965
|
+
export declare type PointerDownOutsideEvent = CustomEvent<{
|
|
6965
6966
|
originalEvent: PointerEvent;
|
|
6966
6967
|
}>;
|
|
6967
6968
|
|
package/dist/nuxt/index.cjs
CHANGED
|
@@ -15,21 +15,21 @@ const index = kit.defineNuxtModule({
|
|
|
15
15
|
prefix: "",
|
|
16
16
|
components: true
|
|
17
17
|
},
|
|
18
|
-
setup(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return Object.entries(constant.components).filter(([name]) => options.components[name]).flatMap(([_, components]) => components);
|
|
22
|
-
}
|
|
23
|
-
if (options.components)
|
|
24
|
-
return Object.values(constant.components).flat();
|
|
25
|
-
return [];
|
|
18
|
+
setup({ prefix, components }) {
|
|
19
|
+
if (components === false) {
|
|
20
|
+
return;
|
|
26
21
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
let groupName;
|
|
23
|
+
for (groupName in constant.components) {
|
|
24
|
+
if (components === true || components[groupName]) {
|
|
25
|
+
for (const component of constant.components[groupName]) {
|
|
26
|
+
kit.addComponent({
|
|
27
|
+
name: `${prefix}${component}`,
|
|
28
|
+
export: component,
|
|
29
|
+
filePath: "reka-ui"
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
});
|
package/dist/nuxt/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
-
import {
|
|
2
|
+
import { Components } from 'reka-ui/constant';
|
|
3
3
|
|
|
4
4
|
interface ModuleOptions {
|
|
5
|
-
components: Partial<Record<keyof
|
|
5
|
+
components: Partial<Record<keyof Components, boolean>> | boolean;
|
|
6
6
|
prefix: string;
|
|
7
7
|
}
|
|
8
8
|
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
package/dist/nuxt/index.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
-
import {
|
|
2
|
+
import { Components } from 'reka-ui/constant';
|
|
3
3
|
|
|
4
4
|
interface ModuleOptions {
|
|
5
|
-
components: Partial<Record<keyof
|
|
5
|
+
components: Partial<Record<keyof Components, boolean>> | boolean;
|
|
6
6
|
prefix: string;
|
|
7
7
|
}
|
|
8
8
|
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
package/dist/nuxt/index.mjs
CHANGED
|
@@ -13,21 +13,21 @@ const index = defineNuxtModule({
|
|
|
13
13
|
prefix: "",
|
|
14
14
|
components: true
|
|
15
15
|
},
|
|
16
|
-
setup(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return Object.entries(components).filter(([name]) => options.components[name]).flatMap(([_, components]) => components);
|
|
20
|
-
}
|
|
21
|
-
if (options.components)
|
|
22
|
-
return Object.values(components).flat();
|
|
23
|
-
return [];
|
|
16
|
+
setup({ prefix, components: components$1 }) {
|
|
17
|
+
if (components$1 === false) {
|
|
18
|
+
return;
|
|
24
19
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
let groupName;
|
|
21
|
+
for (groupName in components) {
|
|
22
|
+
if (components$1 === true || components$1[groupName]) {
|
|
23
|
+
for (const component of components[groupName]) {
|
|
24
|
+
addComponent({
|
|
25
|
+
name: `${prefix}${component}`,
|
|
26
|
+
export: component,
|
|
27
|
+
filePath: "reka-ui"
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
});
|
package/dist/resolver/index.cjs
CHANGED
|
@@ -9,11 +9,15 @@ function index(options = {}) {
|
|
|
9
9
|
resolve: (name) => {
|
|
10
10
|
if (name.toLowerCase().startsWith(prefix.toLowerCase())) {
|
|
11
11
|
const componentName = name.substring(prefix.length);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
let groupName;
|
|
13
|
+
for (groupName in constant.components) {
|
|
14
|
+
const groupComponents = constant.components[groupName];
|
|
15
|
+
if (groupComponents.includes(componentName)) {
|
|
16
|
+
return {
|
|
17
|
+
name: componentName,
|
|
18
|
+
from: "reka-ui"
|
|
19
|
+
};
|
|
20
|
+
}
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
}
|
package/dist/resolver/index.mjs
CHANGED
|
@@ -7,11 +7,15 @@ function index(options = {}) {
|
|
|
7
7
|
resolve: (name) => {
|
|
8
8
|
if (name.toLowerCase().startsWith(prefix.toLowerCase())) {
|
|
9
9
|
const componentName = name.substring(prefix.length);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
let groupName;
|
|
11
|
+
for (groupName in components) {
|
|
12
|
+
const groupComponents = components[groupName];
|
|
13
|
+
if (groupComponents.includes(componentName)) {
|
|
14
|
+
return {
|
|
15
|
+
name: componentName,
|
|
16
|
+
from: "reka-ui"
|
|
17
|
+
};
|
|
18
|
+
}
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
21
|
}
|
|
@@ -12,16 +12,14 @@ function useForwardProps(props) {
|
|
|
12
12
|
}, {});
|
|
13
13
|
const refProps = vue.toRef(props);
|
|
14
14
|
return vue.computed(() => {
|
|
15
|
-
const propsAsRefs = vue.toRefs(refProps.value);
|
|
16
15
|
const preservedProps = {};
|
|
17
16
|
const assignedProps = vm?.vnode.props ?? {};
|
|
18
17
|
Object.keys(assignedProps).forEach((key) => {
|
|
19
18
|
preservedProps[vue.camelize(key)] = assignedProps[key];
|
|
20
19
|
});
|
|
21
20
|
return Object.keys({ ...defaultProps, ...preservedProps }).reduce((prev, curr) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
prev[curr] = val;
|
|
21
|
+
if (refProps.value[curr] !== void 0)
|
|
22
|
+
prev[curr] = refProps.value[curr];
|
|
25
23
|
return prev;
|
|
26
24
|
}, {});
|
|
27
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForwardProps.cjs","sources":["../../src/shared/useForwardProps.ts"],"sourcesContent":["import type { MaybeRefOrGetter } from 'vue'\nimport { camelize, computed, getCurrentInstance, toRef
|
|
1
|
+
{"version":3,"file":"useForwardProps.cjs","sources":["../../src/shared/useForwardProps.ts"],"sourcesContent":["import type { MaybeRefOrGetter } from 'vue'\nimport { camelize, computed, getCurrentInstance, toRef } from 'vue'\n\ninterface PropOptions {\n type?: any\n required?: boolean\n default?: any\n}\n\n/**\n * The `useForwardProps` function in TypeScript takes in a set of props and returns a computed value\n * that combines default props with assigned props from the current instance.\n * @param {T} props - The `props` parameter is an object that represents the props passed to a\n * component.\n * @returns computed value that combines the default props, preserved props, and assigned props.\n */\nexport function useForwardProps<T extends Record<string, any>>(props: MaybeRefOrGetter<T>) {\n const vm = getCurrentInstance()\n // Default value for declared props\n const defaultProps = Object.keys(vm?.type.props ?? {}).reduce((prev, curr) => {\n const defaultValue = (vm?.type.props[curr] as PropOptions).default\n if (defaultValue !== undefined)\n prev[curr as keyof T] = defaultValue\n return prev\n }, {} as T)\n\n const refProps = toRef(props)\n return computed(() => {\n const preservedProps = {} as T\n const assignedProps = vm?.vnode.props ?? {}\n\n Object.keys(assignedProps).forEach((key) => {\n preservedProps[camelize(key) as keyof T] = assignedProps[key]\n })\n\n // Only return value from the props parameter\n return Object.keys({ ...defaultProps, ...preservedProps }).reduce((prev, curr) => {\n if (refProps.value[curr] !== undefined)\n prev[curr as keyof T] = refProps.value[curr]\n return prev\n }, {} as T)\n })\n}\n"],"names":["getCurrentInstance","toRef","computed","camelize"],"mappings":";;;;AAgBO,SAAS,gBAA+C,KAA4B,EAAA;AACzF,EAAA,MAAM,KAAKA,sBAAmB,EAAA;AAE9B,EAAA,MAAM,YAAe,GAAA,MAAA,CAAO,IAAK,CAAA,EAAA,EAAI,IAAK,CAAA,KAAA,IAAS,EAAE,CAAE,CAAA,MAAA,CAAO,CAAC,IAAA,EAAM,IAAS,KAAA;AAC5E,IAAA,MAAM,YAAgB,GAAA,CAAA,EAAA,EAAI,IAAK,CAAA,KAAA,CAAM,IAAI,CAAkB,EAAA,OAAA;AAC3D,IAAA,IAAI,YAAiB,KAAA,MAAA;AACnB,MAAA,IAAA,CAAK,IAAe,CAAI,GAAA,YAAA;AAC1B,IAAO,OAAA,IAAA;AAAA,GACT,EAAG,EAAO,CAAA;AAEV,EAAM,MAAA,QAAA,GAAWC,UAAM,KAAK,CAAA;AAC5B,EAAA,OAAOC,aAAS,MAAM;AACpB,IAAA,MAAM,iBAAiB,EAAC;AACxB,IAAA,MAAM,aAAgB,GAAA,EAAA,EAAI,KAAM,CAAA,KAAA,IAAS,EAAC;AAE1C,IAAA,MAAA,CAAO,IAAK,CAAA,aAAa,CAAE,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AAC1C,MAAA,cAAA,CAAeC,YAAS,CAAA,GAAG,CAAY,CAAA,GAAI,cAAc,GAAG,CAAA;AAAA,KAC7D,CAAA;AAGD,IAAA,OAAO,MAAO,CAAA,IAAA,CAAK,EAAE,GAAG,YAAc,EAAA,GAAG,cAAe,EAAC,CAAE,CAAA,MAAA,CAAO,CAAC,IAAA,EAAM,IAAS,KAAA;AAChF,MAAI,IAAA,QAAA,CAAS,KAAM,CAAA,IAAI,CAAM,KAAA,MAAA;AAC3B,QAAA,IAAA,CAAK,IAAe,CAAA,GAAI,QAAS,CAAA,KAAA,CAAM,IAAI,CAAA;AAC7C,MAAO,OAAA,IAAA;AAAA,KACT,EAAG,EAAO,CAAA;AAAA,GACX,CAAA;AACH;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getCurrentInstance, toRef, computed,
|
|
1
|
+
import { getCurrentInstance, toRef, computed, camelize } from 'vue';
|
|
2
2
|
|
|
3
3
|
function useForwardProps(props) {
|
|
4
4
|
const vm = getCurrentInstance();
|
|
@@ -10,16 +10,14 @@ function useForwardProps(props) {
|
|
|
10
10
|
}, {});
|
|
11
11
|
const refProps = toRef(props);
|
|
12
12
|
return computed(() => {
|
|
13
|
-
const propsAsRefs = toRefs(refProps.value);
|
|
14
13
|
const preservedProps = {};
|
|
15
14
|
const assignedProps = vm?.vnode.props ?? {};
|
|
16
15
|
Object.keys(assignedProps).forEach((key) => {
|
|
17
16
|
preservedProps[camelize(key)] = assignedProps[key];
|
|
18
17
|
});
|
|
19
18
|
return Object.keys({ ...defaultProps, ...preservedProps }).reduce((prev, curr) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
prev[curr] = val;
|
|
19
|
+
if (refProps.value[curr] !== void 0)
|
|
20
|
+
prev[curr] = refProps.value[curr];
|
|
23
21
|
return prev;
|
|
24
22
|
}, {});
|
|
25
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForwardProps.js","sources":["../../src/shared/useForwardProps.ts"],"sourcesContent":["import type { MaybeRefOrGetter } from 'vue'\nimport { camelize, computed, getCurrentInstance, toRef
|
|
1
|
+
{"version":3,"file":"useForwardProps.js","sources":["../../src/shared/useForwardProps.ts"],"sourcesContent":["import type { MaybeRefOrGetter } from 'vue'\nimport { camelize, computed, getCurrentInstance, toRef } from 'vue'\n\ninterface PropOptions {\n type?: any\n required?: boolean\n default?: any\n}\n\n/**\n * The `useForwardProps` function in TypeScript takes in a set of props and returns a computed value\n * that combines default props with assigned props from the current instance.\n * @param {T} props - The `props` parameter is an object that represents the props passed to a\n * component.\n * @returns computed value that combines the default props, preserved props, and assigned props.\n */\nexport function useForwardProps<T extends Record<string, any>>(props: MaybeRefOrGetter<T>) {\n const vm = getCurrentInstance()\n // Default value for declared props\n const defaultProps = Object.keys(vm?.type.props ?? {}).reduce((prev, curr) => {\n const defaultValue = (vm?.type.props[curr] as PropOptions).default\n if (defaultValue !== undefined)\n prev[curr as keyof T] = defaultValue\n return prev\n }, {} as T)\n\n const refProps = toRef(props)\n return computed(() => {\n const preservedProps = {} as T\n const assignedProps = vm?.vnode.props ?? {}\n\n Object.keys(assignedProps).forEach((key) => {\n preservedProps[camelize(key) as keyof T] = assignedProps[key]\n })\n\n // Only return value from the props parameter\n return Object.keys({ ...defaultProps, ...preservedProps }).reduce((prev, curr) => {\n if (refProps.value[curr] !== undefined)\n prev[curr as keyof T] = refProps.value[curr]\n return prev\n }, {} as T)\n })\n}\n"],"names":[],"mappings":";;AAgBO,SAAS,gBAA+C,KAA4B,EAAA;AACzF,EAAA,MAAM,KAAK,kBAAmB,EAAA;AAE9B,EAAA,MAAM,YAAe,GAAA,MAAA,CAAO,IAAK,CAAA,EAAA,EAAI,IAAK,CAAA,KAAA,IAAS,EAAE,CAAE,CAAA,MAAA,CAAO,CAAC,IAAA,EAAM,IAAS,KAAA;AAC5E,IAAA,MAAM,YAAgB,GAAA,CAAA,EAAA,EAAI,IAAK,CAAA,KAAA,CAAM,IAAI,CAAkB,EAAA,OAAA;AAC3D,IAAA,IAAI,YAAiB,KAAA,MAAA;AACnB,MAAA,IAAA,CAAK,IAAe,CAAI,GAAA,YAAA;AAC1B,IAAO,OAAA,IAAA;AAAA,GACT,EAAG,EAAO,CAAA;AAEV,EAAM,MAAA,QAAA,GAAW,MAAM,KAAK,CAAA;AAC5B,EAAA,OAAO,SAAS,MAAM;AACpB,IAAA,MAAM,iBAAiB,EAAC;AACxB,IAAA,MAAM,aAAgB,GAAA,EAAA,EAAI,KAAM,CAAA,KAAA,IAAS,EAAC;AAE1C,IAAA,MAAA,CAAO,IAAK,CAAA,aAAa,CAAE,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AAC1C,MAAA,cAAA,CAAe,QAAS,CAAA,GAAG,CAAY,CAAA,GAAI,cAAc,GAAG,CAAA;AAAA,KAC7D,CAAA;AAGD,IAAA,OAAO,MAAO,CAAA,IAAA,CAAK,EAAE,GAAG,YAAc,EAAA,GAAG,cAAe,EAAC,CAAE,CAAA,MAAA,CAAO,CAAC,IAAA,EAAM,IAAS,KAAA;AAChF,MAAI,IAAA,QAAA,CAAS,KAAM,CAAA,IAAI,CAAM,KAAA,MAAA;AAC3B,QAAA,IAAA,CAAK,IAAe,CAAA,GAAI,QAAS,CAAA,KAAA,CAAM,IAAI,CAAA;AAC7C,MAAO,OAAA,IAAA;AAAA,KACT,EAAG,EAAO,CAAA;AAAA,GACX,CAAA;AACH;;;;"}
|