@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,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
@@ -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._
@@ -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