@gen3/frontend 0.11.31 → 0.11.33

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 (237) hide show
  1. package/dist/cjs/index.js +1510 -123
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/dts/components/AddtoDataLibrary/AddToDataLibrary.d.ts +1 -1
  4. package/dist/dts/components/AddtoDataLibrary/AddToDataLibrary.d.ts.map +1 -1
  5. package/dist/dts/components/AddtoDataLibrary/AddToDataLibrary.js +15 -11
  6. package/dist/dts/components/AddtoDataLibrary/AddToDataLibrary.js.map +1 -1
  7. package/dist/dts/components/AddtoDataLibrary/AddToDataLibrary.stories.d.ts +10 -1
  8. package/dist/dts/components/AddtoDataLibrary/AddToDataLibrary.stories.d.ts.map +1 -1
  9. package/dist/dts/components/AddtoDataLibrary/AddToDataLibrary.stories.js +4 -0
  10. package/dist/dts/components/AddtoDataLibrary/AddToDataLibrary.stories.js.map +1 -1
  11. package/dist/dts/components/AddtoDataLibrary/types.d.ts +2 -1
  12. package/dist/dts/components/AddtoDataLibrary/types.d.ts.map +1 -1
  13. package/dist/dts/components/Buttons/DownloadButtons/JSONObjectDownloadButton.js +1 -0
  14. package/dist/dts/components/Buttons/DownloadButtons/JSONObjectDownloadButton.js.map +1 -1
  15. package/dist/dts/components/Buttons/DownloadButtons/index.d.ts +2 -0
  16. package/dist/dts/components/Buttons/DownloadButtons/index.d.ts.map +1 -1
  17. package/dist/dts/components/Buttons/DownloadButtons/index.js +2 -0
  18. package/dist/dts/components/Buttons/DownloadButtons/index.js.map +1 -1
  19. package/dist/dts/components/Buttons/FunctionButton.d.ts +32 -0
  20. package/dist/dts/components/Buttons/FunctionButton.d.ts.map +1 -0
  21. package/dist/dts/components/Buttons/FunctionButton.js +99 -0
  22. package/dist/dts/components/Buttons/FunctionButton.js.map +1 -0
  23. package/dist/dts/components/CollapsableSidebar/CollapsableSidebar.stories.d.ts +1 -1
  24. package/dist/dts/components/CollapsableSidebar/CollapsableSidebar.stories.d.ts.map +1 -1
  25. package/dist/dts/components/DataItems/TruncatedStringWithTooltip.stories.d.ts +1 -1
  26. package/dist/dts/components/DataItems/TruncatedStringWithTooltip.stories.d.ts.map +1 -1
  27. package/dist/dts/components/Login/LoginPanel.d.ts.map +1 -1
  28. package/dist/dts/components/Login/LoginPanel.js +10 -4
  29. package/dist/dts/components/Login/LoginPanel.js.map +1 -1
  30. package/dist/dts/components/MessageCards/MessagePage.d.ts +7 -0
  31. package/dist/dts/components/MessageCards/MessagePage.d.ts.map +1 -0
  32. package/dist/dts/components/MessageCards/MessagePage.js +8 -0
  33. package/dist/dts/components/MessageCards/MessagePage.js.map +1 -0
  34. package/dist/dts/components/MessageCards/index.d.ts +2 -1
  35. package/dist/dts/components/MessageCards/index.d.ts.map +1 -1
  36. package/dist/dts/components/MessageCards/index.js +2 -1
  37. package/dist/dts/components/MessageCards/index.js.map +1 -1
  38. package/dist/dts/components/Providers/Gen3Provider.d.ts +13 -13
  39. package/dist/dts/components/SegmentedControl.stories.d.ts +2 -2
  40. package/dist/dts/components/SegmentedControl.stories.d.ts.map +1 -1
  41. package/dist/dts/components/Tables/ColumnOrdering.d.ts +11 -0
  42. package/dist/dts/components/Tables/ColumnOrdering.d.ts.map +1 -0
  43. package/dist/dts/components/Tables/ColumnOrdering.js +92 -0
  44. package/dist/dts/components/Tables/ColumnOrdering.js.map +1 -0
  45. package/dist/dts/components/Tables/ShowingCount.d.ts +12 -0
  46. package/dist/dts/components/Tables/ShowingCount.d.ts.map +1 -0
  47. package/dist/dts/components/Tables/ShowingCount.js +17 -0
  48. package/dist/dts/components/Tables/ShowingCount.js.map +1 -0
  49. package/dist/dts/components/Tables/TableHeader.d.ts +25 -0
  50. package/dist/dts/components/Tables/TableHeader.d.ts.map +1 -0
  51. package/dist/dts/components/Tables/TableHeader.js +84 -0
  52. package/dist/dts/components/Tables/TableHeader.js.map +1 -0
  53. package/dist/dts/components/Tables/TablePagination.d.ts +13 -0
  54. package/dist/dts/components/Tables/TablePagination.d.ts.map +1 -0
  55. package/dist/dts/components/Tables/TablePagination.js +67 -0
  56. package/dist/dts/components/Tables/TablePagination.js.map +1 -0
  57. package/dist/dts/components/Tables/types.d.ts +66 -0
  58. package/dist/dts/components/Tables/types.d.ts.map +1 -1
  59. package/dist/dts/components/Tables/utils.d.ts +16 -0
  60. package/dist/dts/components/Tables/utils.d.ts.map +1 -1
  61. package/dist/dts/components/Tables/utils.js +47 -0
  62. package/dist/dts/components/Tables/utils.js.map +1 -1
  63. package/dist/dts/components/facets/FacetTabs.js +1 -1
  64. package/dist/dts/components/facets/FacetTabs.js.map +1 -1
  65. package/dist/dts/components/facets/FiltersPanel.d.ts +3 -3
  66. package/dist/dts/components/facets/FiltersPanel.d.ts.map +1 -1
  67. package/dist/dts/components/facets/FiltersPanel.js.map +1 -1
  68. package/dist/dts/components/facets/Panels/DropdownPanel.d.ts +2 -1
  69. package/dist/dts/components/facets/Panels/DropdownPanel.d.ts.map +1 -1
  70. package/dist/dts/components/facets/Panels/DropdownPanel.js +7 -7
  71. package/dist/dts/components/facets/Panels/DropdownPanel.js.map +1 -1
  72. package/dist/dts/components/facets/Panels/types.d.ts +2 -2
  73. package/dist/dts/components/facets/Panels/types.d.ts.map +1 -1
  74. package/dist/dts/features/Analysis/AnalysisCard.stories.d.ts +2 -2
  75. package/dist/dts/features/Analysis/AnalysisCard.stories.d.ts.map +1 -1
  76. package/dist/dts/features/Analysis/AnalysisCardCompact.stories.d.ts +6 -6
  77. package/dist/dts/features/Analysis/AnalysisCardCompact.stories.d.ts.map +1 -1
  78. package/dist/dts/features/Analysis/AnalysisCenterWithSections.stories.d.ts +1 -1
  79. package/dist/dts/features/Analysis/AnalysisCenterWithSections.stories.d.ts.map +1 -1
  80. package/dist/dts/features/Analysis/AnalysisPanel.stories.d.ts +2 -2
  81. package/dist/dts/features/Analysis/AnalysisPanel.stories.d.ts.map +1 -1
  82. package/dist/dts/features/CohortBuilder/CohortPanel.d.ts.map +1 -1
  83. package/dist/dts/features/CohortBuilder/CohortPanel.js +3 -3
  84. package/dist/dts/features/CohortBuilder/CohortPanel.js.map +1 -1
  85. package/dist/dts/features/CohortBuilder/ExplorerTable/AccessCellRenderers.d.ts +3 -0
  86. package/dist/dts/features/CohortBuilder/ExplorerTable/AccessCellRenderers.d.ts.map +1 -0
  87. package/dist/dts/features/CohortBuilder/ExplorerTable/AccessCellRenderers.js +46 -0
  88. package/dist/dts/features/CohortBuilder/ExplorerTable/AccessCellRenderers.js.map +1 -0
  89. package/dist/dts/features/CohortBuilder/ExplorerTable/ArrayCellRenderer.d.ts +1 -2
  90. package/dist/dts/features/CohortBuilder/ExplorerTable/ArrayCellRenderer.d.ts.map +1 -1
  91. package/dist/dts/features/CohortBuilder/ExplorerTable/ArrayCellRenderer.js.map +1 -1
  92. package/dist/dts/features/CohortBuilder/ExplorerTable/CellRenderers.d.ts +1 -3
  93. package/dist/dts/features/CohortBuilder/ExplorerTable/CellRenderers.d.ts.map +1 -1
  94. package/dist/dts/features/CohortBuilder/ExplorerTable/CellRenderers.js +0 -1
  95. package/dist/dts/features/CohortBuilder/ExplorerTable/CellRenderers.js.map +1 -1
  96. package/dist/dts/features/CohortBuilder/ExplorerTable/ExplorerTable.d.ts +1 -1
  97. package/dist/dts/features/CohortBuilder/ExplorerTable/ExplorerTable.d.ts.map +1 -1
  98. package/dist/dts/features/CohortBuilder/ExplorerTable/ExplorerTable.js +43 -13
  99. package/dist/dts/features/CohortBuilder/ExplorerTable/ExplorerTable.js.map +1 -1
  100. package/dist/dts/features/CohortBuilder/ExplorerTable/ExplorerTableCellRenderers.d.ts +1 -3
  101. package/dist/dts/features/CohortBuilder/ExplorerTable/ExplorerTableCellRenderers.d.ts.map +1 -1
  102. package/dist/dts/features/CohortBuilder/ExplorerTable/ExplorerTableCellRenderers.js +64 -0
  103. package/dist/dts/features/CohortBuilder/ExplorerTable/ExplorerTableCellRenderers.js.map +1 -1
  104. package/dist/dts/features/CohortBuilder/ExplorerTable/SubTables/ExpandingSubtable.js +1 -1
  105. package/dist/dts/features/CohortBuilder/ExplorerTable/SubTables/ExpandingSubtable.js.map +1 -1
  106. package/dist/dts/features/CohortBuilder/ExplorerTable/SubTables/SubtableAccordian.d.ts.map +1 -1
  107. package/dist/dts/features/CohortBuilder/ExplorerTable/SubTables/SubtableAccordian.js +1 -1
  108. package/dist/dts/features/CohortBuilder/ExplorerTable/SubTables/SubtableAccordian.js.map +1 -1
  109. package/dist/dts/features/CohortBuilder/ExplorerTable/context.d.ts +5 -0
  110. package/dist/dts/features/CohortBuilder/ExplorerTable/context.d.ts.map +1 -0
  111. package/dist/dts/features/CohortBuilder/ExplorerTable/context.js +5 -0
  112. package/dist/dts/features/CohortBuilder/ExplorerTable/context.js.map +1 -0
  113. package/dist/dts/features/CohortBuilder/ExplorerTable/index.d.ts +3 -2
  114. package/dist/dts/features/CohortBuilder/ExplorerTable/index.d.ts.map +1 -1
  115. package/dist/dts/features/CohortBuilder/ExplorerTable/index.js +3 -1
  116. package/dist/dts/features/CohortBuilder/ExplorerTable/index.js.map +1 -1
  117. package/dist/dts/features/CohortBuilder/ExplorerTable/types.d.ts +12 -2
  118. package/dist/dts/features/CohortBuilder/ExplorerTable/types.d.ts.map +1 -1
  119. package/dist/dts/features/CohortBuilder/ExplorerTable/utils.d.ts +16 -2
  120. package/dist/dts/features/CohortBuilder/ExplorerTable/utils.d.ts.map +1 -1
  121. package/dist/dts/features/CohortBuilder/ExplorerTable/utils.js +17 -3
  122. package/dist/dts/features/CohortBuilder/ExplorerTable/utils.js.map +1 -1
  123. package/dist/dts/features/CohortBuilder/Repository/FileFacetPanel.d.ts +11 -0
  124. package/dist/dts/features/CohortBuilder/Repository/FileFacetPanel.d.ts.map +1 -0
  125. package/dist/dts/features/CohortBuilder/Repository/FileFacetPanel.js +92 -0
  126. package/dist/dts/features/CohortBuilder/Repository/FileFacetPanel.js.map +1 -0
  127. package/dist/dts/features/CohortBuilder/Repository/Repository.d.ts +4 -0
  128. package/dist/dts/features/CohortBuilder/Repository/Repository.d.ts.map +1 -0
  129. package/dist/dts/features/CohortBuilder/Repository/Repository.js +14 -0
  130. package/dist/dts/features/CohortBuilder/Repository/Repository.js.map +1 -0
  131. package/dist/dts/features/CohortBuilder/Repository/RepositoryPanel.d.ts +4 -0
  132. package/dist/dts/features/CohortBuilder/Repository/RepositoryPanel.d.ts.map +1 -0
  133. package/dist/dts/features/CohortBuilder/Repository/RepositoryPanel.js +43 -0
  134. package/dist/dts/features/CohortBuilder/Repository/RepositoryPanel.js.map +1 -0
  135. package/dist/dts/features/CohortBuilder/Repository/Stats.d.ts +9 -0
  136. package/dist/dts/features/CohortBuilder/Repository/Stats.d.ts.map +1 -0
  137. package/dist/dts/features/CohortBuilder/Repository/Stats.js +9 -0
  138. package/dist/dts/features/CohortBuilder/Repository/Stats.js.map +1 -0
  139. package/dist/dts/features/CohortBuilder/Repository/hooks.d.ts +9 -0
  140. package/dist/dts/features/CohortBuilder/Repository/hooks.d.ts.map +1 -0
  141. package/dist/dts/features/CohortBuilder/Repository/hooks.js +53 -0
  142. package/dist/dts/features/CohortBuilder/Repository/hooks.js.map +1 -0
  143. package/dist/dts/features/CohortBuilder/Repository/index.d.ts +4 -0
  144. package/dist/dts/features/CohortBuilder/Repository/index.d.ts.map +1 -0
  145. package/dist/dts/features/CohortBuilder/Repository/index.js +3 -0
  146. package/dist/dts/features/CohortBuilder/Repository/index.js.map +1 -0
  147. package/dist/dts/features/CohortBuilder/Repository/types.d.ts +57 -0
  148. package/dist/dts/features/CohortBuilder/Repository/types.d.ts.map +1 -0
  149. package/dist/dts/features/CohortBuilder/Repository/types.js +2 -0
  150. package/dist/dts/features/CohortBuilder/Repository/types.js.map +1 -0
  151. package/dist/dts/features/CohortBuilder/downloads/downloadActionHook.d.ts.map +1 -1
  152. package/dist/dts/features/CohortBuilder/downloads/downloadActionHook.js +4 -1
  153. package/dist/dts/features/CohortBuilder/downloads/downloadActionHook.js.map +1 -1
  154. package/dist/dts/features/CohortBuilder/index.d.ts +4 -2
  155. package/dist/dts/features/CohortBuilder/index.d.ts.map +1 -1
  156. package/dist/dts/features/CohortBuilder/index.js +4 -2
  157. package/dist/dts/features/CohortBuilder/index.js.map +1 -1
  158. package/dist/dts/features/CohortBuilder/types.d.ts +1 -3
  159. package/dist/dts/features/CohortBuilder/types.d.ts.map +1 -1
  160. package/dist/dts/features/CohortBuilder/types.js.map +1 -1
  161. package/dist/dts/features/Dictionary/Dictionary.d.ts.map +1 -1
  162. package/dist/dts/features/Dictionary/Dictionary.js +5 -2
  163. package/dist/dts/features/Dictionary/Dictionary.js.map +1 -1
  164. package/dist/dts/features/Dictionary/GraphView.d.ts +9 -0
  165. package/dist/dts/features/Dictionary/GraphView.d.ts.map +1 -0
  166. package/dist/dts/features/Dictionary/GraphView.js +99 -0
  167. package/dist/dts/features/Dictionary/GraphView.js.map +1 -0
  168. package/dist/dts/features/Dictionary/graphViewDataUtils.d.ts +114 -0
  169. package/dist/dts/features/Dictionary/graphViewDataUtils.d.ts.map +1 -0
  170. package/dist/dts/features/Dictionary/graphViewDataUtils.js +332 -0
  171. package/dist/dts/features/Dictionary/graphViewDataUtils.js.map +1 -0
  172. package/dist/dts/features/Dictionary/utils.d.ts.map +1 -1
  173. package/dist/dts/features/Dictionary/utils.js.map +1 -1
  174. package/dist/dts/features/Discovery/ActionBar/AddToDataLibrary.stories.d.ts +1 -1
  175. package/dist/dts/features/Discovery/ActionBar/AddToDataLibrary.stories.d.ts.map +1 -1
  176. package/dist/dts/features/Discovery/ActionBar/DataLibraryActionButton.stories.d.ts +1 -1
  177. package/dist/dts/features/Discovery/ActionBar/DataLibraryActionButton.stories.d.ts.map +1 -1
  178. package/dist/dts/features/Navigation/Footer/Footer.stories.d.ts +1 -1
  179. package/dist/dts/features/Navigation/Footer/Footer.stories.d.ts.map +1 -1
  180. package/dist/dts/features/Navigation/TopBar/IconButton.stories.d.ts +1 -1
  181. package/dist/dts/features/Navigation/TopBar/IconButton.stories.d.ts.map +1 -1
  182. package/dist/dts/features/Navigation/TopBar/TopBar.stories.d.ts +1 -1
  183. package/dist/dts/features/Navigation/TopBar/TopBar.stories.d.ts.map +1 -1
  184. package/dist/dts/index.d.ts +3 -2
  185. package/dist/dts/index.d.ts.map +1 -1
  186. package/dist/dts/index.js +5 -5
  187. package/dist/dts/index.js.map +1 -1
  188. package/dist/dts/lib/common/staticProps.d.ts.map +1 -1
  189. package/dist/dts/lib/common/staticProps.js +0 -1
  190. package/dist/dts/lib/common/staticProps.js.map +1 -1
  191. package/dist/dts/pages/404/Custom404Page.stories.d.ts +1 -1
  192. package/dist/dts/pages/404/Custom404Page.stories.d.ts.map +1 -1
  193. package/dist/dts/pages/Repository/Repository.d.ts +4 -0
  194. package/dist/dts/pages/Repository/Repository.d.ts.map +1 -0
  195. package/dist/dts/pages/Repository/Repository.js +25 -0
  196. package/dist/dts/pages/Repository/Repository.js.map +1 -0
  197. package/dist/dts/pages/Repository/data.d.ts +4 -0
  198. package/dist/dts/pages/Repository/data.d.ts.map +1 -0
  199. package/dist/dts/pages/Repository/data.js +93 -0
  200. package/dist/dts/pages/Repository/data.js.map +1 -0
  201. package/dist/dts/pages/Repository/index.d.ts +4 -0
  202. package/dist/dts/pages/Repository/index.d.ts.map +1 -0
  203. package/dist/dts/pages/Repository/index.js +4 -0
  204. package/dist/dts/pages/Repository/index.js.map +1 -0
  205. package/dist/dts/pages/Repository/types.d.ts +6 -0
  206. package/dist/dts/pages/Repository/types.d.ts.map +1 -0
  207. package/dist/dts/pages/Repository/types.js +2 -0
  208. package/dist/dts/pages/Repository/types.js.map +1 -0
  209. package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.d.ts.map +1 -1
  210. package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.js +1 -1
  211. package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.js.map +1 -1
  212. package/dist/dts/types/common.d.ts +4 -0
  213. package/dist/dts/types/common.d.ts.map +1 -1
  214. package/dist/dts/types/constants.d.ts +2 -0
  215. package/dist/dts/types/constants.d.ts.map +1 -1
  216. package/dist/dts/types/constants.js +2 -0
  217. package/dist/dts/types/constants.js.map +1 -1
  218. package/dist/dts/types/icons.d.ts +4 -3
  219. package/dist/dts/types/icons.d.ts.map +1 -1
  220. package/dist/dts/types/icons.js +4 -3
  221. package/dist/dts/types/icons.js.map +1 -1
  222. package/dist/dts/utils/RendererFactory.d.ts +1 -14
  223. package/dist/dts/utils/RendererFactory.d.ts.map +1 -1
  224. package/dist/dts/utils/RendererFactory.js.map +1 -1
  225. package/dist/dts/utils/time.d.ts +4 -0
  226. package/dist/dts/utils/time.d.ts.map +1 -1
  227. package/dist/dts/utils/time.js +4 -4
  228. package/dist/dts/utils/time.js.map +1 -1
  229. package/dist/dts/utils/validators.d.ts +2 -0
  230. package/dist/dts/utils/validators.d.ts.map +1 -0
  231. package/dist/dts/utils/validators.js +2 -0
  232. package/dist/dts/utils/validators.js.map +1 -0
  233. package/dist/esm/index.js +1514 -137
  234. package/dist/esm/index.js.map +1 -1
  235. package/dist/index.d.ts +158 -32
  236. package/dist/tsconfig.tsbuildinfo +1 -1
  237. package/package.json +6 -9
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import type { StoryObj } from '@storybook/react';
2
+ import type { StoryObj } from '@storybook/nextjs';
3
3
  import { SegmentedControlItem } from '@mantine/core';
4
4
  declare const meta: {
5
5
  component: React.FC<import("@mantine/core").SegmentedControlProps & {
6
6
  readonly padding?: number;
7
7
  }>;
8
- decorators: ((Story: import("@storybook/core/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
8
+ decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
9
9
  data: (string | SegmentedControlItem)[];
10
10
  value?: string | undefined;
11
11
  defaultValue?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.stories.d.ts","sourceRoot":"","sources":["../../../src/components/SegmentedControl.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAW,MAAM,eAAe,CAAC;AAkC9D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS+B,CAAC;AAE1C,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
1
+ {"version":3,"file":"SegmentedControl.stories.d.ts","sourceRoot":"","sources":["../../../src/components/SegmentedControl.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAW,MAAM,eAAe,CAAC;AAkC9D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS+B,CAAC;AAE1C,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { MRT_ColumnOrderState, MRT_RowData, MRT_TableInstance } from 'mantine-react-table';
3
+ declare function ColumnOrdering<TData extends MRT_RowData>({ table, handleColumnOrderingReset, columnOrder, setColumnOrder, noColumnOrdering, }: {
4
+ table: MRT_TableInstance<TData>;
5
+ handleColumnOrderingReset: () => void;
6
+ columnOrder: MRT_ColumnOrderState;
7
+ setColumnOrder: Dispatch<SetStateAction<MRT_ColumnOrderState>>;
8
+ noColumnOrdering?: string[];
9
+ }): JSX.Element;
10
+ export default ColumnOrdering;
11
+ //# sourceMappingURL=ColumnOrdering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnOrdering.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/ColumnOrdering.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,QAAQ,EAAE,cAAc,EAAY,MAAM,OAAO,CAAC;AASlE,OAAO,EAEL,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAiC7B,iBAAS,cAAc,CAAC,KAAK,SAAS,WAAW,EAAE,EACjD,KAAK,EACL,yBAAyB,EACzB,WAAW,EACX,cAAc,EACd,gBAAqB,GACtB,EAAE;IACD,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAChC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,WAAW,EAAE,oBAAoB,CAAC;IAClC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC/D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,GAAG,GAAG,CAAC,OAAO,CAgId;AAgGD,eAAe,cAAc,CAAC"}
@@ -0,0 +1,92 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useState } from 'react';
14
+ import { ActionIcon, Divider, Menu, Switch, TextInput, Tooltip, } from '@mantine/core';
15
+ import { isEqual } from 'lodash';
16
+ import { humanify } from '@gen3/core';
17
+ import { closestCenter, DndContext, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core';
18
+ import { arrayMove, SortableContext, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy, } from '@dnd-kit/sortable';
19
+ import { CSS } from '@dnd-kit/utilities';
20
+ import { restrictToParentElement, restrictToVerticalAxis, restrictToWindowEdges, } from '@dnd-kit/modifiers';
21
+ import { DragIcon, ListIcon, SearchIcon, UndoIcon, XIcon, } from '../../types/icons';
22
+ function ColumnOrdering(_a) {
23
+ var table = _a.table, handleColumnOrderingReset = _a.handleColumnOrderingReset, columnOrder = _a.columnOrder, setColumnOrder = _a.setColumnOrder, _b = _a.noColumnOrdering, noColumnOrdering = _b === void 0 ? [] : _b;
24
+ var _c = useState(false), showColumnMenu = _c[0], setShowColumnMenu = _c[1];
25
+ var _d = useState(''), searchValue = _d[0], setSearchValue = _d[1];
26
+ var _e = useState([]), columesVisible = _e[0], setColumsnVisible = _e[1];
27
+ var isBackToDefaults = isEqual(table.initialState.columnOrder, columnOrder) &&
28
+ isEqual(table.initialState.columnVisibility, Object.fromEntries(Object.entries(table.getState().columnVisibility).filter(function (_a) {
29
+ var value = _a[1];
30
+ return !value;
31
+ })));
32
+ var sensors = useSensors(useSensor(PointerSensor, {
33
+ activationConstraint: { distance: 5 },
34
+ }), useSensor(KeyboardSensor, {
35
+ coordinateGetter: sortableKeyboardCoordinates,
36
+ }));
37
+ var handleDragEnd = function (event) {
38
+ var active = event.active, over = event.over;
39
+ if ((active === null || active === void 0 ? void 0 : active.id) && (over === null || over === void 0 ? void 0 : over.id) && (active === null || active === void 0 ? void 0 : active.id) !== (over === null || over === void 0 ? void 0 : over.id)) {
40
+ setColumnOrder(function (items) {
41
+ var oldIndex = items.indexOf(active === null || active === void 0 ? void 0 : active.id);
42
+ var newIndex = items.indexOf(over === null || over === void 0 ? void 0 : over.id);
43
+ return arrayMove(items, oldIndex, newIndex);
44
+ });
45
+ }
46
+ };
47
+ return (_jsxs(Menu, { position: "bottom-end", middlewares: { shift: false, flip: false }, onChange: setShowColumnMenu, offset: 0, zIndex: 400, withinPortal: true, children: [_jsx(Tooltip, { label: "Customize Columns", disabled: showColumnMenu, children: _jsx(Menu.Target, { children: _jsx(ActionIcon, { variant: "outline", size: "lg", "aria-label": "Customize Columns", color: "primary", "data-testid": "button-column-selector-box", className: "".concat(showColumnMenu && 'border-2 border-primary', " hover:bg-primary hover:text-base-max"), children: !showColumnMenu ? (_jsx(ListIcon, { size: "1.5rem", "aria-hidden": "true" })) : (_jsx(XIcon, { size: "2rem", "aria-hidden": "true" })) }) }) }), _jsxs(Menu.Dropdown, { className: "bg-base-max border-2 border-primary p-2 rounded-md", "data-testid": "column-selector-popover-modal", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "font-bold text-primary-darkest tracking-normal", children: "Customize Columns" }), _jsx(Tooltip, { label: "Restore defaults", disabled: isBackToDefaults, zIndex: 400, children: _jsx("span", { children: _jsx(ActionIcon, { onClick: handleColumnOrderingReset, className: isBackToDefaults ? 'invisible' : 'border-0', "data-testid": "restore-default-icon", "aria-label": "restore default column ordering", children: _jsx(UndoIcon, { size: "1rem" }) }) }) })] }), _jsx(Divider, { color: "base.2", className: "mt-1" }), _jsx(TextInput, { value: searchValue, onChange: function (event) { return setSearchValue(event.currentTarget.value.trim()); }, placeholder: "Filter Columns", "aria-label": "Search input for columns", leftSection: _jsx(SearchIcon, { "aria-hidden": "true" }), className: "mb-2 mt-4", "data-testid": "textbox-column-selector" }), _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, modifiers: [
48
+ restrictToVerticalAxis,
49
+ restrictToWindowEdges,
50
+ restrictToParentElement,
51
+ ], children: _jsx(SortableContext, { items: table.getAllLeafColumns(), strategy: verticalListSortingStrategy, children: _jsx(List, { columns: table.getAllLeafColumns(), searchValue: searchValue, noColumnOrdering: noColumnOrdering }) }) })] })] }));
52
+ }
53
+ function List(_a) {
54
+ var columns = _a.columns, searchValue = _a.searchValue, _b = _a.noColumnOrdering, noColumnOrdering = _b === void 0 ? [] : _b;
55
+ return (_jsx("ul", { children: columns
56
+ .filter(function (column) {
57
+ if (!noColumnOrdering.includes(column.id)) {
58
+ return humanify({ term: column.id })
59
+ .toLowerCase()
60
+ .includes(searchValue.toLowerCase());
61
+ }
62
+ else {
63
+ return column.id;
64
+ }
65
+ })
66
+ .map(function (column, index) {
67
+ return !noColumnOrdering.includes(column.id) ? (_jsx(DraggableColumnItem, { column: column, isNotLast: index < columns.length - 1 }, column.id)) : (_jsx("li", { className: "hide" }, column.id));
68
+ }) }));
69
+ }
70
+ function DraggableColumnItem(_a) {
71
+ var _b;
72
+ var column = _a.column, isNotLast = _a.isNotLast;
73
+ var _c = useSortable({ id: column.id }), attributes = _c.attributes, listeners = _c.listeners, setNodeRef = _c.setNodeRef, transform = _c.transform, transition = _c.transition;
74
+ var style = {
75
+ transform: CSS.Transform.toString(transform),
76
+ transition: transition,
77
+ };
78
+ return (_jsx("li", __assign({ ref: setNodeRef, style: style }, listeners, { className: " ".concat(isNotLast ? 'mb-2' : ''), "data-testid": "column-selector-row-".concat(column.id), children: _jsxs("div", __assign({}, attributes, { role: undefined, className: "flex gap-2 items-center bg-nci-violet-lightest px-1 py-1.5 h-6 cursor-move", children: [_jsx(DragIcon, { size: "1rem", className: "text-primary" }), _jsx(Switch, { labelPosition: "left", label: typeof ((_b = column === null || column === void 0 ? void 0 : column.columnDef) === null || _b === void 0 ? void 0 : _b.header) === 'string'
79
+ ? column.columnDef.header
80
+ : humanify({ term: column.id }), classNames: {
81
+ root: 'w-full',
82
+ body: 'grow flex justify-between',
83
+ label: 'text-xs font-medium tracking-normal',
84
+ }, color: "accent", checked: column.getIsVisible(), onChange: function () { return column.toggleVisibility(); }, onKeyDown: function (e) {
85
+ if (e.code === 'Space') {
86
+ e.preventDefault();
87
+ column.toggleVisibility();
88
+ }
89
+ }, size: "xs", "data-testid": "switch-toggle" })] })) })));
90
+ }
91
+ export default ColumnOrdering;
92
+ //# sourceMappingURL=ColumnOrdering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnOrdering.js","sourceRoot":"","sources":["../../../../src/components/Tables/ColumnOrdering.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { DataStatus } from '@gen3/core';
2
+ declare function ShowingCount({ from, total, label, dataLength, status, pageSize, customDataTestID, }: {
3
+ from: number;
4
+ total: number;
5
+ label: string;
6
+ dataLength: number;
7
+ status: DataStatus;
8
+ pageSize: number;
9
+ customDataTestID?: string;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ export default ShowingCount;
12
+ //# sourceMappingURL=ShowingCount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowingCount.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/ShowingCount.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,iBAAS,YAAY,CAAC,EACpB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAuC,GACxC,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,2CAwBA;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ function ShowingCount(_a) {
3
+ var from = _a.from, total = _a.total, label = _a.label, dataLength = _a.dataLength, status = _a.status, pageSize = _a.pageSize, _b = _a.customDataTestID, customDataTestID = _b === void 0 ? 'text-showing-count' : _b;
4
+ var outputString = null;
5
+ if (!isNaN(from) && status === 'fulfilled') {
6
+ var paginationFrom = from >= 0 && dataLength > 0 ? from + 1 : 0;
7
+ var paginationTo = Math.min(from + pageSize, total);
8
+ var fromValue = paginationFrom === null || paginationFrom === void 0 ? void 0 : paginationFrom.toLocaleString();
9
+ var toValue = paginationTo === null || paginationTo === void 0 ? void 0 : paginationTo.toLocaleString();
10
+ var totalValue = total === null || total === void 0 ? void 0 : total.toLocaleString();
11
+ var updatedLabel = label && total > 1 ? "".concat(label, "s") : label;
12
+ outputString = (_jsxs("span", { children: [_jsx("b", { children: fromValue }), " - ", _jsx("b", { children: toValue }), " of ", _jsx("b", { children: totalValue }), label && " ".concat(updatedLabel)] }));
13
+ }
14
+ return (_jsxs("p", { "data-testid": customDataTestID, className: "text-heading text-sm", children: ["Showing ", outputString !== null && outputString !== void 0 ? outputString : '--'] }));
15
+ }
16
+ export default ShowingCount;
17
+ //# sourceMappingURL=ShowingCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowingCount.js","sourceRoot":"","sources":["../../../../src/components/Tables/ShowingCount.tsx"],"names":[],"mappings":";AAGA,SAAS,YAAY,CAAC,EAgBrB;QAfC,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,wBAAuC,EAAvC,gBAAgB,mBAAG,oBAAoB,KAAA;IAUvC,IAAI,YAAY,GAAuB,IAAI,CAAC;IAE5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3C,IAAM,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,IAAM,SAAS,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,cAAc,EAAE,CAAC;QACnD,IAAM,OAAO,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,EAAE,CAAC;QAC/C,IAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;QAC3C,IAAM,YAAY,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAG,KAAK,MAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAE9D,YAAY,GAAG,CACb,2BACE,sBAAI,SAAS,GAAK,SAAG,sBAAI,OAAO,GAAK,UAAI,sBAAI,UAAU,GAAK,EAC3D,KAAK,IAAI,WAAI,YAAY,CAAE,IACvB,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,4BAAgB,gBAAgB,EAAE,SAAS,EAAC,sBAAsB,yBACvD,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI,IAC3B,CACL,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { MRT_RowData, MRT_TableInstance } from 'mantine-react-table';
3
+ import { HandleTableSearchOrPaginationChange } from './types';
4
+ interface TableHeaderProps<TData extends MRT_RowData> {
5
+ additionalControls?: React.ReactNode;
6
+ tableTotalDetail?: React.ReactNode;
7
+ tableTitle?: React.ReactNode;
8
+ search?: {
9
+ enabled: boolean;
10
+ placeholder?: string;
11
+ defaultSearchTerm?: string;
12
+ tooltip?: string;
13
+ };
14
+ showControls?: boolean;
15
+ handleChange: HandleTableSearchOrPaginationChange;
16
+ table: MRT_TableInstance<TData>;
17
+ columnOrder: string[];
18
+ setColumnOrder: (order: string[]) => void;
19
+ baseZIndex?: number;
20
+ customBreakpoint?: number;
21
+ noColumnOrdering?: string[];
22
+ }
23
+ declare function TableHeader<TData extends MRT_RowData>({ additionalControls, tableTotalDetail, tableTitle, search, showControls, handleChange, table, columnOrder, setColumnOrder, baseZIndex, customBreakpoint, noColumnOrdering, }: TableHeaderProps<TData>): import("react/jsx-runtime").JSX.Element;
24
+ export default TableHeader;
25
+ //# sourceMappingURL=TableHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,SAAS,CAAC;AAE9D,UAAU,gBAAgB,CAAC,KAAK,SAAS,WAAW;IAClD,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,mCAAmC,CAAC;IAClD,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAkGD,iBAAS,WAAW,CAAC,KAAK,SAAS,WAAW,EAAE,EAC9C,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,gBAAgB,CAAC,KAAK,CAAC,2CAsGzB;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useEffect, useRef, useState } from 'react';
3
+ import { ActionIcon, TextInput, Tooltip } from '@mantine/core';
4
+ import ColumnOrdering from './ColumnOrdering';
5
+ import { useViewportSize } from '@mantine/hooks';
6
+ import { XL_BREAKPOINT } from '../../types/constants';
7
+ import { CloseIcon, SearchIcon } from '../../types/icons';
8
+ var TitleWrapper = function (_a) {
9
+ var title = _a.title;
10
+ return (_jsx("div", { className: "uppercase text-lg text-left ml-0 lg:ml-auto gap-x-2", children: title }));
11
+ };
12
+ var TotalDetailWrapper = function (_a) {
13
+ var detail = _a.detail, _b = _a.className, className = _b === void 0 ? '' : _b;
14
+ return (_jsx("div", { className: "self-center uppercase text-lg text-left ml-0 lg:ml-auto ".concat(className), children: detail }));
15
+ };
16
+ var TooltipWrapper = function (_a) {
17
+ var children = _a.children, tooltip = _a.tooltip, searchFocused = _a.searchFocused, baseZIndex = _a.baseZIndex;
18
+ return (_jsx(Tooltip, { multiline: true, label: tooltip, position: "bottom-start", offset: 0, opened: searchFocused, zIndex: baseZIndex + 1, classNames: {
19
+ tooltip: 'w-72 border border-base-lighter absolute bg-white p-2 text-nci-gray text-sm overflow-wrap break-all rounded-b rounded-t-none font-content',
20
+ }, children: children }));
21
+ };
22
+ var SearchInput = function (_a) {
23
+ var searchTerm = _a.searchTerm, placeholder = _a.placeholder, tooltip = _a.tooltip, searchFocused = _a.searchFocused, baseZIndex = _a.baseZIndex, onClear = _a.onClear, onChange = _a.onChange, onFocus = _a.onFocus, onBlur = _a.onBlur;
24
+ var TooltipContainer = tooltip ? TooltipWrapper : React.Fragment;
25
+ return (_jsx(TooltipContainer, { tooltip: tooltip, baseZIndex: baseZIndex, searchFocused: searchFocused, children: _jsx(TextInput, { leftSection: _jsx(SearchIcon, { size: 24, "aria-hidden": "true" }), "data-testid": "textbox-table-search-bar", placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : 'Search', "aria-label": "Table Search Input", size: "sm", rightSection: searchTerm.length > 0 && (_jsx(ActionIcon, { onClick: onClear, className: "border-0", children: _jsx(CloseIcon, { "aria-label": "clear search" }) })), value: searchTerm, onChange: onChange, onFocus: onFocus, onBlur: onBlur, classNames: {
26
+ input: "border-base-lighter focus:border-2 focus:border-primary".concat(tooltip ? ' focus:rounded-b-none' : ''),
27
+ wrapper: 'xl:w-72',
28
+ } }) }));
29
+ };
30
+ function TableHeader(_a) {
31
+ var _b;
32
+ var additionalControls = _a.additionalControls, tableTotalDetail = _a.tableTotalDetail, tableTitle = _a.tableTitle, search = _a.search, showControls = _a.showControls, handleChange = _a.handleChange, table = _a.table, columnOrder = _a.columnOrder, setColumnOrder = _a.setColumnOrder, baseZIndex = _a.baseZIndex, customBreakpoint = _a.customBreakpoint, noColumnOrdering = _a.noColumnOrdering;
33
+ var _c = useState((_b = search === null || search === void 0 ? void 0 : search.defaultSearchTerm) !== null && _b !== void 0 ? _b : ''), searchTerm = _c[0], setSearchTerm = _c[1];
34
+ var _d = useState(false), searchFocused = _d[0], setSearchFocused = _d[1];
35
+ var inputRef = useRef(null); // updated apr 10 25 to get build to work
36
+ var timeoutRef = useRef(null); // updated apr 10 25 to get build to work
37
+ var shouldShowControls = (search === null || search === void 0 ? void 0 : search.enabled) || showControls;
38
+ var width = useViewportSize().width;
39
+ useEffect(function () {
40
+ var _a;
41
+ if (search === null || search === void 0 ? void 0 : search.defaultSearchTerm) {
42
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
43
+ }
44
+ }, [search === null || search === void 0 ? void 0 : search.defaultSearchTerm]);
45
+ var handleInputChange = function (e) {
46
+ var newSearchTerm = e.target.value;
47
+ setSearchTerm(newSearchTerm);
48
+ if (timeoutRef.current)
49
+ clearTimeout(timeoutRef.current);
50
+ timeoutRef.current = setTimeout(function () {
51
+ handleChange({ newSearch: newSearchTerm.trim() });
52
+ }, 400);
53
+ };
54
+ var handleClearClick = function () {
55
+ setSearchTerm('');
56
+ if (timeoutRef.current)
57
+ clearTimeout(timeoutRef.current);
58
+ handleChange({ newSearch: '' });
59
+ };
60
+ var renderSearchAndControls = function () { return (_jsxs("div", { className: "flex items-center gap-2", "data-testid": "table-options-menu", children: [(search === null || search === void 0 ? void 0 : search.enabled) && (_jsx(SearchInput, { searchTerm: searchTerm, placeholder: search === null || search === void 0 ? void 0 : search.placeholder, tooltip: search === null || search === void 0 ? void 0 : search.tooltip, searchFocused: searchFocused, baseZIndex: baseZIndex, onClear: handleClearClick, onChange: handleInputChange, onFocus: function () { return setSearchFocused(true); }, onBlur: function () { return setSearchFocused(false); } })), showControls && (_jsx(ColumnOrdering, { table: table, handleColumnOrderingReset: function () {
61
+ table.resetColumnVisibility();
62
+ table.resetColumnOrder();
63
+ }, columnOrder: columnOrder, setColumnOrder: setColumnOrder, noColumnOrdering: noColumnOrdering }))] })); };
64
+ var breakpoint = customBreakpoint !== null && customBreakpoint !== void 0 ? customBreakpoint : XL_BREAKPOINT;
65
+ var detailClass = '';
66
+ if (tableTitle !== undefined) {
67
+ if (width >= breakpoint && shouldShowControls) {
68
+ detailClass = 'ml-auto';
69
+ }
70
+ }
71
+ else {
72
+ if (width >= breakpoint && additionalControls) {
73
+ detailClass = 'ml-auto';
74
+ }
75
+ else {
76
+ detailClass = 'order-first basis-full grow-0 shrink-0 -mb-2';
77
+ }
78
+ }
79
+ return (_jsxs("div", { className: "flex flex-wrap gap-4 items-center mb-2 ".concat(!additionalControls && !tableTitle ? 'justify-end' : 'justify-between'), children: [tableTitle && (_jsx("div", { className: additionalControls || (shouldShowControls && width < breakpoint)
80
+ ? 'basis-full grow-0 shrink-0 -mb-2'
81
+ : '', children: _jsx(TitleWrapper, { title: tableTitle }) })), additionalControls && additionalControls, tableTotalDetail && (_jsx("div", { className: detailClass, children: _jsx(TotalDetailWrapper, { detail: tableTotalDetail }) })), shouldShowControls && renderSearchAndControls()] }));
82
+ }
83
+ export default TableHeader;
84
+ //# sourceMappingURL=TableHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHeader.js","sourceRoot":"","sources":["../../../../src/components/Tables/TableHeader.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { DataStatus } from '@gen3/core';
2
+ import { HandleChangeInput, PaginationOptions } from './types';
3
+ import { MRT_RowData } from 'mantine-react-table';
4
+ interface TablePaginationProps<TData extends MRT_RowData> {
5
+ pagination: PaginationOptions;
6
+ disablePageSize: boolean;
7
+ handleChange: (obj: HandleChangeInput) => void;
8
+ tableData: TData[];
9
+ status: DataStatus;
10
+ }
11
+ declare function TablePagination<TData extends MRT_RowData>({ pagination, disablePageSize, handleChange, tableData, status, }: TablePaginationProps<TData>): JSX.Element;
12
+ export default TablePagination;
13
+ //# sourceMappingURL=TablePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/TablePagination.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,UAAU,oBAAoB,CAAC,KAAK,SAAS,WAAW;IACtD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/C,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,iBAAS,eAAe,CAAC,KAAK,SAAS,WAAW,EAAE,EAClD,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,MAAM,GACP,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAyH3C;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Pagination, Select } from '@mantine/core';
4
+ import ShowingCount from './ShowingCount';
5
+ function TablePagination(_a) {
6
+ var pagination = _a.pagination, disablePageSize = _a.disablePageSize, handleChange = _a.handleChange, tableData = _a.tableData, status = _a.status;
7
+ // TODO: Make this as a separate component leveraging pagination API of tanstack table
8
+ // For smoother setting of pagination so the values don't bounce around when loading new data
9
+ var _b = useState(10), pageSize = _b[0], setPageSize = _b[1];
10
+ var _c = useState(1), pageOn = _c[0], setPageOn = _c[1];
11
+ var _d = useState(1), pageTotal = _d[0], setPageTotal = _d[1];
12
+ useEffect(function () {
13
+ if ((pagination === null || pagination === void 0 ? void 0 : pagination.size) !== undefined) {
14
+ setPageSize(pagination.size);
15
+ }
16
+ if ((pagination === null || pagination === void 0 ? void 0 : pagination.page) !== undefined) {
17
+ setPageOn(pagination.page);
18
+ }
19
+ if ((pagination === null || pagination === void 0 ? void 0 : pagination.pages) !== undefined) {
20
+ setPageTotal(pagination.pages);
21
+ }
22
+ }, [pagination]);
23
+ var handlePageSizeChange = function (newPageSize) {
24
+ setPageSize(parseInt(newPageSize));
25
+ if (handleChange) {
26
+ handleChange({
27
+ newPageSize: newPageSize,
28
+ });
29
+ }
30
+ };
31
+ var handlePageChange = function (newPageNumber) {
32
+ setPageOn(newPageNumber);
33
+ if (handleChange) {
34
+ handleChange({
35
+ newPageNumber: newPageNumber,
36
+ });
37
+ }
38
+ };
39
+ return (_jsxs("div", { className: "flex flex-col w-full px-4 lg:flex-nowrap font-heading items-center text-content bg-base-max border-base-lighter border-1 border-t-0 py-3 xl:flex-row xl:justify-between", children: [!disablePageSize && (_jsxs("div", { className: "flex justify-between items-center gap-6 w-full xl:w-fit", children: [_jsxs("div", { "data-testid": "area-show-number-of-entries", className: "flex items-center m-auto ml-0 text-sm", children: [_jsx("span", { className: "my-auto mx-1", children: "Show" }), _jsx(Select, { size: "xs", radius: "md", onChange: handlePageSizeChange, value: pageSize === null || pageSize === void 0 ? void 0 : pageSize.toString(), data: [
40
+ { value: '10', label: '10' },
41
+ { value: '20', label: '20' },
42
+ { value: '40', label: '40' },
43
+ { value: '100', label: '100' },
44
+ ], classNames: {
45
+ root: 'w-16 font-heading',
46
+ dropdown: 'p-0',
47
+ }, "data-testid": "button-show-entries", "aria-label": "select page size" }), _jsx("span", { className: "my-auto mx-1", children: "Entries" })] }), _jsx("div", { className: "flex xl:hidden", children: _jsx(ShowingCount, { from: pagination === null || pagination === void 0 ? void 0 : pagination.from, label: pagination === null || pagination === void 0 ? void 0 : pagination.label, total: pagination === null || pagination === void 0 ? void 0 : pagination.total, dataLength: tableData === null || tableData === void 0 ? void 0 : tableData.length, status: status, pageSize: pageSize, customDataTestID: "xl-hidden-text-showing-count" }) })] })), _jsx("div", { className: "hidden xl:flex xl:items-center", children: _jsx(ShowingCount, { from: pagination === null || pagination === void 0 ? void 0 : pagination.from, label: pagination === null || pagination === void 0 ? void 0 : pagination.label, total: pagination === null || pagination === void 0 ? void 0 : pagination.total, dataLength: tableData === null || tableData === void 0 ? void 0 : tableData.length, status: status, pageSize: pageSize }) }), _jsx(Pagination, { "data-testid": "pagination", color: "primary", className: "mt-4 gap-1 mx-auto xl:mx-0 xl:gap-2 xl:mr-0 xl:mt-0", value: pageOn, onChange: handlePageChange, total: pageTotal, radius: "xs", size: "sm", withEdges: true, classNames: { control: 'border-0' }, getControlProps: function (control) {
48
+ switch (control) {
49
+ case 'previous':
50
+ return { 'aria-label': 'previous page button' };
51
+ case 'next':
52
+ return { 'aria-label': 'next page button' };
53
+ case 'first':
54
+ return { 'aria-label': 'first page button' };
55
+ case 'last':
56
+ return { 'aria-label': 'last page button' };
57
+ default:
58
+ return { 'aria-label': "".concat(control, " page button") };
59
+ }
60
+ }, getItemProps: function (page) {
61
+ return {
62
+ children: page === null || page === void 0 ? void 0 : page.toLocaleString(),
63
+ };
64
+ } })] }));
65
+ }
66
+ export default TablePagination;
67
+ //# sourceMappingURL=TablePagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePagination.js","sourceRoot":"","sources":["../../../../src/components/Tables/TablePagination.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { MRT_SortingState } from 'mantine-react-table';
1
2
  export interface Gen3TableColumn {
2
3
  field: string;
3
4
  title: string;
@@ -9,4 +10,69 @@ export interface Gen3TableColumn {
9
10
  errorIfNotAvailable?: boolean;
10
11
  valueIfNotAvailable?: string | number;
11
12
  }
13
+ /**
14
+ * Pagination options
15
+ * @property page - page on
16
+ * @property pages - total pages
17
+ * @property size - size of data set shown
18
+ * @property from - 0 indexed starting point of data shown
19
+ * @property total - total size of data set
20
+ * @property label - optional label of data shown
21
+ * @property disablePageSize - optional disable page size for pagination
22
+ * @category Table
23
+ */
24
+ export interface PaginationOptions {
25
+ /**
26
+ * page on
27
+ */
28
+ page: number;
29
+ /**
30
+ * total pages
31
+ */
32
+ pages: number;
33
+ /**
34
+ * size of data set shown
35
+ */
36
+ size: number;
37
+ /**
38
+ * 0 indexed starting point of data shown
39
+ */
40
+ from: number;
41
+ /**
42
+ * total size of data set
43
+ */
44
+ total: number;
45
+ /**
46
+ * label of data shown
47
+ */
48
+ label: string;
49
+ }
50
+ export interface HandleChangeInput {
51
+ /**
52
+ * page on
53
+ */
54
+ newPageNumber?: number;
55
+ /**
56
+ * size of data set shown
57
+ */
58
+ newPageSize?: string;
59
+ /**
60
+ * column sort
61
+ */
62
+ sortBy?: MRT_SortingState;
63
+ /**
64
+ * search term change
65
+ */
66
+ newSearch?: string;
67
+ /**
68
+ * headings change
69
+ */
70
+ newHeadings?: any;
71
+ }
72
+ export interface TableSearchOrPaginationProps {
73
+ newSearch?: string;
74
+ newPageSize?: string;
75
+ newPageNumber?: number;
76
+ }
77
+ export type HandleTableSearchOrPaginationChange = (params: TableSearchOrPaginationProps) => void;
12
78
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,MAAM,mCAAmC,GAAG,CAChD,MAAM,EAAE,4BAA4B,KACjC,IAAI,CAAC"}
@@ -1,3 +1,19 @@
1
1
  import { JSONObject } from '@gen3/core';
2
+ import { MRT_Column, MRT_ColumnOrderState, MRT_RowData, MRT_VisibilityState } from 'mantine-react-table';
2
3
  export declare const jsonPathAccessor: (path: string) => (row: JSONObject) => any;
4
+ export declare function downloadTSV<TData extends MRT_RowData>({ tableData, columns, columnOrder, columnVisibility, fileName, option, }: {
5
+ tableData: TData[];
6
+ columns: MRT_Column<TData>[];
7
+ columnOrder?: MRT_ColumnOrderState;
8
+ columnVisibility?: MRT_VisibilityState;
9
+ fileName: string;
10
+ option?: {
11
+ blacklist?: string[];
12
+ overwrite?: Record<string, // should be id of the column
13
+ {
14
+ header?: string;
15
+ composer?: (data: TData) => void;
16
+ }>;
17
+ };
18
+ }): Promise<void>;
3
19
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,MAAM,KAAK,UAAU,QAGjE,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,MAAM,KAAK,UAAU,QAGjE,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,SAAS,WAAW,EAAE,EACrD,SAAS,EACT,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,MAAM,GACP,EAAE;IACD,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QAEP,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAChB,MAAM,EAAE,6BAA6B;QACrC;YACE,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;SAClC,CACF,CAAC;KACH,CAAC;CACH,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDhB"}
@@ -1,6 +1,53 @@
1
+ import { humanify } from '@gen3/core';
1
2
  import { JSONPath } from 'jsonpath-plus';
3
+ import { saveAs } from 'file-saver';
2
4
  export var jsonPathAccessor = function (path) { return function (row) {
3
5
  // TODO: add logging if path is not found
4
6
  return JSONPath({ json: row, path: path });
5
7
  }; };
8
+ export function downloadTSV(_a) {
9
+ var tableData = _a.tableData, columns = _a.columns, columnOrder = _a.columnOrder, columnVisibility = _a.columnVisibility, fileName = _a.fileName, option = _a.option;
10
+ return new Promise(function (resolve, reject) {
11
+ var _a;
12
+ try {
13
+ // Filter columns based on blackList and columnVisibility
14
+ var filteredColumns_1 = columns.filter(function (column) {
15
+ var _a;
16
+ var columnId = column.id;
17
+ return (!((_a = option === null || option === void 0 ? void 0 : option.blacklist) === null || _a === void 0 ? void 0 : _a.includes(columnId)) &&
18
+ !((columnVisibility === null || columnVisibility === void 0 ? void 0 : columnVisibility[columnId]) === false));
19
+ });
20
+ // Sort columns based on columnOrder
21
+ var sortedColumns_1 = (_a = (columnOrder || columns.map(function (column) { return column.id; }))) === null || _a === void 0 ? void 0 : _a.map(function (columnId) {
22
+ var foundColumn = filteredColumns_1.find(function (column) { return column.id === columnId; });
23
+ return foundColumn ? foundColumn : null;
24
+ }).filter(function (column) { return column !== null; });
25
+ var header = sortedColumns_1
26
+ .map(function (column) {
27
+ return typeof (column === null || column === void 0 ? void 0 : column.header) === 'string'
28
+ ? column.header
29
+ : humanify({ term: column.id });
30
+ })
31
+ .join('\t');
32
+ var body = (tableData || [])
33
+ .map(function (datum) {
34
+ return sortedColumns_1
35
+ .map(function (column) {
36
+ var _a, _b;
37
+ var composer = (_b = (_a = option === null || option === void 0 ? void 0 : option.overwrite) === null || _a === void 0 ? void 0 : _a[column.id]) === null || _b === void 0 ? void 0 : _b.composer;
38
+ return composer ? composer(datum) : datum === null || datum === void 0 ? void 0 : datum[column.id];
39
+ })
40
+ .join('\t');
41
+ })
42
+ .join('\n');
43
+ var tsv = [header, body].join('\n');
44
+ var blob = new Blob([tsv], { type: 'text/tsv' });
45
+ saveAs(blob, fileName);
46
+ resolve();
47
+ }
48
+ catch (error) {
49
+ reject(error);
50
+ }
51
+ });
52
+ }
6
53
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/Tables/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,IAAY,IAAK,OAAA,UAAC,GAAe;IAChE,yCAAyC;IACzC,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC,EAHiD,CAGjD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/Tables/utils.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ export var FacetGroup = function (_a) {
59
59
  var facets = _a.facets, children = _a.children;
60
60
  var availableFields = facets.map(function (f) { return f.field; });
61
61
  useScrollToHash(availableFields, false);
62
- return (_jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 3xl:grid-cols-5 w-content gap-4 ml-2 w-full", "data-testid": "title-cohort-builder-facet-groups", children: children }));
62
+ return (_jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 3xl:grid-cols-5 w-content gap-4 mt-6 px-2 w-full", "data-testid": "title-cohort-builder-facet-groups", children: children }));
63
63
  };
64
64
  var CustomFacetGroup = function (_a) {
65
65
  var hooks = _a.hooks, customFacetHooks = _a.customFacetHooks, queryOptions = _a.queryOptions, getFacetLabel = _a.getFacetLabel, cardScrollMargin = _a.cardScrollMargin, Chart = _a.Chart, usedFacets = _a.usedFacets, useFieldNameToTitle = _a.useFieldNameToTitle;