pixivflow 2.0.38 → 2.0.39

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.
Files changed (110) hide show
  1. package/dist/commands/DownloadCommand.d.ts.map +1 -1
  2. package/dist/commands/DownloadCommand.js +50 -2
  3. package/dist/commands/DownloadCommand.js.map +1 -1
  4. package/dist/config/validation.d.ts.map +1 -1
  5. package/dist/config/validation.js +11 -3
  6. package/dist/config/validation.js.map +1 -1
  7. package/dist/index.js +37 -14
  8. package/dist/index.js.map +1 -1
  9. package/dist/package.json +1 -1
  10. package/dist/pixiv/AuthClient.d.ts.map +1 -1
  11. package/dist/pixiv/AuthClient.js +56 -7
  12. package/dist/pixiv/AuthClient.js.map +1 -1
  13. package/dist/storage/Database.d.ts +22 -0
  14. package/dist/storage/Database.d.ts.map +1 -1
  15. package/dist/storage/Database.js +19 -0
  16. package/dist/storage/Database.js.map +1 -1
  17. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  18. package/dist/storage/DatabaseMigration.js +29 -0
  19. package/dist/storage/DatabaseMigration.js.map +1 -1
  20. package/dist/storage/repositories/TaskHistoryRepository.d.ts +61 -0
  21. package/dist/storage/repositories/TaskHistoryRepository.d.ts.map +1 -0
  22. package/dist/storage/repositories/TaskHistoryRepository.js +171 -0
  23. package/dist/storage/repositories/TaskHistoryRepository.js.map +1 -0
  24. package/dist/utils/errors.js +11 -11
  25. package/dist/utils/errors.js.map +1 -1
  26. package/dist/utils/pixiv-url-parser.d.ts +7 -1
  27. package/dist/utils/pixiv-url-parser.d.ts.map +1 -1
  28. package/dist/utils/pixiv-url-parser.js +75 -8
  29. package/dist/utils/pixiv-url-parser.js.map +1 -1
  30. package/dist/utils/token-manager.d.ts.map +1 -1
  31. package/dist/utils/token-manager.js +73 -5
  32. package/dist/utils/token-manager.js.map +1 -1
  33. package/dist/webui/package.json +1 -1
  34. package/dist/webui/routes/download.d.ts.map +1 -1
  35. package/dist/webui/routes/download.js +2 -0
  36. package/dist/webui/routes/download.js.map +1 -1
  37. package/dist/webui/routes/handlers/download-basic-handlers.d.ts +11 -0
  38. package/dist/webui/routes/handlers/download-basic-handlers.d.ts.map +1 -1
  39. package/dist/webui/routes/handlers/download-basic-handlers.js +199 -8
  40. package/dist/webui/routes/handlers/download-basic-handlers.js.map +1 -1
  41. package/dist/webui/services/DownloadTaskManager.d.ts.map +1 -1
  42. package/dist/webui/services/DownloadTaskManager.js +75 -3
  43. package/dist/webui/services/DownloadTaskManager.js.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/webui/assets/ActionButton-DWq-fh3_.js +0 -2
  46. package/dist/webui/assets/ActionButton-DWq-fh3_.js.map +0 -1
  47. package/dist/webui/assets/CheckCircleOutlined-Can0-7ew.js +0 -2
  48. package/dist/webui/assets/CheckCircleOutlined-Can0-7ew.js.map +0 -1
  49. package/dist/webui/assets/CloseCircleOutlined-DfRmL2eG.js +0 -2
  50. package/dist/webui/assets/CloseCircleOutlined-DfRmL2eG.js.map +0 -1
  51. package/dist/webui/assets/Config-D9TWUGQR.js +0 -16
  52. package/dist/webui/assets/Config-D9TWUGQR.js.map +0 -1
  53. package/dist/webui/assets/Dashboard-CaGAH0y2.js +0 -2
  54. package/dist/webui/assets/Dashboard-CaGAH0y2.js.map +0 -1
  55. package/dist/webui/assets/DeleteOutlined-u-P2SpoK.js +0 -2
  56. package/dist/webui/assets/DeleteOutlined-u-P2SpoK.js.map +0 -1
  57. package/dist/webui/assets/Download-D9E4xrnM.js +0 -2
  58. package/dist/webui/assets/Download-D9E4xrnM.js.map +0 -1
  59. package/dist/webui/assets/Files-CKyc_PdW.js +0 -5
  60. package/dist/webui/assets/Files-CKyc_PdW.js.map +0 -1
  61. package/dist/webui/assets/PictureOutlined-C8Lbucj1.js +0 -2
  62. package/dist/webui/assets/PictureOutlined-C8Lbucj1.js.map +0 -1
  63. package/dist/webui/assets/SortDescendingOutlined-CR-hdhyW.js +0 -2
  64. package/dist/webui/assets/SortDescendingOutlined-CR-hdhyW.js.map +0 -1
  65. package/dist/webui/assets/ThunderboltOutlined-CiiB2de5.js +0 -2
  66. package/dist/webui/assets/ThunderboltOutlined-CiiB2de5.js.map +0 -1
  67. package/dist/webui/assets/UrlDownload-ClkUOXN_.js +0 -3
  68. package/dist/webui/assets/UrlDownload-ClkUOXN_.js.map +0 -1
  69. package/dist/webui/assets/dateUtils-CBk8bEa_.js +0 -2
  70. package/dist/webui/assets/dateUtils-CBk8bEa_.js.map +0 -1
  71. package/dist/webui/assets/errorCodeTranslator-DWsWq6B3.js +0 -3
  72. package/dist/webui/assets/errorCodeTranslator-DWsWq6B3.js.map +0 -1
  73. package/dist/webui/assets/index-BFgUdwJv.js +0 -214
  74. package/dist/webui/assets/index-BFgUdwJv.js.map +0 -1
  75. package/dist/webui/assets/index-CN3FylAF.js +0 -2
  76. package/dist/webui/assets/index-CN3FylAF.js.map +0 -1
  77. package/dist/webui/assets/index-CSoUPZat.js +0 -2
  78. package/dist/webui/assets/index-CSoUPZat.js.map +0 -1
  79. package/dist/webui/assets/index-CiHwNwrk.js +0 -19
  80. package/dist/webui/assets/index-CiHwNwrk.js.map +0 -1
  81. package/dist/webui/assets/index-DHwJxrFi.css +0 -1
  82. package/dist/webui/assets/index-DTU-FGA4.js +0 -2
  83. package/dist/webui/assets/index-DTU-FGA4.js.map +0 -1
  84. package/dist/webui/assets/index-DjpD0HQ5.js +0 -2
  85. package/dist/webui/assets/index-DjpD0HQ5.js.map +0 -1
  86. package/dist/webui/assets/index-Dycn6xoz.js +0 -2
  87. package/dist/webui/assets/index-Dycn6xoz.js.map +0 -1
  88. package/dist/webui/assets/index-G0EJCamt.js +0 -22
  89. package/dist/webui/assets/index-G0EJCamt.js.map +0 -1
  90. package/dist/webui/assets/index-WaraZQH0.js +0 -2
  91. package/dist/webui/assets/index-WaraZQH0.js.map +0 -1
  92. package/dist/webui/assets/index-k2rGFxEM.js +0 -8
  93. package/dist/webui/assets/index-k2rGFxEM.js.map +0 -1
  94. package/dist/webui/assets/index-lwTtspUb.js +0 -14
  95. package/dist/webui/assets/index-lwTtspUb.js.map +0 -1
  96. package/dist/webui/assets/index-pT0W4KjK.js +0 -47
  97. package/dist/webui/assets/index-pT0W4KjK.js.map +0 -1
  98. package/dist/webui/assets/index-wvielV9A.js +0 -2
  99. package/dist/webui/assets/index-wvielV9A.js.map +0 -1
  100. package/dist/webui/assets/row-FRqVdQDX.js +0 -20
  101. package/dist/webui/assets/row-FRqVdQDX.js.map +0 -1
  102. package/dist/webui/assets/useAuth-BMt6dHSB.js +0 -9
  103. package/dist/webui/assets/useAuth-BMt6dHSB.js.map +0 -1
  104. package/dist/webui/assets/useConfig-29Ugtjk4.js +0 -9
  105. package/dist/webui/assets/useConfig-29Ugtjk4.js.map +0 -1
  106. package/dist/webui/assets/useDownload-Dt6lsP8S.js +0 -2
  107. package/dist/webui/assets/useDownload-Dt6lsP8S.js.map +0 -1
  108. package/dist/webui/assets/useErrorHandler-DWHs3RlU.js +0 -84
  109. package/dist/webui/assets/useErrorHandler-DWHs3RlU.js.map +0 -1
  110. package/dist/webui/index.html +0 -15
@@ -1 +0,0 @@
1
- {"version":3,"file":"row-FRqVdQDX.js","sources":["../../node_modules/antd/es/_util/hooks/useForceUpdate.js","../../node_modules/antd/es/skeleton/Element.js","../../node_modules/antd/es/skeleton/style/index.js","../../node_modules/antd/es/skeleton/Avatar.js","../../node_modules/antd/es/skeleton/Button.js","../../node_modules/antd/es/skeleton/Image.js","../../node_modules/antd/es/skeleton/Input.js","../../node_modules/antd/es/skeleton/Node.js","../../node_modules/antd/es/skeleton/Paragraph.js","../../node_modules/antd/es/skeleton/Title.js","../../node_modules/antd/es/skeleton/Skeleton.js","../../node_modules/antd/es/grid/style/index.js","../../node_modules/antd/es/_util/responsiveObserver.js","../../node_modules/antd/es/grid/hooks/useBreakpoint.js","../../node_modules/rc-dropdown/es/hooks/useAccessibility.js","../../node_modules/rc-dropdown/es/Overlay.js","../../node_modules/rc-dropdown/es/placements.js","../../node_modules/rc-dropdown/es/Dropdown.js","../../node_modules/@ant-design/icons-svg/es/asn/PlusOutlined.js","../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js","../../node_modules/rc-tabs/es/TabContext.js","../../node_modules/rc-tabs/es/hooks/useIndicator.js","../../node_modules/rc-tabs/es/hooks/useOffsets.js","../../node_modules/rc-tabs/es/hooks/useSyncState.js","../../node_modules/rc-tabs/es/hooks/useTouchMove.js","../../node_modules/rc-tabs/es/hooks/useUpdate.js","../../node_modules/rc-tabs/es/hooks/useVisibleRange.js","../../node_modules/rc-tabs/es/util.js","../../node_modules/rc-tabs/es/TabNavList/AddButton.js","../../node_modules/rc-tabs/es/TabNavList/ExtraContent.js","../../node_modules/rc-tabs/es/TabNavList/OperationNode.js","../../node_modules/rc-tabs/es/TabNavList/TabNode.js","../../node_modules/rc-tabs/es/TabNavList/index.js","../../node_modules/rc-tabs/es/TabPanelList/TabPane.js","../../node_modules/rc-tabs/es/TabNavList/Wrapper.js","../../node_modules/rc-tabs/es/TabPanelList/index.js","../../node_modules/rc-tabs/es/hooks/useAnimateConfig.js","../../node_modules/rc-tabs/es/Tabs.js","../../node_modules/antd/es/tabs/hooks/useAnimateConfig.js","../../node_modules/antd/es/tabs/hooks/useLegacyItems.js","../../node_modules/antd/es/tabs/style/motion.js","../../node_modules/antd/es/tabs/style/index.js","../../node_modules/antd/es/tabs/TabPane.js","../../node_modules/antd/es/tabs/index.js","../../node_modules/antd/es/card/Grid.js","../../node_modules/antd/es/card/style/index.js","../../node_modules/antd/es/card/Card.js","../../node_modules/antd/es/card/Meta.js","../../node_modules/antd/es/card/index.js","../../node_modules/antd/es/grid/RowContext.js","../../node_modules/antd/es/grid/col.js","../../node_modules/antd/es/grid/hooks/useGutter.js","../../node_modules/antd/es/grid/row.js"],"sourcesContent":["import React from 'react';\nexport const useForceUpdate = () => {\n return React.useReducer(ori => ori + 1, 0);\n};","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nconst Element = props => {\n const {\n prefixCls,\n className,\n style,\n size,\n shape\n } = props;\n const sizeCls = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small'\n });\n const shapeCls = classNames({\n [`${prefixCls}-circle`]: shape === 'circle',\n [`${prefixCls}-square`]: shape === 'square',\n [`${prefixCls}-round`]: shape === 'round'\n });\n const sizeStyle = React.useMemo(() => typeof size === 'number' ? {\n width: size,\n height: size,\n lineHeight: `${size}px`\n } : {}, [size]);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(prefixCls, sizeCls, shapeCls, className),\n style: Object.assign(Object.assign({}, sizeStyle), style)\n });\n};\nexport default Element;","import { Keyframes, unit } from '@ant-design/cssinjs';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nconst skeletonClsLoading = new Keyframes(`ant-skeleton-loading`, {\n '0%': {\n backgroundPosition: '100% 50%'\n },\n '100%': {\n backgroundPosition: '0 50%'\n }\n});\nconst genSkeletonElementCommonSize = size => ({\n height: size,\n lineHeight: unit(size)\n});\nconst genSkeletonElementAvatarSize = size => Object.assign({\n width: size\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonColor = token => ({\n background: token.skeletonLoadingBackground,\n backgroundSize: '400% 100%',\n animationName: skeletonClsLoading,\n animationDuration: token.skeletonLoadingMotionDuration,\n animationTimingFunction: 'ease',\n animationIterationCount: 'infinite'\n});\nconst genSkeletonElementInputSize = (size, calc) => Object.assign({\n width: calc(size).mul(5).equal(),\n minWidth: calc(size).mul(5).equal()\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementAvatar = token => {\n const {\n skeletonAvatarCls,\n gradientFromColor,\n controlHeight,\n controlHeightLG,\n controlHeightSM\n } = token;\n return {\n [skeletonAvatarCls]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: gradientFromColor\n }, genSkeletonElementAvatarSize(controlHeight)),\n [`${skeletonAvatarCls}${skeletonAvatarCls}-circle`]: {\n borderRadius: '50%'\n },\n [`${skeletonAvatarCls}${skeletonAvatarCls}-lg`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightLG)),\n [`${skeletonAvatarCls}${skeletonAvatarCls}-sm`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightSM))\n };\n};\nconst genSkeletonElementInput = token => {\n const {\n controlHeight,\n borderRadiusSM,\n skeletonInputCls,\n controlHeightLG,\n controlHeightSM,\n gradientFromColor,\n calc\n } = token;\n return {\n [skeletonInputCls]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: gradientFromColor,\n borderRadius: borderRadiusSM\n }, genSkeletonElementInputSize(controlHeight, calc)),\n [`${skeletonInputCls}-lg`]: Object.assign({}, genSkeletonElementInputSize(controlHeightLG, calc)),\n [`${skeletonInputCls}-sm`]: Object.assign({}, genSkeletonElementInputSize(controlHeightSM, calc))\n };\n};\nconst genSkeletonElementImageSize = size => Object.assign({\n width: size\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementImage = token => {\n const {\n skeletonImageCls,\n imageSizeBase,\n gradientFromColor,\n borderRadiusSM,\n calc\n } = token;\n return {\n [skeletonImageCls]: Object.assign(Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n verticalAlign: 'middle',\n background: gradientFromColor,\n borderRadius: borderRadiusSM\n }, genSkeletonElementImageSize(calc(imageSizeBase).mul(2).equal())), {\n [`${skeletonImageCls}-path`]: {\n fill: '#bfbfbf'\n },\n [`${skeletonImageCls}-svg`]: Object.assign(Object.assign({}, genSkeletonElementImageSize(imageSizeBase)), {\n maxWidth: calc(imageSizeBase).mul(4).equal(),\n maxHeight: calc(imageSizeBase).mul(4).equal()\n }),\n [`${skeletonImageCls}-svg${skeletonImageCls}-svg-circle`]: {\n borderRadius: '50%'\n }\n }),\n [`${skeletonImageCls}${skeletonImageCls}-circle`]: {\n borderRadius: '50%'\n }\n };\n};\nconst genSkeletonElementButtonShape = (token, size, buttonCls) => {\n const {\n skeletonButtonCls\n } = token;\n return {\n [`${buttonCls}${skeletonButtonCls}-circle`]: {\n width: size,\n minWidth: size,\n borderRadius: '50%'\n },\n [`${buttonCls}${skeletonButtonCls}-round`]: {\n borderRadius: size\n }\n };\n};\nconst genSkeletonElementButtonSize = (size, calc) => Object.assign({\n width: calc(size).mul(2).equal(),\n minWidth: calc(size).mul(2).equal()\n}, genSkeletonElementCommonSize(size));\nconst genSkeletonElementButton = token => {\n const {\n borderRadiusSM,\n skeletonButtonCls,\n controlHeight,\n controlHeightLG,\n controlHeightSM,\n gradientFromColor,\n calc\n } = token;\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({\n [skeletonButtonCls]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: gradientFromColor,\n borderRadius: borderRadiusSM,\n width: calc(controlHeight).mul(2).equal(),\n minWidth: calc(controlHeight).mul(2).equal()\n }, genSkeletonElementButtonSize(controlHeight, calc))\n }, genSkeletonElementButtonShape(token, controlHeight, skeletonButtonCls)), {\n [`${skeletonButtonCls}-lg`]: Object.assign({}, genSkeletonElementButtonSize(controlHeightLG, calc))\n }), genSkeletonElementButtonShape(token, controlHeightLG, `${skeletonButtonCls}-lg`)), {\n [`${skeletonButtonCls}-sm`]: Object.assign({}, genSkeletonElementButtonSize(controlHeightSM, calc))\n }), genSkeletonElementButtonShape(token, controlHeightSM, `${skeletonButtonCls}-sm`));\n};\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n skeletonAvatarCls,\n skeletonTitleCls,\n skeletonParagraphCls,\n skeletonButtonCls,\n skeletonInputCls,\n skeletonImageCls,\n controlHeight,\n controlHeightLG,\n controlHeightSM,\n gradientFromColor,\n padding,\n marginSM,\n borderRadius,\n titleHeight,\n blockRadius,\n paragraphLiHeight,\n controlHeightXS,\n paragraphMarginTop\n } = token;\n return {\n [componentCls]: {\n display: 'table',\n width: '100%',\n [`${componentCls}-header`]: {\n display: 'table-cell',\n paddingInlineEnd: padding,\n verticalAlign: 'top',\n // Avatar\n [skeletonAvatarCls]: Object.assign({\n display: 'inline-block',\n verticalAlign: 'top',\n background: gradientFromColor\n }, genSkeletonElementAvatarSize(controlHeight)),\n [`${skeletonAvatarCls}-circle`]: {\n borderRadius: '50%'\n },\n [`${skeletonAvatarCls}-lg`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightLG)),\n [`${skeletonAvatarCls}-sm`]: Object.assign({}, genSkeletonElementAvatarSize(controlHeightSM))\n },\n [`${componentCls}-content`]: {\n display: 'table-cell',\n width: '100%',\n verticalAlign: 'top',\n // Title\n [skeletonTitleCls]: {\n width: '100%',\n height: titleHeight,\n background: gradientFromColor,\n borderRadius: blockRadius,\n [`+ ${skeletonParagraphCls}`]: {\n marginBlockStart: controlHeightSM\n }\n },\n // paragraph\n [skeletonParagraphCls]: {\n padding: 0,\n '> li': {\n width: '100%',\n height: paragraphLiHeight,\n listStyle: 'none',\n background: gradientFromColor,\n borderRadius: blockRadius,\n '+ li': {\n marginBlockStart: controlHeightXS\n }\n }\n },\n [`${skeletonParagraphCls}> li:last-child:not(:first-child):not(:nth-child(2))`]: {\n width: '61%'\n }\n },\n [`&-round ${componentCls}-content`]: {\n [`${skeletonTitleCls}, ${skeletonParagraphCls} > li`]: {\n borderRadius\n }\n }\n },\n [`${componentCls}-with-avatar ${componentCls}-content`]: {\n // Title\n [skeletonTitleCls]: {\n marginBlockStart: marginSM,\n [`+ ${skeletonParagraphCls}`]: {\n marginBlockStart: paragraphMarginTop\n }\n }\n },\n // Skeleton element\n [`${componentCls}${componentCls}-element`]: Object.assign(Object.assign(Object.assign(Object.assign({\n display: 'inline-block',\n width: 'auto'\n }, genSkeletonElementButton(token)), genSkeletonElementAvatar(token)), genSkeletonElementInput(token)), genSkeletonElementImage(token)),\n // Skeleton Block Button, Input\n [`${componentCls}${componentCls}-block`]: {\n width: '100%',\n [skeletonButtonCls]: {\n width: '100%'\n },\n [skeletonInputCls]: {\n width: '100%'\n }\n },\n // With active animation\n [`${componentCls}${componentCls}-active`]: {\n [`\n ${skeletonTitleCls},\n ${skeletonParagraphCls} > li,\n ${skeletonAvatarCls},\n ${skeletonButtonCls},\n ${skeletonInputCls},\n ${skeletonImageCls}\n `]: Object.assign({}, genSkeletonColor(token))\n }\n };\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = token => {\n const {\n colorFillContent,\n colorFill\n } = token;\n const gradientFromColor = colorFillContent;\n const gradientToColor = colorFill;\n return {\n color: gradientFromColor,\n colorGradientEnd: gradientToColor,\n gradientFromColor,\n gradientToColor,\n titleHeight: token.controlHeight / 2,\n blockRadius: token.borderRadiusSM,\n paragraphMarginTop: token.marginLG + token.marginXXS,\n paragraphLiHeight: token.controlHeight / 2\n };\n};\nexport default genStyleHooks('Skeleton', token => {\n const {\n componentCls,\n calc\n } = token;\n const skeletonToken = mergeToken(token, {\n skeletonAvatarCls: `${componentCls}-avatar`,\n skeletonTitleCls: `${componentCls}-title`,\n skeletonParagraphCls: `${componentCls}-paragraph`,\n skeletonButtonCls: `${componentCls}-button`,\n skeletonInputCls: `${componentCls}-input`,\n skeletonImageCls: `${componentCls}-image`,\n imageSizeBase: calc(token.controlHeight).mul(1.5).equal(),\n borderRadius: 100,\n // Large number to make capsule shape\n skeletonLoadingBackground: `linear-gradient(90deg, ${token.gradientFromColor} 25%, ${token.gradientToColor} 37%, ${token.gradientFromColor} 63%)`,\n skeletonLoadingMotionDuration: '1.4s'\n });\n return genBaseStyle(skeletonToken);\n}, prepareComponentToken, {\n deprecatedTokens: [['color', 'gradientFromColor'], ['colorGradientEnd', 'gradientToColor']]\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonAvatar = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n active,\n shape = 'circle',\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls', 'className']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, className, rootClassName, hashId, cssVarCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-avatar`,\n shape: shape,\n size: size\n }, otherProps))));\n};\nexport default SkeletonAvatar;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonButton = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n active,\n block = false,\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-block`]: block\n }, className, rootClassName, hashId, cssVarCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-button`,\n size: size\n }, otherProps))));\n};\nexport default SkeletonButton;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst path = 'M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z';\nconst SkeletonImage = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n active\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, className, rootClassName, hashId, cssVarCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-image`, className),\n style: style\n }, /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: \"0 0 1098 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n className: `${prefixCls}-image-svg`\n }, /*#__PURE__*/React.createElement(\"title\", null, \"Image placeholder\"), /*#__PURE__*/React.createElement(\"path\", {\n d: path,\n className: `${prefixCls}-image-path`\n })))));\n};\nexport default SkeletonImage;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nimport useStyle from './style';\nconst SkeletonInput = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n active,\n block,\n size = 'default'\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const otherProps = omit(props, ['prefixCls']);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-block`]: block\n }, className, rootClassName, hashId, cssVarCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, Object.assign({\n prefixCls: `${prefixCls}-input`,\n size: size\n }, otherProps))));\n};\nexport default SkeletonInput;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst SkeletonNode = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n active,\n children\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-element`, {\n [`${prefixCls}-active`]: active\n }, hashId, className, rootClassName, cssVarCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-image`, className),\n style: style\n }, children)));\n};\nexport default SkeletonNode;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nconst getWidth = (index, props) => {\n const {\n width,\n rows = 2\n } = props;\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n};\nconst Paragraph = props => {\n const {\n prefixCls,\n className,\n style,\n rows = 0\n } = props;\n const rowList = Array.from({\n length: rows\n }).map((_, index) => (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n key: index,\n style: {\n width: getWidth(index, props)\n }\n })));\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(prefixCls, className),\n style: style\n }, rowList);\n};\nexport default Paragraph;","\"use client\";\n\n/* eslint-disable jsx-a11y/heading-has-content */\nimport * as React from 'react';\nimport classNames from 'classnames';\nconst Title = ({\n prefixCls,\n className,\n width,\n style\n}) => (\n/*#__PURE__*/\n// biome-ignore lint/a11y/useHeadingContent: HOC here\nReact.createElement(\"h3\", {\n className: classNames(prefixCls, className),\n style: Object.assign({\n width\n }, style)\n}));\nexport default Title;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useComponentConfig } from '../config-provider/context';\nimport SkeletonAvatar from './Avatar';\nimport SkeletonButton from './Button';\nimport Element from './Element';\nimport SkeletonImage from './Image';\nimport SkeletonInput from './Input';\nimport SkeletonNode from './Node';\nimport Paragraph from './Paragraph';\nimport useStyle from './style';\nimport Title from './Title';\nfunction getComponentProps(prop) {\n if (prop && typeof prop === 'object') {\n return prop;\n }\n return {};\n}\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n // Square avatar\n return {\n size: 'large',\n shape: 'square'\n };\n }\n return {\n size: 'large',\n shape: 'circle'\n };\n}\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return {\n width: '38%'\n };\n }\n if (hasAvatar && hasParagraph) {\n return {\n width: '50%'\n };\n }\n return {};\n}\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n const basicProps = {};\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n return basicProps;\n}\nconst Skeleton = props => {\n const {\n prefixCls: customizePrefixCls,\n loading,\n className,\n rootClassName,\n style,\n children,\n avatar = false,\n title = true,\n paragraph = true,\n active,\n round\n } = props;\n const {\n getPrefixCls,\n direction,\n className: contextClassName,\n style: contextStyle\n } = useComponentConfig('skeleton');\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n if (loading || !('loading' in props)) {\n const hasAvatar = !!avatar;\n const hasTitle = !!title;\n const hasParagraph = !!paragraph;\n // Avatar\n let avatarNode;\n if (hasAvatar) {\n const avatarProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-avatar`\n }, getAvatarBasicProps(hasTitle, hasParagraph)), getComponentProps(avatar));\n // We direct use SkeletonElement as avatar in skeleton internal.\n avatarNode = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-header`\n }, /*#__PURE__*/React.createElement(Element, Object.assign({}, avatarProps)));\n }\n let contentNode;\n if (hasTitle || hasParagraph) {\n // Title\n let $title;\n if (hasTitle) {\n const titleProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-title`\n }, getTitleBasicProps(hasAvatar, hasParagraph)), getComponentProps(title));\n $title = /*#__PURE__*/React.createElement(Title, Object.assign({}, titleProps));\n }\n // Paragraph\n let paragraphNode;\n if (hasParagraph) {\n const paragraphProps = Object.assign(Object.assign({\n prefixCls: `${prefixCls}-paragraph`\n }, getParagraphBasicProps(hasAvatar, hasTitle)), getComponentProps(paragraph));\n paragraphNode = /*#__PURE__*/React.createElement(Paragraph, Object.assign({}, paragraphProps));\n }\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-content`\n }, $title, paragraphNode);\n }\n const cls = classNames(prefixCls, {\n [`${prefixCls}-with-avatar`]: hasAvatar,\n [`${prefixCls}-active`]: active,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-round`]: round\n }, contextClassName, className, rootClassName, hashId, cssVarCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: Object.assign(Object.assign({}, contextStyle), style)\n }, avatarNode, contentNode));\n }\n return children !== null && children !== void 0 ? children : null;\n};\nSkeleton.Button = SkeletonButton;\nSkeleton.Avatar = SkeletonAvatar;\nSkeleton.Input = SkeletonInput;\nSkeleton.Image = SkeletonImage;\nSkeleton.Node = SkeletonNode;\nif (process.env.NODE_ENV !== 'production') {\n Skeleton.displayName = 'Skeleton';\n}\nexport default Skeleton;","import { unit } from '@ant-design/cssinjs';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\n// ============================== Row-Shared ==============================\nconst genGridRowStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // Grid system\n [componentCls]: {\n display: 'flex',\n flexFlow: 'row wrap',\n minWidth: 0,\n '&::before, &::after': {\n display: 'flex'\n },\n '&-no-wrap': {\n flexWrap: 'nowrap'\n },\n // The origin of the X-axis\n '&-start': {\n justifyContent: 'flex-start'\n },\n // The center of the X-axis\n '&-center': {\n justifyContent: 'center'\n },\n // The opposite of the X-axis\n '&-end': {\n justifyContent: 'flex-end'\n },\n '&-space-between': {\n justifyContent: 'space-between'\n },\n '&-space-around': {\n justifyContent: 'space-around'\n },\n '&-space-evenly': {\n justifyContent: 'space-evenly'\n },\n // Align at the top\n '&-top': {\n alignItems: 'flex-start'\n },\n // Align at the center\n '&-middle': {\n alignItems: 'center'\n },\n '&-bottom': {\n alignItems: 'flex-end'\n }\n }\n };\n};\n// ============================== Col-Shared ==============================\nconst genGridColStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // Grid system\n [componentCls]: {\n position: 'relative',\n maxWidth: '100%',\n // Prevent columns from collapsing when empty\n minHeight: 1\n }\n };\n};\nconst genLoopGridColumnsStyle = (token, sizeCls) => {\n const {\n prefixCls,\n componentCls,\n gridColumns\n } = token;\n const gridColumnsStyle = {};\n for (let i = gridColumns; i >= 0; i--) {\n if (i === 0) {\n gridColumnsStyle[`${componentCls}${sizeCls}-${i}`] = {\n display: 'none'\n };\n gridColumnsStyle[`${componentCls}-push-${i}`] = {\n insetInlineStart: 'auto'\n };\n gridColumnsStyle[`${componentCls}-pull-${i}`] = {\n insetInlineEnd: 'auto'\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-push-${i}`] = {\n insetInlineStart: 'auto'\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-pull-${i}`] = {\n insetInlineEnd: 'auto'\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-offset-${i}`] = {\n marginInlineStart: 0\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-order-${i}`] = {\n order: 0\n };\n } else {\n gridColumnsStyle[`${componentCls}${sizeCls}-${i}`] = [\n // https://github.com/ant-design/ant-design/issues/44456\n // Form set `display: flex` on Col which will override `display: block`.\n // Let's get it from css variable to support override.\n {\n ['--ant-display']: 'block',\n // Fallback to display if variable not support\n display: 'block'\n }, {\n display: 'var(--ant-display)',\n flex: `0 0 ${i / gridColumns * 100}%`,\n maxWidth: `${i / gridColumns * 100}%`\n }];\n gridColumnsStyle[`${componentCls}${sizeCls}-push-${i}`] = {\n insetInlineStart: `${i / gridColumns * 100}%`\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-pull-${i}`] = {\n insetInlineEnd: `${i / gridColumns * 100}%`\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-offset-${i}`] = {\n marginInlineStart: `${i / gridColumns * 100}%`\n };\n gridColumnsStyle[`${componentCls}${sizeCls}-order-${i}`] = {\n order: i\n };\n }\n }\n // Flex CSS Var\n gridColumnsStyle[`${componentCls}${sizeCls}-flex`] = {\n flex: `var(--${prefixCls}${sizeCls}-flex)`\n };\n return gridColumnsStyle;\n};\nconst genGridStyle = (token, sizeCls) => genLoopGridColumnsStyle(token, sizeCls);\nconst genGridMediaStyle = (token, screenSize, sizeCls) => ({\n [`@media (min-width: ${unit(screenSize)})`]: Object.assign({}, genGridStyle(token, sizeCls))\n});\nexport const prepareRowComponentToken = () => ({});\nexport const prepareColComponentToken = () => ({});\n// ============================== Export ==============================\nexport const useRowStyle = genStyleHooks('Grid', genGridRowStyle, prepareRowComponentToken);\nexport const getMediaSize = token => {\n const mediaSizesMap = {\n xs: token.screenXSMin,\n sm: token.screenSMMin,\n md: token.screenMDMin,\n lg: token.screenLGMin,\n xl: token.screenXLMin,\n xxl: token.screenXXLMin\n };\n return mediaSizesMap;\n};\nexport const useColStyle = genStyleHooks('Grid', token => {\n const gridToken = mergeToken(token, {\n gridColumns: 24 // Row is divided into 24 parts in Grid\n });\n const gridMediaSizesMap = getMediaSize(gridToken);\n delete gridMediaSizesMap.xs;\n return [genGridColStyle(gridToken), genGridStyle(gridToken, ''), genGridStyle(gridToken, '-xs'), Object.keys(gridMediaSizesMap).map(key => genGridMediaStyle(gridToken, gridMediaSizesMap[key], `-${key}`)).reduce((pre, cur) => Object.assign(Object.assign({}, pre), cur), {})];\n}, prepareColComponentToken);","import React from 'react';\nimport { useToken } from '../theme/internal';\nimport { addMediaQueryListener, removeMediaQueryListener } from './mediaQueryUtil';\nexport const responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nconst getResponsiveMap = token => ({\n xs: `(max-width: ${token.screenXSMax}px)`,\n sm: `(min-width: ${token.screenSM}px)`,\n md: `(min-width: ${token.screenMD}px)`,\n lg: `(min-width: ${token.screenLG}px)`,\n xl: `(min-width: ${token.screenXL}px)`,\n xxl: `(min-width: ${token.screenXXL}px)`\n});\n/**\n * Ensures that the breakpoints token are valid, in good order\n * For each breakpoint : screenMin <= screen <= screenMax and screenMax <= nextScreenMin\n */\nconst validateBreakpoints = token => {\n const indexableToken = token;\n const revBreakpoints = [].concat(responsiveArray).reverse();\n revBreakpoints.forEach((breakpoint, i) => {\n const breakpointUpper = breakpoint.toUpperCase();\n const screenMin = `screen${breakpointUpper}Min`;\n const screen = `screen${breakpointUpper}`;\n if (!(indexableToken[screenMin] <= indexableToken[screen])) {\n throw new Error(`${screenMin}<=${screen} fails : !(${indexableToken[screenMin]}<=${indexableToken[screen]})`);\n }\n if (i < revBreakpoints.length - 1) {\n const screenMax = `screen${breakpointUpper}Max`;\n if (!(indexableToken[screen] <= indexableToken[screenMax])) {\n throw new Error(`${screen}<=${screenMax} fails : !(${indexableToken[screen]}<=${indexableToken[screenMax]})`);\n }\n const nextBreakpointUpperMin = revBreakpoints[i + 1].toUpperCase();\n const nextScreenMin = `screen${nextBreakpointUpperMin}Min`;\n if (!(indexableToken[screenMax] <= indexableToken[nextScreenMin])) {\n throw new Error(`${screenMax}<=${nextScreenMin} fails : !(${indexableToken[screenMax]}<=${indexableToken[nextScreenMin]})`);\n }\n }\n });\n return token;\n};\nexport const matchScreen = (screens, screenSizes) => {\n if (!screenSizes) {\n return;\n }\n for (const breakpoint of responsiveArray) {\n if (screens[breakpoint] && (screenSizes === null || screenSizes === void 0 ? void 0 : screenSizes[breakpoint]) !== undefined) {\n return screenSizes[breakpoint];\n }\n }\n};\nconst useResponsiveObserver = () => {\n const [, token] = useToken();\n const responsiveMap = getResponsiveMap(validateBreakpoints(token));\n // To avoid repeat create instance, we add `useMemo` here.\n return React.useMemo(() => {\n const subscribers = new Map();\n let subUid = -1;\n let screens = {};\n return {\n responsiveMap,\n matchHandlers: {},\n dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(func => func(screens));\n return subscribers.size >= 1;\n },\n subscribe(func) {\n if (!subscribers.size) {\n this.register();\n }\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe(paramToken) {\n subscribers.delete(paramToken);\n if (!subscribers.size) {\n this.unregister();\n }\n },\n register() {\n Object.entries(responsiveMap).forEach(([screen, mediaQuery]) => {\n const listener = ({\n matches\n }) => {\n this.dispatch(Object.assign(Object.assign({}, screens), {\n [screen]: matches\n }));\n };\n const mql = window.matchMedia(mediaQuery);\n addMediaQueryListener(mql, listener);\n this.matchHandlers[mediaQuery] = {\n mql,\n listener\n };\n listener(mql);\n });\n },\n unregister() {\n Object.values(responsiveMap).forEach(mediaQuery => {\n const handler = this.matchHandlers[mediaQuery];\n removeMediaQueryListener(handler === null || handler === void 0 ? void 0 : handler.mql, handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n }\n };\n }, [responsiveMap]);\n};\nexport default useResponsiveObserver;","\"use client\";\n\nimport { useRef } from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useForceUpdate } from '../../_util/hooks';\nimport useResponsiveObserver from '../../_util/responsiveObserver';\nfunction useBreakpoint(refreshOnChange = true, defaultScreens = {}) {\n const screensRef = useRef(defaultScreens);\n const [, forceUpdate] = useForceUpdate();\n const responsiveObserver = useResponsiveObserver();\n useLayoutEffect(() => {\n const token = responsiveObserver.subscribe(supportScreens => {\n screensRef.current = supportScreens;\n if (refreshOnChange) {\n forceUpdate();\n }\n });\n return () => responsiveObserver.unsubscribe(token);\n }, []);\n return screensRef.current;\n}\nexport default useBreakpoint;","import KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from \"react\";\nvar ESC = KeyCode.ESC,\n TAB = KeyCode.TAB;\nexport default function useAccessibility(_ref) {\n var visible = _ref.visible,\n triggerRef = _ref.triggerRef,\n onVisibleChange = _ref.onVisibleChange,\n autoFocus = _ref.autoFocus,\n overlayRef = _ref.overlayRef;\n var focusMenuRef = React.useRef(false);\n var handleCloseMenuAndReturnFocus = function handleCloseMenuAndReturnFocus() {\n if (visible) {\n var _triggerRef$current, _triggerRef$current$f;\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 || (_triggerRef$current$f = _triggerRef$current.focus) === null || _triggerRef$current$f === void 0 || _triggerRef$current$f.call(_triggerRef$current);\n onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(false);\n }\n };\n var focusMenu = function focusMenu() {\n var _overlayRef$current;\n if ((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.focus) {\n overlayRef.current.focus();\n focusMenuRef.current = true;\n return true;\n }\n return false;\n };\n var handleKeyDown = function handleKeyDown(event) {\n switch (event.keyCode) {\n case ESC:\n handleCloseMenuAndReturnFocus();\n break;\n case TAB:\n {\n var focusResult = false;\n if (!focusMenuRef.current) {\n focusResult = focusMenu();\n }\n if (focusResult) {\n event.preventDefault();\n } else {\n handleCloseMenuAndReturnFocus();\n }\n break;\n }\n }\n };\n React.useEffect(function () {\n if (visible) {\n window.addEventListener(\"keydown\", handleKeyDown);\n if (autoFocus) {\n // FIXME: hack with raf\n raf(focusMenu, 3);\n }\n return function () {\n window.removeEventListener(\"keydown\", handleKeyDown);\n focusMenuRef.current = false;\n };\n }\n return function () {\n focusMenuRef.current = false;\n };\n }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps\n}","import { composeRef, getNodeRef, supportRef } from \"rc-util/es/ref\";\nimport React, { forwardRef, useMemo } from 'react';\nvar Overlay = /*#__PURE__*/forwardRef(function (props, ref) {\n var overlay = props.overlay,\n arrow = props.arrow,\n prefixCls = props.prefixCls;\n var overlayNode = useMemo(function () {\n var overlayElement;\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n return overlayElement;\n }, [overlay]);\n var composedRef = composeRef(ref, getNodeRef(overlayNode));\n return /*#__PURE__*/React.createElement(React.Fragment, null, arrow && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), /*#__PURE__*/React.cloneElement(overlayNode, {\n ref: supportRef(overlayNode) ? composedRef : undefined\n }));\n});\nexport default Overlay;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\", \"autoFocus\", \"overlay\", \"children\", \"onVisibleChange\"];\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport { composeRef, getNodeRef, supportRef } from \"rc-util/es/ref\";\nimport React from 'react';\nimport useAccessibility from \"./hooks/useAccessibility\";\nimport Overlay from \"./Overlay\";\nimport Placements from \"./placements\";\nfunction Dropdown(props, ref) {\n var _children$props;\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n autoFocus = props.autoFocus,\n overlay = props.overlay,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n otherProps = _objectWithoutProperties(props, _excluded);\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n var overlayRef = React.useRef(null);\n var childRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n var handleVisibleChange = function handleVisibleChange(newVisible) {\n setTriggerVisible(newVisible);\n onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(newVisible);\n };\n useAccessibility({\n visible: mergedVisible,\n triggerRef: childRef,\n onVisibleChange: handleVisibleChange,\n autoFocus: autoFocus,\n overlayRef: overlayRef\n });\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n setTriggerVisible(false);\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n };\n var getMenuElement = function getMenuElement() {\n return /*#__PURE__*/React.createElement(Overlay, {\n ref: overlayRef,\n overlay: overlay,\n prefixCls: prefixCls,\n arrow: arrow\n });\n };\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n return getMenuElement();\n };\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n return !alignPoint;\n };\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n if (openClassName !== undefined) {\n return openClassName;\n }\n return \"\".concat(prefixCls, \"-open\");\n };\n var childrenNode = /*#__PURE__*/React.cloneElement(children, {\n className: classNames((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.className, mergedVisible && getOpenClassName()),\n ref: supportRef(children) ? composeRef(childRef, getNodeRef(children)) : undefined\n });\n var triggerHideAction = hideAction;\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n builtinPlacements: placements\n }, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction,\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: handleVisibleChange,\n onPopupClick: onClick,\n getPopupContainer: getPopupContainer\n }), childrenNode);\n}\nexport default /*#__PURE__*/React.forwardRef(Dropdown);","// This icon file is generated automatically.\nvar PlusOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z\" } }] }, \"name\": \"plus\", \"theme\": \"outlined\" };\nexport default PlusOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport PlusOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar PlusOutlined = function PlusOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: PlusOutlinedSvg\n }));\n};\n\n/**![plus](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQ4MiAxNTJoNjBxOCAwIDggOHY3MDRxMCA4LTggOGgtNjBxLTggMC04LThWMTYwcTAtOCA4LTh6IiAvPjxwYXRoIGQ9Ik0xOTIgNDc0aDY3MnE4IDAgOCA4djYwcTAgOC04IDhIMTYwcS04IDAtOC04di02MHEwLTggOC04eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(PlusOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'PlusOutlined';\n}\nexport default RefIcon;","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport raf from \"rc-util/es/raf\";\nimport React, { useEffect, useRef, useState } from 'react';\nvar useIndicator = function useIndicator(options) {\n var activeTabOffset = options.activeTabOffset,\n horizontal = options.horizontal,\n rtl = options.rtl,\n _options$indicator = options.indicator,\n indicator = _options$indicator === void 0 ? {} : _options$indicator;\n var size = indicator.size,\n _indicator$align = indicator.align,\n align = _indicator$align === void 0 ? 'center' : _indicator$align;\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n inkStyle = _useState2[0],\n setInkStyle = _useState2[1];\n var inkBarRafRef = useRef();\n var getLength = React.useCallback(function (origin) {\n if (typeof size === 'function') {\n return size(origin);\n }\n if (typeof size === 'number') {\n return size;\n }\n return origin;\n }, [size]);\n\n // Delay set ink style to avoid remove tab blink\n function cleanInkBarRaf() {\n raf.cancel(inkBarRafRef.current);\n }\n useEffect(function () {\n var newInkStyle = {};\n if (activeTabOffset) {\n if (horizontal) {\n newInkStyle.width = getLength(activeTabOffset.width);\n var key = rtl ? 'right' : 'left';\n if (align === 'start') {\n newInkStyle[key] = activeTabOffset[key];\n }\n if (align === 'center') {\n newInkStyle[key] = activeTabOffset[key] + activeTabOffset.width / 2;\n newInkStyle.transform = rtl ? 'translateX(50%)' : 'translateX(-50%)';\n }\n if (align === 'end') {\n newInkStyle[key] = activeTabOffset[key] + activeTabOffset.width;\n newInkStyle.transform = 'translateX(-100%)';\n }\n } else {\n newInkStyle.height = getLength(activeTabOffset.height);\n if (align === 'start') {\n newInkStyle.top = activeTabOffset.top;\n }\n if (align === 'center') {\n newInkStyle.top = activeTabOffset.top + activeTabOffset.height / 2;\n newInkStyle.transform = 'translateY(-50%)';\n }\n if (align === 'end') {\n newInkStyle.top = activeTabOffset.top + activeTabOffset.height;\n newInkStyle.transform = 'translateY(-100%)';\n }\n }\n }\n cleanInkBarRaf();\n inkBarRafRef.current = raf(function () {\n // Avoid jitter caused by tiny numerical differences\n // fix https://github.com/ant-design/ant-design/issues/53378\n var isEqual = inkStyle && newInkStyle && Object.keys(newInkStyle).every(function (key) {\n var newValue = newInkStyle[key];\n var oldValue = inkStyle[key];\n return typeof newValue === 'number' && typeof oldValue === 'number' ? Math.round(newValue) === Math.round(oldValue) : newValue === oldValue;\n });\n if (!isEqual) {\n setInkStyle(newInkStyle);\n }\n });\n return cleanInkBarRaf;\n }, [JSON.stringify(activeTabOffset), horizontal, rtl, align, getLength]);\n return {\n style: inkStyle\n };\n};\nexport default useIndicator;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n};\nexport default function useOffsets(tabs, tabSizes, holderScrollWidth) {\n return useMemo(function () {\n var _tabs$;\n var map = new Map();\n var lastOffset = tabSizes.get((_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key) || DEFAULT_SIZE;\n var rightOffset = lastOffset.left + lastOffset.width;\n for (var i = 0; i < tabs.length; i += 1) {\n var key = tabs[i].key;\n var data = tabSizes.get(key);\n\n // Reuse last one when not exist yet\n if (!data) {\n var _tabs;\n data = tabSizes.get((_tabs = tabs[i - 1]) === null || _tabs === void 0 ? void 0 : _tabs.key) || DEFAULT_SIZE;\n }\n var entity = map.get(key) || _objectSpread({}, data);\n\n // Right\n entity.right = rightOffset - entity.left - entity.width;\n\n // Update entity\n map.set(key, entity);\n }\n return map;\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), tabSizes, holderScrollWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useSyncState(defaultState, onChange) {\n var stateRef = React.useRef(defaultState);\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n function setState(updater) {\n var newValue = typeof updater === 'function' ? updater(stateRef.current) : updater;\n if (newValue !== stateRef.current) {\n onChange(newValue, stateRef.current);\n }\n stateRef.current = newValue;\n forceUpdate({});\n }\n return [stateRef.current, setState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nvar MIN_SWIPE_DISTANCE = 0.1;\nvar STOP_SWIPE_DISTANCE = 0.01;\nvar REFRESH_INTERVAL = 20;\nvar SPEED_OFF_MULTIPLE = Math.pow(0.995, REFRESH_INTERVAL);\n\n// ================================= Hook =================================\nexport default function useTouchMove(ref, onOffset) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n touchPosition = _useState2[0],\n setTouchPosition = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n lastTimestamp = _useState4[0],\n setLastTimestamp = _useState4[1];\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n lastTimeDiff = _useState6[0],\n setLastTimeDiff = _useState6[1];\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n lastOffset = _useState8[0],\n setLastOffset = _useState8[1];\n var motionRef = useRef();\n\n // ========================= Events =========================\n // >>> Touch events\n function onTouchStart(e) {\n var _e$touches$ = e.touches[0],\n screenX = _e$touches$.screenX,\n screenY = _e$touches$.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n window.clearInterval(motionRef.current);\n }\n function onTouchMove(e) {\n if (!touchPosition) return;\n\n // e.preventDefault();\n var _e$touches$2 = e.touches[0],\n screenX = _e$touches$2.screenX,\n screenY = _e$touches$2.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n var offsetX = screenX - touchPosition.x;\n var offsetY = screenY - touchPosition.y;\n onOffset(offsetX, offsetY);\n var now = Date.now();\n setLastTimestamp(now);\n setLastTimeDiff(now - lastTimestamp);\n setLastOffset({\n x: offsetX,\n y: offsetY\n });\n }\n function onTouchEnd() {\n if (!touchPosition) return;\n setTouchPosition(null);\n setLastOffset(null);\n\n // Swipe if needed\n if (lastOffset) {\n var distanceX = lastOffset.x / lastTimeDiff;\n var distanceY = lastOffset.y / lastTimeDiff;\n var absX = Math.abs(distanceX);\n var absY = Math.abs(distanceY);\n\n // Skip swipe if low distance\n if (Math.max(absX, absY) < MIN_SWIPE_DISTANCE) return;\n var currentX = distanceX;\n var currentY = distanceY;\n motionRef.current = window.setInterval(function () {\n if (Math.abs(currentX) < STOP_SWIPE_DISTANCE && Math.abs(currentY) < STOP_SWIPE_DISTANCE) {\n window.clearInterval(motionRef.current);\n return;\n }\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL);\n }, REFRESH_INTERVAL);\n }\n }\n\n // >>> Wheel event\n var lastWheelDirectionRef = useRef();\n function onWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY;\n\n // Convert both to x & y since wheel only happened on PC\n var mixed = 0;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n if (absX === absY) {\n mixed = lastWheelDirectionRef.current === 'x' ? deltaX : deltaY;\n } else if (absX > absY) {\n mixed = deltaX;\n lastWheelDirectionRef.current = 'x';\n } else {\n mixed = deltaY;\n lastWheelDirectionRef.current = 'y';\n }\n if (onOffset(-mixed, -mixed)) {\n e.preventDefault();\n }\n }\n\n // ========================= Effect =========================\n var touchEventsRef = useRef(null);\n touchEventsRef.current = {\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd,\n onWheel: onWheel\n };\n React.useEffect(function () {\n function onProxyTouchStart(e) {\n touchEventsRef.current.onTouchStart(e);\n }\n function onProxyTouchMove(e) {\n touchEventsRef.current.onTouchMove(e);\n }\n function onProxyTouchEnd(e) {\n touchEventsRef.current.onTouchEnd(e);\n }\n function onProxyWheel(e) {\n touchEventsRef.current.onWheel(e);\n }\n document.addEventListener('touchmove', onProxyTouchMove, {\n passive: false\n });\n document.addEventListener('touchend', onProxyTouchEnd, {\n passive: true\n });\n\n // No need to clean up since element removed\n ref.current.addEventListener('touchstart', onProxyTouchStart, {\n passive: true\n });\n ref.current.addEventListener('wheel', onProxyWheel, {\n passive: false\n });\n return function () {\n document.removeEventListener('touchmove', onProxyTouchMove);\n document.removeEventListener('touchend', onProxyTouchEnd);\n };\n }, []);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useLayoutUpdateEffect } from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useRef, useState } from 'react';\n\n/**\n * Help to merge callback with `useLayoutEffect`.\n * One time will only trigger once.\n */\nexport default function useUpdate(callback) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n count = _useState2[0],\n setCount = _useState2[1];\n var effectRef = useRef(0);\n var callbackRef = useRef();\n callbackRef.current = callback;\n\n // Trigger on `useLayoutEffect`\n useLayoutUpdateEffect(function () {\n var _callbackRef$current;\n (_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 || _callbackRef$current.call(callbackRef);\n }, [count]);\n\n // Trigger to update count\n return function () {\n if (effectRef.current !== count) {\n return;\n }\n effectRef.current += 1;\n setCount(effectRef.current);\n };\n}\nexport function useUpdateState(defaultState) {\n var batchRef = useRef([]);\n var _useState3 = useState({}),\n _useState4 = _slicedToArray(_useState3, 2),\n forceUpdate = _useState4[1];\n var state = useRef(typeof defaultState === 'function' ? defaultState() : defaultState);\n var flushUpdate = useUpdate(function () {\n var current = state.current;\n batchRef.current.forEach(function (callback) {\n current = callback(current);\n });\n batchRef.current = [];\n state.current = current;\n forceUpdate({});\n });\n function updater(callback) {\n batchRef.current.push(callback);\n flushUpdate();\n }\n return [state.current, updater];\n}","import { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0\n};\nexport default function useVisibleRange(tabOffsets, visibleTabContentValue, transform, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, _ref) {\n var tabs = _ref.tabs,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl;\n var charUnit;\n var position;\n var transformSize;\n if (['top', 'bottom'].includes(tabPosition)) {\n charUnit = 'width';\n position = rtl ? 'right' : 'left';\n transformSize = Math.abs(transform);\n } else {\n charUnit = 'height';\n position = 'top';\n transformSize = -transform;\n }\n return useMemo(function () {\n if (!tabs.length) {\n return [0, 0];\n }\n var len = tabs.length;\n var endIndex = len;\n for (var i = 0; i < len; i += 1) {\n var offset = tabOffsets.get(tabs[i].key) || DEFAULT_SIZE;\n if (Math.floor(offset[position] + offset[charUnit]) > Math.floor(transformSize + visibleTabContentValue)) {\n endIndex = i - 1;\n break;\n }\n }\n var startIndex = 0;\n for (var _i = len - 1; _i >= 0; _i -= 1) {\n var _offset = tabOffsets.get(tabs[_i].key) || DEFAULT_SIZE;\n if (_offset[position] < transformSize) {\n startIndex = _i + 1;\n break;\n }\n }\n return startIndex > endIndex ? [0, -1] : [startIndex, endIndex];\n }, [tabOffsets, visibleTabContentValue, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, transformSize, tabPosition, tabs.map(function (tab) {\n return tab.key;\n }).join('_'), rtl]);\n}","/**\n * We trade Map as deps which may change with same value but different ref object.\n * We should make it as hash for deps\n * */\nexport function stringify(obj) {\n var tgt;\n if (obj instanceof Map) {\n tgt = {};\n obj.forEach(function (v, k) {\n tgt[k] = v;\n });\n } else {\n tgt = obj;\n }\n return JSON.stringify(tgt);\n}\nvar RC_TABS_DOUBLE_QUOTE = 'TABS_DQ';\nexport function genDataNodeKey(key) {\n return String(key).replace(/\"/g, RC_TABS_DOUBLE_QUOTE);\n}\nexport function getRemovable(closable, closeIcon, editable, disabled) {\n if (\n // Only editable tabs can be removed\n !editable ||\n // Tabs cannot be removed when disabled\n disabled ||\n // closable is false\n closable === false ||\n // If closable is undefined, the remove button should be hidden when closeIcon is null or false\n closable === undefined && (closeIcon === false || closeIcon === null)) {\n return false;\n }\n return true;\n}","import * as React from 'react';\nvar AddButton = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n editable = props.editable,\n locale = props.locale,\n style = props.style;\n if (!editable || editable.showAdd === false) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"button\", {\n ref: ref,\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-add\"),\n style: style,\n \"aria-label\": (locale === null || locale === void 0 ? void 0 : locale.addAriaLabel) || 'Add tab',\n onClick: function onClick(event) {\n editable.onEdit('add', {\n event: event\n });\n }\n }, editable.addIcon || '+');\n});\nexport default AddButton;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nvar ExtraContent = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var position = props.position,\n prefixCls = props.prefixCls,\n extra = props.extra;\n if (!extra) {\n return null;\n }\n var content;\n\n // Parse extra\n var assertExtra = {};\n if (_typeof(extra) === 'object' && ! /*#__PURE__*/React.isValidElement(extra)) {\n assertExtra = extra;\n } else {\n assertExtra.right = extra;\n }\n if (position === 'right') {\n content = assertExtra.right;\n }\n if (position === 'left') {\n content = assertExtra.left;\n }\n return content ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra-content\"),\n ref: ref\n }, content) : null;\n});\nif (process.env.NODE_ENV !== 'production') {\n ExtraContent.displayName = 'ExtraContent';\n}\nexport default ExtraContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport Dropdown from 'rc-dropdown';\nimport Menu, { MenuItem } from 'rc-menu';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { getRemovable } from \"../util\";\nimport AddButton from \"./AddButton\";\nvar OperationNode = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n id = props.id,\n tabs = props.tabs,\n locale = props.locale,\n mobile = props.mobile,\n _props$more = props.more,\n moreProps = _props$more === void 0 ? {} : _props$more,\n style = props.style,\n className = props.className,\n editable = props.editable,\n tabBarGutter = props.tabBarGutter,\n rtl = props.rtl,\n removeAriaLabel = props.removeAriaLabel,\n onTabClick = props.onTabClick,\n getPopupContainer = props.getPopupContainer,\n popupClassName = props.popupClassName;\n // ======================== Dropdown ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedKey = _useState4[0],\n setSelectedKey = _useState4[1];\n var _moreProps$icon = moreProps.icon,\n moreIcon = _moreProps$icon === void 0 ? 'More' : _moreProps$icon;\n var popupId = \"\".concat(id, \"-more-popup\");\n var dropdownPrefix = \"\".concat(prefixCls, \"-dropdown\");\n var selectedItemId = selectedKey !== null ? \"\".concat(popupId, \"-\").concat(selectedKey) : null;\n var dropdownAriaLabel = locale === null || locale === void 0 ? void 0 : locale.dropdownAriaLabel;\n function onRemoveTab(event, key) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n var menu = /*#__PURE__*/React.createElement(Menu, {\n onClick: function onClick(_ref) {\n var key = _ref.key,\n domEvent = _ref.domEvent;\n onTabClick(key, domEvent);\n setOpen(false);\n },\n prefixCls: \"\".concat(dropdownPrefix, \"-menu\"),\n id: popupId,\n tabIndex: -1,\n role: \"listbox\",\n \"aria-activedescendant\": selectedItemId,\n selectedKeys: [selectedKey],\n \"aria-label\": dropdownAriaLabel !== undefined ? dropdownAriaLabel : 'expanded dropdown'\n }, tabs.map(function (tab) {\n var closable = tab.closable,\n disabled = tab.disabled,\n closeIcon = tab.closeIcon,\n key = tab.key,\n label = tab.label;\n var removable = getRemovable(closable, closeIcon, editable, disabled);\n return /*#__PURE__*/React.createElement(MenuItem, {\n key: key,\n id: \"\".concat(popupId, \"-\").concat(key),\n role: \"option\",\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n disabled: disabled\n }, /*#__PURE__*/React.createElement(\"span\", null, label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(dropdownPrefix, \"-menu-item-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e, key);\n }\n }, closeIcon || editable.removeIcon || '×'));\n }));\n function selectOffset(offset) {\n var enabledTabs = tabs.filter(function (tab) {\n return !tab.disabled;\n });\n var selectedIndex = enabledTabs.findIndex(function (tab) {\n return tab.key === selectedKey;\n }) || 0;\n var len = enabledTabs.length;\n for (var i = 0; i < len; i += 1) {\n selectedIndex = (selectedIndex + offset + len) % len;\n var tab = enabledTabs[selectedIndex];\n if (!tab.disabled) {\n setSelectedKey(tab.key);\n return;\n }\n }\n }\n function onKeyDown(e) {\n var which = e.which;\n if (!open) {\n if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n setOpen(true);\n e.preventDefault();\n }\n return;\n }\n switch (which) {\n case KeyCode.UP:\n selectOffset(-1);\n e.preventDefault();\n break;\n case KeyCode.DOWN:\n selectOffset(1);\n e.preventDefault();\n break;\n case KeyCode.ESC:\n setOpen(false);\n break;\n case KeyCode.SPACE:\n case KeyCode.ENTER:\n if (selectedKey !== null) {\n onTabClick(selectedKey, e);\n }\n break;\n }\n }\n\n // ========================= Effect =========================\n useEffect(function () {\n // We use query element here to avoid React strict warning\n var ele = document.getElementById(selectedItemId);\n if (ele && ele.scrollIntoView) {\n ele.scrollIntoView(false);\n }\n }, [selectedKey]);\n useEffect(function () {\n if (!open) {\n setSelectedKey(null);\n }\n }, [open]);\n\n // ========================= Render =========================\n var moreStyle = _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', tabBarGutter);\n if (!tabs.length) {\n moreStyle.visibility = 'hidden';\n moreStyle.order = 1;\n }\n var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n var moreNode = mobile ? null : /*#__PURE__*/React.createElement(Dropdown, _extends({\n prefixCls: dropdownPrefix,\n overlay: menu,\n visible: tabs.length ? open : false,\n onVisibleChange: setOpen,\n overlayClassName: classNames(overlayClassName, popupClassName),\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n getPopupContainer: getPopupContainer\n }, moreProps), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-more\"),\n style: moreStyle,\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": popupId,\n id: \"\".concat(id, \"-more\"),\n \"aria-expanded\": open,\n onKeyDown: onKeyDown\n }, moreIcon));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n style: style,\n ref: ref\n }, moreNode, /*#__PURE__*/React.createElement(AddButton, {\n prefixCls: prefixCls,\n locale: locale,\n editable: editable\n }));\n});\nexport default /*#__PURE__*/React.memo(OperationNode, function (_, next) {\n return (\n // https://github.com/ant-design/ant-design/issues/32544\n // We'd better remove syntactic sugar in `rc-menu` since this has perf issue\n next.tabMoving\n );\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { genDataNodeKey, getRemovable } from \"../util\";\nvar TabNode = function TabNode(props) {\n var prefixCls = props.prefixCls,\n id = props.id,\n active = props.active,\n focus = props.focus,\n _props$tab = props.tab,\n key = _props$tab.key,\n label = _props$tab.label,\n disabled = _props$tab.disabled,\n closeIcon = _props$tab.closeIcon,\n icon = _props$tab.icon,\n closable = props.closable,\n renderWrapper = props.renderWrapper,\n removeAriaLabel = props.removeAriaLabel,\n editable = props.editable,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n onMouseUp = props.onMouseUp,\n style = props.style,\n tabCount = props.tabCount,\n currentPosition = props.currentPosition;\n var tabPrefix = \"\".concat(prefixCls, \"-tab\");\n var removable = getRemovable(closable, closeIcon, editable, disabled);\n function onInternalClick(e) {\n if (disabled) {\n return;\n }\n onClick(e);\n }\n function onRemoveTab(event) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n var labelNode = React.useMemo(function () {\n return icon && typeof label === 'string' ? /*#__PURE__*/React.createElement(\"span\", null, label) : label;\n }, [label, icon]);\n var btnRef = React.useRef(null);\n React.useEffect(function () {\n if (focus && btnRef.current) {\n btnRef.current.focus();\n }\n }, [focus]);\n var node = /*#__PURE__*/React.createElement(\"div\", {\n key: key,\n \"data-node-key\": genDataNodeKey(key),\n className: classNames(tabPrefix, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(tabPrefix, \"-with-remove\"), removable), \"\".concat(tabPrefix, \"-active\"), active), \"\".concat(tabPrefix, \"-disabled\"), disabled), \"\".concat(tabPrefix, \"-focus\"), focus)),\n style: style,\n onClick: onInternalClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: btnRef,\n role: \"tab\",\n \"aria-selected\": active,\n id: id && \"\".concat(id, \"-tab-\").concat(key),\n className: \"\".concat(tabPrefix, \"-btn\"),\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n \"aria-disabled\": disabled,\n tabIndex: disabled ? null : active ? 0 : -1,\n onClick: function onClick(e) {\n e.stopPropagation();\n onInternalClick(e);\n },\n onKeyDown: onKeyDown,\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp,\n onFocus: onFocus,\n onBlur: onBlur\n }, focus && /*#__PURE__*/React.createElement(\"div\", {\n \"aria-live\": \"polite\",\n style: {\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n opacity: 0\n }\n }, \"Tab \".concat(currentPosition, \" of \").concat(tabCount)), icon && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(tabPrefix, \"-icon\")\n }, icon), label && labelNode), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n role: \"tab\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: active ? 0 : -1,\n className: \"\".concat(tabPrefix, \"-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e);\n }\n }, closeIcon || editable.removeIcon || '×'));\n return renderWrapper ? renderWrapper(node) : node;\n};\nexport default TabNode;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/* eslint-disable react-hooks/exhaustive-deps */\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport TabContext from \"../TabContext\";\nimport useIndicator from \"../hooks/useIndicator\";\nimport useOffsets from \"../hooks/useOffsets\";\nimport useSyncState from \"../hooks/useSyncState\";\nimport useTouchMove from \"../hooks/useTouchMove\";\nimport useUpdate, { useUpdateState } from \"../hooks/useUpdate\";\nimport useVisibleRange from \"../hooks/useVisibleRange\";\nimport { genDataNodeKey, getRemovable, stringify } from \"../util\";\nimport AddButton from \"./AddButton\";\nimport ExtraContent from \"./ExtraContent\";\nimport OperationNode from \"./OperationNode\";\nimport TabNode from \"./TabNode\";\nvar getTabSize = function getTabSize(tab, containerRect) {\n // tabListRef\n var offsetWidth = tab.offsetWidth,\n offsetHeight = tab.offsetHeight,\n offsetTop = tab.offsetTop,\n offsetLeft = tab.offsetLeft;\n var _tab$getBoundingClien = tab.getBoundingClientRect(),\n width = _tab$getBoundingClien.width,\n height = _tab$getBoundingClien.height,\n left = _tab$getBoundingClien.left,\n top = _tab$getBoundingClien.top;\n\n // Use getBoundingClientRect to avoid decimal inaccuracy\n if (Math.abs(width - offsetWidth) < 1) {\n return [width, height, left - containerRect.left, top - containerRect.top];\n }\n return [offsetWidth, offsetHeight, offsetLeft, offsetTop];\n};\nvar getSize = function getSize(refObj) {\n var _ref = refObj.current || {},\n _ref$offsetWidth = _ref.offsetWidth,\n offsetWidth = _ref$offsetWidth === void 0 ? 0 : _ref$offsetWidth,\n _ref$offsetHeight = _ref.offsetHeight,\n offsetHeight = _ref$offsetHeight === void 0 ? 0 : _ref$offsetHeight;\n\n // Use getBoundingClientRect to avoid decimal inaccuracy\n if (refObj.current) {\n var _refObj$current$getBo = refObj.current.getBoundingClientRect(),\n width = _refObj$current$getBo.width,\n height = _refObj$current$getBo.height;\n if (Math.abs(width - offsetWidth) < 1) {\n return [width, height];\n }\n }\n return [offsetWidth, offsetHeight];\n};\n\n/**\n * Convert `SizeInfo` to unit value. Such as [123, 456] with `top` position get `123`\n */\nvar getUnitValue = function getUnitValue(size, tabPositionTopOrBottom) {\n return size[tabPositionTopOrBottom ? 0 : 1];\n};\nvar TabNavList = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var className = props.className,\n style = props.style,\n id = props.id,\n animated = props.animated,\n activeKey = props.activeKey,\n rtl = props.rtl,\n extra = props.extra,\n editable = props.editable,\n locale = props.locale,\n tabPosition = props.tabPosition,\n tabBarGutter = props.tabBarGutter,\n children = props.children,\n onTabClick = props.onTabClick,\n onTabScroll = props.onTabScroll,\n indicator = props.indicator;\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n var containerRef = useRef(null);\n var extraLeftRef = useRef(null);\n var extraRightRef = useRef(null);\n var tabsWrapperRef = useRef(null);\n var tabListRef = useRef(null);\n var operationsRef = useRef(null);\n var innerAddButtonRef = useRef(null);\n var tabPositionTopOrBottom = tabPosition === 'top' || tabPosition === 'bottom';\n var _useSyncState = useSyncState(0, function (next, prev) {\n if (tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'left' : 'right'\n });\n }\n }),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n transformLeft = _useSyncState2[0],\n setTransformLeft = _useSyncState2[1];\n var _useSyncState3 = useSyncState(0, function (next, prev) {\n if (!tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'top' : 'bottom'\n });\n }\n }),\n _useSyncState4 = _slicedToArray(_useSyncState3, 2),\n transformTop = _useSyncState4[0],\n setTransformTop = _useSyncState4[1];\n var _useState = useState([0, 0]),\n _useState2 = _slicedToArray(_useState, 2),\n containerExcludeExtraSize = _useState2[0],\n setContainerExcludeExtraSize = _useState2[1];\n var _useState3 = useState([0, 0]),\n _useState4 = _slicedToArray(_useState3, 2),\n tabContentSize = _useState4[0],\n setTabContentSize = _useState4[1];\n var _useState5 = useState([0, 0]),\n _useState6 = _slicedToArray(_useState5, 2),\n addSize = _useState6[0],\n setAddSize = _useState6[1];\n var _useState7 = useState([0, 0]),\n _useState8 = _slicedToArray(_useState7, 2),\n operationSize = _useState8[0],\n setOperationSize = _useState8[1];\n var _useUpdateState = useUpdateState(new Map()),\n _useUpdateState2 = _slicedToArray(_useUpdateState, 2),\n tabSizes = _useUpdateState2[0],\n setTabSizes = _useUpdateState2[1];\n var tabOffsets = useOffsets(tabs, tabSizes, tabContentSize[0]);\n\n // ========================== Unit =========================\n var containerExcludeExtraSizeValue = getUnitValue(containerExcludeExtraSize, tabPositionTopOrBottom);\n var tabContentSizeValue = getUnitValue(tabContentSize, tabPositionTopOrBottom);\n var addSizeValue = getUnitValue(addSize, tabPositionTopOrBottom);\n var operationSizeValue = getUnitValue(operationSize, tabPositionTopOrBottom);\n var needScroll = Math.floor(containerExcludeExtraSizeValue) < Math.floor(tabContentSizeValue + addSizeValue);\n var visibleTabContentValue = needScroll ? containerExcludeExtraSizeValue - operationSizeValue : containerExcludeExtraSizeValue - addSizeValue;\n\n // ========================== Util =========================\n var operationsHiddenClassName = \"\".concat(prefixCls, \"-nav-operations-hidden\");\n var transformMin = 0;\n var transformMax = 0;\n if (!tabPositionTopOrBottom) {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n } else if (rtl) {\n transformMin = 0;\n transformMax = Math.max(0, tabContentSizeValue - visibleTabContentValue);\n } else {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n }\n function alignInRange(value) {\n if (value < transformMin) {\n return transformMin;\n }\n if (value > transformMax) {\n return transformMax;\n }\n return value;\n }\n\n // ========================= Mobile ========================\n var touchMovingRef = useRef(null);\n var _useState9 = useState(),\n _useState10 = _slicedToArray(_useState9, 2),\n lockAnimation = _useState10[0],\n setLockAnimation = _useState10[1];\n function doLockAnimation() {\n setLockAnimation(Date.now());\n }\n function clearTouchMoving() {\n if (touchMovingRef.current) {\n clearTimeout(touchMovingRef.current);\n }\n }\n useTouchMove(tabsWrapperRef, function (offsetX, offsetY) {\n function doMove(setState, offset) {\n setState(function (value) {\n var newValue = alignInRange(value + offset);\n return newValue;\n });\n }\n\n // Skip scroll if place is enough\n if (!needScroll) {\n return false;\n }\n if (tabPositionTopOrBottom) {\n doMove(setTransformLeft, offsetX);\n } else {\n doMove(setTransformTop, offsetY);\n }\n clearTouchMoving();\n doLockAnimation();\n return true;\n });\n useEffect(function () {\n clearTouchMoving();\n if (lockAnimation) {\n touchMovingRef.current = setTimeout(function () {\n setLockAnimation(0);\n }, 100);\n }\n return clearTouchMoving;\n }, [lockAnimation]);\n\n // ===================== Visible Range =====================\n // Render tab node & collect tab offset\n var _useVisibleRange = useVisibleRange(tabOffsets,\n // Container\n visibleTabContentValue,\n // Transform\n tabPositionTopOrBottom ? transformLeft : transformTop,\n // Tabs\n tabContentSizeValue,\n // Add\n addSizeValue,\n // Operation\n operationSizeValue, _objectSpread(_objectSpread({}, props), {}, {\n tabs: tabs\n })),\n _useVisibleRange2 = _slicedToArray(_useVisibleRange, 2),\n visibleStart = _useVisibleRange2[0],\n visibleEnd = _useVisibleRange2[1];\n\n // ========================= Scroll ========================\n var scrollToTab = useEvent(function () {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : activeKey;\n var tabOffset = tabOffsets.get(key) || {\n width: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0\n };\n if (tabPositionTopOrBottom) {\n // ============ Align with top & bottom ============\n var newTransform = transformLeft;\n\n // RTL\n if (rtl) {\n if (tabOffset.right < transformLeft) {\n newTransform = tabOffset.right;\n } else if (tabOffset.right + tabOffset.width > transformLeft + visibleTabContentValue) {\n newTransform = tabOffset.right + tabOffset.width - visibleTabContentValue;\n }\n }\n // LTR\n else if (tabOffset.left < -transformLeft) {\n newTransform = -tabOffset.left;\n } else if (tabOffset.left + tabOffset.width > -transformLeft + visibleTabContentValue) {\n newTransform = -(tabOffset.left + tabOffset.width - visibleTabContentValue);\n }\n setTransformTop(0);\n setTransformLeft(alignInRange(newTransform));\n } else {\n // ============ Align with left & right ============\n var _newTransform = transformTop;\n if (tabOffset.top < -transformTop) {\n _newTransform = -tabOffset.top;\n } else if (tabOffset.top + tabOffset.height > -transformTop + visibleTabContentValue) {\n _newTransform = -(tabOffset.top + tabOffset.height - visibleTabContentValue);\n }\n setTransformLeft(0);\n setTransformTop(alignInRange(_newTransform));\n }\n });\n\n // ========================= Focus =========================\n var _useState11 = useState(),\n _useState12 = _slicedToArray(_useState11, 2),\n focusKey = _useState12[0],\n setFocusKey = _useState12[1];\n var _useState13 = useState(false),\n _useState14 = _slicedToArray(_useState13, 2),\n isMouse = _useState14[0],\n setIsMouse = _useState14[1];\n var enabledTabs = tabs.filter(function (tab) {\n return !tab.disabled;\n }).map(function (tab) {\n return tab.key;\n });\n var onOffset = function onOffset(offset) {\n var currentIndex = enabledTabs.indexOf(focusKey || activeKey);\n var len = enabledTabs.length;\n var nextIndex = (currentIndex + offset + len) % len;\n var newKey = enabledTabs[nextIndex];\n setFocusKey(newKey);\n };\n var handleRemoveTab = function handleRemoveTab(removalTabKey, e) {\n var removeIndex = enabledTabs.indexOf(removalTabKey);\n var removeTab = tabs.find(function (tab) {\n return tab.key === removalTabKey;\n });\n var removable = getRemovable(removeTab === null || removeTab === void 0 ? void 0 : removeTab.closable, removeTab === null || removeTab === void 0 ? void 0 : removeTab.closeIcon, editable, removeTab === null || removeTab === void 0 ? void 0 : removeTab.disabled);\n if (removable) {\n e.preventDefault();\n e.stopPropagation();\n editable.onEdit('remove', {\n key: removalTabKey,\n event: e\n });\n\n // when remove last tab, focus previous tab\n if (removeIndex === enabledTabs.length - 1) {\n onOffset(-1);\n } else {\n onOffset(1);\n }\n }\n };\n var handleMouseDown = function handleMouseDown(key, e) {\n setIsMouse(true);\n // Middle mouse button\n if (e.button === 1) {\n handleRemoveTab(key, e);\n }\n };\n var handleKeyDown = function handleKeyDown(e) {\n var code = e.code;\n var isRTL = rtl && tabPositionTopOrBottom;\n var firstEnabledTab = enabledTabs[0];\n var lastEnabledTab = enabledTabs[enabledTabs.length - 1];\n switch (code) {\n // LEFT\n case 'ArrowLeft':\n {\n if (tabPositionTopOrBottom) {\n onOffset(isRTL ? 1 : -1);\n }\n break;\n }\n\n // RIGHT\n case 'ArrowRight':\n {\n if (tabPositionTopOrBottom) {\n onOffset(isRTL ? -1 : 1);\n }\n break;\n }\n\n // UP\n case 'ArrowUp':\n {\n e.preventDefault();\n if (!tabPositionTopOrBottom) {\n onOffset(-1);\n }\n break;\n }\n\n // DOWN\n case 'ArrowDown':\n {\n e.preventDefault();\n if (!tabPositionTopOrBottom) {\n onOffset(1);\n }\n break;\n }\n\n // HOME\n case 'Home':\n {\n e.preventDefault();\n setFocusKey(firstEnabledTab);\n break;\n }\n\n // END\n case 'End':\n {\n e.preventDefault();\n setFocusKey(lastEnabledTab);\n break;\n }\n\n // Enter & Space\n case 'Enter':\n case 'Space':\n {\n e.preventDefault();\n onTabClick(focusKey !== null && focusKey !== void 0 ? focusKey : activeKey, e);\n break;\n }\n // Backspace\n case 'Backspace':\n case 'Delete':\n {\n handleRemoveTab(focusKey, e);\n break;\n }\n }\n };\n\n // ========================== Tab ==========================\n var tabNodeStyle = {};\n if (tabPositionTopOrBottom) {\n tabNodeStyle[rtl ? 'marginRight' : 'marginLeft'] = tabBarGutter;\n } else {\n tabNodeStyle.marginTop = tabBarGutter;\n }\n var tabNodes = tabs.map(function (tab, i) {\n var key = tab.key;\n return /*#__PURE__*/React.createElement(TabNode, {\n id: id,\n prefixCls: prefixCls,\n key: key,\n tab: tab\n /* first node should not have margin left */,\n style: i === 0 ? undefined : tabNodeStyle,\n closable: tab.closable,\n editable: editable,\n active: key === activeKey,\n focus: key === focusKey,\n renderWrapper: children,\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n tabCount: enabledTabs.length,\n currentPosition: i + 1,\n onClick: function onClick(e) {\n onTabClick(key, e);\n },\n onKeyDown: handleKeyDown,\n onFocus: function onFocus() {\n if (!isMouse) {\n setFocusKey(key);\n }\n scrollToTab(key);\n doLockAnimation();\n if (!tabsWrapperRef.current) {\n return;\n }\n // Focus element will make scrollLeft change which we should reset back\n if (!rtl) {\n tabsWrapperRef.current.scrollLeft = 0;\n }\n tabsWrapperRef.current.scrollTop = 0;\n },\n onBlur: function onBlur() {\n setFocusKey(undefined);\n },\n onMouseDown: function onMouseDown(e) {\n return handleMouseDown(key, e);\n },\n onMouseUp: function onMouseUp() {\n setIsMouse(false);\n }\n });\n });\n\n // Update buttons records\n var updateTabSizes = function updateTabSizes() {\n return setTabSizes(function () {\n var _tabListRef$current;\n var newSizes = new Map();\n var listRect = (_tabListRef$current = tabListRef.current) === null || _tabListRef$current === void 0 ? void 0 : _tabListRef$current.getBoundingClientRect();\n tabs.forEach(function (_ref2) {\n var _tabListRef$current2;\n var key = _ref2.key;\n var btnNode = (_tabListRef$current2 = tabListRef.current) === null || _tabListRef$current2 === void 0 ? void 0 : _tabListRef$current2.querySelector(\"[data-node-key=\\\"\".concat(genDataNodeKey(key), \"\\\"]\"));\n if (btnNode) {\n var _getTabSize = getTabSize(btnNode, listRect),\n _getTabSize2 = _slicedToArray(_getTabSize, 4),\n width = _getTabSize2[0],\n height = _getTabSize2[1],\n left = _getTabSize2[2],\n top = _getTabSize2[3];\n newSizes.set(key, {\n width: width,\n height: height,\n left: left,\n top: top\n });\n }\n });\n return newSizes;\n });\n };\n useEffect(function () {\n updateTabSizes();\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_')]);\n var onListHolderResize = useUpdate(function () {\n // Update wrapper records\n var containerSize = getSize(containerRef);\n var extraLeftSize = getSize(extraLeftRef);\n var extraRightSize = getSize(extraRightRef);\n setContainerExcludeExtraSize([containerSize[0] - extraLeftSize[0] - extraRightSize[0], containerSize[1] - extraLeftSize[1] - extraRightSize[1]]);\n var newAddSize = getSize(innerAddButtonRef);\n setAddSize(newAddSize);\n var newOperationSize = getSize(operationsRef);\n setOperationSize(newOperationSize);\n\n // Which includes add button size\n var tabContentFullSize = getSize(tabListRef);\n setTabContentSize([tabContentFullSize[0] - newAddSize[0], tabContentFullSize[1] - newAddSize[1]]);\n\n // Update buttons records\n updateTabSizes();\n });\n\n // ======================== Dropdown =======================\n var startHiddenTabs = tabs.slice(0, visibleStart);\n var endHiddenTabs = tabs.slice(visibleEnd + 1);\n var hiddenTabs = [].concat(_toConsumableArray(startHiddenTabs), _toConsumableArray(endHiddenTabs));\n\n // =================== Link & Operations ===================\n var activeTabOffset = tabOffsets.get(activeKey);\n var _useIndicator = useIndicator({\n activeTabOffset: activeTabOffset,\n horizontal: tabPositionTopOrBottom,\n indicator: indicator,\n rtl: rtl\n }),\n indicatorStyle = _useIndicator.style;\n\n // ========================= Effect ========================\n useEffect(function () {\n scrollToTab();\n }, [activeKey, transformMin, transformMax, stringify(activeTabOffset), stringify(tabOffsets), tabPositionTopOrBottom]);\n\n // Should recalculate when rtl changed\n useEffect(function () {\n onListHolderResize();\n // eslint-disable-next-line\n }, [rtl]);\n\n // ========================= Render ========================\n var hasDropdown = !!hiddenTabs.length;\n var wrapPrefix = \"\".concat(prefixCls, \"-nav-wrap\");\n var pingLeft;\n var pingRight;\n var pingTop;\n var pingBottom;\n if (tabPositionTopOrBottom) {\n if (rtl) {\n pingRight = transformLeft > 0;\n pingLeft = transformLeft !== transformMax;\n } else {\n pingLeft = transformLeft < 0;\n pingRight = transformLeft !== transformMin;\n }\n } else {\n pingTop = transformTop < 0;\n pingBottom = transformTop !== transformMin;\n }\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: useComposeRef(ref, containerRef),\n role: \"tablist\",\n \"aria-orientation\": tabPositionTopOrBottom ? 'horizontal' : 'vertical',\n className: classNames(\"\".concat(prefixCls, \"-nav\"), className),\n style: style,\n onKeyDown: function onKeyDown() {\n // No need animation when use keyboard\n doLockAnimation();\n }\n }, /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraLeftRef,\n position: \"left\",\n extra: extra,\n prefixCls: prefixCls\n }), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(wrapPrefix, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(wrapPrefix, \"-ping-left\"), pingLeft), \"\".concat(wrapPrefix, \"-ping-right\"), pingRight), \"\".concat(wrapPrefix, \"-ping-top\"), pingTop), \"\".concat(wrapPrefix, \"-ping-bottom\"), pingBottom)),\n ref: tabsWrapperRef\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: tabListRef,\n className: \"\".concat(prefixCls, \"-nav-list\"),\n style: {\n transform: \"translate(\".concat(transformLeft, \"px, \").concat(transformTop, \"px)\"),\n transition: lockAnimation ? 'none' : undefined\n }\n }, tabNodes, /*#__PURE__*/React.createElement(AddButton, {\n ref: innerAddButtonRef,\n prefixCls: prefixCls,\n locale: locale,\n editable: editable,\n style: _objectSpread(_objectSpread({}, tabNodes.length === 0 ? undefined : tabNodeStyle), {}, {\n visibility: hasDropdown ? 'hidden' : null\n })\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-ink-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-ink-bar-animated\"), animated.inkBar)),\n style: indicatorStyle\n }))))), /*#__PURE__*/React.createElement(OperationNode, _extends({}, props, {\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n ref: operationsRef,\n prefixCls: prefixCls,\n tabs: hiddenTabs,\n className: !hasDropdown && operationsHiddenClassName,\n tabMoving: !!lockAnimation\n })), /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraRightRef,\n position: \"right\",\n extra: extra,\n prefixCls: prefixCls\n })));\n /* eslint-enable */\n});\nexport default TabNavList;","import classNames from 'classnames';\nimport * as React from 'react';\nvar TabPane = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n id = props.id,\n active = props.active,\n tabKey = props.tabKey,\n children = props.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id && \"\".concat(id, \"-panel-\").concat(tabKey),\n role: \"tabpanel\",\n tabIndex: active ? 0 : -1,\n \"aria-labelledby\": id && \"\".concat(id, \"-tab-\").concat(tabKey),\n \"aria-hidden\": !active,\n style: style,\n className: classNames(prefixCls, active && \"\".concat(prefixCls, \"-active\"), className),\n ref: ref\n }, children);\n});\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'TabPane';\n}\nexport default TabPane;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"renderTabBar\"],\n _excluded2 = [\"label\", \"key\"];\n// zombieJ: To compatible with `renderTabBar` usage.\n\nimport * as React from 'react';\nimport TabNavList from '.';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"../TabPanelList/TabPane\";\n// We have to create a TabNavList components.\nvar TabNavListWrapper = function TabNavListWrapper(_ref) {\n var renderTabBar = _ref.renderTabBar,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(TabContext),\n tabs = _React$useContext.tabs;\n if (renderTabBar) {\n var tabNavBarProps = _objectSpread(_objectSpread({}, restProps), {}, {\n // Legacy support. We do not use this actually\n panes: tabs.map(function (_ref2) {\n var label = _ref2.label,\n key = _ref2.key,\n restTabProps = _objectWithoutProperties(_ref2, _excluded2);\n return /*#__PURE__*/React.createElement(TabPane, _extends({\n tab: label,\n key: key,\n tabKey: key\n }, restTabProps));\n })\n });\n return renderTabBar(tabNavBarProps, TabNavList);\n }\n return /*#__PURE__*/React.createElement(TabNavList, restProps);\n};\nif (process.env.NODE_ENV !== 'production') {\n TabNavListWrapper.displayName = 'TabNavListWrapper';\n}\nexport default TabNavListWrapper;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"key\", \"forceRender\", \"style\", \"className\", \"destroyInactiveTabPane\"];\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport * as React from 'react';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"./TabPane\";\nvar TabPanelList = function TabPanelList(props) {\n var id = props.id,\n activeKey = props.activeKey,\n animated = props.animated,\n tabPosition = props.tabPosition,\n destroyInactiveTabPane = props.destroyInactiveTabPane;\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n var tabPaneAnimated = animated.tabPane;\n var tabPanePrefixCls = \"\".concat(prefixCls, \"-tabpane\");\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content-holder\"))\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), \"\".concat(prefixCls, \"-content-\").concat(tabPosition), _defineProperty({}, \"\".concat(prefixCls, \"-content-animated\"), tabPaneAnimated))\n }, tabs.map(function (item) {\n var key = item.key,\n forceRender = item.forceRender,\n paneStyle = item.style,\n paneClassName = item.className,\n itemDestroyInactiveTabPane = item.destroyInactiveTabPane,\n restTabProps = _objectWithoutProperties(item, _excluded);\n var active = key === activeKey;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n key: key,\n visible: active,\n forceRender: forceRender,\n removeOnLeave: !!(destroyInactiveTabPane || itemDestroyInactiveTabPane),\n leavedClassName: \"\".concat(tabPanePrefixCls, \"-hidden\")\n }, animated.tabPaneMotion), function (_ref, ref) {\n var motionStyle = _ref.style,\n motionClassName = _ref.className;\n return /*#__PURE__*/React.createElement(TabPane, _extends({}, restTabProps, {\n prefixCls: tabPanePrefixCls,\n id: id,\n tabKey: key,\n animated: tabPaneAnimated,\n active: active,\n style: _objectSpread(_objectSpread({}, paneStyle), motionStyle),\n className: classNames(paneClassName, motionClassName),\n ref: ref\n }));\n });\n })));\n};\nexport default TabPanelList;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nexport default function useAnimateConfig() {\n var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n inkBar: true,\n tabPane: false\n };\n var mergedAnimated;\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: false\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true\n }, _typeof(animated) === 'object' ? animated : {});\n }\n\n // Enable tabPane animation if provide motion\n if (mergedAnimated.tabPaneMotion && mergedAnimated.tabPane === undefined) {\n mergedAnimated.tabPane = true;\n }\n if (!mergedAnimated.tabPaneMotion && mergedAnimated.tabPane) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`animated.tabPane` is true but `animated.tabPaneMotion` is not provided. Motion will not work.');\n }\n mergedAnimated.tabPane = false;\n }\n return mergedAnimated;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"items\", \"direction\", \"activeKey\", \"defaultActiveKey\", \"editable\", \"animated\", \"tabPosition\", \"tabBarGutter\", \"tabBarStyle\", \"tabBarExtraContent\", \"locale\", \"more\", \"destroyInactiveTabPane\", \"renderTabBar\", \"onChange\", \"onTabClick\", \"onTabScroll\", \"getPopupContainer\", \"popupClassName\", \"indicator\"];\n// Accessibility https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport TabContext from \"./TabContext\";\nimport TabNavListWrapper from \"./TabNavList/Wrapper\";\nimport TabPanelList from \"./TabPanelList\";\nimport useAnimateConfig from \"./hooks/useAnimateConfig\";\n/**\n * Should added antd:\n * - type\n *\n * Removed:\n * - onNextClick\n * - onPrevClick\n * - keyboard\n */\n\n// Used for accessibility\nvar uuid = 0;\nvar Tabs = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var id = props.id,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-tabs' : _props$prefixCls,\n className = props.className,\n items = props.items,\n direction = props.direction,\n activeKey = props.activeKey,\n defaultActiveKey = props.defaultActiveKey,\n editable = props.editable,\n animated = props.animated,\n _props$tabPosition = props.tabPosition,\n tabPosition = _props$tabPosition === void 0 ? 'top' : _props$tabPosition,\n tabBarGutter = props.tabBarGutter,\n tabBarStyle = props.tabBarStyle,\n tabBarExtraContent = props.tabBarExtraContent,\n locale = props.locale,\n more = props.more,\n destroyInactiveTabPane = props.destroyInactiveTabPane,\n renderTabBar = props.renderTabBar,\n onChange = props.onChange,\n onTabClick = props.onTabClick,\n onTabScroll = props.onTabScroll,\n getPopupContainer = props.getPopupContainer,\n popupClassName = props.popupClassName,\n indicator = props.indicator,\n restProps = _objectWithoutProperties(props, _excluded);\n var tabs = React.useMemo(function () {\n return (items || []).filter(function (item) {\n return item && _typeof(item) === 'object' && 'key' in item;\n });\n }, [items]);\n var rtl = direction === 'rtl';\n var mergedAnimated = useAnimateConfig(animated);\n\n // ======================== Mobile ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ====================== Active Key ======================\n var _useMergedState = useMergedState(function () {\n var _tabs$;\n return (_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key;\n }, {\n value: activeKey,\n defaultValue: defaultActiveKey\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedActiveKey = _useMergedState2[0],\n setMergedActiveKey = _useMergedState2[1];\n var _useState3 = useState(function () {\n return tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n activeIndex = _useState4[0],\n setActiveIndex = _useState4[1];\n\n // Reset active key if not exist anymore\n useEffect(function () {\n var newActiveIndex = tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n if (newActiveIndex === -1) {\n var _tabs$newActiveIndex;\n newActiveIndex = Math.max(0, Math.min(activeIndex, tabs.length - 1));\n setMergedActiveKey((_tabs$newActiveIndex = tabs[newActiveIndex]) === null || _tabs$newActiveIndex === void 0 ? void 0 : _tabs$newActiveIndex.key);\n }\n setActiveIndex(newActiveIndex);\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), mergedActiveKey, activeIndex]);\n\n // ===================== Accessibility ====================\n var _useMergedState3 = useMergedState(null, {\n value: id\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedId = _useMergedState4[0],\n setMergedId = _useMergedState4[1];\n\n // Async generate id to avoid ssr mapping failed\n useEffect(function () {\n if (!id) {\n setMergedId(\"rc-tabs-\".concat(process.env.NODE_ENV === 'test' ? 'test' : uuid));\n uuid += 1;\n }\n }, []);\n\n // ======================== Events ========================\n function onInternalTabClick(key, e) {\n onTabClick === null || onTabClick === void 0 || onTabClick(key, e);\n var isActiveChanged = key !== mergedActiveKey;\n setMergedActiveKey(key);\n if (isActiveChanged) {\n onChange === null || onChange === void 0 || onChange(key);\n }\n }\n\n // ======================== Render ========================\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: tabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var tabNavBarProps = _objectSpread(_objectSpread({}, sharedProps), {}, {\n editable: editable,\n locale: locale,\n more: more,\n tabBarGutter: tabBarGutter,\n onTabClick: onInternalTabClick,\n onTabScroll: onTabScroll,\n extra: tabBarExtraContent,\n style: tabBarStyle,\n panes: null,\n getPopupContainer: getPopupContainer,\n popupClassName: popupClassName,\n indicator: indicator\n });\n return /*#__PURE__*/React.createElement(TabContext.Provider, {\n value: {\n tabs: tabs,\n prefixCls: prefixCls\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n id: id,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(tabPosition), _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-mobile\"), mobile), \"\".concat(prefixCls, \"-editable\"), editable), \"\".concat(prefixCls, \"-rtl\"), rtl), className)\n }, restProps), /*#__PURE__*/React.createElement(TabNavListWrapper, _extends({}, tabNavBarProps, {\n renderTabBar: renderTabBar\n })), /*#__PURE__*/React.createElement(TabPanelList, _extends({\n destroyInactiveTabPane: destroyInactiveTabPane\n }, sharedProps, {\n animated: mergedAnimated\n }))));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tabs.displayName = 'Tabs';\n}\nexport default Tabs;","import { getTransitionName } from '../../_util/motion';\nconst motion = {\n motionAppear: false,\n motionEnter: true,\n motionLeave: true\n};\nexport default function useAnimateConfig(prefixCls, animated = {\n inkBar: true,\n tabPane: false\n}) {\n let mergedAnimated;\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: true\n };\n } else {\n mergedAnimated = Object.assign({\n inkBar: true\n }, typeof animated === 'object' ? animated : {});\n }\n if (mergedAnimated.tabPane) {\n mergedAnimated.tabPaneMotion = Object.assign(Object.assign({}, motion), {\n motionName: getTransitionName(prefixCls, 'switch')\n });\n }\n return mergedAnimated;\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { devUseWarning } from '../../_util/warning';\nfunction filter(items) {\n return items.filter(item => item);\n}\nfunction useLegacyItems(items, children) {\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Tabs');\n warning.deprecated(!children, 'Tabs.TabPane', 'items');\n }\n if (items) {\n return items.map(item => {\n var _a;\n const mergedDestroyOnHidden = (_a = item.destroyOnHidden) !== null && _a !== void 0 ? _a : item.destroyInactiveTabPane;\n return Object.assign(Object.assign({}, item), {\n // TODO: In the future, destroyInactiveTabPane in rc-tabs needs to be upgrade to destroyOnHidden\n destroyInactiveTabPane: mergedDestroyOnHidden\n });\n });\n }\n const childrenItems = toArray(children).map(node => {\n if (/*#__PURE__*/React.isValidElement(node)) {\n const {\n key,\n props\n } = node;\n const _a = props || {},\n {\n tab\n } = _a,\n restProps = __rest(_a, [\"tab\"]);\n const item = Object.assign(Object.assign({\n key: String(key)\n }, restProps), {\n label: tab\n });\n return item;\n }\n return null;\n });\n return filter(childrenItems);\n}\nexport default useLegacyItems;","import { initSlideMotion } from '../../style/motion';\nconst genMotionStyle = token => {\n const {\n componentCls,\n motionDurationSlow\n } = token;\n return [{\n [componentCls]: {\n [`${componentCls}-switch`]: {\n '&-appear, &-enter': {\n transition: 'none',\n '&-start': {\n opacity: 0\n },\n '&-active': {\n opacity: 1,\n transition: `opacity ${motionDurationSlow}`\n }\n },\n '&-leave': {\n position: 'absolute',\n transition: 'none',\n inset: 0,\n '&-start': {\n opacity: 1\n },\n '&-active': {\n opacity: 0,\n transition: `opacity ${motionDurationSlow}`\n }\n }\n }\n }\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down')]];\n};\nexport default genMotionStyle;","import { unit } from '@ant-design/cssinjs';\nimport { genFocusOutline, genFocusStyle, resetComponent, textEllipsis } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genMotionStyle from './motion';\nconst genCardStyle = token => {\n const {\n componentCls,\n tabsCardPadding,\n cardBg,\n cardGutter,\n colorBorderSecondary,\n itemSelectedColor\n } = token;\n return {\n [`${componentCls}-card`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n margin: 0,\n padding: tabsCardPadding,\n background: cardBg,\n border: `${unit(token.lineWidth)} ${token.lineType} ${colorBorderSecondary}`,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOut}`\n },\n [`${componentCls}-tab-active`]: {\n color: itemSelectedColor,\n background: token.colorBgContainer\n },\n [`${componentCls}-tab-focus:has(${componentCls}-tab-btn:focus-visible)`]: genFocusOutline(token, -3),\n [`& ${componentCls}-tab${componentCls}-tab-focus ${componentCls}-tab-btn:focus-visible`]: {\n outline: 'none'\n },\n [`${componentCls}-ink-bar`]: {\n visibility: 'hidden'\n }\n },\n // ========================== Top & Bottom ==========================\n [`&${componentCls}-top, &${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginLeft: {\n _skip_check_: true,\n value: unit(cardGutter)\n }\n }\n }\n },\n [`&${componentCls}-top`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: `${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)} 0 0`\n },\n [`${componentCls}-tab-active`]: {\n borderBottomColor: token.colorBgContainer\n }\n }\n },\n [`&${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: `0 0 ${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)}`\n },\n [`${componentCls}-tab-active`]: {\n borderTopColor: token.colorBgContainer\n }\n }\n },\n // ========================== Left & Right ==========================\n [`&${componentCls}-left, &${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginTop: unit(cardGutter)\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `${unit(token.borderRadiusLG)} 0 0 ${unit(token.borderRadiusLG)}`\n }\n },\n [`${componentCls}-tab-active`]: {\n borderRightColor: {\n _skip_check_: true,\n value: token.colorBgContainer\n }\n }\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `0 ${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)} 0`\n }\n },\n [`${componentCls}-tab-active`]: {\n borderLeftColor: {\n _skip_check_: true,\n value: token.colorBgContainer\n }\n }\n }\n }\n }\n };\n};\nconst genDropdownStyle = token => {\n const {\n componentCls,\n itemHoverColor,\n dropdownEdgeChildVerticalPadding\n } = token;\n return {\n [`${componentCls}-dropdown`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: token.zIndexPopup,\n display: 'block',\n '&-hidden': {\n display: 'none'\n },\n [`${componentCls}-dropdown-menu`]: {\n maxHeight: token.tabsDropdownHeight,\n margin: 0,\n padding: `${unit(dropdownEdgeChildVerticalPadding)} 0`,\n overflowX: 'hidden',\n overflowY: 'auto',\n textAlign: {\n _skip_check_: true,\n value: 'left'\n },\n listStyleType: 'none',\n backgroundColor: token.colorBgContainer,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary,\n '&-item': Object.assign(Object.assign({}, textEllipsis), {\n display: 'flex',\n alignItems: 'center',\n minWidth: token.tabsDropdownWidth,\n margin: 0,\n padding: `${unit(token.paddingXXS)} ${unit(token.paddingSM)}`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '> span': {\n flex: 1,\n whiteSpace: 'nowrap'\n },\n '&-remove': {\n flex: 'none',\n marginLeft: {\n _skip_check_: true,\n value: token.marginSM\n },\n color: token.colorIcon,\n fontSize: token.fontSizeSM,\n background: 'transparent',\n border: 0,\n cursor: 'pointer',\n '&:hover': {\n color: itemHoverColor\n }\n },\n '&:hover': {\n background: token.controlItemBgHover\n },\n '&-disabled': {\n '&, &:hover': {\n color: token.colorTextDisabled,\n background: 'transparent',\n cursor: 'not-allowed'\n }\n }\n })\n }\n })\n };\n};\nconst genPositionStyle = token => {\n const {\n componentCls,\n margin,\n colorBorderSecondary,\n horizontalMargin,\n verticalItemPadding,\n verticalItemMargin,\n calc\n } = token;\n return {\n // ========================== Top & Bottom ==========================\n [`${componentCls}-top, ${componentCls}-bottom`]: {\n flexDirection: 'column',\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n margin: horizontalMargin,\n '&::before': {\n position: 'absolute',\n right: {\n _skip_check_: true,\n value: 0\n },\n left: {\n _skip_check_: true,\n value: 0\n },\n borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${colorBorderSecondary}`,\n content: \"''\"\n },\n [`${componentCls}-ink-bar`]: {\n height: token.lineWidthBold,\n '&-animated': {\n transition: `width ${token.motionDurationSlow}, left ${token.motionDurationSlow},\n right ${token.motionDurationSlow}`\n }\n },\n [`${componentCls}-nav-wrap`]: {\n '&::before, &::after': {\n top: 0,\n bottom: 0,\n width: token.controlHeight\n },\n '&::before': {\n left: {\n _skip_check_: true,\n value: 0\n },\n boxShadow: token.boxShadowTabsOverflowLeft\n },\n '&::after': {\n right: {\n _skip_check_: true,\n value: 0\n },\n boxShadow: token.boxShadowTabsOverflowRight\n },\n [`&${componentCls}-nav-wrap-ping-left::before`]: {\n opacity: 1\n },\n [`&${componentCls}-nav-wrap-ping-right::after`]: {\n opacity: 1\n }\n }\n }\n },\n [`${componentCls}-top`]: {\n [`> ${componentCls}-nav,\n > div > ${componentCls}-nav`]: {\n '&::before': {\n bottom: 0\n },\n [`${componentCls}-ink-bar`]: {\n bottom: 0\n }\n }\n },\n [`${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n order: 1,\n marginTop: margin,\n marginBottom: 0,\n '&::before': {\n top: 0\n },\n [`${componentCls}-ink-bar`]: {\n top: 0\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n order: 0\n }\n },\n // ========================== Left & Right ==========================\n [`${componentCls}-left, ${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n flexDirection: 'column',\n minWidth: calc(token.controlHeight).mul(1.25).equal(),\n // >>>>>>>>>>> Tab\n [`${componentCls}-tab`]: {\n padding: verticalItemPadding,\n textAlign: 'center'\n },\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n margin: verticalItemMargin\n },\n // >>>>>>>>>>> Nav\n [`${componentCls}-nav-wrap`]: {\n flexDirection: 'column',\n '&::before, &::after': {\n right: {\n _skip_check_: true,\n value: 0\n },\n left: {\n _skip_check_: true,\n value: 0\n },\n height: token.controlHeight\n },\n '&::before': {\n top: 0,\n boxShadow: token.boxShadowTabsOverflowTop\n },\n '&::after': {\n bottom: 0,\n boxShadow: token.boxShadowTabsOverflowBottom\n },\n [`&${componentCls}-nav-wrap-ping-top::before`]: {\n opacity: 1\n },\n [`&${componentCls}-nav-wrap-ping-bottom::after`]: {\n opacity: 1\n }\n },\n // >>>>>>>>>>> Ink Bar\n [`${componentCls}-ink-bar`]: {\n width: token.lineWidthBold,\n '&-animated': {\n transition: `height ${token.motionDurationSlow}, top ${token.motionDurationSlow}`\n }\n },\n [`${componentCls}-nav-list, ${componentCls}-nav-operations`]: {\n flex: '1 0 auto',\n // fix safari scroll problem\n flexDirection: 'column'\n }\n }\n },\n [`${componentCls}-left`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-ink-bar`]: {\n right: {\n _skip_check_: true,\n value: 0\n }\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n marginLeft: {\n _skip_check_: true,\n value: unit(calc(token.lineWidth).mul(-1).equal())\n },\n borderLeft: {\n _skip_check_: true,\n value: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`\n },\n [`> ${componentCls}-content > ${componentCls}-tabpane`]: {\n paddingLeft: {\n _skip_check_: true,\n value: token.paddingLG\n }\n }\n }\n },\n [`${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n order: 1,\n [`${componentCls}-ink-bar`]: {\n left: {\n _skip_check_: true,\n value: 0\n }\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n order: 0,\n marginRight: {\n _skip_check_: true,\n value: calc(token.lineWidth).mul(-1).equal()\n },\n borderRight: {\n _skip_check_: true,\n value: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`\n },\n [`> ${componentCls}-content > ${componentCls}-tabpane`]: {\n paddingRight: {\n _skip_check_: true,\n value: token.paddingLG\n }\n }\n }\n }\n };\n};\nconst genSizeStyle = token => {\n const {\n componentCls,\n cardPaddingSM,\n cardPaddingLG,\n cardHeightSM,\n cardHeightLG,\n horizontalItemPaddingSM,\n horizontalItemPaddingLG\n } = token;\n return {\n // >>>>> shared\n [componentCls]: {\n '&-small': {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: horizontalItemPaddingSM,\n fontSize: token.titleFontSizeSM\n }\n }\n },\n '&-large': {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: horizontalItemPaddingLG,\n fontSize: token.titleFontSizeLG,\n lineHeight: token.lineHeightLG\n }\n }\n }\n },\n // >>>>> card\n [`${componentCls}-card`]: {\n // Small\n [`&${componentCls}-small`]: {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: cardPaddingSM\n },\n [`${componentCls}-nav-add`]: {\n minWidth: cardHeightSM,\n minHeight: cardHeightSM\n }\n },\n [`&${componentCls}-bottom`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: `0 0 ${unit(token.borderRadius)} ${unit(token.borderRadius)}`\n }\n },\n [`&${componentCls}-top`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: `${unit(token.borderRadius)} ${unit(token.borderRadius)} 0 0`\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `0 ${unit(token.borderRadius)} ${unit(token.borderRadius)} 0`\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `${unit(token.borderRadius)} 0 0 ${unit(token.borderRadius)}`\n }\n }\n }\n },\n // Large\n [`&${componentCls}-large`]: {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: cardPaddingLG\n },\n [`${componentCls}-nav-add`]: {\n minWidth: cardHeightLG,\n minHeight: cardHeightLG\n }\n }\n }\n }\n };\n};\nconst genTabStyle = token => {\n const {\n componentCls,\n itemActiveColor,\n itemHoverColor,\n iconCls,\n tabsHorizontalItemMargin,\n horizontalItemPadding,\n itemSelectedColor,\n itemColor\n } = token;\n const tabCls = `${componentCls}-tab`;\n return {\n [tabCls]: {\n position: 'relative',\n WebkitTouchCallout: 'none',\n WebkitTapHighlightColor: 'transparent',\n display: 'inline-flex',\n alignItems: 'center',\n padding: horizontalItemPadding,\n fontSize: token.titleFontSize,\n background: 'transparent',\n border: 0,\n outline: 'none',\n cursor: 'pointer',\n color: itemColor,\n '&-btn, &-remove': {\n '&:focus:not(:focus-visible), &:active': {\n color: itemActiveColor\n }\n },\n '&-btn': {\n outline: 'none',\n transition: `all ${token.motionDurationSlow}`,\n [`${tabCls}-icon:not(:last-child)`]: {\n marginInlineEnd: token.marginSM\n }\n },\n '&-remove': Object.assign({\n flex: 'none',\n lineHeight: 1,\n marginRight: {\n _skip_check_: true,\n value: token.calc(token.marginXXS).mul(-1).equal()\n },\n marginLeft: {\n _skip_check_: true,\n value: token.marginXS\n },\n color: token.colorIcon,\n fontSize: token.fontSizeSM,\n background: 'transparent',\n border: 'none',\n outline: 'none',\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '&:hover': {\n color: token.colorTextHeading\n }\n }, genFocusStyle(token)),\n '&:hover': {\n color: itemHoverColor\n },\n [`&${tabCls}-active ${tabCls}-btn`]: {\n color: itemSelectedColor,\n textShadow: token.tabsActiveTextShadow\n },\n [`&${tabCls}-focus ${tabCls}-btn:focus-visible`]: genFocusOutline(token),\n [`&${tabCls}-disabled`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n },\n [`&${tabCls}-disabled ${tabCls}-btn, &${tabCls}-disabled ${componentCls}-remove`]: {\n '&:focus, &:active': {\n color: token.colorTextDisabled\n }\n },\n [`& ${tabCls}-remove ${iconCls}`]: {\n margin: 0,\n verticalAlign: 'middle'\n },\n [`${iconCls}:not(:last-child)`]: {\n marginRight: {\n _skip_check_: true,\n value: token.marginSM\n }\n }\n },\n [`${tabCls} + ${tabCls}`]: {\n margin: {\n _skip_check_: true,\n value: tabsHorizontalItemMargin\n }\n }\n };\n};\nconst genRtlStyle = token => {\n const {\n componentCls,\n tabsHorizontalItemMarginRTL,\n iconCls,\n cardGutter,\n calc\n } = token;\n const rtlCls = `${componentCls}-rtl`;\n return {\n [rtlCls]: {\n direction: 'rtl',\n [`${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n margin: {\n _skip_check_: true,\n value: tabsHorizontalItemMarginRTL\n },\n [`${componentCls}-tab:last-of-type`]: {\n marginLeft: {\n _skip_check_: true,\n value: 0\n }\n },\n [iconCls]: {\n marginRight: {\n _skip_check_: true,\n value: 0\n },\n marginLeft: {\n _skip_check_: true,\n value: unit(token.marginSM)\n }\n },\n [`${componentCls}-tab-remove`]: {\n marginRight: {\n _skip_check_: true,\n value: unit(token.marginXS)\n },\n marginLeft: {\n _skip_check_: true,\n value: unit(calc(token.marginXXS).mul(-1).equal())\n },\n [iconCls]: {\n margin: 0\n }\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav`]: {\n order: 1\n },\n [`> ${componentCls}-content-holder`]: {\n order: 0\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav`]: {\n order: 0\n },\n [`> ${componentCls}-content-holder`]: {\n order: 1\n }\n },\n // ====================== Card ======================\n [`&${componentCls}-card${componentCls}-top, &${componentCls}-card${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginRight: {\n _skip_check_: true,\n value: cardGutter\n },\n marginLeft: {\n _skip_check_: true,\n value: 0\n }\n }\n }\n }\n },\n [`${componentCls}-dropdown-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-menu-item`]: {\n [`${componentCls}-dropdown-rtl`]: {\n textAlign: {\n _skip_check_: true,\n value: 'right'\n }\n }\n }\n };\n};\nconst genTabsStyle = token => {\n const {\n componentCls,\n tabsCardPadding,\n cardHeight,\n cardGutter,\n itemHoverColor,\n itemActiveColor,\n colorBorderSecondary\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'flex',\n // ========================== Navigation ==========================\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n position: 'relative',\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n [`${componentCls}-nav-wrap`]: {\n position: 'relative',\n display: 'flex',\n flex: 'auto',\n alignSelf: 'stretch',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n transform: 'translate(0)',\n // Fix chrome render bug\n // >>>>> Ping shadow\n '&::before, &::after': {\n position: 'absolute',\n zIndex: 1,\n opacity: 0,\n transition: `opacity ${token.motionDurationSlow}`,\n content: \"''\",\n pointerEvents: 'none'\n }\n },\n [`${componentCls}-nav-list`]: {\n position: 'relative',\n display: 'flex',\n transition: `opacity ${token.motionDurationSlow}`\n },\n // >>>>>>>> Operations\n [`${componentCls}-nav-operations`]: {\n display: 'flex',\n alignSelf: 'stretch'\n },\n [`${componentCls}-nav-operations-hidden`]: {\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none'\n },\n [`${componentCls}-nav-more`]: {\n position: 'relative',\n padding: tabsCardPadding,\n background: 'transparent',\n border: 0,\n color: token.colorText,\n '&::after': {\n position: 'absolute',\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: 0,\n left: {\n _skip_check_: true,\n value: 0\n },\n height: token.calc(token.controlHeightLG).div(8).equal(),\n transform: 'translateY(100%)',\n content: \"''\"\n }\n },\n [`${componentCls}-nav-add`]: Object.assign({\n minWidth: cardHeight,\n minHeight: cardHeight,\n marginLeft: {\n _skip_check_: true,\n value: cardGutter\n },\n background: 'transparent',\n border: `${unit(token.lineWidth)} ${token.lineType} ${colorBorderSecondary}`,\n borderRadius: `${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)} 0 0`,\n outline: 'none',\n cursor: 'pointer',\n color: token.colorText,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOut}`,\n '&:hover': {\n color: itemHoverColor\n },\n '&:active, &:focus:not(:focus-visible)': {\n color: itemActiveColor\n }\n }, genFocusStyle(token, -3))\n },\n [`${componentCls}-extra-content`]: {\n flex: 'none'\n },\n // ============================ InkBar ============================\n [`${componentCls}-ink-bar`]: {\n position: 'absolute',\n background: token.inkBarColor,\n pointerEvents: 'none'\n }\n }), genTabStyle(token)), {\n // =========================== TabPanes ===========================\n [`${componentCls}-content`]: {\n position: 'relative',\n width: '100%'\n },\n [`${componentCls}-content-holder`]: {\n flex: 'auto',\n minWidth: 0,\n minHeight: 0\n },\n [`${componentCls}-tabpane`]: Object.assign(Object.assign({}, genFocusStyle(token)), {\n '&-hidden': {\n display: 'none'\n }\n })\n }),\n [`${componentCls}-centered`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-nav-wrap`]: {\n [`&:not([class*='${componentCls}-nav-wrap-ping']) > ${componentCls}-nav-list`]: {\n margin: 'auto'\n }\n }\n }\n }\n };\n};\nexport const prepareComponentToken = token => {\n const {\n cardHeight,\n cardHeightSM,\n cardHeightLG,\n controlHeight,\n controlHeightLG\n } = token;\n const mergedCardHeight = cardHeight || controlHeightLG;\n const mergedCardHeightSM = cardHeightSM || controlHeight;\n // `controlHeight` missing XL variable, so we directly write it here:\n const mergedCardHeightLG = cardHeightLG || controlHeightLG + 8;\n return {\n zIndexPopup: token.zIndexPopupBase + 50,\n cardBg: token.colorFillAlter,\n // We can not pass this as valid value,\n // Since `cardHeight` will lock nav add button height.\n cardHeight: mergedCardHeight,\n cardHeightSM: mergedCardHeightSM,\n cardHeightLG: mergedCardHeightLG,\n // Initialize with empty string, because cardPadding will be calculated with cardHeight by default.\n cardPadding: `${(mergedCardHeight - token.fontHeight) / 2 - token.lineWidth}px ${token.padding}px`,\n cardPaddingSM: `${(mergedCardHeightSM - token.fontHeight) / 2 - token.lineWidth}px ${token.paddingXS}px`,\n cardPaddingLG: `${(mergedCardHeightLG - token.fontHeightLG) / 2 - token.lineWidth}px ${token.padding}px`,\n titleFontSize: token.fontSize,\n titleFontSizeLG: token.fontSizeLG,\n titleFontSizeSM: token.fontSize,\n inkBarColor: token.colorPrimary,\n horizontalMargin: `0 0 ${token.margin}px 0`,\n horizontalItemGutter: 32,\n // Fixed Value\n // Initialize with empty string, because horizontalItemMargin will be calculated with horizontalItemGutter by default.\n horizontalItemMargin: ``,\n horizontalItemMarginRTL: ``,\n horizontalItemPadding: `${token.paddingSM}px 0`,\n horizontalItemPaddingSM: `${token.paddingXS}px 0`,\n horizontalItemPaddingLG: `${token.padding}px 0`,\n verticalItemPadding: `${token.paddingXS}px ${token.paddingLG}px`,\n verticalItemMargin: `${token.margin}px 0 0 0`,\n itemColor: token.colorText,\n itemSelectedColor: token.colorPrimary,\n itemHoverColor: token.colorPrimaryHover,\n itemActiveColor: token.colorPrimaryActive,\n cardGutter: token.marginXXS / 2\n };\n};\n// ============================== Export ==============================\nexport default genStyleHooks('Tabs', token => {\n const tabsToken = mergeToken(token, {\n // `cardPadding` is empty by default, so we could calculate with dynamic `cardHeight`\n tabsCardPadding: token.cardPadding,\n dropdownEdgeChildVerticalPadding: token.paddingXXS,\n tabsActiveTextShadow: '0 0 0.25px currentcolor',\n tabsDropdownHeight: 200,\n tabsDropdownWidth: 120,\n tabsHorizontalItemMargin: `0 0 0 ${unit(token.horizontalItemGutter)}`,\n tabsHorizontalItemMarginRTL: `0 0 0 ${unit(token.horizontalItemGutter)}`\n });\n return [genSizeStyle(tabsToken), genRtlStyle(tabsToken), genPositionStyle(tabsToken), genDropdownStyle(tabsToken), genCardStyle(tabsToken), genTabsStyle(tabsToken), genMotionStyle(tabsToken)];\n}, prepareComponentToken);","const TabPane = () => null;\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'DeprecatedTabPane';\n}\nexport default TabPane;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport PlusOutlined from \"@ant-design/icons/es/icons/PlusOutlined\";\nimport classNames from 'classnames';\nimport RcTabs from 'rc-tabs';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport useAnimateConfig from './hooks/useAnimateConfig';\nimport useLegacyItems from './hooks/useLegacyItems';\nimport useStyle from './style';\nimport TabPane from './TabPane';\nconst InternalTabs = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n const {\n type,\n className,\n rootClassName,\n size: customSize,\n onEdit,\n hideAdd,\n centered,\n addIcon,\n removeIcon,\n moreIcon,\n more,\n popupClassName,\n children,\n items,\n animated,\n style,\n indicatorSize,\n indicator,\n destroyInactiveTabPane,\n destroyOnHidden\n } = props,\n otherProps = __rest(props, [\"type\", \"className\", \"rootClassName\", \"size\", \"onEdit\", \"hideAdd\", \"centered\", \"addIcon\", \"removeIcon\", \"moreIcon\", \"more\", \"popupClassName\", \"children\", \"items\", \"animated\", \"style\", \"indicatorSize\", \"indicator\", \"destroyInactiveTabPane\", \"destroyOnHidden\"]);\n const {\n prefixCls: customizePrefixCls\n } = otherProps;\n const {\n direction,\n tabs,\n getPrefixCls,\n getPopupContainer\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('tabs', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const tabsRef = React.useRef(null);\n React.useImperativeHandle(ref, () => ({\n nativeElement: tabsRef.current\n }));\n let editable;\n if (type === 'editable-card') {\n editable = {\n onEdit: (editType, {\n key,\n event\n }) => {\n onEdit === null || onEdit === void 0 ? void 0 : onEdit(editType === 'add' ? event : key, editType);\n },\n removeIcon: (_a = removeIcon !== null && removeIcon !== void 0 ? removeIcon : tabs === null || tabs === void 0 ? void 0 : tabs.removeIcon) !== null && _a !== void 0 ? _a : /*#__PURE__*/React.createElement(CloseOutlined, null),\n addIcon: (addIcon !== null && addIcon !== void 0 ? addIcon : tabs === null || tabs === void 0 ? void 0 : tabs.addIcon) || /*#__PURE__*/React.createElement(PlusOutlined, null),\n showAdd: hideAdd !== true\n };\n }\n const rootPrefixCls = getPrefixCls();\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Tabs');\n process.env.NODE_ENV !== \"production\" ? warning(!('onPrevClick' in props) && !('onNextClick' in props), 'breaking', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(indicatorSize || (tabs === null || tabs === void 0 ? void 0 : tabs.indicatorSize)), 'deprecated', '`indicatorSize` has been deprecated. Please use `indicator={{ size: ... }}` instead.') : void 0;\n warning.deprecated(!('destroyInactiveTabPane' in props || (items === null || items === void 0 ? void 0 : items.some(item => 'destroyInactiveTabPane' in item))), 'destroyInactiveTabPane', 'destroyOnHidden');\n }\n const size = useSize(customSize);\n const mergedItems = useLegacyItems(items, children);\n const mergedAnimated = useAnimateConfig(prefixCls, animated);\n const mergedStyle = Object.assign(Object.assign({}, tabs === null || tabs === void 0 ? void 0 : tabs.style), style);\n const mergedIndicator = {\n align: (_b = indicator === null || indicator === void 0 ? void 0 : indicator.align) !== null && _b !== void 0 ? _b : (_c = tabs === null || tabs === void 0 ? void 0 : tabs.indicator) === null || _c === void 0 ? void 0 : _c.align,\n size: (_g = (_e = (_d = indicator === null || indicator === void 0 ? void 0 : indicator.size) !== null && _d !== void 0 ? _d : indicatorSize) !== null && _e !== void 0 ? _e : (_f = tabs === null || tabs === void 0 ? void 0 : tabs.indicator) === null || _f === void 0 ? void 0 : _f.size) !== null && _g !== void 0 ? _g : tabs === null || tabs === void 0 ? void 0 : tabs.indicatorSize\n };\n return wrapCSSVar(/*#__PURE__*/React.createElement(RcTabs, Object.assign({\n ref: tabsRef,\n direction: direction,\n getPopupContainer: getPopupContainer\n }, otherProps, {\n items: mergedItems,\n className: classNames({\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-card`]: ['card', 'editable-card'].includes(type),\n [`${prefixCls}-editable-card`]: type === 'editable-card',\n [`${prefixCls}-centered`]: centered\n }, tabs === null || tabs === void 0 ? void 0 : tabs.className, className, rootClassName, hashId, cssVarCls, rootCls),\n popupClassName: classNames(popupClassName, hashId, cssVarCls, rootCls),\n style: mergedStyle,\n editable: editable,\n more: Object.assign({\n icon: (_l = (_k = (_j = (_h = tabs === null || tabs === void 0 ? void 0 : tabs.more) === null || _h === void 0 ? void 0 : _h.icon) !== null && _j !== void 0 ? _j : tabs === null || tabs === void 0 ? void 0 : tabs.moreIcon) !== null && _k !== void 0 ? _k : moreIcon) !== null && _l !== void 0 ? _l : /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n transitionName: `${rootPrefixCls}-slide-up`\n }, more),\n prefixCls: prefixCls,\n animated: mergedAnimated,\n indicator: mergedIndicator,\n // TODO: In the future, destroyInactiveTabPane in rc-tabs needs to be upgrade to destroyOnHidden\n destroyInactiveTabPane: destroyOnHidden !== null && destroyOnHidden !== void 0 ? destroyOnHidden : destroyInactiveTabPane\n })));\n});\nconst Tabs = InternalTabs;\nTabs.TabPane = TabPane;\nif (process.env.NODE_ENV !== 'production') {\n Tabs.displayName = 'Tabs';\n}\nexport default Tabs;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nconst Grid = _a => {\n var {\n prefixCls,\n className,\n hoverable = true\n } = _a,\n props = __rest(_a, [\"prefixCls\", \"className\", \"hoverable\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefix = getPrefixCls('card', prefixCls);\n const classString = classNames(`${prefix}-grid`, className, {\n [`${prefix}-grid-hoverable`]: hoverable\n });\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, props, {\n className: classString\n }));\n};\nexport default Grid;","import { unit } from '@ant-design/cssinjs';\nimport { clearFix, resetComponent, textEllipsis } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\n// ============================== Head ==============================\nconst genCardHeadStyle = token => {\n const {\n antCls,\n componentCls,\n headerHeight,\n headerPadding,\n tabsMarginBottom\n } = token;\n return Object.assign(Object.assign({\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n minHeight: headerHeight,\n marginBottom: -1,\n padding: `0 ${unit(headerPadding)}`,\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.headerFontSize,\n background: token.headerBg,\n borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorderSecondary}`,\n borderRadius: `${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)} 0 0`\n }, clearFix()), {\n '&-wrapper': {\n width: '100%',\n display: 'flex',\n alignItems: 'center'\n },\n '&-title': Object.assign(Object.assign({\n display: 'inline-block',\n flex: 1\n }, textEllipsis), {\n [`\n > ${componentCls}-typography,\n > ${componentCls}-typography-edit-content\n `]: {\n insetInlineStart: 0,\n marginTop: 0,\n marginBottom: 0\n }\n }),\n [`${antCls}-tabs-top`]: {\n clear: 'both',\n marginBottom: tabsMarginBottom,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n '&-bar': {\n borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorderSecondary}`\n }\n }\n });\n};\n// ============================== Grid ==============================\nconst genCardGridStyle = token => {\n const {\n cardPaddingBase,\n colorBorderSecondary,\n cardShadow,\n lineWidth\n } = token;\n return {\n width: '33.33%',\n padding: cardPaddingBase,\n border: 0,\n borderRadius: 0,\n boxShadow: `\n ${unit(lineWidth)} 0 0 0 ${colorBorderSecondary},\n 0 ${unit(lineWidth)} 0 0 ${colorBorderSecondary},\n ${unit(lineWidth)} ${unit(lineWidth)} 0 0 ${colorBorderSecondary},\n ${unit(lineWidth)} 0 0 0 ${colorBorderSecondary} inset,\n 0 ${unit(lineWidth)} 0 0 ${colorBorderSecondary} inset;\n `,\n transition: `all ${token.motionDurationMid}`,\n '&-hoverable:hover': {\n position: 'relative',\n zIndex: 1,\n boxShadow: cardShadow\n }\n };\n};\n// ============================== Actions ==============================\nconst genCardActionsStyle = token => {\n const {\n componentCls,\n iconCls,\n actionsLiMargin,\n cardActionsIconSize,\n colorBorderSecondary,\n actionsBg\n } = token;\n return Object.assign(Object.assign({\n margin: 0,\n padding: 0,\n listStyle: 'none',\n background: actionsBg,\n borderTop: `${unit(token.lineWidth)} ${token.lineType} ${colorBorderSecondary}`,\n display: 'flex',\n borderRadius: `0 0 ${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)}`\n }, clearFix()), {\n '& > li': {\n margin: actionsLiMargin,\n color: token.colorTextDescription,\n textAlign: 'center',\n '> span': {\n position: 'relative',\n display: 'block',\n minWidth: token.calc(token.cardActionsIconSize).mul(2).equal(),\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n '&:hover': {\n color: token.colorPrimary,\n transition: `color ${token.motionDurationMid}`\n },\n [`a:not(${componentCls}-btn), > ${iconCls}`]: {\n display: 'inline-block',\n width: '100%',\n color: token.colorIcon,\n lineHeight: unit(token.fontHeight),\n transition: `color ${token.motionDurationMid}`,\n '&:hover': {\n color: token.colorPrimary\n }\n },\n [`> ${iconCls}`]: {\n fontSize: cardActionsIconSize,\n lineHeight: unit(token.calc(cardActionsIconSize).mul(token.lineHeight).equal())\n }\n },\n '&:not(:last-child)': {\n borderInlineEnd: `${unit(token.lineWidth)} ${token.lineType} ${colorBorderSecondary}`\n }\n }\n });\n};\n// ============================== Meta ==============================\nconst genCardMetaStyle = token => Object.assign(Object.assign({\n margin: `${unit(token.calc(token.marginXXS).mul(-1).equal())} 0`,\n display: 'flex'\n}, clearFix()), {\n '&-avatar': {\n paddingInlineEnd: token.padding\n },\n '&-detail': {\n overflow: 'hidden',\n flex: 1,\n '> div:not(:last-child)': {\n marginBottom: token.marginXS\n }\n },\n '&-title': Object.assign({\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.fontSizeLG\n }, textEllipsis),\n '&-description': {\n color: token.colorTextDescription\n }\n});\n// ============================== Inner ==============================\nconst genCardTypeInnerStyle = token => {\n const {\n componentCls,\n colorFillAlter,\n headerPadding,\n bodyPadding\n } = token;\n return {\n [`${componentCls}-head`]: {\n padding: `0 ${unit(headerPadding)}`,\n background: colorFillAlter,\n '&-title': {\n fontSize: token.fontSize\n }\n },\n [`${componentCls}-body`]: {\n padding: `${unit(token.padding)} ${unit(bodyPadding)}`\n }\n };\n};\n// ============================== Loading ==============================\nconst genCardLoadingStyle = token => {\n const {\n componentCls\n } = token;\n return {\n overflow: 'hidden',\n [`${componentCls}-body`]: {\n userSelect: 'none'\n }\n };\n};\n// ============================== Basic ==============================\nconst genCardStyle = token => {\n const {\n componentCls,\n cardShadow,\n cardHeadPadding,\n colorBorderSecondary,\n boxShadowTertiary,\n bodyPadding,\n extraColor\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n background: token.colorBgContainer,\n borderRadius: token.borderRadiusLG,\n [`&:not(${componentCls}-bordered)`]: {\n boxShadow: boxShadowTertiary\n },\n [`${componentCls}-head`]: genCardHeadStyle(token),\n [`${componentCls}-extra`]: {\n // https://stackoverflow.com/a/22429853/3040605\n marginInlineStart: 'auto',\n color: extraColor,\n fontWeight: 'normal',\n fontSize: token.fontSize\n },\n [`${componentCls}-body`]: {\n padding: bodyPadding,\n borderRadius: `0 0 ${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)}`\n },\n [`${componentCls}-grid`]: genCardGridStyle(token),\n [`${componentCls}-cover`]: {\n '> *': {\n display: 'block',\n width: '100%',\n borderRadius: `${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)} 0 0`\n }\n },\n [`${componentCls}-actions`]: genCardActionsStyle(token),\n [`${componentCls}-meta`]: genCardMetaStyle(token)\n }),\n [`${componentCls}-bordered`]: {\n border: `${unit(token.lineWidth)} ${token.lineType} ${colorBorderSecondary}`,\n [`${componentCls}-cover`]: {\n marginTop: -1,\n marginInlineStart: -1,\n marginInlineEnd: -1\n }\n },\n [`${componentCls}-hoverable`]: {\n cursor: 'pointer',\n transition: `box-shadow ${token.motionDurationMid}, border-color ${token.motionDurationMid}`,\n '&:hover': {\n borderColor: 'transparent',\n boxShadow: cardShadow\n }\n },\n [`${componentCls}-contain-grid`]: {\n borderRadius: `${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)} 0 0 `,\n [`${componentCls}-body`]: {\n display: 'flex',\n flexWrap: 'wrap'\n },\n [`&:not(${componentCls}-loading) ${componentCls}-body`]: {\n marginBlockStart: token.calc(token.lineWidth).mul(-1).equal(),\n marginInlineStart: token.calc(token.lineWidth).mul(-1).equal(),\n padding: 0\n }\n },\n [`${componentCls}-contain-tabs`]: {\n [`> div${componentCls}-head`]: {\n minHeight: 0,\n [`${componentCls}-head-title, ${componentCls}-extra`]: {\n paddingTop: cardHeadPadding\n }\n }\n },\n [`${componentCls}-type-inner`]: genCardTypeInnerStyle(token),\n [`${componentCls}-loading`]: genCardLoadingStyle(token),\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n }\n };\n};\n// ============================== Size ==============================\nconst genCardSizeStyle = token => {\n const {\n componentCls,\n bodyPaddingSM,\n headerPaddingSM,\n headerHeightSM,\n headerFontSizeSM\n } = token;\n return {\n [`${componentCls}-small`]: {\n [`> ${componentCls}-head`]: {\n minHeight: headerHeightSM,\n padding: `0 ${unit(headerPaddingSM)}`,\n fontSize: headerFontSizeSM,\n [`> ${componentCls}-head-wrapper`]: {\n [`> ${componentCls}-extra`]: {\n fontSize: token.fontSize\n }\n }\n },\n [`> ${componentCls}-body`]: {\n padding: bodyPaddingSM\n }\n },\n [`${componentCls}-small${componentCls}-contain-tabs`]: {\n [`> ${componentCls}-head`]: {\n [`${componentCls}-head-title, ${componentCls}-extra`]: {\n paddingTop: 0,\n display: 'flex',\n alignItems: 'center'\n }\n }\n }\n };\n};\nexport const prepareComponentToken = token => {\n var _a, _b;\n return {\n headerBg: 'transparent',\n headerFontSize: token.fontSizeLG,\n headerFontSizeSM: token.fontSize,\n headerHeight: token.fontSizeLG * token.lineHeightLG + token.padding * 2,\n headerHeightSM: token.fontSize * token.lineHeight + token.paddingXS * 2,\n actionsBg: token.colorBgContainer,\n actionsLiMargin: `${token.paddingSM}px 0`,\n tabsMarginBottom: -token.padding - token.lineWidth,\n extraColor: token.colorText,\n bodyPaddingSM: 12,\n // Fixed padding.\n headerPaddingSM: 12,\n bodyPadding: (_a = token.bodyPadding) !== null && _a !== void 0 ? _a : token.paddingLG,\n headerPadding: (_b = token.headerPadding) !== null && _b !== void 0 ? _b : token.paddingLG\n };\n};\n// ============================== Export ==============================\nexport default genStyleHooks('Card', token => {\n const cardToken = mergeToken(token, {\n cardShadow: token.boxShadowCard,\n cardHeadPadding: token.padding,\n cardPaddingBase: token.paddingLG,\n cardActionsIconSize: token.fontSize\n });\n return [\n // Style\n genCardStyle(cardToken),\n // Size\n genCardSizeStyle(cardToken)];\n}, prepareComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport Skeleton from '../skeleton';\nimport Tabs from '../tabs';\nimport Grid from './Grid';\nimport useStyle from './style';\nimport useVariant from '../form/hooks/useVariants';\nconst ActionNode = props => {\n const {\n actionClasses,\n actions = [],\n actionStyle\n } = props;\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: actionClasses,\n style: actionStyle\n }, actions.map((action, index) => {\n // Move this out since eslint not allow index key\n // And eslint-disable makes conflict with rollup\n // ref https://github.com/ant-design/ant-design/issues/46022\n const key = `action-${index}`;\n return /*#__PURE__*/React.createElement(\"li\", {\n style: {\n width: `${100 / actions.length}%`\n },\n key: key\n }, /*#__PURE__*/React.createElement(\"span\", null, action));\n }));\n};\nconst Card = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n extra,\n headStyle = {},\n bodyStyle = {},\n title,\n loading,\n bordered,\n variant: customVariant,\n size: customizeSize,\n type,\n cover,\n actions,\n tabList,\n children,\n activeTabKey,\n defaultActiveTabKey,\n tabBarExtraContent,\n hoverable,\n tabProps = {},\n classNames: customClassNames,\n styles: customStyles\n } = props,\n others = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"style\", \"extra\", \"headStyle\", \"bodyStyle\", \"title\", \"loading\", \"bordered\", \"variant\", \"size\", \"type\", \"cover\", \"actions\", \"tabList\", \"children\", \"activeTabKey\", \"defaultActiveTabKey\", \"tabBarExtraContent\", \"hoverable\", \"tabProps\", \"classNames\", \"styles\"]);\n const {\n getPrefixCls,\n direction,\n card\n } = React.useContext(ConfigContext);\n const [variant] = useVariant('card', customVariant, bordered);\n // =================Warning===================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Card');\n [['headStyle', 'styles.header'], ['bodyStyle', 'styles.body'], ['bordered', 'variant']].forEach(([deprecatedName, newName]) => {\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n }\n const onTabChange = key => {\n var _a;\n (_a = props.onTabChange) === null || _a === void 0 ? void 0 : _a.call(props, key);\n };\n const moduleClass = moduleName => {\n var _a;\n return classNames((_a = card === null || card === void 0 ? void 0 : card.classNames) === null || _a === void 0 ? void 0 : _a[moduleName], customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames[moduleName]);\n };\n const moduleStyle = moduleName => {\n var _a;\n return Object.assign(Object.assign({}, (_a = card === null || card === void 0 ? void 0 : card.styles) === null || _a === void 0 ? void 0 : _a[moduleName]), customStyles === null || customStyles === void 0 ? void 0 : customStyles[moduleName]);\n };\n const isContainGrid = React.useMemo(() => {\n let containGrid = false;\n React.Children.forEach(children, element => {\n if ((element === null || element === void 0 ? void 0 : element.type) === Grid) {\n containGrid = true;\n }\n });\n return containGrid;\n }, [children]);\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const loadingBlock = /*#__PURE__*/React.createElement(Skeleton, {\n loading: true,\n active: true,\n paragraph: {\n rows: 4\n },\n title: false\n }, children);\n const hasActiveTabKey = activeTabKey !== undefined;\n const extraProps = Object.assign(Object.assign({}, tabProps), {\n [hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey ? activeTabKey : defaultActiveTabKey,\n tabBarExtraContent\n });\n let head;\n const mergedSize = useSize(customizeSize);\n const tabSize = !mergedSize || mergedSize === 'default' ? 'large' : mergedSize;\n const tabs = tabList ? (/*#__PURE__*/React.createElement(Tabs, Object.assign({\n size: tabSize\n }, extraProps, {\n className: `${prefixCls}-head-tabs`,\n onChange: onTabChange,\n items: tabList.map(_a => {\n var {\n tab\n } = _a,\n item = __rest(_a, [\"tab\"]);\n return Object.assign({\n label: tab\n }, item);\n })\n }))) : null;\n if (title || extra || tabs) {\n const headClasses = classNames(`${prefixCls}-head`, moduleClass('header'));\n const titleClasses = classNames(`${prefixCls}-head-title`, moduleClass('title'));\n const extraClasses = classNames(`${prefixCls}-extra`, moduleClass('extra'));\n const mergedHeadStyle = Object.assign(Object.assign({}, headStyle), moduleStyle('header'));\n head = /*#__PURE__*/React.createElement(\"div\", {\n className: headClasses,\n style: mergedHeadStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-head-wrapper`\n }, title && (/*#__PURE__*/React.createElement(\"div\", {\n className: titleClasses,\n style: moduleStyle('title')\n }, title)), extra && (/*#__PURE__*/React.createElement(\"div\", {\n className: extraClasses,\n style: moduleStyle('extra')\n }, extra))), tabs);\n }\n const coverClasses = classNames(`${prefixCls}-cover`, moduleClass('cover'));\n const coverDom = cover ? (/*#__PURE__*/React.createElement(\"div\", {\n className: coverClasses,\n style: moduleStyle('cover')\n }, cover)) : null;\n const bodyClasses = classNames(`${prefixCls}-body`, moduleClass('body'));\n const mergedBodyStyle = Object.assign(Object.assign({}, bodyStyle), moduleStyle('body'));\n const body = /*#__PURE__*/React.createElement(\"div\", {\n className: bodyClasses,\n style: mergedBodyStyle\n }, loading ? loadingBlock : children);\n const actionClasses = classNames(`${prefixCls}-actions`, moduleClass('actions'));\n const actionDom = (actions === null || actions === void 0 ? void 0 : actions.length) ? (/*#__PURE__*/React.createElement(ActionNode, {\n actionClasses: actionClasses,\n actionStyle: moduleStyle('actions'),\n actions: actions\n })) : null;\n const divProps = omit(others, ['onTabChange']);\n const classString = classNames(prefixCls, card === null || card === void 0 ? void 0 : card.className, {\n [`${prefixCls}-loading`]: loading,\n [`${prefixCls}-bordered`]: variant !== 'borderless',\n [`${prefixCls}-hoverable`]: hoverable,\n [`${prefixCls}-contain-grid`]: isContainGrid,\n [`${prefixCls}-contain-tabs`]: tabList === null || tabList === void 0 ? void 0 : tabList.length,\n [`${prefixCls}-${mergedSize}`]: mergedSize,\n [`${prefixCls}-type-${type}`]: !!type,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId, cssVarCls);\n const mergedStyle = Object.assign(Object.assign({}, card === null || card === void 0 ? void 0 : card.style), style);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref\n }, divProps, {\n className: classString,\n style: mergedStyle\n }), head, coverDom, body, actionDom));\n});\nexport default Card;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nconst Meta = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n avatar,\n title,\n description\n } = props,\n others = __rest(props, [\"prefixCls\", \"className\", \"avatar\", \"title\", \"description\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n const classString = classNames(`${prefixCls}-meta`, className);\n const avatarDom = avatar ? (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-avatar`\n }, avatar)) : null;\n const titleDom = title ? (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-title`\n }, title)) : null;\n const descriptionDom = description ? (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-description`\n }, description)) : null;\n const MetaDetail = titleDom || descriptionDom ? (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-meta-detail`\n }, titleDom, descriptionDom)) : null;\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classString\n }), avatarDom, MetaDetail);\n};\nexport default Meta;","\"use client\";\n\nimport InternalCard from './Card';\nimport Grid from './Grid';\nimport Meta from './Meta';\nconst Card = InternalCard;\nCard.Grid = Grid;\nCard.Meta = Meta;\nif (process.env.NODE_ENV !== 'production') {\n Card.displayName = 'Card';\n}\nexport default Card;","import { createContext } from 'react';\nconst RowContext = /*#__PURE__*/createContext({});\nexport default RowContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport RowContext from './RowContext';\nimport { useColStyle } from './style';\nfunction parseFlex(flex) {\n if (flex === 'auto') {\n return '1 1 auto';\n }\n if (typeof flex === 'number') {\n return `${flex} ${flex} auto`;\n }\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return `0 0 ${flex}`;\n }\n return flex;\n}\nconst sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nconst Col = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n gutter,\n wrap\n } = React.useContext(RowContext);\n const {\n prefixCls: customizePrefixCls,\n span,\n order,\n offset,\n push,\n pull,\n className,\n children,\n flex,\n style\n } = props,\n others = __rest(props, [\"prefixCls\", \"span\", \"order\", \"offset\", \"push\", \"pull\", \"className\", \"children\", \"flex\", \"style\"]);\n const prefixCls = getPrefixCls('col', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useColStyle(prefixCls);\n // ===================== Size ======================\n const sizeStyle = {};\n let sizeClassObj = {};\n sizes.forEach(size => {\n let sizeProps = {};\n const propSize = props[size];\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (typeof propSize === 'object') {\n sizeProps = propSize || {};\n }\n delete others[size];\n sizeClassObj = Object.assign(Object.assign({}, sizeClassObj), {\n [`${prefixCls}-${size}-${sizeProps.span}`]: sizeProps.span !== undefined,\n [`${prefixCls}-${size}-order-${sizeProps.order}`]: sizeProps.order || sizeProps.order === 0,\n [`${prefixCls}-${size}-offset-${sizeProps.offset}`]: sizeProps.offset || sizeProps.offset === 0,\n [`${prefixCls}-${size}-push-${sizeProps.push}`]: sizeProps.push || sizeProps.push === 0,\n [`${prefixCls}-${size}-pull-${sizeProps.pull}`]: sizeProps.pull || sizeProps.pull === 0,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n });\n // Responsive flex layout\n if (sizeProps.flex) {\n sizeClassObj[`${prefixCls}-${size}-flex`] = true;\n sizeStyle[`--${prefixCls}-${size}-flex`] = parseFlex(sizeProps.flex);\n }\n });\n // ==================== Normal =====================\n const classes = classNames(prefixCls, {\n [`${prefixCls}-${span}`]: span !== undefined,\n [`${prefixCls}-order-${order}`]: order,\n [`${prefixCls}-offset-${offset}`]: offset,\n [`${prefixCls}-push-${push}`]: push,\n [`${prefixCls}-pull-${pull}`]: pull\n }, className, sizeClassObj, hashId, cssVarCls);\n const mergedStyle = {};\n // Horizontal gutter use padding\n if (gutter === null || gutter === void 0 ? void 0 : gutter[0]) {\n const horizontalGutter = typeof gutter[0] === 'number' ? `${gutter[0] / 2}px` : `calc(${gutter[0]} / 2)`;\n mergedStyle.paddingLeft = horizontalGutter;\n mergedStyle.paddingRight = horizontalGutter;\n }\n if (flex) {\n mergedStyle.flex = parseFlex(flex);\n // Hack for Firefox to avoid size issue\n // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n if (wrap === false && !mergedStyle.minWidth) {\n mergedStyle.minWidth = 0;\n }\n }\n // ==================== Render =====================\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n style: Object.assign(Object.assign(Object.assign({}, mergedStyle), style), sizeStyle),\n className: classes,\n ref: ref\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Col.displayName = 'Col';\n}\nexport default Col;","import { responsiveArray } from '../../_util/responsiveObserver';\nexport default function useGutter(gutter, screens) {\n const results = [undefined, undefined];\n const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, undefined];\n // By default use as `xs`\n const mergedScreens = screens || {\n xs: true,\n sm: true,\n md: true,\n lg: true,\n xl: true,\n xxl: true\n };\n normalizedGutter.forEach((g, index) => {\n if (typeof g === 'object' && g !== null) {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (mergedScreens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g;\n }\n });\n return results;\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { responsiveArray } from '../_util/responsiveObserver';\nimport { ConfigContext } from '../config-provider';\nimport useBreakpoint from './hooks/useBreakpoint';\nimport useGutter from './hooks/useGutter';\nimport RowContext from './RowContext';\nimport { useRowStyle } from './style';\nconst _RowAligns = ['top', 'middle', 'bottom', 'stretch'];\nconst _RowJustify = ['start', 'end', 'center', 'space-around', 'space-between', 'space-evenly'];\nfunction useMergedPropByScreen(oriProp, screen) {\n const [prop, setProp] = React.useState(typeof oriProp === 'string' ? oriProp : '');\n const calcMergedAlignOrJustify = () => {\n if (typeof oriProp === 'string') {\n setProp(oriProp);\n }\n if (typeof oriProp !== 'object') {\n return;\n }\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n // if do not match, do nothing\n if (!screen || !screen[breakpoint]) {\n continue;\n }\n const curVal = oriProp[breakpoint];\n if (curVal !== undefined) {\n setProp(curVal);\n return;\n }\n }\n };\n React.useEffect(() => {\n calcMergedAlignOrJustify();\n }, [JSON.stringify(oriProp), screen]);\n return prop;\n}\nconst Row = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n justify,\n align,\n className,\n style,\n children,\n gutter = 0,\n wrap\n } = props,\n others = __rest(props, [\"prefixCls\", \"justify\", \"align\", \"className\", \"style\", \"children\", \"gutter\", \"wrap\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const screens = useBreakpoint(true, null);\n const mergedAlign = useMergedPropByScreen(align, screens);\n const mergedJustify = useMergedPropByScreen(justify, screens);\n const prefixCls = getPrefixCls('row', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useRowStyle(prefixCls);\n const gutters = useGutter(gutter, screens);\n const classes = classNames(prefixCls, {\n [`${prefixCls}-no-wrap`]: wrap === false,\n [`${prefixCls}-${mergedJustify}`]: mergedJustify,\n [`${prefixCls}-${mergedAlign}`]: mergedAlign,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId, cssVarCls);\n // Add gutter related style\n const rowStyle = {};\n if (gutters === null || gutters === void 0 ? void 0 : gutters[0]) {\n const horizontalGutter = typeof gutters[0] === 'number' ? `${gutters[0] / -2}px` : `calc(${gutters[0]} / -2)`;\n rowStyle.marginLeft = horizontalGutter;\n rowStyle.marginRight = horizontalGutter;\n }\n // \"gutters\" is a new array in each rendering phase, it'll make 'React.useMemo' effectless.\n // So we deconstruct \"gutters\" variable here.\n const [gutterH, gutterV] = gutters;\n rowStyle.rowGap = gutterV;\n const rowContext = React.useMemo(() => ({\n gutter: [gutterH, gutterV],\n wrap\n }), [gutterH, gutterV, wrap]);\n return wrapCSSVar(/*#__PURE__*/React.createElement(RowContext.Provider, {\n value: rowContext\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classes,\n style: Object.assign(Object.assign({}, rowStyle), style),\n ref: ref\n }), children)));\n});\nif (process.env.NODE_ENV !== 'production') {\n Row.displayName = 'Row';\n}\nexport default Row;"],"names":["useForceUpdate","React","ori","Element","props","prefixCls","className","style","size","shape","sizeCls","classNames","shapeCls","sizeStyle","React.useMemo","React.createElement","skeletonClsLoading","Keyframes","genSkeletonElementCommonSize","unit","genSkeletonElementAvatarSize","genSkeletonColor","token","genSkeletonElementInputSize","calc","genSkeletonElementAvatar","skeletonAvatarCls","gradientFromColor","controlHeight","controlHeightLG","controlHeightSM","genSkeletonElementInput","borderRadiusSM","skeletonInputCls","genSkeletonElementImageSize","genSkeletonElementImage","skeletonImageCls","imageSizeBase","genSkeletonElementButtonShape","buttonCls","skeletonButtonCls","genSkeletonElementButtonSize","genSkeletonElementButton","genBaseStyle","componentCls","skeletonTitleCls","skeletonParagraphCls","padding","marginSM","borderRadius","titleHeight","blockRadius","paragraphLiHeight","controlHeightXS","paragraphMarginTop","prepareComponentToken","colorFillContent","colorFill","gradientToColor","useStyle$2","genStyleHooks","skeletonToken","mergeToken","SkeletonAvatar","customizePrefixCls","rootClassName","active","getPrefixCls","React.useContext","ConfigContext","wrapCSSVar","hashId","cssVarCls","useStyle","otherProps","omit","cls","SkeletonButton","block","path","SkeletonImage","SkeletonInput","SkeletonNode","children","getWidth","index","width","rows","Paragraph","rowList","_","Title","getComponentProps","prop","getAvatarBasicProps","hasTitle","hasParagraph","getTitleBasicProps","hasAvatar","getParagraphBasicProps","basicProps","Skeleton","loading","avatar","title","paragraph","round","direction","contextClassName","contextStyle","useComponentConfig","avatarNode","avatarProps","contentNode","$title","titleProps","paragraphNode","paragraphProps","genGridRowStyle","genGridColStyle","genLoopGridColumnsStyle","gridColumns","gridColumnsStyle","i","genGridStyle","genGridMediaStyle","screenSize","prepareRowComponentToken","prepareColComponentToken","useRowStyle","getMediaSize","useColStyle","gridToken","gridMediaSizesMap","key","pre","cur","responsiveArray","getResponsiveMap","validateBreakpoints","indexableToken","revBreakpoints","breakpoint","breakpointUpper","screenMin","screen","screenMax","nextScreenMin","matchScreen","screens","screenSizes","useResponsiveObserver","useToken","responsiveMap","subscribers","subUid","pointMap","func","paramToken","mediaQuery","listener","matches","mql","addMediaQueryListener","handler","removeMediaQueryListener","useBreakpoint","refreshOnChange","defaultScreens","screensRef","useRef","forceUpdate","responsiveObserver","useLayoutEffect","supportScreens","ESC","KeyCode","TAB","useAccessibility","_ref","visible","triggerRef","onVisibleChange","autoFocus","overlayRef","focusMenuRef","React.useRef","handleCloseMenuAndReturnFocus","_triggerRef$current","_triggerRef$current$f","focusMenu","_overlayRef$current","handleKeyDown","event","focusResult","React.useEffect","raf","Overlay","forwardRef","ref","overlay","arrow","overlayNode","useMemo","overlayElement","composedRef","composeRef","getNodeRef","supportRef","autoAdjustOverflow","targetOffset","placements","_excluded","Dropdown","_children$props","_props$arrow","_props$prefixCls","transitionName","animation","align","_props$placement","placement","_props$placements","Placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","_props$trigger","trigger","_objectWithoutProperties","_React$useState","_React$useState2","_slicedToArray","triggerVisible","setTriggerVisible","mergedVisible","childRef","handleVisibleChange","newVisible","onClick","e","onOverlayClick","getMenuElement","getMenuElementOrLambda","getMinOverlayWidthMatchTrigger","minOverlayWidthMatchTrigger","alignPoint","getOpenClassName","openClassName","childrenNode","triggerHideAction","Trigger","_extends","_defineProperty","Dropdown$1","PlusOutlined","AntdIcon","PlusOutlinedSvg","RefIcon","React.forwardRef","TabContext","createContext","useIndicator","options","activeTabOffset","horizontal","rtl","_options$indicator","indicator","_indicator$align","_useState","useState","_useState2","inkStyle","setInkStyle","inkBarRafRef","getLength","origin","cleanInkBarRaf","useEffect","newInkStyle","isEqual","newValue","oldValue","DEFAULT_SIZE","useOffsets","tabs","tabSizes","holderScrollWidth","_tabs$","map","lastOffset","rightOffset","data","_tabs","entity","_objectSpread","tab","useSyncState","defaultState","onChange","stateRef","React.useState","setState","updater","MIN_SWIPE_DISTANCE","STOP_SWIPE_DISTANCE","REFRESH_INTERVAL","SPEED_OFF_MULTIPLE","useTouchMove","onOffset","touchPosition","setTouchPosition","_useState3","_useState4","lastTimestamp","setLastTimestamp","_useState5","_useState6","lastTimeDiff","setLastTimeDiff","_useState7","_useState8","setLastOffset","motionRef","onTouchStart","_e$touches$","screenX","screenY","onTouchMove","_e$touches$2","offsetX","offsetY","now","onTouchEnd","distanceX","distanceY","absX","absY","currentX","currentY","lastWheelDirectionRef","onWheel","deltaX","deltaY","mixed","touchEventsRef","onProxyTouchStart","onProxyTouchMove","onProxyTouchEnd","onProxyWheel","useUpdate","callback","count","setCount","effectRef","callbackRef","useLayoutUpdateEffect","_callbackRef$current","useUpdateState","batchRef","state","flushUpdate","current","useVisibleRange","tabOffsets","visibleTabContentValue","transform","tabContentSizeValue","addNodeSizeValue","operationNodeSizeValue","tabPosition","charUnit","position","transformSize","len","endIndex","offset","startIndex","_i","_offset","stringify","obj","tgt","v","k","RC_TABS_DOUBLE_QUOTE","genDataNodeKey","getRemovable","closable","closeIcon","editable","disabled","AddButton","locale","ExtraContent","extra","content","assertExtra","_typeof","React.isValidElement","OperationNode","id","mobile","_props$more","moreProps","tabBarGutter","removeAriaLabel","onTabClick","popupClassName","open","setOpen","selectedKey","setSelectedKey","_moreProps$icon","moreIcon","popupId","dropdownPrefix","selectedItemId","dropdownAriaLabel","onRemoveTab","menu","Menu","domEvent","label","removable","MenuItem","selectOffset","enabledTabs","selectedIndex","onKeyDown","which","ele","moreStyle","moreNode","OperationNode$1","React.memo","next","TabNode","focus","_props$tab","icon","renderWrapper","onFocus","onBlur","onMouseDown","onMouseUp","tabCount","currentPosition","tabPrefix","onInternalClick","labelNode","btnRef","node","getTabSize","containerRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","_tab$getBoundingClien","height","left","top","getSize","refObj","_ref$offsetWidth","_ref$offsetHeight","_refObj$current$getBo","getUnitValue","tabPositionTopOrBottom","TabNavList","animated","activeKey","onTabScroll","_React$useContext","containerRef","extraLeftRef","extraRightRef","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useSyncState","prev","_useSyncState2","transformLeft","setTransformLeft","_useSyncState3","_useSyncState4","transformTop","setTransformTop","containerExcludeExtraSize","setContainerExcludeExtraSize","tabContentSize","setTabContentSize","addSize","setAddSize","operationSize","setOperationSize","_useUpdateState","_useUpdateState2","setTabSizes","containerExcludeExtraSizeValue","addSizeValue","operationSizeValue","needScroll","operationsHiddenClassName","transformMin","transformMax","alignInRange","value","touchMovingRef","_useState9","_useState10","lockAnimation","setLockAnimation","doLockAnimation","clearTouchMoving","doMove","_useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","scrollToTab","useEvent","tabOffset","newTransform","_newTransform","_useState11","_useState12","focusKey","setFocusKey","_useState13","_useState14","isMouse","setIsMouse","currentIndex","nextIndex","newKey","handleRemoveTab","removalTabKey","removeIndex","removeTab","handleMouseDown","code","isRTL","firstEnabledTab","lastEnabledTab","tabNodeStyle","tabNodes","updateTabSizes","_tabListRef$current","newSizes","listRect","_ref2","_tabListRef$current2","btnNode","_getTabSize","_getTabSize2","onListHolderResize","containerSize","extraLeftSize","extraRightSize","newAddSize","newOperationSize","tabContentFullSize","startHiddenTabs","endHiddenTabs","hiddenTabs","_toConsumableArray","_useIndicator","indicatorStyle","hasDropdown","wrapPrefix","pingLeft","pingRight","pingTop","pingBottom","ResizeObserver","useComposeRef","TabPane","tabKey","_excluded2","TabNavListWrapper","renderTabBar","restProps","tabNavBarProps","restTabProps","TabPanelList","destroyInactiveTabPane","tabPaneAnimated","tabPanePrefixCls","item","forceRender","paneStyle","paneClassName","itemDestroyInactiveTabPane","CSSMotion","motionStyle","motionClassName","useAnimateConfig","mergedAnimated","uuid","Tabs","items","defaultActiveKey","_props$tabPosition","tabBarStyle","tabBarExtraContent","more","setMobile","isMobile","_useMergedState","useMergedState","_useMergedState2","mergedActiveKey","setMergedActiveKey","activeIndex","setActiveIndex","newActiveIndex","_tabs$newActiveIndex","_useMergedState3","_useMergedState4","mergedId","setMergedId","onInternalTabClick","isActiveChanged","sharedProps","motion","getTransitionName","__rest","s","t","p","filter","useLegacyItems","_a","mergedDestroyOnHidden","childrenItems","toArray","genMotionStyle","motionDurationSlow","initSlideMotion","genCardStyle","tabsCardPadding","cardBg","cardGutter","colorBorderSecondary","itemSelectedColor","genFocusOutline","genDropdownStyle","itemHoverColor","dropdownEdgeChildVerticalPadding","resetComponent","textEllipsis","genPositionStyle","margin","horizontalMargin","verticalItemPadding","verticalItemMargin","genSizeStyle","cardPaddingSM","cardPaddingLG","cardHeightSM","cardHeightLG","horizontalItemPaddingSM","horizontalItemPaddingLG","genTabStyle","itemActiveColor","iconCls","tabsHorizontalItemMargin","horizontalItemPadding","itemColor","tabCls","genFocusStyle","genRtlStyle","tabsHorizontalItemMarginRTL","genTabsStyle","cardHeight","mergedCardHeight","mergedCardHeightSM","mergedCardHeightLG","useStyle$1","tabsToken","InternalTabs","_b","_c","_d","_e","_f","_g","_h","_j","_k","_l","type","customSize","onEdit","hideAdd","centered","addIcon","removeIcon","indicatorSize","destroyOnHidden","rootCls","useCSSVarCls","tabsRef","React.useImperativeHandle","editType","CloseOutlined","rootPrefixCls","useSize","mergedItems","mergedStyle","mergedIndicator","RcTabs","EllipsisOutlined","Grid","hoverable","prefix","classString","genCardHeadStyle","antCls","headerHeight","headerPadding","tabsMarginBottom","clearFix","genCardGridStyle","cardPaddingBase","cardShadow","lineWidth","genCardActionsStyle","actionsLiMargin","cardActionsIconSize","actionsBg","genCardMetaStyle","genCardTypeInnerStyle","colorFillAlter","bodyPadding","genCardLoadingStyle","cardHeadPadding","boxShadowTertiary","extraColor","genCardSizeStyle","bodyPaddingSM","headerPaddingSM","headerHeightSM","headerFontSizeSM","cardToken","ActionNode","actionClasses","actions","actionStyle","action","Card","headStyle","bodyStyle","bordered","customVariant","customizeSize","cover","tabList","activeTabKey","defaultActiveTabKey","tabProps","customClassNames","customStyles","others","card","variant","useVariant","onTabChange","moduleClass","moduleName","moduleStyle","isContainGrid","containGrid","React.Children","element","loadingBlock","hasActiveTabKey","extraProps","head","mergedSize","tabSize","headClasses","titleClasses","extraClasses","mergedHeadStyle","coverClasses","coverDom","bodyClasses","mergedBodyStyle","body","actionDom","divProps","Meta","description","avatarDom","titleDom","descriptionDom","MetaDetail","InternalCard","RowContext","parseFlex","flex","sizes","Col","gutter","wrap","span","order","push","pull","sizeClassObj","sizeProps","propSize","classes","horizontalGutter","useGutter","results","normalizedGutter","mergedScreens","g","useMergedPropByScreen","oriProp","setProp","calcMergedAlignOrJustify","curVal","Row","justify","mergedAlign","mergedJustify","gutters","rowStyle","gutterH","gutterV","rowContext"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,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,48,49,50,51,52]}