vuetify 3.5.8 → 3.5.10
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/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +525 -13
- package/dist/json/importMap-labs.json +24 -8
- package/dist/json/importMap.json +130 -130
- package/dist/json/tags.json +148 -0
- package/dist/json/web-types.json +2021 -147
- package/dist/vuetify-labs.css +2819 -2760
- package/dist/vuetify-labs.d.ts +5860 -2816
- package/dist/vuetify-labs.esm.js +1286 -248
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1286 -247
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +553 -547
- package/dist/vuetify.d.ts +2835 -2281
- package/dist/vuetify.esm.js +883 -408
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +882 -406
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1137 -1109
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.mts +15 -15
- package/lib/components/VApp/index.d.mts +8 -8
- package/lib/components/VAppBar/index.d.mts +7 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +232 -100
- package/lib/components/VAvatar/index.d.mts +8 -8
- package/lib/components/VBadge/index.d.mts +7 -7
- package/lib/components/VBanner/index.d.mts +20 -20
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +27 -26
- package/lib/components/VBtnGroup/index.d.mts +8 -8
- package/lib/components/VCard/index.d.mts +32 -32
- package/lib/components/VCarousel/index.d.mts +6 -6
- package/lib/components/VCheckbox/index.d.mts +44 -44
- package/lib/components/VChip/index.d.mts +7 -7
- package/lib/components/VCode/index.d.mts +8 -8
- package/lib/components/VColorPicker/VColorPickerPreview.css +1 -0
- package/lib/components/VColorPicker/VColorPickerPreview.sass +1 -0
- package/lib/components/VColorPicker/_variables.scss +1 -0
- package/lib/components/VCombobox/VCombobox.mjs +10 -7
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +232 -100
- package/lib/components/VDataTable/index.d.mts +6 -6
- package/lib/components/VDatePicker/VDatePickerControls.mjs +1 -0
- package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +10 -4
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +10 -10
- package/lib/components/VDefaultsProvider/index.d.mts +8 -8
- package/lib/components/VDialog/index.d.mts +12 -6
- package/lib/components/VDivider/index.d.mts +8 -8
- package/lib/components/VExpansionPanel/index.d.mts +19 -19
- package/lib/components/VField/VField.css +2 -0
- package/lib/components/VField/VField.mjs +1 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -0
- package/lib/components/VField/index.d.mts +28 -28
- package/lib/components/VFileInput/index.d.mts +133 -133
- package/lib/components/VFooter/index.d.mts +8 -8
- package/lib/components/VGrid/index.d.mts +32 -32
- package/lib/components/VIcon/VIcon.css +4 -0
- package/lib/components/VIcon/VIcon.mjs +7 -3
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +4 -0
- package/lib/components/VIcon/_variables.scss +1 -0
- package/lib/components/VIcon/index.d.mts +25 -16
- package/lib/components/VImg/index.d.mts +4 -4
- package/lib/components/VInput/index.d.mts +21 -21
- package/lib/components/VKbd/index.d.mts +8 -8
- package/lib/components/VLabel/index.d.mts +8 -8
- package/lib/components/VLayout/index.d.mts +16 -16
- package/lib/components/VLazy/index.d.mts +8 -8
- package/lib/components/VList/VList.mjs +8 -2
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +3 -1
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +17 -4
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +156 -54
- package/lib/components/VLocaleProvider/index.d.mts +12 -12
- package/lib/components/VMain/index.d.mts +8 -8
- package/lib/components/VMenu/VMenu.mjs +3 -0
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +14 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +22 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -1
- package/lib/components/VNavigationDrawer/index.d.mts +11 -11
- package/lib/components/VOtpInput/VOtpInput.mjs +7 -2
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOtpInput/index.d.mts +31 -31
- package/lib/components/VOverlay/VOverlay.mjs +8 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +3 -0
- package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VPagination/index.d.mts +7 -7
- package/lib/components/VProgressLinear/VProgressLinear.css +0 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
- package/lib/components/VProgressLinear/index.d.mts +7 -7
- package/lib/components/VRadioGroup/index.d.mts +44 -44
- package/lib/components/VRangeSlider/index.d.mts +47 -47
- package/lib/components/VRating/index.d.mts +7 -7
- package/lib/components/VResponsive/index.d.mts +8 -8
- package/lib/components/VSelect/VSelect.mjs +5 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +232 -100
- package/lib/components/VSheet/index.d.mts +8 -8
- package/lib/components/VSkeletonLoader/index.d.mts +8 -8
- package/lib/components/VSlider/index.d.mts +47 -47
- package/lib/components/VSnackbar/index.d.mts +25 -19
- package/lib/components/VStepper/index.d.mts +41 -41
- package/lib/components/VSwitch/index.d.mts +39 -39
- package/lib/components/VSystemBar/index.d.mts +8 -8
- package/lib/components/VTabs/index.d.mts +15 -15
- package/lib/components/VTextField/index.d.mts +173 -173
- package/lib/components/VTextarea/index.d.mts +119 -119
- package/lib/components/VThemeProvider/index.d.mts +8 -8
- package/lib/components/VTimeline/index.d.mts +8 -8
- package/lib/components/VToolbar/index.d.mts +8 -8
- package/lib/components/VTooltip/index.d.mts +14 -8
- package/lib/components/VWindow/index.d.mts +10 -10
- package/lib/components/index.d.mts +2478 -1943
- package/lib/components/transitions/index.d.mts +128 -128
- package/lib/composables/date/adapters/vuetify.mjs +1 -1
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/nested/activeStrategies.mjs +121 -0
- package/lib/composables/nested/activeStrategies.mjs.map +1 -0
- package/lib/composables/nested/nested.mjs +50 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +4 -2
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +3 -2
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa.mjs +2 -0
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.mjs +2 -0
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.mjs +2 -0
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.mjs +2 -0
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.mjs +2 -0
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.mts +48 -44
- package/lib/labs/VCalendar/index.d.mts +32 -32
- package/lib/labs/VFab/index.d.mts +15 -15
- package/lib/labs/VNumberInput/VNumberInput.css +38 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +209 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -0
- package/lib/labs/VNumberInput/VNumberInput.sass +47 -0
- package/lib/labs/VNumberInput/_variables.scss +1 -0
- package/lib/labs/VNumberInput/index.d.mts +607 -0
- package/lib/labs/VNumberInput/index.mjs +2 -0
- package/lib/labs/VNumberInput/index.mjs.map +1 -0
- package/lib/labs/VPicker/index.d.mts +8 -8
- package/lib/labs/VSparkline/index.d.mts +7 -7
- package/lib/labs/VSpeedDial/VSpeedDial.mjs +9 -5
- package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/labs/VSpeedDial/index.d.mts +120 -24
- package/lib/labs/VTreeview/VTreeview.mjs +154 -0
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +98 -0
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewGroup.mjs +48 -0
- package/lib/labs/VTreeview/VTreeviewGroup.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewItem.css +17 -0
- package/lib/labs/VTreeview/VTreeviewItem.mjs +86 -0
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewItem.sass +19 -0
- package/lib/labs/VTreeview/index.d.mts +1975 -0
- package/lib/labs/VTreeview/index.mjs +4 -0
- package/lib/labs/VTreeview/index.mjs.map +1 -0
- package/lib/labs/VTreeview/shared.mjs +4 -0
- package/lib/labs/VTreeview/shared.mjs.map +1 -0
- package/lib/labs/VTreeview/variables.scss +8 -0
- package/lib/labs/components.d.mts +4553 -1925
- package/lib/labs/components.mjs +4 -2
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/no.mjs +1 -1
- package/lib/locale/no.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
|
2
|
+
// Components
|
|
3
|
+
import { VDefaultsProvider } from "../../components/VDefaultsProvider/index.mjs";
|
|
4
|
+
import { makeVListGroupProps, VListGroup } from "../../components/VList/VListGroup.mjs"; // Utilities
|
|
5
|
+
import { computed, ref } from 'vue';
|
|
6
|
+
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
7
|
+
export const makeVTreeviewGroupProps = propsFactory({
|
|
8
|
+
...omit(makeVListGroupProps({
|
|
9
|
+
collapseIcon: '$treeviewCollapse',
|
|
10
|
+
expandIcon: '$treeviewExpand'
|
|
11
|
+
}), ['subgroup'])
|
|
12
|
+
}, 'VTreeviewGroup');
|
|
13
|
+
export const VTreeviewGroup = genericComponent()({
|
|
14
|
+
name: 'VTreeviewGroup',
|
|
15
|
+
props: makeVTreeviewGroupProps(),
|
|
16
|
+
setup(props, _ref) {
|
|
17
|
+
let {
|
|
18
|
+
slots
|
|
19
|
+
} = _ref;
|
|
20
|
+
const vListGroupRef = ref();
|
|
21
|
+
const toggleIcon = computed(() => vListGroupRef.value?.isOpen ? props.collapseIcon : props.expandIcon);
|
|
22
|
+
const activatorDefaults = computed(() => ({
|
|
23
|
+
VTreeviewItem: {
|
|
24
|
+
prependIcon: undefined,
|
|
25
|
+
appendIcon: undefined,
|
|
26
|
+
active: vListGroupRef.value?.isOpen,
|
|
27
|
+
toggleIcon: toggleIcon.value
|
|
28
|
+
}
|
|
29
|
+
}));
|
|
30
|
+
useRender(() => {
|
|
31
|
+
const listGroupProps = VListGroup.filterProps(props);
|
|
32
|
+
return _createVNode(VListGroup, _mergeProps(listGroupProps, {
|
|
33
|
+
"ref": vListGroupRef,
|
|
34
|
+
"class": ['v-treeview-group', props.class],
|
|
35
|
+
"subgroup": true
|
|
36
|
+
}), {
|
|
37
|
+
...slots,
|
|
38
|
+
activator: slots.activator ? slotProps => _createVNode(_Fragment, null, [_createVNode(VDefaultsProvider, {
|
|
39
|
+
"defaults": activatorDefaults.value
|
|
40
|
+
}, {
|
|
41
|
+
default: () => [slots.activator?.(slotProps)]
|
|
42
|
+
})]) : undefined
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
return {};
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=VTreeviewGroup.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VTreeviewGroup.mjs","names":["VDefaultsProvider","makeVListGroupProps","VListGroup","computed","ref","genericComponent","omit","propsFactory","useRender","makeVTreeviewGroupProps","collapseIcon","expandIcon","VTreeviewGroup","name","props","setup","_ref","slots","vListGroupRef","toggleIcon","value","isOpen","activatorDefaults","VTreeviewItem","prependIcon","undefined","appendIcon","active","listGroupProps","filterProps","_createVNode","_mergeProps","class","activator","slotProps","_Fragment","default"],"sources":["../../../src/labs/VTreeview/VTreeviewGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVListGroupProps, VListGroup } from '@/components/VList/VListGroup'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VListGroupSlots } from '@/components/VList/VListGroup'\n\nexport const makeVTreeviewGroupProps = propsFactory({\n ...omit(makeVListGroupProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n }), ['subgroup']),\n}, 'VTreeviewGroup')\n\nexport const VTreeviewGroup = genericComponent<VListGroupSlots>()({\n name: 'VTreeviewGroup',\n\n props: makeVTreeviewGroupProps(),\n\n setup (props, { slots }) {\n const vListGroupRef = ref<VListGroup>()\n const toggleIcon = computed(() => vListGroupRef.value?.isOpen ? props.collapseIcon : props.expandIcon)\n\n const activatorDefaults = computed(() => ({\n VTreeviewItem: {\n prependIcon: undefined,\n appendIcon: undefined,\n active: vListGroupRef.value?.isOpen,\n toggleIcon: toggleIcon.value,\n },\n }))\n\n useRender(() => {\n const listGroupProps = VListGroup.filterProps(props)\n\n return (\n <VListGroup\n { ...listGroupProps }\n ref={ vListGroupRef }\n class={[\n 'v-treeview-group',\n props.class,\n ]}\n subgroup\n >\n {{\n ...slots,\n activator: slots.activator ? slotProps => (\n <>\n <VDefaultsProvider defaults={ activatorDefaults.value }>\n { slots.activator?.(slotProps) }\n </VDefaultsProvider>\n </>\n ) : undefined,\n }}\n </VListGroup>\n )\n })\n\n return {}\n },\n})\n\nexport type VTreeviewGroup = InstanceType<typeof VTreeviewGroup>\n"],"mappings":";AAAA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,mBAAmB,EAAEC,UAAU,iDAExC;AACA,SAASC,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AAAA,SAC1BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAGA,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CAAC;EAClD,GAAGD,IAAI,CAACL,mBAAmB,CAAC;IAC1BS,YAAY,EAAE,mBAAmB;IACjCC,UAAU,EAAE;EACd,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;AAClB,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMC,cAAc,GAAGP,gBAAgB,CAAkB,CAAC,CAAC;EAChEQ,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEL,uBAAuB,CAAC,CAAC;EAEhCM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,aAAa,GAAGd,GAAG,CAAa,CAAC;IACvC,MAAMe,UAAU,GAAGhB,QAAQ,CAAC,MAAMe,aAAa,CAACE,KAAK,EAAEC,MAAM,GAAGP,KAAK,CAACJ,YAAY,GAAGI,KAAK,CAACH,UAAU,CAAC;IAEtG,MAAMW,iBAAiB,GAAGnB,QAAQ,CAAC,OAAO;MACxCoB,aAAa,EAAE;QACbC,WAAW,EAAEC,SAAS;QACtBC,UAAU,EAAED,SAAS;QACrBE,MAAM,EAAET,aAAa,CAACE,KAAK,EAAEC,MAAM;QACnCF,UAAU,EAAEA,UAAU,CAACC;MACzB;IACF,CAAC,CAAC,CAAC;IAEHZ,SAAS,CAAC,MAAM;MACd,MAAMoB,cAAc,GAAG1B,UAAU,CAAC2B,WAAW,CAACf,KAAK,CAAC;MAEpD,OAAAgB,YAAA,CAAA5B,UAAA,EAAA6B,WAAA,CAESH,cAAc;QAAA,OACbV,aAAa;QAAA,SACZ,CACL,kBAAkB,EAClBJ,KAAK,CAACkB,KAAK,CACZ;QAAA;MAAA;QAIC,GAAGf,KAAK;QACRgB,SAAS,EAAEhB,KAAK,CAACgB,SAAS,GAAGC,SAAS,IAAAJ,YAAA,CAAAK,SAAA,SAAAL,YAAA,CAAA9B,iBAAA;UAAA,YAEJsB,iBAAiB,CAACF;QAAK;UAAAgB,OAAA,EAAAA,CAAA,MACjDnB,KAAK,CAACgB,SAAS,GAAGC,SAAS,CAAC;QAAA,IAGnC,GAAGT;MAAS;IAIrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.v-treeview-item--filtered {
|
|
2
|
+
display: none;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.v-treeview {
|
|
6
|
+
--indent-padding: 0px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.v-treeview-group.v-list-group {
|
|
10
|
+
--list-indent-size: 16px;
|
|
11
|
+
}
|
|
12
|
+
.v-list--slim .v-treeview-group.v-list-group {
|
|
13
|
+
--prepend-width: 16px;
|
|
14
|
+
}
|
|
15
|
+
.v-treeview-group.v-list-group .v-list-group__items .v-list-item {
|
|
16
|
+
padding-inline-start: calc(12px + var(--indent-padding)) !important;
|
|
17
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
|
2
|
+
// Styles
|
|
3
|
+
import "./VTreeviewItem.css";
|
|
4
|
+
|
|
5
|
+
// Components
|
|
6
|
+
import { VBtn } from "../../components/VBtn/index.mjs";
|
|
7
|
+
import { VListItemAction } from "../../components/VList/index.mjs";
|
|
8
|
+
import { makeVListItemProps, VListItem } from "../../components/VList/VListItem.mjs"; // Composables
|
|
9
|
+
import { IconValue } from "../../composables/icons.mjs";
|
|
10
|
+
import { useLink } from "../../composables/router.mjs"; // Utilities
|
|
11
|
+
import { computed, inject, ref } from 'vue';
|
|
12
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
13
|
+
import { VTreeviewSymbol } from "./shared.mjs";
|
|
14
|
+
import { VProgressCircular } from "../allComponents.mjs";
|
|
15
|
+
export const makeVTreeviewItemProps = propsFactory({
|
|
16
|
+
loading: Boolean,
|
|
17
|
+
toggleIcon: IconValue,
|
|
18
|
+
...makeVListItemProps({
|
|
19
|
+
slim: true
|
|
20
|
+
})
|
|
21
|
+
}, 'VTreeviewItem');
|
|
22
|
+
export const VTreeviewItem = genericComponent()({
|
|
23
|
+
name: 'VTreeviewItem',
|
|
24
|
+
props: makeVTreeviewItemProps(),
|
|
25
|
+
setup(props, _ref) {
|
|
26
|
+
let {
|
|
27
|
+
attrs,
|
|
28
|
+
slots,
|
|
29
|
+
emit
|
|
30
|
+
} = _ref;
|
|
31
|
+
const link = useLink(props, attrs);
|
|
32
|
+
const id = computed(() => props.value === undefined ? link.href.value : props.value);
|
|
33
|
+
const vListItemRef = ref();
|
|
34
|
+
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list));
|
|
35
|
+
function onClick(e) {
|
|
36
|
+
if (!vListItemRef.value?.isGroupActivator || !isClickable.value) return;
|
|
37
|
+
props.value != null && vListItemRef.value?.select(!vListItemRef.value?.isSelected, e);
|
|
38
|
+
}
|
|
39
|
+
function onKeyDown(e) {
|
|
40
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
41
|
+
e.preventDefault();
|
|
42
|
+
onClick(e);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const visibleIds = inject(VTreeviewSymbol, {
|
|
46
|
+
visibleIds: ref()
|
|
47
|
+
}).visibleIds;
|
|
48
|
+
useRender(() => {
|
|
49
|
+
const listItemProps = VListItem.filterProps(props);
|
|
50
|
+
const hasPrepend = slots.prepend || props.toggleIcon;
|
|
51
|
+
return _createVNode(VListItem, _mergeProps({
|
|
52
|
+
"ref": vListItemRef
|
|
53
|
+
}, listItemProps, {
|
|
54
|
+
"class": ['v-treeview-item', {
|
|
55
|
+
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
|
56
|
+
}, props.class],
|
|
57
|
+
"onClick": onClick,
|
|
58
|
+
"onKeydown": isClickable.value && onKeyDown
|
|
59
|
+
}), {
|
|
60
|
+
...slots,
|
|
61
|
+
prepend: hasPrepend ? slotProps => {
|
|
62
|
+
return _createVNode(_Fragment, null, [props.toggleIcon && _createVNode(VListItemAction, {
|
|
63
|
+
"start": false
|
|
64
|
+
}, {
|
|
65
|
+
default: () => [_createVNode(VBtn, {
|
|
66
|
+
"density": "compact",
|
|
67
|
+
"icon": props.toggleIcon,
|
|
68
|
+
"loading": props.loading,
|
|
69
|
+
"variant": "text"
|
|
70
|
+
}, {
|
|
71
|
+
loader() {
|
|
72
|
+
return _createVNode(VProgressCircular, {
|
|
73
|
+
"indeterminate": "disable-shrink",
|
|
74
|
+
"size": "20",
|
|
75
|
+
"width": "2"
|
|
76
|
+
}, null);
|
|
77
|
+
}
|
|
78
|
+
})]
|
|
79
|
+
}), slots.prepend?.(slotProps)]);
|
|
80
|
+
} : undefined
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
return {};
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=VTreeviewItem.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VTreeviewItem.mjs","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","IconValue","useLink","computed","inject","ref","genericComponent","propsFactory","useRender","VTreeviewSymbol","VProgressCircular","makeVTreeviewItemProps","loading","Boolean","toggleIcon","slim","VTreeviewItem","name","props","setup","_ref","attrs","slots","emit","link","id","value","undefined","href","vListItemRef","isClickable","disabled","list","onClick","e","isGroupActivator","select","isSelected","onKeyDown","key","preventDefault","visibleIds","listItemProps","filterProps","hasPrepend","prepend","_createVNode","_mergeProps","has","class","slotProps","_Fragment","default","loader"],"sources":["../../../src/labs/VTreeview/VTreeviewItem.tsx"],"sourcesContent":["// Styles\nimport './VTreeviewItem.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VListItemAction } from '@/components/VList'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useLink } from '@/composables/router'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport { VProgressCircular } from '../allComponents'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport const makeVTreeviewItemProps = propsFactory({\n loading: Boolean,\n toggleIcon: IconValue,\n\n ...makeVListItemProps({ slim: true }),\n}, 'VTreeviewItem')\n\nexport const VTreeviewItem = genericComponent<VListItemSlots>()({\n name: 'VTreeviewItem',\n\n props: makeVTreeviewItemProps(),\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const vListItemRef = ref<VListItem>()\n\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (props.value != null && !!vListItemRef.value?.list))\n )\n\n function onClick (e: MouseEvent | KeyboardEvent) {\n if (!vListItemRef.value?.isGroupActivator || !isClickable.value) return\n props.value != null && vListItemRef.value?.select(!vListItemRef.value?.isSelected, e)\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n const visibleIds = inject(VTreeviewSymbol, { visibleIds: ref() }).visibleIds\n\n useRender(() => {\n const listItemProps = VListItem.filterProps(props)\n const hasPrepend = slots.prepend || props.toggleIcon\n\n return (\n <VListItem\n ref={ vListItemRef }\n { ...listItemProps }\n class={[\n 'v-treeview-item',\n {\n 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value),\n },\n props.class,\n ]}\n onClick={ onClick }\n onKeydown={ isClickable.value && onKeyDown }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => {\n return (\n <>\n { props.toggleIcon && (\n <VListItemAction start={ false }>\n <VBtn\n density=\"compact\"\n icon={ props.toggleIcon }\n loading={ props.loading }\n variant=\"text\"\n >\n {{\n loader () {\n return (\n <VProgressCircular\n indeterminate=\"disable-shrink\"\n size=\"20\"\n width=\"2\"\n />\n )\n },\n }}\n </VBtn>\n </VListItemAction>\n )}\n\n { slots.prepend?.(slotProps) }\n </>\n )\n } : undefined,\n }}\n </VListItem>\n )\n })\n\n return {}\n },\n})\n\nexport type VTreeviewItem = InstanceType<typeof VTreeviewItem>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
@use './variables' as *
|
|
2
|
+
|
|
3
|
+
.v-treeview-item--filtered
|
|
4
|
+
display: none
|
|
5
|
+
|
|
6
|
+
.v-treeview
|
|
7
|
+
--indent-padding: 0px
|
|
8
|
+
|
|
9
|
+
.v-treeview-group.v-list-group
|
|
10
|
+
--list-indent-size: #{$treeview-group-list-indent-size}
|
|
11
|
+
|
|
12
|
+
.v-list--slim &
|
|
13
|
+
--prepend-width: #{$treeview-group-list-prepend-width}
|
|
14
|
+
|
|
15
|
+
.v-list-group__items .v-list-item
|
|
16
|
+
padding-inline-start: calc(#{$treeview-item-padding-inline-start} + var(--indent-padding)) !important
|
|
17
|
+
|
|
18
|
+
.v-list-group__items .v-list-item--prepend
|
|
19
|
+
// padding-inline-start: calc(#{$treeview-item-prepend-padding-inline-start} + var(--indent-padding)) !important
|