@databiosphere/findable-ui 22.0.0 → 24.0.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 (343) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/.storybook/preview.js +4 -37
  3. package/CHANGELOG.md +53 -0
  4. package/jest.config.js +1 -0
  5. package/lib/common/selectors.d.ts +6 -2
  6. package/lib/common/selectors.js +7 -2
  7. package/lib/components/DataDictionary/components/Entities/constants.d.ts +1 -0
  8. package/lib/components/DataDictionary/components/Entities/constants.js +2 -1
  9. package/lib/components/DataDictionary/components/Entities/entities.d.ts +1 -1
  10. package/lib/components/DataDictionary/components/Entities/entities.js +2 -2
  11. package/lib/components/DataDictionary/components/Entities/types.d.ts +2 -0
  12. package/lib/components/DataDictionary/components/Entity/entity.d.ts +1 -1
  13. package/lib/components/DataDictionary/components/Entity/entity.js +9 -4
  14. package/lib/components/DataDictionary/components/Entity/entity.styles.d.ts +2 -0
  15. package/lib/components/DataDictionary/components/Entity/entity.styles.js +10 -0
  16. package/lib/components/DataDictionary/components/Entity/types.d.ts +2 -0
  17. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.d.ts +2 -0
  18. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.js +5 -0
  19. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.d.ts +5 -0
  20. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.js +19 -0
  21. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.d.ts +5 -0
  22. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.js +1 -0
  23. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.d.ts +2 -0
  24. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.js +6 -0
  25. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.d.ts +9 -0
  26. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.js +26 -0
  27. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/types.d.ts +5 -0
  28. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/types.js +1 -0
  29. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.d.ts +2 -0
  30. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.js +5 -0
  31. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.d.ts +5 -0
  32. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.js +16 -0
  33. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/types.d.ts +5 -0
  34. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/types.js +1 -0
  35. package/lib/components/DataDictionary/components/Layout/constants.d.ts +5 -0
  36. package/lib/components/DataDictionary/components/Layout/constants.js +5 -0
  37. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/constants.d.ts +2 -0
  38. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/constants.js +5 -0
  39. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.d.ts +1 -0
  40. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.js +6 -0
  41. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.d.ts +3 -0
  42. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.js +7 -0
  43. package/lib/components/DataDictionary/components/Outline/outline.d.ts +2 -0
  44. package/lib/components/DataDictionary/components/Outline/outline.js +6 -0
  45. package/lib/components/DataDictionary/components/Outline/outline.styles.d.ts +3 -0
  46. package/lib/components/DataDictionary/components/Outline/outline.styles.js +19 -0
  47. package/lib/components/DataDictionary/components/Outline/types.d.ts +5 -0
  48. package/lib/components/DataDictionary/components/Outline/types.js +1 -0
  49. package/lib/components/DataDictionary/components/Outline/utils.d.ts +8 -0
  50. package/lib/components/DataDictionary/components/Outline/utils.js +15 -0
  51. package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.js +2 -2
  52. package/lib/components/DataDictionary/components/Title/title.d.ts +2 -0
  53. package/lib/components/DataDictionary/components/Title/title.js +3 -0
  54. package/lib/components/DataDictionary/components/Title/title.styles.d.ts +3 -0
  55. package/lib/components/DataDictionary/components/Title/title.styles.js +17 -0
  56. package/lib/components/DataDictionary/dataDictionary.d.ts +2 -2
  57. package/lib/components/DataDictionary/dataDictionary.js +17 -3
  58. package/lib/components/DataDictionary/dataDictionary.styles.d.ts +5 -1
  59. package/lib/components/DataDictionary/dataDictionary.styles.js +16 -3
  60. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +2 -1
  61. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.d.ts +2 -0
  62. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.js +10 -0
  63. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.d.ts +7 -0
  64. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.js +1 -0
  65. package/lib/components/DataDictionary/types.d.ts +9 -0
  66. package/lib/components/DataDictionary/types.js +1 -0
  67. package/lib/components/Error/error.js +3 -3
  68. package/lib/components/Export/components/ExportForm/exportForm.styles.d.ts +2 -2
  69. package/lib/components/Filter/components/FilterLabel/filterLabel.styles.d.ts +1 -1
  70. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.js +3 -3
  71. package/lib/components/Index/index.js +3 -4
  72. package/lib/components/Layout/components/ContentLayout/contentLayout.js +7 -7
  73. package/lib/components/Layout/components/Footer/footer.js +4 -1
  74. package/lib/components/Layout/components/Footer/footer.styles.js +1 -0
  75. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.d.ts +1 -1
  76. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.d.ts +1 -1
  77. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/Button/button.styles.d.ts +1 -1
  78. package/lib/components/Layout/components/Header/header.js +4 -3
  79. package/lib/components/Layout/components/Main/main.js +3 -4
  80. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.d.ts +1 -5
  81. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.js +5 -3
  82. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.d.ts +1 -1
  83. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.js +2 -2
  84. package/lib/components/Layout/components/Outline/components/ContentsTab/types.d.ts +5 -0
  85. package/lib/components/Layout/components/Outline/components/ContentsTab/types.js +1 -0
  86. package/lib/components/Layout/components/Outline/hooks/UseHash/hook.d.ts +11 -0
  87. package/lib/components/Layout/components/Outline/hooks/UseHash/hook.js +16 -0
  88. package/lib/components/Layout/components/Outline/hooks/UseHash/types.d.ts +3 -0
  89. package/lib/components/Layout/components/Outline/hooks/UseHash/types.js +1 -0
  90. package/lib/components/Layout/components/Outline/hooks/UseTabs/constants.d.ts +2 -0
  91. package/lib/components/Layout/components/Outline/hooks/UseTabs/hook.d.ts +3 -0
  92. package/lib/components/Layout/components/Outline/hooks/UseTabs/hook.js +24 -0
  93. package/lib/components/Layout/components/Outline/hooks/UseTabs/utils.d.ts +9 -0
  94. package/lib/components/Layout/components/Outline/hooks/UseTabs/utils.js +13 -0
  95. package/lib/components/Layout/components/Outline/outline.d.ts +2 -13
  96. package/lib/components/Layout/components/Outline/outline.js +8 -32
  97. package/lib/components/Layout/components/Outline/outline.styles.d.ts +3 -3
  98. package/lib/components/Layout/components/Outline/outline.styles.js +2 -2
  99. package/lib/components/Layout/components/Outline/types.d.ts +14 -0
  100. package/lib/components/Layout/components/Outline/types.js +1 -0
  101. package/lib/components/Layout/components/Sidebar/components/SidebarPositioner/sidebarPositioner.js +4 -4
  102. package/lib/components/Loading/loading.stories.d.ts +3 -31
  103. package/lib/components/Login/components/Button/button.styles.d.ts +1 -1
  104. package/lib/components/Login/components/Section/components/Warning/warning.js +2 -3
  105. package/lib/components/Stepper/components/Step/components/StepContent/stepContent.d.ts +3 -0
  106. package/lib/components/Stepper/components/Step/components/StepContent/stepContent.js +7 -0
  107. package/lib/components/Stepper/components/Step/components/StepContent/stepContent.styles.d.ts +3 -0
  108. package/lib/components/Stepper/components/Step/components/StepContent/stepContent.styles.js +17 -0
  109. package/lib/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/completedIcon.d.ts +2 -0
  110. package/lib/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/completedIcon.js +8 -0
  111. package/lib/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/completedIcon.styles.d.ts +5 -0
  112. package/lib/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/completedIcon.styles.js +15 -0
  113. package/lib/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/contants.d.ts +2 -0
  114. package/lib/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/contants.js +4 -0
  115. package/lib/components/Stepper/components/Step/components/StepIcon/constants.d.ts +1 -0
  116. package/lib/components/Stepper/components/Step/components/StepIcon/constants.js +1 -0
  117. package/lib/components/Stepper/components/Step/components/StepIcon/stepIcon.d.ts +3 -0
  118. package/lib/components/Stepper/components/Step/components/StepIcon/stepIcon.js +6 -0
  119. package/lib/components/Stepper/components/Step/components/StepIcon/stepIcon.styles.d.ts +3 -0
  120. package/lib/components/Stepper/components/Step/components/StepIcon/stepIcon.styles.js +27 -0
  121. package/lib/components/Stepper/components/Step/components/StepIcon/stories/stepIcon.stories.d.ts +9 -0
  122. package/lib/components/Stepper/components/Step/components/StepIcon/stories/stepIcon.stories.js +38 -0
  123. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/constants.d.ts +3 -0
  124. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/constants.js +11 -0
  125. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/icon.d.ts +2 -0
  126. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/icon.js +9 -0
  127. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/stories/contants.d.ts +3 -0
  128. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/stories/contants.js +3 -0
  129. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/stories/icon.stories.d.ts +6 -0
  130. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/stories/icon.stories.js +20 -0
  131. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/types.d.ts +7 -0
  132. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/types.js +1 -0
  133. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/constants.d.ts +2 -0
  134. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/constants.js +6 -0
  135. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/label.d.ts +2 -0
  136. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/label.js +6 -0
  137. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/label.styles.d.ts +5 -0
  138. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/label.styles.js +7 -0
  139. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/stories/label.stories.d.ts +7 -0
  140. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/stories/label.stories.js +21 -0
  141. package/lib/components/Stepper/components/Step/components/StepLabel/components/Optional/constants.d.ts +2 -0
  142. package/lib/components/Stepper/components/Step/components/StepLabel/components/Optional/constants.js +5 -0
  143. package/lib/components/Stepper/components/Step/components/StepLabel/components/Optional/optional.d.ts +2 -0
  144. package/lib/components/Stepper/components/Step/components/StepLabel/components/Optional/optional.js +6 -0
  145. package/lib/components/Stepper/components/Step/components/StepLabel/constants.d.ts +2 -0
  146. package/lib/components/Stepper/components/Step/components/StepLabel/constants.js +8 -0
  147. package/lib/components/Stepper/components/Step/components/StepLabel/stepLabel.d.ts +2 -0
  148. package/lib/components/Stepper/components/Step/components/StepLabel/stepLabel.js +6 -0
  149. package/lib/components/Stepper/components/Step/components/StepLabel/stepLabel.styles.d.ts +3 -0
  150. package/lib/components/Stepper/components/Step/components/StepLabel/stepLabel.styles.js +12 -0
  151. package/lib/components/Stepper/components/Step/components/StepLabel/stories/contants.d.ts +4 -0
  152. package/lib/components/Stepper/components/Step/components/StepLabel/stories/contants.js +15 -0
  153. package/lib/components/Stepper/components/Step/components/StepLabel/stories/stepLabel.stories.d.ts +8 -0
  154. package/lib/components/Stepper/components/Step/components/StepLabel/stories/stepLabel.stories.js +37 -0
  155. package/lib/components/Stepper/components/Step/constants.d.ts +2 -0
  156. package/lib/components/Stepper/components/Step/constants.js +4 -0
  157. package/lib/components/Stepper/components/Step/step.d.ts +3 -0
  158. package/lib/components/Stepper/components/Step/step.js +6 -0
  159. package/lib/components/Stepper/components/Step/step.styles.d.ts +5 -0
  160. package/lib/components/Stepper/components/Step/step.styles.js +31 -0
  161. package/lib/components/Stepper/components/Step/stories/contants.d.ts +4 -0
  162. package/lib/components/Stepper/components/Step/stories/contants.js +14 -0
  163. package/lib/components/Stepper/components/Step/stories/step.stories.d.ts +8 -0
  164. package/lib/components/Stepper/components/Step/stories/step.stories.js +62 -0
  165. package/lib/components/Table/components/TableCell/components/RowPositionCell/constants.js +2 -2
  166. package/lib/components/common/AnchorLink/anchorLink.d.ts +6 -0
  167. package/lib/components/common/Form/components/Input/input.styles.d.ts +1 -1
  168. package/lib/components/common/Form/components/Select/select.js +2 -1
  169. package/lib/components/common/Form/components/Select/select.styles.d.ts +1 -1
  170. package/lib/components/common/Input/input.styles.d.ts +1 -1
  171. package/lib/components/common/KeyValuePairs/components/KeyElType/keyElType.d.ts +2 -5
  172. package/lib/components/common/KeyValuePairs/components/KeyElType/keyElType.js +6 -2
  173. package/lib/components/common/KeyValuePairs/components/ValueElType/valueElType.d.ts +2 -5
  174. package/lib/components/common/KeyValuePairs/components/ValueElType/valueElType.js +6 -2
  175. package/lib/components/common/LoginDialog/constants.js +4 -4
  176. package/lib/providers/layoutDimensions/constants.d.ts +2 -0
  177. package/lib/providers/layoutDimensions/constants.js +4 -0
  178. package/lib/providers/layoutDimensions/context.d.ts +2 -0
  179. package/lib/providers/layoutDimensions/context.js +7 -0
  180. package/lib/providers/layoutDimensions/hook.d.ts +2 -0
  181. package/lib/providers/layoutDimensions/hook.js +5 -0
  182. package/lib/providers/layoutDimensions/provider.d.ts +2 -0
  183. package/lib/providers/layoutDimensions/provider.js +14 -0
  184. package/lib/providers/layoutDimensions/types.d.ts +14 -0
  185. package/lib/providers/layoutDimensions/types.js +1 -0
  186. package/lib/storybook/controls/constants.d.ts +4 -0
  187. package/lib/storybook/controls/constants.js +6 -0
  188. package/lib/storybook/controls/types.d.ts +4 -0
  189. package/lib/storybook/controls/types.js +5 -0
  190. package/lib/storybook/controls/utils.d.ts +9 -0
  191. package/lib/storybook/controls/utils.js +10 -0
  192. package/lib/storybook/decorators.d.ts +2 -0
  193. package/lib/storybook/decorators.js +11 -0
  194. package/lib/storybook/loremIpsum.d.ts +4 -0
  195. package/lib/storybook/loremIpsum.js +4 -0
  196. package/lib/storybook/parameters.d.ts +2 -0
  197. package/lib/storybook/parameters.js +12 -0
  198. package/lib/styles/common/mui/stepper.d.ts +7 -0
  199. package/lib/styles/common/mui/stepper.js +7 -0
  200. package/lib/styles/common/mui/svgIcon.d.ts +9 -0
  201. package/lib/styles/common/mui/svgIcon.js +26 -0
  202. package/lib/styles/common/mui/tab.d.ts +7 -0
  203. package/lib/styles/common/mui/tab.js +9 -0
  204. package/lib/styles/common/mui/tabs.d.ts +9 -0
  205. package/lib/styles/common/mui/tabs.js +11 -0
  206. package/lib/styles/common/mui/typography.d.ts +8 -2
  207. package/lib/styles/common/mui/typography.js +9 -2
  208. package/lib/tests/mui/constants.d.ts +4 -0
  209. package/lib/tests/mui/constants.js +4 -0
  210. package/lib/theme/common/components.js +0 -4
  211. package/lib/theme/common/typography.d.ts +5 -1
  212. package/lib/theme/common/typography.js +10 -1
  213. package/lib/theme/theme.js +1 -0
  214. package/lib/utils/tests.d.ts +12 -0
  215. package/lib/utils/tests.js +20 -0
  216. package/package.json +1 -1
  217. package/src/common/selectors.ts +6 -3
  218. package/src/components/DataDictionary/components/Entities/constants.ts +3 -1
  219. package/src/components/DataDictionary/components/Entities/entities.tsx +2 -2
  220. package/src/components/DataDictionary/components/Entities/types.ts +2 -0
  221. package/src/components/DataDictionary/components/Entity/entity.styles.ts +12 -0
  222. package/src/components/DataDictionary/components/Entity/entity.tsx +17 -7
  223. package/src/components/DataDictionary/components/Entity/types.ts +2 -0
  224. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.ts +22 -0
  225. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.tsx +10 -0
  226. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/types.ts +6 -0
  227. package/src/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.ts +31 -0
  228. package/src/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.tsx +14 -0
  229. package/src/components/DataDictionary/components/Layout/components/OutlineLayout/types.ts +6 -0
  230. package/src/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.ts +18 -0
  231. package/src/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.tsx +10 -0
  232. package/src/components/DataDictionary/components/Layout/components/TitleLayout/types.ts +6 -0
  233. package/src/components/DataDictionary/components/Layout/constants.ts +5 -0
  234. package/src/components/DataDictionary/components/Outline/components/ContentsTab/constants.ts +7 -0
  235. package/src/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.ts +8 -0
  236. package/src/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.tsx +7 -0
  237. package/src/components/DataDictionary/components/Outline/outline.styles.ts +24 -0
  238. package/src/components/DataDictionary/components/Outline/outline.tsx +11 -0
  239. package/src/components/DataDictionary/components/Outline/types.ts +6 -0
  240. package/src/components/DataDictionary/components/Outline/utils.ts +18 -0
  241. package/src/components/DataDictionary/components/Table/components/BasicCell/basicCell.tsx +6 -2
  242. package/src/components/DataDictionary/components/Title/title.styles.ts +18 -0
  243. package/src/components/DataDictionary/components/Title/title.tsx +8 -0
  244. package/src/components/DataDictionary/dataDictionary.styles.ts +17 -3
  245. package/src/components/DataDictionary/dataDictionary.tsx +26 -4
  246. package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +2 -1
  247. package/src/components/DataDictionary/hooks/UseLayoutSpacing/hook.ts +12 -0
  248. package/src/components/DataDictionary/hooks/UseLayoutSpacing/types.ts +8 -0
  249. package/src/components/DataDictionary/types.ts +10 -0
  250. package/src/components/Error/error.tsx +3 -5
  251. package/src/components/Filter/components/SearchAllFilters/searchAllFilters.tsx +3 -3
  252. package/src/components/Index/index.tsx +3 -4
  253. package/src/components/Layout/components/ContentLayout/contentLayout.tsx +7 -9
  254. package/src/components/Layout/components/Footer/footer.styles.ts +1 -0
  255. package/src/components/Layout/components/Footer/footer.tsx +5 -0
  256. package/src/components/Layout/components/Header/header.tsx +9 -3
  257. package/src/components/Layout/components/Main/main.tsx +3 -4
  258. package/src/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.ts +2 -2
  259. package/src/components/Layout/components/Outline/components/ContentsTab/contentsTab.tsx +8 -11
  260. package/src/components/Layout/components/Outline/components/ContentsTab/types.ts +8 -0
  261. package/src/components/Layout/components/Outline/hooks/UseHash/hook.ts +17 -0
  262. package/src/components/Layout/components/Outline/hooks/UseHash/types.ts +3 -0
  263. package/src/components/Layout/components/Outline/hooks/UseTabs/constants.ts +3 -0
  264. package/src/components/Layout/components/Outline/hooks/UseTabs/hook.ts +32 -0
  265. package/src/components/Layout/components/Outline/hooks/UseTabs/utils.ts +18 -0
  266. package/src/components/Layout/components/Outline/outline.styles.ts +2 -2
  267. package/src/components/Layout/components/Outline/outline.tsx +22 -59
  268. package/src/components/Layout/components/Outline/types.ts +16 -0
  269. package/src/components/Layout/components/Sidebar/components/SidebarPositioner/sidebarPositioner.tsx +7 -6
  270. package/src/components/Loading/loading.stories.tsx +2 -2
  271. package/src/components/Login/components/Section/components/Warning/warning.tsx +3 -4
  272. package/src/components/Stepper/components/Step/components/StepContent/stepContent.styles.ts +18 -0
  273. package/src/components/Stepper/components/Step/components/StepContent/stepContent.tsx +16 -0
  274. package/src/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/completedIcon.styles.ts +19 -0
  275. package/src/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/completedIcon.tsx +20 -0
  276. package/src/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/contants.ts +6 -0
  277. package/src/components/Stepper/components/Step/components/StepIcon/constants.ts +1 -0
  278. package/src/components/Stepper/components/Step/components/StepIcon/stepIcon.styles.ts +32 -0
  279. package/src/components/Stepper/components/Step/components/StepIcon/stepIcon.tsx +21 -0
  280. package/src/components/Stepper/components/Step/components/StepIcon/stories/stepIcon.stories.tsx +52 -0
  281. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/constants.ts +14 -0
  282. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/icon.tsx +13 -0
  283. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/stories/contants.ts +6 -0
  284. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/stories/icon.stories.tsx +30 -0
  285. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/components/Icon/types.ts +8 -0
  286. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/constants.ts +8 -0
  287. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/label.styles.ts +8 -0
  288. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/label.tsx +10 -0
  289. package/src/components/Stepper/components/Step/components/StepLabel/components/Label/stories/label.stories.tsx +31 -0
  290. package/src/components/Stepper/components/Step/components/StepLabel/components/Optional/constants.ts +7 -0
  291. package/src/components/Stepper/components/Step/components/StepLabel/components/Optional/optional.tsx +9 -0
  292. package/src/components/Stepper/components/Step/components/StepLabel/constants.ts +10 -0
  293. package/src/components/Stepper/components/Step/components/StepLabel/stepLabel.styles.ts +13 -0
  294. package/src/components/Stepper/components/Step/components/StepLabel/stepLabel.tsx +10 -0
  295. package/src/components/Stepper/components/Step/components/StepLabel/stories/contants.ts +19 -0
  296. package/src/components/Stepper/components/Step/components/StepLabel/stories/stepLabel.stories.tsx +48 -0
  297. package/src/components/Stepper/components/Step/constants.ts +6 -0
  298. package/src/components/Stepper/components/Step/step.styles.ts +33 -0
  299. package/src/components/Stepper/components/Step/step.tsx +12 -0
  300. package/src/components/Stepper/components/Step/stories/contants.ts +18 -0
  301. package/src/components/Stepper/components/Step/stories/step.stories.tsx +87 -0
  302. package/src/components/Table/components/TableCell/components/RowPositionCell/constants.ts +2 -2
  303. package/src/components/common/AnchorLink/anchorLink.tsx +7 -0
  304. package/src/components/common/Form/components/Select/select.tsx +8 -1
  305. package/src/components/common/KeyValuePairs/components/KeyElType/keyElType.tsx +14 -9
  306. package/src/components/common/KeyValuePairs/components/ValueElType/valueElType.tsx +8 -9
  307. package/src/components/common/LoginDialog/constants.ts +4 -4
  308. package/src/providers/layoutDimensions/constants.ts +6 -0
  309. package/src/providers/layoutDimensions/context.tsx +10 -0
  310. package/src/providers/layoutDimensions/hook.ts +7 -0
  311. package/src/providers/layoutDimensions/provider.tsx +29 -0
  312. package/src/providers/layoutDimensions/types.ts +17 -0
  313. package/src/storybook/controls/constants.ts +12 -0
  314. package/src/storybook/controls/types.ts +4 -0
  315. package/src/storybook/controls/utils.ts +18 -0
  316. package/src/storybook/decorators.tsx +17 -0
  317. package/src/storybook/loremIpsum.ts +5 -0
  318. package/src/storybook/parameters.ts +14 -0
  319. package/src/styles/common/mui/stepper.ts +14 -0
  320. package/src/styles/common/mui/svgIcon.ts +35 -0
  321. package/src/styles/common/mui/tab.ts +16 -0
  322. package/src/styles/common/mui/tabs.ts +20 -0
  323. package/src/styles/common/mui/typography.ts +15 -2
  324. package/src/tests/mui/constants.ts +4 -0
  325. package/src/theme/common/components.ts +0 -4
  326. package/src/theme/common/typography.ts +11 -0
  327. package/src/theme/theme.ts +1 -0
  328. package/src/utils/tests.ts +20 -0
  329. package/tests/setup.ts +6 -0
  330. package/tests/stepIcon.test.tsx +42 -0
  331. package/types/data-explorer-ui.d.ts +3 -0
  332. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.d.ts +0 -5
  333. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.js +0 -19
  334. package/lib/components/Layout/components/Outline/common/constants.d.ts +0 -2
  335. package/lib/hooks/useLayoutState.d.ts +0 -6
  336. package/lib/hooks/useLayoutState.js +0 -9
  337. package/lib/providers/layoutState.d.ts +0 -40
  338. package/lib/providers/layoutState.js +0 -47
  339. package/src/components/Layout/components/Header/hooks/useMeasureHeader.ts +0 -28
  340. package/src/components/Layout/components/Outline/common/constants.ts +0 -3
  341. package/src/hooks/useLayoutState.ts +0 -13
  342. package/src/providers/layoutState.tsx +0 -94
  343. /package/lib/components/Layout/components/Outline/{common → hooks/UseTabs}/constants.js +0 -0
@@ -1,6 +1,6 @@
1
1
  import { useRouter } from "next/router";
2
2
  import React, { ReactNode } from "react";
3
- import { useLayoutState } from "../../../../hooks/useLayoutState";
3
+ import { useLayoutDimensions } from "../../../../providers/layoutDimensions/hook";
4
4
  import { BaseComponentProps } from "../../../types";
5
5
  import { LayoutStyle } from "./common/entities";
6
6
  import {
@@ -29,9 +29,7 @@ export const ContentLayout = ({
29
29
  outline,
30
30
  }: BaseComponentProps & ContentLayoutProps): JSX.Element => {
31
31
  const { asPath } = useRouter();
32
- const {
33
- layoutState: { headerHeight },
34
- } = useLayoutState();
32
+ const { dimensions } = useLayoutDimensions();
35
33
  return (
36
34
  <Layout
37
35
  className={className}
@@ -40,16 +38,16 @@ export const ContentLayout = ({
40
38
  >
41
39
  {navigation && (
42
40
  <NavigationGrid
43
- headerHeight={headerHeight}
41
+ headerHeight={dimensions.header.height}
44
42
  panelColor={layoutStyle?.navigation}
45
43
  >
46
- <Positioner headerHeight={headerHeight}>
44
+ <Positioner headerHeight={dimensions.header.height}>
47
45
  <Navigation>{navigation}</Navigation>
48
46
  </Positioner>
49
47
  </NavigationGrid>
50
48
  )}
51
49
  <ContentGrid
52
- headerHeight={headerHeight}
50
+ headerHeight={dimensions.header.height}
53
51
  panelColor={layoutStyle?.content}
54
52
  >
55
53
  <Content>{content}</Content>
@@ -57,10 +55,10 @@ export const ContentLayout = ({
57
55
  {outline && (
58
56
  <OutlineGrid
59
57
  key={getOutlineKey(asPath)}
60
- headerHeight={headerHeight}
58
+ headerHeight={dimensions.header.height}
61
59
  panelColor={layoutStyle?.outline}
62
60
  >
63
- <Positioner headerHeight={headerHeight}>
61
+ <Positioner headerHeight={dimensions.header.height}>
64
62
  <Outline>{outline}</Outline>
65
63
  </Positioner>
66
64
  </OutlineGrid>
@@ -8,6 +8,7 @@ import { Link as DXLink } from "../../../Links/components/Link/link";
8
8
 
9
9
  export const AppBar = styled(MAppBar)`
10
10
  padding: 16px 0;
11
+ z-index: 1; /* required for outline or navigation overflow */
11
12
 
12
13
  .MuiToolbar-root {
13
14
  align-items: flex-start;
@@ -1,5 +1,7 @@
1
1
  import { Toolbar } from "@mui/material";
2
2
  import React, { ReactNode } from "react";
3
+ import { SELECTOR } from "../../../../common/selectors";
4
+ import { useLayoutDimensions } from "../../../../providers/layoutDimensions/hook";
3
5
  import { Social } from "../../../common/Socials/socials";
4
6
  import { ANCHOR_TARGET } from "../../../Links/common/entities";
5
7
  import { isNodeBoolean } from "../../../utils";
@@ -22,11 +24,14 @@ export const Footer = ({
22
24
  socials,
23
25
  versionInfo,
24
26
  }: FooterProps): JSX.Element => {
27
+ const { footerRef } = useLayoutDimensions();
25
28
  return (
26
29
  <AppBar
27
30
  className={className}
28
31
  color="inherit"
29
32
  component="footer"
33
+ id={SELECTOR.FOOTER}
34
+ ref={footerRef}
30
35
  variant="footer"
31
36
  >
32
37
  <Toolbar variant="dense">
@@ -1,7 +1,9 @@
1
1
  import { Fade, Toolbar } from "@mui/material";
2
2
  import { usePathname } from "next/navigation";
3
3
  import React, { ReactNode } from "react";
4
+ import { SELECTOR } from "../../../../common/selectors";
4
5
  import { ComponentsConfig } from "../../../../config/entities";
6
+ import { useLayoutDimensions } from "../../../../providers/layoutDimensions/hook";
5
7
  import {
6
8
  APP_BAR_PROPS,
7
9
  FADE_TRANSITION_PROPS,
@@ -29,7 +31,6 @@ import { Socials } from "./components/Content/components/Socials/socials.styles"
29
31
  import { AppBar, Center, Left, Right } from "./header.styles";
30
32
  import { useHeaderNavigation } from "./hooks/useHeaderNavigation";
31
33
  import { useHeaderVisibility } from "./hooks/useHeaderVisibility";
32
- import { useMeasureHeader } from "./hooks/useMeasureHeader";
33
34
  import { useMenu } from "./hooks/useMenu";
34
35
 
35
36
  export interface HeaderProps {
@@ -48,7 +49,7 @@ export interface HeaderProps {
48
49
  export const Header = ({ ...headerProps }: HeaderProps): JSX.Element => {
49
50
  const { navigation } = useHeaderNavigation(headerProps);
50
51
  const { isIn } = useHeaderVisibility({ ...headerProps, navigation });
51
- const { headerRef } = useMeasureHeader();
52
+ const { headerRef } = useLayoutDimensions();
52
53
  const { onClose, onOpen, open } = useMenu();
53
54
  const pathname = usePathname() ?? "";
54
55
  const {
@@ -68,7 +69,12 @@ export const Header = ({ ...headerProps }: HeaderProps): JSX.Element => {
68
69
  pathname,
69
70
  };
70
71
  return (
71
- <AppBar {...APP_BAR_PROPS} ref={headerRef} className={className}>
72
+ <AppBar
73
+ {...APP_BAR_PROPS}
74
+ className={className}
75
+ id={SELECTOR.HEADER}
76
+ ref={headerRef}
77
+ >
72
78
  {/* Announcements */}
73
79
  <Announcements announcements={announcements} />
74
80
  {/* Toolbar */}
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from "react";
2
- import { useLayoutState } from "../../../../hooks/useLayoutState";
2
+ import { useLayoutDimensions } from "../../../../providers/layoutDimensions/hook";
3
3
  import { MainWithOffset } from "./main.styles";
4
4
 
5
5
  export interface MainProps {
@@ -8,10 +8,9 @@ export interface MainProps {
8
8
  }
9
9
 
10
10
  export const Main = ({ children, className }: MainProps): JSX.Element => {
11
- const { layoutState } = useLayoutState();
12
- const { headerHeight } = layoutState;
11
+ const { dimensions } = useLayoutDimensions();
13
12
  return (
14
- <MainWithOffset className={className} offset={headerHeight}>
13
+ <MainWithOffset className={className} offset={dimensions.header.height}>
15
14
  {children}
16
15
  </MainWithOffset>
17
16
  );
@@ -1,10 +1,10 @@
1
1
  import styled from "@emotion/styled";
2
- import { Tab as MTab } from "@mui/material";
2
+ import { Tab } from "@mui/material";
3
3
  import { inkLight } from "../../../../../../styles/common/mixins/colors";
4
4
  import { textUppercase500 } from "../../../../../../styles/common/mixins/fonts";
5
5
  import { tab } from "../../outline.styles";
6
6
 
7
- export const Tab = styled(MTab)`
7
+ export const StyledTab = styled(Tab)`
8
8
  ${tab};
9
9
 
10
10
  && {
@@ -1,24 +1,21 @@
1
- import { TabProps as MTabProps } from "@mui/material";
2
1
  import React from "react";
2
+ import { FONT_SIZE } from "../../../../../../styles/common/mui/icon";
3
+ import { TAB_PROPS } from "../../../../../../styles/common/mui/tab";
3
4
  import { Segment } from "../../../../../common/CustomIcon/components/Segment/segment";
4
- import { Tab } from "./contentsTab.styles";
5
-
6
- export interface ContentsTabProps extends Omit<MTabProps, "value"> {
7
- className?: string;
8
- value: string;
9
- }
5
+ import { StyledTab } from "./contentsTab.styles";
6
+ import { ContentsTabProps } from "./types";
10
7
 
11
8
  export const ContentsTab = ({
12
9
  className,
13
10
  value,
14
- ...props /* Spread props to allow for Mui Tab specific prop overrides. */
11
+ ...props /* MuiTabProps. */
15
12
  }: ContentsTabProps): JSX.Element => {
16
13
  return (
17
- <Tab
14
+ <StyledTab
18
15
  className={className}
19
16
  label="Contents"
20
- icon={<Segment fontSize="small" />}
21
- iconPosition="start"
17
+ icon={<Segment fontSize={FONT_SIZE.SMALL} />}
18
+ iconPosition={TAB_PROPS.ICON_POSITION.START}
22
19
  value={value}
23
20
  {...props}
24
21
  />
@@ -0,0 +1,8 @@
1
+ import { TabProps } from "@mui/material";
2
+ import { BaseComponentProps } from "../../../../../types";
3
+
4
+ export interface ContentsTabProps
5
+ extends BaseComponentProps,
6
+ Omit<TabProps, "value"> {
7
+ value: string;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { isSSR } from "../../../../../../utils/ssr";
2
+ import { UseHash } from "./types";
3
+
4
+ /**
5
+ * Hook to get the current URL hash without the leading '#' character.
6
+ *
7
+ * @description
8
+ * Extracts the hash from window.location.hash and removes the leading '#'.
9
+ * Returns empty string when running in SSR environment.
10
+ *
11
+ * @returns Object containing the hash without leading '#', or empty string if SSR.
12
+ */
13
+ export function useHash(): UseHash {
14
+ if (isSSR()) return { hash: "" };
15
+ const { hash } = window.location;
16
+ return { hash: hash.replace(/^#/, "") };
17
+ }
@@ -0,0 +1,3 @@
1
+ export interface UseHash {
2
+ hash: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ import { TabProps } from "@mui/material";
2
+
3
+ export const DEFAULT_TAB_VALUE: TabProps["value"] = "";
@@ -0,0 +1,32 @@
1
+ import { TabsProps } from "@mui/material";
2
+ import Router from "next/router";
3
+ import { SyntheticEvent, useCallback, useEffect, useState } from "react";
4
+ import { TABS_PROPS } from "../../../../../../styles/common/mui/tabs";
5
+ import { OutlineItem } from "../../types";
6
+ import { useHash } from "../UseHash/hook";
7
+ import { DEFAULT_TAB_VALUE } from "./constants";
8
+ import { getNextValue } from "./utils";
9
+
10
+ export function useTabs(
11
+ outline: OutlineItem[]
12
+ ): Pick<TabsProps, "indicatorColor" | "onChange" | "orientation" | "value"> {
13
+ const [value, setValue] = useState<TabsProps["value"]>(DEFAULT_TAB_VALUE);
14
+ const { hash } = useHash();
15
+
16
+ const onChange = useCallback((_event: SyntheticEvent, hash: string): void => {
17
+ Router.push({ hash });
18
+ }, []);
19
+
20
+ useEffect(() => {
21
+ setValue(getNextValue(hash, outline));
22
+ }, [hash, outline]);
23
+
24
+ return {
25
+ indicatorColor: value
26
+ ? TABS_PROPS.INDICATOR_COLOR.PRIMARY
27
+ : TABS_PROPS.INDICATOR_COLOR.TRANSPARENT,
28
+ onChange,
29
+ orientation: TABS_PROPS.ORIENTATION.VERTICAL,
30
+ value,
31
+ };
32
+ }
@@ -0,0 +1,18 @@
1
+ import { TabsProps } from "@mui/material";
2
+ import { OutlineItem } from "../../types";
3
+ import { DEFAULT_TAB_VALUE } from "./constants";
4
+
5
+ /**
6
+ * Returns the tab value for navigation.
7
+ * @param hash - The current hash from the URL.
8
+ * @param outlineItems - Outline items.
9
+ * @returns The item's hash if found and enabled, otherwise returns the default tab value.
10
+ */
11
+ export function getNextValue(
12
+ hash: string,
13
+ outlineItems: OutlineItem[]
14
+ ): TabsProps["value"] {
15
+ const item = outlineItems.find((item) => item.hash === hash);
16
+ if (!item || item.disabled) return DEFAULT_TAB_VALUE;
17
+ return item.hash;
18
+ }
@@ -24,7 +24,7 @@ export const tab = css`
24
24
  }
25
25
  `;
26
26
 
27
- export const Tabs = styled(MTabs)`
27
+ export const StyledTabs = styled(MTabs)`
28
28
  align-self: flex-start;
29
29
  box-shadow: inset 1px 0 ${smokeMain};
30
30
  margin: 0;
@@ -46,7 +46,7 @@ export const Tabs = styled(MTabs)`
46
46
  }
47
47
  `;
48
48
 
49
- export const Tab = styled(MTab, {
49
+ export const StyledTab = styled(MTab, {
50
50
  shouldForwardProp: (prop) => prop !== "depth",
51
51
  })<Props>`
52
52
  ${tab};
@@ -1,72 +1,35 @@
1
- import { useRouter } from "next/router";
2
- import React, { ElementType, SyntheticEvent, useEffect, useState } from "react";
3
- import { DEFAULT_TAB_VALUE } from "./common/constants";
4
- import { ContentsTabProps } from "./components/ContentsTab/contentsTab";
5
- import { Tab, Tabs } from "./outline.styles";
6
-
7
- export interface OutlineItem {
8
- depth: number;
9
- hash: string;
10
- value: string;
11
- }
12
-
13
- export interface OutlineProps {
14
- className?: string;
15
- Contents: ElementType<ContentsTabProps>;
16
- outline: OutlineItem[];
17
- }
1
+ import React from "react";
2
+ import { DEFAULT_TAB_VALUE } from "./hooks/UseTabs/constants";
3
+ import { useTabs } from "./hooks/UseTabs/hook";
4
+ import { StyledTab, StyledTabs } from "./outline.styles";
5
+ import { OutlineProps } from "./types";
18
6
 
19
7
  export const Outline = ({
20
8
  className,
21
9
  Contents,
22
10
  outline,
23
- ...props /* Spread props to allow for Mui Tabs specific prop overrides. */
24
- }: OutlineProps): JSX.Element => {
25
- const { asPath, push } = useRouter();
26
- const [activeTab, setActiveTab] = useState<string>("");
27
-
28
- // Callback fired when selected tab value changes.
29
- const handleChange = (
30
- _event: SyntheticEvent<Element, Event>,
31
- tabValue: string
32
- ): void => {
33
- push(`#${tabValue}`);
34
- };
35
-
36
- // Update active tab when path changes.
37
- useEffect(() => {
38
- setActiveTab(getActiveTab(outline, asPath));
39
- }, [asPath, outline]);
40
-
11
+ ...props /* MuiTabsProps */
12
+ }: OutlineProps): JSX.Element | null => {
13
+ const { indicatorColor, onChange, orientation, value } = useTabs(outline);
41
14
  return (
42
- <Tabs
15
+ <StyledTabs
43
16
  className={className}
44
- indicatorColor={activeTab ? "primary" : "transparent"}
45
- onChange={handleChange}
46
- orientation="vertical"
47
- value={activeTab}
17
+ indicatorColor={indicatorColor}
18
+ onChange={onChange}
19
+ orientation={orientation}
20
+ value={value}
48
21
  {...props}
49
22
  >
50
23
  <Contents value={DEFAULT_TAB_VALUE} />
51
- {outline.map(({ depth, hash, value }) => (
52
- <Tab key={hash} depth={depth} label={value} value={hash} />
24
+ {outline.map(({ depth, disabled, hash, value }) => (
25
+ <StyledTab
26
+ depth={depth}
27
+ disabled={disabled}
28
+ key={hash}
29
+ label={value}
30
+ value={hash}
31
+ />
53
32
  ))}
54
- </Tabs>
33
+ </StyledTabs>
55
34
  );
56
35
  };
57
-
58
- /**
59
- * Initializes active tab.
60
- * @param outline - Outline items.
61
- * @param asPath - Current path.
62
- * @returns active tab.
63
- */
64
- function getActiveTab(outline: OutlineItem[], asPath: string): string {
65
- if (asPath.includes("#")) {
66
- const hashLink = asPath.split("#")[1];
67
- if (outline.some(({ hash }) => hash === hashLink)) {
68
- return hashLink;
69
- }
70
- }
71
- return DEFAULT_TAB_VALUE;
72
- }
@@ -0,0 +1,16 @@
1
+ import { TabsProps } from "@mui/material";
2
+ import { ElementType } from "react";
3
+ import { BaseComponentProps } from "../../../types";
4
+ import { ContentsTabProps } from "./components/ContentsTab/types";
5
+
6
+ export interface OutlineItem {
7
+ depth: number;
8
+ disabled?: boolean;
9
+ hash: string;
10
+ value: string;
11
+ }
12
+
13
+ export interface OutlineProps extends BaseComponentProps, TabsProps {
14
+ Contents: ElementType<ContentsTabProps>;
15
+ outline: OutlineItem[];
16
+ }
@@ -1,6 +1,6 @@
1
1
  import React, { ReactNode } from "react";
2
- import { SIDEBAR_POSITIONER } from "../../../../../../common/selectors";
3
- import { useLayoutState } from "../../../../../../hooks/useLayoutState";
2
+ import { SELECTOR } from "../../../../../../common/selectors";
3
+ import { useLayoutDimensions } from "../../../../../../providers/layoutDimensions/hook";
4
4
  import { SidebarPositioner as Positioner } from "./sidebarPositioner.styles";
5
5
 
6
6
  export interface SidebarPositionerProps {
@@ -10,11 +10,12 @@ export interface SidebarPositionerProps {
10
10
  export const SidebarPositioner = ({
11
11
  children,
12
12
  }: SidebarPositionerProps): JSX.Element => {
13
- const {
14
- layoutState: { headerHeight },
15
- } = useLayoutState();
13
+ const { dimensions } = useLayoutDimensions();
16
14
  return (
17
- <Positioner headerHeight={headerHeight} id={SIDEBAR_POSITIONER}>
15
+ <Positioner
16
+ headerHeight={dimensions.header.height}
17
+ id={SELECTOR.SIDEBAR_POSITIONER}
18
+ >
18
19
  {children}
19
20
  </Positioner>
20
21
  );
@@ -3,7 +3,7 @@ import React from "react";
3
3
  import { PAPER_PANEL_STYLE } from "../common/Paper/paper";
4
4
  import { Loading } from "./loading";
5
5
 
6
- const meta = {
6
+ const meta: Meta<typeof Loading> = {
7
7
  argTypes: {
8
8
  appear: { control: "boolean" },
9
9
  iconSize: { control: "select", options: ["small", "medium", "large"] },
@@ -30,7 +30,7 @@ const meta = {
30
30
  ),
31
31
  ],
32
32
  title: "Components/Communication/Loading",
33
- } satisfies Meta<typeof Loading>;
33
+ };
34
34
 
35
35
  export default meta;
36
36
 
@@ -1,7 +1,6 @@
1
1
  import { Typography, TypographyProps } from "@mui/material";
2
2
  import React from "react";
3
- import { COLOR } from "../../../../../../styles/common/mui/typography";
4
- import { TEXT_BODY_SMALL_400 } from "../../../../../../theme/common/typography";
3
+ import { TYPOGRAPHY_PROPS } from "../../../../../../styles/common/mui/typography";
5
4
  import { BaseComponentProps } from "../../../../../types";
6
5
 
7
6
  export const Warning = ({
@@ -13,9 +12,9 @@ export const Warning = ({
13
12
  return (
14
13
  <Typography
15
14
  className={className}
16
- color={COLOR.INK_LIGHT}
15
+ color={TYPOGRAPHY_PROPS.COLOR.INK_LIGHT}
17
16
  mt={6}
18
- variant={TEXT_BODY_SMALL_400}
17
+ variant={TYPOGRAPHY_PROPS.VARIANT.TEXT_BODY_SMALL_400}
19
18
  {...props}
20
19
  >
21
20
  {children}
@@ -0,0 +1,18 @@
1
+ import styled from "@emotion/styled";
2
+ import { StepContent } from "@mui/material";
3
+ import { smokeMain } from "../../../../../../styles/common/mixins/colors";
4
+ import { sectionPadding } from "../../../../../common/Section/section.styles";
5
+
6
+ export const StyledStepContent = styled(StepContent)`
7
+ &.MuiStepContent-root {
8
+ .MuiCollapse-wrapperInner.MuiCollapse-vertical {
9
+ > .MuiGrid2-root {
10
+ ${sectionPadding};
11
+ border-top: 1px solid ${smokeMain};
12
+ display: grid;
13
+ gap: 24px;
14
+ justify-items: flex-start;
15
+ }
16
+ }
17
+ }
18
+ `;
@@ -0,0 +1,16 @@
1
+ import { Grid2, StepContentProps } from "@mui/material";
2
+ import React from "react";
3
+ import { BaseComponentProps } from "../../../../../types";
4
+ import { StyledStepContent } from "./stepContent.styles";
5
+
6
+ export const StepContent = ({
7
+ children,
8
+ className,
9
+ ...props /* MuiStepContentProps */
10
+ }: BaseComponentProps & StepContentProps): JSX.Element => {
11
+ return (
12
+ <StyledStepContent className={className} {...props}>
13
+ <Grid2>{children}</Grid2>
14
+ </StyledStepContent>
15
+ );
16
+ };
@@ -0,0 +1,19 @@
1
+ import styled from "@emotion/styled";
2
+ import { SvgIcon } from "@mui/material";
3
+ import {
4
+ inkLight,
5
+ smokeDark,
6
+ } from "../../../../../../../../styles/common/mixins/colors";
7
+
8
+ export const StyledSvgIcon = styled(SvgIcon)`
9
+ &.MuiSvgIcon-root {
10
+ border-radius: 50%;
11
+ box-sizing: content-box;
12
+ padding: 4px;
13
+
14
+ &.Mui-completed {
15
+ border: 2px solid ${smokeDark};
16
+ color: ${inkLight};
17
+ }
18
+ }
19
+ `;
@@ -0,0 +1,20 @@
1
+ import { stepIconClasses } from "@mui/material";
2
+ import React from "react";
3
+ import { TestIdProps } from "../../../../../../../types";
4
+ import { StyledSvgIcon } from "./completedIcon.styles";
5
+ import { SVG_ICON_PROPS } from "./contants";
6
+
7
+ export const CompletedIcon = ({ testId }: TestIdProps): JSX.Element => {
8
+ return (
9
+ <StyledSvgIcon
10
+ {...SVG_ICON_PROPS}
11
+ className={stepIconClasses.completed}
12
+ data-testid={testId}
13
+ >
14
+ <path
15
+ d="M7.18129 13.1814C7.08109 13.1814 6.98419 13.1625 6.89059 13.1247C6.79699 13.0875 6.7064 13.0251 6.61879 12.9375L3.44989 9.7686C3.2999 9.61857 3.22819 9.42813 3.23479 9.1971C3.24079 8.96551 3.3188 8.77471 3.46879 8.6247C3.61879 8.47471 3.80629 8.3997 4.03129 8.3997C4.25629 8.3997 4.4438 8.47471 4.59379 8.6247L7.21909 11.25L13.4255 5.0436C13.5755 4.89361 13.7597 4.8186 13.9781 4.8186C14.1971 4.8186 14.3816 4.89361 14.5316 5.0436C14.6816 5.19361 14.7566 5.37811 14.7566 5.5971C14.7566 5.81551 14.6816 5.99971 14.5316 6.1497L7.74379 12.9375C7.65619 13.0251 7.56559 13.0875 7.47199 13.1247C7.37839 13.1625 7.2815 13.1814 7.18129 13.1814Z"
16
+ fill="currentColor"
17
+ />
18
+ </StyledSvgIcon>
19
+ );
20
+ };
@@ -0,0 +1,6 @@
1
+ import { SvgIconProps } from "@mui/material";
2
+
3
+ export const SVG_ICON_PROPS: SvgIconProps = {
4
+ fontSize: "small",
5
+ viewBox: "0 0 18 18",
6
+ };
@@ -0,0 +1 @@
1
+ export const STEP_ICON_TEST_ID = "step-icon";
@@ -0,0 +1,32 @@
1
+ import styled from "@emotion/styled";
2
+ import { StepIcon } from "@mui/material";
3
+ import {
4
+ inkLight,
5
+ primaryMain,
6
+ smokeDark,
7
+ } from "../../../../../../styles/common/mixins/colors";
8
+
9
+ export const StyledStepIcon = styled(StepIcon)`
10
+ &.MuiSvgIcon-root {
11
+ border: 2px solid ${smokeDark};
12
+ border-radius: 50%;
13
+ color: transparent;
14
+ height: 32px;
15
+ width: 32px;
16
+
17
+ .MuiStepIcon-text {
18
+ fill: ${inkLight};
19
+ font-size: 13px;
20
+ font-weight: 600;
21
+ line-height: 24px;
22
+ }
23
+
24
+ &.Mui-active {
25
+ border-color: ${primaryMain};
26
+
27
+ .MuiStepIcon-text {
28
+ fill: ${primaryMain};
29
+ }
30
+ }
31
+ }
32
+ `;
@@ -0,0 +1,21 @@
1
+ import { StepIconProps } from "@mui/material";
2
+ import React from "react";
3
+ import { TestIdProps } from "../../../../../types";
4
+ import { CompletedIcon } from "./components/CompletedIcon/completedIcon";
5
+ import { StyledStepIcon } from "./stepIcon.styles";
6
+
7
+ export const StepIcon = ({
8
+ completed,
9
+ icon,
10
+ testId,
11
+ ...props
12
+ }: StepIconProps & TestIdProps): JSX.Element => {
13
+ return (
14
+ <StyledStepIcon
15
+ completed={completed}
16
+ data-testid={testId}
17
+ icon={completed ? <CompletedIcon testId={testId} /> : icon}
18
+ {...props}
19
+ />
20
+ );
21
+ };