vuetify 3.6.7 → 3.6.9
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 +48 -16
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +132 -132
- package/dist/json/tags.json +8 -0
- package/dist/json/web-types.json +130 -59
- package/dist/vuetify-labs.css +2341 -2261
- package/dist/vuetify-labs.d.ts +715 -1581
- package/dist/vuetify-labs.esm.js +266 -141
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +265 -140
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1610 -1530
- package/dist/vuetify.d.ts +605 -1317
- package/dist/vuetify.esm.js +144 -103
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +143 -102
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +335 -330
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +58 -56
- package/lib/blueprints/md1.d.mts +58 -56
- package/lib/blueprints/md2.d.mts +58 -56
- package/lib/blueprints/md3.d.mts +58 -56
- package/lib/components/VAutocomplete/VAutocomplete.mjs +17 -14
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +102 -336
- package/lib/components/VBanner/VBanner.css +1 -0
- package/lib/components/VBanner/VBanner.sass +1 -0
- package/lib/components/VBanner/_variables.scss +1 -0
- package/lib/components/VCombobox/VCombobox.mjs +7 -11
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +102 -336
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -0
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.mjs +1 -1
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VEmptyState/VEmptyState.css +2 -2
- package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
- package/lib/components/VEmptyState/VEmptyState.mjs.map +1 -1
- package/lib/components/VEmptyState/_variables.scss +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +36 -36
- package/lib/components/VExpansionPanel/shared.mjs +4 -0
- package/lib/components/VExpansionPanel/shared.mjs.map +1 -0
- package/lib/components/VFab/VFab.mjs +4 -7
- package/lib/components/VFab/VFab.mjs.map +1 -1
- package/lib/components/VFab/index.d.mts +46 -49
- package/lib/components/VList/VList.mjs +4 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -0
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +2 -2
- package/lib/components/VList/VListItem.mjs +2 -0
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -1
- package/lib/components/VList/index.d.mts +54 -66
- package/lib/components/VMenu/VMenu.mjs +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +4 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +102 -336
- package/lib/components/VSelectionControl/VSelectionControl.mjs +9 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +2 -0
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +1 -1
- package/lib/components/VStepper/VStepper.mjs +19 -5
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.css +3 -0
- package/lib/components/VStepper/VStepperItem.mjs +1 -1
- package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.sass +3 -0
- package/lib/components/VStepper/VStepperWindow.mjs +2 -2
- package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
- package/lib/components/VStepper/index.d.mts +43 -9
- package/lib/components/VStepper/shared.mjs +4 -0
- package/lib/components/VStepper/shared.mjs.map +1 -0
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/index.d.mts +417 -1128
- package/lib/composables/defaults.mjs +3 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/filter.mjs +1 -1
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/scroll.mjs +6 -0
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +154 -155
- package/lib/labs/VNumberInput/VNumberInput.mjs +7 -1
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -2
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -1
- package/lib/labs/VStepperVertical/index.d.mts +43 -9
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +3 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +7 -2
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeview.mjs +4 -5
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +30 -25
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +83 -12
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +116 -300
- package/lib/labs/components.d.mts +3408 -3558
- package/lib/styles/main.css +76 -0
- package/lib/styles/settings/_utilities.scss +5 -1
- package/package.json +2 -2
|
@@ -67,6 +67,9 @@ export const VDatePickerMonth = genericComponent()({
|
|
|
67
67
|
});
|
|
68
68
|
function onRangeClick(value) {
|
|
69
69
|
const _value = adapter.startOfDay(value);
|
|
70
|
+
if (model.value.length === 0) {
|
|
71
|
+
rangeStart.value = undefined;
|
|
72
|
+
}
|
|
70
73
|
if (!rangeStart.value) {
|
|
71
74
|
rangeStart.value = _value;
|
|
72
75
|
model.value = [rangeStart.value];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","VDefaultsProvider","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","propsFactory","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","isSameDay","undefined","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","weekDay","item","slotProps","isSelected","isDisabled","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","class","isToday","disabled","icon","ripple","text","localized","variant","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...makeCalendarProps(),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n }}\n >\n { slots.day?.(slotProps) ?? (\n <VBtn { ...slotProps.props } />\n )}\n </VDefaultsProvider>\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,0CAE1B;AAAA,SACSC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,OAAO;AAAA,SACPC,eAAe,4CAExB;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC7CC,gBAAgB,EAAEC,YAAY,gCAEvC;AAaA,OAAO,MAAMC,yBAAyB,GAAGD,YAAY,CAAC;EACpDE,KAAK,EAAEC,MAAM;EACbC,YAAY,EAAEC,OAAO;EACrBC,QAAQ,EAAE,CAACD,OAAO,EAAEE,MAAM,EAAEJ,MAAM,CAAyD;EAC3FK,QAAQ,EAAEH,OAAO;EACjBI,UAAU,EAAE;IACVC,IAAI,EAAEP,MAAM;IACZQ,OAAO,EAAE;EACX,CAAC;EACDC,iBAAiB,EAAE;IACjBF,IAAI,EAAEP,MAAM;IACZQ,OAAO,EAAE;EACX,CAAC;EAED,GAAGpB,iBAAiB,CAAC;AACvB,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMsB,gBAAgB,GAAGd,gBAAgB,CAAwB,CAAC,CAAC;EACxEe,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEd,yBAAyB,CAAC,CAAC;EAElCe,KAAK,EAAE;IACL,mBAAmB,EAAGC,IAAa,IAAK,IAAI;IAC5C,cAAc,EAAGA,IAAY,IAAK,IAAI;IACtC,aAAa,EAAGA,IAAY,IAAK;EACnC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,OAAO,GAAG1B,GAAG,CAAC,CAAC;IAErB,MAAM;MAAE2B,WAAW;MAAEC,KAAK;MAAEC;IAAY,CAAC,GAAGjC,WAAW,CAACuB,KAAK,CAAC;IAC9D,MAAMW,OAAO,GAAGjC,OAAO,CAAC,CAAC;IAEzB,MAAMkC,UAAU,GAAG9B,UAAU,CAAC,CAAC;IAC/B,MAAM+B,SAAS,GAAG/B,UAAU,CAAC,CAAC;IAC9B,MAAMgC,SAAS,GAAGhC,UAAU,CAAC,KAAK,CAAC;IAEnC,MAAMY,UAAU,GAAGd,QAAQ,CAAC,MAAM;MAChC,OAAO,CAACkC,SAAS,CAACC,KAAK,GAAGf,KAAK,CAACN,UAAU,GAAGM,KAAK,CAACH,iBAAiB;IACtE,CAAC,CAAC;IAEF,IAAIG,KAAK,CAACT,QAAQ,KAAK,OAAO,IAAIkB,KAAK,CAACM,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;MACxDJ,UAAU,CAACG,KAAK,GAAGN,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC;MACjC,IAAIN,KAAK,CAACM,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;QAC1BH,SAAS,CAACE,KAAK,GAAGN,KAAK,CAACM,KAAK,CAACN,KAAK,CAACM,KAAK,CAACC,MAAM,GAAG,CAAC,CAAC;MACvD;IACF;IAEA,MAAMC,KAAK,GAAGrC,QAAQ,CAAC,MAAM;MAC3B,MAAMsC,GAAG,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAACC,QAAQ,CAAC,OAAOnB,KAAK,CAACT,QAAQ,CAAC,GAAGC,MAAM,CAACQ,KAAK,CAACT,QAAQ,CAAC,GAAG6B,QAAQ;MAEpG,OAAOX,KAAK,CAACM,KAAK,CAACC,MAAM,IAAIE,GAAG;IAClC,CAAC,CAAC;IAEFnC,KAAK,CAACyB,WAAW,EAAE,CAACa,GAAG,EAAEC,MAAM,KAAK;MAClC,IAAI,CAACA,MAAM,EAAE;MAEbR,SAAS,CAACC,KAAK,GAAGJ,OAAO,CAACY,QAAQ,CAACF,GAAG,CAAC,CAAC,CAAC,CAACnB,IAAI,EAAEoB,MAAM,CAAC,CAAC,CAAC,CAACpB,IAAI,CAAC;IACjE,CAAC,CAAC;IAEF,SAASsB,YAAYA,CAAET,KAAc,EAAE;MACrC,MAAMU,MAAM,GAAGd,OAAO,CAACe,UAAU,CAACX,KAAK,CAAC;MAExC,IAAI,CAACH,UAAU,CAACG,KAAK,EAAE;QACrBH,UAAU,CAACG,KAAK,GAAGU,MAAM;QACzBhB,KAAK,CAACM,KAAK,GAAG,CAACH,UAAU,CAACG,KAAK,CAAC;MAClC,CAAC,MAAM,IAAI,CAACF,SAAS,CAACE,KAAK,EAAE;QAC3B,IAAIJ,OAAO,CAACgB,SAAS,CAACF,MAAM,EAAEb,UAAU,CAACG,KAAK,CAAC,EAAE;UAC/CH,UAAU,CAACG,KAAK,GAAGa,SAAS;UAC5BnB,KAAK,CAACM,KAAK,GAAG,EAAE;UAChB;QACF,CAAC,MAAM,IAAIJ,OAAO,CAACY,QAAQ,CAACE,MAAM,EAAEb,UAAU,CAACG,KAAK,CAAC,EAAE;UACrDF,SAAS,CAACE,KAAK,GAAGJ,OAAO,CAACkB,QAAQ,CAACjB,UAAU,CAACG,KAAK,CAAC;UACpDH,UAAU,CAACG,KAAK,GAAGU,MAAM;QAC3B,CAAC,MAAM;UACLZ,SAAS,CAACE,KAAK,GAAGJ,OAAO,CAACkB,QAAQ,CAACJ,MAAM,CAAC;QAC5C;QAEA,MAAMK,IAAI,GAAGnB,OAAO,CAACoB,OAAO,CAAClB,SAAS,CAACE,KAAK,EAAEH,UAAU,CAACG,KAAK,EAAE,MAAM,CAAC;QACvE,MAAMiB,YAAY,GAAG,CAACpB,UAAU,CAACG,KAAK,CAAC;QAEvC,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,IAAI,EAAEG,CAAC,EAAE,EAAE;UAC7B,MAAMC,QAAQ,GAAGvB,OAAO,CAACwB,OAAO,CAACvB,UAAU,CAACG,KAAK,EAAEkB,CAAC,CAAC;UACrDD,YAAY,CAACI,IAAI,CAACF,QAAQ,CAAC;QAC7B;QAEAF,YAAY,CAACI,IAAI,CAACvB,SAAS,CAACE,KAAK,CAAC;QAElCN,KAAK,CAACM,KAAK,GAAGiB,YAAY;MAC5B,CAAC,MAAM;QACLpB,UAAU,CAACG,KAAK,GAAGA,KAAK;QACxBF,SAAS,CAACE,KAAK,GAAGa,SAAS;QAC3BnB,KAAK,CAACM,KAAK,GAAG,CAACH,UAAU,CAACG,KAAK,CAAC;MAClC;IACF;IAEA,SAASsB,eAAeA,CAAEtB,KAAc,EAAE;MACxC,MAAMuB,KAAK,GAAG7B,KAAK,CAACM,KAAK,CAACwB,SAAS,CAACC,SAAS,IAAI7B,OAAO,CAACgB,SAAS,CAACa,SAAS,EAAEzB,KAAK,CAAC,CAAC;MAErF,IAAIuB,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB7B,KAAK,CAACM,KAAK,GAAG,CAAC,GAAGN,KAAK,CAACM,KAAK,EAAEA,KAAK,CAAC;MACvC,CAAC,MAAM;QACL,MAAMA,KAAK,GAAG,CAAC,GAAGN,KAAK,CAACM,KAAK,CAAC;QAC9BA,KAAK,CAAC0B,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;QACtB7B,KAAK,CAACM,KAAK,GAAGA,KAAK;MACrB;IACF;IAEA,SAAS2B,OAAOA,CAAE3B,KAAc,EAAE;MAChC,IAAIf,KAAK,CAACT,QAAQ,KAAK,OAAO,EAAE;QAC9BiC,YAAY,CAACT,KAAK,CAAC;MACrB,CAAC,MAAM,IAAIf,KAAK,CAACT,QAAQ,EAAE;QACzB8C,eAAe,CAACtB,KAAK,CAAC;MACxB,CAAC,MAAM;QACLN,KAAK,CAACM,KAAK,GAAG,CAACA,KAAK,CAAC;MACvB;IACF;IAEA,OAAO,MAAA4B,YAAA;MAAA;IAAA,IAED3C,KAAK,CAACP,QAAQ,IAAAkD,YAAA;MAAA;MAAA;IAAA,IAEV,CAAC3C,KAAK,CAACX,YAAY,IAAAsD,YAAA;MAAA;MAAA;IAAA,IAAAC,gBAAA,UAEpB,EACClC,WAAW,CAACK,KAAK,CAAC8B,GAAG,CAACC,IAAI,IAAAH,YAAA;MAAA,SAEjB,CACL,0BAA0B,EAC1B,oCAAoC;IACrC,IACAG,IAAI,EACR,CAAC,EAEL,EAAAH,YAAA,CAAAhE,eAAA;MAAA,QAEuBe,UAAU,CAACqB;IAAK;MAAAnB,OAAA,EAAAA,CAAA,MAAA+C,YAAA;QAAA,OAE9BpC,OAAO;QAAA,OACPC,WAAW,CAACO,KAAK,CAAC,CAAC,CAAC,CAACb,IAAI,EAAE6C,QAAQ,CAAC,CAAC;QAAA;MAAA,IAGzC,CAAC/C,KAAK,CAACX,YAAY,IAAIsB,OAAO,CAACqC,WAAW,CAAC,CAAC,CAACH,GAAG,CAACI,OAAO,IAAAN,YAAA;QAAA,SAE/C,CACL,0BAA0B,EAC1B,8BAA8B;MAC/B,IACAM,OAAO,EACX,CAAC,EAEAzC,WAAW,CAACO,KAAK,CAAC8B,GAAG,CAAC,CAACK,IAAI,EAAEjB,CAAC,KAAK;QACnC,MAAMkB,SAAS,GAAG;UAChBnD,KAAK,EAAE;YACL0C,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAACQ,IAAI,CAAChD,IAAI;UAClC,CAAC;UACDgD,IAAI;UACJjB;QACF,CAAU;QAEV,IAAIhB,KAAK,CAACF,KAAK,IAAI,CAACmC,IAAI,CAACE,UAAU,EAAE;UACnCF,IAAI,CAACG,UAAU,GAAG,IAAI;QACxB;QAEA,OAAAV,YAAA;UAAA,SAEW,CACL,0BAA0B,EAC1B;YACE,oCAAoC,EAAEO,IAAI,CAACI,UAAU;YACrD,yCAAyC,EAAEJ,IAAI,CAACK,QAAQ;YACxD,oCAAoC,EAAEL,IAAI,CAACE,UAAU;YACrD,oCAAoC,EAAEF,IAAI,CAACM,SAAS;YACpD,sCAAsC,EAAEN,IAAI,CAACO;UAC/C,CAAC,CACF;UAAA,eACa,CAACP,IAAI,CAACG,UAAU,GAAGH,IAAI,CAACQ,OAAO,GAAG9B;QAAS,IAGvD,CAAC5B,KAAK,CAAC2D,kBAAkB,IAAI,CAACT,IAAI,CAACI,UAAU,KAAAX,YAAA,CAAApE,iBAAA;UAAA,YAEjC;YACRD,IAAI,EAAE;cACJsF,KAAK,EAAE,8BAA8B;cACrCzE,KAAK,EAAE,CAAC+D,IAAI,CAACE,UAAU,IAAIF,IAAI,CAACW,OAAO,KAAK,CAACX,IAAI,CAACG,UAAU,GACxDrD,KAAK,CAACb,KAAK,GACXyC,SAAS;cACbkC,QAAQ,EAAEZ,IAAI,CAACG,UAAU;cACzBU,IAAI,EAAE,IAAI;cACVC,MAAM,EAAE,KAAK;cACbC,IAAI,EAAEf,IAAI,CAACgB,SAAS;cACpBC,OAAO,EAAEjB,IAAI,CAACG,UAAU,GACpBH,IAAI,CAACW,OAAO,GAAG,UAAU,GAAG,MAAM,GAClCX,IAAI,CAACW,OAAO,IAAI,CAACX,IAAI,CAACE,UAAU,GAAG,UAAU,GAAG,MAAM;cAC1DV,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAACQ,IAAI,CAAChD,IAAI;YAClC;UACF;QAAC;UAAAN,OAAA,EAAAA,CAAA,MAECU,KAAK,CAAC8D,GAAG,GAAGjB,SAAS,CAAC,IAAAR,YAAA,CAAArE,IAAA,EACX6E,SAAS,CAACnD,KAAK,OAC3B;QAAA,EAEJ;MAGP,CAAC,CAAC;IAAA,IAIT;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","VDefaultsProvider","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","propsFactory","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","weekDay","item","slotProps","isSelected","isDisabled","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","class","isToday","disabled","icon","ripple","text","localized","variant","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...makeCalendarProps(),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n }}\n >\n { slots.day?.(slotProps) ?? (\n <VBtn { ...slotProps.props } />\n )}\n </VDefaultsProvider>\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,7 +36,7 @@ export const VDivider = genericComponent()({
|
|
|
36
36
|
const dividerStyles = computed(() => {
|
|
37
37
|
const styles = {};
|
|
38
38
|
if (props.length) {
|
|
39
|
-
styles[props.vertical ? '
|
|
39
|
+
styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);
|
|
40
40
|
}
|
|
41
41
|
if (props.thickness) {
|
|
42
42
|
styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDivider.mjs","names":["useTextColor","makeComponentProps","makeThemeProps","provideTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVDividerProps","color","String","inset","Boolean","length","Number","opacity","thickness","vertical","VDivider","name","props","setup","_ref","attrs","slots","themeClasses","textColorClasses","textColorStyles","dividerStyles","styles","divider","_createVNode","value","class","style","role","undefined","default"],"sources":["../../../src/components/VDivider/VDivider.tsx"],"sourcesContent":["// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | '
|
|
1
|
+
{"version":3,"file":"VDivider.mjs","names":["useTextColor","makeComponentProps","makeThemeProps","provideTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVDividerProps","color","String","inset","Boolean","length","Number","opacity","thickness","vertical","VDivider","name","props","setup","_ref","attrs","slots","themeClasses","textColorClasses","textColorStyles","dividerStyles","styles","divider","_createVNode","value","class","style","role","undefined","default"],"sources":["../../../src/components/VDivider/VDivider.tsx"],"sourcesContent":["// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'height' | 'width'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VDivider')\n\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n\n props: makeVDividerProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n useRender(() => {\n const divider = (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n textColorClasses.value,\n props.class,\n ]}\n style={[\n dividerStyles.value,\n textColorStyles.value,\n { '--v-border-opacity': props.opacity },\n props.style,\n ]}\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={ `${attrs.role || 'separator'}` }\n />\n )\n\n if (!slots.default) return divider\n\n return (\n <div\n class={[\n 'v-divider__wrapper',\n {\n 'v-divider__wrapper--vertical': props.vertical,\n 'v-divider__wrapper--inset': props.inset,\n },\n ]}\n >\n { divider }\n\n <div class=\"v-divider__content\">\n { slots.default() }\n </div>\n\n { divider }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDivider = InstanceType<typeof VDivider>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VEmptyState.mjs","names":["VBtn","VDefaultsProvider","VIcon","VImg","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useDisplay","IconValue","makeSizeProps","makeThemeProps","provideTheme","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVEmptyStateProps","actionText","String","bgColor","color","icon","image","justify","type","default","headline","title","text","textWidth","Number","href","to","size","undefined","VEmptyState","name","props","emits","e","setup","_ref","emit","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","dimensionStyles","displayClasses","onClickAction","hasActions","actions","hasHeadline","hasTitle","hasText","hasMedia","media","_createVNode","value","class","style","_Fragment","src","height","maxWidth","onClick"],"sources":["../../../src/components/VEmptyState/VEmptyState.tsx"],"sourcesContent":["// Styles\nimport './VEmptyState.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\n\nexport type VEmptyStateSlots = {\n actions: {\n props: {\n onClick: (e: Event) => void\n }\n }\n default: never\n headline: never\n title: never\n media: never\n text: never\n}\n\nexport const makeVEmptyStateProps = propsFactory({\n actionText: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n image: String,\n justify: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'center',\n },\n headline: String,\n title: String,\n text: String,\n textWidth: {\n type: [Number, String],\n default: 500,\n },\n href: String,\n to: String,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeSizeProps({ size: undefined }),\n ...makeThemeProps(),\n}, 'VEmptyState')\n\nexport const VEmptyState = genericComponent<VEmptyStateSlots>()({\n name: 'VEmptyState',\n\n props: makeVEmptyStateProps(),\n\n emits: {\n 'click:action': (e: Event) => true,\n },\n\n setup (props, { emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { dimensionStyles } = useDimension(props)\n const { displayClasses } = useDisplay()\n\n function onClickAction (e: Event) {\n emit('click:action', e)\n }\n\n useRender(() => {\n const hasActions = !!(slots.actions || props.actionText)\n const hasHeadline = !!(slots.headline || props.headline)\n const hasTitle = !!(slots.title || props.title)\n const hasText = !!(slots.text || props.text)\n const hasMedia = !!(slots.media || props.image || props.icon)\n const size = props.size || (props.image ? 200 : 96)\n\n return (\n <div\n class={[\n 'v-empty-state',\n {\n [`v-empty-state--${props.justify}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n displayClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasMedia && (\n <div key=\"media\" class=\"v-empty-state__media\">\n { !slots.media ? (\n <>\n { props.image ? (\n <VImg\n key=\"image\"\n src={ props.image }\n height={ size }\n />\n ) : props.icon ? (\n <VIcon\n key=\"icon\"\n color={ props.color }\n size={ size }\n icon={ props.icon }\n />\n ) : undefined }\n </>\n ) : (\n <VDefaultsProvider\n key=\"media-defaults\"\n defaults={{\n VImg: {\n src: props.image,\n height: size,\n },\n VIcon: {\n size,\n icon: props.icon,\n },\n }}\n >\n { slots.media() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasHeadline && (\n <div key=\"headline\" class=\"v-empty-state__headline\">\n { slots.headline?.() ?? props.headline }\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-empty-state__title\">\n { slots.title?.() ?? props.title }\n </div>\n )}\n\n { hasText && (\n <div\n key=\"text\"\n class=\"v-empty-state__text\"\n style={{\n maxWidth: convertToUnit(props.textWidth),\n }}\n >\n { slots.text?.() ?? props.text }\n </div>\n )}\n\n { slots.default && (\n <div key=\"content\" class=\"v-empty-state__content\">\n { slots.default() }\n </div>\n )}\n\n { hasActions && (\n <div key=\"actions\" class=\"v-empty-state__actions\">\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-empty-state__action-btn',\n color: props.color,\n text: props.actionText,\n },\n }}\n >\n {\n slots.actions?.({ props: { onClick: onClickAction } }) ?? (\n <VBtn onClick={ onClickAction } />\n )\n }\n </VDefaultsProvider>\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VEmptyState = InstanceType<typeof VEmptyState>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VEmptyState.mjs","names":["VBtn","VDefaultsProvider","VIcon","VImg","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useDisplay","IconValue","makeSizeProps","makeThemeProps","provideTheme","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVEmptyStateProps","actionText","String","bgColor","color","icon","image","justify","type","default","headline","title","text","textWidth","Number","href","to","size","undefined","VEmptyState","name","props","emits","e","setup","_ref","emit","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","dimensionStyles","displayClasses","onClickAction","hasActions","actions","hasHeadline","hasTitle","hasText","hasMedia","media","_createVNode","value","class","style","_Fragment","src","height","maxWidth","onClick"],"sources":["../../../src/components/VEmptyState/VEmptyState.tsx"],"sourcesContent":["// Styles\nimport './VEmptyState.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\n\nexport type VEmptyStateSlots = {\n actions: {\n props: {\n onClick: (e: Event) => void\n }\n }\n default: never\n headline: never\n title: never\n media: never\n text: never\n}\n\nexport const makeVEmptyStateProps = propsFactory({\n actionText: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n image: String,\n justify: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'center',\n },\n headline: String,\n title: String,\n text: String,\n textWidth: {\n type: [Number, String],\n default: 500,\n },\n href: String,\n to: String,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeSizeProps({ size: undefined }),\n ...makeThemeProps(),\n}, 'VEmptyState')\n\nexport const VEmptyState = genericComponent<VEmptyStateSlots>()({\n name: 'VEmptyState',\n\n props: makeVEmptyStateProps(),\n\n emits: {\n 'click:action': (e: Event) => true,\n },\n\n setup (props, { emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { dimensionStyles } = useDimension(props)\n const { displayClasses } = useDisplay()\n\n function onClickAction (e: Event) {\n emit('click:action', e)\n }\n\n useRender(() => {\n const hasActions = !!(slots.actions || props.actionText)\n const hasHeadline = !!(slots.headline || props.headline)\n const hasTitle = !!(slots.title || props.title)\n const hasText = !!(slots.text || props.text)\n const hasMedia = !!(slots.media || props.image || props.icon)\n const size = props.size || (props.image ? 200 : 96)\n\n return (\n <div\n class={[\n 'v-empty-state',\n {\n [`v-empty-state--${props.justify}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n displayClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasMedia && (\n <div key=\"media\" class=\"v-empty-state__media\">\n { !slots.media ? (\n <>\n { props.image ? (\n <VImg\n key=\"image\"\n src={ props.image }\n height={ size }\n />\n ) : props.icon ? (\n <VIcon\n key=\"icon\"\n color={ props.color }\n size={ size }\n icon={ props.icon }\n />\n ) : undefined }\n </>\n ) : (\n <VDefaultsProvider\n key=\"media-defaults\"\n defaults={{\n VImg: {\n src: props.image,\n height: size,\n },\n VIcon: {\n size,\n icon: props.icon,\n },\n }}\n >\n { slots.media() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasHeadline && (\n <div key=\"headline\" class=\"v-empty-state__headline\">\n { slots.headline?.() ?? props.headline }\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-empty-state__title\">\n { slots.title?.() ?? props.title }\n </div>\n )}\n\n { hasText && (\n <div\n key=\"text\"\n class=\"v-empty-state__text\"\n style={{\n maxWidth: convertToUnit(props.textWidth),\n }}\n >\n { slots.text?.() ?? props.text }\n </div>\n )}\n\n { slots.default && (\n <div key=\"content\" class=\"v-empty-state__content\">\n { slots.default() }\n </div>\n )}\n\n { hasActions && (\n <div key=\"actions\" class=\"v-empty-state__actions\">\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-empty-state__action-btn',\n color: props.color ?? 'surface-variant',\n text: props.actionText,\n },\n }}\n >\n {\n slots.actions?.({ props: { onClick: onClickAction } }) ?? (\n <VBtn onClick={ onClickAction } />\n )\n }\n </VDefaultsProvider>\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VEmptyState = InstanceType<typeof VEmptyState>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@use '../../styles/settings';
|
|
2
2
|
@use "../../styles/tools/functions";
|
|
3
3
|
|
|
4
|
-
$empty-state-actions-btn-background-color:
|
|
5
|
-
$empty-state-actions-btn-color:
|
|
4
|
+
$empty-state-actions-btn-background-color: initial !default;
|
|
5
|
+
$empty-state-actions-btn-color: initial !default;
|
|
6
6
|
$empty-state-actions-gap: 8px !default;
|
|
7
7
|
$empty-state-actions-padding: 16px !default;
|
|
8
8
|
$empty-state-content-padding: 24px 0 !default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
|
|
2
2
|
// Components
|
|
3
|
-
import { VExpansionPanelSymbol } from "./
|
|
3
|
+
import { VExpansionPanelSymbol } from "./shared.mjs";
|
|
4
4
|
import { makeVExpansionPanelTextProps, VExpansionPanelText } from "./VExpansionPanelText.mjs";
|
|
5
5
|
import { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from "./VExpansionPanelTitle.mjs"; // Composables
|
|
6
6
|
import { useBackgroundColor } from "../../composables/color.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanel.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","makeVExpansionPanelTitleProps","VExpansionPanelTitle","useBackgroundColor","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeTagProps","computed","provide","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","expansionPanelTitleProps","filterProps","expansionPanelTextProps","_createVNode","tag","class","style","default","_mergeProps"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './
|
|
1
|
+
{"version":3,"file":"VExpansionPanel.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","makeVExpansionPanelTitleProps","VExpansionPanelTitle","useBackgroundColor","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeTagProps","computed","provide","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","expansionPanelTitleProps","filterProps","expansionPanelTextProps","_createVNode","tag","class","style","default","_mergeProps"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelTextProps, VExpansionPanelText } from './VExpansionPanelText'\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n ...makeVExpansionPanelTextProps(),\n}, 'VExpansionPanel')\n\nexport type VExpansionPanelSlots = {\n default: never\n title: never\n text: never\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props)\n const expansionPanelTextProps = VExpansionPanelText.filterProps(props)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n { hasTitle && (\n <VExpansionPanelTitle\n key=\"title\"\n { ...expansionPanelTitleProps }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText\n key=\"text\"\n { ...expansionPanelTextProps }\n >\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {\n groupItem,\n }\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from "vue";
|
|
2
2
|
// Components
|
|
3
|
-
import { VExpansionPanelSymbol } from "./
|
|
3
|
+
import { VExpansionPanelSymbol } from "./shared.mjs";
|
|
4
4
|
import { VExpandTransition } from "../transitions/index.mjs"; // Composables
|
|
5
5
|
import { makeComponentProps } from "../../composables/component.mjs";
|
|
6
6
|
import { makeLazyProps, useLazy } from "../../composables/lazy.mjs"; // Utilities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanelText.mjs","names":["VExpansionPanelSymbol","VExpandTransition","makeComponentProps","makeLazyProps","useLazy","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTextProps","VExpansionPanelText","name","props","setup","_ref","slots","expansionPanel","Error","hasContent","onAfterLeave","isSelected","_createVNode","default","_withDirectives","class","style","value","_vShow"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelText.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './
|
|
1
|
+
{"version":3,"file":"VExpansionPanelText.mjs","names":["VExpansionPanelSymbol","VExpandTransition","makeComponentProps","makeLazyProps","useLazy","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTextProps","VExpansionPanelText","name","props","setup","_ref","slots","expansionPanel","Error","hasContent","onAfterLeave","isSelected","_createVNode","default","_withDirectives","class","style","value","_vShow"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelText.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTextProps = propsFactory({\n ...makeComponentProps(),\n ...makeLazyProps(),\n}, 'VExpansionPanelText')\n\nexport const VExpansionPanelText = genericComponent()({\n name: 'VExpansionPanelText',\n\n props: makeVExpansionPanelTextProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n useRender(() => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n class={[\n 'v-expansion-panel-text',\n props.class,\n ]}\n style={ props.style }\n v-show={ expansionPanel.isSelected.value }\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n )}\n </div>\n </VExpandTransition>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>\n"],"mappings":";AAAA;AAAA,SACSA,qBAAqB;AAAA,SACrBC,iBAAiB,oCAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,aAAa,EAAEC,OAAO,sCAE/B;AACA,SAASC,MAAM,QAAQ,KAAK;AAAA,SACnBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,4BAA4B,GAAGF,YAAY,CAAC;EACvD,GAAGL,kBAAkB,CAAC,CAAC;EACvB,GAAGC,aAAa,CAAC;AACnB,CAAC,EAAE,qBAAqB,CAAC;AAEzB,OAAO,MAAMO,mBAAmB,GAAGJ,gBAAgB,CAAC,CAAC,CAAC;EACpDK,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAEH,4BAA4B,CAAC,CAAC;EAErCI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,cAAc,GAAGX,MAAM,CAACL,qBAAqB,CAAC;IAEpD,IAAI,CAACgB,cAAc,EAAE,MAAM,IAAIC,KAAK,CAAC,8EAA8E,CAAC;IAEpH,MAAM;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGf,OAAO,CAACQ,KAAK,EAAEI,cAAc,CAACI,UAAU,CAAC;IAE9EZ,SAAS,CAAC,MAAAa,YAAA,CAAApB,iBAAA;MAAA,gBAC0BkB;IAAY;MAAAG,OAAA,EAAAA,CAAA,MAAAC,eAAA,CAAAF,YAAA;QAAA,SAEnC,CACL,wBAAwB,EACxBT,KAAK,CAACY,KAAK,CACZ;QAAA,SACOZ,KAAK,CAACa;MAAK,IAGjBV,KAAK,CAACO,OAAO,IAAIJ,UAAU,CAACQ,KAAK,IAAAL,YAAA;QAAA;MAAA,IAE7BN,KAAK,CAACO,OAAO,GAAG,CAAC,EAEtB,MAAAK,MAAA,EANQX,cAAc,CAACI,UAAU,CAACM,KAAK;IAAA,EAS7C,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
|
2
2
|
// Components
|
|
3
|
-
import { VExpansionPanelSymbol } from "./
|
|
3
|
+
import { VExpansionPanelSymbol } from "./shared.mjs";
|
|
4
4
|
import { VIcon } from "../VIcon/index.mjs"; // Composables
|
|
5
5
|
import { useBackgroundColor } from "../../composables/color.mjs";
|
|
6
6
|
import { makeComponentProps } from "../../composables/component.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './
|
|
1
|
+
{"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\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 focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\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 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\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":"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","ignoreList":[]}
|
|
@@ -3,13 +3,13 @@ import { createVNode as _createVNode } from "vue";
|
|
|
3
3
|
import "./VExpansionPanel.css";
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
|
+
import { VExpansionPanelSymbol } from "./shared.mjs";
|
|
6
7
|
import { makeVExpansionPanelProps } from "./VExpansionPanel.mjs"; // Composables
|
|
7
8
|
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
8
9
|
import { makeGroupProps, useGroup } from "../../composables/group.mjs";
|
|
9
10
|
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
|
|
10
11
|
import { computed, toRef } from 'vue';
|
|
11
12
|
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
12
|
-
export const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
|
|
13
13
|
const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
|
|
14
14
|
export const makeVExpansionPanelsProps = propsFactory({
|
|
15
15
|
flat: Boolean,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanels.mjs","names":["makeVExpansionPanelProps","provideDefaults","makeGroupProps","useGroup","makeThemeProps","provideTheme","computed","toRef","genericComponent","propsFactory","useRender","
|
|
1
|
+
{"version":3,"file":"VExpansionPanels.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelProps","provideDefaults","makeGroupProps","useGroup","makeThemeProps","provideTheme","computed","toRef","genericComponent","propsFactory","useRender","allowedVariants","makeVExpansionPanelsProps","flat","Boolean","variant","type","String","default","validator","v","includes","VExpansionPanels","name","props","emits","val","setup","_ref","slots","next","prev","themeClasses","variantClass","VExpansionPanel","bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","static","_createVNode","tag","tile","value","class","style"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanels.tsx"],"sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelProps } from './VExpansionPanel'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport type VExpansionPanelSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VExpansionPanelSlots = {\n default: VExpansionPanelSlot\n}\n\nexport const makeVExpansionPanelsProps = propsFactory({\n flat: Boolean,\n\n ...makeGroupProps(),\n ...makeVExpansionPanelProps(),\n ...makeThemeProps(),\n\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'VExpansionPanels')\n\nexport const VExpansionPanels = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { next, prev } = useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n bgColor: toRef(props, 'bgColor'),\n collapseIcon: toRef(props, 'collapseIcon'),\n color: toRef(props, 'color'),\n eager: toRef(props, 'eager'),\n elevation: toRef(props, 'elevation'),\n expandIcon: toRef(props, 'expandIcon'),\n focusable: toRef(props, 'focusable'),\n hideActions: toRef(props, 'hideActions'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n rounded: toRef(props, 'rounded'),\n static: toRef(props, 'static'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n {\n 'v-expansion-panels--flat': props.flat,\n 'v-expansion-panels--tile': props.tile,\n },\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({ prev, next }) }\n </props.tag>\n ))\n\n return {\n next,\n prev,\n }\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,42 +8,6 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
|
8
8
|
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
|
9
9
|
declare const IconValue: PropType<IconValue>;
|
|
10
10
|
|
|
11
|
-
interface GroupItem {
|
|
12
|
-
id: number;
|
|
13
|
-
value: Ref<unknown>;
|
|
14
|
-
disabled: Ref<boolean | undefined>;
|
|
15
|
-
useIndexAsValue?: boolean;
|
|
16
|
-
}
|
|
17
|
-
interface GroupProvide {
|
|
18
|
-
register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
|
|
19
|
-
unregister: (id: number) => void;
|
|
20
|
-
select: (id: number, value: boolean) => void;
|
|
21
|
-
selected: Ref<Readonly<number[]>>;
|
|
22
|
-
isSelected: (id: number) => boolean;
|
|
23
|
-
prev: () => void;
|
|
24
|
-
next: () => void;
|
|
25
|
-
selectedClass: Ref<string | undefined>;
|
|
26
|
-
items: ComputedRef<{
|
|
27
|
-
id: number;
|
|
28
|
-
value: unknown;
|
|
29
|
-
disabled: boolean | undefined;
|
|
30
|
-
}[]>;
|
|
31
|
-
disabled: Ref<boolean | undefined>;
|
|
32
|
-
getItemIndex: (value: unknown) => number;
|
|
33
|
-
}
|
|
34
|
-
interface GroupItemProvide {
|
|
35
|
-
id: number;
|
|
36
|
-
isSelected: Ref<boolean>;
|
|
37
|
-
isFirst: Ref<boolean>;
|
|
38
|
-
isLast: Ref<boolean>;
|
|
39
|
-
toggle: () => void;
|
|
40
|
-
select: (value: boolean) => void;
|
|
41
|
-
selectedClass: Ref<(string | undefined)[] | false>;
|
|
42
|
-
value: Ref<unknown>;
|
|
43
|
-
disabled: Ref<boolean | undefined>;
|
|
44
|
-
group: GroupProvide;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
11
|
type VExpansionPanelSlot = {
|
|
48
12
|
prev: () => void;
|
|
49
13
|
next: () => void;
|
|
@@ -434,6 +398,42 @@ declare const VExpansionPanels: {
|
|
|
434
398
|
}>>;
|
|
435
399
|
type VExpansionPanels = InstanceType<typeof VExpansionPanels>;
|
|
436
400
|
|
|
401
|
+
interface GroupItem {
|
|
402
|
+
id: number;
|
|
403
|
+
value: Ref<unknown>;
|
|
404
|
+
disabled: Ref<boolean | undefined>;
|
|
405
|
+
useIndexAsValue?: boolean;
|
|
406
|
+
}
|
|
407
|
+
interface GroupProvide {
|
|
408
|
+
register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
|
|
409
|
+
unregister: (id: number) => void;
|
|
410
|
+
select: (id: number, value: boolean) => void;
|
|
411
|
+
selected: Ref<Readonly<number[]>>;
|
|
412
|
+
isSelected: (id: number) => boolean;
|
|
413
|
+
prev: () => void;
|
|
414
|
+
next: () => void;
|
|
415
|
+
selectedClass: Ref<string | undefined>;
|
|
416
|
+
items: ComputedRef<{
|
|
417
|
+
id: number;
|
|
418
|
+
value: unknown;
|
|
419
|
+
disabled: boolean | undefined;
|
|
420
|
+
}[]>;
|
|
421
|
+
disabled: Ref<boolean | undefined>;
|
|
422
|
+
getItemIndex: (value: unknown) => number;
|
|
423
|
+
}
|
|
424
|
+
interface GroupItemProvide {
|
|
425
|
+
id: number;
|
|
426
|
+
isSelected: Ref<boolean>;
|
|
427
|
+
isFirst: Ref<boolean>;
|
|
428
|
+
isLast: Ref<boolean>;
|
|
429
|
+
toggle: () => void;
|
|
430
|
+
select: (value: boolean) => void;
|
|
431
|
+
selectedClass: Ref<(string | undefined)[] | false>;
|
|
432
|
+
value: Ref<unknown>;
|
|
433
|
+
disabled: Ref<boolean | undefined>;
|
|
434
|
+
group: GroupProvide;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
437
|
declare const VExpansionPanel: {
|
|
438
438
|
new (...args: any[]): vue.CreateComponentPublicInstance<{
|
|
439
439
|
style: vue.StyleValue;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.mjs","names":["VExpansionPanelSymbol","Symbol","for"],"sources":["../../../src/components/VExpansionPanel/shared.ts"],"sourcesContent":["// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n"],"mappings":"AAAA;;AAIA,OAAO,MAAMA,qBAAqD,GAAGC,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC","ignoreList":[]}
|
|
@@ -5,22 +5,18 @@ import "./VFab.css";
|
|
|
5
5
|
// Components
|
|
6
6
|
import { makeVBtnProps, VBtn } from "../VBtn/VBtn.mjs"; // Composables
|
|
7
7
|
import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs";
|
|
8
|
+
import { makeLocationProps } from "../../composables/location.mjs";
|
|
8
9
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
9
10
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs";
|
|
10
11
|
import { useToggleScope } from "../../composables/toggleScope.mjs";
|
|
11
12
|
import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Utilities
|
|
12
13
|
import { computed, ref, shallowRef, toRef, watchEffect } from 'vue';
|
|
13
14
|
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
14
|
-
const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
|
|
15
15
|
export const makeVFabProps = propsFactory({
|
|
16
16
|
app: Boolean,
|
|
17
17
|
appear: Boolean,
|
|
18
18
|
extended: Boolean,
|
|
19
19
|
layout: Boolean,
|
|
20
|
-
location: {
|
|
21
|
-
type: String,
|
|
22
|
-
default: 'bottom end'
|
|
23
|
-
},
|
|
24
20
|
offset: Boolean,
|
|
25
21
|
modelValue: {
|
|
26
22
|
type: Boolean,
|
|
@@ -30,6 +26,7 @@ export const makeVFabProps = propsFactory({
|
|
|
30
26
|
active: true
|
|
31
27
|
}), ['location']),
|
|
32
28
|
...makeLayoutItemProps(),
|
|
29
|
+
...makeLocationProps(),
|
|
33
30
|
...makeTransitionProps({
|
|
34
31
|
transition: 'fab-transition'
|
|
35
32
|
})
|
|
@@ -56,11 +53,11 @@ export const VFab = genericComponent()({
|
|
|
56
53
|
const hasPosition = computed(() => props.app || props.absolute);
|
|
57
54
|
const position = computed(() => {
|
|
58
55
|
if (!hasPosition.value) return false;
|
|
59
|
-
return props.location
|
|
56
|
+
return props.location?.split(' ').shift() ?? 'bottom';
|
|
60
57
|
});
|
|
61
58
|
const orientation = computed(() => {
|
|
62
59
|
if (!hasPosition.value) return false;
|
|
63
|
-
return props.location
|
|
60
|
+
return props.location?.split(' ')[1] ?? 'end';
|
|
64
61
|
});
|
|
65
62
|
useToggleScope(() => props.app, () => {
|
|
66
63
|
const layout = useLayoutItem({
|