@element-plus/nightly 0.0.20220715 → 0.0.20220718
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.css +1 -1
- package/dist/index.full.js +22 -13
- package/dist/index.full.min.js +14 -14
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +14 -14
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +22 -13
- 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 +29 -4
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.js.map +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.min.mjs.map +1 -1
- package/dist/locale/ko.mjs +29 -4
- 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/index.mjs +1 -1
- package/es/components/message/style/css.d.ts +1 -0
- package/es/components/message/style/css.mjs +1 -0
- package/es/components/message/style/css.mjs.map +1 -1
- package/es/components/message/style/index.d.ts +1 -0
- package/es/components/message/style/index.mjs +1 -0
- package/es/components/message/style/index.mjs.map +1 -1
- package/es/components/popover/index.d.ts +20 -0
- package/es/components/popover/src/popover.d.ts +11 -5
- package/es/components/popover/src/popover.mjs +3 -0
- package/es/components/popover/src/popover.mjs.map +1 -1
- package/es/components/popover/src/popover.vue.d.ts +20 -0
- package/es/components/popover/src/popover2.mjs +7 -2
- package/es/components/popover/src/popover2.mjs.map +1 -1
- package/es/components/table/index.d.ts +2 -2
- package/es/components/table/src/table/defaults.d.ts +2 -2
- package/es/components/table/src/table/defaults.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +2 -2
- package/es/components/tabs/src/tab-nav.mjs +5 -4
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs +0 -1
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/timeline/index.mjs +2 -2
- package/es/components/timeline/src/timeline-item.mjs +70 -43
- package/es/components/timeline/src/timeline-item.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item2.mjs +43 -70
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +2 -2
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.mjs +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
- package/es/directives/click-outside/index.mjs.map +1 -1
- package/es/directives/trap-focus/index.d.ts +1 -1
- package/es/directives/trap-focus/index.mjs +2 -3
- package/es/directives/trap-focus/index.mjs.map +1 -1
- package/es/hooks/use-model-toggle/index.d.ts +2 -0
- package/es/hooks/use-model-toggle/index.mjs +2 -1
- package/es/hooks/use-model-toggle/index.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/locale/lang/ko.d.ts +25 -0
- package/es/locale/lang/ko.mjs +28 -3
- package/es/locale/lang/ko.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/message/style/css.d.ts +1 -0
- package/lib/components/message/style/css.js +1 -0
- package/lib/components/message/style/css.js.map +1 -1
- package/lib/components/message/style/index.d.ts +1 -0
- package/lib/components/message/style/index.js +1 -0
- package/lib/components/message/style/index.js.map +1 -1
- package/lib/components/popover/index.d.ts +20 -0
- package/lib/components/popover/src/popover.d.ts +11 -5
- package/lib/components/popover/src/popover.js +3 -0
- package/lib/components/popover/src/popover.js.map +1 -1
- package/lib/components/popover/src/popover.vue.d.ts +20 -0
- package/lib/components/popover/src/popover2.js +6 -1
- package/lib/components/popover/src/popover2.js.map +1 -1
- package/lib/components/table/index.d.ts +2 -2
- package/lib/components/table/src/table/defaults.d.ts +2 -2
- package/lib/components/table/src/table/defaults.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +2 -2
- package/lib/components/tabs/src/tab-nav.js +5 -4
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +0 -1
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/timeline/index.js +2 -2
- package/lib/components/timeline/src/timeline-item.js +70 -43
- package/lib/components/timeline/src/timeline-item.js.map +1 -1
- package/lib/components/timeline/src/timeline-item2.js +43 -70
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js +2 -2
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.js +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
- package/lib/directives/click-outside/index.js.map +1 -1
- package/lib/directives/trap-focus/index.d.ts +1 -1
- package/lib/directives/trap-focus/index.js +2 -3
- package/lib/directives/trap-focus/index.js.map +1 -1
- package/lib/hooks/use-model-toggle/index.d.ts +2 -0
- package/lib/hooks/use-model-toggle/index.js +2 -1
- package/lib/hooks/use-model-toggle/index.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/locale/lang/ko.d.ts +25 -0
- package/lib/locale/lang/ko.js +28 -3
- package/lib/locale/lang/ko.js.map +1 -1
- 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/theme-chalk/el-message-box.css +1 -1
- package/theme-chalk/el-tabs.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/message-box.scss +3 -1
- package/theme-chalk/src/tabs.scss +1 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-nav.js","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPanelName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post' }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable: boolean = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${tabName}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', pane.props.disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${tabName}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["TabBar","buildProps","tabNavProps","panes","definePropType","type","Array","default","currentName","String","editable","Boolean","onTabClick","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","expose","inject","tabsRootContextKey","vm","getCurrentInstance","throwError","ns","useDocumentVisibility","visibility","useWindowFocus","focused","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","computed","sizeName","dir","transform","scrollPrev","value","capitalize","containerSize","newOffset","currentOffset","scrollNext","navSize","scrollToActiveTab","nav","activeTab","activeTabBounding","navScrollBounding","maxOffset","isHorizontal","right","top","bottom","update","prev","changeTab","EVENT_CODE","code","up","currentIndex","nextIndex","tabList","watch","focus","setFocus","useResizeObserver","_createVNode","ElIcon","ArrowLeft","setTimeout","onUpdated","ArrowRight","removeFocus","flush","Close","is","map","pane","closable","index","btnClose","ev","tabindex","tabName","rootTabs","tabLabelContent"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA8BOA,MAAP,WAAA,GAAAC,kBAAA,CAAA;AAUA,EAAA,KAAO,EAAMC;AACXC,IAAAA,IAAO,EAAAC,sBAAA,CAAA,KAAA,CAAA;AACLC,IAAAA,OAAMD,EAAAA,MAAAA,kBAAkCE,CAAAA,EAAAA,CAApB;AACpBC,GAAAA;EAFK,WAD6B,EAAA;AAKpCC,IAAAA,IAAAA,EAAAA,CAAAA,MAAa,EAAA,MAAA,CAAA;AACXH,IAAAA,OAAOI,EAAD,EAAA;AACNF,GAAAA;EAFW,QALuB,EAAA,OAAA;AASpCG,EAAAA,UAAUC,EAT0B;AAUpCC,IAAAA,IAAAA,EAAAA,sBAAY,CAAA,QAAA,CAAA;AACVP,IAAAA,OAAMD,EAAAA,WAAAA;AAGNG,GAAAA;EAJU,WAVwB,EAAA;AAgBpCM,IAAAA,IAAAA,EAAAA,sBAAa,CAAA,QAAA,CAAA;AACXR,IAAAA,OAAMD,EAAAA,WAAAA;AACNG,GAAAA;EAFW,IAhBuB,EAAA;AAoBpCF,IAAAA,IAAM,EAAA,MAAA;AACJA,IAAAA,MAAMI,EADF,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA;AAEJK,IAAAA,SAAS,EAAA;AACTP,GAAAA;EAHI,OApB8B,EAAA,OAAA;AAyBpCQ,CAAAA,EAAAA;AAzBoC,MAA/B,cAAA,GAAA,UAAA,CAAA;AA8BDC,MAAAA,MAAAA,GAAAA,mBAAN,CAAA;AACA,EAAMC,IAAAA,EAAAA,cAASC;AACbC,EAAAA,OAD6B,WAAA;AAE7BC,EAAAA,KAAK,MAFwB,EAAA;;GAIxB,EAAA;AAAUC,IAAAA,MAAAA,EAAAA,GAAAA,sBAAAA,EAAAA,CAAAA;AAAF,IAAY,MAAA,QAAA,GAAAC,UAAA,CAAAC,uBAAA,CAAA,CAAA;IACvB,IAAMC,CAAAA,QAAKC;AAEX,MAAAC,gBAAc,CAAA,+CAAd,CAAA,CAAA,CAAA;IACA,6BAAeA,CAAAA,MAAU,CAAA,CAAA;AAEzB,IAAA,MAAMC,UAAiB,GAAAC,0BAAvB,EAAA,CAAA;IACA,MAAMC,OAAAA,GAAUC,mBAAGF,EAAAA,CAAAA;IACnB,MAAMG,UAAUD,GAAAA,OAAAA,EAAAA,CAAAA;IAEhB,MAAME,IAAAA,GAAAA,OAAU,EAAGC,CAAAA;IACnB,MAAMC,GAAAA,GAAOD,OAAAA,EAAb,CAAA;IACA,MAAME,UAAN,GAAAF,OAAA,CAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAMG,SAAU,GAAAH,OAAM,CAAA,CAAqB;AAC3C,IAAA,MAAMI,OAAS,GAAAJ,OAAM,CAAA,KAArB,CAAA,CAAA;AACA,IAAA,MAAMK,SAAO,GAAML,YAAnB,CAAA,CAAA;AACA,IAAA,MAAMM,QAAS,GAAAC,aAAM,MAArB,CAAA,KAAA,EAAA,QAAA,CAAA,CAAA,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,WAAA,CAAA,GAAA,OAAA,GAAA,QAAA,CAAA,CAAA;IAEA,MAAMC,QAAQ,GAAGD,YAAQ,CAAC,MACxB;AAIF,MAAA,MAAc,GAAA,GAAA,QAAW,CAAA,KAAsB,KAAA,OAAA,GAAA,GAAA,GAAA,GAAA,CAAA;MAC7C,OAAME;QACC,SAAA,EAAA,CAAA,SAAA,EAAA,GAAA,CAAA,EAAA,EAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA;AACLC,OAAAA,CAAAA;MADK,CAAP;AAGD,IAAA,MALD,UAAA,GAAA,MAAA;;QAOMC,OAAAA;AACJ,MAAA,MAAKZ,aAAWa,GAAO,UAAA,CAAA,KAAA,CAAA,CAAA,MAAA,EAAAC,iBAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEvB,MAAA,MAAMC,aAAa,GACjBf,SAAU,CAAA,MAAV;AACF,MAAA,IAAA,CAAA,aAAmB;QAEf;MAEJ,MAAMgB,SAAS,GACbC,aAAa,GAAGF,aAAhB,GAAgCE,aAAa,GAAGF,aAAhD,GAAgE,CADlE,CAAA;MAGAV,SAAS,CAACQ,KAAV,GAAkBG,SAAlB,CAAA;KAZF,CAAA;;MAeME,IAAAA,CAAAA,gBAAmB,IAAA,CAAA,IAAA,CAAA,KAAA;QACnB;AAEJ,MAAA,MAAMC,OAAO,GAAGjB,IAAI,CAACW,KAAL,CAAY,CAAA,MAAA,EAAQC,iBAAU,CAACL,QAAQ,CAACI,KAAV,CAAiB,EAA/C,CAAhB,CAAA;AACA,MAAA,MAAME,aAAa,GACjBf,UAAU,CAACa,KAAX,CAAkB,CAAA,MAAA,EAAQC,iBAAU,CAACL,QAAQ,CAACI,KAAV,CAAiB,EAArD,CADF,CAAA;AAEA,MAAA,MAAMI,aAAa,GAAGZ,SAAS,CAACQ,KAAhC,CAAA;AAEA,MAAA,IAAIM,OAAO,GAAGF,aAAV,IAA2BF,aAA/B;AAEA,QAAA;MAKAV,MAAS,SAAT,GAAkBW,OAAlB,GAAA,aAAA,GAAA,aAAA,GAAA,CAAA,GAAA,aAAA,GAAA,aAAA,GAAA,OAAA,GAAA,aAAA,CAAA;MAfF,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA;;IAkBA,MAAMI,iBAAiB,GAAG,YAAY;AACpC,MAAA,MAAMC,GAAG,GAAGnB,IAAI,CAACW,KAAjB,CAAA;AACA,MAAA,IAAI,CAACT,UAAU,CAACS,KAAZ,IAAqB,CAACV,GAAG,CAACU,KAA1B,IAAmC,CAACb,UAAU,CAACa,KAA/C,IAAwD,CAACQ,GAA7D;AAEA,QAAA;MAEA,MAAMC,YAAAA;MACN,eAAgB,GAAA,GAAA,CAAA,KAAA,CAAA,aAAA,CAAA,YAAA,CAAA,CAAA;AAEhB,MAAA,IAAA,CAAA,SAAe;AACf,QAAA,OAAkB;AAGlB,MAAA,MAAMC,SAAiB,GAAA,UAAY,CAAA,KAAA,CAAA;AACnC,MAAA,MAAMC,YAAiB,GAAA,CAAA,KAAY,EAAA,4BAAT,KAA1B,CAAA,WAAA,CAAA,CAAA;AACA,MAAA,MAAMC,iBAAYC,GAAAA,SACX,CAAA,qBAAeF,EAAAA,CAAAA;AAEtB,MAAA,MAAMP,iBAAyB,GAAA,SAA/B,CAAA,qBAAA,EAAA,CAAA;MACA,MAAID,YAAJ,YAAA,GAAA,GAAA,CAAA,WAAA,GAAA,iBAAA,CAAA,KAAA,GAAA,GAAA,CAAA,YAAA,GAAA,iBAAA,CAAA,MAAA,CAAA;;AAEA,MAAA,IAAIU,YAAJ,aAAkB,CAAA;AAChB,MAAA,IAAA;YACW,iBACM,CAAA,IAAA,GAAA,iBAAqB,CAAA,MAAjB;AACpB,UAAA,SAAA,GAAA,aAAA,IAAA,iBAAA,CAAA,IAAA,GAAA,iBAAA,CAAA,IAAA,CAAA,CAAA;;AACD,QAAA,IAAIH,iBAAiB,CAACI,KAAlB,GAA0BH,iBAAiB,CAACG,KAAhD,EAAuD;UACrDX,SAAS,GACPC,aAAa,GAAGM,iBAAiB,CAACI,KAAlC,GAA0CH,iBAAiB,CAACG,KAD9D,CAAA;AAED,SAAA;AACF,OATD,MASO;AACL,QAAA,IAAIJ,iBAAiB,CAACK,GAAlB,GAAwBJ,iBAAiB,CAACI,GAA9C,EAAmD;UACjDZ,SAAS,GACPC,aAAa,IAAIO,iBAAiB,CAACI,GAAlB,GAAwBL,iBAAiB,CAACK,GAA9C,CADf,CAAA;AAED,SAAA;;AACD,UAAA,yBAAsBC,IAASL,iBAAiB,CAACK,MAAjD,GAAyD,iBAAA,CAAA,MAAA,CAAA,CAAA;;AAIxD,OAAA;AACF,MAAA,SAAA,GAAA,IAAA,CAAA,GAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA;;MACDb;UACS,MAACH,GAAV,MAAsB;MA1CxB,IAAA,CAAA,IAAA,CAAA,KAAA,IAAA,CAAA,UAAA,CAAA,KAAA;;MA6CMiB,MAAAA,OAAS,GAAM,IAAA,CAAA,KAAA,CAAA,CAAA,MAAA,EAAAhB,iBAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;MACnB,mBAAmB,GAACd,UAAWa,CAAAA,KAAO,CAAA,CAAA,MAAA,EAAAC,iBAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,MAAA,MAAMK,aAAc,YAAQ,CAAA,KAAkB,CAAA;AAC9C,MAAA,IAAA,aAAmB,GAAA,OACP,EAAA;AACZ,QAAA,MAAmB,cAAGd,GAAS,SAA/B,CAAA,KAAA,CAAA;;QAEIU,UAAAA,CAAAA,KAAgBI,CAAAA,IAAAA,GAAAA,cAAS,CAAA;AAC3B,QAAA,UAAmB,CAAA,KAAA,CAAA,IAAA,GAAY,cAA/B,GAAA,aAAA,GAAA,OAAA,CAAA;AACAf,QAAAA,IAAAA,OAAWS,GAAX,iBAA8BA,aAA9B,EAAA;AACAT,UAAAA,SAAWS,CAAAA,KAAMkB,GAAAA,OAAjB,GAAA,aAAA,CAAA;SACU;;AACV,QAAA,UAAW,CAAA,KAAP,GAAA,KAAA,CAAA;AACF1B,QAAAA,IAAAA,aAAA,GAAkBc,CAAAA,EAAAA;AACnB,UAAA,SAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AACF,SAAM;;;UAEDF,SAAAA,GAAAA,CAAAA,CAAAA,KAAJ;YACW,IAAA,GAAA,CAACJ,CAAV,IAAA,CAAA;AACD,MAAA,MAAA;AACF,QAAA,EAAA;QArBH,IAAA;;QAwBMmB,KAAAA;AACJ,OAAA,GAAAC,eAAc,CAACC;MAEf,IAAM,CAAA,CAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,CAAA,CAAA,QAAA,CAAA,IAAA,CAAA;QAAEC,OAAF;YAAA,OAAA,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,aAAA,CAAA,gBAAA,CAAA,YAAA,CAAA,CAAA,CAAA;YAAA,YAAA,GAAA,OAAA,CAAA,OAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAkBR,MAAAA,IAAAA,SAAAA,CAAAA;AAAlB,MAAA,IAA4BM,IAAlC,KAAA,IAAA,IAAA,IAAA,KAAA,EAAA,EAAA;AACA,QAAA,IAAME,YAAD,KAAA,CAAA,EAAA;;AAGL,SAAA,MAAa;UAKPC,SAAAA,GAAAA,YAAsB;AAE5B,SAAA;;AACA,QAAA,mBAAqBF,OAAI,CAAA,MAAS,GAAA,CAAA,EAAA;AAChC,UAAA,SAAA,GAAA,YAAA,GAAA,CAAA,CAAA;SACIE,MAAAA;AACF,UAAA,SAAA,GAAA,CAAA,CAAA;AACAC,SAAAA;AACD,OAAA;aACU,CAAA,SAAe,CAAA,CAAA,KAAA,EAAA,CAAA;AACzB,MAAA,OAAA,CAAA,SAAA,CAAA,CAAA,KAAA,EAAA,CAAA;AACF,MAAA,QAAM,EAAA,CAAA;AACL,KAAA,CAAA;AACA,IAAA,MAAA,iBAAmBC;AACjB,MAAA,IAAA,SAAA,CAAA,KAAA;eACS,CAAA,KAAA,GAAe,IAAA,CAAA;AACzB,KAAA,CAAA;AACCD,IAAAA,MAAAA,cAAA,MAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACD,IAAAE,SAAA,CAAA,UAAA,EAAA,CAAA,WAAA,KAAA;AACF,MAAA,IAAA,WAAA,KAAA,QAAA,EAAA;;AACDD,OAAAA,MAAO,IAAA,WAAYE,KAhCmB,SAgCX,EAAA;;AAC3BF,OAAAA;;aACQ,CAAA,OAAA,EAAA,CAAA,QAAA,KAAA;MAlCV,IAAA,QAAA,EAAA;;OAqCMG,MAAAA;QACAlC,SAAAA,CAAAA,KAAJ,GAAA;OADF;;AAGA,IAAAmC,sBAAiB,CAAG,GAAA,EAAA;;AAEpBH,IAAAA,aAAM1C,CAAAA,MAAD,MAAcA,EAAAA,CAAAA,CAAAA;UACbA,CAAAA;uBACF;AACD,MAAA,WAAUA;;AAEV,IAAA0C,SAAA,CAAA,MAAA,KAAA,CAAA,KAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,EAAA;AACF,MAND,KAAA,EAAA,MAAA;AAOAA,KAAAA,CAAAA,CAAAA;AACE,IAAA,aAAA;YACY,sBAAiB,CAAC1B,KAAV,GAAkB,CAAA8B,eAApC,CAAA,MAAA,EAAA;AACD,QAAM,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,CAAA,UAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;QACLpC,SAAS,EAAT,UAAA;AACD,OAAA,EAAA,CAAAoC,eAAA,CAAAC,cAAA,EAAA,IAAA,EAAA;AACF,QAND,OAAA,EAAA,MAAA,CAAAD,eAAA,CAAAE,kBAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAQAH,OAAAA,CAAAA,CAAAA,CAAAA,EAAAA,eAAkBvC,CAAD,MAAM2B,EAAN;QAER,OAAOgB,EAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,UAAW,CAAA,EAAA,kBAAuB,CAAxB,UAA1B,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AACAC,QAAAA,SAAU,EAAA,UAAV;AAEA1D,OAAAA,EAAAA,CAAMsD,eAAC,CAAAC,cAAA,EAAA,IAAA,EAAA;QAAA,OAAA,EAAA,MAAA,CAAAD,eAAA,CAAAK,mBAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAELC,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,IAAAA,CAAAA;AAFK,MAAP,MAAA,IAAA,GAAA,KAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,IAAA,EAAA,KAAA,KAAA;QAKK,IACG7D,EAAAA,EAAAA,EAAAA,EAAAA,EAAMjB,EAAAA,EAAAA,CADT;AAGD+E,QAAAA,MAAO,OAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,EAAA,GAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAAT,QAHF,MAAA,QAAA,GAAA,IAAA,CAAA,UAAA,IAAA,KAAA,CAAA,QAAA,CAAA;AAMA,QAAA,IAAa,CAAA,KAAA,GAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACX,QAAA,MAAe,QAAA,GAAa,QAAA,kBACxB,CAAAN,cAAA,EAAA;UAEW,OAAA,iBAAA;UAIEhC,SAAAA,EAAAA,CAAAA,EAAAA,KAAAA,KAAAA,CAAAA,WAAAA,CAAAA,IAAAA,EAAAA,EAAAA,CAAAA;AANb,SAAA,EAAA;AAAA,UAAA,OAAA,EAAA,MAAA,CAAA+B,eAAA,CAAAQ,cAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,SAAA,CAAA,GAAA,IAAA,CAAA;QAAA,MAaW,eACL,GAAA,CAAA,CADK,EAELxD,GAAGyD,GAAG,GAAA,IAAA,CAAA,KAAahD,EAAAA,KAAAA,KAAA,IAAA,GAAnB,KAfN,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,KAAA,CAAA;QAAA,MAiBac,QAAAA,GAAAA,IAAAA,CAAAA,MAAAA,GAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA;AAjBb,QAAA,OAAAyB,eAAA,CAAA,KAAA,EAAA;AAAA,UAAA,KAAA,EAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAAA,UAAA,OADJ,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,QAAA,CAAA,KAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,IAAA,CAAA,KAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AA2BA,UAAA,IAAU,EAAA,CAAA,IAAQ,EAAA,OAAL,CAAYU,CAAZ;AACX,UAAA,KAAa,EAAA,CAAA,IAAA,EAAGC;UACVC,eAAoBD,EAAI,CAAA,cAAelE,CAAAA,CAAAA;AAC7CkE,UAAAA,MAAKE,EAAL,KAAc;UAERC,eAAWF,EAAQ,IAAA,CAAA,MAAA;AAAA,UAAA,UAAA,EAAA,QAAA;UAAA,SAMXG,EAAAA,MAAmBtE;AANR,UAAA,QAAA,EAAA,MAAA,WAAA,EAAA;AAAA,UAAA,SAAA,EAAA,CAAA,EAAA,KAAA;AAAA,YAAA,WAAzB,EAAA,CAAA;AAYA,YAAA,KAAqB,CAAA,UAAA,CAAA,IAAO,EAAA,OAAJ,EAAA,EAAA,CAAA,CAAA;WAClBuE;AAEN,UAAA,WAAA,EAAA,CAAA,EAAA,KAAA;YAEU,IAAA,QAAMC,OAAQ,CAFxB,IAAA,KAAA3B,eAAA,CAAA,MAAA,IAAA,EAAA,CAAA,IAAA,KAAAA,eAAA,CAAA,SAAA,CAAA,EAAA;AAAA,cAAA,KAGW,CACLtC,WAAA,CADK,IAEH,EAAF,EAAMkE,CAAQ,CAAA;aAMX;WACC;WACU,CAAA,GAAA,CAAA,eAAA,EAAA,SAAe,CAbnC,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;aAemBP,eAAAA,CAAAA,KAAI,EAfvB;AAAA,QAAA,KAAA,EAAA,GAAA;eAiBa,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,aAjBb,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,CAAA,CAAA,UAAA,CAAA,KAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,QAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA;UAAA,SAkBY,EAAAX,qBAlBZ,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAA,CAmBce,aAAmB,CAAA;aAChB,EAAA,UAAA;AACXtE,OAAAA,EAAAA,CAAAA,eAAA,CAAA,KAAA;eArBN,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,QAAA,CAAA,KAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,KAAA,CAAA,OAAA,IAAA,CAAA,KAAA,EAAA,QAAA,CAAA,CAAA,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,IAAA;AAwBM,QAAA,OAAA,UAEGsE,CAAAA,KAAE;AAGHtE,QAAAA,MAAAA,EAAAA,SAAMP;AACP,QAAA,WAAA,EAAA,SAAA;AACF,OAAA,EAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,IAAA,GAAA8D,eAAA,CAAA3E,iBAAA,EAAA;AA/BL,QAAA,MAAA,EAiCS8F,CAAAA,GAAAA,KAAAA,CAAAA,KAAD,CAAkBL;AAG3B,OAxDY,EAAb,IAAA,CAAA,GAAA,IAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AA0DA,KAAA,CAAA;AAAA,GAAA;AAAA,CAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"tab-nav.js","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPanelName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post' }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${tabName}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${tabName}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["TabBar","buildProps","tabNavProps","panes","definePropType","type","Array","default","currentName","String","editable","Boolean","onTabClick","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","expose","inject","tabsRootContextKey","vm","getCurrentInstance","throwError","ns","useDocumentVisibility","visibility","useWindowFocus","focused","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","computed","sizeName","dir","transform","scrollPrev","value","capitalize","containerSize","newOffset","currentOffset","scrollNext","navSize","scrollToActiveTab","nav","activeTab","activeTabBounding","navScrollBounding","maxOffset","isHorizontal","right","top","bottom","update","prev","changeTab","EVENT_CODE","code","up","currentIndex","nextIndex","tabList","watch","focus","setFocus","useResizeObserver","_createVNode","ElIcon","ArrowLeft","setTimeout","onUpdated","ArrowRight","removeFocus","flush","scrollBtn","Close","map","pane","disabled","isClosable","index","btnClose","closable","ev","tabName","is","rootTabs","tabLabelContent"],"mappings":"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"}
|
|
@@ -458,7 +458,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
458
458
|
ref_key: "refPopper",
|
|
459
459
|
ref: refPopper,
|
|
460
460
|
visible: pickerVisible.value,
|
|
461
|
-
"onUpdate:visible": _cache[2] || (_cache[2] = ($event) => pickerVisible.value = $event),
|
|
462
461
|
effect: "light",
|
|
463
462
|
pure: "",
|
|
464
463
|
trigger: "click"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.js","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n :label=\"label\"\n :tabindex=\"tabindex\"\n :validate-event=\"validateEvent\"\n @input=\"onUserInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @keydown=\"\n //\n handleKeydownInput as any\n \"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @click.stop=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"[\n nsDate.b('editor'),\n nsDate.bm('editor', type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled),\n nsDate.is('active', pickerVisible),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize) : '',\n $attrs.class,\n ]\"\n :style=\"($attrs.style as any)\"\n @click=\"handleFocusInput\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @mousedown=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n />\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n {\n [nsRange.e('close-icon--hidden')]: !showClose,\n },\n ]\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @keydown=\"onKeydownPopperContent\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, provide, ref, unref, watch } from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useNamespace, useSize } from '@element-plus/hooks'\nimport { formContextKey, formItemContextKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type { FormContext, FormItemContext } from '@element-plus/tokens'\nimport type {\n DateModelType,\n DateOrDates,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\n// Date object and string\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst elForm = inject(formContextKey, {} as FormContext)\nconst elFormItem = inject(formItemContextKey, {} as FormItemContext)\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<HTMLElement | ComponentPublicInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\n\nlet hasJustTabExitedInput = false\nlet ignoreFocusEvent = false\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n valueOnOpen.value = props.modelValue\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n props.validateEvent &&\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType | Dayjs> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n})\n\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n}\nconst focusOnInputBox = () => {\n focus(true, true)\n nextTick(() => {\n ignoreFocusEvent = false\n })\n}\n\nconst onPick = (date: any = '', visible = false) => {\n if (!visible) {\n focusOnInputBox()\n }\n pickerVisible.value = visible\n let result\n if (isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n}\n\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onKeydownPopperContent = (event: KeyboardEvent) => {\n if ((event as KeyboardEvent)?.key === EVENT_CODE.esc) {\n focus(true, true)\n }\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n ignoreFocusEvent = false\n emit('visible-change', false)\n}\n\nconst focus = (focusStartInput = true, isIgnoreFocusEvent = false) => {\n ignoreFocusEvent = isIgnoreFocusEvent\n const [leftInput, rightInput] = unref(refInput)\n let input = leftInput\n if (!focusStartInput && isRangeInput.value) {\n input = rightInput\n }\n if (input) {\n input.focus()\n }\n}\n\nconst handleFocusInput = (e?: FocusEvent) => {\n if (\n props.readonly ||\n pickerDisabled.value ||\n pickerVisible.value ||\n ignoreFocusEvent\n ) {\n return\n }\n pickerVisible.value = true\n emit('focus', e)\n}\n\nlet currentHandleBlurDeferCallback:\n | (() => Promise<void> | undefined)\n | undefined = undefined\n\n// Check if document.activeElement is inside popper or any input before popper close\nconst handleBlurInput = (e?: FocusEvent) => {\n const handleBlurDefer = async () => {\n setTimeout(() => {\n if (currentHandleBlurDeferCallback === handleBlurDefer) {\n if (\n !(\n refPopper.value?.isFocusInsideContent() && !hasJustTabExitedInput\n ) &&\n refInput.value.filter((input) => {\n return input.contains(document.activeElement)\n }).length === 0\n ) {\n handleChange()\n pickerVisible.value = false\n emit('blur', e)\n props.validateEvent &&\n elFormItem.validate?.('blur').catch((err) => debugWarn(err))\n }\n hasJustTabExitedInput = false\n }\n }, 0)\n }\n currentHandleBlurDeferCallback = handleBlurDefer\n handleBlurDefer()\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return ''\n if (!pickerVisible.value && valueIsEmpty.value) return ''\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n focusOnInputBox()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\nconst onTouchStartInput = (event: TouchEvent) => {\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\nconst actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n})\n\nonClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n (isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()) as DateOrDates\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event\n emitKeydown(event)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value) as DayOrDays)\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\nconst onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n}\n\nconst onCalendarChange = (e: [Date, false | Date]) => {\n emit('calendar-change', e)\n}\n\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description emit focus event\n */\n handleFocusInput,\n /**\n * @description emit blur event\n */\n handleBlurInput,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":["useLocale","useNamespace","inject","formContextKey","formItemContextKey","ref","watch","nextTick","debugWarn","valueEquals","isArray","formatter","computed","EVENT_CODE","unref","parseDate","isEqual","Clock","Calendar","useSize","onClickOutside"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker.js","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n :label=\"label\"\n :tabindex=\"tabindex\"\n :validate-event=\"validateEvent\"\n @input=\"onUserInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @keydown=\"\n //\n handleKeydownInput as any\n \"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @click.stop=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"[\n nsDate.b('editor'),\n nsDate.bm('editor', type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled),\n nsDate.is('active', pickerVisible),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize) : '',\n $attrs.class,\n ]\"\n :style=\"($attrs.style as any)\"\n @click=\"handleFocusInput\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @mousedown=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n />\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n {\n [nsRange.e('close-icon--hidden')]: !showClose,\n },\n ]\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @keydown=\"onKeydownPopperContent\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, provide, ref, unref, watch } from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useNamespace, useSize } from '@element-plus/hooks'\nimport { formContextKey, formItemContextKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type { FormContext, FormItemContext } from '@element-plus/tokens'\nimport type {\n DateModelType,\n DateOrDates,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\n// Date object and string\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst elForm = inject(formContextKey, {} as FormContext)\nconst elFormItem = inject(formItemContextKey, {} as FormItemContext)\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<HTMLElement | ComponentPublicInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\n\nlet hasJustTabExitedInput = false\nlet ignoreFocusEvent = false\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n valueOnOpen.value = props.modelValue\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n props.validateEvent &&\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType | Dayjs> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n})\n\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n}\nconst focusOnInputBox = () => {\n focus(true, true)\n nextTick(() => {\n ignoreFocusEvent = false\n })\n}\n\nconst onPick = (date: any = '', visible = false) => {\n if (!visible) {\n focusOnInputBox()\n }\n pickerVisible.value = visible\n let result\n if (isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n}\n\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onKeydownPopperContent = (event: KeyboardEvent) => {\n if ((event as KeyboardEvent)?.key === EVENT_CODE.esc) {\n focus(true, true)\n }\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n ignoreFocusEvent = false\n emit('visible-change', false)\n}\n\nconst focus = (focusStartInput = true, isIgnoreFocusEvent = false) => {\n ignoreFocusEvent = isIgnoreFocusEvent\n const [leftInput, rightInput] = unref(refInput)\n let input = leftInput\n if (!focusStartInput && isRangeInput.value) {\n input = rightInput\n }\n if (input) {\n input.focus()\n }\n}\n\nconst handleFocusInput = (e?: FocusEvent) => {\n if (\n props.readonly ||\n pickerDisabled.value ||\n pickerVisible.value ||\n ignoreFocusEvent\n ) {\n return\n }\n pickerVisible.value = true\n emit('focus', e)\n}\n\nlet currentHandleBlurDeferCallback:\n | (() => Promise<void> | undefined)\n | undefined = undefined\n\n// Check if document.activeElement is inside popper or any input before popper close\nconst handleBlurInput = (e?: FocusEvent) => {\n const handleBlurDefer = async () => {\n setTimeout(() => {\n if (currentHandleBlurDeferCallback === handleBlurDefer) {\n if (\n !(\n refPopper.value?.isFocusInsideContent() && !hasJustTabExitedInput\n ) &&\n refInput.value.filter((input) => {\n return input.contains(document.activeElement)\n }).length === 0\n ) {\n handleChange()\n pickerVisible.value = false\n emit('blur', e)\n props.validateEvent &&\n elFormItem.validate?.('blur').catch((err) => debugWarn(err))\n }\n hasJustTabExitedInput = false\n }\n }, 0)\n }\n currentHandleBlurDeferCallback = handleBlurDefer\n handleBlurDefer()\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return ''\n if (!pickerVisible.value && valueIsEmpty.value) return ''\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n focusOnInputBox()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\nconst onTouchStartInput = (event: TouchEvent) => {\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\nconst actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n})\n\nonClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n (isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()) as DateOrDates\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event\n emitKeydown(event)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value) as DayOrDays)\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\nconst onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n}\n\nconst onCalendarChange = (e: [Date, false | Date]) => {\n emit('calendar-change', e)\n}\n\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description emit focus event\n */\n handleFocusInput,\n /**\n * @description emit blur event\n */\n handleBlurInput,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":["useLocale","useNamespace","inject","formContextKey","formItemContextKey","ref","watch","nextTick","debugWarn","valueEquals","isArray","formatter","computed","EVENT_CODE","unref","parseDate","isEqual","Clock","Calendar","useSize","onClickOutside"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
require('../../utils/index.js');
|
|
6
6
|
var timeline = require('./src/timeline.js');
|
|
7
|
-
var timelineItem$1 = require('./src/timeline-
|
|
8
|
-
var timelineItem = require('./src/timeline-
|
|
7
|
+
var timelineItem$1 = require('./src/timeline-item.js');
|
|
8
|
+
var timelineItem = require('./src/timeline-item2.js');
|
|
9
9
|
var install = require('../../utils/vue/install.js');
|
|
10
10
|
|
|
11
11
|
const ElTimeline = install.withInstall(timeline["default"], {
|
|
@@ -2,51 +2,78 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('
|
|
6
|
-
var
|
|
7
|
-
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var index$1 = require('../../icon/index.js');
|
|
7
|
+
require('../../../hooks/index.js');
|
|
8
|
+
var timelineItem = require('./timeline-item2.js');
|
|
9
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
10
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
8
11
|
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
12
|
+
const __default__ = {
|
|
13
|
+
name: "ElTimelineItem"
|
|
14
|
+
};
|
|
15
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
16
|
+
...__default__,
|
|
17
|
+
props: timelineItem.timelineItemProps,
|
|
18
|
+
setup(__props) {
|
|
19
|
+
const ns = index.useNamespace("timeline-item");
|
|
20
|
+
return (_ctx, _cache) => {
|
|
21
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
22
|
+
class: vue.normalizeClass([vue.unref(ns).b(), { [vue.unref(ns).e("center")]: _ctx.center }])
|
|
23
|
+
}, [
|
|
24
|
+
vue.createElementVNode("div", {
|
|
25
|
+
class: vue.normalizeClass(vue.unref(ns).e("tail"))
|
|
26
|
+
}, null, 2),
|
|
27
|
+
!_ctx.$slots.dot ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
28
|
+
key: 0,
|
|
29
|
+
class: vue.normalizeClass([
|
|
30
|
+
vue.unref(ns).e("node"),
|
|
31
|
+
vue.unref(ns).em("node", _ctx.size || ""),
|
|
32
|
+
vue.unref(ns).em("node", _ctx.type || ""),
|
|
33
|
+
vue.unref(ns).is("hollow", _ctx.hollow)
|
|
34
|
+
]),
|
|
35
|
+
style: vue.normalizeStyle({
|
|
36
|
+
backgroundColor: _ctx.color
|
|
37
|
+
})
|
|
38
|
+
}, [
|
|
39
|
+
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
|
|
40
|
+
key: 0,
|
|
41
|
+
class: vue.normalizeClass(vue.unref(ns).e("icon"))
|
|
42
|
+
}, {
|
|
43
|
+
default: vue.withCtx(() => [
|
|
44
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon)))
|
|
45
|
+
]),
|
|
46
|
+
_: 1
|
|
47
|
+
}, 8, ["class"])) : vue.createCommentVNode("v-if", true)
|
|
48
|
+
], 6)) : vue.createCommentVNode("v-if", true),
|
|
49
|
+
_ctx.$slots.dot ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
50
|
+
key: 1,
|
|
51
|
+
class: vue.normalizeClass(vue.unref(ns).e("dot"))
|
|
52
|
+
}, [
|
|
53
|
+
vue.renderSlot(_ctx.$slots, "dot")
|
|
54
|
+
], 2)) : vue.createCommentVNode("v-if", true),
|
|
55
|
+
vue.createElementVNode("div", {
|
|
56
|
+
class: vue.normalizeClass(vue.unref(ns).e("wrapper"))
|
|
57
|
+
}, [
|
|
58
|
+
!_ctx.hideTimestamp && _ctx.placement === "top" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
59
|
+
key: 0,
|
|
60
|
+
class: vue.normalizeClass([vue.unref(ns).e("timestamp"), vue.unref(ns).is("top")])
|
|
61
|
+
}, vue.toDisplayString(_ctx.timestamp), 3)) : vue.createCommentVNode("v-if", true),
|
|
62
|
+
vue.createElementVNode("div", {
|
|
63
|
+
class: vue.normalizeClass(vue.unref(ns).e("content"))
|
|
64
|
+
}, [
|
|
65
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
66
|
+
], 2),
|
|
67
|
+
!_ctx.hideTimestamp && _ctx.placement === "bottom" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
68
|
+
key: 1,
|
|
69
|
+
class: vue.normalizeClass([vue.unref(ns).e("timestamp"), vue.unref(ns).is("bottom")])
|
|
70
|
+
}, vue.toDisplayString(_ctx.timestamp), 3)) : vue.createCommentVNode("v-if", true)
|
|
71
|
+
], 2)
|
|
72
|
+
], 2);
|
|
73
|
+
};
|
|
48
74
|
}
|
|
49
75
|
});
|
|
76
|
+
var TimelineItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/timeline/src/timeline-item.vue"]]);
|
|
50
77
|
|
|
51
|
-
exports
|
|
78
|
+
exports["default"] = TimelineItem;
|
|
52
79
|
//# sourceMappingURL=timeline-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-item.js","sources":["../../../../../../packages/components/timeline/src/timeline-item.
|
|
1
|
+
{"version":3,"file":"timeline-item.js","sources":["../../../../../../packages/components/timeline/src/timeline-item.vue"],"sourcesContent":["<template>\n <li :class=\"[ns.b(), { [ns.e('center')]: center }]\">\n <div :class=\"ns.e('tail')\" />\n <div\n v-if=\"!$slots.dot\"\n :class=\"[\n ns.e('node'),\n ns.em('node', size || ''),\n ns.em('node', type || ''),\n ns.is('hollow', hollow),\n ]\"\n :style=\"{\n backgroundColor: color,\n }\"\n >\n <el-icon v-if=\"icon\" :class=\"ns.e('icon')\">\n <component :is=\"icon\" />\n </el-icon>\n </div>\n <div v-if=\"$slots.dot\" :class=\"ns.e('dot')\">\n <slot name=\"dot\" />\n </div>\n\n <div :class=\"ns.e('wrapper')\">\n <div\n v-if=\"!hideTimestamp && placement === 'top'\"\n :class=\"[ns.e('timestamp'), ns.is('top')]\"\n >\n {{ timestamp }}\n </div>\n\n <div :class=\"ns.e('content')\">\n <slot />\n </div>\n\n <div\n v-if=\"!hideTimestamp && placement === 'bottom'\"\n :class=\"[ns.e('timestamp'), ns.is('bottom')]\"\n >\n {{ timestamp }}\n </div>\n </div>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { timelineItemProps } from './timeline-item'\n\ndefineOptions({\n name: 'ElTimelineItem',\n})\n\ndefineProps(timelineItemProps)\n\nconst ns = useNamespace('timeline-item')\n</script>\n"],"names":["useNamespace"],"mappings":";;;;;;;;;;;;;;;;;;AAwDA,IAAA,MAAA,EAAA,GAAAA,mBAAA,eAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,78 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
require('../../../
|
|
8
|
-
var timelineItem = require('./timeline-item.js');
|
|
9
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
10
|
-
var index = require('../../../hooks/use-namespace/index.js');
|
|
5
|
+
require('../../../utils/index.js');
|
|
6
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
7
|
+
var icon = require('../../../utils/vue/icon.js');
|
|
11
8
|
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
class: vue.normalizeClass(vue.unref(ns).e("dot"))
|
|
52
|
-
}, [
|
|
53
|
-
vue.renderSlot(_ctx.$slots, "dot")
|
|
54
|
-
], 2)) : vue.createCommentVNode("v-if", true),
|
|
55
|
-
vue.createElementVNode("div", {
|
|
56
|
-
class: vue.normalizeClass(vue.unref(ns).e("wrapper"))
|
|
57
|
-
}, [
|
|
58
|
-
!_ctx.hideTimestamp && _ctx.placement === "top" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
59
|
-
key: 0,
|
|
60
|
-
class: vue.normalizeClass([vue.unref(ns).e("timestamp"), vue.unref(ns).is("top")])
|
|
61
|
-
}, vue.toDisplayString(_ctx.timestamp), 3)) : vue.createCommentVNode("v-if", true),
|
|
62
|
-
vue.createElementVNode("div", {
|
|
63
|
-
class: vue.normalizeClass(vue.unref(ns).e("content"))
|
|
64
|
-
}, [
|
|
65
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
66
|
-
], 2),
|
|
67
|
-
!_ctx.hideTimestamp && _ctx.placement === "bottom" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
68
|
-
key: 1,
|
|
69
|
-
class: vue.normalizeClass([vue.unref(ns).e("timestamp"), vue.unref(ns).is("bottom")])
|
|
70
|
-
}, vue.toDisplayString(_ctx.timestamp), 3)) : vue.createCommentVNode("v-if", true)
|
|
71
|
-
], 2)
|
|
72
|
-
], 2);
|
|
73
|
-
};
|
|
9
|
+
const timelineItemProps = runtime.buildProps({
|
|
10
|
+
timestamp: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: ""
|
|
13
|
+
},
|
|
14
|
+
hideTimestamp: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: false
|
|
17
|
+
},
|
|
18
|
+
center: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
placement: {
|
|
23
|
+
type: String,
|
|
24
|
+
values: ["top", "bottom"],
|
|
25
|
+
default: "bottom"
|
|
26
|
+
},
|
|
27
|
+
type: {
|
|
28
|
+
type: String,
|
|
29
|
+
values: ["primary", "success", "warning", "danger", "info"],
|
|
30
|
+
default: ""
|
|
31
|
+
},
|
|
32
|
+
color: {
|
|
33
|
+
type: String,
|
|
34
|
+
default: ""
|
|
35
|
+
},
|
|
36
|
+
size: {
|
|
37
|
+
type: String,
|
|
38
|
+
values: ["normal", "large"],
|
|
39
|
+
default: "normal"
|
|
40
|
+
},
|
|
41
|
+
icon: {
|
|
42
|
+
type: icon.iconPropType,
|
|
43
|
+
default: ""
|
|
44
|
+
},
|
|
45
|
+
hollow: {
|
|
46
|
+
type: Boolean,
|
|
47
|
+
default: false
|
|
74
48
|
}
|
|
75
49
|
});
|
|
76
|
-
var TimelineItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/timeline/src/timeline-item.vue"]]);
|
|
77
50
|
|
|
78
|
-
exports
|
|
51
|
+
exports.timelineItemProps = timelineItemProps;
|
|
79
52
|
//# sourceMappingURL=timeline-item2.js.map
|