@capillarytech/blaze-ui 5.21.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.
- package/CapLanguageProvider/actions.js +125 -0
- package/CapLanguageProvider/actions.js.map +1 -0
- package/CapLanguageProvider/constants.js +37 -0
- package/CapLanguageProvider/constants.js.map +1 -0
- package/package.json +1 -1
- package/CapActionBar/README.md +0 -11
- package/CapAdvancedIcon/README.md +0 -185
- package/CapAdvancedIcon/use-cases.md +0 -44
- package/CapAlert/README.md +0 -144
- package/CapAppNotEnabled/README.md +0 -84
- package/CapAskAira/README.md +0 -328
- package/CapBanner/README.md +0 -4
- package/CapBlock/README.md +0 -175
- package/CapBorderedBox/Status.md +0 -40
- package/CapCSVFileUploader/README.md +0 -124
- package/CapCSVFileUploader/Status.md +0 -47
- package/CapCard/README.md +0 -85
- package/CapCard/Status.md +0 -41
- package/CapCardBox/README.md +0 -169
- package/CapCardBox/Status.md +0 -52
- package/CapCarousel/README.md +0 -190
- package/CapCarousel/Status.md +0 -73
- package/CapCheckbox/README.md +0 -254
- package/CapCheckbox/Status.md +0 -41
- package/CapColorPicker/README.md +0 -112
- package/CapColorPicker/Status.md +0 -52
- package/CapColorPicker/tests/USE_CASES_ANALYSIS.md +0 -92
- package/CapColoredTag/README.md +0 -167
- package/CapColoredTag/Status.md +0 -49
- package/CapConditionPreview/MIGRATION_ANALYSIS.md +0 -70
- package/CapConditionPreview/README.md +0 -40
- package/CapConditionPreview/tests/USE_CASES_CapConditionPreview.md +0 -65
- package/CapCustomCard/README.md +0 -182
- package/CapCustomCard/Status.md +0 -40
- package/CapCustomCarousel/Status.md +0 -69
- package/CapCustomCheckboxList/README.md +0 -178
- package/CapCustomCheckboxList/Status.md +0 -52
- package/CapCustomCheckboxList/tests/USE_CASES_ANALYSIS.md +0 -174
- package/CapCustomList/README.md +0 -117
- package/CapCustomList/Status.md +0 -77
- package/CapCustomList/tests/USE_CASES_ANALYSIS.md +0 -124
- package/CapCustomSelect/README.md +0 -38
- package/CapDatePicker/README.md +0 -139
- package/CapDateRangePicker/README.md +0 -159
- package/CapDateTimePicker/README.md +0 -136
- package/CapDateTimeRangePicker/README.md +0 -243
- package/CapDivider/README.md +0 -122
- package/CapDrawer/README.md +0 -207
- package/CapDrawer/Status.md +0 -52
- package/CapDrawer/tests/MISSING_USE_CASES.md +0 -170
- package/CapDropdown/README.md +0 -515
- package/CapDropdown/Status.md +0 -45
- package/CapDropdown/tests/USE_CASES_ANALYSIS.md +0 -137
- package/CapError/README.md +0 -88
- package/CapErrorBoundary/CapErrorBoundary-use-cases.md +0 -89
- package/CapErrorBoundary/README.md +0 -150
- package/CapErrorStateIllustration/README.md +0 -222
- package/CapErrorStateIllustration/USE_CASES.md +0 -33
- package/CapExpressionEditor/README.md +0 -32
- package/CapForm/README.md +0 -132
- package/CapForm/Status.md +0 -40
- package/CapForm/tests/PHASE1_UNFULFILLED_USE_CASES.md +0 -113
- package/CapForm/tests/USE_CASES_ANALYSIS.md +0 -119
- package/CapFormItem/README.md +0 -320
- package/CapFormItem/Status.md +0 -73
- package/CapFormItem/tests/USE_CASES_ANALYSIS.md +0 -84
- package/CapGraph/README.md +0 -69
- package/CapGraph/USE_CASES.md +0 -66
- package/CapHamburgerMenu/README.md +0 -234
- package/CapHamburgerMenu/USE_CASES.md +0 -48
- package/CapHeader/Status.md +0 -41
- package/CapHeading/README.md +0 -220
- package/CapHeading/Status.md +0 -41
- package/CapIcon/README.md +0 -207
- package/CapIllustration/Status.md +0 -41
- package/CapImage/README.md +0 -50
- package/CapImportMFEComponent/README.md +0 -121
- package/CapInfoNote/Status.md +0 -40
- package/CapInfoNote/tests/USE_CASES_ANALYSIS.md +0 -114
- package/CapInput/README.md +0 -196
- package/CapInput/Status.md +0 -123
- package/CapInput/tests/USE_CASES_ANALYSIS.md +0 -169
- package/CapLanguageProvider/CapLanguageProvider-use-cases.md +0 -56
- package/CapLanguageProvider/README.md +0 -206
- package/CapLevelGraphRenderer/CapLevelGraphRenderer-test-cases.md +0 -50
- package/CapLevelGraphRenderer/README.md +0 -123
- package/CapLevelGraphRenderer/Tooltip_MIGRATION_ANALYSIS.md +0 -120
- package/CapLink/README.md +0 -203
- package/CapLink/Status.md +0 -32
- package/CapLink/tests/CapLink.missingUseCases.md +0 -95
- package/CapList/README.md +0 -129
- package/CapList/Status.md +0 -69
- package/CapListLayout/README.md +0 -7
- package/CapLogin/README.md +0 -7
- package/CapMenu/README.md +0 -86
- package/CapModal/README.md +0 -357
- package/CapModal/Status.md +0 -52
- package/CapModal/tests/USE_CASES_GAPS.md +0 -207
- package/CapMultiSelect/README.md +0 -170
- package/CapMultiSelect/tests/USE_CASES_ANALYSIS.md +0 -29
- package/CapMultiSelectDatePicker/README.md +0 -11
- package/CapNavigation/README.md +0 -72
- package/CapNotification/README.md +0 -228
- package/CapNotificationDropdown/README.md +0 -5
- package/CapPopover/README.md +0 -234
- package/CapProgress/Status.md +0 -40
- package/CapRadio/Status.md +0 -54
- package/CapRadioButton/README.md +0 -152
- package/CapRadioButton/Status.md +0 -70
- package/CapRadioButton/tests/USE_CASES_ANALYSIS.md +0 -120
- package/CapRadioCard/README.md +0 -161
- package/CapRadioCard/Status.md +0 -78
- package/CapRadioGroup/README.md +0 -141
- package/CapRadioGroup/Status.md +0 -59
- package/CapReorderComponent/README.md +0 -179
- package/CapReorderComponent/Status.md +0 -41
- package/CapRoadMap/README.md +0 -126
- package/CapRoadMap/Status.md +0 -53
- package/CapRoadMap/tests/USE_CASE_GAPS.md +0 -92
- package/CapRow/README.md +0 -424
- package/CapSKUUploader/README.md +0 -189
- package/CapSKUUploader/Status.md +0 -66
- package/CapSecondaryTopBar/README.md +0 -7
- package/CapSelect/README.md +0 -243
- package/CapSelectFilter/README.md +0 -121
- package/CapShape/README.md +0 -96
- package/CapShape/Status.md +0 -36
- package/CapShape/tests/USE_CASES_ANALYSIS.md +0 -120
- package/CapSideBar/README.md +0 -298
- package/CapSideBar/Status.md +0 -5
- package/CapSlideBox/README.md +0 -68
- package/CapSlider/README.md +0 -423
- package/CapSlider/Status.md +0 -48
- package/CapSlider/tests/TEST_COVERAGE.md +0 -118
- package/CapSnackBar/README.md +0 -222
- package/CapSnackBar/Status.md +0 -41
- package/CapSomethingWentWrong/README.md +0 -97
- package/CapSplit/README.md +0 -19
- package/CapStatisticCard/README.md +0 -138
- package/CapStatus/README.md +0 -148
- package/CapStatus/Status.md +0 -40
- package/CapSteps/Status.md +0 -40
- package/CapStepsAccordian/README.md +0 -305
- package/CapStepsAccordian/Status.md +0 -48
- package/CapSupportVideosWrapper/README.md +0 -14
- package/CapSwitch/README.md +0 -351
- package/CapTab/README.md +0 -406
- package/CapTab/Status.md +0 -104
- package/CapTab/tests/USE_CASE_GAPS.md +0 -143
- package/CapTabV3/ANALYSIS.md +0 -60
- package/CapTabV3/README.md +0 -156
- package/CapTabV3/Status.md +0 -52
- package/CapTabV3/tests/USE_CASE_GAPS.md +0 -149
- package/CapTable/README.md +0 -160
- package/CapTable/Status.md +0 -41
- package/CapTag/README.md +0 -16
- package/CapTagDropdown/README.md +0 -171
- package/CapTagDropdown/Status.md +0 -55
- package/CapTimePicker/README.md +0 -170
- package/CapTooltip/README.md +0 -336
- package/CapTooltipWithInfo/Status.md +0 -75
- package/CapTopBar/README.md +0 -146
- package/CapTree/README.md +0 -124
- package/CapTree/Status.md +0 -48
- package/CapTree/tests/STATUS.md +0 -154
- package/CapTreeSelect/README.md +0 -217
- package/CapTreeSelect/Status.md +0 -52
- package/CapTruncateList/README.md +0 -13
- package/CapUnifiedSelect/README.md +0 -40
- package/CapUploader/README.md +0 -313
- package/CapUploader/Status.md +0 -76
- package/CapUploader/tests/USE_CASES_ANALYSIS.md +0 -225
- package/CapUserProfile/README.md +0 -105
- package/CapUserProfile/Status.md +0 -95
- package/CapVirtualList/README.md +0 -162
- package/CapVirtualList/Status.md +0 -71
- package/assets/HOCs/ComponentWithLabelHOC/README.md +0 -230
package/CapLink/README.md
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
# CapLink Migration Guide
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
CapLink has been migrated from `cap-ui-library` to `blaze-ui` with the following changes:
|
|
6
|
-
|
|
7
|
-
- Converted from class component to functional component
|
|
8
|
-
- Removed styled-components dependency (moved font-weight styling to SCSS)
|
|
9
|
-
- Migrated to Ant Design v6 APIs
|
|
10
|
-
- Removed all `.ant-` class selectors from SCSS
|
|
11
|
-
- Maintained backward compatibility with the existing API
|
|
12
|
-
|
|
13
|
-
## Breaking Changes
|
|
14
|
-
|
|
15
|
-
**No breaking changes** - The component maintains full backward compatibility with the previous version.
|
|
16
|
-
|
|
17
|
-
### Ant Design Component Changes
|
|
18
|
-
|
|
19
|
-
- **Anchor component**: No breaking changes - All props used (`affix`) remain valid in Ant Design v6
|
|
20
|
-
- **Anchor.Link component**: No breaking changes - Standard HTML anchor attributes are passed through unchanged
|
|
21
|
-
|
|
22
|
-
## Prop Changes
|
|
23
|
-
|
|
24
|
-
### All Props (Unchanged)
|
|
25
|
-
|
|
26
|
-
| Prop | Type | Default | Description |
|
|
27
|
-
|------|------|---------|-------------|
|
|
28
|
-
| `children` | `React.ReactNode` | `undefined` | Link text content |
|
|
29
|
-
| `className` | `string` | `undefined` | Additional CSS class name |
|
|
30
|
-
| `disabled` | `boolean` | `false` | Whether the link is disabled |
|
|
31
|
-
| `fontWeight` | `'m' \| 'regular'` | `undefined` | Font weight: 'm' for medium, 'regular' for regular |
|
|
32
|
-
| `href` | `string` | `undefined` | URL to navigate to |
|
|
33
|
-
| `onClick` | `(e: React.MouseEvent<HTMLAnchorElement>, link: { href?: string; title?: React.ReactNode }) => void` | `undefined` | Click handler |
|
|
34
|
-
| `prefix` | `React.ReactNode` | `undefined` | Content displayed before the link text |
|
|
35
|
-
| `style` | `React.CSSProperties` | `undefined` | Inline styles for the link |
|
|
36
|
-
| `suffix` | `React.ReactNode` | `undefined` | Content displayed after the link text |
|
|
37
|
-
| `title` | `string` | `undefined` | Link title attribute |
|
|
38
|
-
|
|
39
|
-
### Deprecated Props
|
|
40
|
-
|
|
41
|
-
**None** - No deprecated Ant Design props identified.
|
|
42
|
-
|
|
43
|
-
#### Ant Design Component Verification
|
|
44
|
-
|
|
45
|
-
CapLink uses Ant Design's **Anchor** component internally. After verification against the Ant Design v6 migration guide:
|
|
46
|
-
|
|
47
|
-
- ✅ **Anchor component**: No deprecated props identified in Ant Design v6
|
|
48
|
-
- ✅ **Props used**: `affix={false}` - Still valid in v6
|
|
49
|
-
- ✅ **Anchor.Link component**: Receives standard HTML anchor attributes (via `{...rest}`) - No deprecated Ant Design props
|
|
50
|
-
|
|
51
|
-
**Note**: The Anchor component is not listed in the deprecated API fixes table in `ANTD_V6_MIGRATION.md`, confirming that Anchor does not have any deprecated props in Ant Design v6. The component uses a minimal Anchor API (`affix={false}`) which remains valid in v6.
|
|
52
|
-
|
|
53
|
-
## API Changes
|
|
54
|
-
|
|
55
|
-
### Before (cap-ui-library)
|
|
56
|
-
|
|
57
|
-
```tsx
|
|
58
|
-
import CapLink from '@capillarytech/cap-ui-library/components/CapLink';
|
|
59
|
-
|
|
60
|
-
<CapLink href="#section" fontWeight="m" onClick={handleClick}>
|
|
61
|
-
Link Text
|
|
62
|
-
</CapLink>
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### After (blaze-ui)
|
|
66
|
-
|
|
67
|
-
```tsx
|
|
68
|
-
import { CapLink } from '@capillarytech/blaze-ui';
|
|
69
|
-
|
|
70
|
-
<CapLink href="#section" fontWeight="m" onClick={handleClick}>
|
|
71
|
-
Link Text
|
|
72
|
-
</CapLink>
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Migration Steps for Consumers
|
|
76
|
-
|
|
77
|
-
1. **Update imports:**
|
|
78
|
-
```tsx
|
|
79
|
-
// Old
|
|
80
|
-
import CapLink from '@capillarytech/cap-ui-library/components/CapLink';
|
|
81
|
-
|
|
82
|
-
// New
|
|
83
|
-
import { CapLink } from '@capillarytech/blaze-ui';
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
2. **No prop changes required** - All existing props work exactly the same.
|
|
87
|
-
|
|
88
|
-
## Implementation Details
|
|
89
|
-
|
|
90
|
-
### Component Structure
|
|
91
|
-
|
|
92
|
-
- **Before**: Class component using styled-components for font-weight styling
|
|
93
|
-
- **After**: Functional component using SCSS classes for font-weight styling
|
|
94
|
-
|
|
95
|
-
### Styling Changes
|
|
96
|
-
|
|
97
|
-
- **Removed**: All `.ant-` class selectors from SCSS
|
|
98
|
-
- **Removed**: styled-components dependency
|
|
99
|
-
- **Added**: SCSS-based font-weight classes (`font-weight-medium`, `font-weight-regular`)
|
|
100
|
-
- **Maintained**: All visual styling and behavior
|
|
101
|
-
|
|
102
|
-
### Technical Changes
|
|
103
|
-
|
|
104
|
-
1. Converted from `React.Component` to `React.FC`
|
|
105
|
-
2. Removed `PropTypes` (using TypeScript types only)
|
|
106
|
-
3. Removed `styled-components` dependency
|
|
107
|
-
4. Moved font-weight logic from styled-components to SCSS classes
|
|
108
|
-
5. Updated to use `classNames` library (camelCase import)
|
|
109
|
-
6. Removed all `.ant-` class selectors from styles.scss
|
|
110
|
-
|
|
111
|
-
## Behavioral Changes
|
|
112
|
-
|
|
113
|
-
- **No breaking changes** - All existing functionality is preserved
|
|
114
|
-
- Component behavior remains identical to the previous version
|
|
115
|
-
- Visual appearance is unchanged
|
|
116
|
-
|
|
117
|
-
## TypeScript Support
|
|
118
|
-
|
|
119
|
-
Full TypeScript support with exported `CapLinkProps` interface:
|
|
120
|
-
|
|
121
|
-
```tsx
|
|
122
|
-
import type { CapLinkProps } from '@capillarytech/blaze-ui';
|
|
123
|
-
|
|
124
|
-
const props: CapLinkProps = {
|
|
125
|
-
href: '#section',
|
|
126
|
-
children: 'Link Text',
|
|
127
|
-
fontWeight: 'm',
|
|
128
|
-
};
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## Examples
|
|
132
|
-
|
|
133
|
-
### Basic Usage
|
|
134
|
-
|
|
135
|
-
```tsx
|
|
136
|
-
import { CapLink } from '@capillarytech/blaze-ui';
|
|
137
|
-
|
|
138
|
-
<CapLink href="#section">Basic Link</CapLink>
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### With Prefix and Suffix
|
|
142
|
-
|
|
143
|
-
```tsx
|
|
144
|
-
import { CapLink } from '@capillarytech/blaze-ui';
|
|
145
|
-
import { CapIcon } from '@capillarytech/blaze-ui';
|
|
146
|
-
|
|
147
|
-
<CapLink
|
|
148
|
-
href="#section"
|
|
149
|
-
prefix={<CapIcon name="chevron-left" />}
|
|
150
|
-
suffix={<CapIcon name="chevron-right" />}
|
|
151
|
-
>
|
|
152
|
-
Link with Icons
|
|
153
|
-
</CapLink>
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### With Custom Font Weight
|
|
157
|
-
|
|
158
|
-
```tsx
|
|
159
|
-
<CapLink href="#section" fontWeight="m">
|
|
160
|
-
Medium Weight Link
|
|
161
|
-
</CapLink>
|
|
162
|
-
|
|
163
|
-
<CapLink href="#section" fontWeight="regular">
|
|
164
|
-
Regular Weight Link
|
|
165
|
-
</CapLink>
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### Disabled State
|
|
169
|
-
|
|
170
|
-
```tsx
|
|
171
|
-
<CapLink href="#section" disabled>
|
|
172
|
-
Disabled Link
|
|
173
|
-
</CapLink>
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### With Click Handler
|
|
177
|
-
|
|
178
|
-
```tsx
|
|
179
|
-
<CapLink
|
|
180
|
-
href="#section"
|
|
181
|
-
onClick={(e, link) => {
|
|
182
|
-
console.log('Clicked:', link.href);
|
|
183
|
-
}}
|
|
184
|
-
>
|
|
185
|
-
Clickable Link
|
|
186
|
-
</CapLink>
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
## Notes
|
|
190
|
-
|
|
191
|
-
- The component uses Ant Design's **Anchor** component internally
|
|
192
|
-
- The Anchor component uses `affix={false}` to disable the affix behavior
|
|
193
|
-
- All Ant Design Anchor props (except those overridden) can be passed through via `{...rest}`
|
|
194
|
-
- Standard HTML anchor attributes (`href`, `title`, etc.) are passed to `Anchor.Link` via `{...rest}`
|
|
195
|
-
- The component prevents default anchor behavior and calls the custom `onClick` handler
|
|
196
|
-
- Font weight styling is now handled via SCSS classes instead of styled-components
|
|
197
|
-
|
|
198
|
-
### Ant Design v6 Compliance
|
|
199
|
-
|
|
200
|
-
✅ **Fully compliant** - CapLink uses Ant Design v6 APIs:
|
|
201
|
-
- Uses `Anchor` component from `antd` (v6)
|
|
202
|
-
- No deprecated Ant Design props are used
|
|
203
|
-
- All Ant Design component props are v6-compatible
|
package/CapLink/Status.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Migration Status: CapLink
|
|
2
|
-
|
|
3
|
-
**Last Updated**: 2026-01-31 18:40:39
|
|
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
|
-
_No visual testing results yet._
|
|
24
|
-
|
|
25
|
-
## CSS Fixes Applied
|
|
26
|
-
|
|
27
|
-
_No CSS fixes applied yet._
|
|
28
|
-
|
|
29
|
-
## Notes
|
|
30
|
-
|
|
31
|
-
_No notes yet._
|
|
32
|
-
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
# CapLink - Missing Use Cases Analysis
|
|
2
|
-
|
|
3
|
-
## Phase 1: Use Cases the Component is NOT Fulfilling
|
|
4
|
-
|
|
5
|
-
Based on analysis of the CapLink component implementation and comparison with common link component patterns in the codebase, the following use cases are **NOT currently supported**:
|
|
6
|
-
|
|
7
|
-
### 1. **External Link Handling**
|
|
8
|
-
- **Missing**: Automatic detection and handling of external links
|
|
9
|
-
- **Impact**: No automatic `target="_blank"` or `rel="noopener noreferrer"` for external URLs
|
|
10
|
-
- **Current Behavior**: All links use the same behavior regardless of URL type
|
|
11
|
-
- **Expected**: External links should open in new tab with proper security attributes
|
|
12
|
-
|
|
13
|
-
### 2. **Conditional preventDefault**
|
|
14
|
-
- **Missing**: Option to allow default navigation behavior
|
|
15
|
-
- **Impact**: Component always calls `e.preventDefault()`, even when onClick is not provided
|
|
16
|
-
- **Current Behavior**: `handleClick` always prevents default navigation
|
|
17
|
-
- **Expected**: Should only prevent default when onClick handler is provided, or allow prop to control this behavior
|
|
18
|
-
|
|
19
|
-
### 3. **Target Attribute Support**
|
|
20
|
-
- **Missing**: Explicit support for `target` prop (though it can be passed via rest props)
|
|
21
|
-
- **Impact**: No clear API for opening links in new tabs/windows
|
|
22
|
-
- **Current Behavior**: Can pass target via rest props, but not documented or type-safe
|
|
23
|
-
- **Expected**: Explicit `target` prop with common values like `_blank`, `_self`, `_parent`, `_top`
|
|
24
|
-
|
|
25
|
-
### 4. **Rel Attribute for Security**
|
|
26
|
-
- **Missing**: Automatic `rel="noopener noreferrer"` for external links
|
|
27
|
-
- **Impact**: Security vulnerability when opening external links in new tabs
|
|
28
|
-
- **Current Behavior**: No automatic security attributes
|
|
29
|
-
- **Expected**: Should automatically add security attributes for external links with `target="_blank"`
|
|
30
|
-
|
|
31
|
-
### 5. **Loading State**
|
|
32
|
-
- **Missing**: Visual feedback during navigation/loading
|
|
33
|
-
- **Impact**: No way to indicate that a link action is in progress
|
|
34
|
-
- **Current Behavior**: No loading state support
|
|
35
|
-
- **Expected**: Support for loading spinner or disabled state during async operations
|
|
36
|
-
|
|
37
|
-
### 6. **Error State**
|
|
38
|
-
- **Missing**: Error state handling
|
|
39
|
-
- **Impact**: No way to show error state if link fails
|
|
40
|
-
- **Current Behavior**: No error state support
|
|
41
|
-
- **Expected**: Visual indication when link action fails
|
|
42
|
-
|
|
43
|
-
### 7. **Keyboard Navigation**
|
|
44
|
-
- **Missing**: Explicit keyboard event handlers
|
|
45
|
-
- **Impact**: Relies on default anchor behavior, may not handle all keyboard interactions
|
|
46
|
-
- **Current Behavior**: Uses default anchor keyboard behavior
|
|
47
|
-
- **Expected**: Explicit support for Enter/Space key activation
|
|
48
|
-
|
|
49
|
-
### 8. **ARIA Attributes**
|
|
50
|
-
- **Missing**: Comprehensive ARIA support
|
|
51
|
-
- **Impact**: May not be fully accessible to screen readers
|
|
52
|
-
- **Current Behavior**: Relies on default anchor accessibility
|
|
53
|
-
- **Expected**: Support for `aria-label`, `aria-describedby`, `role` attributes
|
|
54
|
-
|
|
55
|
-
### 9. **Disabled State Click Prevention**
|
|
56
|
-
- **Missing**: Programmatic prevention of clicks when disabled
|
|
57
|
-
- **Impact**: Disabled state relies only on CSS (`pointer-events: none`), onClick handler still attached
|
|
58
|
-
- **Current Behavior**: CSS prevents clicks, but handler logic still exists
|
|
59
|
-
- **Expected**: Early return in handleClick when disabled is true
|
|
60
|
-
|
|
61
|
-
### 10. **Link Type Detection**
|
|
62
|
-
- **Missing**: Automatic detection of link type (internal vs external, anchor vs route)
|
|
63
|
-
- **Impact**: No smart routing or navigation handling
|
|
64
|
-
- **Current Behavior**: All links treated the same
|
|
65
|
-
- **Expected**: Different behavior for internal routes vs external URLs vs anchor links
|
|
66
|
-
|
|
67
|
-
### 11. **Analytics/Tracking Integration**
|
|
68
|
-
- **Missing**: Built-in support for analytics tracking
|
|
69
|
-
- **Impact**: No automatic click tracking
|
|
70
|
-
- **Current Behavior**: Requires manual onClick handler for tracking
|
|
71
|
-
- **Expected**: Optional analytics prop or automatic tracking
|
|
72
|
-
|
|
73
|
-
### 12. **Icon-Only Links**
|
|
74
|
-
- **Missing**: Explicit support for icon-only links with proper accessibility
|
|
75
|
-
- **Impact**: Icon-only links may not have proper aria-labels
|
|
76
|
-
- **Current Behavior**: Can render icons but no special handling
|
|
77
|
-
- **Expected**: Automatic aria-label for icon-only links
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## Notes
|
|
82
|
-
|
|
83
|
-
- Some of these features can be partially achieved by passing props via the `rest` spread, but they're not explicitly supported or documented
|
|
84
|
-
- The component is built on Ant Design's Anchor component, which may have its own limitations
|
|
85
|
-
- The `always preventDefault` behavior may be intentional for SPA navigation patterns
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Recommendations
|
|
90
|
-
|
|
91
|
-
1. **High Priority**: Add conditional `preventDefault` logic
|
|
92
|
-
2. **High Priority**: Add explicit `target` and `rel` prop support
|
|
93
|
-
3. **Medium Priority**: Add disabled state early return in handleClick
|
|
94
|
-
4. **Medium Priority**: Improve accessibility with ARIA attributes
|
|
95
|
-
5. **Low Priority**: Add loading/error states (may be out of scope for a link component)
|
package/CapList/README.md
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# CapList
|
|
2
|
-
|
|
3
|
-
A wrapper component around Ant Design's List component with Capillary-specific styling.
|
|
4
|
-
|
|
5
|
-
## Migration from cap-ui-library
|
|
6
|
-
|
|
7
|
-
This component has been migrated from `@capillarytech/cap-ui-library` to `@capillarytech/blaze-ui` with the following changes:
|
|
8
|
-
|
|
9
|
-
### Breaking Changes
|
|
10
|
-
|
|
11
|
-
**No breaking changes** - The component maintains full backward compatibility with the previous version.
|
|
12
|
-
|
|
13
|
-
### Deprecated Props
|
|
14
|
-
|
|
15
|
-
**Status:** ✅ **No deprecated props**
|
|
16
|
-
|
|
17
|
-
The Ant Design `List` component does not have any deprecated props in v6 that require backward compatibility mapping. Unlike other Ant Design components (Dropdown, Tooltip, Tabs, Alert, etc.), the List component's prop API remained stable during the v3 → v6 migration.
|
|
18
|
-
|
|
19
|
-
#### Ant Design Component Used
|
|
20
|
-
|
|
21
|
-
- **List** (`antd-v5`) - Used directly from Ant Design
|
|
22
|
-
|
|
23
|
-
#### Verification Steps
|
|
24
|
-
|
|
25
|
-
The following verification steps were completed to confirm no deprecated props exist:
|
|
26
|
-
|
|
27
|
-
| Verification Step | Status | Result |
|
|
28
|
-
|-------------------|--------|--------|
|
|
29
|
-
| Checked `MIGRATION_CHANGELOG_TEMPLATE.md` | ✅ | No List component deprecated props patterns documented |
|
|
30
|
-
| Checked `ANTD_V6_MIGRATION.md` | ✅ | List component is NOT listed in the deprecated API fixes table |
|
|
31
|
-
| Verified against Ant Design v6 migration guide | ✅ | List component API remains stable with no deprecated props |
|
|
32
|
-
| Compared original vs migrated component | ✅ | No deprecated props used in either version |
|
|
33
|
-
|
|
34
|
-
#### Reference: Other Ant Design Components with Deprecated Props
|
|
35
|
-
|
|
36
|
-
The following Ant Design components **do** have deprecated props in v6, but **List is not among them**:
|
|
37
|
-
|
|
38
|
-
- **Dropdown**: `visible` → `open`, `overlayClassName` → `classNames.root`, `overlay` → `menu`
|
|
39
|
-
- **Tooltip**: `destroyTooltipOnHide` → `destroyOnHidden`, `overlayClassName` → `classNames.root`, `overlayStyle` → `styles.root`
|
|
40
|
-
- **Tabs**: `TabPane` children → `items` prop, `tabPosition` → `tabPlacement`
|
|
41
|
-
- **Alert**: `message` → `title`
|
|
42
|
-
- **All components**: `visible` → `open`, `onVisibleChange` → `onOpenChange`
|
|
43
|
-
|
|
44
|
-
**Conclusion:** CapList only uses Ant Design's `List` component, which has no deprecated props in v6. All List props remain valid and unchanged in v6. No backward compatibility mapping, deprecation warnings, or `@deprecated` JSDoc comments are required.
|
|
45
|
-
|
|
46
|
-
### Prop Changes
|
|
47
|
-
|
|
48
|
-
| Prop | Status | Notes |
|
|
49
|
-
|------|--------|-------|
|
|
50
|
-
| All Ant Design List props | ✅ Unchanged | All props from Ant Design List component are passed through unchanged |
|
|
51
|
-
| `className` | ✅ Unchanged | Custom CSS class name |
|
|
52
|
-
|
|
53
|
-
### API Changes
|
|
54
|
-
|
|
55
|
-
- **TypeScript Support:** Full TypeScript support with exported `CapListProps` interface
|
|
56
|
-
- **Ant Design Version:** Upgraded from Ant Design v3 to v6 (via v5)
|
|
57
|
-
- **Styling:** Migrated from SCSS overrides to Ant Design theme tokens
|
|
58
|
-
|
|
59
|
-
### Style Migration
|
|
60
|
-
|
|
61
|
-
**Ant Design v5 → v6 Style Changes:**
|
|
62
|
-
|
|
63
|
-
The component's split border color styling has been migrated from SCSS overrides to Ant Design theme tokens:
|
|
64
|
-
|
|
65
|
-
- **Before (v5):** SCSS override `.ant-list.cap-list-v2.ant-list-split .ant-list-item { border-bottom: 1px solid $CAP_G07; }`
|
|
66
|
-
- **After (v6):** Theme config token `components.List.colorSplit: '#dfe2e7'`
|
|
67
|
-
|
|
68
|
-
This change ensures better theme consistency and eliminates the need for CSS overrides. The visual appearance remains identical.
|
|
69
|
-
|
|
70
|
-
### Usage Examples
|
|
71
|
-
|
|
72
|
-
#### Basic Usage
|
|
73
|
-
|
|
74
|
-
```tsx
|
|
75
|
-
import { CapList } from '@capillarytech/blaze-ui';
|
|
76
|
-
|
|
77
|
-
<CapList
|
|
78
|
-
dataSource={[
|
|
79
|
-
{ id: 1, name: 'Item 1' },
|
|
80
|
-
{ id: 2, name: 'Item 2' },
|
|
81
|
-
]}
|
|
82
|
-
renderItem={(item) => <CapList.Item>{item.name}</CapList.Item>}
|
|
83
|
-
/>
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
#### With Header and Footer
|
|
87
|
-
|
|
88
|
-
```tsx
|
|
89
|
-
<CapList
|
|
90
|
-
header={<div>Header</div>}
|
|
91
|
-
footer={<div>Footer</div>}
|
|
92
|
-
dataSource={data}
|
|
93
|
-
renderItem={(item) => <CapList.Item>{item.name}</CapList.Item>}
|
|
94
|
-
/>
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
#### Using CapList.Item
|
|
98
|
-
|
|
99
|
-
```tsx
|
|
100
|
-
<CapList>
|
|
101
|
-
<CapList.Item>Item 1</CapList.Item>
|
|
102
|
-
<CapList.Item>Item 2</CapList.Item>
|
|
103
|
-
<CapList.Item>Item 3</CapList.Item>
|
|
104
|
-
</CapList>
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### TypeScript
|
|
108
|
-
|
|
109
|
-
```tsx
|
|
110
|
-
import { CapList, CapListProps } from '@capillarytech/blaze-ui';
|
|
111
|
-
|
|
112
|
-
const props: CapListProps = {
|
|
113
|
-
dataSource: [{ id: 1, name: 'Item 1' }],
|
|
114
|
-
renderItem: (item) => <CapList.Item>{item.name}</CapList.Item>,
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
<CapList {...props} />
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### Migration Steps for Consumers
|
|
121
|
-
|
|
122
|
-
**No migration required** - All existing code using CapList will continue to work without modifications. The component maintains 100% backward compatibility.
|
|
123
|
-
|
|
124
|
-
### Component Structure
|
|
125
|
-
|
|
126
|
-
The component is a simple wrapper that:
|
|
127
|
-
- Passes all props through to Ant Design's List component
|
|
128
|
-
- Adds the `cap-list-v2` CSS class prefix
|
|
129
|
-
- Exposes `CapList.Item` as a reference to `List.Item`
|
package/CapList/Status.md
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# Migration Status: CapList
|
|
2
|
-
|
|
3
|
-
**Last Updated**: 2026-02-08 14:27:45
|
|
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
|
-
**Status:** ✅ **Verification Complete**
|
|
26
|
-
|
|
27
|
-
### Ant Design Components Used
|
|
28
|
-
- **List** (`antd`) - Used directly from Ant Design
|
|
29
|
-
|
|
30
|
-
### Deprecated Props Status
|
|
31
|
-
✅ **No deprecated props found**
|
|
32
|
-
|
|
33
|
-
The Ant Design `List` component does **not** have any deprecated props in v6 according to the [Ant Design v6 Migration Guide](https://ant.design/docs/react/migration-v6) and the project's `ANTD_V6_MIGRATION.md`.
|
|
34
|
-
|
|
35
|
-
**Verification Steps Completed:**
|
|
36
|
-
- ✅ Checked `MIGRATION_CHANGELOG_TEMPLATE.md` - No List component deprecated props patterns documented
|
|
37
|
-
- ✅ Checked `ANTD_V6_MIGRATION.md` - List component is NOT listed in the deprecated API fixes table
|
|
38
|
-
- ✅ Compared original component (`cap-ui-library/components/CapList/index.js`) with migrated component - No deprecated props used
|
|
39
|
-
- ✅ Verified component structure - Simple wrapper that passes all props through to Ant Design List
|
|
40
|
-
- ✅ README.md created with "Deprecated Props" section documenting no deprecated props
|
|
41
|
-
|
|
42
|
-
**Conclusion:** The Ant Design `List` component does not have any deprecated props in v6. No backward compatibility mapping or deprecation warnings are required. All List props remain valid and unchanged in v6.
|
|
43
|
-
|
|
44
|
-
**Note**: Step 2.5 is REQUIRED and enforced.
|
|
45
|
-
- Focus: **Ant Design component prop changes** (e.g., Dropdown, Input, Alert, Tooltip, etc.)
|
|
46
|
-
- Reference: MIGRATION_CHANGELOG_TEMPLATE.md for format, ANTD_V6_MIGRATION.md for Ant Design deprecated APIs
|
|
47
|
-
- Skip: If original component doesn't exist in cap-ui-library
|
|
48
|
-
- All deprecated Ant Design props and prop changes must be documented before proceeding.
|
|
49
|
-
|
|
50
|
-
## Visual Testing Results
|
|
51
|
-
|
|
52
|
-
**Last Test**: 2026-02-08 14:27:45
|
|
53
|
-
**Maximum Mismatch**: 0%
|
|
54
|
-
|
|
55
|
-
### Mismatched Variants:
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
## CSS Fixes Applied
|
|
60
|
-
|
|
61
|
-
**Date**: 2026-02-06 13:30:53
|
|
62
|
-
**Summary**: CSS fixes applied based on visual testing analysis.
|
|
63
|
-
|
|
64
|
-
_See full analysis in: `/Users/sarahkhader/repos/migration/blaze-ui/tools/visual-testing/report/CapList/css-fix-analysis.md`_
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
## Notes
|
|
68
|
-
|
|
69
|
-
_No notes yet._
|
package/CapListLayout/README.md
DELETED
package/CapLogin/README.md
DELETED
package/CapMenu/README.md
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# CapMenu
|
|
2
|
-
|
|
3
|
-
A wrapper component around Ant Design's Menu component, providing Capillary-specific styling and behavior.
|
|
4
|
-
|
|
5
|
-
## Migration Status: ✅ Ant Design v6 Compatible
|
|
6
|
-
|
|
7
|
-
This component has been migrated to be compatible with Ant Design v6. No breaking changes were required as the component was already using v6-compatible APIs.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```tsx
|
|
12
|
-
import { CapMenu } from '@capillarytech/blaze-ui';
|
|
13
|
-
|
|
14
|
-
// Basic usage
|
|
15
|
-
<CapMenu
|
|
16
|
-
mode="horizontal"
|
|
17
|
-
theme="light"
|
|
18
|
-
items={[
|
|
19
|
-
{ key: '1', label: 'Home' },
|
|
20
|
-
{ key: '2', label: 'About' },
|
|
21
|
-
]}
|
|
22
|
-
/>
|
|
23
|
-
|
|
24
|
-
// With submenu
|
|
25
|
-
<CapMenu
|
|
26
|
-
mode="inline"
|
|
27
|
-
items={[
|
|
28
|
-
{ key: '1', label: 'Home' },
|
|
29
|
-
{
|
|
30
|
-
key: '2',
|
|
31
|
-
label: 'Products',
|
|
32
|
-
children: [
|
|
33
|
-
{ key: '2-1', label: 'Product 1' },
|
|
34
|
-
{ key: '2-2', label: 'Product 2' },
|
|
35
|
-
],
|
|
36
|
-
},
|
|
37
|
-
]}
|
|
38
|
-
/>
|
|
39
|
-
|
|
40
|
-
// Using static components
|
|
41
|
-
<CapMenu mode="vertical">
|
|
42
|
-
<CapMenu.Item key="1">Home</CapMenu.Item>
|
|
43
|
-
<CapMenu.SubMenu key="2" title="Products">
|
|
44
|
-
<CapMenu.Item key="2-1">Product 1</CapMenu.Item>
|
|
45
|
-
<CapMenu.Item key="2-2">Product 2</CapMenu.Item>
|
|
46
|
-
</CapMenu.SubMenu>
|
|
47
|
-
<CapMenu.Divider />
|
|
48
|
-
<CapMenu.ItemGroup title="Settings">
|
|
49
|
-
<CapMenu.Item key="3">Profile</CapMenu.Item>
|
|
50
|
-
<CapMenu.Item key="4">Logout</CapMenu.Item>
|
|
51
|
-
</CapMenu.ItemGroup>
|
|
52
|
-
</CapMenu>
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Props
|
|
56
|
-
|
|
57
|
-
All props from Ant Design's `Menu` component are supported. See [Ant Design Menu API](https://ant.design/components/menu) for complete documentation.
|
|
58
|
-
|
|
59
|
-
### Common Props
|
|
60
|
-
|
|
61
|
-
| Prop | Type | Default | Description |
|
|
62
|
-
|------|------|---------|-------------|
|
|
63
|
-
| `mode` | `'horizontal' \| 'vertical' \| 'inline'` | `'horizontal'` | Menu display mode |
|
|
64
|
-
| `theme` | `'light' \| 'dark'` | `'light'` | Menu theme |
|
|
65
|
-
| `selectedKeys` | `string[]` | - | Selected menu item keys (controlled) |
|
|
66
|
-
| `defaultSelectedKeys` | `string[]` | - | Default selected menu item keys (uncontrolled) |
|
|
67
|
-
| `openKeys` | `string[]` | - | Open submenu keys (controlled) |
|
|
68
|
-
| `defaultOpenKeys` | `string[]` | - | Default open submenu keys (uncontrolled) |
|
|
69
|
-
| `onSelect` | `(info: { key: string; selectedKeys: string[] }) => void` | - | Callback when menu item is selected |
|
|
70
|
-
| `onOpenChange` | `(openKeys: string[]) => void` | - | Callback when submenu open state changes |
|
|
71
|
-
| `className` | `string` | - | Additional CSS class name |
|
|
72
|
-
|
|
73
|
-
## Static Components
|
|
74
|
-
|
|
75
|
-
- `CapMenu.Item` - Menu item component
|
|
76
|
-
- `CapMenu.SubMenu` - Submenu component
|
|
77
|
-
- `CapMenu.ItemGroup` - Item group component
|
|
78
|
-
- `CapMenu.Divider` - Divider component
|
|
79
|
-
|
|
80
|
-
## Breaking Changes
|
|
81
|
-
|
|
82
|
-
**None** - This component was already using v6-compatible APIs and required no breaking changes.
|
|
83
|
-
|
|
84
|
-
## Deprecated Props
|
|
85
|
-
|
|
86
|
-
**None** - No deprecated props are currently in use.
|