blob: d4ef6e28bf63af95d31fb373042b8a4031d9c841 [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/antd/es/grid/style/css.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/EllipsisOutlined.js","webpack:///./src/resources/data.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/PlusOutlined.js","webpack:///./node_modules/@ant-design/icons/EllipsisOutlined.js","webpack:///./node_modules/@ant-design/icons/PlusOutlined.js","webpack:///./node_modules/antd/es/card/Grid.js","webpack:///./node_modules/antd/es/card/Meta.js","webpack:///./node_modules/rc-util/es/hooks/useMergedState.js","webpack:///./node_modules/rc-tabs/es/hooks/useRaf.js","webpack:///./node_modules/rc-tabs/es/TabNavList/TabNode.js","webpack:///./node_modules/rc-tabs/es/hooks/useOffsets.js","webpack:///./node_modules/rc-tabs/es/hooks/useVisibleRange.js","webpack:///./node_modules/rc-dropdown/es/placements.js","webpack:///./node_modules/rc-dropdown/es/Dropdown.js","webpack:///./node_modules/rc-dropdown/es/index.js","webpack:///./node_modules/rc-tabs/es/TabNavList/AddButton.js","webpack:///./node_modules/rc-tabs/es/TabNavList/OperationNode.js","webpack:///./node_modules/rc-tabs/es/TabContext.js","webpack:///./node_modules/rc-tabs/es/hooks/useTouchMove.js","webpack:///./node_modules/rc-tabs/es/hooks/useSyncState.js","webpack:///./node_modules/rc-tabs/es/TabNavList/index.js","webpack:///./node_modules/rc-tabs/es/hooks/useRefs.js","webpack:///./node_modules/rc-tabs/es/TabPanelList/index.js","webpack:///./node_modules/rc-tabs/es/TabPanelList/TabPane.js","webpack:///./node_modules/rc-tabs/es/Tabs.js","webpack:///./node_modules/rc-tabs/es/index.js","webpack:///./node_modules/antd/es/tabs/index.js","webpack:///./node_modules/antd/es/_util/responsiveObserve.js","webpack:///./node_modules/antd/es/grid/row.js","webpack:///./node_modules/antd/es/row/index.js","webpack:///./node_modules/antd/es/card/index.js","webpack:///./src/pages/community.tsx","webpack:///./node_modules/@ant-design/icons/lib/icons/EllipsisOutlined.js","webpack:///./node_modules/antd/es/grid/col.js","webpack:///./node_modules/antd/es/col/index.js","webpack:///./node_modules/antd/es/grid/RowContext.js","webpack:///./node_modules/antd/es/col/style/css.js","webpack:///./node_modules/rc-resize-observer/es/index.js","webpack:///./node_modules/@ant-design/icons/lib/icons/PlusOutlined.js"],"names":["Object","defineProperty","exports","value","default","pmc","name","github","image","Databases","title","href","imgName","obj","_default","__esModule","module","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","props","_ref","getPrefixCls","customizePrefixCls","prefixCls","className","_props$hoverable","hoverable","others","classString","concat","avatar","description","avatarDom","titleDom","descriptionDom","MetaDetail","_slicedToArray","arr","Array","isArray","_arrayWithHoles","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","err","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","useControlledState","defaultStateValue","option","defaultValue","onChange","postState","_React$useState2","innerValue","setInnerValue","mergedValue","firstRenderRef","current","newValue","useRaf","callback","rafRef","removedRef","cancel","_len","arguments","args","_key","apply","ref","_classNames","id","active","rtl","_ref$tab","tab","key","disabled","closeIcon","tabBarGutter","tabPosition","closable","renderWrapper","removeAriaLabel","editable","onClick","onRemove","onFocus","tabPrefix","nodeStyle","marginBottom","removable","onInternalClick","node","style","role","tabIndex","stopPropagation","onKeyDown","KeyCode","SPACE","ENTER","includes","which","preventDefault","type","event","onEdit","removeIcon","ownKeys","object","enumerableOnly","keys","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","forEach","getOwnPropertyDescriptors","defineProperties","DEFAULT_SIZE","width","height","left","top","right","autoAdjustOverflow","adjustX","adjustY","targetOffset","topLeft","points","overflow","offset","topCenter","topRight","bottomLeft","bottomCenter","bottomRight","_props$arrow","arrow","_props$prefixCls","transitionName","animation","align","_props$placement","placement","_props$placements","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","visible","_props$trigger","trigger","otherProps","_React$useState","triggerVisible","setTriggerVisible","mergedVisible","triggerRef","openClassName","children","childrenProps","childClassName","minOverlayWidthMatchTrigger","alignPoint","getOverlayElement","overlay","onOverlayClick","overlayProps","getMenuElement","overlayElement","extraOverlayProps","triggerHideAction","assign","popupClassName","popupStyle","builtinPlacements","action","popupPlacement","popupAlign","popupTransitionName","popupAnimation","popupVisible","stretch","popup","onPopupVisibleChange","onVisibleChange","locale","showAdd","addAriaLabel","addIcon","tabs","mobile","_ref$moreIcon","moreIcon","moreTransitionName","onTabClick","_useState","_useState2","open","setOpen","_useState3","_useState4","selectedKey","setSelectedKey","popupId","dropdownPrefix","selectedItemId","dropdownAriaLabel","menu","_ref2","domEvent","selectedKeys","map","selectOffset","enabledTabs","selectedIndex","findIndex","ele","document","getElementById","scrollIntoView","moreStyle","visibility","order","moreNode","UP","DOWN","ESC","SPEED_OFF_MULTIPLE","Math","pow","useSyncState","defaultState","stateRef","forceUpdate","updater","cacheRefs","_React$useContext","TabContext","animated","activeKey","extra","onTabScroll","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useRefs","Map","has","set","get","delete","_useRefs2","getBtnRef","removeBtnRef","tabPositionTopOrBottom","_useSyncState","prev","direction","_useSyncState2","transformLeft","setTransformLeft","_useSyncState3","_useSyncState4","transformTop","setTransformTop","wrapperScrollWidth","setWrapperScrollWidth","wrapperScrollHeight","setWrapperScrollHeight","_useState5","_useState6","wrapperContentWidth","setWrapperContentWidth","_useState7","_useState8","wrapperContentHeight","setWrapperContentHeight","_useState9","_useState10","wrapperWidth","setWrapperWidth","_useState11","_useState12","wrapperHeight","setWrapperHeight","_useState13","_useState14","addWidth","setAddWidth","_useState15","_useState16","addHeight","setAddHeight","_useRafState","batchRef","state","flushUpdate","useRafState","_useRafState2","tabSizes","setTabSizes","tabOffsets","holderScrollWidth","_tabs$","lastOffset","rightOffset","_tabs","data","entity","join","useOffsets","operationsHiddenClassName","transformMin","transformMax","alignInRange","max","min","touchMovingRef","_useState17","_useState18","lockAnimation","setLockAnimation","doLockAnimation","Date","now","clearTouchMoving","window","clearTimeout","scrollToTab","tabOffset","newTransform","_newTransform","onOffset","touchPosition","setTouchPosition","lastTimestamp","setLastTimestamp","lastTimeDiff","setLastTimeDiff","setLastOffset","motionRef","lastWheelTimestampRef","lastWheelPreventRef","lastWheelDirectionRef","touchEventsRef","onTouchStart","_e$touches$","touches","screenX","screenY","x","y","clearInterval","onTouchMove","_e$touches$2","offsetX","offsetY","onTouchEnd","distanceX","distanceY","absX","abs","absY","currentX","currentY","setInterval","onWheel","deltaX","deltaY","mixed","onProxyTouchMove","onProxyTouchEnd","addEventListener","passive","removeEventListener","useTouchMove","doMove","setState","_alignInRange","_alignInRange2","needPrevent","setTimeout","_useVisibleRange","containerSize","tabContentNodeSize","addNodeSize","unit","position","transformSize","basicSize","tabContentSize","addSize","mergedBasicSize","endIndex","startIndex","useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","tabNodes","scrollLeft","scrollTop","onListHolderResize","_tabsWrapperRef$curre","_tabsWrapperRef$curre2","_innerAddButtonRef$cu","_innerAddButtonRef$cu2","_operationsRef$curren","_operationsRef$curren2","_tabListRef$current","_tabListRef$current2","_operationsRef$curren3","offsetWidth","offsetHeight","newAddWidth","newAddHeight","newOperationWidth","newOperationHeight","newWrapperScrollWidth","newWrapperScrollHeight","isOperationHidden","newSizes","btnNode","offsetLeft","offsetTop","startHiddenTabs","endHiddenTabs","hiddenTabs","_useState19","_useState20","inkStyle","setInkStyle","activeTabOffset","inkBarRafRef","cleanInkBarRaf","newInkStyle","pingLeft","pingRight","pingTop","pingBottom","hasDropdown","wrapPrefix","onResize","transform","transition","inkBar","TabPanelList","destroyInactiveTabPane","tabPaneAnimated","tabPane","activeIndex","tabKey","TabPane","forceRender","visited","setVisited","mergedStyle","overflowY","display","uuid","ForwardTabs","mergedAnimated","_ref$prefixCls","defaultActiveKey","_ref$tabPosition","tabBarStyle","tabBarExtraContent","renderTabBar","restProps","toArray","String","parseTabList","setMobile","agent","navigator","userAgent","vendor","opera","substr","_useMergedState","_useMergedState2","mergedActiveKey","setMergedActiveKey","setActiveIndex","_tabs$newActiveIndex","newActiveIndex","_useMergedState3","_useMergedState4","mergedId","setMergedId","mergedTabPosition","tabNavBar","sharedProps","tabNavBarProps","panes","Provider","_a","size","_onEdit","hideAdd","centered","editType","devWarning","responsiveArray","responsiveMap","xs","sm","md","lg","xl","xxl","subscribers","subUid","matchHandlers","dispatch","pointMap","func","subscribe","this","register","unsubscribe","token","unregister","_this","screen","matchMediaQuery","handler","mql","removeListener","listener","clear","_this2","matches","matchMedia","addListener","Row","screens","setScreens","gutterRef","gutter","currentGutter","renderRow","justify","results","_props$gutter","g","index","breakpoint","getGutter","classes","rowStyle","marginLeft","marginRight","marginTop","RowContext","displayName","_extends2","head","SizeContext","_props$headStyle","headStyle","_props$bodyStyle","bodyStyle","loading","_props$bordered","bordered","customizeSize","cover","actions","tabList","activeTabKey","defaultActiveTabKey","_props$tabProps","tabProps","loadingBlockStyle","padding","block","loadingBlock","span","hasActiveTabKey","extraProps","onTabChange","item","containGrid","coverDom","body","actionDom","getAction","divProps","mergedSize","element","Grid","Meta","links","titleContainer","communityContainer","getInvolvedContainer","Community","pmcList","rel","alt","src","GithubOutlined","css","link","post","_interopRequireDefault","_interopRequireWildcard","React","_EllipsisOutlined","_AntdIcon","EllipsisOutlined","createElement","icon","forwardRef","Col","renderCol","pull","flex","sizeClassObj","sizeProps","propSize","Consumer","paddingLeft","paddingRight","paddingTop","paddingBottom","parseFlex","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","result","Super","NewTarget","ReactResizeObserver","_React$Component","_super","resizeObserver","childNode","currentElement","entries","_target$getBoundingCl","getBoundingClientRect","fixedWidth","floor","fixedHeight","setChildNode","onComponentUpdated","destroyObserver","observe","disconnect","childNodes","_PlusOutlined","PlusOutlined"],"mappings":"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","file":"component---src-pages-community-tsx-c43b5fcf883d8eab60e6.js","sourcesContent":["import '../../style/index.css';\nimport './index.css';","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar EllipsisOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z\"\n }\n }]\n },\n \"name\": \"ellipsis\",\n \"theme\": \"outlined\"\n};\nexports.default = EllipsisOutlined;","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nexport const pmc = [\n {\n name: ' Aaron Suddjian',\n github: 'https://github.com/suddjian',\n image: 'https://github.com/suddjian.png',\n },\n {\n name: 'Beto Dealmeida',\n github: 'https://github.com/betodealmeida',\n image: 'https://github.com/betodealmeida.png',\n },\n {\n name: 'Bogdan Kyryliuk',\n github: 'https://github.com/bkyryliuk',\n image: 'https://github.com/bkyryliuk.png',\n },\n {\n name: 'Chris Williams',\n github: 'https://github.com/williaster',\n image: 'https://github.com/williaster.png',\n },\n {\n name: 'Craig Rueda',\n github: 'https://github.com/craig-rueda',\n image: 'https://github.com/craig-rueda.png',\n },\n {\n name: 'Daniel Gaspar',\n github: 'https://github.com/dpgaspar',\n image: 'https://github.com/dpgaspar.png',\n },\n {\n name: 'Erik Ritker',\n github: 'https://github.com/etr2460',\n image: 'https://github.com/etr2460.png',\n },\n {\n name: 'Evan Rusackas',\n github: 'https://github.com/rusackas',\n image: 'https://github.com/rusackas.png',\n },\n\n {\n name: 'Grace Guo',\n github: 'https://github.com/graceguo-supercat',\n image: 'https://github.com/graceguo-supercat.png',\n },\n\n {\n name: 'Jeff Feng',\n github: 'https://github.com/jfeng15',\n image: 'https://github.com/jfeng15.png',\n },\n\n {\n name: 'Jesse Yang',\n github: 'https://github.com/ktmud',\n image: 'https://github.com/ktmud.png',\n },\n\n {\n name: 'John Bodley',\n github: 'https://github.com/john-bodley',\n image: 'https://github.com/john-bodley.png',\n },\n\n {\n name: 'Krist Wongsuphasawat',\n github: 'https://github.com/kristw',\n image: 'https://github.com/kristw.png',\n },\n {\n name: 'Maxime Beauchemin',\n github: 'https://github.com/mistercrunch',\n image: 'https://github.com/mistercrunch.png',\n },\n\n {\n name: 'Michelle Thomas',\n github: 'https://github.com/michellethomas',\n image: 'https://github.com/michellethomas.png',\n },\n\n {\n name: 'Nishant Bangarwa',\n github: 'https://github.com/nishantmonu51',\n image: 'https://github.com/nishantmonu51.png',\n },\n\n {\n name: 'Tai Dupree',\n github: 'https://github.com/nytai',\n image: 'https://github.com/nytai.png',\n },\n\n {\n name: 'Ville Brofeldt',\n github: 'https://github.com/villebro',\n image: 'https://github.com/villebro.png',\n },\n {\n name: 'Will Barrett',\n github: 'https://github.com/willbarrett',\n image: 'https://github.com/willbarrett.png',\n },\n];\n\nexport const Databases = [\n {\n title: 'Amazon Redshfit',\n href: 'https://aws.amazon.com/redshift/',\n imgName: 'aws-redshift.png',\n },\n {\n title: 'Apache Druid',\n href: 'http://druid.io/',\n imgName: 'druid.png',\n },\n {\n title: 'Apache Kylin',\n href: 'http://kylin.apache.org/',\n imgName: 'apache-kylin.png',\n },\n {\n title: 'BigQuery',\n href: 'https://cloud.google.com/bigquery/',\n imgName: 'googleBQ.png',\n },\n {\n title: 'ClickHouse',\n href: 'https://clickhouse.tech/',\n imgName: 'clickhouse.png',\n },\n {\n title: 'Exasol',\n href: 'https://www.exasol.com/en/',\n imgName: 'exasol.png',\n },\n {\n title: 'FireBirdSql',\n href: 'https://firebirdsql.org/',\n imgName: 'firebird.png',\n },\n {\n title: 'Green Plum',\n href: 'https://greenplum.org/',\n imgName: 'greenplum.png',\n },\n {\n title: 'IBM Db2',\n href: 'https://www.ibm.com/analytics/db2',\n imgName: 'ibmdb2.png',\n },\n {\n title: 'MySQL',\n href: 'https://www.mysql.com/',\n imgName: 'mysql.png',\n },\n {\n title: 'Microsoft SqlServer',\n href: 'https://www.microsoft.com/en-us/sql-server',\n imgName: 'msql.png',\n },\n {\n title: 'MonetDB',\n href: 'https://www.monetdb.org/',\n imgName: 'monet.png',\n },\n {\n title: 'Oracle',\n href: 'https://www.oracle.com/database/',\n imgName: 'oraclelogo.png',\n },\n {\n title: 'PostgresSQL',\n href: 'https://www.postgresql.org/',\n imgName: 'postsql.png',\n },\n {\n title: 'Presto',\n href: 'https://prestodb.io/',\n imgName: 'presto-og.png',\n },\n {\n title: 'Snowflake',\n href: 'https://www.snowflake.com/',\n imgName: 'snowflake.png',\n },\n {\n title: 'SQLite',\n href: 'https://www.sqlite.org/index.html',\n imgName: 'sqllite.png',\n },\n {\n title: 'Vertica',\n href: 'https://www.vertica.com/',\n imgName: 'vertica.png',\n },\n];\n","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar PlusOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"defs\",\n \"attrs\": {},\n \"children\": [{\n \"tag\": \"style\",\n \"attrs\": {}\n }]\n }, {\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\"\n }\n }, {\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z\"\n }\n }]\n },\n \"name\": \"plus\",\n \"theme\": \"outlined\"\n};\nexports.default = PlusOutlined;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _EllipsisOutlined = _interopRequireDefault(require('./lib/icons/EllipsisOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _EllipsisOutlined;\nexports.default = _default;\nmodule.exports = _default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _PlusOutlined = _interopRequireDefault(require('./lib/icons/PlusOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _PlusOutlined;\nexports.default = _default;\nmodule.exports = _default;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar Grid = function Grid(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n _props$hoverable = props.hoverable,\n hoverable = _props$hoverable === void 0 ? true : _props$hoverable,\n others = __rest(props, [\"prefixCls\", \"className\", \"hoverable\"]);\n\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n var classString = classNames(\"\".concat(prefixCls, \"-grid\"), className, _defineProperty({}, \"\".concat(prefixCls, \"-grid-hoverable\"), hoverable));\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classString\n }));\n });\n};\n\nexport default Grid;","import _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar Meta = function Meta(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n avatar = props.avatar,\n title = props.title,\n description = props.description,\n others = __rest(props, [\"prefixCls\", \"className\", \"avatar\", \"title\", \"description\"]);\n\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n var classString = classNames(\"\".concat(prefixCls, \"-meta\"), className);\n var avatarDom = avatar ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-meta-avatar\")\n }, avatar) : null;\n var titleDom = title ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-meta-title\")\n }, title) : null;\n var descriptionDom = description ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-meta-description\")\n }, description) : null;\n var MetaDetail = titleDom || descriptionDom ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-meta-detail\")\n }, titleDom, descriptionDom) : null;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classString\n }), avatarDom, MetaDetail);\n });\n};\n\nexport default Meta;","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nimport * as React from 'react';\nexport default function useControlledState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n\n var _React$useState = React.useState(function () {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerValue = _React$useState2[0],\n setInnerValue = _React$useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n\n if (postState) {\n mergedValue = postState(mergedValue);\n }\n\n function triggerChange(newValue) {\n setInnerValue(newValue);\n\n if (mergedValue !== newValue && onChange) {\n onChange(newValue, mergedValue);\n }\n } // Effect of reset value to `undefined`\n\n\n var firstRenderRef = React.useRef(true);\n React.useEffect(function () {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n\n if (value === undefined) {\n setInnerValue(value);\n }\n }, [value]);\n return [mergedValue, triggerChange];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\nimport raf from 'raf';\nexport default function useRaf(callback) {\n var rafRef = useRef();\n var removedRef = useRef(false);\n\n function trigger() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!removedRef.current) {\n raf.cancel(rafRef.current);\n rafRef.current = raf(function () {\n callback.apply(void 0, args);\n });\n }\n }\n\n useEffect(function () {\n return function () {\n removedRef.current = true;\n raf.cancel(rafRef.current);\n };\n }, []);\n return trigger;\n}\nexport function useRafState(defaultState) {\n var batchRef = useRef([]);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var state = useRef(typeof defaultState === 'function' ? defaultState() : defaultState);\n var flushUpdate = useRaf(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\n function updater(callback) {\n batchRef.current.push(callback);\n flushUpdate();\n }\n\n return [state.current, updater];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\n\nfunction TabNode(_ref, ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n active = _ref.active,\n rtl = _ref.rtl,\n _ref$tab = _ref.tab,\n key = _ref$tab.key,\n tab = _ref$tab.tab,\n disabled = _ref$tab.disabled,\n closeIcon = _ref$tab.closeIcon,\n tabBarGutter = _ref.tabBarGutter,\n tabPosition = _ref.tabPosition,\n closable = _ref.closable,\n renderWrapper = _ref.renderWrapper,\n removeAriaLabel = _ref.removeAriaLabel,\n editable = _ref.editable,\n onClick = _ref.onClick,\n onRemove = _ref.onRemove,\n onFocus = _ref.onFocus;\n var tabPrefix = \"\".concat(prefixCls, \"-tab\");\n React.useEffect(function () {\n return onRemove;\n }, []);\n var nodeStyle = {};\n\n if (tabPosition === 'top' || tabPosition === 'bottom') {\n nodeStyle[rtl ? 'marginLeft' : 'marginRight'] = tabBarGutter;\n } else {\n nodeStyle.marginBottom = tabBarGutter;\n }\n\n var removable = editable && closable !== false && !disabled;\n\n function onInternalClick(e) {\n if (disabled) return;\n onClick(e);\n }\n\n function onRemoveTab(event) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n\n var node = React.createElement(\"div\", {\n key: key,\n ref: ref,\n className: classNames(tabPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(tabPrefix, \"-with-remove\"), removable), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-active\"), active), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-disabled\"), disabled), _classNames)),\n style: nodeStyle,\n onClick: onInternalClick\n }, React.createElement(\"div\", {\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 : 0,\n onClick: function onClick(e) {\n e.stopPropagation();\n onInternalClick(e);\n },\n onKeyDown: function onKeyDown(e) {\n if ([KeyCode.SPACE, KeyCode.ENTER].includes(e.which)) {\n e.preventDefault();\n onInternalClick(e);\n }\n },\n onFocus: onFocus\n }, tab), removable && React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(tabPrefix, \"-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e);\n }\n }, closeIcon || editable.removeIcon || '×'));\n\n if (renderWrapper) {\n node = renderWrapper(node);\n }\n\n return node;\n}\n\nexport default React.forwardRef(TabNode);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\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\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\n for (var i = 0; i < tabs.length; i += 1) {\n var key = tabs[i].key;\n var data = tabSizes.get(key); // Reuse last one when not exist yet\n\n if (!data) {\n var _tabs;\n\n data = tabSizes.get((_tabs = tabs[i - 1]) === null || _tabs === void 0 ? void 0 : _tabs.key) || DEFAULT_SIZE;\n }\n\n var entity = map.get(key) || _objectSpread({}, data); // Right\n\n\n entity.right = rightOffset - entity.left - entity.width; // Update entity\n\n map.set(key, entity);\n }\n\n return map;\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), tabSizes, holderScrollWidth]);\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, containerSize, tabContentNodeSize, addNodeSize, _ref) {\n var tabs = _ref.tabs,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl;\n var unit;\n var position;\n var transformSize;\n\n if (['top', 'bottom'].includes(tabPosition)) {\n unit = 'width';\n position = rtl ? 'right' : 'left';\n transformSize = Math.abs(containerSize.left);\n } else {\n unit = 'height';\n position = 'top';\n transformSize = -containerSize.top;\n }\n\n var basicSize = containerSize[unit];\n var tabContentSize = tabContentNodeSize[unit];\n var addSize = addNodeSize[unit];\n var mergedBasicSize = basicSize;\n\n if (tabContentSize + addSize > basicSize) {\n mergedBasicSize = basicSize - addSize;\n }\n\n return useMemo(function () {\n if (!tabs.length) {\n return [0, 0];\n }\n\n var len = tabs.length;\n var endIndex = len;\n\n for (var i = 0; i < len; i += 1) {\n var offset = tabOffsets.get(tabs[i].key) || DEFAULT_SIZE;\n\n if (offset[position] + offset[unit] > transformSize + mergedBasicSize) {\n endIndex = i - 1;\n break;\n }\n }\n\n var startIndex = 0;\n\n for (var _i = len - 1; _i >= 0; _i -= 1) {\n var _offset = tabOffsets.get(tabs[_i].key) || DEFAULT_SIZE;\n\n if (_offset[position] < transformSize) {\n startIndex = _i + 1;\n break;\n }\n }\n\n return [startIndex, endIndex];\n }, [tabOffsets, transformSize, mergedBasicSize, tabPosition, tabs.map(function (tab) {\n return tab.key;\n }).join('_'), rtl]);\n}","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 topCenter: {\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 bottomCenter: {\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 _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport Placements from './placements';\n\nfunction Dropdown(props, ref) {\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 otherProps = _objectWithoutProperties(props, [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\"]);\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n\n var getOverlayElement = function getOverlayElement() {\n var overlay = props.overlay;\n var overlayElement;\n\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n\n return overlayElement;\n };\n\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n var overlayProps = getOverlayElement().props;\n setTriggerVisible(false);\n\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n\n if (overlayProps.onClick) {\n overlayProps.onClick(e);\n }\n };\n\n var onVisibleChange = function onVisibleChange(visible) {\n var onVisibleChange = props.onVisibleChange;\n setTriggerVisible(visible);\n\n if (typeof onVisibleChange === 'function') {\n onVisibleChange(visible);\n }\n };\n\n var getMenuElement = function getMenuElement() {\n var overlayElement = getOverlayElement();\n var extraOverlayProps = {\n prefixCls: \"\".concat(prefixCls, \"-menu\"),\n onClick: onClick\n };\n\n if (typeof overlayElement.type === 'string') {\n delete extraOverlayProps.prefixCls;\n }\n\n return React.createElement(React.Fragment, null, arrow && React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), React.cloneElement(overlayElement, extraOverlayProps));\n };\n\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n var overlay = props.overlay;\n\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n\n return getMenuElement();\n };\n\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n };\n\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n\n if (openClassName !== undefined) {\n return openClassName;\n }\n\n return \"\".concat(prefixCls, \"-open\");\n };\n\n var renderChildren = function renderChildren() {\n var children = props.children;\n var childrenProps = children.props ? children.props : {};\n var childClassName = classNames(childrenProps.className, getOpenClassName());\n return triggerVisible && children ? React.cloneElement(children, {\n className: childClassName\n }) : children;\n };\n\n var triggerHideAction = hideAction;\n\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n return React.createElement(Trigger, Object.assign({}, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n builtinPlacements: placements,\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: onVisibleChange,\n getPopupContainer: getPopupContainer\n }), renderChildren());\n}\n\nexport default React.forwardRef(Dropdown);","import Dropdown from './Dropdown';\nexport default Dropdown;","import * as React from 'react';\n\nfunction AddButton(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n editable = _ref.editable,\n locale = _ref.locale,\n style = _ref.style;\n\n if (!editable || editable.showAdd === false) {\n return null;\n }\n\n return 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}\n\nexport default React.forwardRef(AddButton);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useState, useEffect } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport Menu, { MenuItem } from 'rc-menu';\nimport Dropdown from 'rc-dropdown';\nimport AddButton from './AddButton';\n\nfunction OperationNode(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n tabs = _ref.tabs,\n locale = _ref.locale,\n mobile = _ref.mobile,\n _ref$moreIcon = _ref.moreIcon,\n moreIcon = _ref$moreIcon === void 0 ? 'More' : _ref$moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n style = _ref.style,\n className = _ref.className,\n editable = _ref.editable,\n tabBarGutter = _ref.tabBarGutter,\n rtl = _ref.rtl,\n onTabClick = _ref.onTabClick; // ======================== Dropdown ========================\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedKey = _useState4[0],\n setSelectedKey = _useState4[1];\n\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 var menu = React.createElement(Menu, {\n onClick: function onClick(_ref2) {\n var key = _ref2.key,\n domEvent = _ref2.domEvent;\n onTabClick(key, domEvent);\n setOpen(false);\n },\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 return React.createElement(MenuItem, {\n key: tab.key,\n id: \"\".concat(popupId, \"-\").concat(tab.key),\n role: \"option\",\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(tab.key),\n disabled: tab.disabled\n }, tab.tab);\n }));\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\n for (var i = 0; i < len; i += 1) {\n selectedIndex = (selectedIndex + offset + len) % len;\n var tab = enabledTabs[selectedIndex];\n\n if (!tab.disabled) {\n setSelectedKey(tab.key);\n return;\n }\n }\n }\n\n function onKeyDown(e) {\n var which = e.which;\n\n if (!open) {\n if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n setOpen(true);\n e.preventDefault();\n }\n\n return;\n }\n\n switch (which) {\n case KeyCode.UP:\n selectOffset(-1);\n e.preventDefault();\n break;\n\n case KeyCode.DOWN:\n selectOffset(1);\n e.preventDefault();\n break;\n\n case KeyCode.ESC:\n setOpen(false);\n break;\n\n case KeyCode.SPACE:\n case KeyCode.ENTER:\n if (selectedKey !== null) onTabClick(selectedKey, e);\n break;\n }\n } // ========================= Effect =========================\n\n\n useEffect(function () {\n // We use query element here to avoid React strict warning\n var ele = document.getElementById(selectedItemId);\n\n if (ele && ele.scrollIntoView) {\n ele.scrollIntoView(false);\n }\n }, [selectedKey]);\n useEffect(function () {\n if (!open) {\n setSelectedKey(null);\n }\n }, [open]); // ========================= Render =========================\n\n var moreStyle = _defineProperty({}, rtl ? 'marginLeft' : 'marginRight', tabBarGutter);\n\n if (!tabs.length) {\n moreStyle.visibility = 'hidden';\n moreStyle.order = 1;\n }\n\n var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n var moreNode = mobile ? null : React.createElement(Dropdown, {\n prefixCls: dropdownPrefix,\n overlay: menu,\n trigger: ['hover'],\n visible: open,\n transitionName: moreTransitionName,\n onVisibleChange: setOpen,\n overlayClassName: overlayClassName\n }, React.createElement(\"button\", {\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-more\"),\n style: moreStyle,\n tabIndex: -1,\n \"aria-hidden\": \"true\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": popupId,\n id: \"\".concat(id, \"-more\"),\n \"aria-expanded\": open,\n onKeyDown: onKeyDown\n }, moreIcon));\n return React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n style: style,\n ref: ref\n }, moreNode, React.createElement(AddButton, {\n prefixCls: prefixCls,\n locale: locale,\n editable: editable\n }));\n}\n\nexport default React.forwardRef(OperationNode);","import { createContext } from 'react';\nexport default createContext(null);","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState, useRef } 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); // ========================= Check if is a mobile =========================\n\nexport function isMobile() {\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent.substr(0, 4))) {\n return true;\n }\n\n return false;\n} // ================================= Hook =================================\n\nexport default function useTouchMove(ref, onOffset) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n touchPosition = _useState2[0],\n setTouchPosition = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n lastTimestamp = _useState4[0],\n setLastTimestamp = _useState4[1];\n\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n lastTimeDiff = _useState6[0],\n setLastTimeDiff = _useState6[1];\n\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n lastOffset = _useState8[0],\n setLastOffset = _useState8[1];\n\n var motionRef = useRef(); // ========================= Events =========================\n // >>> Touch events\n\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\n function onTouchMove(e) {\n if (!touchPosition) return;\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\n function onTouchEnd() {\n if (!touchPosition) return;\n setTouchPosition(null);\n setLastOffset(null); // Swipe if needed\n\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); // Skip swipe if low distance\n\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\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL);\n }, REFRESH_INTERVAL);\n }\n } // >>> Wheel event\n\n\n var lastWheelTimestampRef = useRef(0);\n var lastWheelPreventRef = useRef(false);\n var lastWheelDirectionRef = useRef();\n\n function onWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY; // Convert both to x & y since wheel only happened on PC\n\n var mixed = 0;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n\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 } // Optimize mac touch scroll\n\n\n var now = Date.now();\n\n if (now - lastWheelTimestampRef.current > 100) {\n lastWheelPreventRef.current = false;\n }\n\n if (onOffset(-mixed, -mixed) || lastWheelPreventRef.current) {\n e.preventDefault();\n lastWheelPreventRef.current = true;\n }\n\n lastWheelTimestampRef.current = now;\n } // ========================= Effect =========================\n\n\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\n function onProxyTouchMove(e) {\n touchEventsRef.current.onTouchMove(e);\n }\n\n function onProxyTouchEnd(e) {\n touchEventsRef.current.onTouchEnd(e);\n }\n\n function onProxyWheel(e) {\n touchEventsRef.current.onWheel(e);\n }\n\n document.addEventListener('touchmove', onProxyTouchMove, {\n passive: false\n });\n document.addEventListener('touchend', onProxyTouchEnd, {\n passive: false\n }); // No need to clean up since element removed\n\n ref.current.addEventListener('touchstart', onProxyTouchStart, {\n passive: false\n });\n ref.current.addEventListener('wheel', onProxyWheel);\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 * as React from 'react';\nexport default function useSyncState(defaultState, onChange) {\n var stateRef = React.useRef(defaultState);\n\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n\n function setState(updater) {\n var newValue = typeof updater === 'function' ? updater(stateRef.current) : updater;\n\n if (newValue !== stateRef.current) {\n onChange(newValue, stateRef.current);\n }\n\n stateRef.current = newValue;\n forceUpdate({});\n }\n\n return [stateRef.current, setState];\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport * as React from 'react';\nimport { useState, useRef, useEffect } from 'react';\nimport classNames from 'classnames';\nimport raf from 'raf';\nimport ResizeObserver from 'rc-resize-observer';\nimport useRaf, { useRafState } from '../hooks/useRaf';\nimport TabNode from './TabNode';\nimport useOffsets from '../hooks/useOffsets';\nimport useVisibleRange from '../hooks/useVisibleRange';\nimport OperationNode from './OperationNode';\nimport TabContext from '../TabContext';\nimport useTouchMove from '../hooks/useTouchMove';\nimport useRefs from '../hooks/useRefs';\nimport AddButton from './AddButton';\nimport useSyncState from '../hooks/useSyncState';\n\nfunction TabNavList(props, ref) {\n var _classNames;\n\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n\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 var tabsWrapperRef = useRef();\n var tabListRef = useRef();\n var operationsRef = useRef();\n var innerAddButtonRef = useRef();\n\n var _useRefs = useRefs(),\n _useRefs2 = _slicedToArray(_useRefs, 2),\n getBtnRef = _useRefs2[0],\n removeBtnRef = _useRefs2[1];\n\n var tabPositionTopOrBottom = tabPosition === 'top' || tabPosition === 'bottom';\n\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\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\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n wrapperScrollWidth = _useState2[0],\n setWrapperScrollWidth = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n wrapperScrollHeight = _useState4[0],\n setWrapperScrollHeight = _useState4[1];\n\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n wrapperContentWidth = _useState6[0],\n setWrapperContentWidth = _useState6[1];\n\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n wrapperContentHeight = _useState8[0],\n setWrapperContentHeight = _useState8[1];\n\n var _useState9 = useState(null),\n _useState10 = _slicedToArray(_useState9, 2),\n wrapperWidth = _useState10[0],\n setWrapperWidth = _useState10[1];\n\n var _useState11 = useState(null),\n _useState12 = _slicedToArray(_useState11, 2),\n wrapperHeight = _useState12[0],\n setWrapperHeight = _useState12[1];\n\n var _useState13 = useState(0),\n _useState14 = _slicedToArray(_useState13, 2),\n addWidth = _useState14[0],\n setAddWidth = _useState14[1];\n\n var _useState15 = useState(0),\n _useState16 = _slicedToArray(_useState15, 2),\n addHeight = _useState16[0],\n setAddHeight = _useState16[1];\n\n var _useRafState = useRafState(new Map()),\n _useRafState2 = _slicedToArray(_useRafState, 2),\n tabSizes = _useRafState2[0],\n setTabSizes = _useRafState2[1];\n\n var tabOffsets = useOffsets(tabs, tabSizes, wrapperScrollWidth); // ========================== Util =========================\n\n var operationsHiddenClassName = \"\".concat(prefixCls, \"-nav-operations-hidden\");\n var transformMin = 0;\n var transformMax = 0;\n\n if (!tabPositionTopOrBottom) {\n transformMin = Math.min(0, wrapperHeight - wrapperScrollHeight);\n transformMax = 0;\n } else if (rtl) {\n transformMin = 0;\n transformMax = Math.max(0, wrapperScrollWidth - wrapperWidth);\n } else {\n transformMin = Math.min(0, wrapperWidth - wrapperScrollWidth);\n transformMax = 0;\n }\n\n function alignInRange(value) {\n if (value < transformMin) {\n return [transformMin, false];\n }\n\n if (value > transformMax) {\n return [transformMax, false];\n }\n\n return [value, true];\n } // ========================= Mobile ========================\n\n\n var touchMovingRef = useRef();\n\n var _useState17 = useState(),\n _useState18 = _slicedToArray(_useState17, 2),\n lockAnimation = _useState18[0],\n setLockAnimation = _useState18[1];\n\n function doLockAnimation() {\n setLockAnimation(Date.now());\n }\n\n function clearTouchMoving() {\n window.clearTimeout(touchMovingRef.current);\n }\n\n useTouchMove(tabsWrapperRef, function (offsetX, offsetY) {\n var preventDefault = false;\n\n function doMove(setState, offset) {\n setState(function (value) {\n var _alignInRange = alignInRange(value + offset),\n _alignInRange2 = _slicedToArray(_alignInRange, 2),\n newValue = _alignInRange2[0],\n needPrevent = _alignInRange2[1];\n\n preventDefault = needPrevent;\n return newValue;\n });\n }\n\n if (tabPositionTopOrBottom) {\n // Skip scroll if place is enough\n if (wrapperWidth >= wrapperScrollWidth) {\n return preventDefault;\n }\n\n doMove(setTransformLeft, offsetX);\n } else {\n if (wrapperHeight >= wrapperScrollHeight) {\n return preventDefault;\n }\n\n doMove(setTransformTop, offsetY);\n }\n\n clearTouchMoving();\n doLockAnimation();\n return preventDefault;\n });\n useEffect(function () {\n clearTouchMoving();\n\n if (lockAnimation) {\n touchMovingRef.current = window.setTimeout(function () {\n setLockAnimation(0);\n }, 100);\n }\n\n return clearTouchMoving;\n }, [lockAnimation]); // ========================= Scroll ========================\n\n function scrollToTab() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : activeKey;\n var tabOffset = tabOffsets.get(key);\n if (!tabOffset) return;\n\n if (tabPositionTopOrBottom) {\n // ============ Align with top & bottom ============\n var newTransform = transformLeft; // RTL\n\n if (rtl) {\n if (tabOffset.right < transformLeft) {\n newTransform = tabOffset.right;\n } else if (tabOffset.right + tabOffset.width > transformLeft + wrapperWidth) {\n newTransform = tabOffset.right + tabOffset.width - wrapperWidth;\n }\n } // LTR\n else if (tabOffset.left < -transformLeft) {\n newTransform = -tabOffset.left;\n } else if (tabOffset.left + tabOffset.width > -transformLeft + wrapperWidth) {\n newTransform = -(tabOffset.left + tabOffset.width - wrapperWidth);\n }\n\n setTransformTop(0);\n setTransformLeft(alignInRange(newTransform)[0]);\n } else {\n // ============ Align with left & right ============\n var _newTransform = transformTop;\n\n if (tabOffset.top < -transformTop) {\n _newTransform = -tabOffset.top;\n } else if (tabOffset.top + tabOffset.height > -transformTop + wrapperHeight) {\n _newTransform = -(tabOffset.top + tabOffset.height - wrapperHeight);\n }\n\n setTransformLeft(0);\n setTransformTop(alignInRange(_newTransform)[0]);\n }\n } // ========================== Tab ==========================\n // Render tab node & collect tab offset\n\n\n var _useVisibleRange = useVisibleRange(tabOffsets, {\n width: wrapperWidth,\n height: wrapperHeight,\n left: transformLeft,\n top: transformTop\n }, {\n width: wrapperContentWidth,\n height: wrapperContentHeight\n }, {\n width: addWidth,\n height: addHeight\n }, _objectSpread(_objectSpread({}, props), {}, {\n tabs: tabs\n })),\n _useVisibleRange2 = _slicedToArray(_useVisibleRange, 2),\n visibleStart = _useVisibleRange2[0],\n visibleEnd = _useVisibleRange2[1];\n\n var tabNodes = tabs.map(function (tab) {\n var key = tab.key;\n return React.createElement(TabNode, {\n id: id,\n prefixCls: prefixCls,\n key: key,\n rtl: rtl,\n tab: tab,\n closable: tab.closable,\n editable: editable,\n active: key === activeKey,\n tabPosition: tabPosition,\n tabBarGutter: tabBarGutter,\n renderWrapper: children,\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n ref: getBtnRef(key),\n onClick: function onClick(e) {\n onTabClick(key, e);\n },\n onRemove: function onRemove() {\n removeBtnRef(key);\n },\n onFocus: function onFocus() {\n scrollToTab(key);\n doLockAnimation(); // Focus element will make scrollLeft change which we should reset back\n\n if (!rtl) {\n tabsWrapperRef.current.scrollLeft = 0;\n }\n\n tabsWrapperRef.current.scrollTop = 0;\n }\n });\n });\n var onListHolderResize = useRaf(function () {\n var _tabsWrapperRef$curre, _tabsWrapperRef$curre2, _innerAddButtonRef$cu, _innerAddButtonRef$cu2, _operationsRef$curren, _operationsRef$curren2, _tabListRef$current, _tabListRef$current2, _operationsRef$curren3; // Update wrapper records\n\n\n var offsetWidth = ((_tabsWrapperRef$curre = tabsWrapperRef.current) === null || _tabsWrapperRef$curre === void 0 ? void 0 : _tabsWrapperRef$curre.offsetWidth) || 0;\n var offsetHeight = ((_tabsWrapperRef$curre2 = tabsWrapperRef.current) === null || _tabsWrapperRef$curre2 === void 0 ? void 0 : _tabsWrapperRef$curre2.offsetHeight) || 0;\n var newAddWidth = ((_innerAddButtonRef$cu = innerAddButtonRef.current) === null || _innerAddButtonRef$cu === void 0 ? void 0 : _innerAddButtonRef$cu.offsetWidth) || 0;\n var newAddHeight = ((_innerAddButtonRef$cu2 = innerAddButtonRef.current) === null || _innerAddButtonRef$cu2 === void 0 ? void 0 : _innerAddButtonRef$cu2.offsetHeight) || 0;\n var newOperationWidth = ((_operationsRef$curren = operationsRef.current) === null || _operationsRef$curren === void 0 ? void 0 : _operationsRef$curren.offsetWidth) || 0;\n var newOperationHeight = ((_operationsRef$curren2 = operationsRef.current) === null || _operationsRef$curren2 === void 0 ? void 0 : _operationsRef$curren2.offsetHeight) || 0;\n setWrapperWidth(offsetWidth);\n setWrapperHeight(offsetHeight);\n setAddWidth(newAddWidth);\n setAddHeight(newAddHeight);\n var newWrapperScrollWidth = (((_tabListRef$current = tabListRef.current) === null || _tabListRef$current === void 0 ? void 0 : _tabListRef$current.offsetWidth) || 0) - newAddWidth;\n var newWrapperScrollHeight = (((_tabListRef$current2 = tabListRef.current) === null || _tabListRef$current2 === void 0 ? void 0 : _tabListRef$current2.offsetHeight) || 0) - newAddHeight;\n setWrapperScrollWidth(newWrapperScrollWidth);\n setWrapperScrollHeight(newWrapperScrollHeight);\n var isOperationHidden = (_operationsRef$curren3 = operationsRef.current) === null || _operationsRef$curren3 === void 0 ? void 0 : _operationsRef$curren3.className.includes(operationsHiddenClassName);\n setWrapperContentWidth(newWrapperScrollWidth - (isOperationHidden ? 0 : newOperationWidth));\n setWrapperContentHeight(newWrapperScrollHeight - (isOperationHidden ? 0 : newOperationHeight)); // Update buttons records\n\n setTabSizes(function () {\n var newSizes = new Map();\n tabs.forEach(function (_ref) {\n var key = _ref.key;\n var btnNode = getBtnRef(key).current;\n newSizes.set(key, {\n width: btnNode.offsetWidth,\n height: btnNode.offsetHeight,\n left: btnNode.offsetLeft,\n top: btnNode.offsetTop\n });\n });\n return newSizes;\n });\n }); // ======================== Dropdown =======================\n\n var startHiddenTabs = tabs.slice(0, visibleStart);\n var endHiddenTabs = tabs.slice(visibleEnd + 1);\n var hiddenTabs = [].concat(_toConsumableArray(startHiddenTabs), _toConsumableArray(endHiddenTabs)); // =================== Link & Operations ===================\n\n var _useState19 = useState(),\n _useState20 = _slicedToArray(_useState19, 2),\n inkStyle = _useState20[0],\n setInkStyle = _useState20[1];\n\n var activeTabOffset = tabOffsets.get(activeKey); // Delay set ink style to avoid remove tab blink\n\n var inkBarRafRef = useRef();\n\n function cleanInkBarRaf() {\n raf.cancel(inkBarRafRef.current);\n }\n\n useEffect(function () {\n var newInkStyle = {};\n\n if (activeTabOffset) {\n if (tabPositionTopOrBottom) {\n if (rtl) {\n newInkStyle.right = activeTabOffset.right;\n } else {\n newInkStyle.left = activeTabOffset.left;\n }\n\n newInkStyle.width = activeTabOffset.width;\n } else {\n newInkStyle.top = activeTabOffset.top;\n newInkStyle.height = activeTabOffset.height;\n }\n }\n\n cleanInkBarRaf();\n inkBarRafRef.current = raf(function () {\n setInkStyle(newInkStyle);\n });\n return cleanInkBarRaf;\n }, [activeTabOffset, tabPositionTopOrBottom, rtl]); // ========================= Effect ========================\n\n useEffect(function () {\n scrollToTab();\n }, [activeKey, activeTabOffset, tabOffsets, tabPositionTopOrBottom]); // Should recalculate when rtl changed\n\n useEffect(function () {\n onListHolderResize();\n }, [rtl, tabBarGutter, activeKey, tabs.map(function (tab) {\n return tab.key;\n }).join('_')]); // ========================= Render ========================\n\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\n if (tabPositionTopOrBottom) {\n if (rtl) {\n pingRight = transformLeft > 0;\n pingLeft = transformLeft + wrapperWidth < wrapperScrollWidth;\n } else {\n pingLeft = transformLeft < 0;\n pingRight = -transformLeft + wrapperWidth < wrapperScrollWidth;\n }\n } else {\n pingTop = transformTop < 0;\n pingBottom = -transformTop + wrapperHeight < wrapperScrollHeight;\n }\n /* eslint-disable jsx-a11y/interactive-supports-focus */\n\n\n return React.createElement(\"div\", {\n ref: ref,\n role: \"tablist\",\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 }, React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, React.createElement(\"div\", {\n className: classNames(wrapPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-left\"), pingLeft), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-right\"), pingRight), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-top\"), pingTop), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-bottom\"), pingBottom), _classNames)),\n ref: tabsWrapperRef\n }, React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, 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, React.createElement(AddButton, {\n ref: innerAddButtonRef,\n prefixCls: prefixCls,\n locale: locale,\n editable: editable,\n style: {\n visibility: hasDropdown ? 'hidden' : null\n }\n }), React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-ink-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-ink-bar-animated\"), animated.inkBar)),\n style: inkStyle\n }))))), React.createElement(OperationNode, Object.assign({}, props, {\n ref: operationsRef,\n prefixCls: prefixCls,\n tabs: hiddenTabs,\n className: !hasDropdown && operationsHiddenClassName\n })), extra && React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra-content\")\n }, extra));\n /* eslint-enable */\n}\n\nexport default React.forwardRef(TabNavList);","import * as React from 'react';\nimport { useRef } from 'react';\nexport default function useRefs() {\n var cacheRefs = useRef(new Map());\n\n function getRef(key) {\n if (!cacheRefs.current.has(key)) {\n cacheRefs.current.set(key, React.createRef());\n }\n\n return cacheRefs.current.get(key);\n }\n\n function removeRef(key) {\n cacheRefs.current.delete(key);\n }\n\n return [getRef, removeRef];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport TabContext from '../TabContext';\nexport default function TabPanelList(_ref) {\n var id = _ref.id,\n activeKey = _ref.activeKey,\n animated = _ref.animated,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane;\n\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n\n var tabPaneAnimated = animated.tabPane;\n var activeIndex = tabs.findIndex(function (tab) {\n return tab.key === activeKey;\n });\n return React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content-holder\"))\n }, React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), \"\".concat(prefixCls, \"-content-\").concat(tabPosition), _defineProperty({}, \"\".concat(prefixCls, \"-content-animated\"), tabPaneAnimated)),\n style: activeIndex && tabPaneAnimated ? _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', \"-\".concat(activeIndex, \"00%\")) : null\n }, tabs.map(function (tab) {\n return React.cloneElement(tab.node, {\n key: tab.key,\n prefixCls: prefixCls,\n tabKey: tab.key,\n id: id,\n animated: tabPaneAnimated,\n active: tab.key === activeKey,\n destroyInactiveTabPane: destroyInactiveTabPane\n });\n })));\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport default function TabPane(_ref) {\n var prefixCls = _ref.prefixCls,\n forceRender = _ref.forceRender,\n className = _ref.className,\n style = _ref.style,\n id = _ref.id,\n active = _ref.active,\n animated = _ref.animated,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n tabKey = _ref.tabKey,\n children = _ref.children;\n\n var _React$useState = React.useState(forceRender),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visited = _React$useState2[0],\n setVisited = _React$useState2[1];\n\n React.useEffect(function () {\n if (active) {\n setVisited(true);\n } else if (destroyInactiveTabPane) {\n setVisited(false);\n }\n }, [active, destroyInactiveTabPane]);\n var mergedStyle = {};\n\n if (!active) {\n if (animated) {\n mergedStyle.visibility = 'hidden';\n mergedStyle.height = 0;\n mergedStyle.overflowY = 'hidden';\n } else {\n mergedStyle.display = 'none';\n }\n }\n\n return 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: _objectSpread(_objectSpread({}, mergedStyle), style),\n className: classNames(\"\".concat(prefixCls, \"-tabpane\"), active && \"\".concat(prefixCls, \"-tabpane-active\"), className)\n }, (active || visited || forceRender) && children);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n} // Accessibility https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role\n\n\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TabNavList from './TabNavList';\nimport TabPanelList from './TabPanelList';\nimport TabPane from './TabPanelList/TabPane';\nimport TabContext from './TabContext';\nimport { isMobile } from './hooks/useTouchMove';\n/**\n * Should added antd:\n * - type\n *\n * Removed:\n * - onNextClick\n * - onPrevClick\n * - keyboard\n */\n// Used for accessibility\n\nvar uuid = 0;\n\nfunction parseTabList(children) {\n return toArray(children).map(function (node) {\n if (React.isValidElement(node)) {\n var key = node.key !== undefined ? String(node.key) : undefined;\n return _objectSpread(_objectSpread({\n key: key\n }, node.props), {}, {\n node: node\n });\n }\n\n return null;\n }).filter(function (tab) {\n return tab;\n });\n}\n\nfunction Tabs(_ref, ref) {\n var _classNames;\n\n var id = _ref.id,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-tabs' : _ref$prefixCls,\n className = _ref.className,\n children = _ref.children,\n direction = _ref.direction,\n activeKey = _ref.activeKey,\n defaultActiveKey = _ref.defaultActiveKey,\n editable = _ref.editable,\n animated = _ref.animated,\n _ref$tabPosition = _ref.tabPosition,\n tabPosition = _ref$tabPosition === void 0 ? 'top' : _ref$tabPosition,\n tabBarGutter = _ref.tabBarGutter,\n tabBarStyle = _ref.tabBarStyle,\n tabBarExtraContent = _ref.tabBarExtraContent,\n locale = _ref.locale,\n moreIcon = _ref.moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n renderTabBar = _ref.renderTabBar,\n onChange = _ref.onChange,\n onTabClick = _ref.onTabClick,\n onTabScroll = _ref.onTabScroll,\n restProps = _objectWithoutProperties(_ref, [\"id\", \"prefixCls\", \"className\", \"children\", \"direction\", \"activeKey\", \"defaultActiveKey\", \"editable\", \"animated\", \"tabPosition\", \"tabBarGutter\", \"tabBarStyle\", \"tabBarExtraContent\", \"locale\", \"moreIcon\", \"moreTransitionName\", \"destroyInactiveTabPane\", \"renderTabBar\", \"onChange\", \"onTabClick\", \"onTabScroll\"]);\n\n var tabs = parseTabList(children);\n var rtl = direction === 'rtl';\n var mergedAnimated;\n\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true,\n tabPane: false\n }, animated !== true ? animated : null);\n } // ======================== Mobile ========================\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []); // ====================== Active Key ======================\n\n var _useMergedState = useMergedState(function () {\n var _tabs$;\n\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\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]; // Reset active key if not exist anymore\n\n\n useEffect(function () {\n var newActiveIndex = tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n\n if (newActiveIndex === -1) {\n var _tabs$newActiveIndex;\n\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\n setActiveIndex(newActiveIndex);\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), mergedActiveKey, activeIndex]); // ===================== Accessibility ====================\n\n var _useMergedState3 = useMergedState(null, {\n value: id\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedId = _useMergedState4[0],\n setMergedId = _useMergedState4[1];\n\n var mergedTabPosition = tabPosition;\n\n if (mobile && !['left', 'right'].includes(tabPosition)) {\n mergedTabPosition = 'top';\n } // Async generate id to avoid ssr mapping failed\n\n\n useEffect(function () {\n if (!id) {\n setMergedId(\"rc-tabs-\".concat(process.env.NODE_ENV === 'test' ? 'test' : uuid));\n uuid += 1;\n }\n }, []); // ======================== Events ========================\n\n function onInternalTabClick(key, e) {\n onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(key, e);\n setMergedActiveKey(key);\n onChange === null || onChange === void 0 ? void 0 : onChange(key);\n } // ======================== Render ========================\n\n\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: mergedTabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var tabNavBar;\n\n var tabNavBarProps = _objectSpread(_objectSpread({}, sharedProps), {}, {\n editable: editable,\n locale: locale,\n moreIcon: moreIcon,\n moreTransitionName: moreTransitionName,\n tabBarGutter: tabBarGutter,\n onTabClick: onInternalTabClick,\n onTabScroll: onTabScroll,\n extra: tabBarExtraContent,\n style: tabBarStyle,\n panes: children\n });\n\n if (renderTabBar) {\n tabNavBar = renderTabBar(tabNavBarProps, TabNavList);\n } else {\n tabNavBar = React.createElement(TabNavList, Object.assign({}, tabNavBarProps));\n }\n\n return React.createElement(TabContext.Provider, {\n value: {\n tabs: tabs,\n prefixCls: prefixCls\n }\n }, React.createElement(\"div\", Object.assign({\n ref: ref,\n id: id,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(mergedTabPosition), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-mobile\"), mobile), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable\"), editable), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl), _classNames), className)\n }, restProps), tabNavBar, React.createElement(TabPanelList, Object.assign({\n destroyInactiveTabPane: destroyInactiveTabPane\n }, sharedProps, {\n animated: mergedAnimated\n }))));\n}\n\nvar ForwardTabs = React.forwardRef(Tabs);\nForwardTabs.TabPane = TabPane;\nexport default ForwardTabs;","import Tabs from './Tabs';\nimport TabPane from './TabPanelList/TabPane';\nexport { TabPane };\nexport default Tabs;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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};\n\nimport * as React from 'react';\nimport RcTabs, { TabPane } from 'rc-tabs';\nimport classNames from 'classnames';\nimport EllipsisOutlined from '@ant-design/icons/EllipsisOutlined';\nimport PlusOutlined from '@ant-design/icons/PlusOutlined';\nimport CloseOutlined from '@ant-design/icons/CloseOutlined';\nimport devWarning from '../_util/devWarning';\nimport { ConfigContext } from '../config-provider';\n\nfunction Tabs(_a) {\n var _classNames;\n\n var type = _a.type,\n className = _a.className,\n size = _a.size,\n _onEdit = _a.onEdit,\n hideAdd = _a.hideAdd,\n centered = _a.centered,\n addIcon = _a.addIcon,\n props = __rest(_a, [\"type\", \"className\", \"size\", \"onEdit\", \"hideAdd\", \"centered\", \"addIcon\"]);\n\n var customizePrefixCls = props.prefixCls;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var prefixCls = getPrefixCls('tabs', customizePrefixCls);\n var editable;\n\n if (type === 'editable-card') {\n editable = {\n onEdit: function onEdit(editType, _ref) {\n var key = _ref.key,\n event = _ref.event;\n _onEdit === null || _onEdit === void 0 ? void 0 : _onEdit(editType === 'add' ? event : key, editType);\n },\n removeIcon: /*#__PURE__*/React.createElement(CloseOutlined, null),\n addIcon: addIcon || /*#__PURE__*/React.createElement(PlusOutlined, null),\n showAdd: hideAdd !== true\n };\n }\n\n devWarning(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.');\n return /*#__PURE__*/React.createElement(RcTabs, _extends({\n direction: direction\n }, props, {\n moreTransitionName: \"slide-up\",\n className: classNames(className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(size), size), _defineProperty(_classNames, \"\".concat(prefixCls, \"-card\"), ['card', 'editable-card'].includes(type)), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable-card\"), type === 'editable-card'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-centered\"), centered), _classNames)),\n editable: editable,\n moreIcon: /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n prefixCls: prefixCls\n }));\n}\n\nTabs.TabPane = TabPane;\nexport default Tabs;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nexport var responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport var responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)'\n};\nvar subscribers = new Map();\nvar subUid = -1;\nvar screens = {};\nvar responsiveObserve = {\n matchHandlers: {},\n dispatch: function dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(function (func) {\n return func(screens);\n });\n return subscribers.size >= 1;\n },\n subscribe: function subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe: function unsubscribe(token) {\n subscribers[\"delete\"](token);\n if (!subscribers.size) this.unregister();\n },\n unregister: function unregister() {\n var _this = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n var handler = _this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register: function register() {\n var _this2 = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n\n var listener = function listener(_ref) {\n var matches = _ref.matches;\n\n _this2.dispatch(_extends(_extends({}, screens), _defineProperty({}, screen, matches)));\n };\n\n var mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n _this2.matchHandlers[matchMediaQuery] = {\n mql: mql,\n listener: listener\n };\n listener(mql);\n });\n }\n};\nexport default responsiveObserve;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\nimport RowContext from './RowContext';\nimport { tuple } from '../_util/type';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nvar RowAligns = tuple('top', 'middle', 'bottom', 'stretch');\nvar RowJustify = tuple('start', 'end', 'center', 'space-around', 'space-between');\nvar Row = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _React$useState = React.useState({\n xs: true,\n sm: true,\n md: true,\n lg: true,\n xl: true,\n xxl: true\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n screens = _React$useState2[0],\n setScreens = _React$useState2[1];\n\n var gutterRef = React.useRef();\n gutterRef.current = props.gutter;\n React.useEffect(function () {\n var token = ResponsiveObserve.subscribe(function (screen) {\n var currentGutter = gutterRef.current || 0;\n\n if (!Array.isArray(currentGutter) && _typeof(currentGutter) === 'object' || Array.isArray(currentGutter) && (_typeof(currentGutter[0]) === 'object' || _typeof(currentGutter[1]) === 'object')) {\n setScreens(screen);\n }\n });\n return function () {\n ResponsiveObserve.unsubscribe(token);\n };\n }, []);\n\n var getGutter = function getGutter() {\n var results = [0, 0];\n var _props$gutter = props.gutter,\n gutter = _props$gutter === void 0 ? 0 : _props$gutter;\n var normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, 0];\n normalizedGutter.forEach(function (g, index) {\n if (_typeof(g) === 'object') {\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g || 0;\n }\n });\n return results;\n };\n\n var renderRow = function renderRow(_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var customizePrefixCls = props.prefixCls,\n justify = props.justify,\n align = props.align,\n className = props.className,\n style = props.style,\n children = props.children,\n others = __rest(props, [\"prefixCls\", \"justify\", \"align\", \"className\", \"style\", \"children\"]);\n\n var prefixCls = getPrefixCls('row', customizePrefixCls);\n var gutter = getGutter();\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(justify), justify), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(align), align), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n\n var rowStyle = _extends(_extends(_extends({}, gutter[0] > 0 ? {\n marginLeft: gutter[0] / -2,\n marginRight: gutter[0] / -2\n } : {}), gutter[1] > 0 ? {\n marginTop: gutter[1] / -2,\n marginBottom: gutter[1] / 2\n } : {}), style);\n\n var otherProps = _extends({}, others);\n\n delete otherProps.gutter;\n return /*#__PURE__*/React.createElement(RowContext.Provider, {\n value: {\n gutter: gutter\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, otherProps, {\n className: classes,\n style: rowStyle,\n ref: ref\n }), children));\n };\n\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, renderRow);\n});\nRow.displayName = 'Row';\nexport default Row;","import { Row } from '../grid';\nexport default Row;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport Grid from './Grid';\nimport Meta from './Meta';\nimport Tabs from '../tabs';\nimport Row from '../row';\nimport Col from '../col';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\n\nfunction getAction(actions) {\n var actionList = actions.map(function (action, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n style: {\n width: \"\".concat(100 / actions.length, \"%\")\n },\n key: \"action-\".concat(index)\n }, /*#__PURE__*/React.createElement(\"span\", null, action))\n );\n });\n return actionList;\n}\n\nvar Card = function Card(props) {\n var _extends2, _classNames;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var size = React.useContext(SizeContext);\n\n var onTabChange = function onTabChange(key) {\n if (props.onTabChange) {\n props.onTabChange(key);\n }\n };\n\n var isContainGrid = function isContainGrid() {\n var containGrid;\n React.Children.forEach(props.children, function (element) {\n if (element && element.type && element.type === Grid) {\n containGrid = true;\n }\n });\n return containGrid;\n };\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n extra = props.extra,\n _props$headStyle = props.headStyle,\n headStyle = _props$headStyle === void 0 ? {} : _props$headStyle,\n _props$bodyStyle = props.bodyStyle,\n bodyStyle = _props$bodyStyle === void 0 ? {} : _props$bodyStyle,\n title = props.title,\n loading = props.loading,\n _props$bordered = props.bordered,\n bordered = _props$bordered === void 0 ? true : _props$bordered,\n customizeSize = props.size,\n type = props.type,\n cover = props.cover,\n actions = props.actions,\n tabList = props.tabList,\n children = props.children,\n activeTabKey = props.activeTabKey,\n defaultActiveTabKey = props.defaultActiveTabKey,\n tabBarExtraContent = props.tabBarExtraContent,\n hoverable = props.hoverable,\n _props$tabProps = props.tabProps,\n tabProps = _props$tabProps === void 0 ? {} : _props$tabProps,\n others = __rest(props, [\"prefixCls\", \"className\", \"extra\", \"headStyle\", \"bodyStyle\", \"title\", \"loading\", \"bordered\", \"size\", \"type\", \"cover\", \"actions\", \"tabList\", \"children\", \"activeTabKey\", \"defaultActiveTabKey\", \"tabBarExtraContent\", \"hoverable\", \"tabProps\"]);\n\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n var loadingBlockStyle = bodyStyle.padding === 0 || bodyStyle.padding === '0px' ? {\n padding: 24\n } : undefined;\n var block = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-loading-block\")\n });\n var loadingBlock = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-loading-content\"),\n style: loadingBlockStyle\n }, /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 22\n }, block)), /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 8\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 15\n }, block)), /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 6\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 18\n }, block)), /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 13\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 9\n }, block)), /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 4\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 3\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 16\n }, block)));\n var hasActiveTabKey = activeTabKey !== undefined;\n\n var extraProps = _extends(_extends({}, tabProps), (_extends2 = {}, _defineProperty(_extends2, hasActiveTabKey ? 'activeKey' : 'defaultActiveKey', hasActiveTabKey ? activeTabKey : defaultActiveTabKey), _defineProperty(_extends2, \"tabBarExtraContent\", tabBarExtraContent), _extends2));\n\n var head;\n var tabs = tabList && tabList.length ? /*#__PURE__*/React.createElement(Tabs, _extends({\n size: \"large\"\n }, extraProps, {\n className: \"\".concat(prefixCls, \"-head-tabs\"),\n onChange: onTabChange\n }), tabList.map(function (item) {\n return /*#__PURE__*/React.createElement(Tabs.TabPane, {\n tab: item.tab,\n disabled: item.disabled,\n key: item.key\n });\n })) : null;\n\n if (title || extra || tabs) {\n head = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-head\"),\n style: headStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-head-wrapper\")\n }, title && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-head-title\")\n }, title), extra && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra\")\n }, extra)), tabs);\n }\n\n var coverDom = cover ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-cover\")\n }, cover) : null;\n var body = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-body\"),\n style: bodyStyle\n }, loading ? loadingBlock : children);\n var actionDom = actions && actions.length ? /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(prefixCls, \"-actions\")\n }, getAction(actions)) : null;\n var divProps = omit(others, ['onTabChange']);\n var mergedSize = customizeSize || size;\n var classString = classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-loading\"), loading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-bordered\"), bordered), _defineProperty(_classNames, \"\".concat(prefixCls, \"-hoverable\"), hoverable), _defineProperty(_classNames, \"\".concat(prefixCls, \"-contain-grid\"), isContainGrid()), _defineProperty(_classNames, \"\".concat(prefixCls, \"-contain-tabs\"), tabList && tabList.length), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(mergedSize), mergedSize), _defineProperty(_classNames, \"\".concat(prefixCls, \"-type-\").concat(type), !!type), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n className: classString\n }), head, coverDom, body, actionDom);\n};\n\nCard.Grid = Grid;\nCard.Meta = Meta;\nexport default Card;","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React from 'react';\nimport { css } from '@emotion/core';\nimport { Card } from 'antd';\nimport { GithubOutlined } from '@ant-design/icons';\nimport SEO from '../components/seo';\nimport Layout from '../components/layout';\nimport { pmc } from '../resources/data';\n\nconst { Meta } = Card;\n\nconst links = [\n [\n 'https://apache-superset.slack.com/join/shared_invite/zt-g8lpruog-HeqpgYrwdfrD5OYhlU7hPQ#/',\n 'Slack',\n 'interact with other Superset users and community members',\n ],\n [\n 'https://github.com/apache/incubator-superset',\n 'GitHub',\n 'create tickets to report issues, report bugs, and suggest new features',\n ],\n [\n 'https://lists.apache.org/list.html?dev@superset.apache.org',\n 'dev@ Mailing List',\n 'participate in conversations with committers and contributors',\n ],\n [\n 'https://stackoverflow.com/questions/tagged/superset+apache-superset',\n 'Stack Overflow',\n 'our growing knowledge base',\n ],\n [\n 'https://www.meetup.com/Global-Apache-Superset-Community-Meetup/',\n 'Superset Meetup Group',\n 'join our monthly virtual meetups and register for any upcoming events',\n ],\n [\n 'https://github.com/apache/incubator-superset/blob/master/INTHEWILD.md',\n 'Organizations',\n 'a list of some of the organizations using Superset in production',\n ],\n [\n 'https://github.com/apache-superset/awesome-apache-superset',\n 'Contributors Guide',\n 'Interested in contributing? Learn how to contribute and best practices',\n ],\n];\n\nconst titleContainer = css`\n text-align: center;\n background: #fff;\n padding-bottom: 200px;\n`;\n\nconst title = css`\n margin-top: 150px;\n font-size: 60px;\n`;\n\nconst communityContainer = css`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-around;\n max-width: 1000px;\n margin: 0 auto;\n overflow: auto;\n .communityCard {\n margin: 10px 20px;\n .ant-card-meta-title {\n text-overflow: clip;\n white-space: normal;\n font-size: 13px;\n }\n }\n`;\n\nconst getInvolvedContainer = css`\n padding: 40px 0;\n margin-bottom: 25px;\n .resources {\n display: block;\n font-size: 17px;\n margin: 20px 0;\n text-align: left;\n }\n .title {\n font-size: 45px;\n }\n .section {\n border-top: 1px solid #ccc;\n max-width: 800px;\n margin: 0 auto;\n padding: 30px 0;\n border-bottom: 1px solid #ccc;\n }\n .ppm {\n margin-top: 100px;\n margin-bottom: 100px;\n }\n`;\n\nconst Community = () => {\n const pmcList = pmc.map((e) => {\n const name = e.name.indexOf(' ');\n return (\n <a href={e.github} target=\"_blank\" rel=\"noreferrer\" key={name}>\n <Card\n className=\"communityCard\"\n hoverable\n style={{ width: '140px' }}\n size=\"small\"\n cover={<img alt=\"example\" src={e.image} />}\n >\n <GithubOutlined />\n <Meta title={e.name} />\n </Card>\n </a>\n );\n });\n return (\n <Layout>\n <SEO title=\"Community\" />\n <div css={titleContainer}>\n <h1 css={title}>Community</h1>\n <h2>Get involved in our welcoming, fast growing community!</h2>\n <div css={getInvolvedContainer}>\n <div className=\"joinCommunity section\">\n <h2 className=\"title\">How to get involved:</h2>\n <span className=\"resources\">\n {links.map(([href, link, post]) => (\n <>\n <a href={href}>{link}</a>\n {' '}\n -\n {post}\n <br />\n </>\n ))}\n </span>\n </div>\n <h3 className=\"title ppm\">Apache Committers</h3>\n <div css={communityContainer}>{pmcList}</div>\n </div>\n </div>\n </Layout>\n );\n};\n\nexport default Community;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _EllipsisOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/EllipsisOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar EllipsisOutlined = function EllipsisOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _EllipsisOutlined.default\n }));\n};\n\nEllipsisOutlined.displayName = 'EllipsisOutlined';\n\nvar _default = React.forwardRef(EllipsisOutlined);\n\nexports.default = _default;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RowContext from './RowContext';\nimport { ConfigConsumer } from '../config-provider';\n\nfunction parseFlex(flex) {\n if (typeof flex === 'number') {\n return \"\".concat(flex, \" \").concat(flex, \" auto\");\n }\n\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return \"0 0 \".concat(flex);\n }\n\n return flex;\n}\n\nvar Col = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var renderCol = function renderCol(_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var customizePrefixCls = props.prefixCls,\n span = props.span,\n order = props.order,\n offset = props.offset,\n push = props.push,\n pull = props.pull,\n className = props.className,\n children = props.children,\n flex = props.flex,\n style = props.style,\n others = __rest(props, [\"prefixCls\", \"span\", \"order\", \"offset\", \"push\", \"pull\", \"className\", \"children\", \"flex\", \"style\"]);\n\n var prefixCls = getPrefixCls('col', customizePrefixCls);\n var sizeClassObj = {};\n ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].forEach(function (size) {\n var _extends2;\n\n var sizeProps = {};\n var propSize = props[size];\n\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (_typeof(propSize) === 'object') {\n sizeProps = propSize || {};\n }\n\n delete others[size];\n sizeClassObj = _extends(_extends({}, sizeClassObj), (_extends2 = {}, _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-\").concat(sizeProps.span), sizeProps.span !== undefined), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-order-\").concat(sizeProps.order), sizeProps.order || sizeProps.order === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-offset-\").concat(sizeProps.offset), sizeProps.offset || sizeProps.offset === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-push-\").concat(sizeProps.push), sizeProps.push || sizeProps.push === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-pull-\").concat(sizeProps.pull), sizeProps.pull || sizeProps.pull === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _extends2));\n });\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(span), span !== undefined), _defineProperty(_classNames, \"\".concat(prefixCls, \"-order-\").concat(order), order), _defineProperty(_classNames, \"\".concat(prefixCls, \"-offset-\").concat(offset), offset), _defineProperty(_classNames, \"\".concat(prefixCls, \"-push-\").concat(push), push), _defineProperty(_classNames, \"\".concat(prefixCls, \"-pull-\").concat(pull), pull), _classNames), className, sizeClassObj);\n return /*#__PURE__*/React.createElement(RowContext.Consumer, null, function (_ref2) {\n var gutter = _ref2.gutter;\n\n var mergedStyle = _extends({}, style);\n\n if (gutter) {\n mergedStyle = _extends(_extends(_extends({}, gutter[0] > 0 ? {\n paddingLeft: gutter[0] / 2,\n paddingRight: gutter[0] / 2\n } : {}), gutter[1] > 0 ? {\n paddingTop: gutter[1] / 2,\n paddingBottom: gutter[1] / 2\n } : {}), mergedStyle);\n }\n\n if (flex) {\n mergedStyle.flex = parseFlex(flex);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n style: mergedStyle,\n className: classes,\n ref: ref\n }), children);\n });\n };\n\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, renderCol);\n});\nCol.displayName = 'Col';\nexport default Col;","import { Col } from '../grid';\nexport default Col;","import { createContext } from 'react';\nvar RowContext = /*#__PURE__*/createContext({});\nexport default RowContext;","import '../../style/index.css'; // style dependencies\n// deps-lint-skip: grid\n\nimport '../../grid/style/css';","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nimport * as React from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport ResizeObserver from 'resize-observer-polyfill';\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key'; // Still need to be compatible with React 15, we use class component here\n\nvar ReactResizeObserver =\n/** @class */\nfunction () {\n var ReactResizeObserver = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactResizeObserver, _React$Component);\n\n var _super = _createSuper(ReactResizeObserver);\n\n function ReactResizeObserver() {\n var _this;\n\n _classCallCheck(this, ReactResizeObserver);\n\n _this = _super.apply(this, arguments);\n _this.resizeObserver = null;\n _this.childNode = null;\n _this.currentElement = null;\n _this.state = {\n width: 0,\n height: 0\n };\n\n _this.onResize = function (entries) {\n var onResize = _this.props.onResize;\n var target = entries[0].target;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (_this.state.width !== fixedWidth || _this.state.height !== fixedHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight\n };\n\n _this.setState(size);\n\n if (onResize) {\n onResize(_objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n }));\n }\n }\n };\n\n _this.setChildNode = function (node) {\n _this.childNode = node;\n };\n\n return _this;\n }\n\n _createClass(ReactResizeObserver, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onComponentUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onComponentUpdated();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyObserver();\n }\n }, {\n key: \"onComponentUpdated\",\n value: function onComponentUpdated() {\n var disabled = this.props.disabled; // Unregister if disabled\n\n if (disabled) {\n this.destroyObserver();\n return;\n } // Unregister if element changed\n\n\n var element = findDOMNode(this.childNode || this);\n var elementChanged = element !== this.currentElement;\n\n if (elementChanged) {\n this.destroyObserver();\n this.currentElement = element;\n }\n\n if (!this.resizeObserver && element) {\n this.resizeObserver = new ResizeObserver(this.onResize);\n this.resizeObserver.observe(element);\n }\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n var childNodes = toArray(children);\n\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Will only observe first one.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n return null;\n }\n\n var childNode = childNodes[0];\n\n if (React.isValidElement(childNode) && supportRef(childNode)) {\n var ref = childNode.ref;\n childNodes[0] = React.cloneElement(childNode, {\n ref: composeRef(ref, this.setChildNode)\n });\n }\n\n return childNodes.length === 1 ? childNodes[0] : childNodes.map(function (node, index) {\n if (!React.isValidElement(node) || 'key' in node && node.key !== null) {\n return node;\n }\n\n return React.cloneElement(node, {\n key: \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index)\n });\n });\n }\n }]);\n\n return ReactResizeObserver;\n }(React.Component);\n\n ReactResizeObserver.displayName = 'ResizeObserver';\n return ReactResizeObserver;\n}();\n\nexport default ReactResizeObserver;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _PlusOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/PlusOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar PlusOutlined = function PlusOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _PlusOutlined.default\n }));\n};\n\nPlusOutlined.displayName = 'PlusOutlined';\n\nvar _default = React.forwardRef(PlusOutlined);\n\nexports.default = _default;"],"sourceRoot":""}