You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 lines
8.0 KiB

{"ast":null,"code":"import { inject, ref, computed, unref } from 'vue';\nimport { collapseContextKey } from './constants.mjs';\nimport { useIdInjection } from '../../../hooks/use-id/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst useCollapseItem = props => {\n const collapse = inject(collapseContextKey);\n const {\n namespace\n } = useNamespace(\"collapse\");\n const focusing = ref(false);\n const isClick = ref(false);\n const idInjection = useIdInjection();\n const id = computed(() => idInjection.current++);\n const name = computed(() => {\n var _a;\n return (_a = props.name) != null ? _a : `${namespace.value}-id-${idInjection.prefix}-${unref(id)}`;\n });\n const isActive = computed(() => collapse == null ? void 0 : collapse.activeNames.value.includes(unref(name)));\n const handleFocus = () => {\n setTimeout(() => {\n if (!isClick.value) {\n focusing.value = true;\n } else {\n isClick.value = false;\n }\n }, 50);\n };\n const handleHeaderClick = () => {\n if (props.disabled) return;\n collapse == null ? void 0 : collapse.handleItemClick(unref(name));\n focusing.value = false;\n isClick.value = true;\n };\n const handleEnterClick = () => {\n collapse == null ? void 0 : collapse.handleItemClick(unref(name));\n };\n return {\n focusing,\n id,\n isActive,\n handleFocus,\n handleHeaderClick,\n handleEnterClick\n };\n};\nconst useCollapseItemDOM = (props, {\n focusing,\n isActive,\n id\n}) => {\n const ns = useNamespace(\"collapse\");\n const rootKls = computed(() => [ns.b(\"item\"), ns.is(\"active\", unref(isActive)), ns.is(\"disabled\", props.disabled)]);\n const headKls = computed(() => [ns.be(\"item\", \"header\"), ns.is(\"active\", unref(isActive)), {\n focusing: unref(focusing) && !props.disabled\n }]);\n const arrowKls = computed(() => [ns.be(\"item\", \"arrow\"), ns.is(\"active\", unref(isActive))]);\n const itemWrapperKls = computed(() => ns.be(\"item\", \"wrap\"));\n const itemContentKls = computed(() => ns.be(\"item\", \"content\"));\n const scopedContentId = computed(() => ns.b(`content-${unref(id)}`));\n const scopedHeadId = computed(() => ns.b(`head-${unref(id)}`));\n return {\n arrowKls,\n headKls,\n rootKls,\n itemWrapperKls,\n itemContentKls,\n scopedContentId,\n scopedHeadId\n };\n};\nexport { useCollapseItem, useCollapseItemDOM };","map":{"version":3,"names":["useCollapseItem","props","collapse","inject","collapseContextKey","namespace","useNamespace","focusing","ref","isClick","idInjection","useIdInjection","id","computed","current","name","_a","value","prefix","unref","isActive","activeNames","includes","handleFocus","setTimeout","handleHeaderClick","disabled","handleItemClick","handleEnterClick","useCollapseItemDOM","ns","rootKls","b","is","headKls","be","arrowKls","itemWrapperKls","itemContentKls","scopedContentId","scopedHeadId"],"sources":["../../../../../../packages/components/collapse/src/use-collapse-item.ts"],"sourcesContent":["import { computed, inject, ref, unref } from 'vue'\nimport { useIdInjection, useNamespace } from '@element-plus/hooks'\nimport { collapseContextKey } from './constants'\n\nimport type { CollapseItemProps } from './collapse-item'\n\nexport const useCollapseItem = (props: CollapseItemProps) => {\n const collapse = inject(collapseContextKey)\n const { namespace } = useNamespace('collapse')\n\n const focusing = ref(false)\n const isClick = ref(false)\n const idInjection = useIdInjection()\n const id = computed(() => idInjection.current++)\n const name = computed(() => {\n return (\n props.name ?? `${namespace.value}-id-${idInjection.prefix}-${unref(id)}`\n )\n })\n\n const isActive = computed(() =>\n collapse?.activeNames.value.includes(unref(name))\n )\n\n const handleFocus = () => {\n setTimeout(() => {\n if (!isClick.value) {\n focusing.value = true\n } else {\n isClick.value = false\n }\n }, 50)\n }\n\n const handleHeaderClick = () => {\n if (props.disabled) return\n collapse?.handleItemClick(unref(name))\n focusing.value = false\n isClick.value = true\n }\n\n const handleEnterClick = () => {\n collapse?.handleItemClick(unref(name))\n }\n\n return {\n focusing,\n id,\n isActive,\n handleFocus,\n handleHeaderClick,\n handleEnterClick,\n }\n}\n\nexport const useCollapseItemDOM = (\n props: CollapseItemProps,\n { focusing, isActive, id }: Partial<ReturnType<typeof useCollapseItem>>\n) => {\n const ns = useNamespace('collapse')\n\n const rootKls = computed(() => [\n ns.b('item'),\n ns.is('active', unref(isActive)),\n ns.is('disabled', props.disabled),\n ])\n const headKls = computed(() => [\n ns.be('item', 'header'),\n ns.is('active', unref(isActive)),\n { focusing: unref(focusing) && !props.disabled },\n ])\n const arrowKls = computed(() => [\n ns.be('item', 'arrow'),\n ns.is('active', unref(isActive)),\n ])\n const itemWrapperKls = computed(() => ns.be('item', 'wrap'))\n const itemContentKls = computed(() => ns.be('item', 'content'))\n const scopedContentId = computed(() => ns.b(`content-${unref(id)}`))\n const scopedHeadId = computed(() => ns.b(`head-${unref(id)}`))\n\n return {\n arrowKls,\n headKls,\n rootKls,\n itemWrapperKls,\n itemContentKls,\n scopedContentId,\n scopedHeadId,\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}