@razorpay/blade 11.34.1 → 11.36.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 (200) hide show
  1. package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  2. package/build/lib/native/components/Card/Card.js.map +1 -1
  3. package/build/lib/native/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +12 -0
  4. package/build/lib/native/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
  5. package/build/lib/native/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +12 -0
  6. package/build/lib/native/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
  7. package/build/lib/native/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +12 -0
  8. package/build/lib/native/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
  9. package/build/lib/native/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +12 -0
  10. package/build/lib/native/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
  11. package/build/lib/native/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +12 -0
  12. package/build/lib/native/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
  13. package/build/lib/native/components/Icons/BillMeIcon/BillMeIcon.js +12 -0
  14. package/build/lib/native/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
  15. package/build/lib/native/components/Icons/NoSignalIcon/NoSignalIcon.js +12 -0
  16. package/build/lib/native/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
  17. package/build/lib/native/components/Icons/Signal1BarIcon/Signal1BarIcon.js +12 -0
  18. package/build/lib/native/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
  19. package/build/lib/native/components/Icons/Signal2BarIcon/Signal2BarIcon.js +12 -0
  20. package/build/lib/native/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
  21. package/build/lib/native/components/Icons/Signal3BarIcon/Signal3BarIcon.js +12 -0
  22. package/build/lib/native/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
  23. package/build/lib/native/components/Icons/Signal4BarIcon/Signal4BarIcon.js +12 -0
  24. package/build/lib/native/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
  25. package/build/lib/native/components/Icons/SignalIcon/SignalIcon.js +12 -0
  26. package/build/lib/native/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
  27. package/build/lib/native/components/Icons/SimCardIcon/SimCardIcon.js +12 -0
  28. package/build/lib/native/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
  29. package/build/lib/native/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
  30. package/build/lib/native/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
  31. package/build/lib/native/components/Icons/UpiIcon/UpiIcon.js +12 -0
  32. package/build/lib/native/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
  33. package/build/lib/native/components/Icons/YoutubeIcon/YoutubeIcon.js +12 -0
  34. package/build/lib/native/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
  35. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  36. package/build/lib/native/components/index.js +15 -0
  37. package/build/lib/native/components/index.js.map +1 -1
  38. package/build/lib/native/utils/useCallbackRef.js +6 -0
  39. package/build/lib/native/utils/useCallbackRef.js.map +1 -0
  40. package/build/lib/native/utils/useControllable.js +2 -1
  41. package/build/lib/native/utils/useControllable.js.map +1 -1
  42. package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  43. package/build/lib/web/development/components/Card/Card.js.map +1 -1
  44. package/build/lib/web/development/components/Carousel/Carousel.web.js +65 -57
  45. package/build/lib/web/development/components/Carousel/Carousel.web.js.map +1 -1
  46. package/build/lib/web/development/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +57 -0
  47. package/build/lib/web/development/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
  48. package/build/lib/web/development/components/Icons/Battery100PercentIcon/index.js +2 -0
  49. package/build/lib/web/development/components/Icons/Battery100PercentIcon/index.js.map +1 -0
  50. package/build/lib/web/development/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +45 -0
  51. package/build/lib/web/development/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
  52. package/build/lib/web/development/components/Icons/Battery20PercentIcon/index.js +2 -0
  53. package/build/lib/web/development/components/Icons/Battery20PercentIcon/index.js.map +1 -0
  54. package/build/lib/web/development/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +48 -0
  55. package/build/lib/web/development/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
  56. package/build/lib/web/development/components/Icons/Battery40PercentIcon/index.js +2 -0
  57. package/build/lib/web/development/components/Icons/Battery40PercentIcon/index.js.map +1 -0
  58. package/build/lib/web/development/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +51 -0
  59. package/build/lib/web/development/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
  60. package/build/lib/web/development/components/Icons/Battery60PercentIcon/index.js +2 -0
  61. package/build/lib/web/development/components/Icons/Battery60PercentIcon/index.js.map +1 -0
  62. package/build/lib/web/development/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +54 -0
  63. package/build/lib/web/development/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
  64. package/build/lib/web/development/components/Icons/Battery80PercentIcon/index.js +2 -0
  65. package/build/lib/web/development/components/Icons/Battery80PercentIcon/index.js.map +1 -0
  66. package/build/lib/web/development/components/Icons/BillMeIcon/BillMeIcon.js +51 -0
  67. package/build/lib/web/development/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
  68. package/build/lib/web/development/components/Icons/BillMeIcon/index.js +2 -0
  69. package/build/lib/web/development/components/Icons/BillMeIcon/index.js.map +1 -0
  70. package/build/lib/web/development/components/Icons/NoSignalIcon/NoSignalIcon.js +37 -0
  71. package/build/lib/web/development/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
  72. package/build/lib/web/development/components/Icons/NoSignalIcon/index.js +2 -0
  73. package/build/lib/web/development/components/Icons/NoSignalIcon/index.js.map +1 -0
  74. package/build/lib/web/development/components/Icons/Signal1BarIcon/Signal1BarIcon.js +37 -0
  75. package/build/lib/web/development/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
  76. package/build/lib/web/development/components/Icons/Signal1BarIcon/index.js +2 -0
  77. package/build/lib/web/development/components/Icons/Signal1BarIcon/index.js.map +1 -0
  78. package/build/lib/web/development/components/Icons/Signal2BarIcon/Signal2BarIcon.js +37 -0
  79. package/build/lib/web/development/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
  80. package/build/lib/web/development/components/Icons/Signal2BarIcon/index.js +2 -0
  81. package/build/lib/web/development/components/Icons/Signal2BarIcon/index.js.map +1 -0
  82. package/build/lib/web/development/components/Icons/Signal3BarIcon/Signal3BarIcon.js +37 -0
  83. package/build/lib/web/development/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
  84. package/build/lib/web/development/components/Icons/Signal3BarIcon/index.js +2 -0
  85. package/build/lib/web/development/components/Icons/Signal3BarIcon/index.js.map +1 -0
  86. package/build/lib/web/development/components/Icons/Signal4BarIcon/Signal4BarIcon.js +37 -0
  87. package/build/lib/web/development/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
  88. package/build/lib/web/development/components/Icons/Signal4BarIcon/index.js +2 -0
  89. package/build/lib/web/development/components/Icons/Signal4BarIcon/index.js.map +1 -0
  90. package/build/lib/web/development/components/Icons/SignalIcon/SignalIcon.js +37 -0
  91. package/build/lib/web/development/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
  92. package/build/lib/web/development/components/Icons/SignalIcon/index.js +2 -0
  93. package/build/lib/web/development/components/Icons/SignalIcon/index.js.map +1 -0
  94. package/build/lib/web/development/components/Icons/SimCardIcon/SimCardIcon.js +57 -0
  95. package/build/lib/web/development/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
  96. package/build/lib/web/development/components/Icons/SimCardIcon/index.js +2 -0
  97. package/build/lib/web/development/components/Icons/SimCardIcon/index.js.map +1 -0
  98. package/build/lib/web/development/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
  99. package/build/lib/web/development/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
  100. package/build/lib/web/development/components/Icons/UpiIcon/UpiIcon.js +39 -0
  101. package/build/lib/web/development/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
  102. package/build/lib/web/development/components/Icons/UpiIcon/index.js +2 -0
  103. package/build/lib/web/development/components/Icons/UpiIcon/index.js.map +1 -0
  104. package/build/lib/web/development/components/Icons/YoutubeIcon/YoutubeIcon.js +44 -0
  105. package/build/lib/web/development/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
  106. package/build/lib/web/development/components/Icons/YoutubeIcon/index.js +2 -0
  107. package/build/lib/web/development/components/Icons/YoutubeIcon/index.js.map +1 -0
  108. package/build/lib/web/development/components/Icons/index.js +15 -0
  109. package/build/lib/web/development/components/Icons/index.js.map +1 -1
  110. package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
  111. package/build/lib/web/development/components/Modal/ModalBody.web.js.map +1 -1
  112. package/build/lib/web/development/components/index.js +15 -0
  113. package/build/lib/web/development/components/index.js.map +1 -1
  114. package/build/lib/web/development/utils/useCallbackRef.js +31 -0
  115. package/build/lib/web/development/utils/useCallbackRef.js.map +1 -0
  116. package/build/lib/web/development/utils/useControllable.js +13 -5
  117. package/build/lib/web/development/utils/useControllable.js.map +1 -1
  118. package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  119. package/build/lib/web/production/components/Card/Card.js.map +1 -1
  120. package/build/lib/web/production/components/Carousel/Carousel.web.js +65 -57
  121. package/build/lib/web/production/components/Carousel/Carousel.web.js.map +1 -1
  122. package/build/lib/web/production/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +57 -0
  123. package/build/lib/web/production/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
  124. package/build/lib/web/production/components/Icons/Battery100PercentIcon/index.js +2 -0
  125. package/build/lib/web/production/components/Icons/Battery100PercentIcon/index.js.map +1 -0
  126. package/build/lib/web/production/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +45 -0
  127. package/build/lib/web/production/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
  128. package/build/lib/web/production/components/Icons/Battery20PercentIcon/index.js +2 -0
  129. package/build/lib/web/production/components/Icons/Battery20PercentIcon/index.js.map +1 -0
  130. package/build/lib/web/production/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +48 -0
  131. package/build/lib/web/production/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
  132. package/build/lib/web/production/components/Icons/Battery40PercentIcon/index.js +2 -0
  133. package/build/lib/web/production/components/Icons/Battery40PercentIcon/index.js.map +1 -0
  134. package/build/lib/web/production/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +51 -0
  135. package/build/lib/web/production/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
  136. package/build/lib/web/production/components/Icons/Battery60PercentIcon/index.js +2 -0
  137. package/build/lib/web/production/components/Icons/Battery60PercentIcon/index.js.map +1 -0
  138. package/build/lib/web/production/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +54 -0
  139. package/build/lib/web/production/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
  140. package/build/lib/web/production/components/Icons/Battery80PercentIcon/index.js +2 -0
  141. package/build/lib/web/production/components/Icons/Battery80PercentIcon/index.js.map +1 -0
  142. package/build/lib/web/production/components/Icons/BillMeIcon/BillMeIcon.js +51 -0
  143. package/build/lib/web/production/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
  144. package/build/lib/web/production/components/Icons/BillMeIcon/index.js +2 -0
  145. package/build/lib/web/production/components/Icons/BillMeIcon/index.js.map +1 -0
  146. package/build/lib/web/production/components/Icons/NoSignalIcon/NoSignalIcon.js +37 -0
  147. package/build/lib/web/production/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
  148. package/build/lib/web/production/components/Icons/NoSignalIcon/index.js +2 -0
  149. package/build/lib/web/production/components/Icons/NoSignalIcon/index.js.map +1 -0
  150. package/build/lib/web/production/components/Icons/Signal1BarIcon/Signal1BarIcon.js +37 -0
  151. package/build/lib/web/production/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
  152. package/build/lib/web/production/components/Icons/Signal1BarIcon/index.js +2 -0
  153. package/build/lib/web/production/components/Icons/Signal1BarIcon/index.js.map +1 -0
  154. package/build/lib/web/production/components/Icons/Signal2BarIcon/Signal2BarIcon.js +37 -0
  155. package/build/lib/web/production/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
  156. package/build/lib/web/production/components/Icons/Signal2BarIcon/index.js +2 -0
  157. package/build/lib/web/production/components/Icons/Signal2BarIcon/index.js.map +1 -0
  158. package/build/lib/web/production/components/Icons/Signal3BarIcon/Signal3BarIcon.js +37 -0
  159. package/build/lib/web/production/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
  160. package/build/lib/web/production/components/Icons/Signal3BarIcon/index.js +2 -0
  161. package/build/lib/web/production/components/Icons/Signal3BarIcon/index.js.map +1 -0
  162. package/build/lib/web/production/components/Icons/Signal4BarIcon/Signal4BarIcon.js +37 -0
  163. package/build/lib/web/production/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
  164. package/build/lib/web/production/components/Icons/Signal4BarIcon/index.js +2 -0
  165. package/build/lib/web/production/components/Icons/Signal4BarIcon/index.js.map +1 -0
  166. package/build/lib/web/production/components/Icons/SignalIcon/SignalIcon.js +37 -0
  167. package/build/lib/web/production/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
  168. package/build/lib/web/production/components/Icons/SignalIcon/index.js +2 -0
  169. package/build/lib/web/production/components/Icons/SignalIcon/index.js.map +1 -0
  170. package/build/lib/web/production/components/Icons/SimCardIcon/SimCardIcon.js +57 -0
  171. package/build/lib/web/production/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
  172. package/build/lib/web/production/components/Icons/SimCardIcon/index.js +2 -0
  173. package/build/lib/web/production/components/Icons/SimCardIcon/index.js.map +1 -0
  174. package/build/lib/web/production/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
  175. package/build/lib/web/production/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
  176. package/build/lib/web/production/components/Icons/UpiIcon/UpiIcon.js +39 -0
  177. package/build/lib/web/production/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
  178. package/build/lib/web/production/components/Icons/UpiIcon/index.js +2 -0
  179. package/build/lib/web/production/components/Icons/UpiIcon/index.js.map +1 -0
  180. package/build/lib/web/production/components/Icons/YoutubeIcon/YoutubeIcon.js +44 -0
  181. package/build/lib/web/production/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
  182. package/build/lib/web/production/components/Icons/YoutubeIcon/index.js +2 -0
  183. package/build/lib/web/production/components/Icons/YoutubeIcon/index.js.map +1 -0
  184. package/build/lib/web/production/components/Icons/index.js +15 -0
  185. package/build/lib/web/production/components/Icons/index.js.map +1 -1
  186. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  187. package/build/lib/web/production/components/Modal/ModalBody.web.js.map +1 -1
  188. package/build/lib/web/production/components/index.js +15 -0
  189. package/build/lib/web/production/components/index.js.map +1 -1
  190. package/build/lib/web/production/utils/useCallbackRef.js +31 -0
  191. package/build/lib/web/production/utils/useCallbackRef.js.map +1 -0
  192. package/build/lib/web/production/utils/useControllable.js +13 -5
  193. package/build/lib/web/production/utils/useControllable.js.map +1 -1
  194. package/build/types/components/index.d.ts +64 -23
  195. package/build/types/components/index.native.d.ts +62 -21
  196. package/codemods/aicodemod/README.md +26 -0
  197. package/codemods/aicodemod/bin.mjs +128 -0
  198. package/codemods/aicodemod/knowledge/Table.md +596 -0
  199. package/codemods/aicodemod/knowledge/presets/dashboard/table-pattern-1.md +319 -0
  200. package/package.json +4 -2
@@ -0,0 +1,319 @@
1
+ ### 2. Custom Component Definitions
2
+
3
+ #### EntityItemRow Component
4
+
5
+ ```jsx
6
+ import { Component } from 'react';
7
+ import { connect } from 'react-redux';
8
+
9
+ class EntityItemRow extends Component {
10
+ render() {
11
+ const {
12
+ id,
13
+ luminateRowId,
14
+ activeEntityId,
15
+ activeSecEntityId,
16
+ rowClasses = '',
17
+ onRowClick,
18
+ item,
19
+ isDisabled,
20
+ } = this.props;
21
+ const receiverType = item?.receiver_type || '';
22
+ const sourceChannel = item?.source_channel || '';
23
+ return (
24
+ <tr
25
+ onClick={() => {
26
+ onRowClick?.({
27
+ id,
28
+ rowData: { receiverType, sourceChannel },
29
+ });
30
+ }}
31
+ className={`${luminateRowId === id ? 'luminate' : ''}${
32
+ activeEntityId === id || activeSecEntityId === id ? ' active' : ''
33
+ }${rowClasses ?? ''}${isDisabled?.(item) ? ' disabled' : ''}`}
34
+ data-testid={`entity-item-row-${id}`}
35
+ >
36
+ {this.props.children}
37
+ </tr>
38
+ );
39
+ }
40
+ }
41
+
42
+ const mapStateToProps = (state) => {
43
+ return state.app;
44
+ };
45
+
46
+ export default connect(mapStateToProps, null)(EntityItemRow);
47
+ ```
48
+
49
+ #### TableBody Component
50
+
51
+ ```jsx
52
+ import React from 'react';
53
+ import TableLoader from 'common/ui/TableLoader';
54
+ import EmptyTableRow from 'common/ui/EmptyTableRow';
55
+
56
+ export default (props) => {
57
+ let tableRowComponent;
58
+ const {
59
+ isLoading,
60
+ emptyTableRow,
61
+ emptyTableMsg,
62
+ colSpan,
63
+ rows,
64
+ children,
65
+ SpinnerComponent,
66
+ } = props;
67
+
68
+ if (isLoading) {
69
+ tableRowComponent = SpinnerComponent || <TableLoader colSpan={colSpan} />;
70
+ } else if (!rows.length) {
71
+ tableRowComponent = emptyTableRow || (
72
+ <EmptyTableRow colSpan={colSpan} message={emptyTableMsg} />
73
+ );
74
+ }
75
+
76
+ return (
77
+ <tbody>
78
+ {tableRowComponent
79
+ ? typeof tableRowComponent === 'function'
80
+ ? tableRowComponent(colSpan)
81
+ : tableRowComponent
82
+ : children}
83
+ </tbody>
84
+ );
85
+ };
86
+ ```
87
+
88
+ #### ShowWhen Component
89
+
90
+ ```jsx
91
+ export const ShowWhen = (props) => {
92
+ const i18 = useI18Service();
93
+ // creating an abstraction of just consuming splitz experiment, rest service should not be accessed via RouteGuard
94
+ const { abExperiments } = useSplitzService();
95
+
96
+ const { loader, children, session, ...rest } = props;
97
+
98
+ const showWhenUtilResult = validateUtil(
99
+ {
100
+ options: rest,
101
+ session,
102
+ },
103
+ {
104
+ i18,
105
+ splitz: { abExperiments },
106
+ },
107
+ );
108
+
109
+ if (showWhenUtilResult === TAGS_API_NOT_RESOLVED_YET) {
110
+ return loader || <Loader />;
111
+ } else if (showWhenUtilResult) {
112
+ return children;
113
+ }
114
+ return null;
115
+ };
116
+ ```
117
+
118
+ ### 3. Migration Example
119
+
120
+ #### Original Custom Implimentation Code
121
+
122
+ ```jsx
123
+ import Text from '@razorpay/blade-old/src/atoms/Text';
124
+ import View from '@razorpay/blade-old/src/atoms/View';
125
+ import Flex from '@razorpay/blade-old/src/atoms/Flex';
126
+ import Icon from '@razorpay/blade-old/src/atoms/Icon';
127
+
128
+ import TableBody from 'common/ui/TableBody';
129
+ import MobileListView from 'common/ui/MobileListView';
130
+ import { amount, createdAt } from 'common/ui/item/pair';
131
+
132
+ import EntityItemRow from 'merchant/containers/EntityItemRow';
133
+ import { isMobileDevice } from 'merchant/components/Home/data';
134
+ import {
135
+ customer,
136
+ invoiceId,
137
+ invoiveStatus,
138
+ paymentLink,
139
+ paymentLinkId,
140
+ receiptNumber,
141
+ referenceId,
142
+ } from 'merchant/views/Invoices/Invoices/item';
143
+ import { shareURL } from 'merchant/views/Invoices/Invoices/helpers';
144
+
145
+ const PaymentLinkMobileTableListView = (items) => {
146
+ const { item, onShareLinkSuccess = () => {} } = items;
147
+
148
+ return (
149
+ <EntityItemRow id={item?.id}>
150
+ <td>
151
+ {paymentLinkId.value(item)}
152
+
153
+ {item?.customer_details && customer.value(item)}
154
+
155
+ {item?.short_url && (
156
+ <View
157
+ className="link-container"
158
+ data-tip="Copied"
159
+ onClick={() => {
160
+ onShareLinkSuccess();
161
+ shareURL(item.short_url, item?.id);
162
+ }}
163
+ >
164
+ <Flex alignItems="center">
165
+ <Text size="small">
166
+ <div className="share-payment-link">
167
+ <Icon name="share" size="small" />
168
+ </div>
169
+ Share payment link
170
+ </Text>
171
+ </Flex>
172
+ </View>
173
+ )}
174
+ </td>
175
+
176
+ <td>{amount.value(item)}</td>
177
+ <td>{invoiveStatus.value(item)}</td>
178
+ </EntityItemRow>
179
+ );
180
+ };
181
+
182
+ const InvoiceListItem = (props) => {
183
+ const { invoice, columns } = props;
184
+
185
+ return (
186
+ <EntityItemRow id={invoice.id}>
187
+ {columns.map(({ title, value }) => (
188
+ <td key={title}>{value(invoice)}</td>
189
+ ))}
190
+ </EntityItemRow>
191
+ );
192
+ };
193
+
194
+ export default (props) => {
195
+ const {
196
+ type,
197
+ invoices,
198
+ isLoading,
199
+ onCopy = () => {},
200
+ EmptyList,
201
+ isPaymentlinksV2Enabled,
202
+ } = props;
203
+
204
+ const isPaymentLinksType = type === 'link';
205
+ const label = isPaymentLinksType ? paymentLinkId : invoiceId;
206
+ const listStyle = isPaymentLinksType ? 'Payment-link-list' : 'Invoice-list';
207
+ const receipt = isPaymentlinksV2Enabled ? referenceId : receiptNumber;
208
+
209
+ const columns = [label, createdAt, amount, receipt, customer, paymentLink(onCopy), invoiveStatus];
210
+
211
+ return isMobileDevice() && isPaymentLinksType ? (
212
+ <MobileListView
213
+ headers={['Payment Link Id', 'Amount', 'Status']}
214
+ TableListItem={PaymentLinkMobileTableListView}
215
+ tableWrapperClass={listStyle}
216
+ items={invoices}
217
+ {...props}
218
+ />
219
+ ) : (
220
+ <div className="table-responsive">
221
+ <table className="table table-hover">
222
+ <thead>
223
+ <tr>
224
+ {columns.map(({ title }) => (
225
+ <th key={title}>{title}</th>
226
+ ))}
227
+ </tr>
228
+ </thead>
229
+ <TableBody isLoading={isLoading} colSpan={8} rows={invoices} emptyTableRow={EmptyList}>
230
+ {invoices.map((invoice) => (
231
+ <InvoiceListItem key={invoice.id} invoice={invoice} columns={columns} />
232
+ ))}
233
+ </TableBody>
234
+ </table>
235
+ </div>
236
+ );
237
+ };
238
+ ```
239
+
240
+ #### Expected Code after Migration
241
+
242
+ ```jsx
243
+ import {
244
+ Table,
245
+ TableHeader,
246
+ TableHeaderRow,
247
+ TableHeaderCell,
248
+ TableBody,
249
+ TableRow,
250
+ TableCell,
251
+ } from '@razorpay/blade/components';
252
+
253
+ import { amount, createdAt } from 'common/ui/item/pair';
254
+
255
+ import {
256
+ customer,
257
+ invoiceId,
258
+ invoiveStatus,
259
+ paymentLink,
260
+ paymentLinkId,
261
+ receiptNumber,
262
+ referenceId,
263
+ } from 'merchant/views/Invoices/Invoices/item';
264
+ import { shareURL } from 'merchant/views/Invoices/Invoices/helpers';
265
+
266
+ const InvoiceListItem = (props) => {
267
+ const { invoice, columns } = props;
268
+
269
+ return (
270
+ <TableRow item={invoice}>
271
+ {columns.map(({ title, value }) => (
272
+ <TableCell key={title}>{value(invoice)}</TableCell>
273
+ ))}
274
+ </TableRow>
275
+ );
276
+ };
277
+
278
+ export default (props) => {
279
+ const {
280
+ type,
281
+ invoices,
282
+ isLoading,
283
+ onCopy = () => {},
284
+ EmptyList,
285
+ isPaymentlinksV2Enabled,
286
+ } = props;
287
+
288
+ const isPaymentLinksType = type === 'link';
289
+ const label = isPaymentLinksType ? paymentLinkId : invoiceId;
290
+ const receipt = isPaymentlinksV2Enabled ? referenceId : receiptNumber;
291
+
292
+ const columns = [label, createdAt, amount, receipt, customer, paymentLink(onCopy), invoiveStatus];
293
+
294
+ return (
295
+ <Table data={{ nodes: invoices }} isLoading={isLoading}>
296
+ {(tableData) => (
297
+ <>
298
+ <TableHeader>
299
+ <TableHeaderRow>
300
+ {columns.map(({ title }) => (
301
+ <TableHeaderCell key={title}>{title}</TableHeaderCell>
302
+ ))}
303
+ </TableHeaderRow>
304
+ </TableHeader>
305
+ <TableBody>
306
+ {tableData.length <= 0 ? (
307
+ <EmptyList />
308
+ ) : (
309
+ tableData.map((invoice) => (
310
+ <InvoiceListItem key={invoice.id} invoice={invoice} columns={columns} />
311
+ ))
312
+ )}
313
+ </TableBody>
314
+ </>
315
+ )}
316
+ </Table>
317
+ );
318
+ };
319
+ ```
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@razorpay/blade",
3
3
  "description": "The Design System that powers Razorpay",
4
- "version": "11.34.1",
4
+ "version": "11.36.0",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=18.12.1"
8
8
  },
9
9
  "bin": {
10
- "migrate-typography": "./codemods/migrate-typography/transformers/migrate-typography.ts"
10
+ "migrate-typography": "./codemods/migrate-typography/transformers/migrate-typography.ts",
11
+ "aicodemod": "./codemods/aicodemod/bin.mjs"
11
12
  },
12
13
  "repository": {
13
14
  "type": "git",
@@ -235,6 +236,7 @@
235
236
  "dedent": "0.7.0",
236
237
  "eslint-plugin-mdx": "1.16.0",
237
238
  "execa": "5.0.0",
239
+ "fastify": "4.28.1",
238
240
  "figures": "3.2.0",
239
241
  "flat": "5.0.2",
240
242
  "globby": "14.0.1",