@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.
Files changed (73) hide show
  1. package/.npmrc +2 -0
  2. package/CapCondition/messages.d.ts +85 -0
  3. package/CapCondition/messages.d.ts.map +1 -0
  4. package/CapConditionPreview/MIGRATION_ANALYSIS.md +70 -0
  5. package/CapConditionPreview/README.md +40 -0
  6. package/CapConditionPreview/constants.d.ts +24 -0
  7. package/CapConditionPreview/constants.d.ts.map +1 -0
  8. package/CapConditionPreview/index.d.ts +7 -0
  9. package/CapConditionPreview/index.d.ts.map +1 -0
  10. package/CapConditionPreview/index.js +132 -184
  11. package/CapConditionPreview/index.js.map +1 -1
  12. package/CapConditionPreview/tests/USE_CASES_CapConditionPreview.md +65 -0
  13. package/CapConditionPreview/types.d.ts +82 -0
  14. package/CapConditionPreview/types.d.ts.map +1 -0
  15. package/CapListLayout/index.js +193 -25
  16. package/CapListLayout/index.js.map +1 -1
  17. package/CapNavigation/index.js +6 -7
  18. package/CapNavigation/index.js.map +1 -1
  19. package/CapSteps/Status.md +40 -0
  20. package/CapSteps/index.d.ts +30 -0
  21. package/CapSteps/index.d.ts.map +1 -0
  22. package/CapSteps/index.js +657 -24
  23. package/CapSteps/index.js.map +1 -1
  24. package/CapSteps/types.d.ts +26 -0
  25. package/CapSteps/types.d.ts.map +1 -0
  26. package/CapTab/README.md +406 -0
  27. package/CapTab/Status.md +104 -0
  28. package/CapTab/index.d.ts +1 -27
  29. package/CapTab/index.d.ts.map +1 -1
  30. package/CapTab/index.js +56 -7
  31. package/CapTab/index.js.map +1 -1
  32. package/CapTab/tests/USE_CASE_GAPS.md +143 -0
  33. package/CapTab/types.d.ts +29 -0
  34. package/CapTab/types.d.ts.map +1 -0
  35. package/CapTabV3/ANALYSIS.md +60 -0
  36. package/CapTabV3/README.md +156 -0
  37. package/CapTabV3/Status.md +52 -0
  38. package/CapTabV3/index.d.ts +9 -0
  39. package/CapTabV3/index.d.ts.map +1 -0
  40. package/CapTabV3/index.js +105 -67
  41. package/CapTabV3/index.js.map +1 -1
  42. package/CapTabV3/tests/USE_CASE_GAPS.md +149 -0
  43. package/CapTabV3/types.d.ts +28 -0
  44. package/CapTabV3/types.d.ts.map +1 -0
  45. package/CapTable/README.md +160 -0
  46. package/CapTable/Status.md +41 -0
  47. package/CapTable/index.d.ts +2 -21
  48. package/CapTable/index.d.ts.map +1 -1
  49. package/CapTable/index.js +193 -25
  50. package/CapTable/index.js.map +1 -1
  51. package/CapTable/types.d.ts +46 -0
  52. package/CapTable/types.d.ts.map +1 -0
  53. package/CapTable/utils.d.ts +24 -0
  54. package/CapTable/utils.d.ts.map +1 -0
  55. package/CapTimePicker/index.js +51 -129
  56. package/CapTimePicker/index.js.map +1 -1
  57. package/CapUserProfile/index.js +6 -7
  58. package/CapUserProfile/index.js.map +1 -1
  59. package/CapVerticalGroupTable/index.js +193 -25
  60. package/CapVerticalGroupTable/index.js.map +1 -1
  61. package/index.d.ts +7 -3
  62. package/index.d.ts.map +1 -1
  63. package/index.js +1271 -233
  64. package/index.js.map +1 -1
  65. package/package.json +1 -1
  66. package/utils/getCapThemeConfig.d.ts.map +1 -1
  67. package/utils/index.js +9 -1
  68. package/utils/index.js.map +1 -1
  69. package/.DS_Store +0 -0
  70. package/CapTimePicker/index.d.ts +0 -11
  71. package/CapTimePicker/index.d.ts.map +0 -1
  72. package/CapTimePicker/types.d.ts +0 -95
  73. package/CapTimePicker/types.d.ts.map +0 -1
@@ -0,0 +1,52 @@
1
+ # Migration Status: CapTabV3
2
+
3
+ **Last Updated**: 2026-02-11 09:28:36
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
+ - [x] **Step 9**: CSS Analysis (if mismatches found)
19
+ - [x] **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
+ _No deprecated props verification results yet._
26
+
27
+ **Note**: Step 2.5 is REQUIRED and enforced.
28
+ - Focus: **Ant Design component prop changes** (e.g., Dropdown, Input, Alert, Tooltip, etc.)
29
+ - Reference: MIGRATION_CHANGELOG_TEMPLATE.md for format, ANTD_V6_MIGRATION.md for Ant Design deprecated APIs
30
+ - Skip: If original component doesn't exist in cap-ui-library
31
+ - All deprecated Ant Design props and prop changes must be documented before proceeding.
32
+
33
+ ## Visual Testing Results
34
+
35
+ **Last Test**: 2026-02-11 09:28:36
36
+ **Maximum Mismatch**: 0%
37
+
38
+ ### Mismatched Variants:
39
+ -
40
+
41
+
42
+ ## CSS Fixes Applied
43
+
44
+ **Date**: 2026-02-06 13:45:34
45
+ **Summary**: CSS fixes applied based on visual testing analysis.
46
+
47
+ _See full analysis in: `/Users/sarahkhader/repos/migration/blaze-ui/tools/visual-testing/report/CapTabV3/css-fix-analysis.md`_
48
+
49
+
50
+ ## Notes
51
+
52
+ _No notes yet._
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ * CapTab V3
4
+ *
5
+ */
6
+ import type { CapTabV3Props } from './types';
7
+ declare function CapTabV3({ className, panes, activeKey: controlledActiveKey, onTabChange, tabPlacement, tabPosition, ...rest }: CapTabV3Props): import("react/jsx-runtime").JSX.Element;
8
+ export default CapTabV3;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../components/CapTabV3/index.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAY7C,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,KAAU,EACV,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EACX,YAAY,EACZ,WAAW,EACX,GAAG,IAAI,EACR,EAAE,aAAa,2CAiDf;AAED,eAAe,QAAQ,CAAC"}
package/CapTabV3/index.js CHANGED
@@ -26,6 +26,24 @@ module.exports = insertStyleElement;
26
26
 
27
27
  /***/ }),
28
28
 
29
+ /***/ 19224:
30
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
31
+
32
+ "use strict";
33
+
34
+
35
+ exports.__esModule = true;
36
+ exports["default"] = logDeprecationWarning;
37
+ var _isNil = _interopRequireDefault(__webpack_require__(69843));
38
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
39
+ function logDeprecationWarning(componentName, deprecatedPropName, deprecatedPropValue, replacementPropName) {
40
+ // @ts-ignore - process.env is provided by webpack/build tools
41
+ if (false) // removed by dead control flow
42
+ {}
43
+ }
44
+
45
+ /***/ }),
46
+
29
47
  /***/ 19454:
30
48
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
31
49
 
@@ -34,19 +52,10 @@ var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = __webpack_require__(31601);
34
52
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(76314);
35
53
  var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);
36
54
  // Module
37
- ___CSS_LOADER_EXPORT___.push([module.id, `.ant-tabs.cap-tab-v3 .ant-tabs-nav .ant-tabs-tab{margin:0 0 0 0;font-weight:500;color:#5e6c84}.ant-tabs.cap-tab-v3 .ant-tabs-nav .ant-tabs-tab-active{color:#091e42}.ant-tabs.cap-tab-v3 .ant-tabs-nav .ant-tabs-tab:hover{color:#091e42;background-color:#faf9f4}.ant-tabs.cap-tab-v3 .ant-tabs-tab.ant-tabs-tab-disabled{color:#b3bac5}.ant-tabs.cap-tab-v3 .ant-tabs-tab.ant-tabs-tab-disabled.ant-tabs-tab-active,.ant-tabs.cap-tab-v3 .ant-tabs-tab.ant-tabs-tab-disabled.ant-tabs-tab-active:hover{color:#97a0af}.ant-tabs.cap-tab-v3 .ant-tabs-tab.ant-tabs-tab-disabled:hover{color:#b3bac5;background-color:inherit}.ant-tabs.cap-tab-v3 .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{color:#091e42}.ant-tabs.cap-tab-v3 .ant-tabs-ink-bar.ant-tabs-ink-bar-animated{background-color:#091e42}`, ""]);
55
+ ___CSS_LOADER_EXPORT___.push([module.id, `.cap-tab-v3-wrapper .ant-tabs-nav-wrap{--ant-tabs-item-selected-color: #091e42;--ant-tabs-ink-bar-color:#091e42}`, ""]);
38
56
  // Exports
39
57
  ___CSS_LOADER_EXPORT___.locals = {
40
- "ant-tabs": `ant-tabs`,
41
- "cap-tab-v3": `cap-tab-v3`,
42
- "ant-tabs-nav": `ant-tabs-nav`,
43
- "ant-tabs-tab": `ant-tabs-tab`,
44
- "ant-tabs-tab-active": `ant-tabs-tab-active`,
45
- "ant-tabs-tab-disabled": `ant-tabs-tab-disabled`,
46
- "ant-tabs-card": `ant-tabs-card`,
47
- "ant-tabs-card-bar": `ant-tabs-card-bar`,
48
- "ant-tabs-ink-bar": `ant-tabs-ink-bar`,
49
- "ant-tabs-ink-bar-animated": `ant-tabs-ink-bar-animated`
58
+ "cap-tab-v3-wrapper": `cap-tab-v3-wrapper`
50
59
  };
51
60
  module.exports = ___CSS_LOADER_EXPORT___;
52
61
 
@@ -134,14 +143,6 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
134
143
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((_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__WEBPACK_IMPORTED_MODULE_5___default()) && (_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__WEBPACK_IMPORTED_MODULE_5___default().locals) ? (_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__WEBPACK_IMPORTED_MODULE_5___default().locals) : undefined);
135
144
 
136
145
 
137
- /***/ }),
138
-
139
- /***/ 43363:
140
- /***/ ((module) => {
141
-
142
- "use strict";
143
- module.exports = require("prop-types");
144
-
145
146
  /***/ }),
146
147
 
147
148
  /***/ 46942:
@@ -245,6 +246,14 @@ module.exports = setAttributesWithoutAttributes;
245
246
 
246
247
  /***/ }),
247
248
 
249
+ /***/ 64273:
250
+ /***/ ((module) => {
251
+
252
+ "use strict";
253
+ module.exports = require("antd-v5");
254
+
255
+ /***/ }),
256
+
248
257
  /***/ 64284:
249
258
  /***/ ((module) => {
250
259
 
@@ -336,6 +345,38 @@ function domAPI(options) {
336
345
  }
337
346
  module.exports = domAPI;
338
347
 
348
+ /***/ }),
349
+
350
+ /***/ 69843:
351
+ /***/ ((module) => {
352
+
353
+ /**
354
+ * Checks if `value` is `null` or `undefined`.
355
+ *
356
+ * @static
357
+ * @memberOf _
358
+ * @since 4.0.0
359
+ * @category Lang
360
+ * @param {*} value The value to check.
361
+ * @returns {boolean} Returns `true` if `value` is nullish, else `false`.
362
+ * @example
363
+ *
364
+ * _.isNil(null);
365
+ * // => true
366
+ *
367
+ * _.isNil(void 0);
368
+ * // => true
369
+ *
370
+ * _.isNil(NaN);
371
+ * // => false
372
+ */
373
+ function isNil(value) {
374
+ return value == null;
375
+ }
376
+
377
+ module.exports = isNil;
378
+
379
+
339
380
  /***/ }),
340
381
 
341
382
  /***/ 74848:
@@ -574,14 +615,6 @@ module.exports = function (list, options) {
574
615
  };
575
616
  };
576
617
 
577
- /***/ }),
578
-
579
- /***/ 97185:
580
- /***/ ((module) => {
581
-
582
- "use strict";
583
- module.exports = require("antd");
584
-
585
618
  /***/ })
586
619
 
587
620
  /******/ });
@@ -666,14 +699,13 @@ var exports = __webpack_exports__;
666
699
 
667
700
  exports.__esModule = true;
668
701
  exports["default"] = void 0;
669
- var _antd = __webpack_require__(97185);
702
+ var _antdV = __webpack_require__(64273);
670
703
  var _classnames = _interopRequireDefault(__webpack_require__(46942));
671
- var _propTypes = _interopRequireDefault(__webpack_require__(43363));
672
704
  var _react = _interopRequireWildcard(__webpack_require__(9206));
673
- __webpack_require__(43257);
705
+ var _logDeprecationWarning = _interopRequireDefault(__webpack_require__(19224));
706
+ var _styles = _interopRequireDefault(__webpack_require__(43257));
674
707
  var _jsxRuntime = __webpack_require__(74848);
675
- const _excluded = ["className", "panes", "activeKey", "onTabChange"],
676
- _excluded2 = ["content", "key"];
708
+ const _excluded = ["className", "panes", "activeKey", "onTabChange", "tabPlacement", "tabPosition"];
677
709
  /**
678
710
  *
679
711
  * CapTab V3
@@ -683,19 +715,25 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
683
715
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
684
716
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
685
717
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
686
- const {
687
- TabPane
688
- } = _antd.Tabs;
718
+ // v6 TabPlacement type: 'top' | 'end' | 'bottom' | 'start'
719
+ // Map deprecated values to valid v6 values
720
+ const mapTabPlacement = value => {
721
+ if (value === 'left') return 'start';
722
+ if (value === 'right') return 'end';
723
+ return value;
724
+ };
689
725
  function CapTabV3(_ref) {
690
726
  var _panes$;
691
727
  let {
692
728
  className,
693
- panes,
729
+ panes = [],
694
730
  activeKey: controlledActiveKey,
695
- onTabChange
731
+ onTabChange,
732
+ tabPlacement,
733
+ tabPosition
696
734
  } = _ref,
697
735
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
698
- const [internalActiveKey, setInternalActiveKey] = (0, _react.useState)(controlledActiveKey != null ? controlledActiveKey : (panes == null ? void 0 : panes.length) > 0 ? (_panes$ = panes[0]) == null ? void 0 : _panes$.key : null);
736
+ const [internalActiveKey, setInternalActiveKey] = (0, _react.useState)(controlledActiveKey != null ? controlledActiveKey : (panes == null ? void 0 : panes.length) > 0 ? (_panes$ = panes[0]) == null ? void 0 : _panes$.key : undefined);
699
737
  const activeKey = controlledActiveKey != null ? controlledActiveKey : internalActiveKey;
700
738
  const handleTabChange = key => {
701
739
  if (!controlledActiveKey) {
@@ -703,39 +741,39 @@ function CapTabV3(_ref) {
703
741
  }
704
742
  onTabChange == null || onTabChange(key);
705
743
  };
706
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Row, {
707
- className: (0, _classnames.default)('cap-tab-v3-wrapper', className),
708
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tabs, _extends({
709
- className: (0, _classnames.default)('cap-tab-v3', className),
744
+
745
+ // Support both new `tabPlacement` and deprecated `tabPosition` props
746
+ // Map old values: left → start, right → end
747
+ const finalTabPlacement = mapTabPlacement(tabPlacement || tabPosition);
748
+
749
+ // Show deprecation warning in development mode
750
+ if (tabPosition && !tabPlacement) {
751
+ (0, _logDeprecationWarning.default)('CapTabV3', 'tabPosition', tabPosition, 'tabPlacement');
752
+ }
753
+
754
+ // Convert panes to items format (v6 API)
755
+ // Only render content for active tab to preserve original behavior
756
+ const items = panes == null ? void 0 : panes.map((pane, index) => {
757
+ const key = pane.key || "tab-" + index;
758
+ return {
759
+ key,
760
+ label: pane.tab,
761
+ children: activeKey === key ? pane.content : null,
762
+ disabled: pane.disabled
763
+ };
764
+ });
765
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antdV.Row, {
766
+ className: (0, _classnames.default)(_styles.default['cap-tab-v3-wrapper'], className),
767
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antdV.Tabs, _extends({
768
+ className: (0, _classnames.default)(_styles.default['cap-tab-v3'], className),
710
769
  animated: true,
711
770
  activeKey: activeKey,
712
- onChange: handleTabChange
713
- }, rest, {
714
- children: panes == null ? void 0 : panes.map(pane => {
715
- const {
716
- content,
717
- key
718
- } = pane,
719
- paneProps = _objectWithoutPropertiesLoose(pane, _excluded2);
720
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabPane, _extends({}, paneProps, {
721
- children: activeKey === key ? content : null
722
- }), key);
723
- })
724
- }))
771
+ onChange: handleTabChange,
772
+ tabPlacement: finalTabPlacement,
773
+ items: items
774
+ }, rest))
725
775
  });
726
776
  }
727
- CapTabV3.propTypes = {
728
- panes: _propTypes.default.arrayOf(Object).isRequired,
729
- className: _propTypes.default.string,
730
- activeKey: _propTypes.default.string,
731
- onTabChange: _propTypes.default.func
732
- };
733
- CapTabV3.defaultProps = {
734
- className: '',
735
- panes: [],
736
- activeKey: null,
737
- onTabChange: () => {}
738
- };
739
777
  var _default = exports["default"] = CapTabV3;
740
778
  })();
741
779
 
@@ -1 +1 @@
1
- {"version":3,"file":"CapTabV3/index.js","mappings":";;;;;;;AAAA,kC;;;;;;;;ACAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,KAA4D;AACnH,kCAAkC,mBAAO,CAAC,KAAmD;AAC7F;AACA;AACA,2FAA2F,eAAe,gBAAgB,cAAc,wDAAwD,cAAc,uDAAuD,cAAc,yBAAyB,yDAAyD,cAAc,gKAAgK,cAAc,+DAA+D,cAAc,yBAAyB,qFAAqF,cAAc,iEAAiE,yBAAyB;AACp0B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnBA;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;;;;;;;;;ACV5V;;AAEb;AACA;AACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA,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;;;;;;;;;ACxB7E,uC;;;;;;;ACAA;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;;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;;;;;;;;ACjCa;;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;;;;;;;;ACnFA,iC;;;;;;UCAA;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,KAAA,GAAAC,mBAAA;AAC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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/./components/CapTabV3/styles.scss","webpack://@capillarytech/blaze-ui/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://@capillarytech/blaze-ui/./node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack://@capillarytech/blaze-ui/./components/CapTabV3/styles.scss?5296","webpack://@capillarytech/blaze-ui/external commonjs2 \"prop-types\"","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/./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/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@capillarytech/blaze-ui/external commonjs2 \"antd\"","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/CapTabV3/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;","// 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, `.ant-tabs.cap-tab-v3 .ant-tabs-nav .ant-tabs-tab{margin:0 0 0 0;font-weight:500;color:#5e6c84}.ant-tabs.cap-tab-v3 .ant-tabs-nav .ant-tabs-tab-active{color:#091e42}.ant-tabs.cap-tab-v3 .ant-tabs-nav .ant-tabs-tab:hover{color:#091e42;background-color:#faf9f4}.ant-tabs.cap-tab-v3 .ant-tabs-tab.ant-tabs-tab-disabled{color:#b3bac5}.ant-tabs.cap-tab-v3 .ant-tabs-tab.ant-tabs-tab-disabled.ant-tabs-tab-active,.ant-tabs.cap-tab-v3 .ant-tabs-tab.ant-tabs-tab-disabled.ant-tabs-tab-active:hover{color:#97a0af}.ant-tabs.cap-tab-v3 .ant-tabs-tab.ant-tabs-tab-disabled:hover{color:#b3bac5;background-color:inherit}.ant-tabs.cap-tab-v3 .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{color:#091e42}.ant-tabs.cap-tab-v3 .ant-tabs-ink-bar.ant-tabs-ink-bar-animated{background-color:#091e42}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"ant-tabs\": `ant-tabs`,\n\t\"cap-tab-v3\": `cap-tab-v3`,\n\t\"ant-tabs-nav\": `ant-tabs-nav`,\n\t\"ant-tabs-tab\": `ant-tabs-tab`,\n\t\"ant-tabs-tab-active\": `ant-tabs-tab-active`,\n\t\"ant-tabs-tab-disabled\": `ant-tabs-tab-disabled`,\n\t\"ant-tabs-card\": `ant-tabs-card`,\n\t\"ant-tabs-card-bar\": `ant-tabs-card-bar`,\n\t\"ant-tabs-ink-bar\": `ant-tabs-ink-bar`,\n\t\"ant-tabs-ink-bar-animated\": `ant-tabs-ink-bar-animated`\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","/**\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","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\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","module.exports = require(\"prop-types\");","/*!\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;","\"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;","\"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};","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\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 * CapTab V3\n *\n */\n\nimport { Tabs, Row } from 'antd';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport './styles.scss';\n\nconst { TabPane } = Tabs;\n\nfunction CapTabV3({ className, panes, activeKey: controlledActiveKey, onTabChange, ...rest }) {\n const [internalActiveKey, setInternalActiveKey] = useState(\n controlledActiveKey ?? (panes?.length > 0 ? panes[0]?.key : null)\n );\n\n const activeKey = controlledActiveKey ?? internalActiveKey;\n\n const handleTabChange = (key) => {\n if (!controlledActiveKey) {\n setInternalActiveKey(key);\n }\n\n onTabChange?.(key);\n };\n\n return (\n <Row className={classNames('cap-tab-v3-wrapper', className)}>\n <Tabs\n className={classNames('cap-tab-v3', className)}\n animated\n activeKey={activeKey}\n onChange={handleTabChange}\n {...rest}\n >\n {panes?.map((pane) => {\n const { content, key, ...paneProps } = pane;\n return (\n <TabPane key={key} {...paneProps}>\n {/* Only render content for active tab */}\n {activeKey === key ? content : null}\n </TabPane>\n );\n })}\n </Tabs>\n </Row>\n );\n}\n\nCapTabV3.propTypes = {\n panes: PropTypes.arrayOf(Object).isRequired,\n className: PropTypes.string,\n activeKey: PropTypes.string,\n onTabChange: PropTypes.func,\n};\n\nCapTabV3.defaultProps = {\n className: '',\n panes: [],\n activeKey: null,\n onTabChange: () => {},\n};\n\nexport default CapTabV3;\n"],"names":["_antd","require","_classnames","_interopRequireDefault","_propTypes","_react","_interopRequireWildcard","_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","TabPane","Tabs","CapTabV3","_ref","_panes$","className","panes","activeKey","controlledActiveKey","onTabChange","rest","internalActiveKey","setInternalActiveKey","useState","key","handleTabChange","jsx","Row","classNames","children","animated","onChange","map","pane","content","paneProps","propTypes","PropTypes","arrayOf","isRequired","string","func","defaultProps","_default","exports"],"sourceRoot":""}
1
+ {"version":3,"file":"CapTabV3/index.js","mappings":";;;;;;;AAAA,kC;;;;;;;;ACAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACTA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,mBAAA;AAAiC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElB,SAASG,qBAAqBA,CAC3CC,aAAqB,EACrBC,kBAA0B,EAC1BC,mBAA4B,EAC5BC,mBAA2B,EACrB;EACN;EACA,IAAIC,KAAqE,EAAE;AAAA,EAI1E;AACH,C;;;;;;;ACdA;AACA,+CAA+C,mBAAO,CAAC,KAA4D;AACnH,kCAAkC,mBAAO,CAAC,KAAmD;AAC7F;AACA;AACA,iFAAiF,wCAAwC,iCAAiC;AAC1J;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;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;;;;;;;;;ACV5V;;AAEb;AACA;AACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA,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;;;;;;;;ACxB7E;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACxBa;;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;;;;;;;;ACjCa;;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,IAAAM,MAAA,GAAAf,mBAAA;AAEA,IAAAgB,WAAA,GAAAjB,sBAAA,CAAAC,mBAAA;AACA,IAAAiB,MAAA,GAAAC,uBAAA,CAAAlB,mBAAA;AAEA,IAAAmB,sBAAA,GAAApB,sBAAA,CAAAC,mBAAA;AAEA,IAAAoB,OAAA,GAAArB,sBAAA,CAAAC,mBAAA;AAAmC,IAAAqB,WAAA,GAAArB,mBAAA;AAAA,MAAAsB,SAAA;AAbnC;AACA;AACA;AACA;AACA;AAJA,SAAAJ,wBAAAjB,CAAA,EAAAsB,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAjB,CAAA,EAAAsB,CAAA,SAAAA,CAAA,IAAAtB,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAA0B,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAA3B,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAA4B,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAA9B,CAAA,UAAA0B,CAAA,CAAAK,GAAA,CAAA/B,CAAA,GAAA0B,CAAA,CAAAM,GAAA,CAAAhC,CAAA,EAAA4B,CAAA,gBAAAN,CAAA,IAAAtB,CAAA,gBAAAsB,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAlC,CAAA,EAAAsB,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAArC,CAAA,EAAAsB,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAtB,CAAA,CAAAsB,CAAA,WAAAM,CAAA,KAAA5B,CAAA,EAAAsB,CAAA;AAAA,SAAAxB,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAsC,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAf,CAAA,aAAAzB,CAAA,MAAAA,CAAA,GAAAyC,SAAA,CAAAC,MAAA,EAAA1C,CAAA,UAAAsB,CAAA,GAAAmB,SAAA,CAAAzC,CAAA,YAAAwB,CAAA,IAAAF,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAa,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,8BAAApB,CAAA,EAAAxB,CAAA,gBAAAwB,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAS,cAAA,CAAAC,IAAA,CAAAV,CAAA,EAAAC,CAAA,gBAAAzB,CAAA,CAAA6C,OAAA,CAAApB,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAgBA;AACA;AACA,MAAMwB,eAAe,GACnBC,KAA+E,IACjD;EAC9B,IAAIA,KAAK,KAAK,MAAM,EAAE,OAAO,OAAO;EACpC,IAAIA,KAAK,KAAK,OAAO,EAAE,OAAO,KAAK;EACnC,OAAOA,KAAK;AACd,CAAC;AAED,SAASC,QAAQA,CAAAC,IAAA,EAQC;EAAA,IAAAC,OAAA;EAAA,IARA;MAChBC,SAAS;MACTC,KAAK,GAAG,EAAE;MACVC,SAAS,EAAEC,mBAAmB;MAC9BC,WAAW;MACXC,YAAY;MACZC;IAEa,CAAC,GAAAR,IAAA;IADXS,IAAI,GAAAd,6BAAA,CAAAK,IAAA,EAAA5B,SAAA;EAEP,MAAM,CAACsC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAC,eAAQ,EACxDP,mBAAmB,WAAnBA,mBAAmB,GAAK,CAAAF,KAAK,oBAALA,KAAK,CAAEV,MAAM,IAAG,CAAC,IAAAQ,OAAA,GAAGE,KAAK,CAAC,CAAC,CAAC,qBAARF,OAAA,CAAUY,GAAG,GAAGC,SAC9D,CAAC;EAED,MAAMV,SAAS,GAAGC,mBAAmB,WAAnBA,mBAAmB,GAAIK,iBAAiB;EAE1D,MAAMK,eAAe,GAAIF,GAAW,IAAK;IACvC,IAAI,CAACR,mBAAmB,EAAE;MACxBM,oBAAoB,CAACE,GAAG,CAAC;IAC3B;IAEAP,WAAW,YAAXA,WAAW,CAAGO,GAAG,CAAC;EACpB,CAAC;;EAED;EACA;EACA,MAAMG,iBAAiB,GAAGnB,eAAe,CAACU,YAAY,IAAIC,WAAW,CAAC;;EAEtE;EACA,IAAIA,WAAW,IAAI,CAACD,YAAY,EAAE;IAChC,IAAArD,8BAAqB,EAAC,UAAU,EAAE,aAAa,EAAEsD,WAAW,EAAE,cAAc,CAAC;EAC/E;;EAEA;EACA;EACA,MAAMS,KAAK,GAAGd,KAAK,oBAALA,KAAK,CAAEe,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;IACxC,MAAMP,GAAG,GAAGM,IAAI,CAACN,GAAG,aAAWO,KAAO;IACtC,OAAO;MACLP,GAAG;MACHQ,KAAK,EAAEF,IAAI,CAACG,GAAG;MACfC,QAAQ,EAAEnB,SAAS,KAAKS,GAAG,GAAGM,IAAI,CAACK,OAAO,GAAG,IAAI;MACjDC,QAAQ,EAAEN,IAAI,CAACM;IACjB,CAAC;EACH,CAAC,CAAC;EAEF,oBACE,IAAAtD,WAAA,CAAAuD,GAAA,EAAC7D,MAAA,CAAA8D,GAAG;IAACzB,SAAS,EAAE,IAAA0B,mBAAU,EAACC,eAAM,CAAC,oBAAoB,CAAC,EAAE3B,SAAS,CAAE;IAAAqB,QAAA,eAClE,IAAApD,WAAA,CAAAuD,GAAA,EAAC7D,MAAA,CAAAiE,IAAI,EAAAzC,QAAA;MACHa,SAAS,EAAE,IAAA0B,mBAAU,EAACC,eAAM,CAAC,YAAY,CAAC,EAAE3B,SAAS,CAAE;MACvD6B,QAAQ;MACR3B,SAAS,EAAEA,SAAU;MACrB4B,QAAQ,EAAEjB,eAAgB;MAC1BR,YAAY,EAAES,iBAAkB;MAChCC,KAAK,EAAEA;IAAM,GACTR,IAAI,CACT;EAAC,CACC,CAAC;AAEV;AAAC,IAAAwB,QAAA,GAAAC,kBAAA,GAEcnC,QAAQ,C","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/./components/utils/logDeprecationWarning.ts","webpack://@capillarytech/blaze-ui/./components/CapTabV3/styles.scss","webpack://@capillarytech/blaze-ui/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://@capillarytech/blaze-ui/./node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack://@capillarytech/blaze-ui/./components/CapTabV3/styles.scss?5296","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/lodash/isNil.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/./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/CapTabV3/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;","import isNil from 'lodash/isNil';\n\nexport default function logDeprecationWarning(\n componentName: string,\n deprecatedPropName: string,\n deprecatedPropValue: unknown,\n replacementPropName: string\n): void {\n // @ts-ignore - process.env is provided by webpack/build tools\n if (process.env.NODE_ENV === 'development' && !isNil(deprecatedPropValue)) {\n console.warn(\n `[${componentName}] \"${deprecatedPropName}\" is deprecated. Use \"${replacementPropName}\".`\n );\n }\n}\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-tab-v3-wrapper .ant-tabs-nav-wrap{--ant-tabs-item-selected-color: #091e42;--ant-tabs-ink-bar-color:#091e42}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"cap-tab-v3-wrapper\": `cap-tab-v3-wrapper`\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","/**\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","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\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","/*!\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;","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","'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;","\"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 * CapTab V3\n *\n */\n\nimport { Tabs, Row } from 'antd-v5';\nimport type { TabsProps } from 'antd-v5';\nimport classNames from 'classnames';\nimport React, { useState } from 'react';\n\nimport logDeprecationWarning from '../utils/logDeprecationWarning';\n\nimport styles from './styles.scss';\nimport type { CapTabV3Props } from './types';\n\n// v6 TabPlacement type: 'top' | 'end' | 'bottom' | 'start'\n// Map deprecated values to valid v6 values\nconst mapTabPlacement = (\n value: CapTabV3Props['tabPosition'] | CapTabV3Props['tabPlacement'] | undefined\n): TabsProps['tabPlacement'] => {\n if (value === 'left') return 'start';\n if (value === 'right') return 'end';\n return value as TabsProps['tabPlacement'];\n};\n\nfunction CapTabV3({\n className,\n panes = [],\n activeKey: controlledActiveKey,\n onTabChange,\n tabPlacement,\n tabPosition,\n ...rest\n}: CapTabV3Props) {\n const [internalActiveKey, setInternalActiveKey] = useState(\n controlledActiveKey ?? (panes?.length > 0 ? panes[0]?.key : undefined)\n );\n\n const activeKey = controlledActiveKey ?? internalActiveKey;\n\n const handleTabChange = (key: string) => {\n if (!controlledActiveKey) {\n setInternalActiveKey(key);\n }\n\n onTabChange?.(key);\n };\n\n // Support both new `tabPlacement` and deprecated `tabPosition` props\n // Map old values: left → start, right → end\n const finalTabPlacement = mapTabPlacement(tabPlacement || tabPosition);\n\n // Show deprecation warning in development mode\n if (tabPosition && !tabPlacement) {\n logDeprecationWarning('CapTabV3', 'tabPosition', tabPosition, 'tabPlacement');\n }\n\n // Convert panes to items format (v6 API)\n // Only render content for active tab to preserve original behavior\n const items = panes?.map((pane, index) => {\n const key = pane.key || `tab-${index}`;\n return {\n key,\n label: pane.tab,\n children: activeKey === key ? pane.content : null,\n disabled: pane.disabled,\n };\n });\n\n return (\n <Row className={classNames(styles['cap-tab-v3-wrapper'], className)}>\n <Tabs\n className={classNames(styles['cap-tab-v3'], className)}\n animated\n activeKey={activeKey}\n onChange={handleTabChange}\n tabPlacement={finalTabPlacement}\n items={items}\n {...rest}\n />\n </Row>\n );\n}\n\nexport default CapTabV3;\n"],"names":["_isNil","_interopRequireDefault","require","e","__esModule","default","logDeprecationWarning","componentName","deprecatedPropName","deprecatedPropValue","replacementPropName","process","env","NODE_ENV","isNil","console","warn","_antdV","_classnames","_react","_interopRequireWildcard","_logDeprecationWarning","_styles","_jsxRuntime","_excluded","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutPropertiesLoose","indexOf","mapTabPlacement","value","CapTabV3","_ref","_panes$","className","panes","activeKey","controlledActiveKey","onTabChange","tabPlacement","tabPosition","rest","internalActiveKey","setInternalActiveKey","useState","key","undefined","handleTabChange","finalTabPlacement","items","map","pane","index","label","tab","children","content","disabled","jsx","Row","classNames","styles","Tabs","animated","onChange","_default","exports"],"sourceRoot":""}
@@ -0,0 +1,149 @@
1
+ # CapTabV3 Use Case Gaps Analysis
2
+
3
+ ## Phase 0: Google Sheets Access
4
+
5
+ **Status**: ⚠️ **Unable to access Google Sheets**
6
+
7
+ - MCP Server `google_sheets` was not available
8
+ - Spreadsheet ID: `1Xt8l8Q6Hw0cUYV65SlGvGcPnOtzprr0fukDR9UWJ3kg`
9
+ - Tab: `CapTabV3`
10
+
11
+ **Action Required**: Manual review of Google Sheets to compare use cases against component implementation.
12
+
13
+ ---
14
+
15
+ ## Phase 1: Use Cases NOT Fulfilled by CapTabV3
16
+
17
+ Based on component analysis (`index.tsx`, `types.ts`, `README.md`, `stories/CapTabV3.stories.tsx`), the following use cases are **NOT currently supported**:
18
+
19
+ ### 1. **Advanced Tab Management**
20
+ - ❌ **Add/Remove tabs dynamically**: No API to programmatically add or remove tabs (only `editable-card` type supports UI-based add, but no programmatic control)
21
+ - ❌ **Reorder tabs**: No drag-and-drop or programmatic reordering capability
22
+ - ❌ **Tab validation**: No validation before tab change (e.g., prevent navigation if form is dirty)
23
+ - ❌ **Tab lifecycle hooks**: No `onBeforeChange` or `onAfterChange` callbacks
24
+
25
+ ### 2. **Enhanced User Interactions**
26
+ - ❌ **Keyboard navigation**: No explicit keyboard shortcuts documentation or custom handlers (relies on Ant Design defaults)
27
+ - ❌ **Tab close functionality**: No close button on tabs (except `editable-card` type)
28
+ - ❌ **Tab context menu**: No right-click menu for tab actions
29
+ - ❌ **Tab tooltips**: No built-in tooltip support for tab labels
30
+ - ❌ **Tab badges/notifications**: No badge or notification count display on tabs
31
+
32
+ ### 3. **Loading and Error States**
33
+ - ❌ **Loading state per tab**: No loading indicator for individual tabs
34
+ - ❌ **Error state per tab**: No error display for failed tab content
35
+ - ❌ **Lazy loading**: Content is conditionally rendered but not truly lazy-loaded (all content exists in DOM)
36
+ - ❌ **Async tab content**: No built-in support for async content loading
37
+
38
+ ### 4. **Customization and Styling**
39
+ - ❌ **Custom tab icons**: No built-in icon prop support (must be included in `tab` ReactNode)
40
+ - ❌ **Custom tab styling per pane**: All tabs use same styling, no per-tab className
41
+ - ❌ **Custom content wrapper**: No ability to wrap content in custom containers
42
+ - ❌ **Tab width control**: No min-width or max-width control for tabs
43
+ - ❌ **Responsive breakpoints**: No built-in responsive behavior configuration
44
+
45
+ ### 5. **Data and State Features**
46
+ - ❌ **Tab persistence**: No localStorage/sessionStorage persistence for active tab
47
+ - ❌ **Tab history**: No browser history integration for tab navigation
48
+ - ❌ **Tab state management**: No Redux/Zustand integration helpers
49
+ - ❌ **Tab analytics**: No built-in analytics tracking for tab views
50
+ - ❌ **Tab metadata**: No way to attach custom metadata to tabs
51
+
52
+ ### 6. **Accessibility Enhancements**
53
+ - ❌ **Custom ARIA labels**: No `ariaLabel` prop for tabs (relies on Ant Design defaults)
54
+ - ❌ **Screen reader announcements**: No custom announcements for tab changes
55
+ - ❌ **Focus management**: No explicit focus management after tab change
56
+ - ❌ **Skip navigation**: No skip-to-content link support
57
+
58
+ ### 7. **Integration Features**
59
+ - ❌ **Form integration**: No Form.Item wrapper or form validation integration
60
+ - ❌ **Router integration**: No built-in React Router integration
61
+ - ❌ **URL synchronization**: No URL hash/query param synchronization
62
+ - ❌ **Deep linking**: No support for deep linking to specific tabs
63
+
64
+ ### 8. **Advanced Content Features**
65
+ - ❌ **Tab content animations**: No custom animations for content transitions
66
+ - ❌ **Tab content caching**: No way to preserve tab content state when switching
67
+ - ❌ **Nested tabs**: No built-in support for tabs within tabs
68
+ - ❌ **Tab groups**: No grouping or categorization of tabs
69
+
70
+ ### 9. **Performance Optimizations**
71
+ - ❌ **Virtual scrolling**: No virtual scrolling for many tabs
72
+ - ❌ **Tab virtualization**: No virtualization for tab list
73
+ - ❌ **Memoization helpers**: No built-in memoization for tab content
74
+
75
+ ### 10. **Developer Experience**
76
+ - ❌ **Tab refs**: No way to get refs to individual tab elements
77
+ - ❌ **Tab scroll into view**: No automatic scroll to active tab
78
+ - ❌ **Tab overflow handling**: No custom overflow menu for many tabs
79
+ - ❌ **Tab search/filter**: No search or filter functionality for tabs
80
+
81
+ ---
82
+
83
+ ## Current Component Capabilities
84
+
85
+ ✅ **Supported Features**:
86
+
87
+ 1. **Basic Tab Functionality**
88
+ - ✅ Multiple tabs with panes array
89
+ - ✅ Tab switching via click
90
+ - ✅ Active tab highlighting
91
+ - ✅ Disabled tabs support
92
+
93
+ 2. **Controlled and Uncontrolled Modes**
94
+ - ✅ Controlled mode with `activeKey`
95
+ - ✅ Uncontrolled mode with internal state
96
+ - ✅ `onTabChange` callback
97
+
98
+ 3. **Tab Placement**
99
+ - ✅ `tabPlacement` prop (top, start, end, bottom)
100
+ - ✅ Backward compatibility with deprecated `tabPosition`
101
+ - ✅ Automatic mapping (left → start, right → end)
102
+
103
+ 4. **Ant Design Tabs Props**
104
+ - ✅ Type variants (line, card, editable-card)
105
+ - ✅ Size variants (small, middle, large)
106
+ - ✅ Centered tabs
107
+ - ✅ Animated transitions
108
+ - ✅ Hide add button for editable-card
109
+
110
+ 5. **Content Rendering**
111
+ - ✅ Conditional rendering (only active tab content)
112
+ - ✅ React element content support
113
+ - ✅ String content support
114
+
115
+ 6. **Styling**
116
+ - ✅ Custom className support
117
+ - ✅ Wrapper className
118
+ - ✅ SCSS styling with design tokens
119
+
120
+ 7. **Backward Compatibility**
121
+ - ✅ Deprecated `tabPosition` prop support
122
+ - ✅ Development mode warnings
123
+ - ✅ No breaking changes
124
+
125
+ ---
126
+
127
+ ## Recommendations
128
+
129
+ ### High Priority (Common Use Cases)
130
+ 1. **Tab close functionality** - Add close button support for non-editable tabs
131
+ 2. **Loading states** - Add loading indicator per tab
132
+ 3. **Keyboard navigation** - Document and enhance keyboard shortcuts
133
+ 4. **Tab badges** - Add notification count/badge support
134
+
135
+ ### Medium Priority (Enhanced UX)
136
+ 1. **Tab persistence** - Add localStorage persistence option
137
+ 2. **URL synchronization** - Add hash/query param sync
138
+ 3. **Custom icons** - Add icon prop support
139
+ 4. **Tab validation** - Add `onBeforeChange` callback
140
+
141
+ ### Low Priority (Advanced Features)
142
+ 1. **Router integration** - Add React Router helpers
143
+ 2. **Tab virtualization** - For many tabs scenarios
144
+ 3. **Nested tabs** - Support tabs within tabs
145
+ 4. **Tab analytics** - Built-in tracking
146
+
147
+ ---
148
+
149
+ **Note**: This analysis is based on component code review. Actual use cases from Google Sheets may reveal additional gaps or prioritize differently.
@@ -0,0 +1,28 @@
1
+ import type { TabsProps } from 'antd-v5';
2
+ import type React from 'react';
3
+ export interface TabPaneData {
4
+ key?: string;
5
+ tab?: React.ReactNode;
6
+ content?: React.ReactNode;
7
+ disabled?: boolean;
8
+ [key: string]: unknown;
9
+ }
10
+ export type DeprecatedTabPosition = 'top' | 'right' | 'bottom' | 'left';
11
+ export interface CapTabV3Props extends Omit<TabsProps, 'activeKey' | 'onChange' | 'children' | 'tabPosition' | 'tabPlacement'> {
12
+ panes?: TabPaneData[];
13
+ className?: string;
14
+ activeKey?: string;
15
+ onTabChange?: (key: string) => void;
16
+ /**
17
+ * Tab placement (v6 API)
18
+ */
19
+ tabPlacement?: TabsProps['tabPlacement'];
20
+ /**
21
+ * @deprecated Use `tabPlacement` instead. Will be removed in next major version.
22
+ * Ant Design Component: Tabs
23
+ * Accepts: 'top' | 'right' | 'bottom' | 'left'
24
+ * Note: 'left' maps to 'start', 'right' maps to 'end' in v6 API
25
+ */
26
+ tabPosition?: DeprecatedTabPosition | TabsProps['tabPlacement'];
27
+ }
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../components/CapTabV3/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;IAC/F,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;CACjE"}