vuetify 3.6.12 → 3.6.13
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/json/attributes.json +30 -22
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +140 -140
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +53 -42
- package/dist/vuetify-labs.css +1513 -1515
- package/dist/vuetify-labs.d.ts +287 -178
- package/dist/vuetify-labs.esm.js +59 -28
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +59 -28
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +858 -860
- package/dist/vuetify.d.ts +322 -233
- package/dist/vuetify.esm.js +51 -24
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +51 -24
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +40 -40
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.mts +6 -6
- package/lib/components/VAutocomplete/index.d.mts +12 -6
- package/lib/components/VBtn/VBtn.css +3 -0
- package/lib/components/VBtn/VBtn.sass +3 -0
- package/lib/components/VCheckbox/index.d.mts +8 -2
- package/lib/components/VCombobox/index.d.mts +12 -6
- package/lib/components/VDataIterator/index.d.mts +1 -0
- package/lib/components/VDataTable/VDataTable.mjs +10 -3
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +6 -2
- package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +10 -3
- package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/components/VDataTable/composables/group.mjs +2 -1
- package/lib/components/VDataTable/composables/group.mjs.map +1 -1
- package/lib/components/VDataTable/composables/sort.mjs +4 -4
- package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +22 -21
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -0
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VField/VField.css +6 -11
- package/lib/components/VField/VField.mjs +7 -5
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -6
- package/lib/components/VField/index.d.mts +12 -6
- package/lib/components/VFileInput/index.d.mts +12 -6
- package/lib/components/VInput/VInput.css +5 -5
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +1 -1
- package/lib/components/VInput/index.d.mts +8 -2
- package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +8 -2
- package/lib/components/VRangeSlider/index.d.mts +8 -2
- package/lib/components/VSelect/index.d.mts +12 -6
- package/lib/components/VSlider/index.d.mts +8 -2
- package/lib/components/VSwitch/index.d.mts +8 -2
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.mts +24 -18
- package/lib/components/VTextarea/VTextarea.mjs +5 -5
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.mts +87 -72
- package/lib/components/index.d.mts +247 -159
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +75 -74
- package/lib/labs/VDateInput/VDateInput.mjs +6 -3
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +12 -6
- package/lib/labs/VNumberInput/index.d.mts +12 -6
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/labs/VTimePicker/index.d.mts +16 -7
- package/lib/labs/components.d.mts +40 -19
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VAppBar.mjs","names":["makeVToolbarProps","VToolbar","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeScrollProps","useScroll","useSsrBoot","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","genericComponent","propsFactory","useRender","makeVAppBarProps","scrollBehavior","String","modelValue","type","Boolean","default","location","validator","value","includes","height","Number","VAppBar","name","props","emits","setup","_ref","slots","vToolbarRef","isActive","behavior","Set","split","hide","has","fullyHide","inverted","collapse","elevate","fadeImage","canScroll","currentScroll","scrollThreshold","isScrollingUp","scrollRatio","canHide","isCollapsed","isFlat","flat","opacity","undefined","contentHeight","extensionHeight","ssrBootStyles","layoutItemStyles","layoutIsReady","id","order","parseInt","position","layoutSize","elementSize","active","absolute","toolbarProps","filterProps","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VAppBar/VAppBar.tsx"],"sourcesContent":["// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeScrollProps, useScroll } from '@/composables/scroll'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VToolbarSlots } from '@/components/VToolbar/VToolbar'\n\nexport const makeVAppBarProps = propsFactory({\n scrollBehavior: String as PropType<'hide' | 'inverted' | 'collapse' | 'elevate' | 'fade-image' | (string & {})>,\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n}, 'VAppBar')\n\nexport const VAppBar = genericComponent<VToolbarSlots>()({\n name: 'VAppBar',\n\n props: makeVAppBarProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref<VToolbar>()\n const isActive = useProxiedModel(props, 'modelValue')\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? [])\n return {\n hide: behavior.has('hide'),\n fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image'),\n // shrink: behavior.has('shrink'),\n }\n })\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value\n return (\n behavior.hide ||\n behavior.fullyHide ||\n behavior.inverted ||\n behavior.collapse ||\n behavior.elevate ||\n behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value\n )\n })\n const {\n currentScroll,\n scrollThreshold,\n isScrollingUp,\n scrollRatio,\n } = useScroll(props, { canScroll })\n\n const canHide = computed(() => (\n scrollBehavior.value.hide ||\n scrollBehavior.value.fullyHide\n ))\n const isCollapsed = computed(() => props.collapse || (\n scrollBehavior.value.collapse &&\n (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0)\n ))\n const isFlat = computed(() => props.flat || (\n scrollBehavior.value.fullyHide &&\n !isActive.value\n ) || (\n scrollBehavior.value.elevate &&\n (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0)\n ))\n const opacity = computed(() => (\n scrollBehavior.value.fadeImage\n ? (scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value)\n : undefined\n ))\n const height = computed(() => {\n const height = Number(vToolbarRef.value?.contentHeight ?? props.height)\n const extensionHeight = Number(vToolbarRef.value?.extensionHeight ?? 0)\n\n if (!canHide.value) return (height + extensionHeight)\n\n return currentScroll.value < scrollThreshold.value || scrollBehavior.value.fullyHide\n ? (height + extensionHeight)\n : height\n })\n\n useToggleScope(computed(() => !!props.scrollBehavior), () => {\n watchEffect(() => {\n if (canHide.value) {\n if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value > scrollThreshold.value\n } else {\n isActive.value = isScrollingUp.value || (currentScroll.value < scrollThreshold.value)\n }\n } else {\n isActive.value = true\n }\n })\n })\n\n const { ssrBootStyles } = useSsrBoot()\n const { layoutItemStyles, layoutIsReady } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: shallowRef(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const toolbarProps = VToolbar.filterProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.location === 'bottom',\n },\n props.class,\n ]}\n style={[\n {\n ...layoutItemStyles.value,\n '--v-toolbar-image-opacity': opacity.value,\n height: undefined,\n ...ssrBootStyles.value,\n },\n props.style,\n ]}\n { ...toolbarProps }\n collapse={ isCollapsed.value }\n flat={ isFlat.value }\n v-slots={ slots }\n />\n )\n })\n\n return layoutIsReady\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VAppBar.mjs","names":["makeVToolbarProps","VToolbar","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeScrollProps","useScroll","useSsrBoot","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","genericComponent","propsFactory","useRender","makeVAppBarProps","scrollBehavior","String","modelValue","type","Boolean","default","location","validator","value","includes","height","Number","VAppBar","name","props","emits","setup","_ref","slots","vToolbarRef","isActive","behavior","Set","split","hide","has","fullyHide","inverted","collapse","elevate","fadeImage","canScroll","currentScroll","scrollThreshold","isScrollingUp","scrollRatio","canHide","isCollapsed","isFlat","flat","opacity","undefined","contentHeight","extensionHeight","ssrBootStyles","layoutItemStyles","layoutIsReady","id","order","parseInt","position","layoutSize","elementSize","active","absolute","toolbarProps","filterProps","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VAppBar/VAppBar.tsx"],"sourcesContent":["// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeScrollProps, useScroll } from '@/composables/scroll'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VToolbarSlots } from '@/components/VToolbar/VToolbar'\n\nexport const makeVAppBarProps = propsFactory({\n scrollBehavior: String as PropType<'hide' | 'fully-hide' | 'inverted' | 'collapse' | 'elevate' | 'fade-image' | (string & {})>,\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n}, 'VAppBar')\n\nexport const VAppBar = genericComponent<VToolbarSlots>()({\n name: 'VAppBar',\n\n props: makeVAppBarProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref<VToolbar>()\n const isActive = useProxiedModel(props, 'modelValue')\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? [])\n return {\n hide: behavior.has('hide'),\n fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image'),\n // shrink: behavior.has('shrink'),\n }\n })\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value\n return (\n behavior.hide ||\n behavior.fullyHide ||\n behavior.inverted ||\n behavior.collapse ||\n behavior.elevate ||\n behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value\n )\n })\n const {\n currentScroll,\n scrollThreshold,\n isScrollingUp,\n scrollRatio,\n } = useScroll(props, { canScroll })\n\n const canHide = computed(() => (\n scrollBehavior.value.hide ||\n scrollBehavior.value.fullyHide\n ))\n const isCollapsed = computed(() => props.collapse || (\n scrollBehavior.value.collapse &&\n (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0)\n ))\n const isFlat = computed(() => props.flat || (\n scrollBehavior.value.fullyHide &&\n !isActive.value\n ) || (\n scrollBehavior.value.elevate &&\n (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0)\n ))\n const opacity = computed(() => (\n scrollBehavior.value.fadeImage\n ? (scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value)\n : undefined\n ))\n const height = computed(() => {\n const height = Number(vToolbarRef.value?.contentHeight ?? props.height)\n const extensionHeight = Number(vToolbarRef.value?.extensionHeight ?? 0)\n\n if (!canHide.value) return (height + extensionHeight)\n\n return currentScroll.value < scrollThreshold.value || scrollBehavior.value.fullyHide\n ? (height + extensionHeight)\n : height\n })\n\n useToggleScope(computed(() => !!props.scrollBehavior), () => {\n watchEffect(() => {\n if (canHide.value) {\n if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value > scrollThreshold.value\n } else {\n isActive.value = isScrollingUp.value || (currentScroll.value < scrollThreshold.value)\n }\n } else {\n isActive.value = true\n }\n })\n })\n\n const { ssrBootStyles } = useSsrBoot()\n const { layoutItemStyles, layoutIsReady } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: shallowRef(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const toolbarProps = VToolbar.filterProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.location === 'bottom',\n },\n props.class,\n ]}\n style={[\n {\n ...layoutItemStyles.value,\n '--v-toolbar-image-opacity': opacity.value,\n height: undefined,\n ...ssrBootStyles.value,\n },\n props.style,\n ]}\n { ...toolbarProps }\n collapse={ isCollapsed.value }\n flat={ isFlat.value }\n v-slots={ slots }\n />\n )\n })\n\n return layoutIsReady\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,7 +43,7 @@ declare const VAppBar: {
|
|
|
43
43
|
rounded?: string | number | boolean | undefined;
|
|
44
44
|
elevation?: string | number | undefined;
|
|
45
45
|
scrollTarget?: string | undefined;
|
|
46
|
-
scrollBehavior?: (string & {}) | "collapse" | "hide" | "inverted" | "elevate" | "fade-image" | undefined;
|
|
46
|
+
scrollBehavior?: (string & {}) | "collapse" | "hide" | "fully-hide" | "inverted" | "elevate" | "fade-image" | undefined;
|
|
47
47
|
} & {
|
|
48
48
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
49
49
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -99,7 +99,7 @@ declare const VAppBar: {
|
|
|
99
99
|
rounded?: string | number | boolean | undefined;
|
|
100
100
|
elevation?: string | number | undefined;
|
|
101
101
|
scrollTarget?: string | undefined;
|
|
102
|
-
scrollBehavior?: (string & {}) | "collapse" | "hide" | "inverted" | "elevate" | "fade-image" | undefined;
|
|
102
|
+
scrollBehavior?: (string & {}) | "collapse" | "hide" | "fully-hide" | "inverted" | "elevate" | "fade-image" | undefined;
|
|
103
103
|
} & {
|
|
104
104
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
105
105
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -196,7 +196,7 @@ declare const VAppBar: {
|
|
|
196
196
|
rounded?: string | number | boolean | undefined;
|
|
197
197
|
elevation?: string | number | undefined;
|
|
198
198
|
scrollTarget?: string | undefined;
|
|
199
|
-
scrollBehavior?: (string & {}) | "collapse" | "hide" | "inverted" | "elevate" | "fade-image" | undefined;
|
|
199
|
+
scrollBehavior?: (string & {}) | "collapse" | "hide" | "fully-hide" | "inverted" | "elevate" | "fade-image" | undefined;
|
|
200
200
|
} & {
|
|
201
201
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
202
202
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -271,7 +271,7 @@ declare const VAppBar: {
|
|
|
271
271
|
rounded?: string | number | boolean | undefined;
|
|
272
272
|
elevation?: string | number | undefined;
|
|
273
273
|
scrollTarget?: string | undefined;
|
|
274
|
-
scrollBehavior?: (string & {}) | "collapse" | "hide" | "inverted" | "elevate" | "fade-image" | undefined;
|
|
274
|
+
scrollBehavior?: (string & {}) | "collapse" | "hide" | "fully-hide" | "inverted" | "elevate" | "fade-image" | undefined;
|
|
275
275
|
} & {
|
|
276
276
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
277
277
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -395,7 +395,7 @@ declare const VAppBar: {
|
|
|
395
395
|
floating: BooleanConstructor;
|
|
396
396
|
image: StringConstructor;
|
|
397
397
|
title: StringConstructor;
|
|
398
|
-
scrollBehavior: PropType<(string & {}) | "collapse" | "hide" | "inverted" | "elevate" | "fade-image">;
|
|
398
|
+
scrollBehavior: PropType<(string & {}) | "collapse" | "hide" | "fully-hide" | "inverted" | "elevate" | "fade-image">;
|
|
399
399
|
modelValue: {
|
|
400
400
|
type: BooleanConstructor;
|
|
401
401
|
default: boolean;
|
|
@@ -464,7 +464,7 @@ declare const VAppBar: {
|
|
|
464
464
|
floating: BooleanConstructor;
|
|
465
465
|
image: StringConstructor;
|
|
466
466
|
title: StringConstructor;
|
|
467
|
-
scrollBehavior: PropType<(string & {}) | "collapse" | "hide" | "inverted" | "elevate" | "fade-image">;
|
|
467
|
+
scrollBehavior: PropType<(string & {}) | "collapse" | "hide" | "fully-hide" | "inverted" | "elevate" | "fade-image">;
|
|
468
468
|
modelValue: {
|
|
469
469
|
type: BooleanConstructor;
|
|
470
470
|
default: boolean;
|
|
@@ -308,7 +308,6 @@ declare const VAutocomplete: {
|
|
|
308
308
|
direction: "horizontal" | "vertical";
|
|
309
309
|
valueComparator: typeof deepEqual;
|
|
310
310
|
clearIcon: IconValue;
|
|
311
|
-
centerAffix: boolean;
|
|
312
311
|
hideSpinButtons: boolean;
|
|
313
312
|
persistentHint: boolean;
|
|
314
313
|
filterMode: FilterMode;
|
|
@@ -358,6 +357,7 @@ declare const VAutocomplete: {
|
|
|
358
357
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
|
359
358
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
360
359
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
360
|
+
centerAffix?: boolean | undefined;
|
|
361
361
|
hint?: string | undefined;
|
|
362
362
|
hideDetails?: boolean | "auto" | undefined;
|
|
363
363
|
customFilter?: FilterFunction | undefined;
|
|
@@ -848,7 +848,6 @@ declare const VAutocomplete: {
|
|
|
848
848
|
direction: "horizontal" | "vertical";
|
|
849
849
|
valueComparator: typeof deepEqual;
|
|
850
850
|
clearIcon: IconValue;
|
|
851
|
-
centerAffix: boolean;
|
|
852
851
|
hideSpinButtons: boolean;
|
|
853
852
|
persistentHint: boolean;
|
|
854
853
|
filterMode: FilterMode;
|
|
@@ -898,6 +897,7 @@ declare const VAutocomplete: {
|
|
|
898
897
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
|
899
898
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
900
899
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
900
|
+
centerAffix?: boolean | undefined;
|
|
901
901
|
hint?: string | undefined;
|
|
902
902
|
hideDetails?: boolean | "auto" | undefined;
|
|
903
903
|
customFilter?: FilterFunction | undefined;
|
|
@@ -1502,7 +1502,6 @@ declare const VAutocomplete: {
|
|
|
1502
1502
|
direction: "horizontal" | "vertical";
|
|
1503
1503
|
valueComparator: typeof deepEqual;
|
|
1504
1504
|
clearIcon: IconValue;
|
|
1505
|
-
centerAffix: boolean;
|
|
1506
1505
|
hideSpinButtons: boolean;
|
|
1507
1506
|
persistentHint: boolean;
|
|
1508
1507
|
filterMode: FilterMode;
|
|
@@ -1552,6 +1551,7 @@ declare const VAutocomplete: {
|
|
|
1552
1551
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
|
1553
1552
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
1554
1553
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
1554
|
+
centerAffix?: boolean | undefined;
|
|
1555
1555
|
hint?: string | undefined;
|
|
1556
1556
|
hideDetails?: boolean | "auto" | undefined;
|
|
1557
1557
|
customFilter?: FilterFunction | undefined;
|
|
@@ -2091,7 +2091,6 @@ declare const VAutocomplete: {
|
|
|
2091
2091
|
direction: "horizontal" | "vertical";
|
|
2092
2092
|
valueComparator: typeof deepEqual;
|
|
2093
2093
|
clearIcon: IconValue;
|
|
2094
|
-
centerAffix: boolean;
|
|
2095
2094
|
hideSpinButtons: boolean;
|
|
2096
2095
|
persistentHint: boolean;
|
|
2097
2096
|
filterMode: FilterMode;
|
|
@@ -2141,6 +2140,7 @@ declare const VAutocomplete: {
|
|
|
2141
2140
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
|
2142
2141
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
2143
2142
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
2143
|
+
centerAffix?: boolean | undefined;
|
|
2144
2144
|
hint?: string | undefined;
|
|
2145
2145
|
hideDetails?: boolean | "auto" | undefined;
|
|
2146
2146
|
customFilter?: FilterFunction | undefined;
|
|
@@ -2879,7 +2879,10 @@ declare const VAutocomplete: {
|
|
|
2879
2879
|
'onClick:append': PropType<(args_0: MouseEvent) => void>;
|
|
2880
2880
|
'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
|
|
2881
2881
|
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
|
|
2882
|
-
centerAffix:
|
|
2882
|
+
centerAffix: {
|
|
2883
|
+
type: BooleanConstructor;
|
|
2884
|
+
default: undefined;
|
|
2885
|
+
};
|
|
2883
2886
|
hideSpinButtons: BooleanConstructor;
|
|
2884
2887
|
hint: StringConstructor;
|
|
2885
2888
|
persistentHint: BooleanConstructor;
|
|
@@ -3520,7 +3523,10 @@ declare const VAutocomplete: {
|
|
|
3520
3523
|
'onClick:append': PropType<(args_0: MouseEvent) => void>;
|
|
3521
3524
|
'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
|
|
3522
3525
|
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
|
|
3523
|
-
centerAffix:
|
|
3526
|
+
centerAffix: {
|
|
3527
|
+
type: BooleanConstructor;
|
|
3528
|
+
default: undefined;
|
|
3529
|
+
};
|
|
3524
3530
|
hideSpinButtons: BooleanConstructor;
|
|
3525
3531
|
hint: StringConstructor;
|
|
3526
3532
|
persistentHint: BooleanConstructor;
|
|
@@ -527,7 +527,10 @@ declare const VCheckbox: {
|
|
|
527
527
|
maxWidth: (StringConstructor | NumberConstructor)[];
|
|
528
528
|
minWidth: (StringConstructor | NumberConstructor)[];
|
|
529
529
|
appendIcon: vue.PropType<IconValue>;
|
|
530
|
-
centerAffix:
|
|
530
|
+
centerAffix: {
|
|
531
|
+
type: BooleanConstructor;
|
|
532
|
+
default: boolean;
|
|
533
|
+
};
|
|
531
534
|
prependIcon: vue.PropType<IconValue>;
|
|
532
535
|
hideDetails: vue.PropType<boolean | "auto">;
|
|
533
536
|
hideSpinButtons: BooleanConstructor;
|
|
@@ -623,7 +626,10 @@ declare const VCheckbox: {
|
|
|
623
626
|
maxWidth: (StringConstructor | NumberConstructor)[];
|
|
624
627
|
minWidth: (StringConstructor | NumberConstructor)[];
|
|
625
628
|
appendIcon: vue.PropType<IconValue>;
|
|
626
|
-
centerAffix:
|
|
629
|
+
centerAffix: {
|
|
630
|
+
type: BooleanConstructor;
|
|
631
|
+
default: boolean;
|
|
632
|
+
};
|
|
627
633
|
prependIcon: vue.PropType<IconValue>;
|
|
628
634
|
hideDetails: vue.PropType<boolean | "auto">;
|
|
629
635
|
hideSpinButtons: BooleanConstructor;
|
|
@@ -308,7 +308,6 @@ declare const VCombobox: {
|
|
|
308
308
|
direction: "horizontal" | "vertical";
|
|
309
309
|
valueComparator: typeof deepEqual;
|
|
310
310
|
clearIcon: IconValue;
|
|
311
|
-
centerAffix: boolean;
|
|
312
311
|
hideSpinButtons: boolean;
|
|
313
312
|
persistentHint: boolean;
|
|
314
313
|
filterMode: FilterMode;
|
|
@@ -358,6 +357,7 @@ declare const VCombobox: {
|
|
|
358
357
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
|
359
358
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
360
359
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
360
|
+
centerAffix?: boolean | undefined;
|
|
361
361
|
hint?: string | undefined;
|
|
362
362
|
hideDetails?: boolean | "auto" | undefined;
|
|
363
363
|
customFilter?: FilterFunction | undefined;
|
|
@@ -848,7 +848,6 @@ declare const VCombobox: {
|
|
|
848
848
|
direction: "horizontal" | "vertical";
|
|
849
849
|
valueComparator: typeof deepEqual;
|
|
850
850
|
clearIcon: IconValue;
|
|
851
|
-
centerAffix: boolean;
|
|
852
851
|
hideSpinButtons: boolean;
|
|
853
852
|
persistentHint: boolean;
|
|
854
853
|
filterMode: FilterMode;
|
|
@@ -898,6 +897,7 @@ declare const VCombobox: {
|
|
|
898
897
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
|
899
898
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
900
899
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
900
|
+
centerAffix?: boolean | undefined;
|
|
901
901
|
hint?: string | undefined;
|
|
902
902
|
hideDetails?: boolean | "auto" | undefined;
|
|
903
903
|
customFilter?: FilterFunction | undefined;
|
|
@@ -1502,7 +1502,6 @@ declare const VCombobox: {
|
|
|
1502
1502
|
direction: "horizontal" | "vertical";
|
|
1503
1503
|
valueComparator: typeof deepEqual;
|
|
1504
1504
|
clearIcon: IconValue;
|
|
1505
|
-
centerAffix: boolean;
|
|
1506
1505
|
hideSpinButtons: boolean;
|
|
1507
1506
|
persistentHint: boolean;
|
|
1508
1507
|
filterMode: FilterMode;
|
|
@@ -1552,6 +1551,7 @@ declare const VCombobox: {
|
|
|
1552
1551
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
|
1553
1552
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
1554
1553
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
1554
|
+
centerAffix?: boolean | undefined;
|
|
1555
1555
|
hint?: string | undefined;
|
|
1556
1556
|
hideDetails?: boolean | "auto" | undefined;
|
|
1557
1557
|
customFilter?: FilterFunction | undefined;
|
|
@@ -2091,7 +2091,6 @@ declare const VCombobox: {
|
|
|
2091
2091
|
direction: "horizontal" | "vertical";
|
|
2092
2092
|
valueComparator: typeof deepEqual;
|
|
2093
2093
|
clearIcon: IconValue;
|
|
2094
|
-
centerAffix: boolean;
|
|
2095
2094
|
hideSpinButtons: boolean;
|
|
2096
2095
|
persistentHint: boolean;
|
|
2097
2096
|
filterMode: FilterMode;
|
|
@@ -2141,6 +2140,7 @@ declare const VCombobox: {
|
|
|
2141
2140
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
|
2142
2141
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
2143
2142
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
|
2143
|
+
centerAffix?: boolean | undefined;
|
|
2144
2144
|
hint?: string | undefined;
|
|
2145
2145
|
hideDetails?: boolean | "auto" | undefined;
|
|
2146
2146
|
customFilter?: FilterFunction | undefined;
|
|
@@ -2879,7 +2879,10 @@ declare const VCombobox: {
|
|
|
2879
2879
|
'onClick:append': PropType<(args_0: MouseEvent) => void>;
|
|
2880
2880
|
'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
|
|
2881
2881
|
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
|
|
2882
|
-
centerAffix:
|
|
2882
|
+
centerAffix: {
|
|
2883
|
+
type: BooleanConstructor;
|
|
2884
|
+
default: undefined;
|
|
2885
|
+
};
|
|
2883
2886
|
hideSpinButtons: BooleanConstructor;
|
|
2884
2887
|
hint: StringConstructor;
|
|
2885
2888
|
persistentHint: BooleanConstructor;
|
|
@@ -3529,7 +3532,10 @@ declare const VCombobox: {
|
|
|
3529
3532
|
'onClick:append': PropType<(args_0: MouseEvent) => void>;
|
|
3530
3533
|
'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
|
|
3531
3534
|
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
|
|
3532
|
-
centerAffix:
|
|
3535
|
+
centerAffix: {
|
|
3536
|
+
type: BooleanConstructor;
|
|
3537
|
+
default: undefined;
|
|
3538
|
+
};
|
|
3533
3539
|
hideSpinButtons: BooleanConstructor;
|
|
3534
3540
|
hint: StringConstructor;
|
|
3535
3541
|
persistentHint: BooleanConstructor;
|
|
@@ -96,6 +96,7 @@ interface Group<T = any> {
|
|
|
96
96
|
declare function provideGroupBy(options: {
|
|
97
97
|
groupBy: Ref<readonly SortItem[]>;
|
|
98
98
|
sortBy: Ref<readonly SortItem[]>;
|
|
99
|
+
disableSort?: Ref<boolean>;
|
|
99
100
|
}): {
|
|
100
101
|
sortByWithGroups: vue.ComputedRef<SortItem[]>;
|
|
101
102
|
toggleGroup: (group: Group) => void;
|
|
@@ -18,7 +18,7 @@ import { makeDataTableSelectProps, provideSelection } from "./composables/select
|
|
|
18
18
|
import { createSort, makeDataTableSortProps, provideSort, useSortedItems } from "./composables/sort.mjs";
|
|
19
19
|
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
20
20
|
import { makeFilterProps, useFilter } from "../../composables/filter.mjs"; // Utilities
|
|
21
|
-
import { computed, toRef } from 'vue';
|
|
21
|
+
import { computed, toRef, toRefs } from 'vue';
|
|
22
22
|
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
23
23
|
export const makeDataTableProps = propsFactory({
|
|
24
24
|
...makeVDataTableRowsProps(),
|
|
@@ -72,6 +72,9 @@ export const VDataTable = genericComponent()({
|
|
|
72
72
|
page,
|
|
73
73
|
itemsPerPage
|
|
74
74
|
} = createPagination(props);
|
|
75
|
+
const {
|
|
76
|
+
disableSort
|
|
77
|
+
} = toRefs(props);
|
|
75
78
|
const {
|
|
76
79
|
columns,
|
|
77
80
|
headers,
|
|
@@ -109,12 +112,16 @@ export const VDataTable = genericComponent()({
|
|
|
109
112
|
toggleGroup
|
|
110
113
|
} = provideGroupBy({
|
|
111
114
|
groupBy,
|
|
112
|
-
sortBy
|
|
115
|
+
sortBy,
|
|
116
|
+
disableSort
|
|
113
117
|
});
|
|
114
118
|
const {
|
|
115
119
|
sortedItems
|
|
116
120
|
} = useSortedItems(props, filteredItems, sortByWithGroups, {
|
|
117
|
-
transform: item =>
|
|
121
|
+
transform: item => ({
|
|
122
|
+
...item.raw,
|
|
123
|
+
...item.columns
|
|
124
|
+
}),
|
|
118
125
|
sortFunctions,
|
|
119
126
|
sortRawFunctions
|
|
120
127
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTable.mjs","names":["makeVDataTableFooterProps","VDataTableFooter","makeVDataTableHeadersProps","VDataTableHeaders","makeVDataTableRowsProps","VDataTableRows","VDivider","makeVTableProps","VTable","makeDataTableExpandProps","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemsProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","createSort","makeDataTableSortProps","provideSort","useSortedItems","provideDefaults","makeFilterProps","useFilter","computed","toRef","genericComponent","propsFactory","useRender","makeDataTableProps","hideDefaultBody","Boolean","hideDefaultFooter","hideDefaultHeader","width","String","Number","search","makeVDataTableProps","VDataTable","name","props","emits","value","setup","_ref","attrs","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","columns","headers","sortFunctions","sortRawFunctions","filterFunctions","showSelect","showExpand","items","filteredItems","transform","item","customKeyFilter","toggleSort","sortByWithGroups","opened","extractRows","isGroupOpen","toggleGroup","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","pageCount","setItemsPerPage","paginatedItems","paginatedItemsWithoutGroups","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","hideNoData","noDataText","loading","loadingText","slotProps","map","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/components/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { makeVDataTableHeadersProps, VDataTableHeaders } from './VDataTableHeaders'\nimport { makeVDataTableRowsProps, VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTableProps, VTable } from '@/components/VTable/VTable'\n\n// Composables\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemsProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly, UnwrapRef } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableHeader, DataTableItem, InternalDataTableHeader, RowProps } from './types'\nimport type { VDataTableHeadersSlots } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport type VDataTableSlotProps<T> = {\n page: number\n itemsPerPage: number\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n pageCount: number\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n setItemsPerPage: ReturnType<typeof providePagination>['setItemsPerPage']\n someSelected: boolean\n allSelected: boolean\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n select: ReturnType<typeof provideSelection>['select']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n items: readonly T[]\n internalItems: readonly DataTableItem[]\n groupedItems: readonly (DataTableItem<T> | Group<DataTableItem<T>>)[]\n columns: InternalDataTableHeader[]\n headers: InternalDataTableHeader[][]\n}\n\nexport type VDataTableSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {\n default: VDataTableSlotProps<T>\n colgroup: VDataTableSlotProps<T>\n top: VDataTableSlotProps<T>\n body: VDataTableSlotProps<T>\n tbody: VDataTableSlotProps<T>\n thead: VDataTableSlotProps<T>\n tfoot: VDataTableSlotProps<T>\n bottom: VDataTableSlotProps<T>\n 'body.prepend': VDataTableSlotProps<T>\n 'body.append': VDataTableSlotProps<T>\n 'footer.prepend': never\n}\n\nexport const makeDataTableProps = propsFactory({\n ...makeVDataTableRowsProps(),\n\n hideDefaultBody: Boolean,\n hideDefaultFooter: Boolean,\n hideDefaultHeader: Boolean,\n width: [String, Number],\n search: String,\n\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemsProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeVDataTableHeadersProps(),\n ...makeVTableProps(),\n}, 'DataTable')\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeFilterProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTable')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTable = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTable',\n\n props: makeVDataTableProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'update:currentItems': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n\n const {\n columns,\n headers,\n sortFunctions,\n sortRawFunctions,\n filterFunctions,\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions,\n })\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows, isGroupOpen, toggleGroup } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => item.columns,\n sortFunctions,\n sortRawFunctions,\n })\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex, pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected,\n } = provideSelection(props, { allItems: items, currentPage: paginatedItemsWithoutGroups })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: paginatedItemsWithoutGroups.value.map(item => item.raw),\n internalItems: paginatedItemsWithoutGroups.value,\n groupedItems: paginatedItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props)\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody>\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ paginatedItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VDataTable.mjs","names":["makeVDataTableFooterProps","VDataTableFooter","makeVDataTableHeadersProps","VDataTableHeaders","makeVDataTableRowsProps","VDataTableRows","VDivider","makeVTableProps","VTable","makeDataTableExpandProps","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemsProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","createSort","makeDataTableSortProps","provideSort","useSortedItems","provideDefaults","makeFilterProps","useFilter","computed","toRef","toRefs","genericComponent","propsFactory","useRender","makeDataTableProps","hideDefaultBody","Boolean","hideDefaultFooter","hideDefaultHeader","width","String","Number","search","makeVDataTableProps","VDataTable","name","props","emits","value","setup","_ref","attrs","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","disableSort","columns","headers","sortFunctions","sortRawFunctions","filterFunctions","showSelect","showExpand","items","filteredItems","transform","item","customKeyFilter","toggleSort","sortByWithGroups","opened","extractRows","isGroupOpen","toggleGroup","sortedItems","raw","flatItems","itemsLength","length","startIndex","stopIndex","pageCount","setItemsPerPage","paginatedItems","paginatedItemsWithoutGroups","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","hideNoData","noDataText","loading","loadingText","slotProps","map","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/components/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { makeVDataTableHeadersProps, VDataTableHeaders } from './VDataTableHeaders'\nimport { makeVDataTableRowsProps, VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTableProps, VTable } from '@/components/VTable/VTable'\n\n// Composables\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemsProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Utilities\nimport { computed, toRef, toRefs } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly, UnwrapRef } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableHeader, DataTableItem, InternalDataTableHeader, RowProps } from './types'\nimport type { VDataTableHeadersSlots } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport type VDataTableSlotProps<T> = {\n page: number\n itemsPerPage: number\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n pageCount: number\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n setItemsPerPage: ReturnType<typeof providePagination>['setItemsPerPage']\n someSelected: boolean\n allSelected: boolean\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n select: ReturnType<typeof provideSelection>['select']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n items: readonly T[]\n internalItems: readonly DataTableItem[]\n groupedItems: readonly (DataTableItem<T> | Group<DataTableItem<T>>)[]\n columns: InternalDataTableHeader[]\n headers: InternalDataTableHeader[][]\n}\n\nexport type VDataTableSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {\n default: VDataTableSlotProps<T>\n colgroup: VDataTableSlotProps<T>\n top: VDataTableSlotProps<T>\n body: VDataTableSlotProps<T>\n tbody: VDataTableSlotProps<T>\n thead: VDataTableSlotProps<T>\n tfoot: VDataTableSlotProps<T>\n bottom: VDataTableSlotProps<T>\n 'body.prepend': VDataTableSlotProps<T>\n 'body.append': VDataTableSlotProps<T>\n 'footer.prepend': never\n}\n\nexport const makeDataTableProps = propsFactory({\n ...makeVDataTableRowsProps(),\n\n hideDefaultBody: Boolean,\n hideDefaultFooter: Boolean,\n hideDefaultHeader: Boolean,\n width: [String, Number],\n search: String,\n\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemsProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeVDataTableHeadersProps(),\n ...makeVTableProps(),\n}, 'DataTable')\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeFilterProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTable')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTable = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTable',\n\n props: makeVDataTableProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'update:currentItems': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const { disableSort } = toRefs(props)\n\n const {\n columns,\n headers,\n sortFunctions,\n sortRawFunctions,\n filterFunctions,\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions,\n })\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows, isGroupOpen, toggleGroup } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { sortedItems } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => ({ ...item.raw, ...item.columns }),\n sortFunctions,\n sortRawFunctions,\n })\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex, pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected,\n } = provideSelection(props, { allItems: items, currentPage: paginatedItemsWithoutGroups })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: paginatedItemsWithoutGroups.value.map(item => item.raw),\n internalItems: paginatedItemsWithoutGroups.value,\n groupedItems: paginatedItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props)\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody>\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ paginatedItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ import { createPagination, makeDataTablePaginateProps, providePagination } from
|
|
|
15
15
|
import { provideSelection } from "./composables/select.mjs";
|
|
16
16
|
import { createSort, provideSort } from "./composables/sort.mjs";
|
|
17
17
|
import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
|
|
18
|
-
import { computed, provide, toRef } from 'vue';
|
|
18
|
+
import { computed, provide, toRef, toRefs } from 'vue';
|
|
19
19
|
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
20
20
|
export const makeVDataTableServerProps = propsFactory({
|
|
21
21
|
itemsLength: {
|
|
@@ -55,6 +55,9 @@ export const VDataTableServer = genericComponent()({
|
|
|
55
55
|
page,
|
|
56
56
|
itemsPerPage
|
|
57
57
|
} = createPagination(props);
|
|
58
|
+
const {
|
|
59
|
+
disableSort
|
|
60
|
+
} = toRefs(props);
|
|
58
61
|
const itemsLength = computed(() => parseInt(props.itemsLength, 10));
|
|
59
62
|
const {
|
|
60
63
|
columns,
|
|
@@ -82,7 +85,8 @@ export const VDataTableServer = genericComponent()({
|
|
|
82
85
|
extractRows
|
|
83
86
|
} = provideGroupBy({
|
|
84
87
|
groupBy,
|
|
85
|
-
sortBy
|
|
88
|
+
sortBy,
|
|
89
|
+
disableSort
|
|
86
90
|
});
|
|
87
91
|
const {
|
|
88
92
|
pageCount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableServer.mjs","names":["makeDataTableProps","makeVDataTableFooterProps","VDataTableFooter","VDataTableHeaders","VDataTableRows","VDivider","VTable","provideExpanded","createGroupBy","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","provideSelection","createSort","provideSort","provideDefaults","computed","provide","toRef","genericComponent","propsFactory","useRender","makeVDataTableServerProps","itemsLength","type","Number","String","required","VDataTableServer","name","props","emits","value","page","sortBy","options","setup","_ref","attrs","slots","groupBy","multiSort","mustSort","itemsPerPage","parseInt","columns","headers","showSelect","showExpand","items","toggleSort","opened","isGroupOpen","toggleGroup","extractRows","pageCount","setItemsPerPage","flatItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","itemsWithoutGroups","search","hideNoData","noDataText","loading","loadingText","slotProps","map","item","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","hideDefaultHeader","fixedHeader","thead","hideDefaultBody","body","tbody","tfoot","bottom","hideDefaultFooter","prepend"],"sources":["../../../src/components/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { VTable } from '@/components/VTable'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VDataTableSlotProps, VDataTableSlots } from './VDataTable'\nimport type { CellProps, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport const makeVDataTableServerProps = propsFactory({\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTableServer')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableServer = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableServer',\n\n props: makeVDataTableServerProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n const { columns, headers } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n\n const { opened, isGroupOpen, toggleGroup, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems: items,\n currentPage: items,\n })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const itemsWithoutGroups = computed(() => extractRows(items.value))\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search: toRef(props, 'search'),\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: itemsWithoutGroups.value.map(item => item.raw),\n internalItems: itemsWithoutGroups.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props)\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\" class=\"v-data-table__thead\" role=\"rowgroup\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n sticky={ props.fixedHeader }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ flatItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VDataTableServer.mjs","names":["makeDataTableProps","makeVDataTableFooterProps","VDataTableFooter","VDataTableHeaders","VDataTableRows","VDivider","VTable","provideExpanded","createGroupBy","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","provideSelection","createSort","provideSort","provideDefaults","computed","provide","toRef","toRefs","genericComponent","propsFactory","useRender","makeVDataTableServerProps","itemsLength","type","Number","String","required","VDataTableServer","name","props","emits","value","page","sortBy","options","setup","_ref","attrs","slots","groupBy","multiSort","mustSort","itemsPerPage","disableSort","parseInt","columns","headers","showSelect","showExpand","items","toggleSort","opened","isGroupOpen","toggleGroup","extractRows","pageCount","setItemsPerPage","flatItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","itemsWithoutGroups","search","hideNoData","noDataText","loading","loadingText","slotProps","map","item","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","hideDefaultHeader","fixedHeader","thead","hideDefaultBody","body","tbody","tfoot","bottom","hideDefaultFooter","prepend"],"sources":["../../../src/components/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { VTable } from '@/components/VTable'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, provide, toRef, toRefs } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VDataTableSlotProps, VDataTableSlots } from './VDataTable'\nimport type { CellProps, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport const makeVDataTableServerProps = propsFactory({\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTableServer')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableServer = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableServer',\n\n props: makeVDataTableServerProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const { disableSort } = toRefs(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n const { columns, headers } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n\n const { opened, isGroupOpen, toggleGroup, extractRows } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems: items,\n currentPage: items,\n })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const itemsWithoutGroups = computed(() => extractRows(items.value))\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search: toRef(props, 'search'),\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: itemsWithoutGroups.value.map(item => item.raw),\n internalItems: itemsWithoutGroups.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props)\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\" class=\"v-data-table__thead\" role=\"rowgroup\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n sticky={ props.fixedHeader }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ flatItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@ import { createSort, provideSort, useSortedItems } from "./composables/sort.mjs"
|
|
|
16
16
|
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
17
17
|
import { makeFilterProps, useFilter } from "../../composables/filter.mjs";
|
|
18
18
|
import { makeVirtualProps, useVirtual } from "../../composables/virtual.mjs"; // Utilities
|
|
19
|
-
import { computed, shallowRef, toRef } from 'vue';
|
|
19
|
+
import { computed, shallowRef, toRef, toRefs } from 'vue';
|
|
20
20
|
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
21
21
|
export const makeVDataTableVirtualProps = propsFactory({
|
|
22
22
|
...makeDataTableProps(),
|
|
@@ -47,6 +47,9 @@ export const VDataTableVirtual = genericComponent()({
|
|
|
47
47
|
multiSort,
|
|
48
48
|
mustSort
|
|
49
49
|
} = createSort(props);
|
|
50
|
+
const {
|
|
51
|
+
disableSort
|
|
52
|
+
} = toRefs(props);
|
|
50
53
|
const {
|
|
51
54
|
columns,
|
|
52
55
|
headers,
|
|
@@ -83,12 +86,16 @@ export const VDataTableVirtual = genericComponent()({
|
|
|
83
86
|
toggleGroup
|
|
84
87
|
} = provideGroupBy({
|
|
85
88
|
groupBy,
|
|
86
|
-
sortBy
|
|
89
|
+
sortBy,
|
|
90
|
+
disableSort
|
|
87
91
|
});
|
|
88
92
|
const {
|
|
89
93
|
sortedItems
|
|
90
94
|
} = useSortedItems(props, filteredItems, sortByWithGroups, {
|
|
91
|
-
transform: item =>
|
|
95
|
+
transform: item => ({
|
|
96
|
+
...item.raw,
|
|
97
|
+
...item.columns
|
|
98
|
+
}),
|
|
92
99
|
sortFunctions,
|
|
93
100
|
sortRawFunctions
|
|
94
101
|
});
|