e.stopPropagation()}
>
diff --git a/web/libs/datamanager/src/components/Common/ErrorBox.jsx b/web/libs/datamanager/src/components/Common/ErrorBox.jsx
index b4f9eea8b46a..019eea5b4a05 100644
--- a/web/libs/datamanager/src/components/Common/ErrorBox.jsx
+++ b/web/libs/datamanager/src/components/Common/ErrorBox.jsx
@@ -1,5 +1,5 @@
import { inject } from "mobx-react";
-import { Button } from "./Button/Button";
+import { Button } from "@humansignal/ui";
import { Dropdown } from "./Dropdown/Dropdown";
import { Menu } from "./Menu/Menu";
import { IconInfo } from "@humansignal/icons";
@@ -21,16 +21,7 @@ const injector = inject(({ store }) => {
export const ErrorBox = injector(({ errors }) => {
return errors?.size > 0 ? (
{Array.from(errors.values()).map(ErrorRenderer)}}>
- }
- >
+ }>
Errors occurred
diff --git a/web/libs/datamanager/src/components/Common/FieldsButton.jsx b/web/libs/datamanager/src/components/Common/FieldsButton.jsx
index 0a6842ba07f7..ae774fd889e8 100644
--- a/web/libs/datamanager/src/components/Common/FieldsButton.jsx
+++ b/web/libs/datamanager/src/components/Common/FieldsButton.jsx
@@ -1,10 +1,9 @@
+import { Button, Checkbox } from "@humansignal/ui";
import { inject, observer } from "mobx-react";
import React from "react";
-import { Button } from "./Button/Button";
-import { Checkbox, Tooltip } from "@humansignal/ui";
+import { Elem } from "../../utils/bem";
import { Dropdown } from "./Dropdown/Dropdown";
import { Menu } from "./Menu/Menu";
-import { Elem } from "../../utils/bem";
const injector = inject(({ store }) => {
return {
@@ -80,7 +79,7 @@ export const FieldsButton = injector(
const renderButton = () => {
return (
-
+
{content.length ? content : null}
);
@@ -98,17 +97,21 @@ export const FieldsButton = injector(
resetTitle={resetTitle}
/>
}
- style={{
- maxHeight: 280,
- overflow: "auto",
- }}
+ style={{ maxHeight: 280, overflow: "auto" }}
openUpwardForShortViewport={openUpwardForShortViewport}
>
{tooltip ? (
-
-
- {renderButton()}
-
+
+
+ {content.length ? content : null}
+
) : (
renderButton()
diff --git a/web/libs/datamanager/src/components/Common/FiltersPane.jsx b/web/libs/datamanager/src/components/Common/FiltersPane.jsx
index e8409e915a09..f63fea81938e 100644
--- a/web/libs/datamanager/src/components/Common/FiltersPane.jsx
+++ b/web/libs/datamanager/src/components/Common/FiltersPane.jsx
@@ -3,8 +3,9 @@ import React, { useEffect, useRef } from "react";
import { IconChevronDown } from "@humansignal/icons";
import { Filters } from "../Filters/Filters";
import { Badge } from "./Badge/Badge";
-import { Button } from "./Button/Button";
+import { Button } from "@humansignal/ui";
import { Dropdown } from "./Dropdown/Dropdown";
+import { Icon } from "./Icon/Icon";
const buttonInjector = inject(({ store }) => {
const { viewsStore, currentView } = store;
@@ -22,14 +23,22 @@ export const FiltersButton = buttonInjector(
const hasFilters = activeFiltersNumber > 0;
return (
- sidebarEnabled && viewsStore.toggleSidebar()} {...rest}>
+ sidebarEnabled && viewsStore.toggleSidebar()}
+ trailing={ }
+ aria-label="Filters"
+ {...rest}
+ >
Filters{" "}
{hasFilters && (
{activeFiltersNumber}
)}
-
);
}),
diff --git a/web/libs/datamanager/src/components/Common/Form/Form.jsx b/web/libs/datamanager/src/components/Common/Form/Form.jsx
index 033cf5d6cf6b..5da8956645f4 100644
--- a/web/libs/datamanager/src/components/Common/Form/Form.jsx
+++ b/web/libs/datamanager/src/components/Common/Form/Form.jsx
@@ -2,7 +2,7 @@ import { Component, createRef, forwardRef, useCallback, useContext, useEffect, u
import { shallowEqualObjects } from "shallow-equal";
import { Block, cn, Elem } from "../../../utils/bem";
import { objectClean } from "../../../utils/helpers";
-import { Button } from "../Button/Button";
+import { Button } from "@humansignal/ui";
import { Oneof } from "../Oneof/Oneof";
import { Space } from "../Space/Space";
import { Counter, Input, Select, Toggle } from "./Elements";
@@ -537,7 +537,7 @@ Form.Builder = forwardRef(
{children}
{props.autosubmit !== true && withActions === true && (
-
+
Save
diff --git a/web/libs/datamanager/src/components/Common/Modal/Modal.jsx b/web/libs/datamanager/src/components/Common/Modal/Modal.jsx
index c943ce748906..f1d106b85dfe 100644
--- a/web/libs/datamanager/src/components/Common/Modal/Modal.jsx
+++ b/web/libs/datamanager/src/components/Common/Modal/Modal.jsx
@@ -1,7 +1,7 @@
import { createRef } from "react";
import { render } from "react-dom";
import { cn } from "../../../utils/bem";
-import { Button } from "../Button/Button";
+import { Button } from "@humansignal/ui";
import { Space } from "../Space/Space";
import { Modal } from "./ModalPopup";
@@ -51,8 +51,10 @@ export const confirm = ({ okText, onOk, cancelText, onCancel, buttonLook, ...pro
onCancel?.();
modal.close();
}}
- size="compact"
+ size="small"
+ look="outlined"
autoFocus
+ aria-label="Cancel"
>
{cancelText ?? "Cancel"}
@@ -62,8 +64,8 @@ export const confirm = ({ okText, onOk, cancelText, onCancel, buttonLook, ...pro
onOk?.();
modal.close();
}}
- size="compact"
- look={buttonLook ?? "primary"}
+ size="small"
+ aria-label={okText ?? "OK"}
>
{okText ?? "OK"}
@@ -84,8 +86,8 @@ export const info = ({ okText, onOkPress, ...props }) => {
onOkPress?.();
modal.close();
}}
- look="primary"
- size="compact"
+ size="small"
+ aria-label="OK"
>
{okText ?? "OK"}
diff --git a/web/libs/datamanager/src/components/Common/Modal/ModalPopup.jsx b/web/libs/datamanager/src/components/Common/Modal/ModalPopup.jsx
index 10e19211f0f4..3049ad84ec51 100644
--- a/web/libs/datamanager/src/components/Common/Modal/ModalPopup.jsx
+++ b/web/libs/datamanager/src/components/Common/Modal/ModalPopup.jsx
@@ -3,8 +3,7 @@ import { createPortal } from "react-dom";
import { IconCross } from "@humansignal/icons";
import { BemWithSpecifiContext, cn } from "../../../utils/bem";
import { aroundTransition } from "@humansignal/core/lib/utils/transition";
-import { Button } from "../Button/Button";
-import { Icon } from "../Icon/Icon";
+import { Button } from "@humansignal/ui";
import "./Modal.scss";
const { Block, Elem } = BemWithSpecifiContext();
@@ -85,12 +84,9 @@ export class Modal extends React.Component {
{this.state.title}
{this.props.allowClose !== false && (
- }
- />
+
+
+
)}
)}
diff --git a/web/libs/datamanager/src/components/Common/SDKButtons.jsx b/web/libs/datamanager/src/components/Common/SDKButtons.jsx
index ca512807ab9e..16f9b6b5b5c1 100644
--- a/web/libs/datamanager/src/components/Common/SDKButtons.jsx
+++ b/web/libs/datamanager/src/components/Common/SDKButtons.jsx
@@ -1,5 +1,5 @@
import { useSDK } from "../../providers/SDKProvider";
-import { Button } from "./Button/Button";
+import { Button } from "@humansignal/ui";
const SDKButton = ({ eventName, ...props }) => {
const sdk = useSDK();
@@ -7,6 +7,10 @@ const SDKButton = ({ eventName, ...props }) => {
return sdk.hasHandler(eventName) ? (
{
sdk.invoke(eventName);
}}
diff --git a/web/libs/datamanager/src/components/Common/Table/Table.jsx b/web/libs/datamanager/src/components/Common/Table/Table.jsx
index 9b3ca78e6640..ae91a745e120 100644
--- a/web/libs/datamanager/src/components/Common/Table/Table.jsx
+++ b/web/libs/datamanager/src/components/Common/Table/Table.jsx
@@ -2,7 +2,7 @@ import { observer } from "mobx-react";
import { createContext, forwardRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useSDK } from "../../../providers/SDKProvider";
import { isDefined } from "../../../utils/utils";
-import { Button } from "../Button/Button";
+import { Button } from "@humansignal/ui";
import { Icon } from "../Icon/Icon";
import { modal } from "../Modal/Modal";
import { IconCode, IconGear, IconGearNewUI } from "@humansignal/icons";
@@ -132,8 +132,7 @@ export const Table = observer(
return (
{
modal({
title: `Source for task ${out?.id}`,
@@ -141,8 +140,9 @@ export const Table = observer(
body: ,
});
}}
- icon={ }
- />
+ >
+
+
);
},
diff --git a/web/libs/datamanager/src/components/Common/Table/TableHead/TableHead.jsx b/web/libs/datamanager/src/components/Common/Table/TableHead/TableHead.jsx
index 29033bb477b8..66f0768be3f8 100644
--- a/web/libs/datamanager/src/components/Common/Table/TableHead/TableHead.jsx
+++ b/web/libs/datamanager/src/components/Common/Table/TableHead/TableHead.jsx
@@ -2,7 +2,7 @@ import { observer, useLocalStore } from "mobx-react";
import { toJS } from "mobx";
import React, { forwardRef, useCallback, useEffect, useRef } from "react";
import { ViewColumnType, ViewColumnTypeName, ViewColumnTypeShort } from "../../../../stores/Tabs/tab_column";
-import { Button } from "../../Button/Button";
+import { Button } from "@humansignal/ui";
import { Dropdown } from "../../Dropdown/Dropdown";
import { Menu } from "../../Menu/Menu";
import { Resizer } from "../../Resizer/Resizer";
@@ -57,18 +57,7 @@ const DropdownWrapper = observer(({ column, cellViews, children, onChange }) =>
}
>
-
+
{children}
diff --git a/web/libs/datamanager/src/components/Common/Tabs/Tabs.jsx b/web/libs/datamanager/src/components/Common/Tabs/Tabs.jsx
index 2d69988a0f12..30bcbc52de9d 100644
--- a/web/libs/datamanager/src/components/Common/Tabs/Tabs.jsx
+++ b/web/libs/datamanager/src/components/Common/Tabs/Tabs.jsx
@@ -1,10 +1,9 @@
import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
import { DragDropContext, Droppable } from "react-beautiful-dnd";
-import { IconEllipsisVertical } from "@humansignal/icons";
+import { IconEllipsisVertical, IconPlus } from "@humansignal/icons";
import { cn } from "../../../utils/bem";
-import { Button } from "../Button/Button";
+import { Button } from "@humansignal/ui";
import { Dropdown } from "../Dropdown/DropdownComponent";
-import { Icon } from "../Icon/Icon";
import Input from "../Input/Input";
import "./Tabs.scss";
import { TabsMenu } from "./TabsMenu";
@@ -61,7 +60,9 @@ export const Tabs = ({
{allowedActions.add !== false && (
-
+
+
+
)}
{tabBarExtraContent}
@@ -193,12 +194,9 @@ export const TabsItem = ({
}
>
- }
- />
+
+
+
)}
diff --git a/web/libs/datamanager/src/components/Common/Tabs/Tabs.scss b/web/libs/datamanager/src/components/Common/Tabs/Tabs.scss
index 289cef8734d4..c545a6b69beb 100644
--- a/web/libs/datamanager/src/components/Common/Tabs/Tabs.scss
+++ b/web/libs/datamanager/src/components/Common/Tabs/Tabs.scss
@@ -26,6 +26,7 @@
&__list {
display: flex;
min-width: 0;
+ align-items: center;
gap: 2px;
}
diff --git a/web/libs/datamanager/src/components/DataManager/DataManager.jsx b/web/libs/datamanager/src/components/DataManager/DataManager.jsx
index 3ec58963249b..3c8d16b3340b 100644
--- a/web/libs/datamanager/src/components/DataManager/DataManager.jsx
+++ b/web/libs/datamanager/src/components/DataManager/DataManager.jsx
@@ -1,7 +1,6 @@
import { inject, observer } from "mobx-react";
import { useCallback } from "react";
import { Draggable } from "react-beautiful-dnd";
-import { IconPlus } from "@humansignal/icons";
import { cn } from "../../utils/bem";
import { Interface } from "../Common/Interface";
import { Space } from "../Common/Space/Space";
@@ -85,7 +84,6 @@ const TabsSwitch = switchInjector(
onChange={(key) => views.setSelected(key)}
onDragEnd={onDragEnd}
tabBarExtraContent={ }
- addIcon={ }
allowedActions={editable}
>
{tabs.map((tab, index) => (
diff --git a/web/libs/datamanager/src/components/DataManager/Toolbar/ActionsButton.jsx b/web/libs/datamanager/src/components/DataManager/Toolbar/ActionsButton.jsx
index 4f51cac738b7..7b0b1aec9b2a 100644
--- a/web/libs/datamanager/src/components/DataManager/Toolbar/ActionsButton.jsx
+++ b/web/libs/datamanager/src/components/DataManager/Toolbar/ActionsButton.jsx
@@ -3,12 +3,13 @@ import { useCallback, useRef } from "react";
import { IconChevronRight, IconChevronDown, IconTrash } from "@humansignal/icons";
import { Block, Elem } from "../../../utils/bem";
import { FF_LOPS_E_3, isFF } from "../../../utils/feature-flags";
-import { Button } from "../../Common/Button/Button";
+import { Button } from "@humansignal/ui";
import { Dropdown } from "../../Common/Dropdown/DropdownComponent";
import Form from "../../Common/Form/Form";
import { Menu } from "../../Common/Menu/Menu";
import { Modal } from "../../Common/Modal/ModalPopup";
import "./ActionsButton.scss";
+import { Icon } from "../../Common/Icon/Icon";
const isFFLOPSE3 = isFF(FF_LOPS_E_3);
const injector = inject(({ store }) => ({
@@ -135,9 +136,15 @@ export const ActionsButton = injector(
openUpwardForShortViewport={false}
disabled={!hasSelected}
>
-
+ }
+ {...rest}
+ >
{selectedCount > 0 ? `${selectedCount} ${recordTypeLabel}${selectedCount > 1 ? "s" : ""}` : "Actions"}
-
);
diff --git a/web/libs/datamanager/src/components/DataManager/Toolbar/GridWidthButton.jsx b/web/libs/datamanager/src/components/DataManager/Toolbar/GridWidthButton.jsx
index 8cee9be11c0a..f14b75d01624 100644
--- a/web/libs/datamanager/src/components/DataManager/Toolbar/GridWidthButton.jsx
+++ b/web/libs/datamanager/src/components/DataManager/Toolbar/GridWidthButton.jsx
@@ -1,7 +1,7 @@
import { inject } from "mobx-react";
import { useCallback, useState } from "react";
import { IconMinus, IconPlus } from "@humansignal/icons";
-import { Button } from "../../Common/Button/Button";
+import { Button, ButtonGroup } from "@humansignal/ui";
import { Icon } from "../../Common/Icon/Icon";
import { Space } from "../../Common/Space/Space";
@@ -30,20 +30,24 @@ export const GridWidthButton = injector(({ view, gridWidth, size }) => {
return view.type === "grid" ? (
Columns: {width}
-
+
}
onClick={() => setGridWidth(width - 1)}
disabled={width === 3}
- />
+ aria-label="Decrease number of columns"
+ >
+
+
}
onClick={() => setGridWidth(width + 1)}
disabled={width === 10}
- />
-
+ aria-label="Increase number of columns"
+ >
+
+
+
) : null;
});
diff --git a/web/libs/datamanager/src/components/DataManager/Toolbar/LabelButton.jsx b/web/libs/datamanager/src/components/DataManager/Toolbar/LabelButton.jsx
index e2711375340f..dfaf2b61c2b9 100644
--- a/web/libs/datamanager/src/components/DataManager/Toolbar/LabelButton.jsx
+++ b/web/libs/datamanager/src/components/DataManager/Toolbar/LabelButton.jsx
@@ -1,8 +1,10 @@
import { inject } from "mobx-react";
-import { Button } from "../../Common/Button/Button";
+import { Button, ButtonGroup } from "@humansignal/ui";
import { Interface } from "../../Common/Interface";
import { useCallback, useEffect, useRef, useState } from "react";
-import { IconChevron, IconChevronDown } from "@humansignal/icons";
+import { IconChevronDown } from "@humansignal/icons";
+import { Dropdown } from "../../Common/Dropdown/DropdownComponent";
+import { Menu } from "../../Common/Menu/Menu";
const injector = inject(({ store }) => {
const { dataStore, currentView } = store;
@@ -84,30 +86,30 @@ export const LabelButton = injector(({ store, canLabel, size, target, selectedCo
return canLabel ? (
-
+
Label {selectedCount ? selectedCount : "All"} Task{!selectedCount || selectedCount > 1 ? "s" : ""}
-
+ Label Tasks As Displayed
+
+ }
>
- {isOpen ? : }
-
-
-
- Label Tasks As Displayed
-
+
+
+
+
+
) : null;
diff --git a/web/libs/datamanager/src/components/DataManager/Toolbar/OrderButton.jsx b/web/libs/datamanager/src/components/DataManager/Toolbar/OrderButton.jsx
index befdc01ef0fe..125f532e57bd 100644
--- a/web/libs/datamanager/src/components/DataManager/Toolbar/OrderButton.jsx
+++ b/web/libs/datamanager/src/components/DataManager/Toolbar/OrderButton.jsx
@@ -1,6 +1,6 @@
-import { inject } from "mobx-react";
import { IconSortDown, IconSortUp } from "@humansignal/icons";
-import { Button } from "../../Common/Button/Button";
+import { Button, ButtonGroup } from "@humansignal/ui";
+import { inject } from "mobx-react";
import { FieldsButton } from "../../Common/FieldsButton";
import { Space } from "../../Common/Space/Space";
@@ -16,7 +16,7 @@ const injector = inject(({ store }) => {
export const OrderButton = injector(({ size, ordering, view, ...rest }) => {
return (
-
+
{
/>
: }
onClick={() => view.setOrdering(ordering?.field)}
- />
-
+ aria-label={ordering?.desc ? "Sort ascending" : "Sort descending"}
+ >
+ {ordering?.desc ? : }
+
+
);
});
diff --git a/web/libs/datamanager/src/components/DataManager/Toolbar/RefreshButton.jsx b/web/libs/datamanager/src/components/DataManager/Toolbar/RefreshButton.jsx
index 1f1a2296cc6b..1cd1e1ff2869 100644
--- a/web/libs/datamanager/src/components/DataManager/Toolbar/RefreshButton.jsx
+++ b/web/libs/datamanager/src/components/DataManager/Toolbar/RefreshButton.jsx
@@ -1,6 +1,6 @@
import { inject } from "mobx-react";
import { IconRefresh } from "@humansignal/icons";
-import { Button } from "../../Common/Button/Button";
+import { Button } from "@humansignal/ui";
const injector = inject(({ store }) => {
return {
@@ -13,22 +13,17 @@ const injector = inject(({ store }) => {
export const RefreshButton = injector(({ store, needsDataFetch, projectFetch, size, style, ...rest }) => {
return (
{
await store.fetchProject({ force: true, interaction: "refresh" });
await store.currentView?.reload();
}}
- style={{
- ...(style ?? {}),
- minWidth: 0,
- padding: 0,
- width: 40,
- }}
- {...rest}
>
-
+
);
});
diff --git a/web/libs/datamanager/src/components/Filters/FilterLine/FilterLine.jsx b/web/libs/datamanager/src/components/Filters/FilterLine/FilterLine.jsx
index 67cb6d4cbe80..4ce160e14702 100644
--- a/web/libs/datamanager/src/components/Filters/FilterLine/FilterLine.jsx
+++ b/web/libs/datamanager/src/components/Filters/FilterLine/FilterLine.jsx
@@ -1,9 +1,8 @@
import { observer } from "mobx-react";
import { Fragment } from "react";
-import { IconClose } from "@humansignal/icons";
import { BemWithSpecifiContext } from "../../../utils/bem";
-import { Button } from "../../Common/Button/Button";
-import { Icon } from "../../Common/Icon/Icon";
+import { Button } from "@humansignal/ui";
+import { IconTrash } from "@humansignal/icons";
import { Tag } from "../../Common/Tag/Tag";
import { FilterDropdown } from "../FilterDropdown";
import "./FilterLine.scss";
@@ -68,15 +67,15 @@ export const FilterLine = observer(({ filter, availableFilters, index, view, sid
{
e.stopPropagation();
filter.delete();
}}
- icon={ }
- />
+ >
+
+
);
diff --git a/web/libs/datamanager/src/components/Filters/Filters.jsx b/web/libs/datamanager/src/components/Filters/Filters.jsx
index d4d3a0253b26..f77558d61271 100644
--- a/web/libs/datamanager/src/components/Filters/Filters.jsx
+++ b/web/libs/datamanager/src/components/Filters/Filters.jsx
@@ -1,8 +1,7 @@
import { inject } from "mobx-react";
import React from "react";
import { Block, cn, Elem } from "../../utils/bem";
-import { Button } from "../Common/Button/Button";
-import { Icon } from "../Common/Icon/Icon";
+import { Button } from "@humansignal/ui";
import { Tooltip } from "@humansignal/ui";
import { FilterLine } from "./FilterLine/FilterLine";
import { IconChevronRight, IconPlus } from "@humansignal/icons";
@@ -70,20 +69,20 @@ export const Filters = injector(({ views, currentView, filters }) => {
)}
- currentView.createFilter()} icon={ }>
+ currentView.createFilter()}
+ leading={ }
+ >
Add {filters.length ? "Another Filter" : "Filter"}
{!sidebarEnabled ? (
- views.expandFilters()}
- style={{ display: "inline-flex", alignItems: "center", padding: 0, width: "var(--button-height)" }}
- icon={ }
- />
+ views.expandFilters()}>
+
+
) : null}
diff --git a/web/libs/datamanager/src/components/Filters/FiltersSidebar/FilterSidebar.jsx b/web/libs/datamanager/src/components/Filters/FiltersSidebar/FilterSidebar.jsx
index 491c39ea324b..785cc8dedc77 100644
--- a/web/libs/datamanager/src/components/Filters/FiltersSidebar/FilterSidebar.jsx
+++ b/web/libs/datamanager/src/components/Filters/FiltersSidebar/FilterSidebar.jsx
@@ -1,8 +1,7 @@
import { inject } from "mobx-react";
import { IconChevronLeft } from "@humansignal/icons";
import { Block, Elem } from "../../../utils/bem";
-import { Button } from "../../Common/Button/Button";
-import { Icon } from "../../Common/Icon/Icon";
+import { Button } from "@humansignal/ui";
import { Filters } from "../Filters";
import "./FilterSidebar.scss";
@@ -19,18 +18,11 @@ const sidebarInjector = inject(({ store }) => {
export const FiltersSidebar = sidebarInjector(({ viewsStore, sidebarEnabled, sidebarVisible }) => {
return sidebarEnabled && sidebarVisible ? (
-
-
-
- }
- onClick={() => viewsStore.collapseFilters()}
- />
-
+
+
+ viewsStore.collapseFilters()}>
+
+
Filters
diff --git a/web/libs/datamanager/src/components/Label/Label.jsx b/web/libs/datamanager/src/components/Label/Label.jsx
index 6a12bb281701..72fbf35b5b7e 100644
--- a/web/libs/datamanager/src/components/Label/Label.jsx
+++ b/web/libs/datamanager/src/components/Label/Label.jsx
@@ -3,7 +3,7 @@ import { observer } from "mobx-react-lite";
import { useCallback, useEffect, useMemo, useRef } from "react";
import { IconChevronDown, IconChevronLeft, IconGearNewUI } from "@humansignal/icons";
import { Block, Elem } from "../../utils/bem";
-import { Button } from "../Common/Button/Button";
+import { Button } from "@humansignal/ui";
import { FieldsButton } from "../Common/FieldsButton";
import { Icon } from "../Common/Icon/Icon";
import { Resizer } from "../Common/Resizer/Resizer";
diff --git a/web/libs/datamanager/src/components/MainView/DataView/Table.jsx b/web/libs/datamanager/src/components/MainView/DataView/Table.jsx
index eab39595c2b6..37c53f582510 100644
--- a/web/libs/datamanager/src/components/MainView/DataView/Table.jsx
+++ b/web/libs/datamanager/src/components/MainView/DataView/Table.jsx
@@ -14,7 +14,7 @@ import { Tooltip } from "@humansignal/ui";
import { IconQuestionOutline } from "@humansignal/icons";
import { GridView } from "../GridView/GridView";
import "./Table.scss";
-import { Button } from "../../Common/Button/Button";
+import { Button } from "@humansignal/ui";
import { useState } from "react";
import { useEffect } from "react";
@@ -168,6 +168,8 @@ export const DataView = injector(
Press the button below to see any synced records
{
await store.fetchProject({ force: true, interaction: "refresh" });
await store.currentView?.reload();
@@ -193,7 +195,7 @@ export const DataView = injector(
{!hasData && !!store.interfaces.get("import") && (
-
+
Go to import
diff --git a/web/libs/datamanager/src/components/MainView/GridView/GridPreview.module.scss b/web/libs/datamanager/src/components/MainView/GridView/GridPreview.module.scss
index 030172bb5c4f..6c42e249a3dd 100644
--- a/web/libs/datamanager/src/components/MainView/GridView/GridPreview.module.scss
+++ b/web/libs/datamanager/src/components/MainView/GridView/GridPreview.module.scss
@@ -37,28 +37,12 @@
}
.container {
- overflow: hidden;
width: 100%;
height: 100%;
min-height: 100px;
- display: flex;
position: relative;
}
-.container button {
- padding: 0;
- flex: 20px 0 0;
- cursor: pointer;
- background: none;
- border-radius: var(--corner-radius-small);
- transition: all 150ms ease-out;
-
- &:hover {
- background: var(--color-primary-emphasis-subtle);
- color: var(--color-neutral-content);
- }
-}
-
.image {
pointer-events: none;
user-select: none;
diff --git a/web/libs/datamanager/src/components/MainView/GridView/GridPreview.tsx b/web/libs/datamanager/src/components/MainView/GridView/GridPreview.tsx
index 046e221cce67..2d139ec15d7b 100644
--- a/web/libs/datamanager/src/components/MainView/GridView/GridPreview.tsx
+++ b/web/libs/datamanager/src/components/MainView/GridView/GridPreview.tsx
@@ -1,5 +1,5 @@
-import { CloseOutlined, LeftCircleOutlined, QuestionCircleOutlined, RightCircleOutlined } from "@ant-design/icons";
-import { Checkbox } from "@humansignal/ui";
+import { CloseOutlined, QuestionCircleOutlined } from "@ant-design/icons";
+import { Button, Checkbox, IconChevronLeft, IconChevronRight } from "@humansignal/ui";
import { observer } from "mobx-react";
import type { PropsWithChildren } from "react";
import { createContext, useCallback, useEffect, useRef, useState } from "react";
@@ -108,14 +108,28 @@ const TaskModal = observer(({ view, tasks, imageField, currentTaskId, setCurrent
-