@capillarytech/blaze-ui 5.20.0 → 5.22.0

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 (189) hide show
  1. package/CapAskAira/CapAiMediaGeneration/saga.js +1446 -0
  2. package/CapAskAira/CapAiMediaGeneration/saga.js.map +1 -0
  3. package/CapCollapsibleLeftNavigation/saga.js +1441 -0
  4. package/CapCollapsibleLeftNavigation/saga.js.map +1 -0
  5. package/CapLanguageProvider/actions.js +125 -0
  6. package/CapLanguageProvider/actions.js.map +1 -0
  7. package/CapLanguageProvider/constants.js +37 -0
  8. package/CapLanguageProvider/constants.js.map +1 -0
  9. package/CapLanguageProvider/reducer.js +130 -0
  10. package/CapLanguageProvider/reducer.js.map +1 -0
  11. package/CapLanguageProvider/saga.js +1457 -0
  12. package/CapLanguageProvider/saga.js.map +1 -0
  13. package/CapLanguageProvider/selector.js +186 -0
  14. package/CapLanguageProvider/selector.js.map +1 -0
  15. package/CapSupportVideosWrapper/utils.js +34 -0
  16. package/CapSupportVideosWrapper/utils.js.map +1 -0
  17. package/package.json +1 -1
  18. package/CapActionBar/README.md +0 -11
  19. package/CapAdvancedIcon/README.md +0 -185
  20. package/CapAdvancedIcon/use-cases.md +0 -44
  21. package/CapAlert/README.md +0 -144
  22. package/CapAppNotEnabled/README.md +0 -84
  23. package/CapAskAira/README.md +0 -328
  24. package/CapBanner/README.md +0 -4
  25. package/CapBlock/README.md +0 -175
  26. package/CapBorderedBox/Status.md +0 -40
  27. package/CapCSVFileUploader/README.md +0 -124
  28. package/CapCSVFileUploader/Status.md +0 -47
  29. package/CapCard/README.md +0 -85
  30. package/CapCard/Status.md +0 -41
  31. package/CapCardBox/README.md +0 -169
  32. package/CapCardBox/Status.md +0 -52
  33. package/CapCarousel/README.md +0 -190
  34. package/CapCarousel/Status.md +0 -73
  35. package/CapCheckbox/README.md +0 -254
  36. package/CapCheckbox/Status.md +0 -41
  37. package/CapColorPicker/README.md +0 -112
  38. package/CapColorPicker/Status.md +0 -52
  39. package/CapColorPicker/tests/USE_CASES_ANALYSIS.md +0 -92
  40. package/CapColoredTag/README.md +0 -167
  41. package/CapColoredTag/Status.md +0 -49
  42. package/CapConditionPreview/MIGRATION_ANALYSIS.md +0 -70
  43. package/CapConditionPreview/README.md +0 -40
  44. package/CapConditionPreview/tests/USE_CASES_CapConditionPreview.md +0 -65
  45. package/CapCustomCard/README.md +0 -182
  46. package/CapCustomCard/Status.md +0 -40
  47. package/CapCustomCarousel/Status.md +0 -69
  48. package/CapCustomCheckboxList/README.md +0 -178
  49. package/CapCustomCheckboxList/Status.md +0 -52
  50. package/CapCustomCheckboxList/tests/USE_CASES_ANALYSIS.md +0 -174
  51. package/CapCustomList/README.md +0 -117
  52. package/CapCustomList/Status.md +0 -77
  53. package/CapCustomList/tests/USE_CASES_ANALYSIS.md +0 -124
  54. package/CapCustomSelect/README.md +0 -38
  55. package/CapDatePicker/README.md +0 -139
  56. package/CapDateRangePicker/README.md +0 -159
  57. package/CapDateTimePicker/README.md +0 -136
  58. package/CapDateTimeRangePicker/README.md +0 -243
  59. package/CapDivider/README.md +0 -122
  60. package/CapDrawer/README.md +0 -207
  61. package/CapDrawer/Status.md +0 -52
  62. package/CapDrawer/tests/MISSING_USE_CASES.md +0 -170
  63. package/CapDropdown/README.md +0 -515
  64. package/CapDropdown/Status.md +0 -45
  65. package/CapDropdown/tests/USE_CASES_ANALYSIS.md +0 -137
  66. package/CapError/README.md +0 -88
  67. package/CapErrorBoundary/CapErrorBoundary-use-cases.md +0 -89
  68. package/CapErrorBoundary/README.md +0 -150
  69. package/CapErrorStateIllustration/README.md +0 -222
  70. package/CapErrorStateIllustration/USE_CASES.md +0 -33
  71. package/CapExpressionEditor/README.md +0 -32
  72. package/CapForm/README.md +0 -132
  73. package/CapForm/Status.md +0 -40
  74. package/CapForm/tests/PHASE1_UNFULFILLED_USE_CASES.md +0 -113
  75. package/CapForm/tests/USE_CASES_ANALYSIS.md +0 -119
  76. package/CapFormItem/README.md +0 -320
  77. package/CapFormItem/Status.md +0 -73
  78. package/CapFormItem/tests/USE_CASES_ANALYSIS.md +0 -84
  79. package/CapGraph/README.md +0 -69
  80. package/CapGraph/USE_CASES.md +0 -66
  81. package/CapHamburgerMenu/README.md +0 -234
  82. package/CapHamburgerMenu/USE_CASES.md +0 -48
  83. package/CapHeader/Status.md +0 -41
  84. package/CapHeading/README.md +0 -220
  85. package/CapHeading/Status.md +0 -41
  86. package/CapIcon/README.md +0 -207
  87. package/CapIllustration/Status.md +0 -41
  88. package/CapImage/README.md +0 -50
  89. package/CapImportMFEComponent/README.md +0 -121
  90. package/CapInfoNote/Status.md +0 -40
  91. package/CapInfoNote/tests/USE_CASES_ANALYSIS.md +0 -114
  92. package/CapInput/README.md +0 -196
  93. package/CapInput/Status.md +0 -123
  94. package/CapInput/tests/USE_CASES_ANALYSIS.md +0 -169
  95. package/CapLanguageProvider/CapLanguageProvider-use-cases.md +0 -56
  96. package/CapLanguageProvider/README.md +0 -206
  97. package/CapLevelGraphRenderer/CapLevelGraphRenderer-test-cases.md +0 -50
  98. package/CapLevelGraphRenderer/README.md +0 -123
  99. package/CapLevelGraphRenderer/Tooltip_MIGRATION_ANALYSIS.md +0 -120
  100. package/CapLink/README.md +0 -203
  101. package/CapLink/Status.md +0 -32
  102. package/CapLink/tests/CapLink.missingUseCases.md +0 -95
  103. package/CapList/README.md +0 -129
  104. package/CapList/Status.md +0 -69
  105. package/CapListLayout/README.md +0 -7
  106. package/CapLogin/README.md +0 -7
  107. package/CapMenu/README.md +0 -86
  108. package/CapModal/README.md +0 -357
  109. package/CapModal/Status.md +0 -52
  110. package/CapModal/tests/USE_CASES_GAPS.md +0 -207
  111. package/CapMultiSelect/README.md +0 -170
  112. package/CapMultiSelect/tests/USE_CASES_ANALYSIS.md +0 -29
  113. package/CapMultiSelectDatePicker/README.md +0 -11
  114. package/CapNavigation/README.md +0 -72
  115. package/CapNotification/README.md +0 -228
  116. package/CapNotificationDropdown/README.md +0 -5
  117. package/CapPopover/README.md +0 -234
  118. package/CapProgress/Status.md +0 -40
  119. package/CapRadio/Status.md +0 -54
  120. package/CapRadioButton/README.md +0 -152
  121. package/CapRadioButton/Status.md +0 -70
  122. package/CapRadioButton/tests/USE_CASES_ANALYSIS.md +0 -120
  123. package/CapRadioCard/README.md +0 -161
  124. package/CapRadioCard/Status.md +0 -78
  125. package/CapRadioGroup/README.md +0 -141
  126. package/CapRadioGroup/Status.md +0 -59
  127. package/CapReorderComponent/README.md +0 -179
  128. package/CapReorderComponent/Status.md +0 -41
  129. package/CapRoadMap/README.md +0 -126
  130. package/CapRoadMap/Status.md +0 -53
  131. package/CapRoadMap/tests/USE_CASE_GAPS.md +0 -92
  132. package/CapRow/README.md +0 -424
  133. package/CapSKUUploader/README.md +0 -189
  134. package/CapSKUUploader/Status.md +0 -66
  135. package/CapSecondaryTopBar/README.md +0 -7
  136. package/CapSelect/README.md +0 -243
  137. package/CapSelectFilter/README.md +0 -121
  138. package/CapShape/README.md +0 -96
  139. package/CapShape/Status.md +0 -36
  140. package/CapShape/tests/USE_CASES_ANALYSIS.md +0 -120
  141. package/CapSideBar/README.md +0 -298
  142. package/CapSideBar/Status.md +0 -5
  143. package/CapSlideBox/README.md +0 -68
  144. package/CapSlider/README.md +0 -423
  145. package/CapSlider/Status.md +0 -48
  146. package/CapSlider/tests/TEST_COVERAGE.md +0 -118
  147. package/CapSnackBar/README.md +0 -222
  148. package/CapSnackBar/Status.md +0 -41
  149. package/CapSomethingWentWrong/README.md +0 -97
  150. package/CapSplit/README.md +0 -19
  151. package/CapStatisticCard/README.md +0 -138
  152. package/CapStatus/README.md +0 -148
  153. package/CapStatus/Status.md +0 -40
  154. package/CapSteps/Status.md +0 -40
  155. package/CapStepsAccordian/README.md +0 -305
  156. package/CapStepsAccordian/Status.md +0 -48
  157. package/CapSupportVideosWrapper/README.md +0 -14
  158. package/CapSwitch/README.md +0 -351
  159. package/CapTab/README.md +0 -406
  160. package/CapTab/Status.md +0 -104
  161. package/CapTab/tests/USE_CASE_GAPS.md +0 -143
  162. package/CapTabV3/ANALYSIS.md +0 -60
  163. package/CapTabV3/README.md +0 -156
  164. package/CapTabV3/Status.md +0 -52
  165. package/CapTabV3/tests/USE_CASE_GAPS.md +0 -149
  166. package/CapTable/README.md +0 -160
  167. package/CapTable/Status.md +0 -41
  168. package/CapTag/README.md +0 -16
  169. package/CapTagDropdown/README.md +0 -171
  170. package/CapTagDropdown/Status.md +0 -55
  171. package/CapTimePicker/README.md +0 -170
  172. package/CapTooltip/README.md +0 -336
  173. package/CapTooltipWithInfo/Status.md +0 -75
  174. package/CapTopBar/README.md +0 -146
  175. package/CapTree/README.md +0 -124
  176. package/CapTree/Status.md +0 -48
  177. package/CapTree/tests/STATUS.md +0 -154
  178. package/CapTreeSelect/README.md +0 -217
  179. package/CapTreeSelect/Status.md +0 -52
  180. package/CapTruncateList/README.md +0 -13
  181. package/CapUnifiedSelect/README.md +0 -40
  182. package/CapUploader/README.md +0 -313
  183. package/CapUploader/Status.md +0 -76
  184. package/CapUploader/tests/USE_CASES_ANALYSIS.md +0 -225
  185. package/CapUserProfile/README.md +0 -105
  186. package/CapUserProfile/Status.md +0 -95
  187. package/CapVirtualList/README.md +0 -162
  188. package/CapVirtualList/Status.md +0 -71
  189. package/assets/HOCs/ComponentWithLabelHOC/README.md +0 -230
@@ -1,182 +0,0 @@
1
- # CapCustomCard
2
-
3
- A custom Card component wrapper around Ant Design's Card component that provides specialized styling and content rendering for various communication channel types (SMS, Email, Mobile Push, WeChat, etc.).
4
-
5
- ## Migration from Ant Design v3 to v6
6
-
7
- This component has been migrated from Ant Design v3 to v6 with the following changes:
8
-
9
- ### Breaking Changes
10
-
11
- #### 1. API Changes
12
-
13
- | v3 API | v6 API | Status | Migration Guide |
14
- |--------|--------|--------|-----------------|
15
- | `Avatar icon="user"` | `Avatar icon={<UserOutlined />}` | Breaking | Import `UserOutlined` from `@ant-design/icons` and use as React component |
16
-
17
- **Example Migration:**
18
-
19
- ```tsx
20
- // ❌ v3 (deprecated)
21
- import { Avatar } from 'antd';
22
- <Avatar icon="user" />
23
-
24
- // ✅ v6 (current)
25
- import { Avatar } from 'antd-v5';
26
- import { UserOutlined } from '@ant-design/icons';
27
- <Avatar icon={<UserOutlined />} />
28
- ```
29
-
30
- ### Deprecated Props
31
-
32
- **No deprecated props exposed to consumers** - This component doesn't expose any deprecated Ant Design props to consumers. All Ant Design Card props passed via `{...rest}` are supported and passed through to the underlying Card component.
33
-
34
- #### Internal Changes
35
-
36
- The component uses Ant Design v6 APIs internally:
37
- - **Avatar icon prop**: Updated from string (`icon="user"`) to React component (`icon={<UserOutlined />}`)
38
- - **Note**: This change is internal to the component. Consumers don't need to change their code.
39
-
40
- ### Backward Compatibility
41
-
42
- **Full backward compatibility** - All existing code using CapCustomCard will continue to work without changes. The component maintains the same API surface area and behavior as the v3 version.
43
-
44
- ### Style Changes
45
-
46
- **Approach**: The component uses `:global()` wrapper in SCSS (nested inside component classes) to target Ant Design's internal Card component structure. All styling has been preserved from the v3 version.
47
-
48
- ### Code Improvements
49
-
50
- 1. **TypeScript Migration**: Converted from PropTypes to TypeScript interfaces
51
- 2. **Functional Component**: Converted CapCustomCardList from class component to functional component
52
- 3. **Icon Updates**: Updated Avatar icon prop to use React component instead of string
53
- 4. **Type Safety**: Added proper TypeScript types for all helper functions and props
54
- 5. **Import Updates**: Updated imports to use `antd-v5` instead of `antd`
55
- 6. **CSS Modules**: Updated to use CSS modules with `import * as styles`
56
-
57
- ### What Stayed the Same
58
-
59
- - All card types and channel-specific rendering logic
60
- - All styling and visual appearance
61
- - Component API surface area
62
- - Static method `getRichMediaPreview`
63
- - `CapCustomCardList` subcomponent access via `CapCustomCard.CapCustomCardList`
64
- - DOM structure (no wrapper divs added)
65
-
66
- ### What Changed
67
-
68
- - **Removed**: PropTypes dependency
69
- - **Updated**: Ant Design imports from `antd` to `antd-v5`
70
- - **Updated**: Avatar icon prop from string to React component (internal change)
71
- - **Added**: TypeScript type definitions in `types.ts`
72
- - **Updated**: CapCustomCardList converted to functional component with TypeScript
73
-
74
- ### Props
75
-
76
- CapCustomCard accepts all props from Ant Design's [Card component](https://ant.design/components/card) plus:
77
-
78
- | Prop | Type | Default | Description |
79
- |------|------|---------|-------------|
80
- | `className` | `string` | - | Additional CSS class name |
81
- | `type` | `string` | - | Card type/channel (SMS, EMAIL, MOBILEPUSH, WECHAT, etc.) |
82
- | `content` | `React.ReactNode` | - | Card content to display |
83
- | `hoverOption` | `React.ReactNode` | - | Content to show on hover |
84
- | `url` | `string` | - | Image URL for card |
85
- | `width` | `number \| string` | - | Image width |
86
- | `height` | `number \| string` | - | Image height |
87
- | `cardTop` | `React.ReactNode` | - | Content to render above the card |
88
- | `FBDynamicComponent` | `React.ComponentType` | - | Dynamic component for Facebook card type |
89
- | `buttonText` | `React.ReactNode` | - | Button text for Viber card type |
90
- | `fbType` | `string` | - | Facebook card type ('list' or default) |
91
- | `mediaContent` | `React.ReactNode` | - | Custom media content for Viber |
92
- | `isNewMobilePush` | `boolean` | - | Whether to use new mobile push format |
93
-
94
- ### Usage
95
-
96
- ```tsx
97
- import { CapCustomCard } from '@capillarytech/blaze-ui';
98
-
99
- // Basic usage
100
- <CapCustomCard type="SMS" content="Hello world" />
101
-
102
- // With image
103
- <CapCustomCard
104
- type="EMAIL"
105
- url="/path/to/image.jpg"
106
- width={244}
107
- height={279}
108
- />
109
-
110
- // With hover option
111
- <CapCustomCard
112
- type="MOBILEPUSH"
113
- content={previewContent}
114
- hoverOption={<button>Edit</button>}
115
- />
116
-
117
- // Using CapCustomCardList
118
- import CapCustomCard from '@capillarytech/blaze-ui/components/CapCustomCard';
119
-
120
- <CapCustomCard.CapCustomCardList
121
- cardList={[
122
- { type: 'SMS', content: 'Message 1', key: '1' },
123
- { type: 'EMAIL', content: 'Message 2', key: '2' },
124
- ]}
125
- type="SMS"
126
- />
127
- ```
128
-
129
- ### Import Examples
130
-
131
- ```tsx
132
- // Default import
133
- import CapCustomCard from '@capillarytech/blaze-ui/components/CapCustomCard';
134
-
135
- // Named import
136
- import { CapCustomCard } from '@capillarytech/blaze-ui';
137
-
138
- // Type import
139
- import type { CapCustomCardProps, CapCustomCardListProps } from '@capillarytech/blaze-ui';
140
- ```
141
-
142
- ### Supported Channel Types
143
-
144
- The component supports the following channel types with specialized rendering:
145
-
146
- - `SMS` - Text message preview
147
- - `EMAIL` - Email template preview with image support
148
- - `MOBILEPUSH` / `MPUSH` - Mobile push notification preview
149
- - `WECHAT` - WeChat message preview with rich media support
150
- - `FACEBOOK` - Facebook post preview
151
- - `VIBER` - Viber message preview
152
- - `WHATSAPP` - WhatsApp message preview
153
- - `RCS` - RCS message preview
154
- - `ZALO` - Zalo message preview
155
- - `INAPP` - In-app message preview
156
- - `LINE` - LINE message preview
157
- - `CALL_TASK` - Call task preview
158
-
159
- ### Static Methods
160
-
161
- #### `getRichMediaPreview`
162
-
163
- Static method to generate rich media preview content:
164
-
165
- ```tsx
166
- import CapCustomCard from '@capillarytech/blaze-ui/components/CapCustomCard';
167
-
168
- const preview = CapCustomCard.getRichMediaPreview(contentDetails);
169
- ```
170
-
171
- ### Styling
172
-
173
- The component uses SCSS with CSS modules. Key classes:
174
-
175
- - `.cap-custom-card` - Applied to the Ant Design Card component
176
- - `.hover-content` - Content shown on hover
177
- - `.app-name` - App name header for mobile push/in-app cards
178
- - `.ios-action-buttons` - iOS action buttons container
179
- - `.wechat-card-body` - WeChat card body container
180
- - `.richmedia-template` - Rich media template container
181
-
182
- Custom styling can be applied via the `className` prop or by overriding the SCSS classes.
@@ -1,40 +0,0 @@
1
- # Migration Status: CapCustomCard
2
-
3
- **Last Updated**: 2026-02-12 11:35:43
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 2**: Migration Prompt 2 (Storybook support)
10
- - [x] **Step 3**: Migration Prompt 3 (Unit tests)
11
- - [x] **Step 4**: Migration Prompt 4 (Visual test cases)
12
- - [x] **Step 5**: Linting (ESLint)
13
- - [x] **Step 6**: Pre-build Validation
14
- - [ ] **Step 7**: Build blaze-ui
15
- - [ ] **Step 8**: Visual Testing
16
- - [ ] **Step 9**: CSS Analysis (if mismatches found)
17
- - [ ] **Step 9.5**: CSS Analysis Completed
18
- - [ ] **Step 10**: Git Commit & Push to branch (pre-commit hook will run tests)
19
- - [ ] **Step 11**: Create Pull Request
20
-
21
- ## Visual Testing Results
22
-
23
- **Last Test**: 2026-02-12 11:35:43
24
- **Maximum Mismatch**: 0%
25
-
26
- ### Mismatched Variants:
27
- -
28
-
29
-
30
- ## CSS Fixes Applied
31
-
32
- **Date**: 2026-01-29 09:37:38
33
- **Summary**: CSS fixes applied based on visual testing analysis.
34
-
35
- _See full analysis in: `/Users/sarahkhader/repos/migration/blaze-ui/tools/visual-testing/report/CapCustomCard/css-fix-analysis.md`_
36
-
37
-
38
- ## Notes
39
-
40
- _No notes yet._
@@ -1,69 +0,0 @@
1
- # Migration Status: CapCustomCarousel
2
-
3
- **Last Updated**: 2026-02-21 19:00:00
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 8.1**: Pre-visual-test check (agent verification)
19
- - [x] **Step 8.2**: Visual comparison
20
- - [x] **Step 8.3**: Visual diff analysis (agent analysis)
21
- - [x] **Step 9**: CSS Analysis (if mismatches found)
22
- - [x] **Step 9.5**: CSS Analysis Completed
23
- - [ ] **Step 10**: Git Commit & Push to branch (pre-commit hook will run tests)
24
- - [ ] **Step 11**: Create Pull Request
25
-
26
- ## Deprecated Props Verification
27
-
28
- _No deprecated props verification results yet._
29
-
30
- **Note**: Step 2.5 is REQUIRED and enforced.
31
- - Focus: **Ant Design component prop changes** (e.g., Dropdown, Input, Alert, Tooltip, etc.)
32
- - Reference: MIGRATION_CHANGELOG_TEMPLATE.md for format, ANTD_V6_MIGRATION.md for Ant Design deprecated APIs
33
- - Skip: If original component doesn't exist in cap-ui-library
34
- - All deprecated Ant Design props and prop changes must be documented before proceeding.
35
-
36
- ## Visual Testing Results
37
-
38
- All 8 variants passed (threshold: 1.5%):
39
-
40
- | Variant | Diff % | Status |
41
- |---------|--------|--------|
42
- | default | 0.34% | ✓ Pass |
43
- | custom-gap | 0.35% | ✓ Pass |
44
- | no-heading | 0.27% | ✓ Pass |
45
- | long-list | 0.34% | ✓ Pass |
46
- | single-card | 0.42% | ✓ Pass |
47
- | empty-data | 0.18% | ✓ Pass |
48
- | second-slide-selected | 0.34% | ✓ Pass |
49
- | third-slide-selected | 0.34% | ✓ Pass |
50
-
51
- Screenshots confirmed:
52
- - `second-slide-selected`: Slide 2 tab selected (bold + underline), Card 2 visible — click switching WORKING ✓
53
- - `third-slide-selected`: Slide 2 tab selected (bold + underline), Card 2 and Card 3 visible — click switching WORKING ✓
54
-
55
- Minor diffs (0.34–0.42%) are from antd v3→v6 styling differences (Row/Col flex layout). Not regressions.
56
-
57
- ## CSS Fixes Applied
58
-
59
- 1. **Card shrinking (antd v6 flex)**: Added `style={{ flexShrink: 0 }}` inline to the card item CapRow in `index.tsx`. antd v5 `Row` renders as `display: flex` with default `flex-shrink: 1`, causing cards to shrink. Inline style overrides any CSS-in-JS conflicts.
60
-
61
- ## Notes
62
-
63
- - Fixed `carouselId` to use `useRef` so it remains stable across re-renders (was `Math.random()` outside any hook, causing a new ID on every state update)
64
- - Fixed `handleSlidesOnAction` to directly call `setCarouselItemIndex(index)` so the selected tab indicator updates immediately on click (previously relied solely on scroll event which may not fire in all cases)
65
- - Added `second-slide-selected` and `third-slide-selected` interaction test cases to both consumer testCases.js to verify click/switching behavior visually
66
- - Used `type: 'evaluate'` interactions with `.cap-custom-carousel-header-item:nth-child(N)` selectors (avoid `]` chars in scripts due to test-case-loader.js regex limitation)
67
- - Fixed `image-utils.js` to handle `evaluate` interaction type (runs arbitrary JS in page context)
68
- - Fixed `test-case-loader.js` fallback parser to extract `script` property from `evaluate` interactions
69
-
@@ -1,178 +0,0 @@
1
- # CapCustomCheckboxList Component
2
-
3
- A component that renders a horizontal list of custom checkbox items, each with an icon, title, and optional inductive text.
4
-
5
- ## Migration from Ant Design v3 to v6
6
-
7
- This component has been migrated from Ant Design v3 to v6 with the following changes:
8
-
9
- ### Breaking Changes
10
-
11
- **No breaking changes** - The component maintains full backward compatibility.
12
-
13
- The component uses `CapCheckbox.Group` which is already migrated to Ant Design v6. The Checkbox.Group API is stable across v3→v6 with no deprecated props.
14
-
15
- ### Deprecated Props
16
-
17
- **No deprecated Ant Design props** - The component uses `Checkbox.Group` from Ant Design v6, which has no deprecated props in the v3→v6 migration.
18
-
19
- **Ant Design Component Used:**
20
- - **Checkbox.Group** (`antd-v5` package) - Used via `CapCheckbox.Group`
21
-
22
- **Verification:**
23
- According to the [Ant Design v6 Migration Guide](https://ant.design/docs/react/migration-v6) and the project's `ANTD_V6_MIGRATION.md`, `Checkbox.Group` is not listed among components with deprecated props. The Checkbox.Group API remains stable across Ant Design v3→v6 with no prop changes required.
24
-
25
- **Note:** If you encounter any deprecated prop warnings related to Checkbox.Group in the future, please report them as they would indicate a change in Ant Design's API.
26
-
27
- ### Backward Compatibility
28
-
29
- All props remain backward compatible. The component maintains the same API and behavior as before.
30
-
31
- ### Style Changes
32
-
33
- **Approach**: The component uses custom SCSS classes with no Ant Design style overrides. All styling is handled through component-specific classes and SCSS variables.
34
-
35
- ### Code Improvements
36
-
37
- 1. **TypeScript Conversion**: Converted from JavaScript with PropTypes to TypeScript with proper type definitions
38
- 2. **Type Safety**: Added comprehensive TypeScript interfaces in `types.ts`
39
- 3. **Modern React Patterns**: Uses functional component with React.FC
40
- 4. **Improved Code Quality**: Uses `classnames` library (consistent with codebase), proper type exports
41
-
42
- ### What Stayed the Same
43
-
44
- - Component API (`paneList`, `className`, and all Checkbox.Group props)
45
- - Visual appearance and styling
46
- - Behavior and functionality
47
- - Class names for backward compatibility
48
-
49
- ### What Changed
50
-
51
- - **Added**: TypeScript types and interfaces
52
- - **Added**: Proper type exports
53
- - **Improved**: Code structure and maintainability
54
- - **Updated**: Dependencies (uses `classnames` instead of `classNames` require)
55
-
56
- ## Props
57
-
58
- | Prop Name | Type | Default | Description |
59
- |-----------|------|---------|-------------|
60
- | `paneList` | `PaneListItem[]` | **Required** | Array of checkbox items to render |
61
- | `className` | `string` | `undefined` | Additional CSS class name |
62
- | `value` | `(string \| number)[]` | `undefined` | Controlled value (Checkbox.Group prop) |
63
- | `defaultValue` | `(string \| number)[]` | `undefined` | Default value (Checkbox.Group prop) |
64
- | `onChange` | `(checkedValue: (string \| number)[]) => void` | `undefined` | Callback when selection changes (Checkbox.Group prop) |
65
- | `disabled` | `boolean` | `undefined` | Whether all checkboxes are disabled (Checkbox.Group prop) |
66
- | `...rest` | `CheckboxGroupProps` | - | All other Ant Design Checkbox.Group props are supported |
67
-
68
- ### PaneListItem Interface
69
-
70
- | Prop Name | Type | Default | Description |
71
- |-----------|------|---------|-------------|
72
- | `key` | `string \| number` | `undefined` | Unique key for React (falls back to index if not provided) |
73
- | `title` | `string` | **Required** | Title text displayed as the checkbox label |
74
- | `inductiveText` | `string` | `undefined` | Optional inductive text displayed below the title |
75
- | `iconProps` | `CapIconProps` | `undefined` | Optional props for the icon component |
76
- | `...rest` | `CapCheckboxProps` | - | All other CapCheckbox props are supported (e.g., `value`, `checked`, `disabled`) |
77
-
78
- ## Usage
79
-
80
- ### Basic Example
81
-
82
- ```tsx
83
- import { CapCustomCheckboxList } from '@capillarytech/blaze-ui';
84
- import type { PaneListItem } from '@capillarytech/blaze-ui';
85
-
86
- const items: PaneListItem[] = [
87
- {
88
- key: '1',
89
- title: 'Option 1',
90
- value: 'option1',
91
- iconProps: { type: 'check' },
92
- },
93
- {
94
- key: '2',
95
- title: 'Option 2',
96
- value: 'option2',
97
- iconProps: { type: 'star' },
98
- inductiveText: 'Additional information',
99
- },
100
- ];
101
-
102
- function MyComponent() {
103
- return <CapCustomCheckboxList paneList={items} />;
104
- }
105
- ```
106
-
107
- ### Controlled Example
108
-
109
- ```tsx
110
- import { useState } from 'react';
111
- import { CapCustomCheckboxList } from '@capillarytech/blaze-ui';
112
-
113
- function Form() {
114
- const [selectedValues, setSelectedValues] = useState<string[]>([]);
115
-
116
- const items = [
117
- { key: '1', title: 'Option 1', value: 'option1', iconProps: { type: 'check' } },
118
- { key: '2', title: 'Option 2', value: 'option2', iconProps: { type: 'star' } },
119
- ];
120
-
121
- return (
122
- <CapCustomCheckboxList
123
- paneList={items}
124
- value={selectedValues}
125
- onChange={(values) => setSelectedValues(values as string[])}
126
- />
127
- );
128
- }
129
- ```
130
-
131
- ### With All Checkbox.Group Props
132
-
133
- ```tsx
134
- <CapCustomCheckboxList
135
- paneList={items}
136
- defaultValue={['option1']}
137
- disabled={false}
138
- onChange={(values) => console.log(values)}
139
- />
140
- ```
141
-
142
- ## Styling
143
-
144
- The component uses SCSS with the following class structure:
145
-
146
- - `.cap-customCheckboxList-v2` - Main container for each checkbox item
147
- - `.div-icon` - Icon container
148
- - `.customCheckbox-icon` - Icon styling
149
- - `.customCheckbox-inductive-text` - Inductive text styling
150
- - `.customCheckbox` - Checkbox wrapper styling
151
-
152
- All styles use SCSS variables from `components/styles/_variables.scss` for consistency.
153
-
154
- ## TypeScript
155
-
156
- ```typescript
157
- import type { CapCustomCheckboxListProps, PaneListItem } from '@capillarytech/blaze-ui';
158
-
159
- const items: PaneListItem[] = [
160
- {
161
- key: '1',
162
- title: 'Option 1',
163
- value: 'option1',
164
- iconProps: { type: 'check' },
165
- },
166
- ];
167
-
168
- const MyComponent: React.FC = () => {
169
- return <CapCustomCheckboxList paneList={items} />;
170
- };
171
- ```
172
-
173
- ## Notes
174
-
175
- - Each item in `paneList` should have a unique `key` prop for optimal React performance. If not provided, the array index is used as fallback.
176
- - The component renders items horizontally using flexbox (`display: flex`).
177
- - All Ant Design Checkbox.Group props are supported through prop spreading.
178
- - The component maintains backward compatibility with existing class names and structure.
@@ -1,52 +0,0 @@
1
- # Migration Status: CapCustomCheckboxList
2
-
3
- **Last Updated**: 2026-02-06 09:53:16
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-06 09:53:16
36
- **Maximum Mismatch**: 4.47%
37
-
38
- ### Mismatched Variants:
39
- - long-content:4.47%
40
-
41
-
42
- ## CSS Fixes Applied
43
-
44
- **Date**: 2026-02-01 01:37:16
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/CapCustomCheckboxList/css-fix-analysis.md`_
48
-
49
-
50
- ## Notes
51
-
52
- _No notes yet._