@capillarytech/blaze-ui 5.0.6 → 5.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.npmrc +2 -0
- package/CapCondition/messages.d.ts +85 -0
- package/CapCondition/messages.d.ts.map +1 -0
- package/CapConditionPreview/MIGRATION_ANALYSIS.md +70 -0
- package/CapConditionPreview/README.md +40 -0
- package/CapConditionPreview/constants.d.ts +24 -0
- package/CapConditionPreview/constants.d.ts.map +1 -0
- package/CapConditionPreview/index.d.ts +7 -0
- package/CapConditionPreview/index.d.ts.map +1 -0
- package/CapConditionPreview/index.js +132 -184
- package/CapConditionPreview/index.js.map +1 -1
- package/CapConditionPreview/tests/USE_CASES_CapConditionPreview.md +65 -0
- package/CapConditionPreview/types.d.ts +82 -0
- package/CapConditionPreview/types.d.ts.map +1 -0
- package/CapListLayout/index.js +193 -25
- package/CapListLayout/index.js.map +1 -1
- package/CapNavigation/index.js +6 -7
- package/CapNavigation/index.js.map +1 -1
- package/CapSteps/Status.md +40 -0
- package/CapSteps/index.d.ts +30 -0
- package/CapSteps/index.d.ts.map +1 -0
- package/CapSteps/index.js +657 -24
- package/CapSteps/index.js.map +1 -1
- package/CapSteps/types.d.ts +26 -0
- package/CapSteps/types.d.ts.map +1 -0
- package/CapTab/README.md +406 -0
- package/CapTab/Status.md +104 -0
- package/CapTab/index.d.ts +1 -27
- package/CapTab/index.d.ts.map +1 -1
- package/CapTab/index.js +56 -7
- package/CapTab/index.js.map +1 -1
- package/CapTab/tests/USE_CASE_GAPS.md +143 -0
- package/CapTab/types.d.ts +29 -0
- package/CapTab/types.d.ts.map +1 -0
- package/CapTabV3/ANALYSIS.md +60 -0
- package/CapTabV3/README.md +156 -0
- package/CapTabV3/Status.md +52 -0
- package/CapTabV3/index.d.ts +9 -0
- package/CapTabV3/index.d.ts.map +1 -0
- package/CapTabV3/index.js +105 -67
- package/CapTabV3/index.js.map +1 -1
- package/CapTabV3/tests/USE_CASE_GAPS.md +149 -0
- package/CapTabV3/types.d.ts +28 -0
- package/CapTabV3/types.d.ts.map +1 -0
- package/CapTable/README.md +160 -0
- package/CapTable/Status.md +41 -0
- package/CapTable/index.d.ts +2 -21
- package/CapTable/index.d.ts.map +1 -1
- package/CapTable/index.js +193 -25
- package/CapTable/index.js.map +1 -1
- package/CapTable/types.d.ts +46 -0
- package/CapTable/types.d.ts.map +1 -0
- package/CapTable/utils.d.ts +24 -0
- package/CapTable/utils.d.ts.map +1 -0
- package/CapTimePicker/index.js +51 -129
- package/CapTimePicker/index.js.map +1 -1
- package/CapUserProfile/index.js +6 -7
- package/CapUserProfile/index.js.map +1 -1
- package/CapVerticalGroupTable/index.js +193 -25
- package/CapVerticalGroupTable/index.js.map +1 -1
- package/index.d.ts +7 -3
- package/index.d.ts.map +1 -1
- package/index.js +1271 -233
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/utils/getCapThemeConfig.d.ts.map +1 -1
- package/utils/index.js +9 -1
- package/utils/index.js.map +1 -1
- package/.DS_Store +0 -0
- package/CapTimePicker/index.d.ts +0 -11
- package/CapTimePicker/index.d.ts.map +0 -1
- package/CapTimePicker/types.d.ts +0 -95
- package/CapTimePicker/types.d.ts.map +0 -1
package/CapSteps/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapSteps/index.js","mappings":";;;;;;;AAAA,kC;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACa,MAAM,mBAAO,CAAC,IAAO,6KAA6K;AAC/M,kBAAkB,UAAU,eAAe,qBAAqB,6BAA6B,0BAA0B,0DAA0D,4EAA4E,OAAO,wDAAwD,gBAAgB,GAAG,WAAW,GAAG,YAAY;;;;;;;;ACVzW,uC;;;;;;;ACAa;;AAEb,IAAI,IAAqC;AACzC,EAAE,2CAAqE;AACvE,EAAE,KAAK;AAAA,EAEN;;;;;;;;ACND,iC;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;;;;;;;AChBA,IAAAA,KAAA,GAAAC,mBAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,mBAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,mBAAA;AAA0B,IAAAI,WAAA,GAAAJ,mBAAA;AAAA,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA,KAR1B;AACA;AACA;AACA;AACA;AAMA,MAAM;EAAEO;AAAK,CAAC,GAAGC,WAAK;AACtB,SAASC,QAAQA,CAACC,KAAK,EAAE;EACvB,MAAMC,SAAS,kBAAgBD,KAAK,CAACC,SAAW;EAChD,MAAMC,UAAU,GAAAjB,QAAA,KAAQe,KAAK;IAAEC;EAAS,EAAE;EAC1C,oBAAO,IAAApB,WAAA,CAAAsB,GAAA,EAAC3B,KAAA,CAAAsB,KAAK,EAAAb,QAAA,KAAKiB,UAAU,CAAG,CAAC;AAClC;AAEAH,QAAQ,CAACK,OAAO,GAAGP,IAAI;AAEvBE,QAAQ,CAACM,SAAS,GAAG;EACnBJ,SAAS,EAAEK,kBAAS,CAACC;AACvB,CAAC;AAAC,IAAAC,QAAA,GAAAC,kBAAA,GAEaV,QAAQ,C","sources":["webpack://@capillarytech/blaze-ui/external commonjs2 {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://@capillarytech/blaze-ui/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://@capillarytech/blaze-ui/external commonjs2 \"prop-types\"","webpack://@capillarytech/blaze-ui/./node_modules/react/jsx-runtime.js","webpack://@capillarytech/blaze-ui/external commonjs2 \"antd\"","webpack://@capillarytech/blaze-ui/webpack/bootstrap","webpack://@capillarytech/blaze-ui/./components/CapSteps/index.tsx"],"sourcesContent":["module.exports = require(\"react\");","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","module.exports = require(\"prop-types\");","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = require(\"antd\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","/**\n *\n * CapSteps\n *\n */\n\nimport { Steps } from 'antd';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst { Step } = Steps;\nfunction CapSteps(props) {\n const className = `cap-steps ${props.className}`;\n const stepsProps = { ...props, className };\n return <Steps {...stepsProps} />;\n}\n\nCapSteps.CapStep = Step;\n\nCapSteps.propTypes = {\n className: PropTypes.string,\n};\n\nexport default CapSteps;\n"],"names":["_antd","require","_propTypes","_interopRequireDefault","_react","_jsxRuntime","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","Step","Steps","CapSteps","props","className","stepsProps","jsx","CapStep","propTypes","PropTypes","string","_default","exports"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"CapSteps/index.js","mappings":";;;;;;;AAAA,kC;;;;;;;;ACAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACa,MAAM,mBAAO,CAAC,IAAO,6KAA6K;AAC/M,kBAAkB,UAAU,eAAe,qBAAqB,6BAA6B,0BAA0B,0DAA0D,4EAA4E,OAAO,wDAAwD,gBAAgB,GAAG,WAAW,GAAG,YAAY;;;;;;;;ACVzW;AACA,+CAA+C,mBAAO,CAAC,KAA4D;AACnH,kCAAkC,mBAAO,CAAC,KAAmD;AAC7F;AACA;AACA,oLAAoL,yCAAyC,wDAAwD,kBAAkB,+CAA+C,yBAAyB,WAAW,WAAW,yBAAyB,yCAAyC,oBAAoB,sEAAsE,yBAAyB,uEAAuE,yBAAyB,+CAA+C,mBAAmB,wDAAwD,wBAAwB;AAC5yB;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;;AAEb;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,GAAG,SAAS,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,kGAAC;AACJ,GAAG,KAAK;AAAA,EAEN;AACF,CAAC;;;;;;;;;AC5EY;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;AACjF;AACA;AACA;AACA;AACA,gD;;;;;;;;ACTA,oC;;;;;;;;ACAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,oDAAoD;AACpD;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,wB;;;;;;;;ACrFa;;AAEb,IAAI,IAAqC;AACzC,EAAE,2CAAqE;AACvE,EAAE,KAAK;AAAA,EAEN;;;;;;;;;ACNY;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;ACpFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCA,MAAkG;AAClG,MAAiG;AACjG,MAA+F;AAC/F,MAAkH;AAClH,MAA2G;AAC3G;AACA,MAA2M;AAC3M;AACA;;AAEA;;AAEA;AACA,wBAAwB,kHAAa;AACrC,iBAAiB,uGAAa;AAC9B,iBAAiB,wGAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,8KAAO;;;;AAIqJ;AAC7K,OAAO,iEAAe,8KAAO,IAAI,qLAAc,GAAG,qLAAc,YAAY,EAAC;;;;;;;;;ACxBhE;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;UCnFA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;WCNA,mC;;;;;;;;;;;;;ACMA,IAAAA,MAAA,GAAAC,mBAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,mBAAA;AACA,IAAAG,MAAA,GAA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","sources":["webpack://@capillarytech/blaze-ui/external commonjs2 {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://@capillarytech/blaze-ui/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@capillarytech/blaze-ui/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://@capillarytech/blaze-ui/./components/CapSteps/styles.scss","webpack://@capillarytech/blaze-ui/./node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack://@capillarytech/blaze-ui/./node_modules/classnames/index.js","webpack://@capillarytech/blaze-ui/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@capillarytech/blaze-ui/external commonjs2 \"antd-v5\"","webpack://@capillarytech/blaze-ui/./node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js","webpack://@capillarytech/blaze-ui/./node_modules/react/jsx-runtime.js","webpack://@capillarytech/blaze-ui/./node_modules/css-loader/dist/runtime/api.js","webpack://@capillarytech/blaze-ui/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@capillarytech/blaze-ui/./components/CapSteps/styles.scss?c177","webpack://@capillarytech/blaze-ui/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@capillarytech/blaze-ui/webpack/bootstrap","webpack://@capillarytech/blaze-ui/webpack/runtime/compat get default export","webpack://@capillarytech/blaze-ui/webpack/runtime/define property getters","webpack://@capillarytech/blaze-ui/webpack/runtime/hasOwnProperty shorthand","webpack://@capillarytech/blaze-ui/webpack/runtime/make namespace object","webpack://@capillarytech/blaze-ui/webpack/runtime/nonce","webpack://@capillarytech/blaze-ui/./components/CapSteps/index.tsx"],"sourcesContent":["module.exports = require(\"react\");","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.cap-steps-wrapper .ant-steps-title-horizontal:not(.ant-steps-vertical),.cap-steps-wrapper .ant-steps-horizontal:not(.ant-steps-vertical){--ant-steps-description-max-width: 10rem}.cap-steps-wrapper .ant-steps-item .ant-steps-item-rail{min-width:.714rem}.cap-steps-wrapper .ant-steps-item-tail::after{display:block !important;width:100%;height:1px;background-color:#dfe2e7}.cap-steps-wrapper .ant-steps-item-title{word-break:keep-all}.cap-steps-wrapper .ant-steps-item-finish .ant-steps-item-tail::after{background-color:#47af46}.cap-steps-wrapper .ant-steps-item-process .ant-steps-item-tail::after{background-color:#dfe2e7}.cap-steps-wrapper .ant-steps-item-description{margin-top:.285rem}.cap-steps-wrapper &.ant-steps-vertical .ant-steps-item{padding-bottom:1.714rem}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"cap-steps-wrapper\": `cap-steps-wrapper`\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","module.exports = require(\"antd-v5\");","\"use strict\";\n\n/* istanbul ignore next */\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join(\"\\n\");\n };\n}();\n\n/* istanbul ignore next */\nfunction apply(styleElement, index, remove, obj) {\n var css;\n if (remove) {\n css = \"\";\n } else {\n css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n }\n\n // For old IE\n /* istanbul ignore if */\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = styleElement.childNodes;\n if (childNodes[index]) {\n styleElement.removeChild(childNodes[index]);\n }\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index]);\n } else {\n styleElement.appendChild(cssNode);\n }\n }\n}\nvar singletonData = {\n singleton: null,\n singletonCounter: 0\n};\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") return {\n update: function update() {},\n remove: function remove() {}\n };\n\n // eslint-disable-next-line no-undef,no-use-before-define\n var styleIndex = singletonData.singletonCounter++;\n var styleElement =\n // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton || (\n // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton = options.insertStyleElement(options));\n return {\n update: function update(obj) {\n apply(styleElement, styleIndex, false, obj);\n },\n remove: function remove(obj) {\n apply(styleElement, styleIndex, true, obj);\n }\n };\n}\nmodule.exports = domAPI;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n \n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./styles.scss\";\n \n \n\nvar options = {};\n\n;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./styles.scss\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","/**\n *\n * CapSteps\n *\n */\n\nimport { Steps } from 'antd-v5';\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\n\nimport styles from './styles.scss';\nimport type { CapStepsProps, CapStepProps } from './types';\n\n/**\n * CapStep component for backward compatibility\n * This component is used as a child of CapSteps and collects its props\n * to be converted to items array internally\n */\nconst CapStepComponent: React.FC<CapStepProps> = () => {\n // This component doesn't render anything itself\n // Its props are collected by the parent CapSteps component\n return null;\n};\n\nCapStepComponent.displayName = 'CapStep';\n\n/**\n * CapSteps component with backward compatibility support\n * Supports both:\n * 1. items prop (antd v5 native API)\n * 2. children API with CapSteps.CapStep (backward compatibility)\n */\nconst CapStepsComponent: React.FC<CapStepsProps> = ({ className, children, items, ...props }) => {\n const combinedClassName = classNames(styles['cap-steps'], className);\n\n // Convert children to items if children are provided but items are not\n const itemsFromChildren = useMemo(() => {\n if (items) return items;\n\n if (!children) return undefined;\n\n const childrenArray = React.Children.toArray(children);\n\n const isCapStep = (child: React.ReactNode): child is React.ReactElement<CapStepProps> => {\n if (!React.isValidElement(child)) return false;\n\n if (child.type === CapStepComponent) return true;\n\n // Check if child.type has displayName property\n const childType = child.type as React.ComponentType<CapStepProps> & { displayName?: string };\n return childType?.displayName === 'CapStep';\n };\n\n const stepChildren = childrenArray.filter(isCapStep);\n\n if (!stepChildren.length) return undefined;\n\n return stepChildren.map((child, index) => {\n const { title, subTitle, description, icon, status, disabled, ...rest } = child.props;\n\n return {\n key: child.key ?? index,\n title,\n subTitle,\n description,\n icon,\n status,\n disabled,\n ...rest, // ✅ keeps onClick, style, className, etc.\n };\n });\n }, [children, items]);\n\n return (\n <div className={styles['cap-steps-wrapper']}>\n <Steps {...props} items={itemsFromChildren} className={combinedClassName} />\n </div>\n );\n};\n\n/**\n * Attach CapStep as a static property for backward compatibility\n * This allows usage like: <CapSteps><CapSteps.CapStep title=\"Step 1\" /></CapSteps>\n */\nconst CapSteps = CapStepsComponent as typeof CapStepsComponent & {\n CapStep: typeof CapStepComponent;\n};\n\nCapSteps.CapStep = CapStepComponent;\nCapSteps.displayName = 'CapSteps';\n\nexport default CapSteps;\nexport type { CapStepsProps, CapStepProps } from './types';\n"],"names":["_antdV","require","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_styles","_jsxRuntime","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutPropertiesLoose","indexOf","CapStepComponent","displayName","CapStepsComponent","_ref","className","children","items","props","combinedClassName","classNames","styles","itemsFromChildren","useMemo","undefined","childrenArray","React","Children","toArray","isCapStep","child","isValidElement","type","childType","stepChildren","filter","map","index","_child$key","_child$props","title","subTitle","description","icon","status","disabled","rest","key","jsx","Steps","CapSteps","CapStep","_default","exports"],"sourceRoot":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { StepsProps } from 'antd-v5';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Step component props interface for backward compatibility
|
|
5
|
+
*/
|
|
6
|
+
export interface CapStepProps {
|
|
7
|
+
title?: React.ReactNode;
|
|
8
|
+
subTitle?: React.ReactNode;
|
|
9
|
+
description?: React.ReactNode;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
status?: 'wait' | 'process' | 'finish' | 'error';
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
export interface CapStepsProps extends Omit<StepsProps, 'children'> {
|
|
16
|
+
className?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Children API for backward compatibility
|
|
19
|
+
* Use CapSteps.CapStep components as children
|
|
20
|
+
* Example: <CapSteps><CapSteps.CapStep title="Step 1" /></CapSteps>
|
|
21
|
+
*
|
|
22
|
+
* Note: If both `items` and `children` are provided, `items` takes precedence
|
|
23
|
+
*/
|
|
24
|
+
children?: React.ReactNode;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../components/CapSteps/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
|
package/CapTab/README.md
ADDED
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
# CapTab
|
|
2
|
+
|
|
3
|
+
Enhanced tab component built on Ant Design v6 with backward compatibility for Ant Design v3/v5 APIs.
|
|
4
|
+
|
|
5
|
+
## Summary of Changes from cap-ui-library
|
|
6
|
+
|
|
7
|
+
The `CapTab` component has been migrated from `cap-ui-library` to `blaze-ui` with the following updates:
|
|
8
|
+
|
|
9
|
+
- **TypeScript**: Full TypeScript implementation with proper type definitions
|
|
10
|
+
- **Ant Design v6**: Updated to use Ant Design v6 APIs while maintaining backward compatibility
|
|
11
|
+
- **SCSS Modules**: Uses SCSS modules for styling
|
|
12
|
+
- **Enhanced API**: Added support for Ant Design v6 `items` prop pattern
|
|
13
|
+
- **Backward Compatible**: All deprecated props from Ant Design v3/v5 still work with console warnings
|
|
14
|
+
|
|
15
|
+
## Props
|
|
16
|
+
|
|
17
|
+
### Supported Props
|
|
18
|
+
|
|
19
|
+
The component accepts all Ant Design v6 `Tabs` props, plus the following additions:
|
|
20
|
+
|
|
21
|
+
| Prop | Type | Default | Description |
|
|
22
|
+
|------|------|---------|-------------|
|
|
23
|
+
| `panes` | `TabPaneData[]` | `[]` | Array of tab pane data objects |
|
|
24
|
+
| `className` | `string` | - | Custom class name for the tabs wrapper |
|
|
25
|
+
| `animated` | `boolean \| { inkBar?: boolean; tabPane?: boolean }` | `true` (except when `type="card"`) | Animation configuration |
|
|
26
|
+
| `type` | `'line' \| 'card' \| 'editable-card'` | `'line'` | Tab type |
|
|
27
|
+
| `size` | `'large' \| 'middle' \| 'small'` | `'middle'` | Tab size |
|
|
28
|
+
| `tabPlacement` | `'top' \| 'end' \| 'bottom' \| 'start'` | - | Tab placement (v6 API) |
|
|
29
|
+
| `activeKey` | `string` | - | Active tab key |
|
|
30
|
+
| `defaultActiveKey` | `string` | - | Default active tab key |
|
|
31
|
+
| `onChange` | `(activeKey: string) => void` | - | Callback when active tab changes |
|
|
32
|
+
| `onEdit` | `(targetKey: string, action: 'add' \| 'remove') => void` | - | Callback for editable tabs |
|
|
33
|
+
|
|
34
|
+
### Deprecated Props (Still Supported)
|
|
35
|
+
|
|
36
|
+
The following Ant Design component APIs are deprecated but still supported for backward compatibility:
|
|
37
|
+
|
|
38
|
+
#### `tabPosition` Prop (Ant Design Tabs Component)
|
|
39
|
+
|
|
40
|
+
- **Status:** ⚠️ Deprecated
|
|
41
|
+
- **Ant Design Component:** Tabs
|
|
42
|
+
- **Deprecated Prop:** `tabPosition`
|
|
43
|
+
- **Replacement:** Use `tabPlacement` prop instead
|
|
44
|
+
- **Migration:** Replace `tabPosition` with `tabPlacement` and update values (`left` → `start`, `right` → `end`)
|
|
45
|
+
- **Removal:** Will be removed in next major version
|
|
46
|
+
|
|
47
|
+
**Before (Deprecated):**
|
|
48
|
+
```tsx
|
|
49
|
+
import { CapTab } from '@capillarytech/blaze-ui';
|
|
50
|
+
|
|
51
|
+
<CapTab
|
|
52
|
+
tabPosition="left"
|
|
53
|
+
panes={[
|
|
54
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
55
|
+
{ tab: 'Tab 2', content: 'Content 2' },
|
|
56
|
+
]}
|
|
57
|
+
/>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**After (Recommended):**
|
|
61
|
+
```tsx
|
|
62
|
+
import { CapTab } from '@capillarytech/blaze-ui';
|
|
63
|
+
|
|
64
|
+
<CapTab
|
|
65
|
+
tabPlacement="start"
|
|
66
|
+
panes={[
|
|
67
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
68
|
+
{ tab: 'Tab 2', content: 'Content 2' },
|
|
69
|
+
]}
|
|
70
|
+
/>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Placement Value Mapping:**
|
|
74
|
+
- `left` → `start` (v6 API)
|
|
75
|
+
- `right` → `end` (v6 API)
|
|
76
|
+
- `top` → `top` (unchanged)
|
|
77
|
+
- `bottom` → `bottom` (unchanged)
|
|
78
|
+
|
|
79
|
+
**Note:** A deprecation warning will be shown in development mode when using `tabPosition` instead of `tabPlacement`.
|
|
80
|
+
|
|
81
|
+
#### `TabPane` Children Pattern (Ant Design Tabs Component)
|
|
82
|
+
|
|
83
|
+
- **Status:** ⚠️ Deprecated
|
|
84
|
+
- **Ant Design Component:** Tabs
|
|
85
|
+
- **Deprecated Pattern:** `TabPane` children pattern (using `<TabPane>` components as children)
|
|
86
|
+
- **Replacement:** Use `items` prop (via `panes` prop in CapTab)
|
|
87
|
+
- **Migration:** Convert `TabPane` children structure to `panes` array format
|
|
88
|
+
- **Removal:** Will be removed in next major version
|
|
89
|
+
|
|
90
|
+
**Before (Deprecated in Ant Design v6):**
|
|
91
|
+
```tsx
|
|
92
|
+
import { Tabs } from 'antd';
|
|
93
|
+
const { TabPane } = Tabs;
|
|
94
|
+
|
|
95
|
+
<Tabs>
|
|
96
|
+
<TabPane tab="Tab 1" key="1">Content 1</TabPane>
|
|
97
|
+
<TabPane tab="Tab 2" key="2">Content 2</TabPane>
|
|
98
|
+
</Tabs>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**After (Recommended):**
|
|
102
|
+
```tsx
|
|
103
|
+
import { CapTab } from '@capillarytech/blaze-ui';
|
|
104
|
+
|
|
105
|
+
<CapTab
|
|
106
|
+
panes={[
|
|
107
|
+
{ tab: 'Tab 1', key: '1', content: 'Content 1' },
|
|
108
|
+
{ tab: 'Tab 2', key: '2', content: 'Content 2' },
|
|
109
|
+
]}
|
|
110
|
+
/>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Note:** CapTab internally converts the `panes` prop to Ant Design v6's `items` format. The original component from `cap-ui-library` used the `TabPane` children pattern, which is deprecated in Ant Design v6. The migrated component handles this conversion automatically.
|
|
114
|
+
|
|
115
|
+
## Deprecated APIs Summary
|
|
116
|
+
|
|
117
|
+
| Deprecated API | Ant Design Component | Replacement | Removal Version |
|
|
118
|
+
|----------------|---------------------|-------------|----------------|
|
|
119
|
+
| `tabPosition` prop | Tabs | `tabPlacement` prop | Next major version |
|
|
120
|
+
| `TabPane` children pattern | Tabs | `items` prop (via `panes`) | Next major version |
|
|
121
|
+
|
|
122
|
+
## API Changes
|
|
123
|
+
|
|
124
|
+
### Tab Placement (Ant Design Tabs Component)
|
|
125
|
+
|
|
126
|
+
**Old API (deprecated):**
|
|
127
|
+
```tsx
|
|
128
|
+
<CapTab
|
|
129
|
+
tabPosition="left"
|
|
130
|
+
panes={[
|
|
131
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
132
|
+
{ tab: 'Tab 2', content: 'Content 2' },
|
|
133
|
+
]}
|
|
134
|
+
/>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**New API (recommended):**
|
|
138
|
+
```tsx
|
|
139
|
+
<CapTab
|
|
140
|
+
tabPlacement="start"
|
|
141
|
+
panes={[
|
|
142
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
143
|
+
{ tab: 'Tab 2', content: 'Content 2' },
|
|
144
|
+
]}
|
|
145
|
+
/>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Placement Value Mapping:**
|
|
149
|
+
- `left` → `start` (v6 API)
|
|
150
|
+
- `right` → `end` (v6 API)
|
|
151
|
+
- `top` → `top` (unchanged)
|
|
152
|
+
- `bottom` → `bottom` (unchanged)
|
|
153
|
+
|
|
154
|
+
### TabPane Children Pattern (Ant Design Tabs Component)
|
|
155
|
+
|
|
156
|
+
The original component used `TabPane` children pattern, which is deprecated in Ant Design v6. The migrated component handles this internally by converting the `panes` prop to the `items` format required by Ant Design v6.
|
|
157
|
+
|
|
158
|
+
**Original Pattern (deprecated in Ant Design v6):**
|
|
159
|
+
```tsx
|
|
160
|
+
// This pattern is deprecated in Ant Design v6
|
|
161
|
+
<Tabs>
|
|
162
|
+
<TabPane tab="Tab 1" key="1">Content 1</TabPane>
|
|
163
|
+
<TabPane tab="Tab 2" key="2">Content 2</TabPane>
|
|
164
|
+
</Tabs>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Current Pattern (recommended):**
|
|
168
|
+
```tsx
|
|
169
|
+
// CapTab handles this conversion internally
|
|
170
|
+
<CapTab
|
|
171
|
+
panes={[
|
|
172
|
+
{ tab: 'Tab 1', key: '1', content: 'Content 1' },
|
|
173
|
+
{ tab: 'Tab 2', key: '2', content: 'Content 2' },
|
|
174
|
+
]}
|
|
175
|
+
/>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Behavioral Changes
|
|
179
|
+
|
|
180
|
+
### No Breaking Changes
|
|
181
|
+
|
|
182
|
+
The component maintains **100% backward compatibility** with `cap-ui-library` v8.x. All existing code will continue to work without modifications.
|
|
183
|
+
|
|
184
|
+
### Enhanced Features
|
|
185
|
+
|
|
186
|
+
- **Tab Placement**: Support for Ant Design v6 `tabPlacement` API with automatic mapping of deprecated values
|
|
187
|
+
- **Items Format**: Internal conversion from `panes` to Ant Design v6 `items` format
|
|
188
|
+
- **Animation Configuration**: Enhanced animation API supporting boolean or object configuration
|
|
189
|
+
- **Stable Keys**: Automatic key generation for panes without explicit keys
|
|
190
|
+
|
|
191
|
+
## Migration Steps for Consumers
|
|
192
|
+
|
|
193
|
+
### Step 1: Update Imports
|
|
194
|
+
|
|
195
|
+
**Before:**
|
|
196
|
+
```tsx
|
|
197
|
+
import { CapTab } from '@capillarytech/cap-ui-library';
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**After:**
|
|
201
|
+
```tsx
|
|
202
|
+
import { CapTab } from '@capillarytech/blaze-ui';
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Step 2: Update Deprecated Props (Optional)
|
|
206
|
+
|
|
207
|
+
While deprecated props still work, it's recommended to update them:
|
|
208
|
+
|
|
209
|
+
**Before:**
|
|
210
|
+
```tsx
|
|
211
|
+
<CapTab
|
|
212
|
+
tabPosition="left"
|
|
213
|
+
panes={[
|
|
214
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
215
|
+
{ tab: 'Tab 2', content: 'Content 2' },
|
|
216
|
+
]}
|
|
217
|
+
/>
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**After:**
|
|
221
|
+
```tsx
|
|
222
|
+
<CapTab
|
|
223
|
+
tabPlacement="start"
|
|
224
|
+
panes={[
|
|
225
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
226
|
+
{ tab: 'Tab 2', content: 'Content 2' },
|
|
227
|
+
]}
|
|
228
|
+
/>
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Code Examples
|
|
232
|
+
|
|
233
|
+
### Basic Usage
|
|
234
|
+
|
|
235
|
+
```tsx
|
|
236
|
+
import { CapTab } from '@capillarytech/blaze-ui';
|
|
237
|
+
|
|
238
|
+
function MyComponent() {
|
|
239
|
+
return (
|
|
240
|
+
<CapTab
|
|
241
|
+
panes={[
|
|
242
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
243
|
+
{ tab: 'Tab 2', content: 'Content 2' },
|
|
244
|
+
{ tab: 'Tab 3', content: 'Content 3' },
|
|
245
|
+
]}
|
|
246
|
+
/>
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### With Different Tab Types
|
|
252
|
+
|
|
253
|
+
```tsx
|
|
254
|
+
// Line tabs (default)
|
|
255
|
+
<CapTab type="line" panes={panes} />
|
|
256
|
+
|
|
257
|
+
// Card tabs
|
|
258
|
+
<CapTab type="card" panes={panes} />
|
|
259
|
+
|
|
260
|
+
// Editable card tabs
|
|
261
|
+
<CapTab
|
|
262
|
+
type="editable-card"
|
|
263
|
+
panes={panes}
|
|
264
|
+
onEdit={(key, action) => {
|
|
265
|
+
if (action === 'add') {
|
|
266
|
+
// Handle add
|
|
267
|
+
} else {
|
|
268
|
+
// Handle remove
|
|
269
|
+
}
|
|
270
|
+
}}
|
|
271
|
+
/>
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### With Different Tab Placements
|
|
275
|
+
|
|
276
|
+
```tsx
|
|
277
|
+
// Top (default)
|
|
278
|
+
<CapTab tabPlacement="top" panes={panes} />
|
|
279
|
+
|
|
280
|
+
// Bottom
|
|
281
|
+
<CapTab tabPlacement="bottom" panes={panes} />
|
|
282
|
+
|
|
283
|
+
// Start (left)
|
|
284
|
+
<CapTab tabPlacement="start" panes={panes} />
|
|
285
|
+
|
|
286
|
+
// End (right)
|
|
287
|
+
<CapTab tabPlacement="end" panes={panes} />
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### With Controlled Active Key
|
|
291
|
+
|
|
292
|
+
```tsx
|
|
293
|
+
import { useState } from 'react';
|
|
294
|
+
|
|
295
|
+
function ControlledExample() {
|
|
296
|
+
const [activeKey, setActiveKey] = useState('1');
|
|
297
|
+
|
|
298
|
+
return (
|
|
299
|
+
<CapTab
|
|
300
|
+
activeKey={activeKey}
|
|
301
|
+
onChange={setActiveKey}
|
|
302
|
+
panes={[
|
|
303
|
+
{ key: '1', tab: 'Tab 1', content: 'Content 1' },
|
|
304
|
+
{ key: '2', tab: 'Tab 2', content: 'Content 2' },
|
|
305
|
+
]}
|
|
306
|
+
/>
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### With Disabled Tabs
|
|
312
|
+
|
|
313
|
+
```tsx
|
|
314
|
+
<CapTab
|
|
315
|
+
panes={[
|
|
316
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
317
|
+
{ tab: 'Tab 2', content: 'Content 2', disabled: true },
|
|
318
|
+
{ tab: 'Tab 3', content: 'Content 3' },
|
|
319
|
+
]}
|
|
320
|
+
/>
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### With Custom Tab Content
|
|
324
|
+
|
|
325
|
+
```tsx
|
|
326
|
+
<CapTab
|
|
327
|
+
panes={[
|
|
328
|
+
{
|
|
329
|
+
tab: (
|
|
330
|
+
<span>
|
|
331
|
+
<Icon type="user" /> User Tab
|
|
332
|
+
</span>
|
|
333
|
+
),
|
|
334
|
+
content: 'User content'
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
tab: (
|
|
338
|
+
<span>
|
|
339
|
+
<Icon type="setting" /> Settings Tab
|
|
340
|
+
</span>
|
|
341
|
+
),
|
|
342
|
+
content: 'Settings content'
|
|
343
|
+
},
|
|
344
|
+
]}
|
|
345
|
+
/>
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### With Animation Configuration
|
|
349
|
+
|
|
350
|
+
```tsx
|
|
351
|
+
// Disable all animations
|
|
352
|
+
<CapTab animated={false} panes={panes} />
|
|
353
|
+
|
|
354
|
+
// Enable only ink bar animation
|
|
355
|
+
<CapTab animated={{ inkBar: true, tabPane: false }} panes={panes} />
|
|
356
|
+
|
|
357
|
+
// Enable only tab pane animation
|
|
358
|
+
<CapTab animated={{ inkBar: false, tabPane: true }} panes={panes} />
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
## Import Examples
|
|
362
|
+
|
|
363
|
+
### Default Import
|
|
364
|
+
|
|
365
|
+
```tsx
|
|
366
|
+
import CapTab from '@capillarytech/blaze-ui/components/CapTab';
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Named Import
|
|
370
|
+
|
|
371
|
+
```tsx
|
|
372
|
+
import { CapTab } from '@capillarytech/blaze-ui';
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### With TypeScript Types
|
|
376
|
+
|
|
377
|
+
```tsx
|
|
378
|
+
import { CapTab } from '@capillarytech/blaze-ui';
|
|
379
|
+
import type { CapTabProps, TabPaneData } from '@capillarytech/blaze-ui';
|
|
380
|
+
|
|
381
|
+
const panes: TabPaneData[] = [
|
|
382
|
+
{ tab: 'Tab 1', content: 'Content 1' },
|
|
383
|
+
{ tab: 'Tab 2', content: 'Content 2' },
|
|
384
|
+
];
|
|
385
|
+
|
|
386
|
+
const props: CapTabProps = {
|
|
387
|
+
panes,
|
|
388
|
+
type: 'line',
|
|
389
|
+
size: 'middle',
|
|
390
|
+
};
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
## Notes
|
|
394
|
+
|
|
395
|
+
- **No Breaking Changes**: The component is fully backward compatible with `cap-ui-library` v8.x
|
|
396
|
+
- **Deprecated Props**: Deprecated props will show console warnings in development mode but continue to work
|
|
397
|
+
- **Tab Placement**: The `tabPosition` prop with values `left`/`right` is automatically mapped to `start`/`end` for Ant Design v6 compatibility
|
|
398
|
+
- **Panes Format**: The component internally converts the `panes` prop to Ant Design v6's `items` format
|
|
399
|
+
- **Animation**: By default, animations are enabled except when `type="card"` (matching original behavior)
|
|
400
|
+
- **Stable Keys**: If panes don't have explicit `key` props, stable keys are generated automatically based on tab content
|
|
401
|
+
|
|
402
|
+
## Related Components
|
|
403
|
+
|
|
404
|
+
- `CapButton` - Button component that can be used in tab content
|
|
405
|
+
- `CapIcon` - Icon component that can be used in tab labels
|
|
406
|
+
- `CapCard` - Card component that can be used in tab content
|
package/CapTab/Status.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Migration Status: CapTab
|
|
2
|
+
|
|
3
|
+
**Last Updated**: 2026-02-06 17:31:34
|
|
4
|
+
|
|
5
|
+
## Migration Steps
|
|
6
|
+
|
|
7
|
+
- [x] **Step 0**: Setup branch and remote tracking
|
|
8
|
+
- [x] **Step 1**: Migration Prompt 1 (Main migration)
|
|
9
|
+
- [x] **Step 1.5**: Export component in blaze-ui/components/index.ts
|
|
10
|
+
- [x] **Step 2**: Migration Prompt 2 (Storybook support)
|
|
11
|
+
- [x] **Step 2.5**: Verify deprecated props and prop changes (REQUIRED - enforced)
|
|
12
|
+
- [x] **Step 3**: Migration Prompt 3 (Unit tests)
|
|
13
|
+
- [x] **Step 4**: Migration Prompt 4 (Visual test cases)
|
|
14
|
+
- [x] **Step 5**: Linting (ESLint)
|
|
15
|
+
- [x] **Step 6**: Pre-build Validation
|
|
16
|
+
- [x] **Step 7**: Build blaze-ui
|
|
17
|
+
- [x] **Step 8**: Visual Testing
|
|
18
|
+
- [ ] **Step 9**: CSS Analysis (if mismatches found)
|
|
19
|
+
- [ ] **Step 9.5**: CSS Analysis Completed
|
|
20
|
+
- [x] **Step 10**: Git Commit & Push to branch (pre-commit hook will run tests)
|
|
21
|
+
- [x] **Step 11**: Create Pull Request
|
|
22
|
+
|
|
23
|
+
## Deprecated Props Verification
|
|
24
|
+
|
|
25
|
+
**Status**: ✅ **VERIFIED** - All Ant Design prop changes properly documented
|
|
26
|
+
|
|
27
|
+
**Verified Date**: 2026-02-06
|
|
28
|
+
|
|
29
|
+
### Ant Design Components Used
|
|
30
|
+
- **Tabs** (`antd-v5` / Ant Design v6)
|
|
31
|
+
|
|
32
|
+
### Deprecated Ant Design Props Documented
|
|
33
|
+
|
|
34
|
+
#### 1. `tabPosition` → `tabPlacement` (Ant Design Tabs Component)
|
|
35
|
+
- **Status**: ✅ Documented
|
|
36
|
+
- **Location**: README.md (lines 38-79), types.ts (line 26)
|
|
37
|
+
- **Implementation**:
|
|
38
|
+
- ✅ @deprecated JSDoc comment in types.ts
|
|
39
|
+
- ✅ Backward compatibility code in index.tsx (mapTabPlacement function)
|
|
40
|
+
- ✅ Console warning via logDeprecationWarning
|
|
41
|
+
- ✅ Value mapping: `left` → `start`, `right` → `end`
|
|
42
|
+
- **Documentation**: Complete with Before/After examples and value mapping table
|
|
43
|
+
|
|
44
|
+
#### 2. `TabPane` Children Pattern → `items` Prop (Ant Design Tabs Component)
|
|
45
|
+
- **Status**: ✅ Documented
|
|
46
|
+
- **Location**: README.md (lines 81-113)
|
|
47
|
+
- **Implementation**:
|
|
48
|
+
- ✅ Internal conversion from `panes` prop to `items` format
|
|
49
|
+
- ✅ Handled automatically in component implementation
|
|
50
|
+
- **Documentation**: Complete with Before/After examples explaining the pattern change
|
|
51
|
+
|
|
52
|
+
### Verification Checklist
|
|
53
|
+
|
|
54
|
+
- [x] **Ant Design Components Identified**: Tabs component identified
|
|
55
|
+
- [x] **MIGRATION_CHANGELOG_TEMPLATE.md Checked**: Referenced for format guidance
|
|
56
|
+
- [x] **ANTD_V6_MIGRATION.md Checked**: Confirmed Tabs prop changes match documented patterns
|
|
57
|
+
- [x] **README.md Documentation**: Complete "Deprecated Props" section with:
|
|
58
|
+
- [x] Status indicators (⚠️ Deprecated)
|
|
59
|
+
- [x] Ant Design component identification
|
|
60
|
+
- [x] Deprecated prop names
|
|
61
|
+
- [x] Replacement prop names
|
|
62
|
+
- [x] Migration examples (Before/After)
|
|
63
|
+
- [x] Value mapping tables
|
|
64
|
+
- [x] Removal version information
|
|
65
|
+
- [x] **@deprecated JSDoc Comments**: Present in types.ts for `tabPosition` prop
|
|
66
|
+
- [x] **Backward Compatibility**: Implemented with prop mapping and fallback logic
|
|
67
|
+
- [x] **Console Warnings**: Implemented via logDeprecationWarning utility
|
|
68
|
+
- [x] **Deprecated APIs Summary Table**: Present in README.md (lines 115-120)
|
|
69
|
+
|
|
70
|
+
### Summary
|
|
71
|
+
|
|
72
|
+
All Ant Design component prop changes for CapTab have been properly documented and implemented:
|
|
73
|
+
- ✅ Both deprecated Ant Design props (`tabPosition` and `TabPane` pattern) are documented
|
|
74
|
+
- ✅ Documentation follows the format from MIGRATION_CHANGELOG_TEMPLATE.md and ANTD_V6_MIGRATION.md
|
|
75
|
+
- ✅ Backward compatibility is maintained with console warnings
|
|
76
|
+
- ✅ Migration examples are provided for each deprecated prop
|
|
77
|
+
- ✅ All deprecated props clearly indicate which Ant Design component they belong to
|
|
78
|
+
|
|
79
|
+
**Note**: Step 2.5 is REQUIRED and enforced.
|
|
80
|
+
- Focus: **Ant Design component prop changes** (e.g., Dropdown, Input, Alert, Tooltip, etc.)
|
|
81
|
+
- Reference: MIGRATION_CHANGELOG_TEMPLATE.md for format, ANTD_V6_MIGRATION.md for Ant Design deprecated APIs
|
|
82
|
+
- Skip: If original component doesn't exist in cap-ui-library
|
|
83
|
+
- All deprecated Ant Design props and prop changes must be documented before proceeding.
|
|
84
|
+
|
|
85
|
+
## Visual Testing Results
|
|
86
|
+
|
|
87
|
+
**Last Test**: 2026-02-06 17:29:59
|
|
88
|
+
**Maximum Mismatch**: 2.41%
|
|
89
|
+
|
|
90
|
+
### Mismatched Variants:
|
|
91
|
+
- default:1.99%
|
|
92
|
+
- selected:2.02%
|
|
93
|
+
- disabled-tabs:2.41%
|
|
94
|
+
- tab-switch (with 2 interactions):1.89%
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
## CSS Fixes Applied
|
|
98
|
+
|
|
99
|
+
_No CSS fixes applied yet._
|
|
100
|
+
|
|
101
|
+
## Notes
|
|
102
|
+
|
|
103
|
+
_No notes yet._
|
|
104
|
+
|
package/CapTab/index.d.ts
CHANGED
|
@@ -1,31 +1,5 @@
|
|
|
1
|
-
import type { TabsProps } from 'antd-v5';
|
|
2
1
|
import React from 'react';
|
|
3
|
-
|
|
4
|
-
key?: string;
|
|
5
|
-
tab?: React.ReactNode;
|
|
6
|
-
content?: React.ReactNode;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
[key: string]: unknown;
|
|
9
|
-
}
|
|
10
|
-
type DeprecatedTabPosition = 'top' | 'right' | 'bottom' | 'left';
|
|
11
|
-
export interface CapTabProps extends Omit<TabsProps, 'items' | 'children' | 'tabPosition' | 'tabPlacement'> {
|
|
12
|
-
panes?: TabPaneData[];
|
|
13
|
-
className?: string;
|
|
14
|
-
animated?: boolean | {
|
|
15
|
-
inkBar?: boolean;
|
|
16
|
-
tabPane?: boolean;
|
|
17
|
-
};
|
|
18
|
-
type?: 'line' | 'card' | 'editable-card';
|
|
19
|
-
/**
|
|
20
|
-
* Tab placement (v6 API)
|
|
21
|
-
*/
|
|
22
|
-
tabPlacement?: TabsProps['tabPlacement'];
|
|
23
|
-
/**
|
|
24
|
-
* @deprecated Use `tabPlacement` instead. Will be removed in next major version.
|
|
25
|
-
* Accepts: 'top' | 'right' | 'bottom' | 'left'
|
|
26
|
-
*/
|
|
27
|
-
tabPosition?: DeprecatedTabPosition | TabsProps['tabPlacement'];
|
|
28
|
-
}
|
|
2
|
+
import type { CapTabProps } from './types';
|
|
29
3
|
declare const CapTab: React.FC<CapTabProps>;
|
|
30
4
|
export default CapTab;
|
|
31
5
|
//# sourceMappingURL=index.d.ts.map
|
package/CapTab/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../components/CapTab/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../components/CapTab/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,WAAW,EAAsC,MAAM,SAAS,CAAC;AA2D/E,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAsDjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|