vuetify 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +488 -524
- package/dist/json/importMap.json +64 -60
- package/dist/json/tags.json +0 -9
- package/dist/json/web-types.json +790 -898
- package/dist/vuetify.css +141 -142
- package/dist/vuetify.d.ts +4398 -3687
- package/dist/vuetify.esm.js +2400 -2345
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +2399 -2344
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +798 -788
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +12 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +392 -158
- package/lib/components/VAvatar/VAvatar.mjs +1 -1
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +2 -0
- package/lib/components/VBtn/index.d.ts +1 -0
- package/lib/components/VCard/VCard.css +0 -3
- package/lib/components/VCard/VCard.mjs +2 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +0 -3
- package/lib/components/VCard/VCardItem.mjs +1 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +1 -0
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +1 -1
- package/lib/components/VChip/VChip.mjs +0 -1
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +1 -2
- package/lib/components/VCombobox/VCombobox.mjs +12 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +392 -158
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +5 -5
- package/lib/components/VFileInput/index.d.ts +6 -6
- package/lib/components/VInput/VInput.mjs +1 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +4 -4
- package/lib/components/VList/VList.mjs +3 -0
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -1
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +3 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +19 -8
- package/lib/components/VNoSsr/VNoSsr.mjs +1 -3
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +3 -1
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs +17 -19
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +5 -1
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +5 -1
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +1 -0
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +1 -1
- package/lib/components/VRangeSlider/index.d.ts +1 -1
- package/lib/components/VRating/VRating.mjs +7 -6
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +14 -14
- package/lib/components/VSelect/VSelect.mjs +16 -8
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +392 -158
- package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.css +1 -0
- package/lib/components/VSlideGroup/VSlideGroup.sass +1 -0
- package/lib/components/VSlider/index.d.ts +1 -1
- package/lib/components/VSwitch/index.d.ts +1 -1
- package/lib/components/VTable/VTable.css +9 -9
- package/lib/components/VTable/VTable.sass +20 -15
- package/lib/components/VTabs/index.d.ts +1 -0
- package/lib/components/VTextField/VTextField.mjs +23 -19
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +58 -58
- package/lib/components/VTextarea/index.d.ts +6 -6
- package/lib/components/VToolbar/VToolbar.css +1 -0
- package/lib/components/VToolbar/VToolbar.sass +1 -0
- package/lib/components/VValidation/index.d.ts +1 -1
- package/lib/components/index.d.ts +4145 -3435
- package/lib/components/transitions/index.mjs +1 -1
- package/lib/components/transitions/index.mjs.map +1 -1
- package/lib/composables/hydration.mjs +8 -4
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/icons.mjs +6 -3
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +2 -2
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/router.mjs +2 -2
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +6 -2
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +16 -10
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +17 -16
- package/lib/util/defineComponent.mjs +10 -15
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +10 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDefaultsProvider.mjs","names":["provideDefaults","defineComponent","toRefs","VDefaultsProvider","name","props","defaults","Object","reset","Number","String","root","Boolean","scoped","setup","slots","default"],"sources":["../../../src/components/VDefaultsProvider/VDefaultsProvider.tsx"],"sourcesContent":["// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, toRefs } from 'vue'\n\n// Types\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { PropType } from 'vue'\n\nexport const VDefaultsProvider = defineComponent({\n name: 'VDefaultsProvider',\n\n props: {\n defaults: Object as PropType<DefaultsOptions>,\n reset: [Number, String],\n root: Boolean,\n scoped: Boolean,\n },\n\n setup (props, { slots }) {\n const { defaults, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VDefaultsProvider = InstanceType<typeof VDefaultsProvider>\n"],"mappings":"AAAA;AAAA,SACSA,eAAe,0CAExB;AACA,SAASC,eAAe,EAAEC,MAAM,QAAQ,KAAK;;
|
|
1
|
+
{"version":3,"file":"VDefaultsProvider.mjs","names":["provideDefaults","defineComponent","toRefs","VDefaultsProvider","name","props","defaults","Object","reset","Number","String","root","Boolean","scoped","setup","slots","default"],"sources":["../../../src/components/VDefaultsProvider/VDefaultsProvider.tsx"],"sourcesContent":["// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, toRefs } from 'vue' // eslint-disable-line no-restricted-imports\n\n// Types\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { PropType } from 'vue'\n\nexport const VDefaultsProvider = defineComponent({\n name: 'VDefaultsProvider',\n\n props: {\n defaults: Object as PropType<DefaultsOptions>,\n reset: [Number, String],\n root: Boolean,\n scoped: Boolean,\n },\n\n setup (props, { slots }) {\n const { defaults, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VDefaultsProvider = InstanceType<typeof VDefaultsProvider>\n"],"mappings":"AAAA;AAAA,SACSA,eAAe,0CAExB;AACA,SAASC,eAAe,EAAEC,MAAM,QAAQ,KAAK,EAAC;;AAE9C;;AAIA,OAAO,MAAMC,iBAAiB,GAAGF,eAAe,CAAC;EAC/CG,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAE;IACLC,QAAQ,EAAEC,MAAmC;IAC7CC,KAAK,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACvBC,IAAI,EAAEC,OAAO;IACbC,MAAM,EAAED;EACV,CAAC;EAEDE,KAAK,CAAET,KAAK,QAAa;IAAA,IAAX;MAAEU;IAAM,CAAC;IACrB,MAAM;MAAET,QAAQ;MAAEE,KAAK;MAAEG,IAAI;MAAEE;IAAO,CAAC,GAAGX,MAAM,CAACG,KAAK,CAAC;IAEvDL,eAAe,CAACM,QAAQ,EAAE;MACxBE,KAAK;MACLG,IAAI;MACJE;IACF,CAAC,CAAC;IAEF,OAAO;MAAA;MAAA,yBAAME,KAAK,CAACC,OAAO,qBAAb,oBAAAD,KAAK,CAAY;IAAA;EAChC;AACF,CAAC,CAAC"}
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
border-top-left-radius: 0 !important;
|
|
31
31
|
border-top-right-radius: 0 !important;
|
|
32
32
|
}
|
|
33
|
-
.v-expansion-panels:not(.v-expansion-panels--variant-accordion) > :first-child:not(.v-expansion-panel--active):not(.v-expansion-panel--before-active) {
|
|
33
|
+
.v-expansion-panels:not(.v-expansion-panels--variant-accordion) > :first-child:not(:last-child):not(.v-expansion-panel--active):not(.v-expansion-panel--before-active) {
|
|
34
34
|
border-bottom-left-radius: 0 !important;
|
|
35
35
|
border-bottom-right-radius: 0 !important;
|
|
36
36
|
}
|
|
37
|
-
.v-expansion-panels:not(.v-expansion-panels--variant-accordion) > :last-child:not(.v-expansion-panel--active):not(.v-expansion-panel--after-active) {
|
|
37
|
+
.v-expansion-panels:not(.v-expansion-panels--variant-accordion) > :last-child:not(:first-child):not(.v-expansion-panel--active):not(.v-expansion-panel--after-active) {
|
|
38
38
|
border-top-left-radius: 0 !important;
|
|
39
39
|
border-top-right-radius: 0 !important;
|
|
40
40
|
}
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
border-top-left-radius: 0 !important
|
|
42
42
|
border-top-right-radius: 0 !important
|
|
43
43
|
|
|
44
|
-
> :first-child:not(.v-expansion-panel--active):not(.v-expansion-panel--before-active)
|
|
44
|
+
> :first-child:not(:last-child):not(.v-expansion-panel--active):not(.v-expansion-panel--before-active)
|
|
45
45
|
border-bottom-left-radius: 0 !important
|
|
46
46
|
border-bottom-right-radius: 0 !important
|
|
47
47
|
|
|
48
|
-
> :last-child:not(.v-expansion-panel--active):not(.v-expansion-panel--after-active)
|
|
48
|
+
> :last-child:not(:first-child):not(.v-expansion-panel--active):not(.v-expansion-panel--after-active)
|
|
49
49
|
border-top-left-radius: 0 !important
|
|
50
50
|
border-top-right-radius: 0 !important
|
|
51
51
|
|
|
@@ -23,7 +23,7 @@ export const makeVExpansionPanelTitleProps = propsFactory({
|
|
|
23
23
|
default: false
|
|
24
24
|
},
|
|
25
25
|
readonly: Boolean
|
|
26
|
-
}, '
|
|
26
|
+
}, 'v-expansion-panel-title');
|
|
27
27
|
export const VExpansionPanelTitle = defineComponent({
|
|
28
28
|
name: 'VExpansionPanelTitle',
|
|
29
29
|
directives: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","Ripple","IconValue","useBackgroundColor","computed","inject","defineComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","undefined","toggle","actions"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VIcon } from '@/components/VIcon'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n readonly: Boolean,\n}, '
|
|
1
|
+
{"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","Ripple","IconValue","useBackgroundColor","computed","inject","defineComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","undefined","toggle","actions"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VIcon } from '@/components/VIcon'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n readonly: Boolean,\n}, 'v-expansion-panel-title')\n\nexport const VExpansionPanelTitle = defineComponent({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: {\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <span class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </span>\n ) }\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":";AAAA;AAAA,SACSA,qBAAqB;AAAA,SACrBC,KAAK,8BAEd;AAAA,SACSC,MAAM,6CAEf;AAAA,SACSC,SAAS;AAAA,SACTC,kBAAkB,uCAE3B;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,eAAe,EAAEC,YAAY,EAAEC,SAAS;AAEjD,OAAO,MAAMC,6BAA6B,GAAGF,YAAY,CAAC;EACxDG,KAAK,EAAEC,MAAM;EACbC,UAAU,EAAE;IACVC,IAAI,EAAEX,SAAS;IACfY,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE;IACZF,IAAI,EAAEX,SAAS;IACfY,OAAO,EAAE;EACX,CAAC;EACDE,WAAW,EAAEC,OAAO;EACpBC,MAAM,EAAE;IACNL,IAAI,EAAE,CAACI,OAAO,EAAEE,MAAM,CAAC;IACvBL,OAAO,EAAE;EACX,CAAC;EACDM,QAAQ,EAAEH;AACZ,CAAC,EAAE,yBAAyB,CAAC;AAE7B,OAAO,MAAMI,oBAAoB,GAAGf,eAAe,CAAC;EAClDgB,IAAI,EAAE,sBAAsB;EAE5BC,UAAU,EAAE;IAAEtB;EAAO,CAAC;EAEtBuB,KAAK,EAAE;IACL,GAAGf,6BAA6B;EAClC,CAAC;EAEDgB,KAAK,CAAED,KAAK,QAAa;IAAA,IAAX;MAAEE;IAAM,CAAC;IACrB,MAAMC,cAAc,GAAGtB,MAAM,CAACN,qBAAqB,CAAC;IAEpD,IAAI,CAAC4B,cAAc,EAAE,MAAM,IAAIC,KAAK,CAAC,+EAA+E,CAAC;IAErH,MAAM;MAAEC,sBAAsB;MAAEC;IAAsB,CAAC,GAAG3B,kBAAkB,CAACqB,KAAK,EAAE,OAAO,CAAC;IAE5F,MAAMO,SAAS,GAAG3B,QAAQ,CAAC,OAAO;MAChCW,YAAY,EAAES,KAAK,CAACT,YAAY;MAChCiB,QAAQ,EAAEL,cAAc,CAACK,QAAQ,CAACC,KAAK;MACvCC,QAAQ,EAAEP,cAAc,CAACQ,UAAU,CAACF,KAAK;MACzCrB,UAAU,EAAEY,KAAK,CAACZ,UAAU;MAC5BQ,QAAQ,EAAEI,KAAK,CAACJ;IAClB,CAAC,CAAC,CAAC;IAEHZ,SAAS,CAAC;MAAA;MAAA;QAAA,SAEC,CACL,yBAAyB,EACzB;UACE,iCAAiC,EAAEmB,cAAc,CAACQ,UAAU,CAACF;QAC/D,CAAC,EACDJ,sBAAsB,CAACI,KAAK,CAC7B;QAAA,SACOH,qBAAqB,CAACG,KAAK;QAAA,QAC9B,QAAQ;QAAA,YACFN,cAAc,CAACK,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC,GAAGG,SAAS;QAAA,YAC9CT,cAAc,CAACK,QAAQ,CAACC,KAAK;QAAA,iBACxBN,cAAc,CAACQ,UAAU,CAACF,KAAK;QAAA,WACrC,CAACT,KAAK,CAACJ,QAAQ,GAAGO,cAAc,CAACU,MAAM,GAAGD;MAAS;QAAA,SAGjD;MAAkC,4BAE5CV,KAAK,CAACZ,OAAO,qBAAb,oBAAAY,KAAK,EAAWK,SAAS,CAACE,KAAK,CAAC,EAEhC,CAACT,KAAK,CAACR,WAAW;QAAA,SACN;MAA+B,IAEvCU,KAAK,CAACY,OAAO,GAAGZ,KAAK,CAACY,OAAO,CAACP,SAAS,CAACE,KAAK,CAAC;QAAA,QAC9BN,cAAc,CAACQ,UAAU,CAACF,KAAK,GAAGT,KAAK,CAACT,YAAY,GAAGS,KAAK,CAACZ;MAAU,QAAK,EAGjG,mCAbUY,KAAK,CAACN,MAAM;IAAA,CAe1B,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -46,8 +46,8 @@ declare const VField: {
|
|
|
46
46
|
loading: boolean;
|
|
47
47
|
disabled: boolean;
|
|
48
48
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo";
|
|
49
|
-
focused: boolean;
|
|
50
49
|
clearIcon: IconValue;
|
|
50
|
+
focused: boolean;
|
|
51
51
|
clearable: boolean;
|
|
52
52
|
dirty: boolean;
|
|
53
53
|
persistentClear: boolean;
|
|
@@ -85,7 +85,7 @@ declare const VField: {
|
|
|
85
85
|
}, "$children" | "v-slots" | "v-slot:default" | "onUpdate:modelValue" | "modelValue" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:label" | "v-slot:loader">>> & {
|
|
86
86
|
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
|
|
87
87
|
"onClick:control"?: ((e: MouseEvent) => any) | undefined;
|
|
88
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "error" | "active" | "loading" | "disabled" | "variant" | "
|
|
88
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "error" | "active" | "loading" | "disabled" | "variant" | "clearIcon" | "focused" | "clearable" | "dirty" | "persistentClear" | "singleLine">;
|
|
89
89
|
$attrs: {
|
|
90
90
|
[x: string]: unknown;
|
|
91
91
|
};
|
|
@@ -97,7 +97,7 @@ declare const VField: {
|
|
|
97
97
|
}>;
|
|
98
98
|
$root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
|
|
99
99
|
$parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
|
|
100
|
-
$emit: ((event: "
|
|
100
|
+
$emit: ((event: "click:control", e: MouseEvent) => void) & ((event: "update:focused", focused: boolean) => void);
|
|
101
101
|
$el: any;
|
|
102
102
|
$options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<Omit<{
|
|
103
103
|
loading: BooleanConstructor;
|
|
@@ -145,8 +145,8 @@ declare const VField: {
|
|
|
145
145
|
loading: boolean;
|
|
146
146
|
disabled: boolean;
|
|
147
147
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo";
|
|
148
|
-
focused: boolean;
|
|
149
148
|
clearIcon: IconValue;
|
|
149
|
+
focused: boolean;
|
|
150
150
|
clearable: boolean;
|
|
151
151
|
dirty: boolean;
|
|
152
152
|
persistentClear: boolean;
|
|
@@ -256,8 +256,8 @@ declare const VField: {
|
|
|
256
256
|
loading: boolean;
|
|
257
257
|
disabled: boolean;
|
|
258
258
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo";
|
|
259
|
-
focused: boolean;
|
|
260
259
|
clearIcon: IconValue;
|
|
260
|
+
focused: boolean;
|
|
261
261
|
clearable: boolean;
|
|
262
262
|
dirty: boolean;
|
|
263
263
|
persistentClear: boolean;
|
|
@@ -130,8 +130,8 @@ declare const VFileInput: vue.DefineComponent<{
|
|
|
130
130
|
readonly: boolean;
|
|
131
131
|
messages: string | string[];
|
|
132
132
|
density: Density;
|
|
133
|
-
errorMessages: string | string[];
|
|
134
133
|
focused: boolean;
|
|
134
|
+
errorMessages: string | string[];
|
|
135
135
|
maxErrors: string | number;
|
|
136
136
|
rules: ValidationRule[];
|
|
137
137
|
}> & Omit<Readonly<vue.ExtractPropTypes<Omit<{
|
|
@@ -178,7 +178,7 @@ declare const VFileInput: vue.DefineComponent<{
|
|
|
178
178
|
'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
|
|
179
179
|
}, "$children" | "v-slots" | "v-slot:default" | "v-slot:prepend" | "v-slot:append" | "v-slot:details">>> & {
|
|
180
180
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
|
181
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "
|
|
181
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules">;
|
|
182
182
|
$attrs: {
|
|
183
183
|
[x: string]: unknown;
|
|
184
184
|
};
|
|
@@ -249,8 +249,8 @@ declare const VFileInput: vue.DefineComponent<{
|
|
|
249
249
|
readonly: boolean;
|
|
250
250
|
messages: string | string[];
|
|
251
251
|
density: Density;
|
|
252
|
-
errorMessages: string | string[];
|
|
253
252
|
focused: boolean;
|
|
253
|
+
errorMessages: string | string[];
|
|
254
254
|
maxErrors: string | number;
|
|
255
255
|
rules: ValidationRule[];
|
|
256
256
|
}> & {
|
|
@@ -341,7 +341,7 @@ declare const VFileInput: vue.DefineComponent<{
|
|
|
341
341
|
"v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
|
342
342
|
"v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
|
343
343
|
};
|
|
344
|
-
}, "id" | "name" | "label" | "$children" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:default" | "v-slot:prepend" | "v-slot:append" | "onUpdate:modelValue" | "modelValue" | "prependIcon" | "appendIcon" | "
|
|
344
|
+
}, "id" | "name" | "label" | "$children" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:default" | "v-slot:prepend" | "v-slot:append" | "onUpdate:modelValue" | "modelValue" | "prependIcon" | "appendIcon" | "onClick:append" | "onClick:prepend" | "validateOn" | "validationValue" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
345
345
|
'click:control': (e: MouseEvent) => true;
|
|
346
346
|
'update:modelValue': (files: File[]) => true;
|
|
347
347
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
@@ -457,11 +457,11 @@ declare const VFileInput: vue.DefineComponent<{
|
|
|
457
457
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo";
|
|
458
458
|
modelValue: File[];
|
|
459
459
|
prependIcon: (string & {}) | IconValue;
|
|
460
|
-
|
|
460
|
+
clearIcon: IconValue;
|
|
461
461
|
focused: boolean;
|
|
462
|
+
errorMessages: string | string[];
|
|
462
463
|
maxErrors: string | number;
|
|
463
464
|
rules: ValidationRule[];
|
|
464
|
-
clearIcon: IconValue;
|
|
465
465
|
clearable: boolean;
|
|
466
466
|
dirty: boolean;
|
|
467
467
|
persistentClear: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VInput.mjs","names":["VMessages","IconValue","makeDensityProps","useDensity","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","isOn","pick","propsFactory","useRender","useInputIcon","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","attrs","slots","emit","densityClasses","InputIcon","uid","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","hasPrepend","prepend","hasAppend","append","hasMessages","length","value","hasDetails","details","message","filterInputProps","keys","Object","filter","k"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, isOn, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp,\n 'onClick:append': EventProp,\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, '
|
|
1
|
+
{"version":3,"file":"VInput.mjs","names":["VMessages","IconValue","makeDensityProps","useDensity","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","isOn","pick","propsFactory","useRender","useInputIcon","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","attrs","slots","emit","densityClasses","InputIcon","uid","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","hasPrepend","prepend","hasAppend","append","hasMessages","length","value","hasDetails","details","message","filterInputProps","keys","Object","filter","k"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, isOn, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp,\n 'onClick:append': EventProp,\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, 'v-input')\n\nexport type VInputSlots = MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}>\n\nexport const VInput = genericComponent<new () => {\n $props: SlotsToProps<VInputSlots>\n}>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = !!(\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n ) }\n </div>\n ) }\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n ) }\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n ) }\n\n { slots.append?.(slotProps.value) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ hasMessages }\n messages={ errorMessages.value.length > 0\n ? errorMessages.value\n : props.messages\n }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: Record<string, unknown>) {\n const keys = Object.keys(VInput.props).filter(k => !isOn(k))\n return pick(props, keys)\n}\n"],"mappings":"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"}
|
|
@@ -56,8 +56,8 @@ declare const VInput: {
|
|
|
56
56
|
readonly: boolean;
|
|
57
57
|
messages: string | string[];
|
|
58
58
|
density: Density;
|
|
59
|
-
errorMessages: string | string[];
|
|
60
59
|
focused: boolean;
|
|
60
|
+
errorMessages: string | string[];
|
|
61
61
|
maxErrors: string | number;
|
|
62
62
|
rules: ValidationRule[];
|
|
63
63
|
}> & Omit<Readonly<vue.ExtractPropTypes<Omit<{
|
|
@@ -104,7 +104,7 @@ declare const VInput: {
|
|
|
104
104
|
'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
|
|
105
105
|
}, "$children" | "v-slots" | "v-slot:default" | "v-slot:prepend" | "v-slot:append" | "v-slot:details">>> & {
|
|
106
106
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
|
107
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "
|
|
107
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules">;
|
|
108
108
|
$attrs: {
|
|
109
109
|
[x: string]: unknown;
|
|
110
110
|
};
|
|
@@ -175,8 +175,8 @@ declare const VInput: {
|
|
|
175
175
|
readonly: boolean;
|
|
176
176
|
messages: string | string[];
|
|
177
177
|
density: Density;
|
|
178
|
-
errorMessages: string | string[];
|
|
179
178
|
focused: boolean;
|
|
179
|
+
errorMessages: string | string[];
|
|
180
180
|
maxErrors: string | number;
|
|
181
181
|
rules: ValidationRule[];
|
|
182
182
|
}> & {
|
|
@@ -308,8 +308,8 @@ declare const VInput: {
|
|
|
308
308
|
readonly: boolean;
|
|
309
309
|
messages: string | string[];
|
|
310
310
|
density: Density;
|
|
311
|
-
errorMessages: string | string[];
|
|
312
311
|
focused: boolean;
|
|
312
|
+
errorMessages: string | string[];
|
|
313
313
|
maxErrors: string | number;
|
|
314
314
|
rules: ValidationRule[];
|
|
315
315
|
}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","useBackgroundColor","computed","ref","toRef","genericComponent","getPropertyFromItem","pick","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","VList","name","activeColor","String","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","focusable","querySelectorAll","filter","el","hasAttribute","idx","indexOf","document","activeElement","at","idxx","inc","offsetParent","length"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { InternalItem, ItemProps } from '@/composables/items'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\nexport interface InternalListItem extends InternalItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = typeof item === 'string' ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: unknown[]) => true,\n 'update:opened': (val: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = ref(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n const idx = focusable.indexOf(document.activeElement as HTMLElement)\n\n if (!location) {\n focusable[0]?.focus()\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else {\n let el\n let idxx = idx\n const inc = location === 'next' ? 1 : -1\n do {\n idxx += inc\n el = focusable[idxx]\n } while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0)\n if (el) el.focus()\n else focus(location === 'next' ? 'first' : 'last')\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","useBackgroundColor","computed","ref","toRef","genericComponent","getPropertyFromItem","pick","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","VList","name","activeColor","String","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","preventDefault","location","focusable","querySelectorAll","filter","el","hasAttribute","idx","indexOf","document","activeElement","at","idxx","inc","offsetParent","length"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { InternalItem, ItemProps } from '@/composables/items'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\nexport interface InternalListItem extends InternalItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = typeof item === 'string' ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: unknown[]) => true,\n 'update:opened': (val: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = ref(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n const idx = focusable.indexOf(document.activeElement as HTMLElement)\n\n if (!location) {\n focusable[0]?.focus()\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else {\n let el\n let idxx = idx\n const inc = location === 'next' ? 1 : -1\n do {\n idxx += inc\n el = focusable[idxx]\n } while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0)\n if (el) el.focus()\n else focus(location === 'next' ? 'first' : 'last')\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","useList","IconValue","makeTagProps","useNestedGroupActivator","useNestedItem","computed","toRef","defineComponent","genericComponent","pick","propsFactory","useRender","VListGroupActivator","name","setup","_","slots","default","makeVListGroupProps","activeColor","String","color","collapseIcon","type","expandIcon","prependIcon","appendIcon","fluid","Boolean","subgroup","value","VListGroup","props","title","isOpen","open","id","_id","list","onClick","e","activatorProps","class","toggleIcon","hasPrepend","activator","VListItem","active","filterListGroupProps","Object","keys"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { useList } from './list'\nimport { IconValue } from '@/composables/icons'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { SlotsToProps } from '@/util'\nimport type { ExtractPropTypes, Ref } from 'vue'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n class: string\n }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const makeVListGroupProps = propsFactory({\n activeColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n value: null,\n\n ...makeTagProps(),\n}, '
|
|
1
|
+
{"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","useList","IconValue","makeTagProps","useNestedGroupActivator","useNestedItem","computed","toRef","defineComponent","genericComponent","pick","propsFactory","useRender","VListGroupActivator","name","setup","_","slots","default","makeVListGroupProps","activeColor","String","color","collapseIcon","type","expandIcon","prependIcon","appendIcon","fluid","Boolean","subgroup","value","VListGroup","props","title","isOpen","open","id","_id","list","onClick","e","activatorProps","class","toggleIcon","hasPrepend","activator","VListItem","active","filterListGroupProps","Object","keys"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { useList } from './list'\nimport { IconValue } from '@/composables/icons'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { SlotsToProps } from '@/util'\nimport type { ExtractPropTypes, Ref } from 'vue'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n class: string\n }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const makeVListGroupProps = propsFactory({\n activeColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n value: null,\n\n ...makeTagProps(),\n}, 'v-list-group')\n\nexport const VListGroup = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n activator: [ListGroupActivatorSlot]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n title: String,\n\n ...makeVListGroupProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open, id: _id } = useNestedItem(toRef(props, 'value'), true)\n const id = computed(() => `v-list-group--id-${String(_id.value)}`)\n const list = useList()\n\n function onClick (e: Event) {\n open(!isOpen.value, e)\n }\n\n const activatorProps: Ref<ListGroupActivatorSlot['props']> = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n id: id.value,\n }))\n\n const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n 'v-list-group--fluid': props.fluid,\n 'v-list-group--subgroup': props.subgroup,\n },\n ]}\n >\n { slots.activator && (\n <VDefaultsProvider\n defaults={{\n VListItem: {\n active: isOpen.value,\n activeColor: props.activeColor,\n color: props.color,\n prependIcon: props.prependIcon || (props.subgroup && toggleIcon.value),\n appendIcon: props.appendIcon || (!props.subgroup && toggleIcon.value),\n title: props.title,\n value: props.value,\n },\n }}\n >\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n ) }\n\n <VExpandTransition>\n <div class=\"v-list-group__items\" role=\"group\" aria-labelledby={ id.value } v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VListGroup = InstanceType<typeof VListGroup>\n\nexport function filterListGroupProps (props: ExtractPropTypes<ReturnType<typeof makeVListGroupProps>>) {\n return pick(props, Object.keys(VListGroup.props) as any)\n}\n"],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
|
22
22
|
import { useList } from "./list.mjs";
|
|
23
23
|
import { useNestedItem } from "../../composables/nested/nested.mjs"; // Utilities
|
|
24
24
|
import { computed, watch } from 'vue';
|
|
25
|
-
import { genericComponent, useRender } from "../../util/index.mjs"; // Types
|
|
25
|
+
import { EventProp, genericComponent, useRender } from "../../util/index.mjs"; // Types
|
|
26
26
|
export const VListItem = genericComponent()({
|
|
27
27
|
name: 'VListItem',
|
|
28
28
|
directives: {
|
|
@@ -49,6 +49,8 @@ export const VListItem = genericComponent()({
|
|
|
49
49
|
subtitle: [String, Number, Boolean],
|
|
50
50
|
title: [String, Number, Boolean],
|
|
51
51
|
value: null,
|
|
52
|
+
onClick: EventProp,
|
|
53
|
+
onClickOnce: EventProp,
|
|
52
54
|
...makeBorderProps(),
|
|
53
55
|
...makeDensityProps(),
|
|
54
56
|
...makeDimensionProps(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VListItem.mjs","names":["VAvatar","VDefaultsProvider","VIcon","VListItemSubtitle","VListItemTitle","Ripple","genOverlays","makeVariantProps","useVariant","IconValue","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","useList","useNestedItem","computed","watch","genericComponent","useRender","VListItem","name","directives","props","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","disabled","lines","link","nav","prependAvatar","prependIcon","subtitle","Number","title","value","variant","emits","click","e","setup","attrs","slots","emit","id","href","select","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","list","isActive","isLink","isClickable","roundedProps","rounded","variantProps","color","val","open","immediate","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","onClick","navigate","onKeyDown","key","preventDefault","Tag","tag","hasColor","hasTitle","hasSubtitle","hasAppend","append","hasPrepend","prepend","updateHasPrepend","density","image","icon","VListItemAction","start","end"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport const VListItem = genericComponent<new () => {\n $props: SlotsToProps<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: [String, Number, Boolean],\n title: [String, Number, Boolean],\n value: null,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n click: (e: Event) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent, openOnSelect } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || isSelected.value)\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (props.value != null && !!list))\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const variantProps = computed(() => ({\n color: isActive.value ? props.activeColor ?? props.color : props.color,\n variant: props.variant,\n }))\n\n watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n\n if (val) {\n openOnSelect(val)\n }\n }, { immediate: true })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (isGroupActivator || !isClickable.value) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, 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 useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasColor = !list || isSelected.value || isActive.value\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n <div class=\"v-list-item__prepend\">\n { props.prependAvatar && (\n <VAvatar key=\"prepend-avatar\" />\n ) }\n\n { props.prependIcon && (\n <VIcon key=\"prepend-icon\" />\n ) }\n\n { slots.prepend?.(slotProps.value) }\n </div>\n </VDefaultsProvider>\n ) }\n\n <div class=\"v-list-item__content\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? props.title}\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? props.subtitle }\n </VListItemSubtitle>\n ) }\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n <div class=\"v-list-item__append\">\n { slots.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon key=\"append-icon\" />\n ) }\n\n { props.appendAvatar && (\n <VAvatar key=\"append-avatar\" />\n ) }\n </div>\n </VDefaultsProvider>\n ) }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VListItem.mjs","names":["VAvatar","VDefaultsProvider","VIcon","VListItemSubtitle","VListItemTitle","Ripple","genOverlays","makeVariantProps","useVariant","IconValue","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","useList","useNestedItem","computed","watch","EventProp","genericComponent","useRender","VListItem","name","directives","props","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","disabled","lines","link","nav","prependAvatar","prependIcon","subtitle","Number","title","value","onClick","onClickOnce","variant","emits","click","e","setup","attrs","slots","emit","id","href","select","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","list","isActive","isLink","isClickable","roundedProps","rounded","variantProps","color","val","open","immediate","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","navigate","onKeyDown","key","preventDefault","Tag","tag","hasColor","hasTitle","hasSubtitle","hasAppend","append","hasPrepend","prepend","updateHasPrepend","density","image","icon","VListItemAction","start","end"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, watch } from 'vue'\nimport { EventProp, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport const VListItem = genericComponent<new () => {\n $props: SlotsToProps<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: [String, Number, Boolean],\n title: [String, Number, Boolean],\n value: null,\n\n onClick: EventProp,\n onClickOnce: EventProp,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent, openOnSelect } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || isSelected.value)\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (props.value != null && !!list))\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const variantProps = computed(() => ({\n color: isActive.value ? props.activeColor ?? props.color : props.color,\n variant: props.variant,\n }))\n\n watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n\n if (val) {\n openOnSelect(val)\n }\n }, { immediate: true })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (isGroupActivator || !isClickable.value) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, 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 useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasColor = !list || isSelected.value || isActive.value\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n <div class=\"v-list-item__prepend\">\n { props.prependAvatar && (\n <VAvatar key=\"prepend-avatar\" />\n ) }\n\n { props.prependIcon && (\n <VIcon key=\"prepend-icon\" />\n ) }\n\n { slots.prepend?.(slotProps.value) }\n </div>\n </VDefaultsProvider>\n ) }\n\n <div class=\"v-list-item__content\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? props.title}\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? props.subtitle }\n </VListItemSubtitle>\n ) }\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n <div class=\"v-list-item__append\">\n { slots.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon key=\"append-icon\" />\n ) }\n\n { props.appendAvatar && (\n <VAvatar key=\"append-avatar\" />\n ) }\n </div>\n </VDefaultsProvider>\n ) }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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"}
|