@vuetify/nightly 3.10.7-dev.2025-10-23 → 3.10.7-dev.2025-10-24
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/CHANGELOG.md +11 -3
- package/dist/json/attributes.json +3665 -3665
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +120 -120
- package/dist/json/web-types.json +6366 -6366
- package/dist/vuetify-labs.cjs +84 -31
- package/dist/vuetify-labs.css +4007 -4007
- package/dist/vuetify-labs.d.ts +46 -46
- package/dist/vuetify-labs.esm.js +85 -32
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +84 -31
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +84 -31
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2956 -2956
- package/dist/vuetify.d.ts +46 -46
- package/dist/vuetify.esm.js +85 -32
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +84 -31
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +843 -838
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +19 -11
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VOverlay/useActivator.js +0 -1
- package/lib/components/VOverlay/useActivator.js.map +1 -1
- package/lib/composables/nested/nested.js +7 -1
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +46 -46
- package/lib/framework.js +1 -1
- package/lib/util/helpers.d.ts +8 -1
- package/lib/util/helpers.js +40 -9
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
package/lib/framework.d.ts
CHANGED
|
@@ -2712,41 +2712,40 @@ declare module 'vue' {
|
|
|
2712
2712
|
$children?: VNodeChild
|
|
2713
2713
|
}
|
|
2714
2714
|
export interface GlobalComponents {
|
|
2715
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
|
2716
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
2715
2717
|
VApp: typeof import('vuetify/components')['VApp']
|
|
2718
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
2716
2719
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
|
2717
2720
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
|
2718
2721
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
|
2719
|
-
|
|
2720
|
-
|
|
2722
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
|
2723
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
|
2724
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
2721
2725
|
VBanner: typeof import('vuetify/components')['VBanner']
|
|
2722
2726
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
|
2723
2727
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
|
2728
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
|
2729
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
2727
2730
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
|
2728
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
2729
2731
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
|
2730
2732
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
|
2731
2733
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
|
2732
2734
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
2733
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
2734
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
2735
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
2736
2735
|
VCard: typeof import('vuetify/components')['VCard']
|
|
2737
2736
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
|
2738
2737
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
|
2739
2738
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
|
2740
2739
|
VCardText: typeof import('vuetify/components')['VCardText']
|
|
2741
2740
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
|
2742
|
-
|
|
2743
|
-
|
|
2741
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
2742
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
2744
2743
|
VChip: typeof import('vuetify/components')['VChip']
|
|
2745
2744
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
2746
2745
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
2747
2746
|
VCode: typeof import('vuetify/components')['VCode']
|
|
2748
2747
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
2749
|
-
|
|
2748
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
|
2750
2749
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
|
2751
2750
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
|
2752
2751
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
|
@@ -2761,7 +2760,8 @@ declare module 'vue' {
|
|
|
2761
2760
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
|
2762
2761
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
|
2763
2762
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
|
2764
|
-
|
|
2763
|
+
VFab: typeof import('vuetify/components')['VFab']
|
|
2764
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
|
2765
2765
|
VDivider: typeof import('vuetify/components')['VDivider']
|
|
2766
2766
|
VDialog: typeof import('vuetify/components')['VDialog']
|
|
2767
2767
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
|
@@ -2769,22 +2769,21 @@ declare module 'vue' {
|
|
|
2769
2769
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
|
2770
2770
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
|
2771
2771
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
2772
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
|
2772
2773
|
VField: typeof import('vuetify/components')['VField']
|
|
2773
2774
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
|
2774
|
-
VFab: typeof import('vuetify/components')['VFab']
|
|
2775
|
-
VImg: typeof import('vuetify/components')['VImg']
|
|
2776
2775
|
VFooter: typeof import('vuetify/components')['VFooter']
|
|
2777
|
-
|
|
2776
|
+
VInput: typeof import('vuetify/components')['VInput']
|
|
2778
2777
|
VIcon: typeof import('vuetify/components')['VIcon']
|
|
2779
2778
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
|
2780
2779
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
|
2781
2780
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
|
2782
2781
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
VKbd: typeof import('vuetify/components')['VKbd']
|
|
2782
|
+
VImg: typeof import('vuetify/components')['VImg']
|
|
2783
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
|
2786
2784
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
|
2787
2785
|
VItem: typeof import('vuetify/components')['VItem']
|
|
2786
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
|
2788
2787
|
VList: typeof import('vuetify/components')['VList']
|
|
2789
2788
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
|
2790
2789
|
VListImg: typeof import('vuetify/components')['VListImg']
|
|
@@ -2794,22 +2793,26 @@ declare module 'vue' {
|
|
|
2794
2793
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
|
2795
2794
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
|
2796
2795
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
|
2797
|
-
VMain: typeof import('vuetify/components')['VMain']
|
|
2798
|
-
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
|
2799
2796
|
VMenu: typeof import('vuetify/components')['VMenu']
|
|
2800
|
-
|
|
2797
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
|
2798
|
+
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
|
2799
|
+
VMain: typeof import('vuetify/components')['VMain']
|
|
2801
2800
|
VMessages: typeof import('vuetify/components')['VMessages']
|
|
2802
2801
|
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
|
2803
|
-
VPagination: typeof import('vuetify/components')['VPagination']
|
|
2804
|
-
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
|
2805
2802
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
2806
|
-
|
|
2803
|
+
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
|
2804
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
|
2807
2805
|
VRating: typeof import('vuetify/components')['VRating']
|
|
2806
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
|
2807
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
|
2808
2808
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
|
2809
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
2810
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
2811
2809
|
VSelect: typeof import('vuetify/components')['VSelect']
|
|
2810
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
2811
|
+
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
2812
|
+
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
2813
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
|
2812
2814
|
VSheet: typeof import('vuetify/components')['VSheet']
|
|
2815
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
2813
2816
|
VSlider: typeof import('vuetify/components')['VSlider']
|
|
2814
2817
|
VStepper: typeof import('vuetify/components')['VStepper']
|
|
2815
2818
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
|
@@ -2817,28 +2820,25 @@ declare module 'vue' {
|
|
|
2817
2820
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
|
2818
2821
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
|
2819
2822
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
|
2820
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
|
2821
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
|
2822
|
-
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
2823
|
-
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
2824
2823
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
2825
|
-
|
|
2824
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
2826
2825
|
VTab: typeof import('vuetify/components')['VTab']
|
|
2827
2826
|
VTabs: typeof import('vuetify/components')['VTabs']
|
|
2828
2827
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
|
2829
2828
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
|
2830
|
-
|
|
2831
|
-
|
|
2829
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
|
2830
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
2832
2831
|
VTextField: typeof import('vuetify/components')['VTextField']
|
|
2832
|
+
VTable: typeof import('vuetify/components')['VTable']
|
|
2833
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
2834
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
2835
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
2833
2836
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
2834
2837
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
|
2835
2838
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
|
2836
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
2837
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
2838
2839
|
VTreeview: typeof import('vuetify/components')['VTreeview']
|
|
2839
2840
|
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
|
2840
2841
|
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
|
2841
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
2842
2842
|
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
|
2843
2843
|
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
|
2844
2844
|
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
|
@@ -2847,19 +2847,19 @@ declare module 'vue' {
|
|
|
2847
2847
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
|
2848
2848
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
|
2849
2849
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
2850
|
+
VForm: typeof import('vuetify/components')['VForm']
|
|
2850
2851
|
VContainer: typeof import('vuetify/components')['VContainer']
|
|
2851
2852
|
VCol: typeof import('vuetify/components')['VCol']
|
|
2852
2853
|
VRow: typeof import('vuetify/components')['VRow']
|
|
2853
2854
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
|
2854
2855
|
VHover: typeof import('vuetify/components')['VHover']
|
|
2855
|
-
VForm: typeof import('vuetify/components')['VForm']
|
|
2856
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
|
2857
2856
|
VLayout: typeof import('vuetify/components')['VLayout']
|
|
2858
2857
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
|
2858
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
|
2859
2859
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
|
2860
2860
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
|
2861
|
-
VRadio: typeof import('vuetify/components')['VRadio']
|
|
2862
2861
|
VParallax: typeof import('vuetify/components')['VParallax']
|
|
2862
|
+
VRadio: typeof import('vuetify/components')['VRadio']
|
|
2863
2863
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
|
2864
2864
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
|
2865
2865
|
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
|
@@ -2884,26 +2884,26 @@ declare module 'vue' {
|
|
|
2884
2884
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
|
2885
2885
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
|
2886
2886
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
|
2887
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
|
2887
2888
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
|
2888
|
-
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
|
2889
2889
|
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
|
2890
2890
|
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
|
2891
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
|
2892
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
|
2891
2893
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
|
2892
2894
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
|
2893
2895
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
|
2896
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
|
2897
|
+
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
|
2894
2898
|
VVideo: typeof import('vuetify/labs/components')['VVideo']
|
|
2895
2899
|
VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
|
|
2896
2900
|
VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
|
|
2897
2901
|
VPie: typeof import('vuetify/labs/components')['VPie']
|
|
2898
2902
|
VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
|
|
2899
2903
|
VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
|
|
2900
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
|
2901
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
|
2902
|
-
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
|
2903
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
|
2904
2904
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
|
2905
|
-
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
|
2906
2905
|
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
|
2906
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
|
2907
2907
|
}
|
|
2908
2908
|
export interface GlobalDirectives {
|
|
2909
2909
|
vClickOutside: typeof import('vuetify/directives')['ClickOutside']
|
package/lib/framework.js
CHANGED
package/lib/util/helpers.d.ts
CHANGED
|
@@ -66,7 +66,14 @@ export declare function debounce(fn: Function, delay: MaybeRef<number>): {
|
|
|
66
66
|
clear: () => void;
|
|
67
67
|
immediate: Function;
|
|
68
68
|
};
|
|
69
|
-
export declare function throttle<T extends (...args: any[]) => any>(fn: T,
|
|
69
|
+
export declare function throttle<T extends (...args: any[]) => any>(fn: T, delay: number, options?: {
|
|
70
|
+
leading: boolean;
|
|
71
|
+
trailing: boolean;
|
|
72
|
+
}): {
|
|
73
|
+
(...args: Parameters<T>): void | ReturnType<T>;
|
|
74
|
+
clear: () => void;
|
|
75
|
+
immediate: T;
|
|
76
|
+
};
|
|
70
77
|
export declare function clamp(value: number, min?: number, max?: number): number;
|
|
71
78
|
export declare function getDecimals(value: number): number;
|
|
72
79
|
export declare function padEnd(str: string, length: number, char?: string): string;
|
package/lib/util/helpers.js
CHANGED
|
@@ -5,6 +5,7 @@ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
|
5
5
|
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
6
6
|
// Utilities
|
|
7
7
|
import { camelize, capitalize, Comment, Fragment, isVNode, reactive, shallowRef, toRef, unref, watchEffect } from 'vue';
|
|
8
|
+
import { consoleError } from "./console.js";
|
|
8
9
|
import { IN_BROWSER } from "./globals.js"; // Types
|
|
9
10
|
export function getNestedValue(obj, path, fallback) {
|
|
10
11
|
const last = path.length - 1;
|
|
@@ -234,15 +235,38 @@ export function debounce(fn, delay) {
|
|
|
234
235
|
wrap.immediate = fn;
|
|
235
236
|
return wrap;
|
|
236
237
|
}
|
|
237
|
-
export function throttle(fn,
|
|
238
|
+
export function throttle(fn, delay) {
|
|
239
|
+
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
240
|
+
leading: true,
|
|
241
|
+
trailing: true
|
|
242
|
+
};
|
|
243
|
+
let timeoutId = 0;
|
|
244
|
+
let lastExec = 0;
|
|
238
245
|
let throttling = false;
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
246
|
+
const wrap = function () {
|
|
247
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
248
|
+
args[_key2] = arguments[_key2];
|
|
249
|
+
}
|
|
250
|
+
clearTimeout(timeoutId);
|
|
251
|
+
const now = Date.now();
|
|
252
|
+
const elapsed = now - lastExec;
|
|
253
|
+
if (!throttling || elapsed >= delay) {
|
|
254
|
+
lastExec = now;
|
|
255
|
+
}
|
|
256
|
+
if (!throttling && options.leading || elapsed >= delay) {
|
|
257
|
+
window.setTimeout(() => fn(...args)); // ignore 'fn' executin errors
|
|
244
258
|
}
|
|
259
|
+
throttling = true;
|
|
260
|
+
timeoutId = window.setTimeout(() => {
|
|
261
|
+
throttling = false;
|
|
262
|
+
if (options.trailing) {
|
|
263
|
+
fn(...args);
|
|
264
|
+
}
|
|
265
|
+
}, delay);
|
|
245
266
|
};
|
|
267
|
+
wrap.clear = () => clearTimeout(timeoutId);
|
|
268
|
+
wrap.immediate = fn;
|
|
269
|
+
return wrap;
|
|
246
270
|
}
|
|
247
271
|
export function clamp(value) {
|
|
248
272
|
let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
@@ -426,8 +450,8 @@ export function hasEvent(props, name) {
|
|
|
426
450
|
return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`]);
|
|
427
451
|
}
|
|
428
452
|
export function callEvent(handler) {
|
|
429
|
-
for (var
|
|
430
|
-
args[
|
|
453
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
454
|
+
args[_key3 - 1] = arguments[_key3];
|
|
431
455
|
}
|
|
432
456
|
if (Array.isArray(handler)) {
|
|
433
457
|
for (const h of handler) {
|
|
@@ -440,7 +464,14 @@ export function callEvent(handler) {
|
|
|
440
464
|
export function focusableChildren(el) {
|
|
441
465
|
let filterByTabIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
442
466
|
const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', 'details:not(:has(> summary))', 'details > summary', '[tabindex]', '[contenteditable]:not([contenteditable="false"])', 'audio[controls]', 'video[controls]'].map(s => `${s}${filterByTabIndex ? ':not([tabindex="-1"])' : ''}:not([disabled], [inert])`).join(', ');
|
|
443
|
-
|
|
467
|
+
let elements;
|
|
468
|
+
try {
|
|
469
|
+
elements = [...el.querySelectorAll(targets)];
|
|
470
|
+
} catch (err) {
|
|
471
|
+
consoleError(String(err));
|
|
472
|
+
return [];
|
|
473
|
+
}
|
|
474
|
+
return elements.filter(x => !x.closest('[inert]')) // does not have inert parent
|
|
444
475
|
.filter(x => !!x.offsetParent || x.getClientRects().length > 0) // is rendered
|
|
445
476
|
.filter(x => !x.parentElement?.closest('details:not([open])') || x.tagName === 'SUMMARY' && x.parentElement?.tagName === 'DETAILS');
|
|
446
477
|
}
|
package/lib/util/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["camelize","capitalize","Comment","Fragment","isVNode","reactive","shallowRef","toRef","unref","watchEffect","IN_BROWSER","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","Number","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","num","isNaN","String","isFinite","isObject","isPlainObject","proto","getPrototypeOf","prototype","refElement","$el","TEXT_NODE","nextElementSibling","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","found","call","pickWithRest","exclude","create","rest","some","RegExp","test","omit","clone","forEach","prop","onRE","isOn","bubblingEvents","compositionIgnoreKeys","isComposingIgnoreKey","e","isComposing","includes","filterInputAttrs","attrs","events","inputEvents","rootAttrs","inputAttrs","assign","arrayDiff","diff","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","debounce","fn","delay","timeoutId","wrap","_len","args","_key","clearTimeout","setTimeout","clear","immediate","throttle","limit","throttling","clamp","min","max","Math","getDecimals","trimmedStr","trim","padEnd","char","repeat","padStart","chunk","size","chunked","substr","chunkArray","array","ceil","slice","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","flattenFragments","nodes","map","node","type","children","flat","toKebabCase","cache","get","kebab","toLowerCase","set","Map","findChildrenWithProvide","vnode","child","suspense","ssContent","component","getOwnPropertySymbols","provides","subTree","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","isFull","_classPrivateFieldGet","val","_classPrivateFieldSet","values","concat","getEventCoordinates","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","eventName","propName","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","filterByTabIndex","targets","s","join","querySelectorAll","filter","x","closest","offsetParent","getClientRects","parentElement","tagName","getNextElement","elements","location","condition","_el","idx","document","activeElement","inc","focusChild","focusable","contains","focus","at","isEmpty","noop","matchesSelector","selector","supportsSelector","CSS","supports","matches","err","ensureValidVNode","vnodes","renderSlot","slot","defer","timeout","cb","isClickInsideElement","event","targetDiv","mouseX","mouseY","divRect","getBoundingClientRect","divLeft","divTop","top","divRight","divBottom","bottom","templateRef","defineProperty","enumerable","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","isPrimitive","escapeForRegex","sign","extractNumber","text","decimalDigitsLimit","decimalSeparator","onlyValidCharacters","cleanText","all","decimalPart","parts","substring","camelizeProps","onlyDefinedProps","booleanAttributes","fromEntries","entries","_ref"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport {\n camelize,\n capitalize,\n Comment,\n Fragment,\n isVNode,\n reactive,\n shallowRef,\n toRef,\n unref,\n watchEffect,\n} from 'vue'\nimport { IN_BROWSER } from '@/util/globals'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n ToRef,\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path?: string | null, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey<T = Record<string, any>> =\n | boolean | null | undefined // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | readonly (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: T, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property === true) return item === undefined ? fallback : item\n\n if (property == null || typeof property === 'boolean') return fallback\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = Number(window.getComputedStyle(el).getPropertyValue('z-index'))\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n }\n const num = Number(str)\n if (isNaN(num)) {\n return String(str)\n } else if (!isFinite(num)) {\n return undefined\n } else {\n return `${num}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is Record<string, any> {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isPlainObject (obj: any): obj is Record<string, any> {\n let proto\n return obj !== null && typeof obj === 'object' && (\n (proto = Object.getPrototypeOf(obj)) === Object.prototype ||\n proto === null\n )\n}\n\nexport function refElement (obj?: ComponentPublicInstance<any> | HTMLElement): HTMLElement | undefined {\n if (obj && '$el' in obj) {\n const el = obj.$el as HTMLElement\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling as HTMLElement\n }\n return el\n }\n return obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: readonly U[]): MaybePick<T, U> {\n const found: any = {}\n\n for (const key of paths) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n found[key] = obj[key]\n }\n }\n\n return found\n}\n\n// Array of keys\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nconst bubblingEvents = [\n 'onAfterscriptexecute',\n 'onAnimationcancel',\n 'onAnimationend',\n 'onAnimationiteration',\n 'onAnimationstart',\n 'onAuxclick',\n 'onBeforeinput',\n 'onBeforescriptexecute',\n 'onChange',\n 'onClick',\n 'onCompositionend',\n 'onCompositionstart',\n 'onCompositionupdate',\n 'onContextmenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onFocusin',\n 'onFocusout',\n 'onFullscreenchange',\n 'onFullscreenerror',\n 'onGesturechange',\n 'onGestureend',\n 'onGesturestart',\n 'onGotpointercapture',\n 'onInput',\n 'onKeydown',\n 'onKeypress',\n 'onKeyup',\n 'onLostpointercapture',\n 'onMousedown',\n 'onMousemove',\n 'onMouseout',\n 'onMouseover',\n 'onMouseup',\n 'onMousewheel',\n 'onPaste',\n 'onPointercancel',\n 'onPointerdown',\n 'onPointerenter',\n 'onPointerleave',\n 'onPointermove',\n 'onPointerout',\n 'onPointerover',\n 'onPointerup',\n 'onReset',\n 'onSelect',\n 'onSubmit',\n 'onTouchcancel',\n 'onTouchend',\n 'onTouchmove',\n 'onTouchstart',\n 'onTransitioncancel',\n 'onTransitionend',\n 'onTransitionrun',\n 'onTransitionstart',\n 'onWheel',\n]\n\nconst compositionIgnoreKeys = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowLeft',\n 'Enter',\n 'Escape',\n 'Tab',\n ' ',\n]\n\nexport function isComposingIgnoreKey (e: KeyboardEvent): boolean {\n return e.isComposing && compositionIgnoreKeys.includes(e.key)\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n const [events, props] = pickWithRest(attrs, [onRE])\n const inputEvents = omit(events, bubblingEvents)\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/])\n Object.assign(rootAttrs, events)\n Object.assign(inputAttrs, inputEvents)\n return [rootAttrs, inputAttrs]\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? [] as any\n : Array.isArray(v)\n ? v as any : [v] as any\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function debounce (fn: Function, delay: MaybeRef<number>) {\n let timeoutId = 0 as any\n const wrap = (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), unref(delay))\n }\n wrap.clear = () => {\n clearTimeout(timeoutId)\n }\n wrap.immediate = fn\n return wrap\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function chunkArray (array: any[], size = 1) {\n return Array.from({ length: Math.ceil(array.length / size) }, (v, i) =>\n array.slice(i * size, i * size + size)\n )\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent!)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n get isFull () {\n return this.#arr.length === this.size\n }\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n\n clear () {\n this.#arr.length = 0\n this.#pointer = 0\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\ntype ToReadonlyRefs<T> = { [K in keyof T]: Readonly<ToRef<T[K]>> }\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToReadonlyRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n watchEffect(() => {\n const base = getter()\n for (const key in base) {\n refs[key] = base[key]\n }\n }, { flush: 'sync' })\n const obj = {} as ToReadonlyRefs<T>\n for (const key in refs) {\n obj[key] = toRef(() => refs[key]) as any\n }\n return obj\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\n// TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025\nexport type EventProp<T extends any[] = any[], F = (...args: T) => void> = F\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | EventProp<T>[] | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element, filterByTabIndex = true) {\n const targets = [\n 'button',\n '[href]',\n 'input:not([type=\"hidden\"])',\n 'select',\n 'textarea',\n 'details:not(:has(> summary))',\n 'details > summary',\n '[tabindex]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'audio[controls]',\n 'video[controls]',\n ]\n .map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled], [inert])`)\n .join(', ')\n return ([...el.querySelectorAll(targets)] as HTMLElement[])\n .filter(x => !x.closest('[inert]')) // does not have inert parent\n .filter(x => !!x.offsetParent || x.getClientRects().length > 0) // is rendered\n .filter(x => !x.parentElement?.closest('details:not([open])') ||\n (x.tagName === 'SUMMARY' && x.parentElement?.tagName === 'DETAILS')\n )\n}\n\nexport function getNextElement (elements: HTMLElement[], location?: 'next' | 'prev', condition?: (el: HTMLElement) => boolean) {\n let _el\n let idx = elements.indexOf(document.activeElement as HTMLElement)\n const inc = location === 'next' ? 1 : -1\n do {\n idx += inc\n _el = elements[idx]\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0)\n return _el\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number) {\n const focusable = focusableChildren(el)\n\n if (location == null) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else if (typeof location === 'number') {\n focusable[location]?.focus()\n } else {\n const _el = getNextElement(focusable, location)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function isEmpty (val: any): boolean {\n return val === null || val === undefined || (typeof val === 'string' && val.trim() === '')\n}\n\nexport function noop () {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector (el: Element | undefined, selector: string): boolean | null {\n const supportsSelector = IN_BROWSER &&\n typeof CSS !== 'undefined' &&\n typeof CSS.supports !== 'undefined' &&\n CSS.supports(`selector(${selector})`)\n\n if (!supportsSelector) return null\n\n try {\n return !!el && el.matches(selector)\n } catch (err) {\n return null\n }\n}\n\nexport function ensureValidVNode (vnodes: VNodeArrayChildren): VNodeArrayChildren | null {\n return vnodes.some(child => {\n if (!isVNode(child)) return true\n if (child.type === Comment) return false\n return child.type !== Fragment ||\n ensureValidVNode(child.children as VNodeArrayChildren)\n })\n ? vnodes\n : null\n}\n\ntype Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild\n\nexport function renderSlot <T> (slot: Slot<never> | undefined, fallback?: Slot<never> | undefined): VNodeChild\nexport function renderSlot <T> (slot: Slot<T> | undefined, props: T, fallback?: Slot<T> | undefined): VNodeChild\nexport function renderSlot (slot?: Slot<unknown>, props?: unknown, fallback?: Slot<unknown>) {\n // TODO: check if slot returns elements: #18308\n return slot?.(props) ?? fallback?.(props)\n}\n\nexport function defer (timeout: number, cb: () => void) {\n if (!IN_BROWSER || timeout === 0) {\n cb()\n\n return () => {}\n }\n\n const timeoutId = window.setTimeout(cb, timeout)\n\n return () => window.clearTimeout(timeoutId)\n}\n\nexport function isClickInsideElement (event: MouseEvent, targetDiv: HTMLElement) {\n const mouseX = event.clientX\n const mouseY = event.clientY\n\n const divRect = targetDiv.getBoundingClientRect()\n const divLeft = divRect.left\n const divTop = divRect.top\n const divRight = divRect.right\n const divBottom = divRect.bottom\n\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom\n}\n\nexport type TemplateRef = {\n (target: Element | ComponentPublicInstance | null): void\n value: HTMLElement | ComponentPublicInstance | null | undefined\n readonly el: HTMLElement | undefined\n}\nexport function templateRef () {\n const el = shallowRef<HTMLElement | ComponentPublicInstance | null>()\n const fn = (target: HTMLElement | ComponentPublicInstance | null) => {\n el.value = target\n }\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val,\n })\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value),\n })\n\n return fn as TemplateRef\n}\n\nexport function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n}\n\nexport type Primitive = string | number | boolean | symbol | bigint\nexport function isPrimitive (value: unknown): value is Primitive {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint'\n}\n\nexport function escapeForRegex (sign: string) {\n return '\\\\^$*+?.()|{}[]'.includes(sign)\n ? `\\\\${sign}`\n : sign\n}\n\nexport function extractNumber (text: string, decimalDigitsLimit: number | null, decimalSeparator: string) {\n const onlyValidCharacters = new RegExp(`[\\\\d\\\\-${escapeForRegex(decimalSeparator)}]`)\n const cleanText = text.split('')\n .filter(x => onlyValidCharacters.test(x))\n .filter((x, i, all) => (i === 0 && /[-]/.test(x)) || // sign allowed at the start\n (x === decimalSeparator && i === all.indexOf(x)) || // decimal separator allowed only once\n /\\d/.test(x))\n .join('')\n\n if (decimalDigitsLimit === 0) {\n return cleanText.split(decimalSeparator)[0]\n }\n\n const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\\\d`)\n if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) {\n const parts = cleanText.split(decimalSeparator)\n return [\n parts[0],\n parts[1].substring(0, decimalDigitsLimit),\n ].join(decimalSeparator)\n }\n\n return cleanText\n}\n\nexport function camelizeProps<T extends Record<string, unknown>> (props: T | null): T {\n const out = {} as T\n for (const prop in props) {\n out[camelize(prop) as keyof T] = props[prop]\n }\n return out\n}\n\nexport function onlyDefinedProps (props: Record<string, any>) {\n const booleanAttributes = ['checked', 'disabled']\n return Object.fromEntries(Object.entries(props)\n .filter(([key, v]) => booleanAttributes.includes(key) ? !!v : v !== undefined))\n}\n\nexport type NonEmptyArray<T> = [T, ...T[]]\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["camelize","capitalize","Comment","Fragment","isVNode","reactive","shallowRef","toRef","unref","watchEffect","consoleError","IN_BROWSER","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","Number","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","num","isNaN","String","isFinite","isObject","isPlainObject","proto","getPrototypeOf","prototype","refElement","$el","TEXT_NODE","nextElementSibling","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","found","call","pickWithRest","exclude","create","rest","some","RegExp","test","omit","clone","forEach","prop","onRE","isOn","bubblingEvents","compositionIgnoreKeys","isComposingIgnoreKey","e","isComposing","includes","filterInputAttrs","attrs","events","inputEvents","rootAttrs","inputAttrs","assign","arrayDiff","diff","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","debounce","fn","delay","timeoutId","wrap","_len","args","_key","clearTimeout","setTimeout","clear","immediate","throttle","options","leading","trailing","lastExec","throttling","_len2","_key2","now","elapsed","clamp","min","max","Math","getDecimals","trimmedStr","trim","padEnd","char","repeat","padStart","chunk","size","chunked","substr","chunkArray","array","ceil","slice","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","flattenFragments","nodes","map","node","type","children","flat","toKebabCase","cache","get","kebab","toLowerCase","set","Map","findChildrenWithProvide","vnode","child","suspense","ssContent","component","getOwnPropertySymbols","provides","subTree","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","isFull","_classPrivateFieldGet","val","_classPrivateFieldSet","values","concat","getEventCoordinates","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","eventName","propName","EventProp","Function","hasEvent","name","callEvent","handler","_len3","_key3","h","focusableChildren","filterByTabIndex","targets","s","join","elements","querySelectorAll","err","filter","x","closest","offsetParent","getClientRects","parentElement","tagName","getNextElement","location","condition","_el","idx","document","activeElement","inc","focusChild","focusable","contains","focus","at","isEmpty","noop","matchesSelector","selector","supportsSelector","CSS","supports","matches","ensureValidVNode","vnodes","renderSlot","slot","defer","timeout","cb","isClickInsideElement","event","targetDiv","mouseX","mouseY","divRect","getBoundingClientRect","divLeft","divTop","top","divRight","divBottom","bottom","templateRef","defineProperty","enumerable","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","isPrimitive","escapeForRegex","sign","extractNumber","text","decimalDigitsLimit","decimalSeparator","onlyValidCharacters","cleanText","all","decimalPart","parts","substring","camelizeProps","onlyDefinedProps","booleanAttributes","fromEntries","entries","_ref"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport {\n camelize,\n capitalize,\n Comment,\n Fragment,\n isVNode,\n reactive,\n shallowRef,\n toRef,\n unref,\n watchEffect,\n} from 'vue'\nimport { consoleError } from '@/util/console'\nimport { IN_BROWSER } from '@/util/globals'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n ToRef,\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path?: string | null, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey<T = Record<string, any>> =\n | boolean | null | undefined // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | readonly (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: T, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property === true) return item === undefined ? fallback : item\n\n if (property == null || typeof property === 'boolean') return fallback\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = Number(window.getComputedStyle(el).getPropertyValue('z-index'))\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n }\n const num = Number(str)\n if (isNaN(num)) {\n return String(str)\n } else if (!isFinite(num)) {\n return undefined\n } else {\n return `${num}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is Record<string, any> {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isPlainObject (obj: any): obj is Record<string, any> {\n let proto\n return obj !== null && typeof obj === 'object' && (\n (proto = Object.getPrototypeOf(obj)) === Object.prototype ||\n proto === null\n )\n}\n\nexport function refElement (obj?: ComponentPublicInstance<any> | HTMLElement): HTMLElement | undefined {\n if (obj && '$el' in obj) {\n const el = obj.$el as HTMLElement\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling as HTMLElement\n }\n return el\n }\n return obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: readonly U[]): MaybePick<T, U> {\n const found: any = {}\n\n for (const key of paths) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n found[key] = obj[key]\n }\n }\n\n return found\n}\n\n// Array of keys\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nconst bubblingEvents = [\n 'onAfterscriptexecute',\n 'onAnimationcancel',\n 'onAnimationend',\n 'onAnimationiteration',\n 'onAnimationstart',\n 'onAuxclick',\n 'onBeforeinput',\n 'onBeforescriptexecute',\n 'onChange',\n 'onClick',\n 'onCompositionend',\n 'onCompositionstart',\n 'onCompositionupdate',\n 'onContextmenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onFocusin',\n 'onFocusout',\n 'onFullscreenchange',\n 'onFullscreenerror',\n 'onGesturechange',\n 'onGestureend',\n 'onGesturestart',\n 'onGotpointercapture',\n 'onInput',\n 'onKeydown',\n 'onKeypress',\n 'onKeyup',\n 'onLostpointercapture',\n 'onMousedown',\n 'onMousemove',\n 'onMouseout',\n 'onMouseover',\n 'onMouseup',\n 'onMousewheel',\n 'onPaste',\n 'onPointercancel',\n 'onPointerdown',\n 'onPointerenter',\n 'onPointerleave',\n 'onPointermove',\n 'onPointerout',\n 'onPointerover',\n 'onPointerup',\n 'onReset',\n 'onSelect',\n 'onSubmit',\n 'onTouchcancel',\n 'onTouchend',\n 'onTouchmove',\n 'onTouchstart',\n 'onTransitioncancel',\n 'onTransitionend',\n 'onTransitionrun',\n 'onTransitionstart',\n 'onWheel',\n]\n\nconst compositionIgnoreKeys = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowLeft',\n 'Enter',\n 'Escape',\n 'Tab',\n ' ',\n]\n\nexport function isComposingIgnoreKey (e: KeyboardEvent): boolean {\n return e.isComposing && compositionIgnoreKeys.includes(e.key)\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n const [events, props] = pickWithRest(attrs, [onRE])\n const inputEvents = omit(events, bubblingEvents)\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/])\n Object.assign(rootAttrs, events)\n Object.assign(inputAttrs, inputEvents)\n return [rootAttrs, inputAttrs]\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? [] as any\n : Array.isArray(v)\n ? v as any : [v] as any\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function debounce (fn: Function, delay: MaybeRef<number>) {\n let timeoutId = 0 as any\n const wrap = (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), unref(delay))\n }\n wrap.clear = () => {\n clearTimeout(timeoutId)\n }\n wrap.immediate = fn\n return wrap\n}\n\nexport function throttle<T extends (...args: any[]) => any> (\n fn: T,\n delay: number,\n options = { leading: true, trailing: true },\n) {\n let timeoutId = 0\n let lastExec = 0\n let throttling = false\n\n const wrap = (...args: Parameters<T>): void | ReturnType<T> => {\n clearTimeout(timeoutId)\n const now = Date.now()\n const elapsed = now - lastExec\n\n if (!throttling || elapsed >= delay) {\n lastExec = now\n }\n if ((!throttling && options.leading) || elapsed >= delay) {\n window.setTimeout(() => fn(...args)) // ignore 'fn' executin errors\n }\n\n throttling = true\n timeoutId = window.setTimeout(() => {\n throttling = false\n if (options.trailing) {\n fn(...args)\n }\n }, delay)\n }\n\n wrap.clear = () => clearTimeout(timeoutId)\n wrap.immediate = fn\n return wrap\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function chunkArray (array: any[], size = 1) {\n return Array.from({ length: Math.ceil(array.length / size) }, (v, i) =>\n array.slice(i * size, i * size + size)\n )\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent!)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n get isFull () {\n return this.#arr.length === this.size\n }\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n\n clear () {\n this.#arr.length = 0\n this.#pointer = 0\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\ntype ToReadonlyRefs<T> = { [K in keyof T]: Readonly<ToRef<T[K]>> }\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToReadonlyRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n watchEffect(() => {\n const base = getter()\n for (const key in base) {\n refs[key] = base[key]\n }\n }, { flush: 'sync' })\n const obj = {} as ToReadonlyRefs<T>\n for (const key in refs) {\n obj[key] = toRef(() => refs[key]) as any\n }\n return obj\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\n// TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025\nexport type EventProp<T extends any[] = any[], F = (...args: T) => void> = F\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | EventProp<T>[] | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element, filterByTabIndex = true) {\n const targets = [\n 'button',\n '[href]',\n 'input:not([type=\"hidden\"])',\n 'select',\n 'textarea',\n 'details:not(:has(> summary))',\n 'details > summary',\n '[tabindex]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'audio[controls]',\n 'video[controls]',\n ]\n .map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled], [inert])`)\n .join(', ')\n\n let elements\n try {\n elements = [...el.querySelectorAll(targets)] as HTMLElement[]\n } catch (err) {\n consoleError(String(err))\n return []\n }\n\n return elements\n .filter(x => !x.closest('[inert]')) // does not have inert parent\n .filter(x => !!x.offsetParent || x.getClientRects().length > 0) // is rendered\n .filter(x => !x.parentElement?.closest('details:not([open])') ||\n (x.tagName === 'SUMMARY' && x.parentElement?.tagName === 'DETAILS')\n )\n}\n\nexport function getNextElement (elements: HTMLElement[], location?: 'next' | 'prev', condition?: (el: HTMLElement) => boolean) {\n let _el\n let idx = elements.indexOf(document.activeElement as HTMLElement)\n const inc = location === 'next' ? 1 : -1\n do {\n idx += inc\n _el = elements[idx]\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0)\n return _el\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number) {\n const focusable = focusableChildren(el)\n\n if (location == null) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else if (typeof location === 'number') {\n focusable[location]?.focus()\n } else {\n const _el = getNextElement(focusable, location)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function isEmpty (val: any): boolean {\n return val === null || val === undefined || (typeof val === 'string' && val.trim() === '')\n}\n\nexport function noop () {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector (el: Element | undefined, selector: string): boolean | null {\n const supportsSelector = IN_BROWSER &&\n typeof CSS !== 'undefined' &&\n typeof CSS.supports !== 'undefined' &&\n CSS.supports(`selector(${selector})`)\n\n if (!supportsSelector) return null\n\n try {\n return !!el && el.matches(selector)\n } catch (err) {\n return null\n }\n}\n\nexport function ensureValidVNode (vnodes: VNodeArrayChildren): VNodeArrayChildren | null {\n return vnodes.some(child => {\n if (!isVNode(child)) return true\n if (child.type === Comment) return false\n return child.type !== Fragment ||\n ensureValidVNode(child.children as VNodeArrayChildren)\n })\n ? vnodes\n : null\n}\n\ntype Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild\n\nexport function renderSlot <T> (slot: Slot<never> | undefined, fallback?: Slot<never> | undefined): VNodeChild\nexport function renderSlot <T> (slot: Slot<T> | undefined, props: T, fallback?: Slot<T> | undefined): VNodeChild\nexport function renderSlot (slot?: Slot<unknown>, props?: unknown, fallback?: Slot<unknown>) {\n // TODO: check if slot returns elements: #18308\n return slot?.(props) ?? fallback?.(props)\n}\n\nexport function defer (timeout: number, cb: () => void) {\n if (!IN_BROWSER || timeout === 0) {\n cb()\n\n return () => {}\n }\n\n const timeoutId = window.setTimeout(cb, timeout)\n\n return () => window.clearTimeout(timeoutId)\n}\n\nexport function isClickInsideElement (event: MouseEvent, targetDiv: HTMLElement) {\n const mouseX = event.clientX\n const mouseY = event.clientY\n\n const divRect = targetDiv.getBoundingClientRect()\n const divLeft = divRect.left\n const divTop = divRect.top\n const divRight = divRect.right\n const divBottom = divRect.bottom\n\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom\n}\n\nexport type TemplateRef = {\n (target: Element | ComponentPublicInstance | null): void\n value: HTMLElement | ComponentPublicInstance | null | undefined\n readonly el: HTMLElement | undefined\n}\nexport function templateRef () {\n const el = shallowRef<HTMLElement | ComponentPublicInstance | null>()\n const fn = (target: HTMLElement | ComponentPublicInstance | null) => {\n el.value = target\n }\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val,\n })\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value),\n })\n\n return fn as TemplateRef\n}\n\nexport function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n}\n\nexport type Primitive = string | number | boolean | symbol | bigint\nexport function isPrimitive (value: unknown): value is Primitive {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint'\n}\n\nexport function escapeForRegex (sign: string) {\n return '\\\\^$*+?.()|{}[]'.includes(sign)\n ? `\\\\${sign}`\n : sign\n}\n\nexport function extractNumber (text: string, decimalDigitsLimit: number | null, decimalSeparator: string) {\n const onlyValidCharacters = new RegExp(`[\\\\d\\\\-${escapeForRegex(decimalSeparator)}]`)\n const cleanText = text.split('')\n .filter(x => onlyValidCharacters.test(x))\n .filter((x, i, all) => (i === 0 && /[-]/.test(x)) || // sign allowed at the start\n (x === decimalSeparator && i === all.indexOf(x)) || // decimal separator allowed only once\n /\\d/.test(x))\n .join('')\n\n if (decimalDigitsLimit === 0) {\n return cleanText.split(decimalSeparator)[0]\n }\n\n const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\\\d`)\n if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) {\n const parts = cleanText.split(decimalSeparator)\n return [\n parts[0],\n parts[1].substring(0, decimalDigitsLimit),\n ].join(decimalSeparator)\n }\n\n return cleanText\n}\n\nexport function camelizeProps<T extends Record<string, unknown>> (props: T | null): T {\n const out = {} as T\n for (const prop in props) {\n out[camelize(prop) as keyof T] = props[prop]\n }\n return out\n}\n\nexport function onlyDefinedProps (props: Record<string, any>) {\n const booleanAttributes = ['checked', 'disabled']\n return Object.fromEntries(Object.entries(props)\n .filter(([key, v]) => booleanAttributes.includes(key) ? !!v : v !== undefined))\n}\n\nexport type NonEmptyArray<T> = [T, ...T[]]\n"],"mappings":"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","ignoreList":[]}
|