{"version":3,"file":"props.cjs","sources":["../../../../../../packages/components/tabs/src/props.ts"],"sourcesContent":["import type { FocusEventHandler, Key, MouseEventHandler, SizeType } from '@antdv/types';\nimport type { CSSProperties, ExtractPropTypes, PropType } from 'vue';\nimport type {\n  AnimatedConfig,\n  EditableConfig,\n  OnTabScroll,\n  RenderTabBar,\n  Tab,\n  TabPosition,\n  TabsLocale,\n  TabsType,\n} from './interface';\n\nimport {\n  booleanType,\n  functionType,\n  objectType,\n  PropTypes,\n  someType,\n  stringType,\n} from '@antdv/utils';\n\nexport function addButtonProps() {\n  return {\n    prefixCls: String,\n    editable: { type: Object as PropType<EditableConfig> },\n    locale: { type: Object as PropType<TabsLocale>, default: undefined as TabsLocale },\n  };\n}\n\nexport function tabNavListProps() {\n  return {\n    id: { type: String },\n    tabPosition: { type: String as PropType<TabPosition> },\n    activeKey: { type: [String, Number] },\n    rtl: { type: Boolean },\n    animated: objectType<AnimatedConfig>(),\n    editable: objectType<EditableConfig>(),\n    moreIcon: PropTypes.any,\n    moreTransitionName: { type: String },\n    mobile: { type: Boolean },\n    tabBarGutter: { type: Number },\n    renderTabBar: { type: Function as PropType<RenderTabBar> },\n    locale: objectType<TabsLocale>(),\n    popupClassName: String,\n    getPopupContainer: functionType<\n    ((triggerNode?: HTMLElement | undefined) => HTMLElement) | undefined\n    >(),\n    onTabClick: {\n      type: Function as PropType<(activeKey: Key, e: MouseEvent | KeyboardEvent) => void>,\n    },\n    onTabScroll: { type: Function as PropType<OnTabScroll> },\n  };\n}\n\nexport const operationNodeProps = {\n  prefixCls: { type: String },\n  id: { type: String },\n  tabs: { type: Object as PropType<Array<Tab & { closeIcon?: () => any }>> },\n  rtl: { type: Boolean },\n  tabBarGutter: { type: Number },\n  activeKey: { type: [String, Number] },\n  mobile: { type: Boolean },\n  moreIcon: PropTypes.any,\n  moreTransitionName: { type: String },\n  editable: { type: Object as PropType<EditableConfig> },\n  locale: { type: Object as PropType<TabsLocale>, default: undefined as TabsLocale },\n  removeAriaLabel: String,\n  onTabClick: { type: Function as PropType<(key: Key, e: MouseEvent | KeyboardEvent) => void> },\n  popupClassName: String,\n  getPopupContainer: functionType<\n    ((triggerNode?: HTMLElement | undefined) => HTMLElement) | undefined\n  >(),\n};\n\nexport function tabNodeProps() {\n  return {\n    id: { type: String as PropType<string> },\n    prefixCls: { type: String as PropType<string> },\n    tab: { type: Object as PropType<Tab & { closeIcon?: () => any }> },\n    active: { type: Boolean },\n    closable: { type: Boolean },\n    editable: { type: Object as PropType<EditableConfig> },\n    onClick: { type: Function as PropType<(e: MouseEvent | KeyboardEvent) => void> },\n    onResize: {\n      type: Function as PropType<\n        (width: number, height: number, left: number, top: number) => void\n      >,\n    },\n    renderWrapper: { type: Function as PropType<(node: any) => any> },\n    removeAriaLabel: { type: String },\n    // onRemove: { type: Function as PropType<() => void> },\n    onFocus: { type: Function as PropType<FocusEventHandler> },\n  };\n}\n\nexport function tabPanelListProps() {\n  return {\n    activeKey: { type: [String, Number] as PropType<Key> },\n    id: { type: String },\n    rtl: { type: Boolean },\n    animated: { type: Object as PropType<AnimatedConfig>, default: undefined as AnimatedConfig },\n    tabPosition: { type: String as PropType<TabPosition> },\n    destroyInactiveTabPane: { type: Boolean },\n  };\n}\n\nexport function tabPaneProps() {\n  return {\n    tab: PropTypes.any,\n    disabled: { type: Boolean },\n    forceRender: { type: Boolean },\n    closable: { type: Boolean },\n    animated: { type: Boolean },\n    active: { type: Boolean },\n    destroyInactiveTabPane: { type: Boolean },\n\n    // Pass by TabPaneList\n    prefixCls: { type: String },\n    tabKey: { type: [String, Number] },\n    id: { type: String },\n  // closeIcon: PropTypes.any,\n  };\n}\n\nexport function tabsProps() {\n  return {\n    'prefixCls': { type: String },\n    'id': { type: String },\n    'popupClassName': String,\n    'getPopupContainer': functionType<\n      ((triggerNode?: HTMLElement | undefined) => HTMLElement) | undefined\n    >(),\n    'activeKey': { type: [String, Number] },\n    'defaultActiveKey': { type: [String, Number] },\n    'direction': stringType<'ltr' | 'rtl'>(),\n    'animated': someType<boolean | AnimatedConfig>([Boolean, Object]),\n    'renderTabBar': functionType<RenderTabBar>(),\n    'tabBarGutter': { type: Number },\n    'tabBarStyle': objectType<CSSProperties>(),\n    'tabPosition': stringType<TabPosition>(),\n    'destroyInactiveTabPane': booleanType(),\n\n    'hideAdd': Boolean,\n    'type': stringType<TabsType>(),\n    'size': stringType<SizeType>(),\n    'centered': Boolean,\n    'onEdit': functionType<(e: MouseEvent | KeyboardEvent | Key, action: 'add' | 'remove') => void>(),\n    'onChange': functionType<(activeKey: Key) => void>(),\n    'onTabClick': functionType<(activeKey: Key, e: KeyboardEvent | MouseEvent) => void>(),\n    'onTabScroll': functionType<OnTabScroll>(),\n    'onUpdate:activeKey': functionType<(activeKey: Key) => void>(),\n    // Accessibility\n    'locale': objectType<TabsLocale>(),\n    'onPrevClick': functionType<MouseEventHandler>(),\n    'onNextClick': functionType<MouseEventHandler>(),\n    'tabBarExtraContent': PropTypes.any,\n  };\n}\n\nexport type TabsProps = Partial<ExtractPropTypes<ReturnType<typeof tabsProps>>>;\n\nexport type TabPaneProps = Partial<ExtractPropTypes<ReturnType<typeof tabPaneProps>>>;\n\nexport type TabNodeProps = Partial<ExtractPropTypes<typeof tabNodeProps>>;\n\nexport type TabPanelProps = Partial<ExtractPropTypes<ReturnType<typeof tabPanelListProps>>>;\n\nexport type OperationNodeProps = Partial<ExtractPropTypes<typeof operationNodeProps>>;\n\nexport type TabNavListProps = Partial<ExtractPropTypes<ReturnType<typeof tabNavListProps>>>;\n\nexport type AddButtonProps = Partial<ExtractPropTypes<ReturnType<typeof addButtonProps>>>;\n"],"names":["objectType","PropTypes","functionType","stringType","someType","booleanType"],"mappings":"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"}