@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,3 +1,3 @@
1
1
  {
2
- ".": "22.0.0"
2
+ ".": "24.0.0"
3
3
  }
@@ -1,39 +1,6 @@
1
- import { CssBaseline } from "@mui/material";
2
- import { ThemeProvider } from "@mui/material/styles";
3
- import { ThemeProvider as Emotion10ThemeProvider } from "emotion-theming";
4
- import { RouterContext } from "next/dist/shared/lib/router-context.shared-runtime";
5
- import { useConfig } from "../src/hooks/useConfig";
6
1
  import "../src/index";
7
- import { createAppTheme } from "../src/theme/theme";
2
+ import { decorators as projectDecorators } from "../src/storybook/decorators";
3
+ import { parameters as projectParameters } from "../src/storybook/parameters";
8
4
 
9
- export const parameters = {
10
- actions: { argTypesRegex: "^on[A-Z].*" },
11
- controls: {
12
- exclude: ["className", "ref", "sx"],
13
- matchers: {
14
- color: /(background|color)$/i,
15
- date: /Date$/,
16
- },
17
- },
18
- nextRouter: {
19
- Provider: RouterContext.Provider,
20
- basePath: "",
21
- },
22
- layout: "centered",
23
- };
24
-
25
- const withThemeProvider = (Story, context) => {
26
- // TODO current config is not returned, and extended theme interfaces are not recognised.
27
- const { config } = useConfig();
28
- const theme = createAppTheme(config.themeOptions);
29
- return (
30
- <Emotion10ThemeProvider theme={theme}>
31
- <ThemeProvider theme={theme}>
32
- <CssBaseline />
33
- <Story {...context} />
34
- </ThemeProvider>
35
- </Emotion10ThemeProvider>
36
- );
37
- };
38
-
39
- export const decorators = [withThemeProvider];
5
+ export const decorators = projectDecorators;
6
+ export const parameters = projectParameters;
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # Changelog
2
2
 
3
+ ## [24.0.0](https://github.com/DataBiosphere/findable-ui/compare/v23.0.0...v24.0.0) (2025-03-28)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * fix keyvaluepairs component typography props ([#367](https://github.com/DataBiosphere/findable-ui/issues/367)) (#368)
9
+
10
+ ### Features
11
+
12
+ * add 'text-heading-xsmall' to typography variants ([#361](https://github.com/DataBiosphere/findable-ui/issues/361)) ([#362](https://github.com/DataBiosphere/findable-ui/issues/362)) ([5ec4c9d](https://github.com/DataBiosphere/findable-ui/commit/5ec4c9dc42d043f8fb5f8dd13f391ac9478edac0))
13
+ * create step component ([#364](https://github.com/DataBiosphere/findable-ui/issues/364)) ([#365](https://github.com/DataBiosphere/findable-ui/issues/365)) ([ca9fdfd](https://github.com/DataBiosphere/findable-ui/commit/ca9fdfd4dd8cb54f49e53afe75358ae3b53d6243))
14
+ * create step indicator component ([#350](https://github.com/DataBiosphere/findable-ui/issues/350)) ([#351](https://github.com/DataBiosphere/findable-ui/issues/351)) ([dd40168](https://github.com/DataBiosphere/findable-ui/commit/dd401684a8ceaeca68961088ddb1924b3a5a6a4a))
15
+ * create step label component ([#360](https://github.com/DataBiosphere/findable-ui/issues/360)) ([#363](https://github.com/DataBiosphere/findable-ui/issues/363)) ([cba945c](https://github.com/DataBiosphere/findable-ui/commit/cba945ccee05e040709870287cba0d34b25e981a))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * fix keyvaluepairs component typography props ([#367](https://github.com/DataBiosphere/findable-ui/issues/367)) ([#368](https://github.com/DataBiosphere/findable-ui/issues/368)) ([7777828](https://github.com/DataBiosphere/findable-ui/commit/7777828988d4bda2f0d5932c0f2cac931df15240))
21
+ * jest tests missing storybook annotations ([#354](https://github.com/DataBiosphere/findable-ui/issues/354)) ([#355](https://github.com/DataBiosphere/findable-ui/issues/355)) ([1ec7a72](https://github.com/DataBiosphere/findable-ui/commit/1ec7a72da225560ebbacf279a1009703d25f9e6e))
22
+
23
+
24
+ ### Code Refactoring
25
+
26
+ * storybook parameters nextjs router config ([#357](https://github.com/DataBiosphere/findable-ui/issues/357)) ([#359](https://github.com/DataBiosphere/findable-ui/issues/359)) ([fc20e88](https://github.com/DataBiosphere/findable-ui/commit/fc20e886f3a14c6ed22f8f2f55b1067bfa5165f3))
27
+
28
+ ## [23.0.0](https://github.com/DataBiosphere/findable-ui/compare/v22.0.0...v23.0.0) (2025-03-21)
29
+
30
+
31
+ ### ⚠ BREAKING CHANGES
32
+
33
+ * create data dictionary left-hand navigation component and add dictionary layout ([#337](https://github.com/DataBiosphere/findable-ui/issues/337)) (#338)
34
+ * layoutdimensions provider and remove layout state provider ([#348](https://github.com/DataBiosphere/findable-ui/issues/348)) (#349)
35
+ * refactor outline component with new hook handling state and disabled outline item ([#346](https://github.com/DataBiosphere/findable-ui/issues/346)) (#347)
36
+ * refactor selectors into an enum and add ids to header and footer ([#341](https://github.com/DataBiosphere/findable-ui/issues/341)) (#343)
37
+ * refactor typography constants ([#339](https://github.com/DataBiosphere/findable-ui/issues/339)) (#340)
38
+
39
+ ### Features
40
+
41
+ * create a new provider that returns header and footer dimensions ([#344](https://github.com/DataBiosphere/findable-ui/issues/344)) ([#345](https://github.com/DataBiosphere/findable-ui/issues/345)) ([7800842](https://github.com/DataBiosphere/findable-ui/commit/7800842b43b6e2edae926dcc26c842ccb592c407))
42
+ * create data dictionary left-hand navigation component and add dictionary layout ([#337](https://github.com/DataBiosphere/findable-ui/issues/337)) ([#338](https://github.com/DataBiosphere/findable-ui/issues/338)) ([94115b3](https://github.com/DataBiosphere/findable-ui/commit/94115b3a308f150bdeba9a9e374a9dcc510f3405))
43
+
44
+
45
+ ### Bug Fixes
46
+
47
+ * layoutdimensions provider and remove layout state provider ([#348](https://github.com/DataBiosphere/findable-ui/issues/348)) ([#349](https://github.com/DataBiosphere/findable-ui/issues/349)) ([77deafe](https://github.com/DataBiosphere/findable-ui/commit/77deafe915d5a6fe42667a404d2b1f062f67cabb))
48
+
49
+
50
+ ### Code Refactoring
51
+
52
+ * refactor outline component with new hook handling state and disabled outline item ([#346](https://github.com/DataBiosphere/findable-ui/issues/346)) ([#347](https://github.com/DataBiosphere/findable-ui/issues/347)) ([0d8fdba](https://github.com/DataBiosphere/findable-ui/commit/0d8fdba669c47e61d5e524274b237eed55998fd6))
53
+ * refactor selectors into an enum and add ids to header and footer ([#341](https://github.com/DataBiosphere/findable-ui/issues/341)) ([#343](https://github.com/DataBiosphere/findable-ui/issues/343)) ([71b7444](https://github.com/DataBiosphere/findable-ui/commit/71b74449330ce507f22939d7bdaf0f92af985de8))
54
+ * refactor typography constants ([#339](https://github.com/DataBiosphere/findable-ui/issues/339)) ([#340](https://github.com/DataBiosphere/findable-ui/issues/340)) ([a5632b5](https://github.com/DataBiosphere/findable-ui/commit/a5632b50d852323a0002eae7b0524378728ff081))
55
+
3
56
  ## [22.0.0](https://github.com/DataBiosphere/findable-ui/compare/v21.4.0...v22.0.0) (2025-03-14)
4
57
 
5
58
 
package/jest.config.js CHANGED
@@ -1,5 +1,6 @@
1
1
  /** @type {import('ts-jest').JestConfigWithTsJest} */
2
2
  module.exports = {
3
3
  preset: "ts-jest/presets/js-with-ts-esm",
4
+ setupFiles: ["<rootDir>/tests/setup.ts"],
4
5
  testEnvironment: "jest-environment-jsdom",
5
6
  };
@@ -1,2 +1,6 @@
1
- export declare const BODY = "body";
2
- export declare const SIDEBAR_POSITIONER = "sidebar-positioner";
1
+ export declare enum SELECTOR {
2
+ BODY = "body",
3
+ FOOTER = "footer",
4
+ HEADER = "header",
5
+ SIDEBAR_POSITIONER = "sidebar-positioner"
6
+ }
@@ -1,2 +1,7 @@
1
- export const BODY = "body";
2
- export const SIDEBAR_POSITIONER = "sidebar-positioner";
1
+ export var SELECTOR;
2
+ (function (SELECTOR) {
3
+ SELECTOR["BODY"] = "body";
4
+ SELECTOR["FOOTER"] = "footer";
5
+ SELECTOR["HEADER"] = "header";
6
+ SELECTOR["SIDEBAR_POSITIONER"] = "sidebar-positioner";
7
+ })(SELECTOR || (SELECTOR = {}));
@@ -1,2 +1,3 @@
1
1
  import { Grid2Props } from "@mui/material";
2
+ export declare const ENTITIES_ROW_GAP = 8;
2
3
  export declare const GRID2_PROPS: Grid2Props;
@@ -1,6 +1,7 @@
1
+ export const ENTITIES_ROW_GAP = 8;
1
2
  export const GRID2_PROPS = {
2
3
  container: true,
3
4
  direction: "column",
4
5
  flexWrap: "nowrap",
5
- rowGap: 8,
6
+ rowGap: ENTITIES_ROW_GAP,
6
7
  };
@@ -1,2 +1,2 @@
1
1
  import { ClassesProps } from "./types";
2
- export declare const Entities: ({ classes }: ClassesProps) => JSX.Element;
2
+ export declare const Entities: ({ classes, spacing }: ClassesProps) => JSX.Element;
@@ -2,6 +2,6 @@ import { Grid2 } from "@mui/material";
2
2
  import React from "react";
3
3
  import { Entity } from "../Entity/entity";
4
4
  import { GRID2_PROPS } from "./constants";
5
- export const Entities = ({ classes }) => {
6
- return (React.createElement(Grid2, { ...GRID2_PROPS }, classes.map((classData) => (React.createElement(Entity, { key: classData.key, class: classData })))));
5
+ export const Entities = ({ classes, spacing }) => {
6
+ return (React.createElement(Grid2, { ...GRID2_PROPS }, classes.map((classData) => (React.createElement(Entity, { key: classData.key, class: classData, spacing: spacing })))));
7
7
  };
@@ -1,4 +1,6 @@
1
1
  import { Class } from "../../../../common/entities";
2
+ import { LayoutSpacing } from "../../hooks/UseLayoutSpacing/types";
2
3
  export interface ClassesProps {
3
4
  classes: Class[];
5
+ spacing?: LayoutSpacing;
4
6
  }
@@ -1,2 +1,2 @@
1
1
  import { EntityProps } from "./types";
2
- export declare const Entity: ({ class: classData }: EntityProps) => JSX.Element;
2
+ export declare const Entity: ({ class: classData, spacing, }: EntityProps) => JSX.Element;
@@ -1,14 +1,19 @@
1
1
  import { Grid2, Typography } from "@mui/material";
2
2
  import React from "react";
3
- import { COLOR, VARIANT } from "../../../../styles/common/mui/typography";
3
+ import { TYPOGRAPHY_PROPS } from "../../../../styles/common/mui/typography";
4
+ import { AnchorLink } from "../../../common/AnchorLink/anchorLink";
4
5
  import { useTable } from "../Table/hook";
5
6
  import { Table } from "../Table/table";
6
7
  import { GRID2_PROPS } from "./constants";
7
- export const Entity = ({ class: classData }) => {
8
+ import { StyledTypography } from "./entity.styles";
9
+ export const Entity = ({ class: classData, spacing, }) => {
8
10
  const table = useTable(classData.attributes);
9
11
  return (React.createElement(Grid2, { ...GRID2_PROPS, rowGap: 4 },
10
12
  React.createElement(Grid2, { ...GRID2_PROPS, rowGap: 1 },
11
- React.createElement(Typography, { component: "h3", variant: VARIANT.TEXT_HEADING_SMALL }, classData.label),
12
- React.createElement(Typography, { color: COLOR.INK_LIGHT, component: "div", variant: VARIANT.TEXT_BODY_400_2_LINES }, classData.description)),
13
+ React.createElement(StyledTypography, { component: "h3", id: classData.key, variant: TYPOGRAPHY_PROPS.VARIANT.TEXT_HEADING_SMALL, ...spacing },
14
+ classData.label,
15
+ " ",
16
+ React.createElement(AnchorLink, { anchorLink: classData.key })),
17
+ React.createElement(Typography, { color: TYPOGRAPHY_PROPS.COLOR.INK_LIGHT, component: "div", variant: TYPOGRAPHY_PROPS.VARIANT.TEXT_BODY_400_2_LINES }, classData.description)),
13
18
  React.createElement(Table, { table: table })));
14
19
  };
@@ -0,0 +1,2 @@
1
+ import { Typography } from "@mui/material";
2
+ export declare const StyledTypography: typeof Typography;
@@ -0,0 +1,10 @@
1
+ import styled from "@emotion/styled";
2
+ import { Typography } from "@mui/material";
3
+ import { ENTITIES_ROW_GAP } from "../Entities/constants";
4
+ export const StyledTypography = styled(Typography) `
5
+ scroll-margin-top: ${({ top = 0 }) => top + ENTITIES_ROW_GAP}px;
6
+
7
+ &:hover a {
8
+ opacity: 1;
9
+ }
10
+ `;
@@ -1,4 +1,6 @@
1
1
  import { Class } from "../../../../common/entities";
2
+ import { LayoutSpacing } from "../../hooks/UseLayoutSpacing/types";
2
3
  export interface EntityProps {
3
4
  class: Class;
5
+ spacing?: LayoutSpacing;
4
6
  }
@@ -0,0 +1,2 @@
1
+ import { EntitiesLayoutProps } from "./types";
2
+ export declare const EntitiesLayout: ({ children, ...props }: EntitiesLayoutProps) => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { Layout } from "./entitiesLayout.styles";
3
+ export const EntitiesLayout = ({ children, ...props }) => {
4
+ return React.createElement(Layout, { ...props }, children);
5
+ };
@@ -0,0 +1,5 @@
1
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
2
+ export declare const Layout: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme;
4
+ as?: import("react").ElementType;
5
+ } & LayoutSpacing, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,19 @@
1
+ import styled from "@emotion/styled";
2
+ import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
3
+ import { LAYOUT_SPACING } from "../../constants";
4
+ const PB = LAYOUT_SPACING.CONTENT_PADDING_BOTTOM; /* bottom padding */
5
+ const PT = LAYOUT_SPACING.CONTENT_PADDING_TOP; /* top padding */
6
+ const TITLE_HEIGHT = LAYOUT_SPACING.TITLE_HEIGHT; /* title height */
7
+ export const Layout = styled("div") `
8
+ grid-column: 2;
9
+ grid-row: 1;
10
+ padding-bottom: ${PB}px;
11
+ padding-top: ${({ top }) => top + TITLE_HEIGHT + PT}px;
12
+ z-index: 1; /* not required, but helpful in that the entities are always on top */
13
+
14
+ ${mediaTabletDown} {
15
+ grid-column: 1;
16
+ grid-row: auto;
17
+ padding-top: ${PT}px;
18
+ }
19
+ `;
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from "react";
2
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
3
+ export interface EntitiesLayoutProps extends LayoutSpacing {
4
+ children: ReactNode;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { OutlineLayoutProps } from "./types";
2
+ export declare const OutlineLayout: ({ children, ...props }: OutlineLayoutProps) => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { Layout, LayoutScroller } from "./outlineLayout.styles";
3
+ export const OutlineLayout = ({ children, ...props }) => {
4
+ return (React.createElement(Layout, { ...props },
5
+ React.createElement(LayoutScroller, null, children)));
6
+ };
@@ -0,0 +1,9 @@
1
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
2
+ export declare const Layout: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme;
4
+ as?: import("react").ElementType;
5
+ } & LayoutSpacing, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
+ export declare const LayoutScroller: import("@emotion/styled").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme;
8
+ as?: import("react").ElementType;
9
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,26 @@
1
+ import styled from "@emotion/styled";
2
+ import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
3
+ import { LAYOUT_SPACING } from "../../constants";
4
+ const PB = LAYOUT_SPACING.CONTENT_PADDING_BOTTOM; /* bottom padding */
5
+ const PT = LAYOUT_SPACING.CONTENT_PADDING_TOP; /* top padding */
6
+ const TITLE_HEIGHT = LAYOUT_SPACING.TITLE_HEIGHT; /* title height */
7
+ export const Layout = styled("div") `
8
+ grid-column: 1;
9
+ grid-row: 1;
10
+ margin-bottom: ${({ bottom }) => -bottom}px; /* required; prevents sticky element from scrolling when footer scrolls into viewport */
11
+ max-height: 100vh;
12
+ overflow: hidden;
13
+ padding-bottom: ${({ bottom }) => bottom}px; /* footer height */
14
+ padding-top: ${({ top }) => top + TITLE_HEIGHT + PT}px;
15
+ position: sticky;
16
+ top: 0;
17
+
18
+ ${mediaTabletDown} {
19
+ display: none;
20
+ }
21
+ `;
22
+ export const LayoutScroller = styled("div") `
23
+ height: 100%;
24
+ overflow: auto;
25
+ padding-bottom: ${PB}px;
26
+ `;
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from "react";
2
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
3
+ export interface OutlineLayoutProps extends LayoutSpacing {
4
+ children: ReactNode;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { TitleLayoutProps } from "./types";
2
+ export declare const TitleLayout: ({ children, ...props }: TitleLayoutProps) => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { Layout } from "./titleLayout.styles";
3
+ export const TitleLayout = ({ children, ...props }) => {
4
+ return React.createElement(Layout, { ...props }, children);
5
+ };
@@ -0,0 +1,5 @@
1
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
2
+ export declare const Layout: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme;
4
+ as?: import("react").ElementType;
5
+ } & LayoutSpacing, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,16 @@
1
+ import styled from "@emotion/styled";
2
+ import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
3
+ export const Layout = styled("div") `
4
+ grid-column: 1 / -1;
5
+ grid-row: 1;
6
+ height: fit-content;
7
+ padding-top: ${({ top }) => top}px; /* header height */
8
+ position: sticky;
9
+ top: 0;
10
+
11
+ ${mediaTabletDown} {
12
+ grid-column: 1;
13
+ grid-row: auto;
14
+ position: relative;
15
+ }
16
+ `;
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from "react";
2
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
3
+ export interface TitleLayoutProps extends LayoutSpacing {
4
+ children: ReactNode;
5
+ }
@@ -0,0 +1,5 @@
1
+ export declare const LAYOUT_SPACING: {
2
+ CONTENT_PADDING_BOTTOM: number;
3
+ CONTENT_PADDING_TOP: number;
4
+ TITLE_HEIGHT: number;
5
+ };
@@ -0,0 +1,5 @@
1
+ export const LAYOUT_SPACING = {
2
+ CONTENT_PADDING_BOTTOM: 24,
3
+ CONTENT_PADDING_TOP: 16,
4
+ TITLE_HEIGHT: 74,
5
+ };
@@ -0,0 +1,2 @@
1
+ import { ContentsTabProps } from "../../../../../Layout/components/Outline/components/ContentsTab/types";
2
+ export declare const TAB_PROPS: ContentsTabProps;
@@ -0,0 +1,5 @@
1
+ export const TAB_PROPS = {
2
+ icon: undefined,
3
+ label: "Entity Type",
4
+ value: "",
5
+ };
@@ -0,0 +1 @@
1
+ export declare const ContentsTab: () => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { TAB_PROPS } from "./constants";
3
+ import { StyledContentsTab } from "./contentsTab.styles";
4
+ export const ContentsTab = () => {
5
+ return React.createElement(StyledContentsTab, { ...TAB_PROPS });
6
+ };
@@ -0,0 +1,3 @@
1
+ export declare const StyledContentsTab: import("@emotion/styled").StyledComponent<import("../../../../../Layout/components/Outline/components/ContentsTab/types").ContentsTabProps & {
2
+ theme?: import("@emotion/react").Theme;
3
+ }, {}, {}>;
@@ -0,0 +1,7 @@
1
+ import styled from "@emotion/styled";
2
+ import { ContentsTab } from "../../../../../Layout/components/Outline/components/ContentsTab/contentsTab";
3
+ export const StyledContentsTab = styled(ContentsTab) `
4
+ & {
5
+ padding: 8px 24px;
6
+ }
7
+ `;
@@ -0,0 +1,2 @@
1
+ import { OutlineProps } from "./types";
2
+ export declare const Outline: ({ outline, ...props }: OutlineProps) => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { ContentsTab } from "./components/ContentsTab/contentsTab";
3
+ import { StyledOutline } from "./outline.styles";
4
+ export const Outline = ({ outline, ...props /* MuiTabsProps */ }) => {
5
+ return React.createElement(StyledOutline, { Contents: ContentsTab, outline: outline, ...props });
6
+ };
@@ -0,0 +1,3 @@
1
+ export declare const StyledOutline: import("@emotion/styled").StyledComponent<import("../../../Layout/components/Outline/types").OutlineProps & {
2
+ theme?: import("@emotion/react").Theme;
3
+ }, {}, {}>;
@@ -0,0 +1,19 @@
1
+ import styled from "@emotion/styled";
2
+ import { inkLight, inkMain, smokeDark, } from "../../../../styles/common/mixins/colors";
3
+ import { Outline } from "../../../Layout/components/Outline/outline";
4
+ export const StyledOutline = styled(Outline) `
5
+ &.MuiTabs-root {
6
+ .MuiTab-root {
7
+ color: ${inkLight};
8
+
9
+ &.Mui-selected {
10
+ color: ${inkMain};
11
+ }
12
+
13
+ &.Mui-disabled {
14
+ color: ${smokeDark};
15
+ opacity: 1;
16
+ }
17
+ }
18
+ }
19
+ `;
@@ -0,0 +1,5 @@
1
+ import { TabsProps } from "@mui/material";
2
+ import { OutlineItem } from "../../../Layout/components/Outline/types";
3
+ export interface OutlineProps extends TabsProps {
4
+ outline: OutlineItem[];
5
+ }
@@ -0,0 +1,8 @@
1
+ import { Class } from "../../../../common/entities";
2
+ import { OutlineItem } from "../../../Layout/components/Outline/types";
3
+ /**
4
+ * Returns outline items from classes.
5
+ * @param classes - Class entities.
6
+ * @returns Outline items.
7
+ */
8
+ export declare function buildClassesOutline(classes: Class[]): OutlineItem[];
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Returns outline items from classes.
3
+ * @param classes - Class entities.
4
+ * @returns Outline items.
5
+ */
6
+ export function buildClassesOutline(classes) {
7
+ return classes.map(({ key, name }) => {
8
+ return {
9
+ depth: 2,
10
+ disabled: false,
11
+ hash: key,
12
+ value: name,
13
+ };
14
+ });
15
+ }
@@ -1,6 +1,6 @@
1
1
  import { Typography } from "@mui/material";
2
2
  import React from "react";
3
- import { VARIANT } from "../../../../../../styles/common/mui/typography";
3
+ import { TYPOGRAPHY_PROPS } from "../../../../../../styles/common/mui/typography";
4
4
  export const BasicCell = ({ getValue }) => {
5
- return React.createElement(Typography, { variant: VARIANT.INHERIT }, getValue());
5
+ return (React.createElement(Typography, { variant: TYPOGRAPHY_PROPS.VARIANT.INHERIT }, getValue()));
6
6
  };
@@ -0,0 +1,2 @@
1
+ import { TitleProps } from "../../../common/Title/title";
2
+ export declare const Title: ({ title, ...props }: TitleProps) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { StyledTitle } from "./title.styles";
3
+ export const Title = ({ title = "Data Dictionary", ...props }) => React.createElement(StyledTitle, { title: title, ...props });
@@ -0,0 +1,3 @@
1
+ export declare const StyledTitle: import("@emotion/styled").StyledComponent<import("../../../common/Title/title").TitleProps & {
2
+ theme?: import("@emotion/react").Theme;
3
+ }, {}, {}>;
@@ -0,0 +1,17 @@
1
+ import styled from "@emotion/styled";
2
+ import { mediaTabletDown } from "../../../../styles/common/mixins/breakpoints";
3
+ import { Title } from "../../../common/Title/title";
4
+ export const StyledTitle = styled(Title) `
5
+ & {
6
+ font-size: 34px;
7
+ grid-column: 1 / -1;
8
+ letter-spacing: normal;
9
+ line-height: 42px;
10
+ margin: 24px 0 8px;
11
+
12
+ ${mediaTabletDown} {
13
+ font-size: 26px;
14
+ line-height: 34px;
15
+ }
16
+ }
17
+ `;
@@ -1,2 +1,2 @@
1
- import { BaseComponentProps } from "../types";
2
- export declare const DataDictionary: ({ className, }: BaseComponentProps) => JSX.Element;
1
+ import { DataDictionaryProps } from "./types";
2
+ export declare const DataDictionary: ({ className, EntitiesLayout, Outline, OutlineLayout, Title, TitleLayout, }: DataDictionaryProps) => JSX.Element;
@@ -1,9 +1,23 @@
1
- import React from "react";
1
+ import React, { useMemo } from "react";
2
2
  import { Entities } from "./components/Entities/entities";
3
+ import { EntitiesLayout as DefaultEntitiesLayout } from "./components/Layout/components/EntitiesLayout/entitiesLayout";
4
+ import { OutlineLayout as DefaultOutlineLayout } from "./components/Layout/components/OutlineLayout/outlineLayout";
5
+ import { TitleLayout as DefaultTitleLayout } from "./components/Layout/components/TitleLayout/titleLayout";
6
+ import { Outline as DefaultOutline } from "./components/Outline/outline";
7
+ import { buildClassesOutline } from "./components/Outline/utils";
8
+ import { Title as DefaultTitle } from "./components/Title/title";
3
9
  import { View } from "./dataDictionary.styles";
4
10
  import { useDataDictionary } from "./hooks/UseDataDictionary/hook";
5
- export const DataDictionary = ({ className, }) => {
11
+ import { useLayoutSpacing } from "./hooks/UseLayoutSpacing/hook";
12
+ export const DataDictionary = ({ className, EntitiesLayout = DefaultEntitiesLayout, Outline = DefaultOutline, OutlineLayout = DefaultOutlineLayout, Title = DefaultTitle, TitleLayout = DefaultTitleLayout, }) => {
6
13
  const { classes } = useDataDictionary();
14
+ const { spacing } = useLayoutSpacing();
15
+ const outline = useMemo(() => buildClassesOutline(classes), [classes]);
7
16
  return (React.createElement(View, { className: className },
8
- React.createElement(Entities, { classes: classes })));
17
+ React.createElement(TitleLayout, { ...spacing },
18
+ React.createElement(Title, null)),
19
+ React.createElement(OutlineLayout, { ...spacing },
20
+ React.createElement(Outline, { outline: outline })),
21
+ React.createElement(EntitiesLayout, { ...spacing },
22
+ React.createElement(Entities, { classes: classes, spacing: spacing }))));
9
23
  };
@@ -1 +1,5 @@
1
- export declare const View: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1
+ export declare const grid: import("@emotion/react").SerializedStyles;
2
+ export declare const View: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme;
4
+ as?: import("react").ElementType;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;