{"version":3,"file":"types.mjs","sources":["../../../../../../packages/components/cascader-panel/src/types.ts"],"sourcesContent":["\nimport type { VNode, InjectionKey } from 'vue'\nimport type { Nullable } from '@hongluan-ui/utils'\nimport type { default as CascaderNode } from './node'\n\nexport type { CascaderNode }\n\nexport type CascaderNodeValue = string | number\nexport type CascaderNodePathValue = CascaderNodeValue[]\nexport type CascaderValue = CascaderNodeValue | CascaderNodePathValue | (CascaderNodeValue | CascaderNodePathValue)[]\nexport type CascaderConfig = Required<CascaderProps>\nexport type isDisabled = (data: CascaderOption, node: CascaderNode) => boolean\nexport type isLeaf = (data: CascaderOption, node: CascaderNode) => boolean\nexport type Resolve = (dataList?: CascaderOption[]) => void\nexport type LazyLoad = (node: CascaderNode, resolve: Resolve) => void\nexport type RenderLabel = ({ node, data }: { node: CascaderNode; data: CascaderOption; }) => VNode | VNode[]\n\nexport type ExpandTrigger = 'click' | 'hover'\n\nexport interface CascaderOption extends Record<string, unknown> {\n  label?: string\n  value?: CascaderNodeValue\n  children?: CascaderOption[]\n  disabled?: boolean\n  leaf?: boolean\n}\n\nexport interface CascaderProps {\n  expandTrigger?: ExpandTrigger\n  multiple?: boolean\n  checkStrictly?: boolean\n  emitPath?: boolean\n  lazy?: boolean\n  lazyLoad?: LazyLoad\n  value?: string\n  label?: string\n  children?: string\n  disabled?: string | isDisabled\n  leaf?: string | isLeaf\n  hoverThreshold?: number\n}\n\nexport interface Tag {\n  node?: CascaderNode\n  key: number\n  text: string\n  hitState?: boolean\n  closable: boolean\n}\n\nexport interface CascaderPanelContext {\n  config: CascaderConfig\n  expandingNode: Nullable<CascaderNode>\n  checkedNodes: CascaderNode[]\n  isHoverMenu: boolean\n  initialLoaded: boolean\n  renderLabelFn: RenderLabel\n  lazyLoad: (node?: CascaderNode, cb?: (dataList: CascaderOption[]) => void) => void\n  expandNode: (node: CascaderNode, silent?: boolean) => void\n  handleCheckChange: (node: CascaderNode, checked: boolean, emitClose?: boolean) => void\n}\n\nexport const CASCADER_PANEL_INJECTION_KEY: InjectionKey<CascaderPanelContext> = Symbol()\n"],"names":[],"mappings":"AAAY,MAAC,4BAA4B,GAAG,MAAM;;;;"}