@databiosphere/findable-ui 35.2.0 → 36.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 (348) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +15 -0
  3. package/lib/common/entities.d.ts +2 -3
  4. package/lib/components/DataDictionary/components/Entities/constants.d.ts +3 -1
  5. package/lib/components/DataDictionary/components/Entities/constants.js +6 -2
  6. package/lib/components/DataDictionary/components/Entities/entities.js +6 -2
  7. package/lib/components/DataDictionary/components/Entities/entities.styles.d.ts +3 -0
  8. package/lib/components/DataDictionary/components/Entities/entities.styles.js +5 -0
  9. package/lib/components/DataDictionary/components/Entity/entity.styles.js +1 -8
  10. package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.d.ts +4 -0
  11. package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.js +15 -0
  12. package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.styles.d.ts +7 -0
  13. package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.styles.js +7 -0
  14. package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/constants.d.ts +2 -0
  15. package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/constants.js +6 -0
  16. package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/types.d.ts +6 -0
  17. package/lib/components/DataDictionary/components/Filters/filters.js +2 -0
  18. package/lib/components/DataDictionary/components/Filters/filters.styles.js +3 -3
  19. package/lib/components/DataDictionary/components/Filters/stories/constants.d.ts +1 -0
  20. package/lib/components/DataDictionary/components/Filters/stories/constants.js +16 -0
  21. package/lib/components/DataDictionary/components/Filters/stories/filters.stories.js +11 -3
  22. package/lib/components/DataDictionary/components/Filters/stories/hook.d.ts +4 -0
  23. package/lib/components/DataDictionary/components/Filters/stories/hook.js +4 -0
  24. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.d.ts +2 -1
  25. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.js +4 -4
  26. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.js +1 -4
  27. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.d.ts +4 -2
  28. package/lib/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.d.ts +2 -1
  29. package/lib/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.js +4 -4
  30. package/lib/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.styles.js +4 -1
  31. package/lib/components/DataDictionary/components/Table/hook.d.ts +2 -2
  32. package/lib/components/DataDictionary/components/Table/hook.js +8 -4
  33. package/lib/components/DataDictionary/components/Table/options/columnFilters/constants.js +2 -1
  34. package/lib/components/DataDictionary/components/Table/options/columnFilters/hook.d.ts +2 -5
  35. package/lib/components/DataDictionary/components/Table/options/columnFilters/hook.js +8 -6
  36. package/lib/components/DataDictionary/components/Table/options/globalFilter/constants.d.ts +2 -0
  37. package/lib/components/DataDictionary/components/Table/options/globalFilter/constants.js +5 -0
  38. package/lib/components/DataDictionary/components/Table/options/globalFilter/hook.d.ts +3 -0
  39. package/lib/components/DataDictionary/components/Table/options/globalFilter/hook.js +16 -0
  40. package/lib/components/DataDictionary/components/Table/options/hook.js +7 -5
  41. package/lib/components/DataDictionary/components/Table/options/pagination/constants.d.ts +2 -0
  42. package/lib/components/DataDictionary/components/Table/options/pagination/constants.js +3 -0
  43. package/lib/components/DataDictionary/dataDictionary.d.ts +1 -1
  44. package/lib/components/DataDictionary/dataDictionary.js +31 -12
  45. package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/hook.d.ts +4 -0
  46. package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/hook.js +27 -0
  47. package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/types.d.ts +7 -0
  48. package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/types.js +1 -0
  49. package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/utils.d.ts +6 -0
  50. package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/utils.js +8 -0
  51. package/lib/components/DataDictionary/hooks/UseMeasureFilters/hook.d.ts +2 -0
  52. package/lib/components/DataDictionary/hooks/UseMeasureFilters/hook.js +17 -0
  53. package/lib/components/DataDictionary/hooks/UseMeasureFilters/types.d.ts +7 -0
  54. package/lib/components/DataDictionary/hooks/UseMeasureFilters/types.js +1 -0
  55. package/lib/components/DataDictionary/types.d.ts +1 -0
  56. package/lib/components/Filter/components/FilterCountChip/filterCountChip.d.ts +2 -0
  57. package/lib/components/Filter/components/FilterCountChip/filterCountChip.js +8 -0
  58. package/lib/components/Filter/components/FilterCountChip/filterCountChip.styles.d.ts +3 -0
  59. package/lib/components/Filter/components/FilterCountChip/filterCountChip.styles.js +18 -0
  60. package/lib/components/Filter/components/FilterCountChip/stories/filterCountChip.stories.d.ts +6 -0
  61. package/lib/components/Filter/components/FilterCountChip/stories/filterCountChip.stories.js +6 -0
  62. package/lib/components/Filter/components/FilterCountChip/types.d.ts +5 -0
  63. package/lib/components/Filter/components/FilterCountChip/types.js +1 -0
  64. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.d.ts +1 -1
  65. package/lib/components/Layout/components/Outline/outline.styles.d.ts +1 -1
  66. package/lib/components/Table/columnDef/globalFilter/constants.d.ts +2 -0
  67. package/lib/components/Table/columnDef/globalFilter/constants.js +4 -0
  68. package/lib/components/Table/columnDef/globalFilter/filterFn.d.ts +13 -0
  69. package/lib/components/Table/columnDef/globalFilter/filterFn.js +24 -0
  70. package/lib/components/Table/columnDef/globalFilter/types.d.ts +4 -0
  71. package/lib/components/Table/columnDef/globalFilter/types.js +1 -0
  72. package/lib/components/Table/columnDef/globalFilter/utils.d.ts +23 -0
  73. package/lib/components/Table/columnDef/globalFilter/utils.js +57 -0
  74. package/lib/components/Table/components/TableCell/components/RankedCell/rankedCell.d.ts +3 -0
  75. package/lib/components/Table/components/TableCell/components/RankedCell/rankedCell.js +25 -0
  76. package/lib/components/Table/components/TableCell/components/RankedCell/utils.d.ts +30 -0
  77. package/lib/components/Table/components/TableCell/components/RankedCell/utils.js +64 -0
  78. package/lib/components/Table/components/TableFeatures/ColumnFilter/columnFilter.js +9 -5
  79. package/lib/components/Table/components/TableFeatures/ColumnFilter/columnFilter.styles.d.ts +9 -0
  80. package/lib/components/Table/components/TableFeatures/ColumnFilter/columnFilter.styles.js +20 -1
  81. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.d.ts +3 -0
  82. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.js +9 -0
  83. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.styles.d.ts +5 -0
  84. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.styles.js +24 -0
  85. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/constants.d.ts +3 -0
  86. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/constants.js +10 -0
  87. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/stories/columFilterTag.stories.d.ts +6 -0
  88. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/stories/columFilterTag.stories.js +17 -0
  89. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/types.d.ts +6 -0
  90. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/types.js +1 -0
  91. package/lib/components/Table/components/TableFeatures/ColumnFilter/constants.d.ts +2 -1
  92. package/lib/components/Table/components/TableFeatures/ColumnFilter/constants.js +6 -0
  93. package/lib/components/Table/components/TableFeatures/ColumnFilter/types.d.ts +3 -2
  94. package/lib/components/Table/components/TableFeatures/GlobalFilter/constants.d.ts +2 -0
  95. package/lib/components/Table/components/TableFeatures/GlobalFilter/constants.js +6 -0
  96. package/lib/components/Table/components/TableFeatures/GlobalFilter/globalFilter.d.ts +3 -0
  97. package/lib/components/Table/components/TableFeatures/GlobalFilter/globalFilter.js +10 -0
  98. package/lib/components/Table/components/TableFeatures/GlobalFilter/types.d.ts +6 -0
  99. package/lib/components/Table/components/TableFeatures/GlobalFilter/types.js +1 -0
  100. package/lib/components/Table/coreOptions/state/pagination/constants.d.ts +2 -0
  101. package/lib/components/Table/coreOptions/state/pagination/constants.js +6 -0
  102. package/lib/components/Table/coreOptions/state/pagination/utils.d.ts +9 -0
  103. package/lib/components/Table/coreOptions/state/pagination/utils.js +18 -0
  104. package/lib/components/common/AnchorLink/anchorLink.js +4 -2
  105. package/lib/components/common/AnchorLink/anchorLink.styles.d.ts +1 -1
  106. package/lib/components/common/AnchorLink/anchorLink.styles.js +1 -1
  107. package/lib/components/common/CustomIcon/components/SearchIcon/searchIcon.d.ts +2 -2
  108. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.d.ts +2 -0
  109. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.js +13 -0
  110. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.styles.d.ts +5 -0
  111. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.styles.js +11 -0
  112. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/constants.d.ts +3 -0
  113. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/constants.js +10 -0
  114. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/types.d.ts +4 -0
  115. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/types.js +1 -0
  116. package/lib/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/constants.d.ts +2 -0
  117. package/lib/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/constants.js +5 -0
  118. package/lib/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/searchInputAdornment.d.ts +1 -0
  119. package/lib/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/searchInputAdornment.js +9 -0
  120. package/lib/components/common/OutlinedInput/components/InputAdornment/components/constants.d.ts +2 -0
  121. package/lib/components/common/OutlinedInput/components/InputAdornment/components/constants.js +5 -0
  122. package/lib/components/common/OutlinedInput/components/InputAdornment/inputAdornment.styles.d.ts +5 -0
  123. package/lib/components/common/OutlinedInput/components/InputAdornment/inputAdornment.styles.js +5 -0
  124. package/lib/components/common/OutlinedInput/outlinedInput.styles.d.ts +7 -0
  125. package/lib/components/common/OutlinedInput/outlinedInput.styles.js +18 -0
  126. package/lib/hooks/stateSyncManager/hooks/UseMetaCommands/hook.js +2 -2
  127. package/lib/hooks/stateSyncManager/hooks/UseStateSync/hook.js +3 -3
  128. package/lib/hooks/stateSyncManager/types.d.ts +1 -1
  129. package/lib/providers/dataDictionary/context.d.ts +2 -0
  130. package/lib/providers/dataDictionary/context.js +4 -0
  131. package/lib/providers/dataDictionary/hook.d.ts +6 -0
  132. package/lib/providers/dataDictionary/hook.js +9 -0
  133. package/lib/providers/dataDictionary/types.d.ts +3 -0
  134. package/lib/providers/dataDictionary/types.js +1 -0
  135. package/lib/providers/dataDictionaryState/actions/clearMeta/action.d.ts +9 -0
  136. package/lib/providers/dataDictionaryState/actions/clearMeta/action.js +12 -0
  137. package/lib/providers/dataDictionaryState/actions/clearMeta/dispatch.d.ts +6 -0
  138. package/lib/providers/dataDictionaryState/actions/clearMeta/dispatch.js +11 -0
  139. package/lib/providers/dataDictionaryState/actions/clearMeta/types.d.ts +6 -0
  140. package/lib/providers/dataDictionaryState/actions/clearMeta/types.js +1 -0
  141. package/lib/providers/dataDictionaryState/actions/stateToUrl/action.d.ts +9 -0
  142. package/lib/providers/dataDictionaryState/actions/stateToUrl/action.js +14 -0
  143. package/lib/providers/dataDictionaryState/actions/stateToUrl/dispatch.d.ts +7 -0
  144. package/lib/providers/dataDictionaryState/actions/stateToUrl/dispatch.js +12 -0
  145. package/lib/providers/dataDictionaryState/actions/stateToUrl/types.d.ts +12 -0
  146. package/lib/providers/dataDictionaryState/actions/stateToUrl/types.js +5 -0
  147. package/lib/providers/dataDictionaryState/actions/types.d.ts +13 -0
  148. package/lib/providers/dataDictionaryState/actions/types.js +8 -0
  149. package/lib/providers/dataDictionaryState/actions/updateColumnFilters/action.d.ts +9 -0
  150. package/lib/providers/dataDictionaryState/actions/updateColumnFilters/action.js +18 -0
  151. package/lib/providers/dataDictionaryState/actions/updateColumnFilters/dispatch.d.ts +7 -0
  152. package/lib/providers/dataDictionaryState/actions/updateColumnFilters/dispatch.js +12 -0
  153. package/lib/providers/dataDictionaryState/actions/updateColumnFilters/types.d.ts +10 -0
  154. package/lib/providers/dataDictionaryState/actions/updateColumnFilters/types.js +1 -0
  155. package/lib/providers/dataDictionaryState/actions/updateColumnFilters/utils.d.ts +11 -0
  156. package/lib/providers/dataDictionaryState/actions/updateColumnFilters/utils.js +27 -0
  157. package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/action.d.ts +9 -0
  158. package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/action.js +19 -0
  159. package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/dispatch.d.ts +7 -0
  160. package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/dispatch.js +12 -0
  161. package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/types.d.ts +10 -0
  162. package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/types.js +1 -0
  163. package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/utils.d.ts +17 -0
  164. package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/utils.js +36 -0
  165. package/lib/providers/dataDictionaryState/actions/urlToState/action.d.ts +9 -0
  166. package/lib/providers/dataDictionaryState/actions/urlToState/action.js +20 -0
  167. package/lib/providers/dataDictionaryState/actions/urlToState/dispatch.d.ts +7 -0
  168. package/lib/providers/dataDictionaryState/actions/urlToState/dispatch.js +12 -0
  169. package/lib/providers/dataDictionaryState/actions/urlToState/types.d.ts +9 -0
  170. package/lib/providers/dataDictionaryState/actions/urlToState/types.js +1 -0
  171. package/lib/providers/dataDictionaryState/context.d.ts +2 -0
  172. package/lib/providers/dataDictionaryState/context.js +6 -0
  173. package/lib/providers/dataDictionaryState/dictionaries/constants.d.ts +4 -0
  174. package/lib/providers/dataDictionaryState/dictionaries/constants.js +4 -0
  175. package/lib/providers/dataDictionaryState/dictionaries/state.d.ts +11 -0
  176. package/lib/providers/dataDictionaryState/dictionaries/state.js +29 -0
  177. package/lib/providers/dataDictionaryState/dictionaries/types.d.ts +9 -0
  178. package/lib/providers/dataDictionaryState/dictionaries/types.js +1 -0
  179. package/lib/providers/dataDictionaryState/dictionaries/utils.d.ts +14 -0
  180. package/lib/providers/dataDictionaryState/dictionaries/utils.js +20 -0
  181. package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/hook.d.ts +2 -0
  182. package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/hook.js +6 -0
  183. package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/types.d.ts +4 -0
  184. package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/types.js +1 -0
  185. package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryReducer/hook.d.ts +2 -0
  186. package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryReducer/hook.js +9 -0
  187. package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryState/hook.d.ts +6 -0
  188. package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryState/hook.js +9 -0
  189. package/lib/providers/dataDictionaryState/initializer/constants.d.ts +2 -0
  190. package/lib/providers/dataDictionaryState/initializer/constants.js +4 -0
  191. package/lib/providers/dataDictionaryState/initializer/initializer.d.ts +9 -0
  192. package/lib/providers/dataDictionaryState/initializer/initializer.js +17 -0
  193. package/lib/providers/dataDictionaryState/initializer/utils.d.ts +8 -0
  194. package/lib/providers/dataDictionaryState/initializer/utils.js +29 -0
  195. package/lib/providers/dataDictionaryState/provider.d.ts +4 -0
  196. package/lib/providers/dataDictionaryState/provider.js +7 -0
  197. package/lib/providers/dataDictionaryState/reducer.d.ts +9 -0
  198. package/lib/providers/dataDictionaryState/reducer.js +34 -0
  199. package/lib/providers/dataDictionaryState/types.d.ts +15 -0
  200. package/lib/providers/dataDictionaryState/types.js +1 -0
  201. package/lib/styles/common/mui/iconButton.d.ts +11 -0
  202. package/lib/styles/common/mui/iconButton.js +29 -0
  203. package/lib/styles/common/mui/inputAdornment.d.ts +9 -0
  204. package/lib/styles/common/mui/inputAdornment.js +13 -0
  205. package/lib/styles/common/mui/outlinedInput.d.ts +7 -0
  206. package/lib/styles/common/mui/outlinedInput.js +7 -0
  207. package/lib/theme/common/components.js +122 -16
  208. package/lib/theme/components/muiButtonGroup.js +4 -0
  209. package/lib/theme/components/muiTableCell.js +6 -0
  210. package/lib/utils/parseJsonQueryParam.d.ts +14 -0
  211. package/lib/utils/parseJsonQueryParam.js +25 -0
  212. package/lib/utils/stateToUrlQuery.d.ts +15 -0
  213. package/lib/utils/stateToUrlQuery.js +35 -0
  214. package/lib/views/DataDictionaryView/dataDictionaryView.d.ts +2 -2
  215. package/lib/views/DataDictionaryView/dataDictionaryView.js +16 -2
  216. package/lib/views/DataDictionaryView/types.d.ts +4 -0
  217. package/lib/views/DataDictionaryView/types.js +1 -0
  218. package/lib/views/DataDictionaryView/utils.d.ts +12 -0
  219. package/lib/views/DataDictionaryView/utils.js +17 -0
  220. package/lib/views/ExploreView/utils.d.ts +1 -1
  221. package/lib/views/ExploreView/utils.js +1 -1
  222. package/package.json +2 -1
  223. package/src/common/entities.ts +2 -3
  224. package/src/components/DataDictionary/components/Entities/constants.ts +9 -3
  225. package/src/components/DataDictionary/components/Entities/entities.styles.ts +6 -0
  226. package/src/components/DataDictionary/components/Entities/entities.tsx +7 -2
  227. package/src/components/DataDictionary/components/Entity/entity.styles.ts +1 -10
  228. package/src/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.styles.ts +8 -0
  229. package/src/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.tsx +33 -0
  230. package/src/components/DataDictionary/components/Filters/components/ColumnFilterTags/constants.ts +8 -0
  231. package/src/components/DataDictionary/components/Filters/components/ColumnFilterTags/types.ts +8 -0
  232. package/src/components/DataDictionary/components/Filters/filters.styles.ts +3 -3
  233. package/src/components/DataDictionary/components/Filters/filters.tsx +2 -0
  234. package/src/components/DataDictionary/components/Filters/stories/constants.ts +18 -0
  235. package/src/components/DataDictionary/components/Filters/stories/filters.stories.tsx +15 -3
  236. package/src/components/DataDictionary/components/Filters/stories/hook.ts +8 -0
  237. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.ts +1 -5
  238. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.tsx +13 -7
  239. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/types.ts +4 -2
  240. package/src/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.styles.ts +4 -1
  241. package/src/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.tsx +13 -7
  242. package/src/components/DataDictionary/components/Table/hook.ts +10 -6
  243. package/src/components/DataDictionary/components/Table/options/columnFilters/constants.ts +2 -1
  244. package/src/components/DataDictionary/components/Table/options/columnFilters/hook.ts +13 -12
  245. package/src/components/DataDictionary/components/Table/options/globalFilter/constants.ts +14 -0
  246. package/src/components/DataDictionary/components/Table/options/globalFilter/hook.ts +28 -0
  247. package/src/components/DataDictionary/components/Table/options/hook.ts +9 -11
  248. package/src/components/DataDictionary/components/Table/options/pagination/constants.ts +6 -0
  249. package/src/components/DataDictionary/dataDictionary.tsx +45 -16
  250. package/src/components/DataDictionary/hooks/UseDataDictionaryConfig/hook.ts +38 -0
  251. package/src/components/DataDictionary/hooks/UseDataDictionaryConfig/types.ts +8 -0
  252. package/src/components/DataDictionary/hooks/UseDataDictionaryConfig/utils.ts +8 -0
  253. package/src/components/DataDictionary/hooks/UseMeasureFilters/hook.ts +27 -0
  254. package/src/components/DataDictionary/hooks/UseMeasureFilters/types.ts +6 -0
  255. package/src/components/DataDictionary/types.ts +1 -0
  256. package/src/components/Filter/components/FilterCountChip/filterCountChip.styles.ts +19 -0
  257. package/src/components/Filter/components/FilterCountChip/filterCountChip.tsx +21 -0
  258. package/src/components/Filter/components/FilterCountChip/stories/filterCountChip.stories.tsx +12 -0
  259. package/src/components/Filter/components/FilterCountChip/types.ts +6 -0
  260. package/src/components/Table/columnDef/globalFilter/constants.ts +5 -0
  261. package/src/components/Table/columnDef/globalFilter/filterFn.ts +34 -0
  262. package/src/components/Table/columnDef/globalFilter/types.ts +5 -0
  263. package/src/components/Table/columnDef/globalFilter/utils.ts +74 -0
  264. package/src/components/Table/components/TableCell/components/RankedCell/rankedCell.tsx +50 -0
  265. package/src/components/Table/components/TableCell/components/RankedCell/utils.ts +85 -0
  266. package/src/components/Table/components/TableFeatures/ColumnFilter/columnFilter.styles.ts +26 -1
  267. package/src/components/Table/components/TableFeatures/ColumnFilter/columnFilter.tsx +11 -5
  268. package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.styles.ts +25 -0
  269. package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.tsx +31 -0
  270. package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/constants.ts +13 -0
  271. package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/stories/columFilterTag.stories.tsx +26 -0
  272. package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/types.ts +9 -0
  273. package/src/components/Table/components/TableFeatures/ColumnFilter/constants.ts +8 -1
  274. package/src/components/Table/components/TableFeatures/ColumnFilter/types.ts +3 -2
  275. package/src/components/Table/components/TableFeatures/GlobalFilter/constants.ts +8 -0
  276. package/src/components/Table/components/TableFeatures/GlobalFilter/globalFilter.tsx +33 -0
  277. package/src/components/Table/components/TableFeatures/GlobalFilter/types.ts +9 -0
  278. package/src/components/Table/coreOptions/state/pagination/constants.ts +8 -0
  279. package/src/components/Table/coreOptions/state/pagination/utils.ts +21 -0
  280. package/src/components/common/AnchorLink/anchorLink.styles.ts +1 -1
  281. package/src/components/common/AnchorLink/anchorLink.tsx +9 -3
  282. package/src/components/common/CustomIcon/components/SearchIcon/searchIcon.tsx +2 -3
  283. package/src/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.styles.ts +12 -0
  284. package/src/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.tsx +21 -0
  285. package/src/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/constants.ts +13 -0
  286. package/src/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/types.ts +4 -0
  287. package/src/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/constants.ts +7 -0
  288. package/src/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/searchInputAdornment.tsx +13 -0
  289. package/src/components/common/OutlinedInput/components/InputAdornment/components/constants.ts +7 -0
  290. package/src/components/common/OutlinedInput/components/InputAdornment/inputAdornment.styles.ts +6 -0
  291. package/src/components/common/OutlinedInput/outlinedInput.styles.ts +24 -0
  292. package/src/hooks/stateSyncManager/hooks/UseMetaCommands/hook.ts +2 -2
  293. package/src/hooks/stateSyncManager/hooks/UseStateSync/hook.ts +3 -3
  294. package/src/hooks/stateSyncManager/types.ts +1 -1
  295. package/src/providers/dataDictionary/context.ts +6 -0
  296. package/src/providers/dataDictionary/hook.ts +11 -0
  297. package/src/providers/dataDictionary/types.ts +6 -0
  298. package/src/providers/dataDictionaryState/actions/clearMeta/action.ts +18 -0
  299. package/src/providers/dataDictionaryState/actions/clearMeta/dispatch.ts +13 -0
  300. package/src/providers/dataDictionaryState/actions/clearMeta/types.ts +8 -0
  301. package/src/providers/dataDictionaryState/actions/stateToUrl/action.ts +20 -0
  302. package/src/providers/dataDictionaryState/actions/stateToUrl/dispatch.ts +14 -0
  303. package/src/providers/dataDictionaryState/actions/stateToUrl/types.ts +15 -0
  304. package/src/providers/dataDictionaryState/actions/types.ts +20 -0
  305. package/src/providers/dataDictionaryState/actions/updateColumnFilters/action.ts +24 -0
  306. package/src/providers/dataDictionaryState/actions/updateColumnFilters/dispatch.ts +16 -0
  307. package/src/providers/dataDictionaryState/actions/updateColumnFilters/types.ts +12 -0
  308. package/src/providers/dataDictionaryState/actions/updateColumnFilters/utils.ts +41 -0
  309. package/src/providers/dataDictionaryState/actions/updateGlobalFilter/action.ts +25 -0
  310. package/src/providers/dataDictionaryState/actions/updateGlobalFilter/dispatch.ts +16 -0
  311. package/src/providers/dataDictionaryState/actions/updateGlobalFilter/types.ts +12 -0
  312. package/src/providers/dataDictionaryState/actions/updateGlobalFilter/utils.ts +50 -0
  313. package/src/providers/dataDictionaryState/actions/urlToState/action.ts +28 -0
  314. package/src/providers/dataDictionaryState/actions/urlToState/dispatch.ts +14 -0
  315. package/src/providers/dataDictionaryState/actions/urlToState/types.ts +11 -0
  316. package/src/providers/dataDictionaryState/context.ts +9 -0
  317. package/src/providers/dataDictionaryState/dictionaries/constants.ts +4 -0
  318. package/src/providers/dataDictionaryState/dictionaries/state.ts +45 -0
  319. package/src/providers/dataDictionaryState/dictionaries/types.ts +11 -0
  320. package/src/providers/dataDictionaryState/dictionaries/utils.ts +25 -0
  321. package/src/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/hook.ts +14 -0
  322. package/src/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/types.ts +5 -0
  323. package/src/providers/dataDictionaryState/hooks/UseDataDictionaryReducer/hook.ts +17 -0
  324. package/src/providers/dataDictionaryState/hooks/UseDataDictionaryState/hook.ts +11 -0
  325. package/src/providers/dataDictionaryState/initializer/constants.ts +6 -0
  326. package/src/providers/dataDictionaryState/initializer/initializer.ts +22 -0
  327. package/src/providers/dataDictionaryState/initializer/utils.ts +39 -0
  328. package/src/providers/dataDictionaryState/provider.tsx +16 -0
  329. package/src/providers/dataDictionaryState/reducer.ts +42 -0
  330. package/src/providers/dataDictionaryState/types.ts +18 -0
  331. package/src/styles/common/mui/iconButton.ts +40 -0
  332. package/src/styles/common/mui/inputAdornment.ts +22 -0
  333. package/src/styles/common/mui/outlinedInput.ts +14 -0
  334. package/src/theme/common/components.ts +122 -16
  335. package/src/theme/components/muiButtonGroup.ts +4 -0
  336. package/src/theme/components/muiTableCell.ts +6 -0
  337. package/src/utils/parseJsonQueryParam.ts +27 -0
  338. package/src/utils/stateToUrlQuery.ts +40 -0
  339. package/src/views/DataDictionaryView/dataDictionaryView.tsx +29 -3
  340. package/src/views/DataDictionaryView/types.ts +5 -0
  341. package/src/views/DataDictionaryView/utils.ts +23 -0
  342. package/src/views/ExploreView/utils.ts +1 -1
  343. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.d.ts +0 -4
  344. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +0 -36
  345. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.d.ts +0 -8
  346. package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +0 -51
  347. package/src/components/DataDictionary/hooks/UseDataDictionary/types.ts +0 -9
  348. /package/lib/components/DataDictionary/{hooks/UseDataDictionary → components/Filters/components/ColumnFilterTags}/types.js +0 -0
@@ -0,0 +1,40 @@
1
+ import { NextRouter } from "next/router";
2
+
3
+ /**
4
+ * Builds a query object from state for URL parameter synchronization.
5
+ *
6
+ * This function converts a state object into a format compatible with NextRouter query parameters.
7
+ * It handles different value types appropriately:
8
+ *
9
+ * - Undefined values are excluded.
10
+ * - Strings are used as-is (empty strings are excluded).
11
+ * - Arrays are JSON stringified (empty arrays are excluded).
12
+ *
13
+ * @param state - State object containing values to convert to URL parameters.
14
+ * @returns A query object compatible with NextRouter.
15
+ */
16
+ export function stateToUrlQuery<
17
+ S extends Record<string, string | unknown[] | undefined>
18
+ >(state: S): NextRouter["query"] {
19
+ const query: NextRouter["query"] = {};
20
+
21
+ for (const [key, value] of Object.entries(state)) {
22
+ // Handle the undefined case.
23
+ if (value === undefined) continue;
24
+
25
+ // Handle the string case.
26
+ if (typeof value === "string") {
27
+ if (!value) continue;
28
+ query[key] = value;
29
+ continue;
30
+ }
31
+
32
+ // Handle the array case.
33
+ if (Array.isArray(value)) {
34
+ if (value.length === 0) continue;
35
+ query[key] = JSON.stringify(value);
36
+ }
37
+ }
38
+
39
+ return query;
40
+ }
@@ -1,9 +1,35 @@
1
1
  import React from "react";
2
2
  import { DataDictionary } from "../../components/DataDictionary/dataDictionary";
3
- import { BaseComponentProps } from "../../components/types";
3
+ import { useStateSyncManager } from "../../hooks/stateSyncManager/hook";
4
+ import { DataDictionaryContext } from "../../providers/dataDictionary/context";
5
+ import { clearMeta } from "../../providers/dataDictionaryState/actions/clearMeta/dispatch";
6
+ import { stateToUrl } from "../../providers/dataDictionaryState/actions/stateToUrl/dispatch";
7
+ import { urlToState } from "../../providers/dataDictionaryState/actions/urlToState/dispatch";
8
+ import { useDataDictionaryState } from "../../providers/dataDictionaryState/hooks/UseDataDictionaryState/hook";
9
+ import { DataDictionaryViewProps } from "./types";
10
+ import { buildStateSyncManagerContext } from "./utils";
4
11
 
5
12
  export const DataDictionaryView = ({
6
13
  className,
7
- }: BaseComponentProps): JSX.Element => {
8
- return <DataDictionary className={className} />;
14
+ dictionary,
15
+ }: DataDictionaryViewProps): JSX.Element => {
16
+ const { dataDictionaryDispatch, dataDictionaryState } =
17
+ useDataDictionaryState();
18
+
19
+ useStateSyncManager({
20
+ actions: { clearMeta, stateToUrl, urlToState },
21
+ dispatch: dataDictionaryDispatch,
22
+ state: buildStateSyncManagerContext(dataDictionaryState, dictionary),
23
+ });
24
+
25
+ return (
26
+ <DataDictionaryContext.Provider value={{ dictionary }}>
27
+ {/* Using dictionary as `key` to force component mount when dictionary changes to prevent stale outline, global filter value. */}
28
+ <DataDictionary
29
+ key={dictionary}
30
+ className={className}
31
+ dictionary={dictionary}
32
+ />
33
+ </DataDictionaryContext.Provider>
34
+ );
9
35
  };
@@ -0,0 +1,5 @@
1
+ import { BaseComponentProps } from "components/types";
2
+
3
+ export interface DataDictionaryViewProps extends BaseComponentProps {
4
+ dictionary: string;
5
+ }
@@ -0,0 +1,23 @@
1
+ import { StateSyncManagerContext } from "../../hooks/stateSyncManager/types";
2
+ import { DATA_DICTIONARY_URL_PARAMS } from "../../providers/dataDictionaryState/dictionaries/constants";
3
+ import { DataDictionaryState } from "../../providers/dataDictionaryState/types";
4
+
5
+ /**
6
+ * Builds the state sync manager context object for URL-state synchronization.
7
+ * - Command: The meta command that signals a URL update operation is needed e.g. "STATE_TO_URL_PUSH" or "STATE_TO_URL_REPLACE".
8
+ * - ParamKeys: Expected list of URL parameter keys that should be synchronized with state e.g. "filter".
9
+ * - Query: Dictionary related query object from state that should be synchronized with the URL.
10
+ * @param dataDictionaryState - Data dictionary state.
11
+ * @param dictionary - Dictionary ID.
12
+ * @returns The state sync manager context.
13
+ */
14
+ export function buildStateSyncManagerContext(
15
+ dataDictionaryState: DataDictionaryState,
16
+ dictionary: string
17
+ ): StateSyncManagerContext {
18
+ return {
19
+ command: dataDictionaryState.meta?.command,
20
+ paramKeys: Object.values(DATA_DICTIONARY_URL_PARAMS),
21
+ query: dataDictionaryState.dictionaries?.[dictionary]?.query,
22
+ };
23
+ }
@@ -5,7 +5,7 @@ import { EXPLORE_URL_PARAMS } from "../../providers/exploreState/constants";
5
5
  import { ExploreView } from "./exploreView";
6
6
 
7
7
  /**
8
- *Builds the state sync manager context object for URL-state synchronization.
8
+ * Builds the state sync manager context object for URL-state synchronization.
9
9
  * - Command: The meta command that signals a URL update operation is needed e.g. "STATE_TO_URL_PUSH" or "STATE_TO_URL_REPLACE".
10
10
  * - ParamKeys: Expected list of URL parameter keys that should be synchronized with state e.g. "filter", "catalog".
11
11
  * - Query: Entity related query object from state that should be synchronized with the URL.
@@ -1,4 +0,0 @@
1
- import { RowData } from "@tanstack/react-table";
2
- import { Attribute } from "../../../../common/entities";
3
- import { UseDataDictionary } from "./types";
4
- export declare const useDataDictionary: <T extends RowData = Attribute>() => UseDataDictionary<T>;
@@ -1,36 +0,0 @@
1
- import { useRouter } from "next/router";
2
- import { useMemo } from "react";
3
- import { useConfig } from "../../../../hooks/useConfig";
4
- import { buildClassesOutline } from "../../components/Outline/utils";
5
- import { useTable } from "../../components/Table/hook";
6
- export const useDataDictionary = () => {
7
- const { config: { dataDictionaries: dataDictionaryConfigs }, } = useConfig();
8
- // Dynamic paths must be resolved at this point otherwise the initial settings
9
- // passed to useTable on subsequent renders will be ignored (as the table will have
10
- // already been initialized).
11
- const router = useRouter();
12
- const query = router.query;
13
- const { dictionary } = query;
14
- // Get dictionary config by matching the current path with the data dictionary path
15
- const dataDictionaryConfig = useMemo(() => {
16
- if (!dataDictionaryConfigs?.length)
17
- return undefined;
18
- // Find the data dictionary with a path that matches the current route
19
- // We check if the current path starts with the dictionary path to handle nested routes
20
- return dataDictionaryConfigs.find((config) => config.path === dictionary);
21
- }, [dataDictionaryConfigs, dictionary]);
22
- // Get configured dictionary classes, column definitions and table options.
23
- const { classes, columnDefs, tableOptions, title } = useMemo(() => {
24
- return {
25
- classes: dataDictionaryConfig?.dataDictionary?.classes || [],
26
- columnDefs: dataDictionaryConfig?.columnDefs || [],
27
- tableOptions: dataDictionaryConfig?.tableOptions || {},
28
- title: dataDictionaryConfig?.dataDictionary?.title || "",
29
- };
30
- }, [dataDictionaryConfig]);
31
- // Build table instance.
32
- const table = useTable(classes, columnDefs, tableOptions);
33
- // Build outline.
34
- const outline = buildClassesOutline(table);
35
- return { outline, table, title };
36
- };
@@ -1,8 +0,0 @@
1
- import { RowData, Table } from "@tanstack/react-table";
2
- import { Attribute } from "../../../../common/entities";
3
- import { OutlineItem } from "../../../Layout/components/Outline/types";
4
- export interface UseDataDictionary<T extends RowData = Attribute> {
5
- outline: OutlineItem[];
6
- table: Table<T>;
7
- title: string;
8
- }
@@ -1,51 +0,0 @@
1
- import { RowData } from "@tanstack/react-table";
2
- import { useRouter } from "next/router";
3
- import { useMemo } from "react";
4
- import { Attribute, DataDictionaryConfig } from "../../../../common/entities";
5
- import { useConfig } from "../../../../hooks/useConfig";
6
- import { buildClassesOutline } from "../../components/Outline/utils";
7
- import { useTable } from "../../components/Table/hook";
8
- import { UseDataDictionary } from "./types";
9
-
10
- export const useDataDictionary = <
11
- T extends RowData = Attribute
12
- >(): UseDataDictionary<T> => {
13
- const {
14
- config: { dataDictionaries: dataDictionaryConfigs },
15
- } = useConfig();
16
- // Dynamic paths must be resolved at this point otherwise the initial settings
17
- // passed to useTable on subsequent renders will be ignored (as the table will have
18
- // already been initialized).
19
- const router = useRouter();
20
- const query = router.query;
21
- const { dictionary } = query;
22
-
23
- // Get dictionary config by matching the current path with the data dictionary path
24
- const dataDictionaryConfig = useMemo(() => {
25
- if (!dataDictionaryConfigs?.length) return undefined;
26
-
27
- // Find the data dictionary with a path that matches the current route
28
- // We check if the current path starts with the dictionary path to handle nested routes
29
- return dataDictionaryConfigs.find(
30
- (config) => config.path === dictionary
31
- ) as DataDictionaryConfig<T> | undefined;
32
- }, [dataDictionaryConfigs, dictionary]);
33
-
34
- // Get configured dictionary classes, column definitions and table options.
35
- const { classes, columnDefs, tableOptions, title } = useMemo(() => {
36
- return {
37
- classes: dataDictionaryConfig?.dataDictionary?.classes || [],
38
- columnDefs: dataDictionaryConfig?.columnDefs || [],
39
- tableOptions: dataDictionaryConfig?.tableOptions || {},
40
- title: dataDictionaryConfig?.dataDictionary?.title || "",
41
- };
42
- }, [dataDictionaryConfig]);
43
-
44
- // Build table instance.
45
- const table = useTable<T>(classes, columnDefs, tableOptions);
46
-
47
- // Build outline.
48
- const outline = buildClassesOutline<T>(table);
49
-
50
- return { outline, table, title };
51
- };
@@ -1,9 +0,0 @@
1
- import { RowData, Table } from "@tanstack/react-table";
2
- import { Attribute } from "../../../../common/entities";
3
- import { OutlineItem } from "../../../Layout/components/Outline/types";
4
-
5
- export interface UseDataDictionary<T extends RowData = Attribute> {
6
- outline: OutlineItem[];
7
- table: Table<T>;
8
- title: string;
9
- }