@element-plus/nightly 0.0.20220902 → 0.0.20220903
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/index.full.js +32 -20
- package/dist/index.full.min.js +10 -10
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +12 -12
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +33 -21
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group.mjs +1 -1
- package/es/components/button/src/button.mjs +53 -118
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +118 -53
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/calendar/index.d.ts +3 -0
- package/es/components/calendar/src/calendar.vue.d.ts +3 -0
- package/es/components/calendar/src/calendar2.mjs +17 -7
- package/es/components/calendar/src/calendar2.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs +1 -1
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/descriptions/index.mjs +2 -2
- package/es/components/descriptions/src/description.mjs +121 -26
- package/es/components/descriptions/src/description.mjs.map +1 -1
- package/es/components/descriptions/src/description2.mjs +26 -121
- package/es/components/descriptions/src/description2.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +1 -1
- package/es/components/index.mjs +2 -2
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/roving-focus-group/index.mjs +3 -3
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -29
- package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs +29 -27
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
- package/es/components/select-v2/src/useSelect.mjs +2 -2
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/tree/src/tree-node-content.mjs +3 -1
- package/es/components/tree/src/tree-node-content.mjs.map +1 -1
- package/es/components/upload/src/upload2.mjs +4 -5
- package/es/components/upload/src/upload2.mjs.map +1 -1
- package/es/hooks/use-lockscreen/index.mjs +6 -4
- package/es/hooks/use-lockscreen/index.mjs.map +1 -1
- package/es/index.mjs +2 -2
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/global.d.ts +1 -0
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group.js +1 -1
- package/lib/components/button/src/button.js +56 -118
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button2.js +118 -56
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/calendar/index.d.ts +3 -0
- package/lib/components/calendar/src/calendar.vue.d.ts +3 -0
- package/lib/components/calendar/src/calendar2.js +21 -11
- package/lib/components/calendar/src/calendar2.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js +1 -1
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/descriptions/index.js +2 -2
- package/lib/components/descriptions/src/description.js +121 -26
- package/lib/components/descriptions/src/description.js.map +1 -1
- package/lib/components/descriptions/src/description2.js +26 -121
- package/lib/components/descriptions/src/description2.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +1 -1
- package/lib/components/dropdown/src/dropdown2.js +1 -1
- package/lib/components/index.js +2 -2
- package/lib/components/popconfirm/src/popconfirm.js +1 -1
- package/lib/components/roving-focus-group/index.js +2 -2
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -33
- package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group2.js +33 -27
- package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
- package/lib/components/select-v2/src/useSelect.js +1 -1
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/tree/src/tree-node-content.js +3 -1
- package/lib/components/tree/src/tree-node-content.js.map +1 -1
- package/lib/components/upload/src/upload2.js +3 -4
- package/lib/components/upload/src/upload2.js.map +1 -1
- package/lib/hooks/use-lockscreen/index.js +6 -4
- package/lib/hooks/use-lockscreen/index.js.map +1 -1
- package/lib/index.js +2 -2
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar2.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst ns = useNamespace('calendar')\nconst { t, lang } = useLocale()\n\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n})\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\nconst prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\nconst nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\nconst prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\nconst nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar2.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template\n v-if=\"$slots['date-cell'] || $slots.dateCell\"\n #date-cell=\"data\"\n >\n <slot v-if=\"$slots['date-cell']\" name=\"date-cell\" v-bind=\"data\" />\n <slot v-else name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template\n v-if=\"$slots['date-cell'] || $slots.dateCell\"\n #date-cell=\"data\"\n >\n <slot v-if=\"$slots['date-cell']\" name=\"date-cell\" v-bind=\"data\" />\n <slot v-else name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst solts = useSlots()\nconst ns = useNamespace('calendar')\nconst { t, lang } = useLocale()\n\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n})\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\nconst prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\nconst nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\nconst prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\nconst nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\nuseDeprecated(\n {\n from: '\"dateCell\"',\n replacement: '\"date-cell\"',\n scope: 'ElCalendar',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/calendar.html#slots',\n type: 'Slot',\n },\n computed(() => !!solts.dateCell)\n)\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -140,7 +140,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
140
140
|
createElementVNode("div", {
|
|
141
141
|
class: normalizeClass(unref(nsDay).b())
|
|
142
142
|
}, [
|
|
143
|
-
renderSlot(_ctx.$slots, "
|
|
143
|
+
renderSlot(_ctx.$slots, "date-cell", {
|
|
144
144
|
data: getSlotData(cell)
|
|
145
145
|
}, () => [
|
|
146
146
|
createElementVNode("span", null, toDisplayString(cell.text), 1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-table2.mjs","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"
|
|
1
|
+
{"version":3,"file":"date-table2.mjs","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"date-cell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData.js'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { WEEK_DAYS } from '@element-plus/constants'\nimport {\n dateTableEmits,\n dateTableProps,\n getMonthDays,\n getPrevMonthLastDays,\n toNestedArr,\n} from './date-table'\n\nimport type { CalendarDateCell, CalendarDateCellType } from './date-table'\nimport type { Dayjs } from 'dayjs'\n\ndefineOptions({\n name: 'DateTable',\n})\n\nconst props = defineProps(dateTableProps)\nconst emit = defineEmits(dateTableEmits)\n\ndayjs.extend(localeData)\n\nconst { t, lang } = useLocale()\nconst nsTable = useNamespace('calendar-table')\nconst nsDay = useNamespace('calendar-day')\n\nconst now = dayjs().locale(lang.value)\n// todo better way to get Day.js locale object\nconst firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\nconst isInRange = computed(() => !!props.range && !!props.range.length)\n\nconst rows = computed(() => {\n let days: CalendarDateCell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: CalendarDateCell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day()\n const prevMonthDays: CalendarDateCell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: CalendarDateCell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const remaining = 7 - (days.length % 7 || 7)\n const nextMonthDays: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n})\n\nconst weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n})\n\nconst getFormattedDate = (day: number, type: CalendarDateCellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n}\n\nconst getCellClass = ({ text, type }: CalendarDateCell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push(nsDay.is('selected'))\n }\n if (date.isSame(now, 'day')) {\n classes.push(nsDay.is('today'))\n }\n }\n return classes\n}\n\nconst handlePickDay = ({ text, type }: CalendarDateCell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n}\n\nconst getSlotData = ({ text, type }: CalendarDateCell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n}\n\ndefineExpose({\n /** @description toggle date panel */\n getFormattedDate,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA6DA,IAAA,KAAA,CAAA,OAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,aAAA,gBAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,aAAA,cAAA,CAAA,CAAA;AAEA,IAAA,MAAA,GAAA,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,cAAA,GAAA,GAAA,CAAA,OAAA,EAAA,CAAA,SAAA,IAAA,CAAA,CAAA;AAEA,IAAA,MAAA,SAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAEA,IAAA,MAAA,IAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,OAAA,EAAA,CAAA;AACA,MAAA,IAAA,UAAA,KAAA,EAAA;AACA,QAAA,MAAA,CAAA,KAAA,EAAA,GAAA,CAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AACA,QAAA,MAAA,iBAAA,GAAA,QAAA,CACA,GAAA,CAAA,IAAA,EAAA,GAAA,KAAA,CAAA,IAAA,EAAA,GAAA,CACA,CAAA,CAAA,GAAA,CAAA,CAAA,KAAA,MAAA;AAAA,UACA,IAAA,EAAA,KAAA,CAAA,IAAA,EAAA,GAAA,KAAA;AAAA,UACA,IAAA,EAAA,SAAA;AAAA,SACA,CAAA,CAAA,CAAA;AAEA,QAAA,IAAA,SAAA,GAAA,kBAAA,MAAA,GAAA,CAAA,CAAA;AACA,QAAA,SAAA,GAAA,SAAA,KAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,SAAA,CAAA;AACA,QAAA,MAAA,iBAAA,QAAA,CAAA,SAAA,EAAA,GACA,CAAA,CAAA,GAAA,KAAA,MAAA;AAAA,UACA,MAAA,KAAA,GAAA,CAAA;AAAA,UACA,IAAA,EAAA,MAAA;AAAA,SAEA,CAAA,CAAA,CAAA;AACA,QAAA,IAAA,GAAA,iBAAA,CAAA,OAAA,cAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,MAAA,WAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,OAAA,EAAA,GAAA,EAAA,CAAA;AACA,QAAA,MAAA,aAAA,GAAA,qBACA,KAAA,CAAA,IAAA,EACA,WAAA,cACA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAA;AAAA,UACA,IAAA,EAAA,GAAA;AAAA,UACA,IAAA,EAAA,MAAA;AAAA,SACA,CAAA,CAAA,CAAA;AACA,QAAA,MAAA,mBAAA,YAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,GAAA,CACA,CAAA,GAAA,MAAA;AAAA,UACA,IAAA,EAAA,GAAA;AAAA,UACA,IAAA,EAAA,SAAA;AAAA,SAEA,CAAA,CAAA,CAAA;AACA,QAAA,IAAA,GAAA,CAAA,GAAA,aAAA,EAAA,GAAA,gBAAA,CAAA,CAAA;AACA,QAAA,MAAA,SAAA,GAAA,CAAA,IAAA,IAAA,CAAA,MAAA,GAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,QAAA,MAAA,gBAAA,QAAA,CAAA,SAAA,EAAA,GACA,CAAA,CAAA,GAAA,KAAA,MAAA;AAAA,UACA,MAAA,KAAA,GAAA,CAAA;AAAA,UACA,IAAA,EAAA,MAAA;AAAA,SAEA,CAAA,CAAA,CAAA;AACA,QAAA,IAAA,GAAA,IAAA,CAAA,OAAA,aAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,YAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,KAAA,GAAA,cAAA,CAAA;AACA,MAAA,IAAA,UAAA,CAAA,EAAA;AACA,QAAA,OAAA,UAAA,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,oBAAA,EAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,OAAA,UAAA,KAAA,CAAA,KAAA,CACA,CAAA,MAAA,CAAA,UAAA,KAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EACA,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,oBAAA,EAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA,gBAAA,GAAA,CAAA,GAAA,EAAA,IAAA,KAAA;AACA,MAAA,QAAA,IAAA;AAAA,QACA,KAAA,MAAA;AACA,UAAA,OAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,SAAA,CAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,QACA,KAAA,MAAA;AACA,UAAA,OAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,IAAA,CAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,QACA,KAAA,SAAA;AACA,UAAA,OAAA,KAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAEA,CAAA;AAEA,IAAA,MAAA,YAAA,GAAA,CAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA;AACA,MAAA,MAAA,OAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,SAAA,SAAA,EAAA;AACA,QAAA,MAAA,IAAA,GAAA,gBAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,IAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA,WAAA,EAAA,KAAA,CAAA,EAAA;AACA,UAAA,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,IAAA,IAAA,CAAA,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA,EAAA;AACA,UAAA,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,OAAA,OAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,aAAA,GAAA,CAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA;AACA,MAAA,MAAA,IAAA,GAAA,gBAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,WAAA,GAAA,CAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA;AACA,MAAA,MAAA,GAAA,GAAA,gBAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,UAAA,EAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,WAAA,CAAA;AAAA,QACA,MAAA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAA;AAAA,QACA,GAAA,EAAA,GAAA,CAAA,MAAA,CAAA,YAAA,CAAA;AAAA,QACA,IAAA,EAAA,IAAA,MAAA,EAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,CAAA;AAAA,MAEA,gBAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '../../utils/index.mjs';
|
|
2
|
-
import Descriptions from './src/
|
|
2
|
+
import Descriptions from './src/description.mjs';
|
|
3
3
|
import DescriptionsItem from './src/description-item.mjs';
|
|
4
|
-
export { descriptionProps } from './src/
|
|
4
|
+
export { descriptionProps } from './src/description2.mjs';
|
|
5
5
|
import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
|
|
6
6
|
|
|
7
7
|
const ElDescriptions = withInstall(Descriptions, {
|
|
@@ -1,32 +1,127 @@
|
|
|
1
|
-
import '
|
|
1
|
+
import { defineComponent, useSlots, provide, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createTextVNode, toDisplayString, createCommentVNode, Fragment, renderList, createBlock } from 'vue';
|
|
2
2
|
import '../../../hooks/index.mjs';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import ElDescriptionsRow from './descriptions-row2.mjs';
|
|
4
|
+
import { descriptionsKey } from './token.mjs';
|
|
5
|
+
import { descriptionProps } from './description2.mjs';
|
|
6
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
7
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
8
|
+
import { useSize } from '../../../hooks/use-common-props/index.mjs';
|
|
5
9
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
10
|
+
const __default__ = {
|
|
11
|
+
name: "ElDescriptions"
|
|
12
|
+
};
|
|
13
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
14
|
+
...__default__,
|
|
15
|
+
props: descriptionProps,
|
|
16
|
+
setup(__props) {
|
|
17
|
+
const props = __props;
|
|
18
|
+
const ns = useNamespace("descriptions");
|
|
19
|
+
const descriptionsSize = useSize();
|
|
20
|
+
const slots = useSlots();
|
|
21
|
+
provide(descriptionsKey, props);
|
|
22
|
+
const descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)]);
|
|
23
|
+
const flattedChildren = (children) => {
|
|
24
|
+
const temp = Array.isArray(children) ? children : [children];
|
|
25
|
+
const res = [];
|
|
26
|
+
temp.forEach((child) => {
|
|
27
|
+
if (Array.isArray(child.children)) {
|
|
28
|
+
res.push(...flattedChildren(child.children));
|
|
29
|
+
} else {
|
|
30
|
+
res.push(child);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return res;
|
|
34
|
+
};
|
|
35
|
+
const filledNode = (node, span, count, isLast = false) => {
|
|
36
|
+
if (!node.props) {
|
|
37
|
+
node.props = {};
|
|
38
|
+
}
|
|
39
|
+
if (span > count) {
|
|
40
|
+
node.props.span = count;
|
|
41
|
+
}
|
|
42
|
+
if (isLast) {
|
|
43
|
+
node.props.span = span;
|
|
44
|
+
}
|
|
45
|
+
return node;
|
|
46
|
+
};
|
|
47
|
+
const getRows = () => {
|
|
48
|
+
var _a;
|
|
49
|
+
const children = flattedChildren((_a = slots.default) == null ? void 0 : _a.call(slots)).filter((node) => {
|
|
50
|
+
var _a2;
|
|
51
|
+
return ((_a2 = node == null ? void 0 : node.type) == null ? void 0 : _a2.name) === "ElDescriptionsItem";
|
|
52
|
+
});
|
|
53
|
+
const rows = [];
|
|
54
|
+
let temp = [];
|
|
55
|
+
let count = props.column;
|
|
56
|
+
let totalSpan = 0;
|
|
57
|
+
children.forEach((node, index) => {
|
|
58
|
+
var _a2;
|
|
59
|
+
const span = ((_a2 = node.props) == null ? void 0 : _a2.span) || 1;
|
|
60
|
+
if (index < children.length - 1) {
|
|
61
|
+
totalSpan += span > count ? count : span;
|
|
62
|
+
}
|
|
63
|
+
if (index === children.length - 1) {
|
|
64
|
+
const lastSpan = props.column - totalSpan % props.column;
|
|
65
|
+
temp.push(filledNode(node, lastSpan, count, true));
|
|
66
|
+
rows.push(temp);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (span < count) {
|
|
70
|
+
count -= span;
|
|
71
|
+
temp.push(node);
|
|
72
|
+
} else {
|
|
73
|
+
temp.push(filledNode(node, span, count));
|
|
74
|
+
rows.push(temp);
|
|
75
|
+
count = props.column;
|
|
76
|
+
temp = [];
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return rows;
|
|
80
|
+
};
|
|
81
|
+
return (_ctx, _cache) => {
|
|
82
|
+
return openBlock(), createElementBlock("div", {
|
|
83
|
+
class: normalizeClass(unref(descriptionKls))
|
|
84
|
+
}, [
|
|
85
|
+
_ctx.title || _ctx.extra || _ctx.$slots.title || _ctx.$slots.extra ? (openBlock(), createElementBlock("div", {
|
|
86
|
+
key: 0,
|
|
87
|
+
class: normalizeClass(unref(ns).e("header"))
|
|
88
|
+
}, [
|
|
89
|
+
createElementVNode("div", {
|
|
90
|
+
class: normalizeClass(unref(ns).e("title"))
|
|
91
|
+
}, [
|
|
92
|
+
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
93
|
+
createTextVNode(toDisplayString(_ctx.title), 1)
|
|
94
|
+
])
|
|
95
|
+
], 2),
|
|
96
|
+
createElementVNode("div", {
|
|
97
|
+
class: normalizeClass(unref(ns).e("extra"))
|
|
98
|
+
}, [
|
|
99
|
+
renderSlot(_ctx.$slots, "extra", {}, () => [
|
|
100
|
+
createTextVNode(toDisplayString(_ctx.extra), 1)
|
|
101
|
+
])
|
|
102
|
+
], 2)
|
|
103
|
+
], 2)) : createCommentVNode("v-if", true),
|
|
104
|
+
createElementVNode("div", {
|
|
105
|
+
class: normalizeClass(unref(ns).e("body"))
|
|
106
|
+
}, [
|
|
107
|
+
createElementVNode("table", {
|
|
108
|
+
class: normalizeClass([unref(ns).e("table"), unref(ns).is("bordered", _ctx.border)])
|
|
109
|
+
}, [
|
|
110
|
+
createElementVNode("tbody", null, [
|
|
111
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(getRows(), (row, index) => {
|
|
112
|
+
return openBlock(), createBlock(ElDescriptionsRow, {
|
|
113
|
+
key: index,
|
|
114
|
+
row
|
|
115
|
+
}, null, 8, ["row"]);
|
|
116
|
+
}), 128))
|
|
117
|
+
])
|
|
118
|
+
], 2)
|
|
119
|
+
], 2)
|
|
120
|
+
], 2);
|
|
121
|
+
};
|
|
28
122
|
}
|
|
29
123
|
});
|
|
124
|
+
var Descriptions = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/description.vue"]]);
|
|
30
125
|
|
|
31
|
-
export {
|
|
126
|
+
export { Descriptions as default };
|
|
32
127
|
//# sourceMappingURL=description.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"description.mjs","sources":["../../../../../../packages/components/descriptions/src/description.
|
|
1
|
+
{"version":3,"file":"description.mjs","sources":["../../../../../../packages/components/descriptions/src/description.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, index) in getRows()\" :key=\"index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport { computed, provide, useSlots } from 'vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport ElDescriptionsRow from './descriptions-row.vue'\nimport { descriptionsKey } from './token'\nimport { descriptionProps } from './description'\n\ndefineOptions({\n name: 'ElDescriptions',\n})\n\nconst props = defineProps(descriptionProps)\n\nconst ns = useNamespace('descriptions')\n\nconst descriptionsSize = useSize()\n\nconst slots = useSlots()\n\nprovide(descriptionsKey, props)\n\nconst descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)])\n\nconst flattedChildren = (children) => {\n const temp = Array.isArray(children) ? children : [children]\n const res = []\n temp.forEach((child) => {\n if (Array.isArray(child.children)) {\n res.push(...flattedChildren(child.children))\n } else {\n res.push(child)\n }\n })\n return res\n}\n\nconst filledNode = (node, span, count, isLast = false) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n}\n\nconst getRows = () => {\n const children = flattedChildren(slots.default?.()).filter(\n (node) => node?.type?.name === 'ElDescriptionsItem'\n )\n const rows = []\n let temp = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n}\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,127 +1,32 @@
|
|
|
1
|
-
import
|
|
1
|
+
import '../../../utils/index.mjs';
|
|
2
2
|
import '../../../hooks/index.mjs';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { descriptionProps } from './description.mjs';
|
|
6
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
7
|
-
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
8
|
-
import { useSize } from '../../../hooks/use-common-props/index.mjs';
|
|
3
|
+
import { buildProps } from '../../../utils/vue/props/runtime.mjs';
|
|
4
|
+
import { useSizeProp } from '../../../hooks/use-common-props/index.mjs';
|
|
9
5
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
return res;
|
|
34
|
-
};
|
|
35
|
-
const filledNode = (node, span, count, isLast = false) => {
|
|
36
|
-
if (!node.props) {
|
|
37
|
-
node.props = {};
|
|
38
|
-
}
|
|
39
|
-
if (span > count) {
|
|
40
|
-
node.props.span = count;
|
|
41
|
-
}
|
|
42
|
-
if (isLast) {
|
|
43
|
-
node.props.span = span;
|
|
44
|
-
}
|
|
45
|
-
return node;
|
|
46
|
-
};
|
|
47
|
-
const getRows = () => {
|
|
48
|
-
var _a;
|
|
49
|
-
const children = flattedChildren((_a = slots.default) == null ? void 0 : _a.call(slots)).filter((node) => {
|
|
50
|
-
var _a2;
|
|
51
|
-
return ((_a2 = node == null ? void 0 : node.type) == null ? void 0 : _a2.name) === "ElDescriptionsItem";
|
|
52
|
-
});
|
|
53
|
-
const rows = [];
|
|
54
|
-
let temp = [];
|
|
55
|
-
let count = props.column;
|
|
56
|
-
let totalSpan = 0;
|
|
57
|
-
children.forEach((node, index) => {
|
|
58
|
-
var _a2;
|
|
59
|
-
const span = ((_a2 = node.props) == null ? void 0 : _a2.span) || 1;
|
|
60
|
-
if (index < children.length - 1) {
|
|
61
|
-
totalSpan += span > count ? count : span;
|
|
62
|
-
}
|
|
63
|
-
if (index === children.length - 1) {
|
|
64
|
-
const lastSpan = props.column - totalSpan % props.column;
|
|
65
|
-
temp.push(filledNode(node, lastSpan, count, true));
|
|
66
|
-
rows.push(temp);
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (span < count) {
|
|
70
|
-
count -= span;
|
|
71
|
-
temp.push(node);
|
|
72
|
-
} else {
|
|
73
|
-
temp.push(filledNode(node, span, count));
|
|
74
|
-
rows.push(temp);
|
|
75
|
-
count = props.column;
|
|
76
|
-
temp = [];
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
return rows;
|
|
80
|
-
};
|
|
81
|
-
return (_ctx, _cache) => {
|
|
82
|
-
return openBlock(), createElementBlock("div", {
|
|
83
|
-
class: normalizeClass(unref(descriptionKls))
|
|
84
|
-
}, [
|
|
85
|
-
_ctx.title || _ctx.extra || _ctx.$slots.title || _ctx.$slots.extra ? (openBlock(), createElementBlock("div", {
|
|
86
|
-
key: 0,
|
|
87
|
-
class: normalizeClass(unref(ns).e("header"))
|
|
88
|
-
}, [
|
|
89
|
-
createElementVNode("div", {
|
|
90
|
-
class: normalizeClass(unref(ns).e("title"))
|
|
91
|
-
}, [
|
|
92
|
-
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
93
|
-
createTextVNode(toDisplayString(_ctx.title), 1)
|
|
94
|
-
])
|
|
95
|
-
], 2),
|
|
96
|
-
createElementVNode("div", {
|
|
97
|
-
class: normalizeClass(unref(ns).e("extra"))
|
|
98
|
-
}, [
|
|
99
|
-
renderSlot(_ctx.$slots, "extra", {}, () => [
|
|
100
|
-
createTextVNode(toDisplayString(_ctx.extra), 1)
|
|
101
|
-
])
|
|
102
|
-
], 2)
|
|
103
|
-
], 2)) : createCommentVNode("v-if", true),
|
|
104
|
-
createElementVNode("div", {
|
|
105
|
-
class: normalizeClass(unref(ns).e("body"))
|
|
106
|
-
}, [
|
|
107
|
-
createElementVNode("table", {
|
|
108
|
-
class: normalizeClass([unref(ns).e("table"), unref(ns).is("bordered", _ctx.border)])
|
|
109
|
-
}, [
|
|
110
|
-
createElementVNode("tbody", null, [
|
|
111
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(getRows(), (row, index) => {
|
|
112
|
-
return openBlock(), createBlock(ElDescriptionsRow, {
|
|
113
|
-
key: index,
|
|
114
|
-
row
|
|
115
|
-
}, null, 8, ["row"]);
|
|
116
|
-
}), 128))
|
|
117
|
-
])
|
|
118
|
-
], 2)
|
|
119
|
-
], 2)
|
|
120
|
-
], 2);
|
|
121
|
-
};
|
|
6
|
+
const descriptionProps = buildProps({
|
|
7
|
+
border: {
|
|
8
|
+
type: Boolean,
|
|
9
|
+
default: false
|
|
10
|
+
},
|
|
11
|
+
column: {
|
|
12
|
+
type: Number,
|
|
13
|
+
default: 3
|
|
14
|
+
},
|
|
15
|
+
direction: {
|
|
16
|
+
type: String,
|
|
17
|
+
values: ["horizontal", "vertical"],
|
|
18
|
+
default: "horizontal"
|
|
19
|
+
},
|
|
20
|
+
size: useSizeProp,
|
|
21
|
+
title: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: ""
|
|
24
|
+
},
|
|
25
|
+
extra: {
|
|
26
|
+
type: String,
|
|
27
|
+
default: ""
|
|
122
28
|
}
|
|
123
29
|
});
|
|
124
|
-
var Descriptions = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/description.vue"]]);
|
|
125
30
|
|
|
126
|
-
export {
|
|
31
|
+
export { descriptionProps };
|
|
127
32
|
//# sourceMappingURL=description2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"description2.mjs","sources":["../../../../../../packages/components/descriptions/src/description.
|
|
1
|
+
{"version":3,"file":"description2.mjs","sources":["../../../../../../packages/components/descriptions/src/description.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\n\nimport type Description from './description.vue'\n\nexport const descriptionProps = buildProps({\n border: {\n type: Boolean,\n default: false,\n },\n column: {\n type: Number,\n default: 3,\n },\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n size: useSizeProp,\n title: {\n type: String,\n default: '',\n },\n extra: {\n type: String,\n default: '',\n },\n} as const)\n\nexport type DescriptionInstance = InstanceType<typeof Description>\n"],"names":[],"mappings":";;;;;AAEY,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
|
|
@@ -9,7 +9,7 @@ import { dropdownItemProps, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY as COLLECTION
|
|
|
9
9
|
import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
|
|
10
10
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
11
11
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
12
|
-
import { ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY as COLLECTION_ITEM_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-
|
|
12
|
+
import { ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY as COLLECTION_ITEM_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-group2.mjs';
|
|
13
13
|
import { ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY } from '../../roving-focus-group/src/tokens.mjs';
|
|
14
14
|
import { composeRefs } from '../../../utils/vue/refs.mjs';
|
|
15
15
|
import { composeEventHandlers } from '../../../utils/dom/event.mjs';
|
|
@@ -11,7 +11,7 @@ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
|
11
11
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
12
12
|
import { FOCUS_TRAP_INJECTION_KEY } from '../../focus-trap/src/tokens.mjs';
|
|
13
13
|
import { ROVING_FOCUS_GROUP_INJECTION_KEY } from '../../roving-focus-group/src/tokens.mjs';
|
|
14
|
-
import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-
|
|
14
|
+
import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-group2.mjs';
|
|
15
15
|
import { composeRefs } from '../../../utils/vue/refs.mjs';
|
|
16
16
|
import { composeEventHandlers } from '../../../utils/dom/event.mjs';
|
|
17
17
|
import { EVENT_CODE } from '../../../constants/aria.mjs';
|
|
@@ -12,7 +12,7 @@ import '../../../hooks/index.mjs';
|
|
|
12
12
|
import { ElCollection, dropdownProps } from './dropdown.mjs';
|
|
13
13
|
import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
|
|
14
14
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
15
|
-
import ElRovingFocusGroup from '../../roving-focus-group/src/roving-focus-
|
|
15
|
+
import ElRovingFocusGroup from '../../roving-focus-group/src/roving-focus-group.mjs';
|
|
16
16
|
import { OnlyChild } from '../../slot/src/only-child.mjs';
|
|
17
17
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
18
18
|
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
package/es/components/index.mjs
CHANGED
|
@@ -80,7 +80,7 @@ export { backtopEmits, backtopProps } from './backtop/src/backtop.mjs';
|
|
|
80
80
|
export { badgeProps } from './badge/src/badge.mjs';
|
|
81
81
|
export { breadcrumbProps } from './breadcrumb/src/breadcrumb.mjs';
|
|
82
82
|
export { breadcrumbItemProps } from './breadcrumb/src/breadcrumb-item.mjs';
|
|
83
|
-
export { buttonEmits, buttonNativeTypes, buttonProps, buttonTypes } from './button/src/
|
|
83
|
+
export { buttonEmits, buttonNativeTypes, buttonProps, buttonTypes } from './button/src/button.mjs';
|
|
84
84
|
export { calendarEmits, calendarProps } from './calendar/src/calendar.mjs';
|
|
85
85
|
export { cardProps } from './card/src/card.mjs';
|
|
86
86
|
export { carouselEmits, carouselProps } from './carousel/src/carousel.mjs';
|
|
@@ -93,7 +93,7 @@ export { colProps } from './col/src/col.mjs';
|
|
|
93
93
|
export { collapseEmits, collapseProps, emitChangeFn } from './collapse/src/collapse.mjs';
|
|
94
94
|
export { collapseItemProps } from './collapse/src/collapse-item.mjs';
|
|
95
95
|
export { configProviderProps, messageConfig } from './config-provider/src/config-provider.mjs';
|
|
96
|
-
export { descriptionProps } from './descriptions/src/
|
|
96
|
+
export { descriptionProps } from './descriptions/src/description2.mjs';
|
|
97
97
|
export { useDialog } from './dialog/src/use-dialog.mjs';
|
|
98
98
|
export { dialogEmits, dialogProps } from './dialog/src/dialog.mjs';
|
|
99
99
|
export { dividerProps } from './divider/src/divider.mjs';
|
|
@@ -3,7 +3,7 @@ import { QuestionFilled } from '@element-plus/icons-vue';
|
|
|
3
3
|
import '../../../utils/index.mjs';
|
|
4
4
|
import '../../tooltip/index.mjs';
|
|
5
5
|
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
|
6
|
-
import { buttonTypes } from '../../button/src/
|
|
6
|
+
import { buttonTypes } from '../../button/src/button.mjs';
|
|
7
7
|
import { iconPropType } from '../../../utils/vue/icon.mjs';
|
|
8
8
|
import { useTooltipContentProps } from '../../tooltip/src/tooltip.mjs';
|
|
9
9
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import ElRovingFocusGroup from './src/roving-focus-
|
|
2
|
-
export { default as ElRovingFocusGroup, default } from './src/roving-focus-
|
|
1
|
+
import ElRovingFocusGroup from './src/roving-focus-group.mjs';
|
|
2
|
+
export { default as ElRovingFocusGroup, default } from './src/roving-focus-group.mjs';
|
|
3
3
|
export { default as ElRovingFocusItem } from './src/roving-focus-item.mjs';
|
|
4
4
|
export { ROVING_FOCUS_GROUP_INJECTION_KEY, ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY } from './src/tokens.mjs';
|
|
5
5
|
export { focusFirst, getFocusIntent, reorderArray } from './src/utils.mjs';
|
|
6
|
-
export { ROVING_FOCUS_COLLECTION_INJECTION_KEY, ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY } from './src/roving-focus-
|
|
6
|
+
export { ROVING_FOCUS_COLLECTION_INJECTION_KEY, ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY } from './src/roving-focus-group2.mjs';
|
|
7
7
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, ref, inject, computed, unref, provide, readonly, toRef, watch, renderSlot } from 'vue';
|
|
2
2
|
import { useEventListener } from '@vueuse/core';
|
|
3
3
|
import '../../../utils/index.mjs';
|
|
4
|
-
import { rovingFocusGroupProps, ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY } from './roving-focus-
|
|
4
|
+
import { rovingFocusGroupProps, ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY } from './roving-focus-group2.mjs';
|
|
5
5
|
import { ROVING_FOCUS_GROUP_INJECTION_KEY } from './tokens.mjs';
|
|
6
6
|
import { focusFirst } from './utils.mjs';
|
|
7
7
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|