@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/CapTagDropdown/README.md
DELETED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
# CapTagDropdown Migration Guide
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
`CapTagDropdown` has been migrated from Ant Design v3 to v6. This document outlines the changes and migration steps.
|
|
6
|
-
|
|
7
|
-
## Breaking Changes
|
|
8
|
-
|
|
9
|
-
### None
|
|
10
|
-
|
|
11
|
-
This component maintains backward compatibility with the previous API.
|
|
12
|
-
|
|
13
|
-
## Deprecated Props
|
|
14
|
-
|
|
15
|
-
The following props are deprecated but still supported for backward compatibility. They will show deprecation warnings in development mode.
|
|
16
|
-
|
|
17
|
-
| Deprecated Prop | Replacement | Migration Guide |
|
|
18
|
-
|----------------|-------------|-----------------|
|
|
19
|
-
| `visible` | `dropdownProps.open` | Use `dropdownProps={{ open: true }}` instead of `visible={true}` |
|
|
20
|
-
| `onVisibleChange` | `dropdownProps.onOpenChange` | Use `dropdownProps={{ onOpenChange: handleChange }}` instead of `onVisibleChange={handleChange}` |
|
|
21
|
-
| `overlayStyle` | `dropdownProps.styles.root` | Use `dropdownProps={{ styles: { root: { width: '200px' } } }}` instead of `overlayStyle={{ width: '200px' }}` |
|
|
22
|
-
|
|
23
|
-
### Migration Examples
|
|
24
|
-
|
|
25
|
-
#### Before (Deprecated)
|
|
26
|
-
```tsx
|
|
27
|
-
<CapTagDropdown
|
|
28
|
-
visible={isOpen}
|
|
29
|
-
onVisibleChange={setIsOpen}
|
|
30
|
-
overlayStyle={{ width: '300px' }}
|
|
31
|
-
list={tags}
|
|
32
|
-
content={inputValue}
|
|
33
|
-
handleKeyDownCallback={handleKeyDown}
|
|
34
|
-
/>
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
#### After (Recommended)
|
|
38
|
-
```tsx
|
|
39
|
-
<CapTagDropdown
|
|
40
|
-
dropdownProps={{
|
|
41
|
-
open: isOpen,
|
|
42
|
-
onOpenChange: setIsOpen,
|
|
43
|
-
styles: {
|
|
44
|
-
root: { width: '300px' }
|
|
45
|
-
}
|
|
46
|
-
}}
|
|
47
|
-
list={tags}
|
|
48
|
-
content={inputValue}
|
|
49
|
-
handleKeyDownCallback={handleKeyDown}
|
|
50
|
-
/>
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Component API
|
|
54
|
-
|
|
55
|
-
### Props
|
|
56
|
-
|
|
57
|
-
| Prop | Type | Default | Description |
|
|
58
|
-
|-----|------|---------|-------------|
|
|
59
|
-
| `className` | `string` | `''` | Additional CSS class name |
|
|
60
|
-
| `content` | `string` | `''` | Input field value |
|
|
61
|
-
| `list` | `TagItem[]` | `[]` | Array of tag items to display |
|
|
62
|
-
| `handleRemoveTagCallback` | `(id: string \| number, e: React.MouseEvent) => void` | `() => {}` | Callback when a tag is removed |
|
|
63
|
-
| `handleKeyDownCallback` | `(e: React.KeyboardEvent<HTMLInputElement>) => void` | `() => {}` | Callback for keyboard events |
|
|
64
|
-
| `renderOptionRow` | `(props: RenderOptionRowProps) => React.ReactNode` | `undefined` | Custom render function for option row |
|
|
65
|
-
| `inputProps` | `CapInputProps` | `{ suffix: <CapIcon type="enter" /> }` | Props passed to CapInput |
|
|
66
|
-
| `dropdownProps` | `Omit<CapDropdownProps, 'children' \| 'overlay' \| 'overlayStyle'>` | `{ placement: 'bottomLeft', trigger: ['click'] }` | Props passed to CapDropdown |
|
|
67
|
-
| `width` | `string` | `'24.571rem'` | Width of the dropdown container |
|
|
68
|
-
| `visible` | `boolean` | ⚠️ Deprecated | Use `dropdownProps.open` instead |
|
|
69
|
-
| `showAddedTags` | `boolean` | `false` | Whether to show added tags in collapsed view |
|
|
70
|
-
| `onVisibleChange` | `(visible: boolean) => void` | ⚠️ Deprecated | Use `dropdownProps.onOpenChange` instead |
|
|
71
|
-
| `overlayStyle` | `React.CSSProperties` | ⚠️ Deprecated | Use `dropdownProps.styles.root` instead |
|
|
72
|
-
|
|
73
|
-
### Types
|
|
74
|
-
|
|
75
|
-
```typescript
|
|
76
|
-
interface TagItem {
|
|
77
|
-
id: string | number;
|
|
78
|
-
tag: string;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
interface RenderOptionRowProps {
|
|
82
|
-
className?: string;
|
|
83
|
-
formatMessage: (message: { id: string; defaultMessage: string }) => string;
|
|
84
|
-
list?: TagItem[];
|
|
85
|
-
handleRemoveTagCallback?: (id: string | number, e: React.MouseEvent) => void;
|
|
86
|
-
isError?: boolean;
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Usage Examples
|
|
91
|
-
|
|
92
|
-
### Basic Usage
|
|
93
|
-
|
|
94
|
-
```tsx
|
|
95
|
-
import CapTagDropdown from '@capillarytech/blaze-ui';
|
|
96
|
-
|
|
97
|
-
const [tags, setTags] = useState<TagItem[]>([]);
|
|
98
|
-
const [inputValue, setInputValue] = useState('');
|
|
99
|
-
|
|
100
|
-
const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
|
|
101
|
-
if (e.key === 'Enter' && inputValue.trim()) {
|
|
102
|
-
setTags([...tags, { id: Date.now(), tag: inputValue.trim() }]);
|
|
103
|
-
setInputValue('');
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
const handleRemoveTag = (id: string | number) => {
|
|
108
|
-
setTags(tags.filter(tag => tag.id !== id));
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
<CapTagDropdown
|
|
112
|
-
list={tags}
|
|
113
|
-
content={inputValue}
|
|
114
|
-
handleKeyDownCallback={handleKeyDown}
|
|
115
|
-
handleRemoveTagCallback={handleRemoveTag}
|
|
116
|
-
inputProps={{
|
|
117
|
-
onChange: (e) => setInputValue(e.target.value),
|
|
118
|
-
}}
|
|
119
|
-
/>
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### With Custom Option Row
|
|
123
|
-
|
|
124
|
-
```tsx
|
|
125
|
-
const customOptionRow = (props: RenderOptionRowProps) => (
|
|
126
|
-
<CapRow>
|
|
127
|
-
<CapMenu>
|
|
128
|
-
{/* Custom menu content */}
|
|
129
|
-
</CapMenu>
|
|
130
|
-
</CapRow>
|
|
131
|
-
);
|
|
132
|
-
|
|
133
|
-
<CapTagDropdown
|
|
134
|
-
renderOptionRow={customOptionRow}
|
|
135
|
-
list={tags}
|
|
136
|
-
content={inputValue}
|
|
137
|
-
/>
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### With Show Added Tags
|
|
141
|
-
|
|
142
|
-
```tsx
|
|
143
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
144
|
-
|
|
145
|
-
<CapTagDropdown
|
|
146
|
-
showAddedTags={true}
|
|
147
|
-
dropdownProps={{
|
|
148
|
-
open: isOpen,
|
|
149
|
-
onOpenChange: setIsOpen,
|
|
150
|
-
}}
|
|
151
|
-
list={tags}
|
|
152
|
-
content={inputValue}
|
|
153
|
-
/>
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## Internal Changes
|
|
157
|
-
|
|
158
|
-
- Migrated from PropTypes to TypeScript types
|
|
159
|
-
- Removed `defaultProps` in favor of default parameters
|
|
160
|
-
- Updated to use Ant Design v6 APIs via `antd-v5` import alias
|
|
161
|
-
- Menu styling moved to theme config (`components.Menu` tokens)
|
|
162
|
-
- Component-specific styling preserved in SCSS (no `.ant-*` selectors)
|
|
163
|
-
|
|
164
|
-
## Related Components
|
|
165
|
-
|
|
166
|
-
- `CapDropdown` - Base dropdown component
|
|
167
|
-
- `CapMenu` - Menu component used in dropdown overlay
|
|
168
|
-
- `CapInput` - Input component
|
|
169
|
-
- `CapRow` - Row layout component
|
|
170
|
-
- `CapLabel` - Label component
|
|
171
|
-
- `CapIcon` - Icon component
|
package/CapTagDropdown/Status.md
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Migration Status: CapTagDropdown
|
|
2
|
-
|
|
3
|
-
**Last Updated**: 2026-02-19 14:26:33
|
|
4
|
-
|
|
5
|
-
## Migration Steps
|
|
6
|
-
|
|
7
|
-
- [x] **Step 0**: Setup branch and remote tracking
|
|
8
|
-
- [x] **Step 1**: Migration Prompt 1 (Main migration)
|
|
9
|
-
- [x] **Step 1.5**: Export component in blaze-ui/components/index.ts
|
|
10
|
-
- [x] **Step 2**: Migration Prompt 2 (Storybook support)
|
|
11
|
-
- [x] **Step 2.5**: Verify deprecated props and prop changes (REQUIRED - enforced)
|
|
12
|
-
- [x] **Step 3**: Migration Prompt 3 (Unit tests)
|
|
13
|
-
- [x] **Step 4**: Migration Prompt 4 (Visual test cases)
|
|
14
|
-
- [x] **Step 5**: Linting (ESLint)
|
|
15
|
-
- [x] **Step 6**: Pre-build Validation
|
|
16
|
-
- [x] **Step 7**: Build blaze-ui
|
|
17
|
-
- [x] **Step 8**: Visual Testing
|
|
18
|
-
- [ ] **Step 8.1**: Pre-visual-test check (agent verification)
|
|
19
|
-
- [ ] **Step 8.2**: Visual comparison
|
|
20
|
-
- [ ] **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
|
-
- [x] **Step 10**: Git Commit & Push to branch (pre-commit hook will run tests)
|
|
24
|
-
- [x] **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
|
-
**Last Test**: 2026-02-19 14:26:33
|
|
39
|
-
**Maximum Mismatch**: 0%
|
|
40
|
-
|
|
41
|
-
### Mismatched Variants:
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
## CSS Fixes Applied
|
|
46
|
-
|
|
47
|
-
**Date**: 2026-02-19 14:00:45
|
|
48
|
-
**Summary**: CSS fixes applied based on visual testing analysis.
|
|
49
|
-
|
|
50
|
-
_See full analysis in: `/Users/sarahkhader/repos/migration/blaze-ui/tools/visual-testing/report/CapTagDropdown/css-fix-analysis.md`_
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
## Notes
|
|
54
|
-
|
|
55
|
-
_No notes yet._
|
package/CapTimePicker/README.md
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
# CapTimePicker Migration Guide
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
CapTimePicker has been migrated to support Ant Design v6 APIs while maintaining backward compatibility with deprecated props from v3-v5.
|
|
6
|
-
|
|
7
|
-
## Breaking Changes
|
|
8
|
-
|
|
9
|
-
### API Changes (v3 → v6)
|
|
10
|
-
|
|
11
|
-
| Old API (v3-v5) | New API (v6) | Migration |
|
|
12
|
-
|----------------|--------------|-----------|
|
|
13
|
-
| `allowEmpty` | `allowClear` | Use `allowClear` prop |
|
|
14
|
-
| `addon` | `renderExtraFooter` | Use `renderExtraFooter` prop |
|
|
15
|
-
| `dropdownClassName` | `classNames.popup.root` or `popupClassName` | Use `popupClassName` or `classNames.popup.root` |
|
|
16
|
-
| `popupStyle` (v5) | `styles.popup.root` or `popupStyle` | Use `popupStyle` or `styles.popup.root` |
|
|
17
|
-
| `bordered` | `variant` | Use `variant` prop (`'outlined'`, `'borderless'`, or `'filled'`) |
|
|
18
|
-
|
|
19
|
-
## Deprecated Props
|
|
20
|
-
|
|
21
|
-
The following props are deprecated but still supported for backward compatibility. They will be removed in the next major version.
|
|
22
|
-
|
|
23
|
-
| Deprecated Prop | Replacement | Notes |
|
|
24
|
-
|----------------|-------------|-------|
|
|
25
|
-
| `allowEmpty` | `allowClear` | Maps to `allowClear` internally |
|
|
26
|
-
| `addon` | `renderExtraFooter` | Maps to `renderExtraFooter` internally |
|
|
27
|
-
| `dropdownClassName` | `popupClassName` or `classNames.popup.root` | Merged with `popupClassName` |
|
|
28
|
-
| `dropdownStyle` | `popupStyle` or `styles.popup.root` | Merged with `popupStyle` |
|
|
29
|
-
| `bordered` | `variant` | `bordered={false}` → `variant="borderless"`, `bordered={true}` → `variant="outlined"` |
|
|
30
|
-
|
|
31
|
-
## Migration Examples
|
|
32
|
-
|
|
33
|
-
### Example 1: Basic Usage
|
|
34
|
-
|
|
35
|
-
**Before (v3-v5):**
|
|
36
|
-
```tsx
|
|
37
|
-
import CapTimePicker from '@capillarytech/blaze-ui/components/CapTimePicker';
|
|
38
|
-
|
|
39
|
-
<CapTimePicker
|
|
40
|
-
value={moment('12:00:00', 'HH:mm:ss')}
|
|
41
|
-
onChange={(time) => console.log(time)}
|
|
42
|
-
allowEmpty={false}
|
|
43
|
-
bordered={true}
|
|
44
|
-
/>
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**After (v6):**
|
|
48
|
-
```tsx
|
|
49
|
-
import CapTimePicker from '@capillarytech/blaze-ui/components/CapTimePicker';
|
|
50
|
-
import dayjs from 'dayjs';
|
|
51
|
-
|
|
52
|
-
<CapTimePicker
|
|
53
|
-
value={dayjs('12:00:00', 'HH:mm:ss')}
|
|
54
|
-
onChange={(time) => console.log(time)}
|
|
55
|
-
allowClear={false}
|
|
56
|
-
variant="outlined"
|
|
57
|
-
/>
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Example 2: Custom Popup Styling
|
|
61
|
-
|
|
62
|
-
**Before (v5):**
|
|
63
|
-
```tsx
|
|
64
|
-
<CapTimePicker
|
|
65
|
-
dropdownClassName="custom-popup"
|
|
66
|
-
dropdownStyle={{ zIndex: 1000 }}
|
|
67
|
-
/>
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**After (v6) - Option 1 (Direct props):**
|
|
71
|
-
```tsx
|
|
72
|
-
<CapTimePicker
|
|
73
|
-
popupClassName="custom-popup"
|
|
74
|
-
popupStyle={{ zIndex: 1000 }}
|
|
75
|
-
/>
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
**After (v6) - Option 2 (Object-based API):**
|
|
79
|
-
```tsx
|
|
80
|
-
<CapTimePicker
|
|
81
|
-
classNames={{
|
|
82
|
-
popup: {
|
|
83
|
-
root: 'custom-popup'
|
|
84
|
-
}
|
|
85
|
-
}}
|
|
86
|
-
styles={{
|
|
87
|
-
popup: {
|
|
88
|
-
root: { zIndex: 1000 }
|
|
89
|
-
}
|
|
90
|
-
}}
|
|
91
|
-
/>
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### Example 3: Custom Footer
|
|
95
|
-
|
|
96
|
-
**Before (v5):**
|
|
97
|
-
```tsx
|
|
98
|
-
<CapTimePicker
|
|
99
|
-
addon={() => <div>Custom Footer</div>}
|
|
100
|
-
/>
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**After (v6):**
|
|
104
|
-
```tsx
|
|
105
|
-
<CapTimePicker
|
|
106
|
-
renderExtraFooter={() => <div>Custom Footer</div>}
|
|
107
|
-
/>
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Backward Compatibility
|
|
111
|
-
|
|
112
|
-
All deprecated props are automatically mapped to their new equivalents:
|
|
113
|
-
|
|
114
|
-
- `allowEmpty` → `allowClear`
|
|
115
|
-
- `addon` → `renderExtraFooter`
|
|
116
|
-
- `dropdownClassName` → merged with `popupClassName`
|
|
117
|
-
- `dropdownStyle` → merged with `popupStyle`
|
|
118
|
-
- `bordered` → converted to `variant` (`false` → `'borderless'`, `true` → `'outlined'`)
|
|
119
|
-
|
|
120
|
-
**Note:** Deprecated props will log warnings in development mode when used.
|
|
121
|
-
|
|
122
|
-
## Moment.js → Day.js Migration
|
|
123
|
-
|
|
124
|
-
CapTimePicker supports both Moment.js and Day.js for backward compatibility:
|
|
125
|
-
|
|
126
|
-
```tsx
|
|
127
|
-
// Both work:
|
|
128
|
-
<CapTimePicker value={moment('12:00:00', 'HH:mm:ss')} />
|
|
129
|
-
<CapTimePicker value={dayjs('12:00:00', 'HH:mm:ss')} />
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
However, **Day.js is recommended** as Moment.js is deprecated. The component automatically detects and converts Moment objects to Day.js internally.
|
|
133
|
-
|
|
134
|
-
## Theme Customization
|
|
135
|
-
|
|
136
|
-
CapTimePicker styling is now handled via design tokens in `getCapThemeConfig.ts`:
|
|
137
|
-
|
|
138
|
-
```typescript
|
|
139
|
-
components: {
|
|
140
|
-
TimePicker: {
|
|
141
|
-
controlHeight: 40, // Input height
|
|
142
|
-
colorIcon: '#091e42', // Icon color
|
|
143
|
-
},
|
|
144
|
-
}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
All previous SCSS overrides have been migrated to design tokens. No `:global` overrides are needed.
|
|
148
|
-
|
|
149
|
-
## TypeScript Support
|
|
150
|
-
|
|
151
|
-
Full TypeScript support is available:
|
|
152
|
-
|
|
153
|
-
```tsx
|
|
154
|
-
import CapTimePicker, { CapTimePickerProps } from '@capillarytech/blaze-ui/components/CapTimePicker';
|
|
155
|
-
|
|
156
|
-
const props: CapTimePickerProps = {
|
|
157
|
-
value: dayjs('12:00:00', 'HH:mm:ss'),
|
|
158
|
-
onChange: (time, timeString) => {},
|
|
159
|
-
};
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Validation
|
|
163
|
-
|
|
164
|
-
This migration has been validated against:
|
|
165
|
-
|
|
166
|
-
- ✅ **SCSS File Content**: No `:global` or `.ant-` overrides without comments
|
|
167
|
-
- ✅ **Theme Config Update**: `getCapThemeConfig.ts` updated with TimePicker tokens
|
|
168
|
-
- ✅ **TypeScript Compilation**: Zero compilation errors
|
|
169
|
-
- ✅ **Backward Compatibility**: All deprecated props supported with warnings
|
|
170
|
-
- ✅ **CSS Modules**: Component uses CSS Modules pattern
|