@kaizen/components 1.57.2 → 1.58.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 (225) hide show
  1. package/bin/codemod.sh +39 -0
  2. package/codemods/README.md +31 -0
  3. package/codemods/__tests__/utils/index.ts +1 -0
  4. package/codemods/__tests__/utils/parseJsx.ts +11 -0
  5. package/codemods/migrateBrandMomentMoodToVariant/index.ts +21 -0
  6. package/codemods/migrateBrandMomentMoodToVariant/transformBrandMomentMoodToVariant.spec.ts +44 -0
  7. package/codemods/migrateBrandMomentMoodToVariant/transformBrandMomentMoodToVariant.ts +24 -0
  8. package/codemods/migrateCardVariantToColor/index.ts +15 -0
  9. package/codemods/migrateCardVariantToColor/transformCardVariantToColor.spec.ts +91 -0
  10. package/codemods/migrateCardVariantToColor/transformCardVariantToColor.ts +32 -0
  11. package/codemods/migrateConfirmationModalMoodsToVariant/index.ts +19 -0
  12. package/codemods/migrateConfirmationModalMoodsToVariant/transformConfirmationModalMoodsToVariant.spec.ts +110 -0
  13. package/codemods/migrateConfirmationModalMoodsToVariant/transformConfirmationModalMoodsToVariant.ts +59 -0
  14. package/codemods/migrateEmptyStateIllustrationTypeToVariant/index.ts +21 -0
  15. package/codemods/migrateEmptyStateIllustrationTypeToVariant/transformEmptyStateIllustrationTypeToVariant.spec.ts +74 -0
  16. package/codemods/migrateEmptyStateIllustrationTypeToVariant/transformEmptyStateIllustrationTypeToVariant.ts +28 -0
  17. package/codemods/migrateGlobalNotificationTypeToVariant/index.ts +19 -0
  18. package/codemods/migrateInformationTileMoodToVariant/index.ts +21 -0
  19. package/codemods/migrateInformationTileMoodToVariant/transformInformationTileMoodToVariant.spec.ts +84 -0
  20. package/codemods/migrateInformationTileMoodToVariant/transformInformationTileMoodToVariant.ts +22 -0
  21. package/codemods/migrateInlineNotificationTypeToVariant/index.ts +19 -0
  22. package/codemods/migrateMultiActionTileMoodToVariant/index.ts +21 -0
  23. package/codemods/migrateMultiActionTileMoodToVariant/transformMultiActionTileMoodToVariant.spec.ts +84 -0
  24. package/codemods/migrateMultiActionTileMoodToVariant/transformMultiActionTileMoodToVariant.ts +22 -0
  25. package/codemods/migrateNotificationTypeToVariant/index.ts +1 -0
  26. package/codemods/migrateNotificationTypeToVariant/migrateNotificationTypeToVariant.spec.ts +107 -0
  27. package/codemods/migrateNotificationTypeToVariant/migrateNotificationTypeToVariant.ts +28 -0
  28. package/codemods/migrateProgressBarMoodToColor/index.ts +21 -0
  29. package/codemods/migrateProgressBarMoodToColor/transformProgressBarMoodToColor.spec.ts +54 -0
  30. package/codemods/migrateProgressBarMoodToColor/transformProgressBarMoodToColor.ts +26 -0
  31. package/codemods/migrateToastNotificationTypeToVariant/index.ts +19 -0
  32. package/codemods/migrateWellVariantToColor/index.ts +15 -0
  33. package/codemods/migrateWellVariantToColor/transformWellVariantToColor.spec.ts +192 -0
  34. package/codemods/migrateWellVariantToColor/transformWellVariantToColor.ts +75 -0
  35. package/codemods/removeInputEditModalMood/index.ts +19 -0
  36. package/codemods/removeInputEditModalMood/removeInputEditModalMood.spec.ts +80 -0
  37. package/codemods/removeInputEditModalMood/removeInputEditModalMood.ts +40 -0
  38. package/codemods/updateGuidanceBlockVariantProp/transformGuidanceBlockVariantProp.spec.ts +118 -0
  39. package/codemods/updateGuidanceBlockVariantProp/transformGuidanceBlockVariantProp.ts +64 -0
  40. package/codemods/utils/__fixtures__/KaioComponent.tsx +6 -0
  41. package/codemods/utils/__snapshots__/transformSource.spec.ts.snap +11 -0
  42. package/codemods/utils/getPropValueText.spec.ts +75 -0
  43. package/codemods/utils/getPropValueText.ts +21 -0
  44. package/codemods/utils/getTagName.spec.ts +24 -0
  45. package/codemods/utils/getTagName.ts +32 -0
  46. package/codemods/utils/index.ts +7 -0
  47. package/codemods/utils/migrateStringProp.spec.ts +129 -0
  48. package/codemods/utils/migrateStringProp.ts +43 -0
  49. package/codemods/utils/printAst.ts +6 -0
  50. package/codemods/utils/transformComponentsInDir.ts +42 -0
  51. package/codemods/utils/transformSource.spec.ts +56 -0
  52. package/codemods/utils/transformSource.ts +25 -0
  53. package/codemods/utils/updateJsxElementWithNewProps.spec.ts +67 -0
  54. package/codemods/utils/updateJsxElementWithNewProps.ts +24 -0
  55. package/dist/cjs/BrandMoment/BrandMoment.cjs +3 -2
  56. package/dist/cjs/BrandMoment/BrandMoment.module.scss.cjs +3 -1
  57. package/dist/cjs/Card/Card.cjs +7 -6
  58. package/dist/cjs/Card/Card.module.scss.cjs +10 -2
  59. package/dist/cjs/EmptyState/EmptyState.cjs +14 -6
  60. package/dist/cjs/EmptyState/EmptyState.module.scss.cjs +3 -0
  61. package/dist/cjs/ErrorPage/ErrorPage.cjs +1 -1
  62. package/dist/cjs/Modal/ConfirmationModal/ConfirmationModal.cjs +9 -5
  63. package/dist/cjs/Modal/ConfirmationModal/ConfirmationModal.module.scss.cjs +6 -2
  64. package/dist/cjs/Notification/ToastNotification/ToastNotification/ToastNotification.cjs +1 -3
  65. package/dist/cjs/Notification/ToastNotification/ToastNotificationsList/subcomponents/ToastNotificationsMap/ToastNotificationsMap.cjs +1 -3
  66. package/dist/cjs/Notification/subcomponents/GenericNotification/GenericNotification.cjs +6 -3
  67. package/dist/cjs/Notification/subcomponents/GenericNotification/GenericNotification.module.scss.cjs +5 -3
  68. package/dist/cjs/Notification/subcomponents/NotificationIcon/NotificationIcon.cjs +35 -3
  69. package/dist/cjs/ProgressBar/ProgressBar.cjs +3 -2
  70. package/dist/cjs/ProgressBar/ProgressBar.module.scss.cjs +8 -4
  71. package/dist/cjs/Tile/subcomponents/GenericTile/GenericTile.cjs +7 -5
  72. package/dist/cjs/Tile/subcomponents/GenericTile/GenericTile.module.scss.cjs +8 -6
  73. package/dist/cjs/Well/Well.cjs +5 -4
  74. package/dist/cjs/Well/Well.module.scss.cjs +9 -1
  75. package/dist/cjs/{GuidanceBlock → __containers__/GuidanceBlock/v1}/GuidanceBlock.cjs +6 -6
  76. package/dist/cjs/__containers__/GuidanceBlock/v1/GuidanceBlock.module.scss.cjs +33 -0
  77. package/dist/cjs/__containers__/GuidanceBlock/v2/GuidanceBlock.cjs +160 -0
  78. package/dist/cjs/__containers__/GuidanceBlock/v2/GuidanceBlock.module.scss.cjs +28 -0
  79. package/dist/cjs/containersV1.cjs +4 -0
  80. package/dist/cjs/containersV2.cjs +4 -0
  81. package/dist/cjs/index.cjs +2 -2
  82. package/dist/esm/BrandMoment/BrandMoment.mjs +3 -2
  83. package/dist/esm/BrandMoment/BrandMoment.module.scss.mjs +3 -1
  84. package/dist/esm/Card/Card.mjs +7 -6
  85. package/dist/esm/Card/Card.module.scss.mjs +10 -2
  86. package/dist/esm/EmptyState/EmptyState.mjs +15 -7
  87. package/dist/esm/EmptyState/EmptyState.module.scss.mjs +3 -0
  88. package/dist/esm/ErrorPage/ErrorPage.mjs +1 -1
  89. package/dist/esm/Modal/ConfirmationModal/ConfirmationModal.mjs +9 -5
  90. package/dist/esm/Modal/ConfirmationModal/ConfirmationModal.module.scss.mjs +6 -2
  91. package/dist/esm/Notification/ToastNotification/ToastNotification/ToastNotification.mjs +1 -3
  92. package/dist/esm/Notification/ToastNotification/ToastNotificationsList/subcomponents/ToastNotificationsMap/ToastNotificationsMap.mjs +1 -3
  93. package/dist/esm/Notification/subcomponents/GenericNotification/GenericNotification.mjs +8 -5
  94. package/dist/esm/Notification/subcomponents/GenericNotification/GenericNotification.module.scss.mjs +5 -3
  95. package/dist/esm/Notification/subcomponents/NotificationIcon/NotificationIcon.mjs +39 -5
  96. package/dist/esm/ProgressBar/ProgressBar.mjs +3 -2
  97. package/dist/esm/ProgressBar/ProgressBar.module.scss.mjs +8 -4
  98. package/dist/esm/Tile/subcomponents/GenericTile/GenericTile.mjs +7 -5
  99. package/dist/esm/Tile/subcomponents/GenericTile/GenericTile.module.scss.mjs +8 -6
  100. package/dist/esm/Well/Well.mjs +5 -4
  101. package/dist/esm/Well/Well.module.scss.mjs +9 -1
  102. package/dist/esm/{GuidanceBlock → __containers__/GuidanceBlock/v1}/GuidanceBlock.mjs +6 -6
  103. package/dist/esm/__containers__/GuidanceBlock/v1/GuidanceBlock.module.scss.mjs +31 -0
  104. package/dist/esm/__containers__/GuidanceBlock/v2/GuidanceBlock.mjs +153 -0
  105. package/dist/esm/__containers__/GuidanceBlock/v2/GuidanceBlock.module.scss.mjs +26 -0
  106. package/dist/esm/containersV1.mjs +1 -0
  107. package/dist/esm/containersV2.mjs +1 -0
  108. package/dist/esm/index.mjs +1 -1
  109. package/dist/styles.css +13 -12
  110. package/dist/types/BrandMoment/BrandMoment.d.ts +19 -3
  111. package/dist/types/Card/Card.d.ts +20 -7
  112. package/dist/types/EmptyState/EmptyState.d.ts +14 -6
  113. package/dist/types/Modal/ConfirmationModal/ConfirmationModal.d.ts +25 -7
  114. package/dist/types/Modal/GenericModal/subcomponents/ModalFooter/ModalFooter.d.ts +3 -0
  115. package/dist/types/Modal/InputEditModal/InputEditModal.d.ts +4 -1
  116. package/dist/types/Notification/GlobalNotification/GlobalNotification.d.ts +3 -3
  117. package/dist/types/Notification/InlineNotification/InlineNotification.d.ts +3 -3
  118. package/dist/types/Notification/ToastNotification/ToastNotification/ToastNotification.d.ts +5 -4
  119. package/dist/types/Notification/ToastNotification/context/ToastNotificationContext.d.ts +4 -3
  120. package/dist/types/Notification/ToastNotification/types.d.ts +3 -3
  121. package/dist/types/Notification/subcomponents/GenericNotification/GenericNotification.d.ts +24 -4
  122. package/dist/types/Notification/subcomponents/NotificationIcon/NotificationIcon.d.ts +11 -4
  123. package/dist/types/Notification/types.d.ts +2 -1
  124. package/dist/types/ProgressBar/ProgressBar.d.ts +25 -6
  125. package/dist/types/Tile/subcomponents/GenericTile/GenericTile.d.ts +10 -3
  126. package/dist/types/Well/Well.d.ts +6 -2
  127. package/dist/types/Well/types.d.ts +4 -0
  128. package/dist/types/{GuidanceBlock → __containers__/GuidanceBlock/v1}/GuidanceBlock.d.ts +4 -4
  129. package/dist/types/__containers__/GuidanceBlock/v2/GuidanceBlock.d.ts +59 -0
  130. package/dist/types/__containers__/GuidanceBlock/v2/index.d.ts +1 -0
  131. package/dist/types/__containers__/v1.d.ts +1 -0
  132. package/dist/types/__containers__/v2.d.ts +1 -0
  133. package/dist/types/index.d.ts +1 -1
  134. package/package.json +17 -3
  135. package/src/BrandMoment/BrandMoment.module.scss +20 -9
  136. package/src/BrandMoment/BrandMoment.tsx +26 -3
  137. package/src/BrandMoment/_docs/BrandMoment.mdx +13 -13
  138. package/src/BrandMoment/_docs/BrandMoment.stickersheet.stories.tsx +102 -0
  139. package/src/BrandMoment/_docs/BrandMoment.stories.tsx +17 -99
  140. package/src/Card/Card.module.scss +56 -7
  141. package/src/Card/Card.tsx +35 -11
  142. package/src/Card/_docs/Card.mdx +6 -3
  143. package/src/Card/_docs/Card.stickersheet.stories.tsx +44 -39
  144. package/src/Card/_docs/Card.stories.tsx +23 -23
  145. package/src/EmptyState/EmptyState.module.scss +32 -14
  146. package/src/EmptyState/EmptyState.tsx +32 -18
  147. package/src/EmptyState/_docs/EmptyState.stickersheet.stories.tsx +69 -121
  148. package/src/EmptyState/_docs/EmptyState.stories.tsx +6 -8
  149. package/src/ErrorPage/ErrorPage.tsx +1 -1
  150. package/src/Modal/ConfirmationModal/ConfirmationModal.module.scss +100 -78
  151. package/src/Modal/ConfirmationModal/ConfirmationModal.spec.tsx +5 -5
  152. package/src/Modal/ConfirmationModal/ConfirmationModal.tsx +41 -10
  153. package/src/Modal/ConfirmationModal/_docs/ConfirmationModal.mdx +3 -3
  154. package/src/Modal/ConfirmationModal/_docs/ConfirmationModal.stories.tsx +11 -4
  155. package/src/Modal/ContextModal/_docs/ContextModal.stories.tsx +3 -1
  156. package/src/Modal/GenericModal/subcomponents/ModalFooter/ModalFooter.tsx +3 -0
  157. package/src/Modal/InputEditModal/InputEditModal.tsx +4 -1
  158. package/src/Modal/InputEditModal/_docs/InputEditModal.mdx +0 -13
  159. package/src/Modal/InputEditModal/_docs/InputEditModal.stories.tsx +9 -10
  160. package/src/Notification/GlobalNotification/GlobalNotification.tsx +9 -4
  161. package/src/Notification/GlobalNotification/_docs/GlobalNotification.stickersheet.stories.tsx +68 -58
  162. package/src/Notification/GlobalNotification/_docs/GlobalNotification.stories.tsx +10 -13
  163. package/src/Notification/InlineNotification/InlineNotification.tsx +9 -4
  164. package/src/Notification/InlineNotification/_docs/InlineNotification.stickersheet.stories.tsx +79 -44
  165. package/src/Notification/InlineNotification/_docs/InlineNotification.stories.tsx +17 -17
  166. package/src/Notification/ToastNotification/ToastNotification/ToastNotification.tsx +7 -5
  167. package/src/Notification/ToastNotification/ToastNotificationsList/subcomponents/ToastNotificationsMap/ToastNotificationsMap.tsx +1 -2
  168. package/src/Notification/ToastNotification/_docs/ToastNotification.stickersheet.stories.tsx +12 -7
  169. package/src/Notification/ToastNotification/_docs/ToastNotification.stories.tsx +6 -1
  170. package/src/Notification/ToastNotification/context/ToastNotificationContext.tsx +7 -3
  171. package/src/Notification/ToastNotification/types.ts +8 -3
  172. package/src/Notification/subcomponents/GenericNotification/GenericNotification.module.scss +42 -5
  173. package/src/Notification/subcomponents/GenericNotification/GenericNotification.tsx +40 -6
  174. package/src/Notification/subcomponents/GenericNotification/_mixins.scss +2 -1
  175. package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.tsx +31 -5
  176. package/src/Notification/types.ts +9 -2
  177. package/src/ProgressBar/ProgressBar.module.scss +37 -25
  178. package/src/ProgressBar/ProgressBar.tsx +30 -5
  179. package/src/ProgressBar/_docs/ProgressBar.mdx +2 -3
  180. package/src/ProgressBar/_docs/ProgressBar.stickersheet.stories.tsx +95 -51
  181. package/src/ProgressBar/_docs/ProgressBar.stories.tsx +56 -25
  182. package/src/Tile/InformationTile/_docs/InformationTile.mdx +3 -2
  183. package/src/Tile/InformationTile/_docs/InformationTile.stickersheet.stories.tsx +57 -19
  184. package/src/Tile/InformationTile/_docs/InformationTile.stories.tsx +19 -7
  185. package/src/Tile/MultiActionTile/_docs/MultiActionTile.mdx +3 -2
  186. package/src/Tile/MultiActionTile/_docs/MultiActionTile.stickersheet.stories.tsx +62 -24
  187. package/src/Tile/MultiActionTile/_docs/MultiActionTile.stories.tsx +19 -7
  188. package/src/Tile/subcomponents/GenericTile/GenericTile.module.scss +34 -22
  189. package/src/Tile/subcomponents/GenericTile/GenericTile.tsx +17 -8
  190. package/src/Tile/subcomponents/GenericTile/_docs/GenericTile.stickersheet.stories.tsx +57 -19
  191. package/src/Well/Well.module.scss +70 -33
  192. package/src/Well/Well.tsx +9 -3
  193. package/src/Well/_docs/Well.mdx +9 -2
  194. package/src/Well/_docs/Well.stickersheet.stories.tsx +10 -1
  195. package/src/Well/_docs/Well.stories.tsx +54 -29
  196. package/src/Well/types.ts +15 -0
  197. package/src/__actions__/Button/v3/_docs/ApiSpecification.mdx +1 -1
  198. package/src/{GuidanceBlock → __containers__/GuidanceBlock/v1}/GuidanceBlock.module.scss +2 -2
  199. package/src/{GuidanceBlock → __containers__/GuidanceBlock/v1}/_docs/GuidanceBlock.mdx +2 -2
  200. package/src/{GuidanceBlock → __containers__/GuidanceBlock/v1}/_docs/GuidanceBlock.stickersheet.stories.tsx +1 -1
  201. package/src/{GuidanceBlock → __containers__/GuidanceBlock/v1}/_docs/GuidanceBlock.stories.tsx +1 -1
  202. package/src/__containers__/GuidanceBlock/v2/GuidanceBlock.module.scss +356 -0
  203. package/src/__containers__/GuidanceBlock/v2/GuidanceBlock.spec.tsx +82 -0
  204. package/src/__containers__/GuidanceBlock/v2/GuidanceBlock.tsx +262 -0
  205. package/src/__containers__/GuidanceBlock/v2/_docs/GuidanceBlock.mdx +38 -0
  206. package/src/__containers__/GuidanceBlock/v2/_docs/GuidanceBlock.stickersheet.stories.tsx +118 -0
  207. package/src/__containers__/GuidanceBlock/v2/_docs/GuidanceBlock.stories.tsx +152 -0
  208. package/src/__containers__/GuidanceBlock/v2/index.ts +1 -0
  209. package/src/__containers__/v1.ts +1 -0
  210. package/src/__containers__/v2.ts +1 -0
  211. package/src/index.ts +2 -1
  212. package/v1/containers/package.json +5 -0
  213. package/v2/containers/package.json +5 -0
  214. package/dist/cjs/GuidanceBlock/GuidanceBlock.module.scss.cjs +0 -33
  215. package/dist/esm/GuidanceBlock/GuidanceBlock.module.scss.mjs +0 -31
  216. package/dist/types/Tile/subcomponents/GenericTile/types.d.ts +0 -2
  217. package/src/EmptyState/_docs/EmptyState.stories.module.scss +0 -15
  218. package/src/Notification/ToastNotification/ToastNotification/ToastNotification.spec.tsx +0 -33
  219. package/src/Tile/subcomponents/GenericTile/types.ts +0 -10
  220. /package/dist/types/{GuidanceBlock → __containers__/GuidanceBlock/v1}/index.d.ts +0 -0
  221. /package/dist/types/{GuidanceBlock → __containers__/GuidanceBlock/v1}/types.d.ts +0 -0
  222. /package/src/{GuidanceBlock → __containers__/GuidanceBlock/v1}/GuidanceBlock.spec.tsx +0 -0
  223. /package/src/{GuidanceBlock → __containers__/GuidanceBlock/v1}/GuidanceBlock.tsx +0 -0
  224. /package/src/{GuidanceBlock → __containers__/GuidanceBlock/v1}/index.ts +0 -0
  225. /package/src/{GuidanceBlock → __containers__/GuidanceBlock/v1}/types.ts +0 -0
@@ -0,0 +1,21 @@
1
+ import { transformComponentsInDir } from "../utils"
2
+ import { transformInformationTileMoodToVariant } from "./transformInformationTileMoodToVariant"
3
+
4
+ const migrateInformationTileMoodToVariant = (): void => {
5
+ // eslint-disable-next-line no-console
6
+ console.log(
7
+ " ~(-_- ~) Running InformationTile mood to variant transformer (~ -_-)~"
8
+ )
9
+ const targetDir = process.argv[2]
10
+ if (!targetDir) {
11
+ process.exit(1)
12
+ }
13
+
14
+ transformComponentsInDir(
15
+ targetDir,
16
+ transformInformationTileMoodToVariant,
17
+ "InformationTile"
18
+ )
19
+ }
20
+
21
+ migrateInformationTileMoodToVariant()
@@ -0,0 +1,84 @@
1
+ import { parseJsx } from "../__tests__/utils"
2
+ import { transformSource, printAst, TransformConfig } from "../utils"
3
+ import { transformInformationTileMoodToVariant } from "./transformInformationTileMoodToVariant"
4
+
5
+ const transformInformationTile = (
6
+ sourceFile: TransformConfig["sourceFile"]
7
+ ): string =>
8
+ transformSource({
9
+ sourceFile,
10
+ astTransformer: transformInformationTileMoodToVariant,
11
+ tagName: "InformationTile",
12
+ })
13
+
14
+ describe("transformInformationTileMoodToVariant()", () => {
15
+ it('replaces mood="positive" with variant="default"', () => {
16
+ const inputAst = parseJsx(
17
+ 'export const TestComponent = () => <InformationTile mood="positive">Hello</InformationTile>'
18
+ )
19
+ const outputAst = parseJsx(
20
+ 'export const TestComponent = () => <InformationTile variant="default">Hello</InformationTile>'
21
+ )
22
+ expect(transformInformationTile(inputAst)).toEqual(printAst(outputAst))
23
+ })
24
+
25
+ it('replaces mood="informative" with variant="default"', () => {
26
+ const inputAst = parseJsx(
27
+ 'export const TestComponent = () => <InformationTile mood="informative">Hello</InformationTile>'
28
+ )
29
+ const outputAst = parseJsx(
30
+ 'export const TestComponent = () => <InformationTile variant="default">Hello</InformationTile>'
31
+ )
32
+ expect(transformInformationTile(inputAst)).toEqual(printAst(outputAst))
33
+ })
34
+
35
+ it('replaces mood="cautionary" with variant="default"', () => {
36
+ const inputAst = parseJsx(
37
+ 'export const TestComponent = () => <InformationTile mood="cautionary">Hello</InformationTile>'
38
+ )
39
+ const outputAst = parseJsx(
40
+ 'export const TestComponent = () => <InformationTile variant="default">Hello</InformationTile>'
41
+ )
42
+ expect(transformInformationTile(inputAst)).toEqual(printAst(outputAst))
43
+ })
44
+
45
+ it('replaces mood="assertive" with variant="default"', () => {
46
+ const inputAst = parseJsx(
47
+ 'export const TestComponent = () => <InformationTile mood="assertive">Hello</InformationTile>'
48
+ )
49
+ const outputAst = parseJsx(
50
+ 'export const TestComponent = () => <InformationTile variant="default">Hello</InformationTile>'
51
+ )
52
+ expect(transformInformationTile(inputAst)).toEqual(printAst(outputAst))
53
+ })
54
+
55
+ it('replaces mood="negative" with variant="default"', () => {
56
+ const inputAst = parseJsx(
57
+ 'export const TestComponent = () => <InformationTile mood="negative">Hello</InformationTile>'
58
+ )
59
+ const outputAst = parseJsx(
60
+ 'export const TestComponent = () => <InformationTile variant="default">Hello</InformationTile>'
61
+ )
62
+ expect(transformInformationTile(inputAst)).toEqual(printAst(outputAst))
63
+ })
64
+
65
+ it('replaces mood="prominent" with variant="expert-advice"', () => {
66
+ const inputAst = parseJsx(
67
+ 'export const TestComponent = () => <InformationTile mood="prominent">Hello</InformationTile>'
68
+ )
69
+ const outputAst = parseJsx(
70
+ 'export const TestComponent = () => <InformationTile variant="expert-advice">Hello</InformationTile>'
71
+ )
72
+ expect(transformInformationTile(inputAst)).toEqual(printAst(outputAst))
73
+ })
74
+
75
+ it("does not add variant if mood was not defined", () => {
76
+ const inputAst = parseJsx(
77
+ "export const TestComponent = () => <InformationTile>Hello</InformationTile>"
78
+ )
79
+ const outputAst = parseJsx(
80
+ "export const TestComponent = () => <InformationTile>Hello</InformationTile>"
81
+ )
82
+ expect(transformInformationTile(inputAst)).toEqual(printAst(outputAst))
83
+ })
84
+ })
@@ -0,0 +1,22 @@
1
+ import type { InformationTileProps } from "~components/Tile"
2
+ import { migrateStringProp } from "../utils"
3
+
4
+ const OLD_PROP_NAME = "mood"
5
+ const NEW_PROP_NAME = "variant"
6
+
7
+ const getNewVariantValue = (
8
+ oldValue: Exclude<InformationTileProps[typeof OLD_PROP_NAME], undefined>
9
+ ): Exclude<InformationTileProps[typeof NEW_PROP_NAME], undefined> => {
10
+ switch (oldValue) {
11
+ case "prominent":
12
+ return "expert-advice"
13
+ default:
14
+ return "default"
15
+ }
16
+ }
17
+
18
+ export const transformInformationTileMoodToVariant = migrateStringProp(
19
+ OLD_PROP_NAME,
20
+ NEW_PROP_NAME,
21
+ getNewVariantValue
22
+ )
@@ -0,0 +1,19 @@
1
+ import { transformNotificationTypeToVariant } from "../migrateNotificationTypeToVariant"
2
+ import { transformComponentsInDir } from "../utils"
3
+ /** This is here as a script runner that migrates InlineNotification variant to their color equivalent */
4
+ const migrateInlineNotificationTypeToVariant = (): void => {
5
+ // eslint-disable-next-line no-console
6
+ console.log(" ~(-_- ~) Running InlineNotification transformer (~ -_-)~")
7
+ const targetDir = process.argv[2]
8
+ if (!targetDir) {
9
+ process.exit(1)
10
+ }
11
+
12
+ transformComponentsInDir(
13
+ targetDir,
14
+ transformNotificationTypeToVariant,
15
+ "InlineNotification"
16
+ )
17
+ }
18
+
19
+ migrateInlineNotificationTypeToVariant()
@@ -0,0 +1,21 @@
1
+ import { transformComponentsInDir } from "../utils"
2
+ import { transformMultiActionTileMoodToVariant } from "./transformMultiActionTileMoodToVariant"
3
+
4
+ const migrateMultiActionTileMoodToVariant = (): void => {
5
+ // eslint-disable-next-line no-console
6
+ console.log(
7
+ " ~(-_- ~) Running MultiActionTile mood to variant transformer (~ -_-)~"
8
+ )
9
+ const targetDir = process.argv[2]
10
+ if (!targetDir) {
11
+ process.exit(1)
12
+ }
13
+
14
+ transformComponentsInDir(
15
+ targetDir,
16
+ transformMultiActionTileMoodToVariant,
17
+ "MultiActionTile"
18
+ )
19
+ }
20
+
21
+ migrateMultiActionTileMoodToVariant()
@@ -0,0 +1,84 @@
1
+ import { parseJsx } from "../__tests__/utils"
2
+ import { transformSource, printAst, TransformConfig } from "../utils"
3
+ import { transformMultiActionTileMoodToVariant } from "./transformMultiActionTileMoodToVariant"
4
+
5
+ const transformMultiActionTile = (
6
+ sourceFile: TransformConfig["sourceFile"]
7
+ ): string =>
8
+ transformSource({
9
+ sourceFile,
10
+ astTransformer: transformMultiActionTileMoodToVariant,
11
+ tagName: "MultiActionTile",
12
+ })
13
+
14
+ describe("transformMultiActionTileMoodToVariant()", () => {
15
+ it('replaces mood="positive" with variant="default"', () => {
16
+ const inputAst = parseJsx(
17
+ 'export const TestComponent = () => <MultiActionTile mood="positive">Hello</MultiActionTile>'
18
+ )
19
+ const outputAst = parseJsx(
20
+ 'export const TestComponent = () => <MultiActionTile variant="default">Hello</MultiActionTile>'
21
+ )
22
+ expect(transformMultiActionTile(inputAst)).toEqual(printAst(outputAst))
23
+ })
24
+
25
+ it('replaces mood="informative" with variant="default"', () => {
26
+ const inputAst = parseJsx(
27
+ 'export const TestComponent = () => <MultiActionTile mood="informative">Hello</MultiActionTile>'
28
+ )
29
+ const outputAst = parseJsx(
30
+ 'export const TestComponent = () => <MultiActionTile variant="default">Hello</MultiActionTile>'
31
+ )
32
+ expect(transformMultiActionTile(inputAst)).toEqual(printAst(outputAst))
33
+ })
34
+
35
+ it('replaces mood="cautionary" with variant="default"', () => {
36
+ const inputAst = parseJsx(
37
+ 'export const TestComponent = () => <MultiActionTile mood="cautionary">Hello</MultiActionTile>'
38
+ )
39
+ const outputAst = parseJsx(
40
+ 'export const TestComponent = () => <MultiActionTile variant="default">Hello</MultiActionTile>'
41
+ )
42
+ expect(transformMultiActionTile(inputAst)).toEqual(printAst(outputAst))
43
+ })
44
+
45
+ it('replaces mood="assertive" with variant="default"', () => {
46
+ const inputAst = parseJsx(
47
+ 'export const TestComponent = () => <MultiActionTile mood="assertive">Hello</MultiActionTile>'
48
+ )
49
+ const outputAst = parseJsx(
50
+ 'export const TestComponent = () => <MultiActionTile variant="default">Hello</MultiActionTile>'
51
+ )
52
+ expect(transformMultiActionTile(inputAst)).toEqual(printAst(outputAst))
53
+ })
54
+
55
+ it('replaces mood="negative" with variant="default"', () => {
56
+ const inputAst = parseJsx(
57
+ 'export const TestComponent = () => <MultiActionTile mood="negative">Hello</MultiActionTile>'
58
+ )
59
+ const outputAst = parseJsx(
60
+ 'export const TestComponent = () => <MultiActionTile variant="default">Hello</MultiActionTile>'
61
+ )
62
+ expect(transformMultiActionTile(inputAst)).toEqual(printAst(outputAst))
63
+ })
64
+
65
+ it('replaces mood="prominent" with variant="expert-advice"', () => {
66
+ const inputAst = parseJsx(
67
+ 'export const TestComponent = () => <MultiActionTile mood="prominent">Hello</MultiActionTile>'
68
+ )
69
+ const outputAst = parseJsx(
70
+ 'export const TestComponent = () => <MultiActionTile variant="expert-advice">Hello</MultiActionTile>'
71
+ )
72
+ expect(transformMultiActionTile(inputAst)).toEqual(printAst(outputAst))
73
+ })
74
+
75
+ it("does not add variant if mood was not defined", () => {
76
+ const inputAst = parseJsx(
77
+ "export const TestComponent = () => <MultiActionTile>Hello</MultiActionTile>"
78
+ )
79
+ const outputAst = parseJsx(
80
+ "export const TestComponent = () => <MultiActionTile>Hello</MultiActionTile>"
81
+ )
82
+ expect(transformMultiActionTile(inputAst)).toEqual(printAst(outputAst))
83
+ })
84
+ })
@@ -0,0 +1,22 @@
1
+ import type { MultiActionTileProps } from "~components/Tile"
2
+ import { migrateStringProp } from "../utils"
3
+
4
+ const OLD_PROP_NAME = "mood"
5
+ const NEW_PROP_NAME = "variant"
6
+
7
+ const getNewVariantValue = (
8
+ oldValue: Exclude<MultiActionTileProps[typeof OLD_PROP_NAME], undefined>
9
+ ): Exclude<MultiActionTileProps[typeof NEW_PROP_NAME], undefined> => {
10
+ switch (oldValue) {
11
+ case "prominent":
12
+ return "expert-advice"
13
+ default:
14
+ return "default"
15
+ }
16
+ }
17
+
18
+ export const transformMultiActionTileMoodToVariant = migrateStringProp(
19
+ OLD_PROP_NAME,
20
+ NEW_PROP_NAME,
21
+ getNewVariantValue
22
+ )
@@ -0,0 +1 @@
1
+ export * from "./migrateNotificationTypeToVariant"
@@ -0,0 +1,107 @@
1
+ import { parseJsx } from "../__tests__/utils"
2
+ import { transformSource, printAst } from "../utils"
3
+ import { transformNotificationTypeToVariant } from "./migrateNotificationTypeToVariant"
4
+
5
+ describe("transformNotificationTypeToVariant", () => {
6
+ it('replaces InlineNotifications type="positive" with variant="success"', () => {
7
+ const inputAst = parseJsx(`
8
+ export const TestComponent = () => <InlineNotification type="positive">Test</InlineNotification>
9
+ `)
10
+ const outputAst = parseJsx(`
11
+ export const TestComponent = () => <InlineNotification variant="success">Test</InlineNotification>
12
+ `)
13
+ const transformed = transformSource({
14
+ sourceFile: inputAst,
15
+ astTransformer: transformNotificationTypeToVariant,
16
+ tagName: "InlineNotification",
17
+ })
18
+ expect(transformed).toEqual(printAst(outputAst))
19
+ })
20
+
21
+ it('replaces GlobalNotification type="positive" with variant="success"', () => {
22
+ const inputAst = parseJsx(`
23
+ export const TestComponent = () => <GlobalNotification type="positive">Test</GlobalNotification>
24
+ `)
25
+ const outputAst = parseJsx(`
26
+ export const TestComponent = () => <GlobalNotification variant="success">Test</GlobalNotification>
27
+ `)
28
+ const transformed = transformSource({
29
+ sourceFile: inputAst,
30
+ astTransformer: transformNotificationTypeToVariant,
31
+ tagName: "GlobalNotification",
32
+ })
33
+ expect(transformed).toEqual(printAst(outputAst))
34
+ })
35
+
36
+ it('replaces ToastNotification type="positive" with variant="success"', () => {
37
+ const inputAst = parseJsx(`
38
+ export const TestComponent = () => <ToastNotification type="positive">Test</ToastNotification>
39
+ `)
40
+ const outputAst = parseJsx(`
41
+ export const TestComponent = () => <ToastNotification variant="success">Test</ToastNotification>
42
+ `)
43
+ const transformed = transformSource({
44
+ sourceFile: inputAst,
45
+ astTransformer: transformNotificationTypeToVariant,
46
+ tagName: "ToastNotification",
47
+ })
48
+ expect(transformed).toEqual(printAst(outputAst))
49
+ })
50
+
51
+ it('replaces type="informative" with variant="informative"', () => {
52
+ const inputAst = parseJsx(`
53
+ export const TestComponent = () => <InlineNotification type="informative">Test</InlineNotification>
54
+ `)
55
+ const outputAst = parseJsx(`
56
+ export const TestComponent = () => <InlineNotification variant="informative">Test</InlineNotification>
57
+ `)
58
+ const transformed = transformSource({
59
+ sourceFile: inputAst,
60
+ astTransformer: transformNotificationTypeToVariant,
61
+ tagName: "InlineNotification",
62
+ })
63
+ expect(transformed).toBe(printAst(outputAst))
64
+ })
65
+ it('replaces type="cautionary" with variant="cautionary"', () => {
66
+ const inputAst = parseJsx(`
67
+ export const TestComponent = () => <InlineNotification type="cautionary">Test</InlineNotification>
68
+ `)
69
+ const outputAst = parseJsx(`
70
+ export const TestComponent = () => <InlineNotification variant="cautionary">Test</InlineNotification>
71
+ `)
72
+ const transformed = transformSource({
73
+ sourceFile: inputAst,
74
+ astTransformer: transformNotificationTypeToVariant,
75
+ tagName: "InlineNotification",
76
+ })
77
+ expect(transformed).toBe(printAst(outputAst))
78
+ })
79
+ it('replaces type="security" with variant="security"', () => {
80
+ const inputAst = parseJsx(`
81
+ export const TestComponent = () => <InlineNotification type="security">Test</InlineNotification>
82
+ `)
83
+ const outputAst = parseJsx(`
84
+ export const TestComponent = () => <InlineNotification variant="security">Test</InlineNotification>
85
+ `)
86
+ const transformed = transformSource({
87
+ sourceFile: inputAst,
88
+ astTransformer: transformNotificationTypeToVariant,
89
+ tagName: "InlineNotification",
90
+ })
91
+ expect(transformed).toBe(printAst(outputAst))
92
+ })
93
+ it('replaces type="negative" with variant="warning"', () => {
94
+ const inputAst = parseJsx(`
95
+ export const TestComponent = () => <InlineNotification type="negative">Test</InlineNotification>
96
+ `)
97
+ const outputAst = parseJsx(`
98
+ export const TestComponent = () => <InlineNotification variant="warning">Test</InlineNotification>
99
+ `)
100
+ const transformed = transformSource({
101
+ sourceFile: inputAst,
102
+ astTransformer: transformNotificationTypeToVariant,
103
+ tagName: "InlineNotification",
104
+ })
105
+ expect(transformed).toBe(printAst(outputAst))
106
+ })
107
+ })
@@ -0,0 +1,28 @@
1
+ import type { GenericNotificationProps } from "~components/Notification/subcomponents/GenericNotification"
2
+ import { migrateStringProp } from "../utils"
3
+
4
+ const OLD_PROP_NAME = "type"
5
+ const NEW_PROP_NAME = "variant"
6
+
7
+ const getNewVariantValue = (
8
+ oldValue: Exclude<GenericNotificationProps[typeof OLD_PROP_NAME], undefined>
9
+ ): Exclude<GenericNotificationProps[typeof NEW_PROP_NAME], undefined> => {
10
+ switch (oldValue) {
11
+ case "cautionary":
12
+ return "cautionary"
13
+ case "informative":
14
+ return "informative"
15
+ case "negative":
16
+ return "warning"
17
+ case "positive":
18
+ return "success"
19
+ case "security":
20
+ return "security"
21
+ }
22
+ }
23
+
24
+ export const transformNotificationTypeToVariant = migrateStringProp(
25
+ OLD_PROP_NAME,
26
+ NEW_PROP_NAME,
27
+ getNewVariantValue
28
+ )
@@ -0,0 +1,21 @@
1
+ import { transformComponentsInDir } from "../utils"
2
+ import { transformProgressBarMoodToColor } from "./transformProgressBarMoodToColor"
3
+
4
+ const migrateProgressBarMoodToColor = (): void => {
5
+ // eslint-disable-next-line no-console
6
+ console.log(
7
+ " ~(-_- ~) Running ProgressBar mood to color transformer (~ -_-)~"
8
+ )
9
+ const targetDir = process.argv[2]
10
+ if (!targetDir) {
11
+ process.exit(1)
12
+ }
13
+
14
+ transformComponentsInDir(
15
+ targetDir,
16
+ transformProgressBarMoodToColor,
17
+ "ProgressBar"
18
+ )
19
+ }
20
+
21
+ migrateProgressBarMoodToColor()
@@ -0,0 +1,54 @@
1
+ import { parseJsx } from "../__tests__/utils"
2
+ import { transformSource, printAst, TransformConfig } from "../utils"
3
+ import { transformProgressBarMoodToColor } from "./transformProgressBarMoodToColor"
4
+
5
+ const transformProgressBar = (
6
+ sourceFile: TransformConfig["sourceFile"]
7
+ ): string =>
8
+ transformSource({
9
+ sourceFile,
10
+ astTransformer: transformProgressBarMoodToColor,
11
+ tagName: "ProgressBar",
12
+ })
13
+
14
+ describe("transformProgressBarMoodToColor()", () => {
15
+ it('replaces mood="cautionary" with color="yellow"', () => {
16
+ const inputAst = parseJsx(
17
+ 'export const TestComponent = () => <ProgressBar mood="cautionary" />'
18
+ )
19
+ const outputAst = parseJsx(
20
+ 'export const TestComponent = () => <ProgressBar color="yellow" />'
21
+ )
22
+ expect(transformProgressBar(inputAst)).toEqual(printAst(outputAst))
23
+ })
24
+
25
+ it('replaces mood="informative" with color="blue', () => {
26
+ const inputAst = parseJsx(
27
+ 'export const TestComponent = () => <ProgressBar mood="informative" />'
28
+ )
29
+ const outputAst = parseJsx(
30
+ 'export const TestComponent = () => <ProgressBar color="blue" />'
31
+ )
32
+ expect(transformProgressBar(inputAst)).toEqual(printAst(outputAst))
33
+ })
34
+
35
+ it('replaces mood="negative" with color="red"', () => {
36
+ const inputAst = parseJsx(
37
+ 'export const TestComponent = () => <ProgressBar mood="negative" />'
38
+ )
39
+ const outputAst = parseJsx(
40
+ 'export const TestComponent = () => <ProgressBar color="red" />'
41
+ )
42
+ expect(transformProgressBar(inputAst)).toEqual(printAst(outputAst))
43
+ })
44
+
45
+ it('replaces mood="positive" with color="green"', () => {
46
+ const inputAst = parseJsx(
47
+ 'export const TestComponent = () => <ProgressBar mood="positive" />'
48
+ )
49
+ const outputAst = parseJsx(
50
+ 'export const TestComponent = () => <ProgressBar color="green" />'
51
+ )
52
+ expect(transformProgressBar(inputAst)).toEqual(printAst(outputAst))
53
+ })
54
+ })
@@ -0,0 +1,26 @@
1
+ import type { ProgressBarProps } from "~components/ProgressBar"
2
+ import { migrateStringProp } from "../utils"
3
+
4
+ const OLD_PROP_NAME = "mood"
5
+ const NEW_PROP_NAME = "color"
6
+
7
+ const getNewVariantValue = (
8
+ oldValue: Exclude<ProgressBarProps[typeof OLD_PROP_NAME], undefined>
9
+ ): Exclude<ProgressBarProps[typeof NEW_PROP_NAME], undefined> => {
10
+ switch (oldValue) {
11
+ case "cautionary":
12
+ return "yellow"
13
+ case "informative":
14
+ return "blue"
15
+ case "negative":
16
+ return "red"
17
+ case "positive":
18
+ return "green"
19
+ }
20
+ }
21
+
22
+ export const transformProgressBarMoodToColor = migrateStringProp(
23
+ OLD_PROP_NAME,
24
+ NEW_PROP_NAME,
25
+ getNewVariantValue
26
+ )
@@ -0,0 +1,19 @@
1
+ import { transformNotificationTypeToVariant } from "../migrateNotificationTypeToVariant"
2
+ import { transformComponentsInDir } from "../utils"
3
+ /** This is here as a script runner that migrates ToastNotification variant to their color equivalent */
4
+ const migrateToastNotificationTypeToVariant = (): void => {
5
+ // eslint-disable-next-line no-console
6
+ console.log(" ~(-_- ~) Running ToastNotification transformer (~ -_-)~")
7
+ const targetDir = process.argv[2]
8
+ if (!targetDir) {
9
+ process.exit(1)
10
+ }
11
+
12
+ transformComponentsInDir(
13
+ targetDir,
14
+ transformNotificationTypeToVariant,
15
+ "ToastNotification"
16
+ )
17
+ }
18
+
19
+ migrateToastNotificationTypeToVariant()
@@ -0,0 +1,15 @@
1
+ import { transformComponentsInDir } from "../utils"
2
+ import { transformWellVariantToColor } from "./transformWellVariantToColor"
3
+ /** This is here as a script runner that migrates Well variant to their color equivalent */
4
+ const migrateWellVariantToColor = (): void => {
5
+ // eslint-disable-next-line no-console
6
+ console.log(" ~(-_- ~) Running Well transformer (~ -_-)~")
7
+ const targetDir = process.argv[2]
8
+ if (!targetDir) {
9
+ process.exit(1)
10
+ }
11
+
12
+ transformComponentsInDir(targetDir, transformWellVariantToColor, "Well")
13
+ }
14
+
15
+ migrateWellVariantToColor()