@powerhousedao/design-system 1.40.2 → 2.5.0-dev.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.
- package/dist/src/connect/components/document-timeline/components/h-divider.d.ts +10 -0
- package/dist/src/connect/components/document-timeline/components/h-divider.d.ts.map +1 -0
- package/dist/src/connect/components/document-timeline/components/h-divider.js +40 -0
- package/dist/src/connect/components/document-timeline/components/h-divider.js.map +1 -0
- package/dist/src/connect/components/document-timeline/components/index.d.ts +3 -0
- package/dist/src/connect/components/document-timeline/components/index.d.ts.map +1 -0
- package/dist/src/connect/components/document-timeline/components/index.js +3 -0
- package/dist/src/connect/components/document-timeline/components/index.js.map +1 -0
- package/dist/src/connect/components/document-timeline/components/timeline-bar.d.ts +12 -0
- package/dist/src/connect/components/document-timeline/components/timeline-bar.d.ts.map +1 -0
- package/dist/src/connect/components/document-timeline/components/timeline-bar.js +52 -0
- package/dist/src/connect/components/document-timeline/components/timeline-bar.js.map +1 -0
- package/dist/src/connect/components/document-timeline/document-timeline.d.ts +25 -0
- package/dist/src/connect/components/document-timeline/document-timeline.d.ts.map +1 -0
- package/dist/src/connect/components/document-timeline/document-timeline.js +57 -0
- package/dist/src/connect/components/document-timeline/document-timeline.js.map +1 -0
- package/dist/src/connect/components/document-timeline/index.d.ts +3 -0
- package/dist/src/connect/components/document-timeline/index.d.ts.map +1 -0
- package/dist/src/connect/components/document-timeline/index.js +3 -0
- package/dist/src/connect/components/document-timeline/index.js.map +1 -0
- package/dist/src/connect/components/document-timeline/mock-utils.d.ts +3 -0
- package/dist/src/connect/components/document-timeline/mock-utils.d.ts.map +1 -0
- package/dist/src/connect/components/document-timeline/mock-utils.js +53 -0
- package/dist/src/connect/components/document-timeline/mock-utils.js.map +1 -0
- package/dist/src/connect/components/document-toolbar/document-toolbar.d.ts +5 -1
- package/dist/src/connect/components/document-toolbar/document-toolbar.d.ts.map +1 -1
- package/dist/src/connect/components/document-toolbar/document-toolbar.js +31 -15
- package/dist/src/connect/components/document-toolbar/document-toolbar.js.map +1 -1
- package/dist/src/connect/components/drive-view/drive-view.d.ts +13 -9
- package/dist/src/connect/components/drive-view/drive-view.d.ts.map +1 -1
- package/dist/src/connect/components/drive-view/drive-view.js +3 -1
- package/dist/src/connect/components/drive-view/drive-view.js.map +1 -1
- package/dist/src/connect/components/index.d.ts +1 -0
- package/dist/src/connect/components/index.d.ts.map +1 -1
- package/dist/src/connect/components/index.js +1 -0
- package/dist/src/connect/components/index.js.map +1 -1
- package/dist/src/connect/components/tooltip/tooltip.d.ts +2 -0
- package/dist/src/connect/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/src/connect/components/tooltip/tooltip.js +2 -2
- package/dist/src/connect/components/tooltip/tooltip.js.map +1 -1
- package/dist/src/connect/components/tree-view/drop-indicator.d.ts +9 -6
- package/dist/src/connect/components/tree-view/drop-indicator.d.ts.map +1 -1
- package/dist/src/connect/components/tree-view/drop-indicator.js +4 -2
- package/dist/src/connect/components/tree-view/drop-indicator.js.map +1 -1
- package/dist/src/connect/components/tree-view/tree-view.d.ts +12 -8
- package/dist/src/connect/components/tree-view/tree-view.d.ts.map +1 -1
- package/dist/src/connect/components/tree-view/tree-view.js +4 -2
- package/dist/src/connect/components/tree-view/tree-view.js.map +1 -1
- package/dist/src/connect/hooks/drag-and-drop/use-drop.d.ts +5 -2
- package/dist/src/connect/hooks/drag-and-drop/use-drop.d.ts.map +1 -1
- package/dist/src/connect/hooks/drag-and-drop/use-drop.js.map +1 -1
- package/dist/src/connect/types/shared-props.d.ts +1 -7
- package/dist/src/connect/types/shared-props.d.ts.map +1 -1
- package/dist/src/powerhouse/components/icon-components/TimelineCaret.d.ts +3 -0
- package/dist/src/powerhouse/components/icon-components/TimelineCaret.d.ts.map +1 -0
- package/dist/src/powerhouse/components/icon-components/TimelineCaret.js +5 -0
- package/dist/src/powerhouse/components/icon-components/TimelineCaret.js.map +1 -0
- package/dist/src/powerhouse/components/icon-components/index.d.ts +1 -1
- package/dist/src/powerhouse/components/icon-components/index.d.ts.map +1 -1
- package/dist/src/powerhouse/components/icon-components/index.js +3 -0
- package/dist/src/powerhouse/components/icon-components/index.js.map +1 -1
- package/dist/src/scalars/EthereumAddress/EthereumAddress.js +1 -1
- package/dist/src/scalars/EthereumAddress/EthereumAddress.js.map +1 -1
- package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.js +1 -2
- package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.js.map +1 -1
- package/dist/src/scalars/components/fragments/id-autocomplete/use-id-autocomplete.d.ts.map +1 -1
- package/dist/src/scalars/components/fragments/id-autocomplete/use-id-autocomplete.js +0 -1
- package/dist/src/scalars/components/fragments/id-autocomplete/use-id-autocomplete.js.map +1 -1
- package/dist/src/scalars/components/fragments/select-field/content.d.ts.map +1 -1
- package/dist/src/scalars/components/fragments/select-field/content.js +1 -1
- package/dist/src/scalars/components/fragments/select-field/content.js.map +1 -1
- package/dist/src/scalars/components/fragments/select-field/subcomponents/CommandItemList.d.ts +1 -0
- package/dist/src/scalars/components/fragments/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
- package/dist/src/scalars/components/fragments/select-field/subcomponents/CommandItemList.js +2 -2
- package/dist/src/scalars/components/fragments/select-field/subcomponents/CommandItemList.js.map +1 -1
- package/dist/src/scalars/components/fragments/text-field/text-field.d.ts +3 -3
- package/dist/src/scalars/components/fragments/text-field/text-field.d.ts.map +1 -1
- package/dist/src/scalars/components/fragments/text-field/text-field.js.map +1 -1
- package/dist/src/scalars/components/fragments/textarea-field/textarea-field.d.ts +4 -5
- package/dist/src/scalars/components/fragments/textarea-field/textarea-field.d.ts.map +1 -1
- package/dist/src/scalars/components/fragments/textarea-field/textarea-field.js.map +1 -1
- package/dist/src/scalars/components/fragments/toggle-field/toggle-field.d.ts +3 -1
- package/dist/src/scalars/components/fragments/toggle-field/toggle-field.d.ts.map +1 -1
- package/dist/src/scalars/components/fragments/toggle-field/toggle-field.js.map +1 -1
- package/dist/src/scalars/components/types.d.ts +7 -0
- package/dist/src/scalars/components/types.d.ts.map +1 -1
- package/dist/src/scalars/lib/storybook-arg-types.d.ts +43 -1
- package/dist/src/scalars/lib/storybook-arg-types.d.ts.map +1 -1
- package/dist/src/scalars/lib/storybook-arg-types.js +34 -0
- package/dist/src/scalars/lib/storybook-arg-types.js.map +1 -1
- package/dist/src/ui/components/data-entry/aid-input/aid-input.js +2 -2
- package/dist/src/ui/components/data-entry/aid-input/aid-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/amount-input/utils.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/amount-input/utils.js +0 -1
- package/dist/src/ui/components/data-entry/amount-input/utils.js.map +1 -1
- package/dist/src/ui/components/data-entry/input/splitted-input-diff.d.ts +8 -0
- package/dist/src/ui/components/data-entry/input/splitted-input-diff.d.ts.map +1 -0
- package/dist/src/ui/components/data-entry/input/splitted-input-diff.js +35 -0
- package/dist/src/ui/components/data-entry/input/splitted-input-diff.js.map +1 -0
- package/dist/src/ui/components/data-entry/input/subcomponent/input-diff.d.ts +11 -0
- package/dist/src/ui/components/data-entry/input/subcomponent/input-diff.d.ts.map +1 -0
- package/dist/src/ui/components/data-entry/input/subcomponent/input-diff.js +8 -0
- package/dist/src/ui/components/data-entry/input/subcomponent/input-diff.js.map +1 -0
- package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.d.ts +9 -0
- package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.d.ts.map +1 -0
- package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js +27 -0
- package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js.map +1 -0
- package/dist/src/ui/components/data-entry/oid-input/oid-input.js +1 -1
- package/dist/src/ui/components/data-entry/oid-input/oid-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/phid-input/phid-input-diff.d.ts +13 -0
- package/dist/src/ui/components/data-entry/phid-input/phid-input-diff.d.ts.map +1 -0
- package/dist/src/ui/components/data-entry/phid-input/phid-input-diff.js +52 -0
- package/dist/src/ui/components/data-entry/phid-input/phid-input-diff.js.map +1 -0
- package/dist/src/ui/components/data-entry/phid-input/phid-input.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/phid-input/phid-input.js +9 -4
- package/dist/src/ui/components/data-entry/phid-input/phid-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/phid-input/types.d.ts +9 -1
- package/dist/src/ui/components/data-entry/phid-input/types.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/text-input/text-input-diff.d.ts +9 -0
- package/dist/src/ui/components/data-entry/text-input/text-input-diff.d.ts.map +1 -0
- package/dist/src/ui/components/data-entry/text-input/text-input-diff.js +8 -0
- package/dist/src/ui/components/data-entry/text-input/text-input-diff.js.map +1 -0
- package/dist/src/ui/components/data-entry/text-input/text-input.d.ts +3 -2
- package/dist/src/ui/components/data-entry/text-input/text-input.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/text-input/text-input.js +9 -2
- package/dist/src/ui/components/data-entry/text-input/text-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/textarea/subcomponent/splitted-textarea-diff.d.ts +13 -0
- package/dist/src/ui/components/data-entry/textarea/subcomponent/splitted-textarea-diff.d.ts.map +1 -0
- package/dist/src/ui/components/data-entry/textarea/subcomponent/splitted-textarea-diff.js +9 -0
- package/dist/src/ui/components/data-entry/textarea/subcomponent/splitted-textarea-diff.js.map +1 -0
- package/dist/src/ui/components/data-entry/textarea/textarea.d.ts +3 -2
- package/dist/src/ui/components/data-entry/textarea/textarea.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/textarea/textarea.js +17 -13
- package/dist/src/ui/components/data-entry/textarea/textarea.js.map +1 -1
- package/dist/src/ui/components/data-entry/toggle/toggle.d.ts +4 -2
- package/dist/src/ui/components/data-entry/toggle/toggle.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/toggle/toggle.js +5 -2
- package/dist/src/ui/components/data-entry/toggle/toggle.js.map +1 -1
- package/dist/style.css +135 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +20 -18
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface HDividerProps {
|
|
2
|
+
className?: string;
|
|
3
|
+
timestamp?: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
subtitle?: string;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
isSelected?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const HDivider: (props: HDividerProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=h-divider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"h-divider.d.ts","sourceRoot":"","sources":["../../../../../../src/connect/components/document-timeline/components/h-divider.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,4CAuF5C,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Tooltip } from "#connect";
|
|
3
|
+
import { Icon } from "#powerhouse";
|
|
4
|
+
import { formatDistanceToNow } from "date-fns";
|
|
5
|
+
import { useEffect, useState } from "react";
|
|
6
|
+
import { twMerge } from "tailwind-merge";
|
|
7
|
+
export const HDivider = (props) => {
|
|
8
|
+
const { className, timestamp, title, subtitle, onClick, isSelected = false, } = props;
|
|
9
|
+
const [open, setOpen] = useState(false);
|
|
10
|
+
const hasContent = !!title || !!subtitle || !!timestamp;
|
|
11
|
+
// Force update tooltips when props change
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
// Force close and re-open if already open to refresh content
|
|
14
|
+
if (open) {
|
|
15
|
+
setOpen(false);
|
|
16
|
+
setTimeout(() => hasContent && setOpen(true), 50);
|
|
17
|
+
}
|
|
18
|
+
}, [title, subtitle, timestamp, hasContent]);
|
|
19
|
+
const formatTimestamp = (isoString) => {
|
|
20
|
+
if (!isoString)
|
|
21
|
+
return "";
|
|
22
|
+
try {
|
|
23
|
+
return formatDistanceToNow(new Date(isoString), { addSuffix: true });
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return isoString;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const tooltipContent = (_jsxs("div", { className: "flex flex-col text-xs", children: [!!title && _jsx("div", { children: title }), !!subtitle && _jsx("div", { className: "text-gray-300", children: subtitle }), !!timestamp && _jsx("div", { children: formatTimestamp(timestamp) })] }));
|
|
30
|
+
const handleMouseEnter = () => {
|
|
31
|
+
if (hasContent) {
|
|
32
|
+
setOpen(true);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const handleMouseLeave = () => {
|
|
36
|
+
setOpen(false);
|
|
37
|
+
};
|
|
38
|
+
return (_jsxs("div", { className: "relative", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [isSelected && (_jsx(Icon, { name: "TimelineCaret", color: "#4EA9FF", size: 10, className: "absolute top-[-11px] z-40" })), _jsx(Tooltip, { className: "rounded-md bg-gray-900 text-white", content: tooltipContent, open: open && hasContent, onOpenChange: setOpen, delayDuration: 0, side: "bottom", sideOffset: 5, children: _jsx("div", { className: twMerge("mx-0.5 flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:bg-blue-300", isSelected && "bg-blue-300", className), onClick: onClick, "data-title": title, "data-subtitle": subtitle, "data-timestamp": timestamp, children: _jsx("div", { className: "h-0.5 w-1 rounded-full bg-gray-500" }) }) })] }));
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=h-divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"h-divider.js","sourceRoot":"","sources":["../../../../../../src/connect/components/document-timeline/components/h-divider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/connect/components/document-timeline/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/connect/components/document-timeline/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface TimelineBarProps {
|
|
2
|
+
readonly className?: string;
|
|
3
|
+
addSize?: 0 | 1 | 2 | 3 | 4;
|
|
4
|
+
delSize?: 0 | 1 | 2 | 3 | 4;
|
|
5
|
+
timestamp?: string;
|
|
6
|
+
additions?: number;
|
|
7
|
+
deletions?: number;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
isSelected?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const TimelineBar: React.FC<TimelineBarProps>;
|
|
12
|
+
//# sourceMappingURL=timeline-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline-bar.d.ts","sourceRoot":"","sources":["../../../../../../src/connect/components/document-timeline/components/timeline-bar.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6BD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmGlD,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable react/jsx-max-depth */
|
|
3
|
+
/* eslint-disable react/jsx-no-bind */
|
|
4
|
+
import { Tooltip } from "#connect";
|
|
5
|
+
import { Icon } from "#powerhouse";
|
|
6
|
+
import { format, parseISO } from "date-fns";
|
|
7
|
+
import { useState } from "react";
|
|
8
|
+
import { twMerge } from "tailwind-merge";
|
|
9
|
+
const getBarHeight = (size = 0) => {
|
|
10
|
+
switch (true) {
|
|
11
|
+
case size <= 0:
|
|
12
|
+
return "h-[1px]";
|
|
13
|
+
case size === 1:
|
|
14
|
+
return "h-[3px]";
|
|
15
|
+
case size === 2:
|
|
16
|
+
return "h-[6px]";
|
|
17
|
+
case size === 3:
|
|
18
|
+
return "h-[9px]";
|
|
19
|
+
case size >= 4:
|
|
20
|
+
return "h-[12px]";
|
|
21
|
+
default:
|
|
22
|
+
return "h-[1px]";
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const formatTimestamp = (isoString) => {
|
|
26
|
+
if (!isoString)
|
|
27
|
+
return "";
|
|
28
|
+
try {
|
|
29
|
+
const date = parseISO(isoString);
|
|
30
|
+
return format(date, "HH:mm, dd, MMMM");
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return isoString;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export const TimelineBar = ({ onClick, className, timestamp, additions, deletions, addSize = 0, delSize = 0, isSelected = false, }) => {
|
|
37
|
+
const [open, setOpen] = useState(false);
|
|
38
|
+
const noChanges = addSize === 0 && delSize === 0;
|
|
39
|
+
const addBarHeight = getBarHeight(addSize);
|
|
40
|
+
const delBarHeight = getBarHeight(delSize);
|
|
41
|
+
const tooltipContent = (_jsxs("div", { className: "flex flex-col text-xs", children: [_jsx("div", { children: formatTimestamp(timestamp) }), _jsx("div", { className: "text-green-900", children: `${additions} additions +` }), _jsx("div", { className: "text-red-700", children: `${deletions} deletions -` })] }));
|
|
42
|
+
const handleMouseEnter = () => {
|
|
43
|
+
if (!noChanges) {
|
|
44
|
+
setOpen(true);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const handleMouseLeave = () => {
|
|
48
|
+
setOpen(false);
|
|
49
|
+
};
|
|
50
|
+
return (_jsxs("div", { className: "relative", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [isSelected && (_jsx(Icon, { name: "TimelineCaret", color: "#4EA9FF", size: 10, className: "absolute left-[-2px] top-[-11px] z-40" })), noChanges ? (_jsx("div", { className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:bg-blue-300", className), "data-timestamp": timestamp, onClick: onClick, children: _jsx("div", { className: "size-[3px] rounded-full bg-gray-500" }) })) : (_jsx(Tooltip, { className: "rounded-md bg-gray-900 text-white", content: tooltipContent, open: open, onOpenChange: setOpen, delayDuration: 0, side: "bottom", sideOffset: 5, children: _jsxs("div", { className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:bg-blue-300", className, isSelected && "bg-blue-300"), "data-timestamp": timestamp, onClick: onClick, children: [_jsx("div", { className: "flex h-3 w-0.5 items-end", children: _jsx("div", { className: twMerge("h-3 w-0.5 rounded-t-full bg-green-600", addBarHeight) }) }), _jsx("div", { className: "flex h-3 w-0.5 items-start", children: _jsx("div", { className: twMerge("h-3 w-0.5 rounded-b-full bg-red-600", delBarHeight) }) })] }) }))] }));
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=timeline-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline-bar.js","sourceRoot":"","sources":["../../../../../../src/connect/components/document-timeline/components/timeline-bar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type TimelineBarProps } from "./components/index.js";
|
|
2
|
+
export type TimelineBarItem = Omit<TimelineBarProps, "className"> & {
|
|
3
|
+
id: string;
|
|
4
|
+
type: "bar";
|
|
5
|
+
revision?: number;
|
|
6
|
+
startDate?: Date;
|
|
7
|
+
endDate?: Date;
|
|
8
|
+
};
|
|
9
|
+
export type TimelineDividerItem = {
|
|
10
|
+
id: string;
|
|
11
|
+
type: "divider";
|
|
12
|
+
timestamp?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
subtitle?: string;
|
|
15
|
+
revision?: number;
|
|
16
|
+
startDate?: Date;
|
|
17
|
+
endDate?: Date;
|
|
18
|
+
};
|
|
19
|
+
export type TimelineItem = TimelineBarItem | TimelineDividerItem;
|
|
20
|
+
export interface DocumentTimelineProps {
|
|
21
|
+
onItemClick?: (item: TimelineItem | null) => void;
|
|
22
|
+
timeline?: Array<TimelineItem>;
|
|
23
|
+
}
|
|
24
|
+
export declare const DocumentTimeline: (props: DocumentTimelineProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=document-timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-timeline.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/document-timeline/document-timeline.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAChC;AASD,eAAO,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,4CA+G5D,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable react/jsx-max-depth */
|
|
3
|
+
/* eslint-disable react/jsx-no-bind */
|
|
4
|
+
import { TooltipProvider } from "#connect";
|
|
5
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
6
|
+
import { HDivider, TimelineBar, } from "./components/index.js";
|
|
7
|
+
const defaultTimeLineItem = {
|
|
8
|
+
id: "default",
|
|
9
|
+
type: "bar",
|
|
10
|
+
addSize: 0,
|
|
11
|
+
delSize: 0,
|
|
12
|
+
};
|
|
13
|
+
export const DocumentTimeline = (props) => {
|
|
14
|
+
const { timeline = [], onItemClick } = props;
|
|
15
|
+
const [selectedItem, setSelectedItem] = useState(null);
|
|
16
|
+
const scrollContainerRef = useRef(null);
|
|
17
|
+
const handleClick = (item) => {
|
|
18
|
+
if (item.id === selectedItem || item.id === defaultTimeLineItem.id) {
|
|
19
|
+
onItemClick?.(null);
|
|
20
|
+
setSelectedItem(null);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
onItemClick?.(item);
|
|
24
|
+
setSelectedItem(item.id);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const mergedTimelineItems = [...timeline, defaultTimeLineItem];
|
|
28
|
+
const [unselectedItems, selectedItems] = useMemo(() => {
|
|
29
|
+
const indexSelected = mergedTimelineItems.findIndex((item) => item.id === selectedItem);
|
|
30
|
+
return indexSelected === -1
|
|
31
|
+
? [mergedTimelineItems, []]
|
|
32
|
+
: [
|
|
33
|
+
mergedTimelineItems.slice(0, indexSelected),
|
|
34
|
+
mergedTimelineItems.slice(indexSelected),
|
|
35
|
+
];
|
|
36
|
+
}, [mergedTimelineItems, selectedItem]);
|
|
37
|
+
const renderTimelineItems = useCallback((items) => {
|
|
38
|
+
return items.map((item) => {
|
|
39
|
+
if (item.type === "divider") {
|
|
40
|
+
const { timestamp, title, subtitle } = item;
|
|
41
|
+
return (_jsx(HDivider, { timestamp: timestamp, title: title, subtitle: subtitle, onClick: () => handleClick(item), isSelected: item.id === selectedItem }, item.id));
|
|
42
|
+
}
|
|
43
|
+
return (_jsx(TimelineBar, { timestamp: item.timestamp, addSize: item.addSize, delSize: item.delSize, additions: item.additions, deletions: item.deletions, isSelected: item.id === selectedItem, onClick: () => handleClick(item) }, item.id));
|
|
44
|
+
});
|
|
45
|
+
}, [handleClick, selectedItem]);
|
|
46
|
+
const unselectedContent = useMemo(() => renderTimelineItems(unselectedItems), [unselectedItems, renderTimelineItems]);
|
|
47
|
+
const selectedContent = useMemo(() => renderTimelineItems(selectedItems), [selectedItems, renderTimelineItems]);
|
|
48
|
+
// Scroll to the end by default
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (scrollContainerRef.current) {
|
|
51
|
+
scrollContainerRef.current.scrollLeft =
|
|
52
|
+
scrollContainerRef.current.scrollWidth;
|
|
53
|
+
}
|
|
54
|
+
}, []);
|
|
55
|
+
return (_jsx(TooltipProvider, { delayDuration: 0, skipDelayDuration: 0, children: _jsxs("div", { className: "relative h-[36px] w-full", children: [_jsx("div", { className: "absolute left-[0px] z-[20] h-[17px] w-[6px] bg-white", children: _jsx("div", { className: "mt-[11px] h-[6px] w-[6px] rounded-tl-md bg-slate-50" }) }), _jsx("div", { className: "absolute right-[0px] top-[11px] z-[20] h-[6px] w-[6px] bg-white", children: _jsx("div", { className: "h-[6px] w-[6px] rounded-tr-md bg-slate-50" }) }), _jsx("div", { className: "absolute inset-x-0 bottom-0 h-[25px] rounded-md bg-slate-50" }), _jsx("div", { className: "absolute inset-x-0 bottom-0 h-[36px]", children: _jsx("div", { ref: scrollContainerRef, className: "h-full overflow-x-auto rounded-md", children: _jsxs("div", { className: "ml-auto flex h-[36px] w-max items-end px-2 pb-0", children: [_jsx("div", { className: "flex", children: unselectedContent }), _jsx("div", { className: "flex rounded-sm bg-blue-200", children: selectedContent })] }) }) }), _jsx("div", { className: "pointer-events-none absolute bottom-0 left-0 z-10 h-[25px] w-2 rounded-l-md bg-slate-50" }), _jsx("div", { className: "pointer-events-none absolute bottom-0 right-0 z-10 h-[25px] w-2 rounded-r-md bg-slate-50" })] }) }));
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=document-timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-timeline.js","sourceRoot":"","sources":["../../../../../src/connect/components/document-timeline/document-timeline.tsx"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,sCAAsC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EACL,QAAQ,EACR,WAAW,GAEZ,MAAM,uBAAuB,CAAC;AA4B/B,MAAM,mBAAmB,GAAoB;IAC3C,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC/D,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAE,EAAE;QACzC,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,IAAI,IAAI,CAAC,EAAE,KAAK,mBAAmB,CAAC,EAAE,EAAE,CAAC;YACnE,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;YACpB,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;YACpB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,GAAG,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC/D,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE;QACpD,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CACjD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CACnC,CAAC;QAEF,OAAO,aAAa,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC3B,CAAC,CAAC;gBACE,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;gBAC3C,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC;aACzC,CAAC;IACR,CAAC,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;IAExC,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,KAAmD,EAAE,EAAE;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBAC5C,OAAO,CACL,KAAC,QAAQ,IAEP,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAChC,UAAU,EAAE,IAAI,CAAC,EAAE,KAAK,YAAY,IAL/B,IAAI,CAAC,EAAE,CAMZ,CACH,CAAC;YACJ,CAAC;YAED,OAAO,CACL,KAAC,WAAW,IAEV,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,EAAE,KAAK,YAAY,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAP3B,IAAI,CAAC,EAAE,CAQZ,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,WAAW,EAAE,YAAY,CAAC,CAC5B,CAAC;IAEF,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAC1C,CAAC,eAAe,EAAE,mBAAmB,CAAC,CACvC,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC,EACxC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACrC,CAAC;IAEF,+BAA+B;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,kBAAkB,CAAC,OAAO,CAAC,UAAU;gBACnC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,eAAe,IAAC,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,YACrD,eAAK,SAAS,EAAC,0BAA0B,aACvC,cAAK,SAAS,EAAC,sDAAsD,YACnE,cAAK,SAAS,EAAC,qDAAqD,GAAG,GACnE,EAEN,cAAK,SAAS,EAAC,iEAAiE,YAC9E,cAAK,SAAS,EAAC,2CAA2C,GAAG,GACzD,EACN,cAAK,SAAS,EAAC,6DAA6D,GAAG,EAE/E,cAAK,SAAS,EAAC,sCAAsC,YACnD,cACE,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAC,mCAAmC,YAE7C,eAAK,SAAS,EAAC,iDAAiD,aAC9D,cAAK,SAAS,EAAC,MAAM,YAAE,iBAAiB,GAAO,EAC/C,cAAK,SAAS,EAAC,6BAA6B,YACzC,eAAe,GACZ,IACF,GACF,GACF,EACN,cAAK,SAAS,EAAC,yFAAyF,GAAG,EAC3G,cAAK,SAAS,EAAC,0FAA0F,GAAG,IACxG,GACU,CACnB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/document-timeline/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/connect/components/document-timeline/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-utils.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/document-timeline/mock-utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAchC,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,8CA+CtD,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { addHours } from "date-fns";
|
|
2
|
+
// Generate timestamps with 1 hour difference starting from a base date
|
|
3
|
+
const generateTimestamps = (count) => {
|
|
4
|
+
// Use a date from the past instead of future (2025)
|
|
5
|
+
const baseDate = new Date();
|
|
6
|
+
baseDate.setMonth(baseDate.getMonth() - 3); // Start from 3 months ago
|
|
7
|
+
return Array.from({ length: count }, (_, i) => addHours(baseDate, i).toISOString());
|
|
8
|
+
};
|
|
9
|
+
// Helper function to generate a large number of timeline items
|
|
10
|
+
export const generateLargeTimeline = (itemCount) => {
|
|
11
|
+
const timestamps = generateTimestamps(itemCount);
|
|
12
|
+
const timeline = [];
|
|
13
|
+
for (let i = 0; i < itemCount; i++) {
|
|
14
|
+
// Add a divider every 5 items
|
|
15
|
+
if (i > 0 && i % 5 === 0) {
|
|
16
|
+
timeline.push({
|
|
17
|
+
id: `divider-${i}`,
|
|
18
|
+
type: "divider",
|
|
19
|
+
timestamp: timestamps[i],
|
|
20
|
+
title: i % 2 === 0 ? "Atlas Document" : "Ratified Atlas Document",
|
|
21
|
+
subtitle: "Created",
|
|
22
|
+
});
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
// Generate random sizes for additions and deletions (0-4)
|
|
26
|
+
let addSize = Math.floor(Math.random() * 5);
|
|
27
|
+
let delSize = Math.floor(Math.random() * 5);
|
|
28
|
+
// Ensure at least one of addSize or delSize is not zero
|
|
29
|
+
if (addSize === 0 && delSize === 0) {
|
|
30
|
+
// Randomly choose which one to make non-zero
|
|
31
|
+
if (Math.random() > 0.5) {
|
|
32
|
+
addSize = (Math.floor(Math.random() * 4) + 1);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
delSize = (Math.floor(Math.random() * 4) + 1);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Generate random count of additions and deletions
|
|
39
|
+
const additions = addSize === 0 ? 0 : Math.floor(Math.random() * 100) + 1;
|
|
40
|
+
const deletions = delSize === 0 ? 0 : Math.floor(Math.random() * 100) + 1;
|
|
41
|
+
timeline.push({
|
|
42
|
+
id: `bar-${i}`,
|
|
43
|
+
type: "bar",
|
|
44
|
+
addSize,
|
|
45
|
+
delSize,
|
|
46
|
+
timestamp: timestamps[i],
|
|
47
|
+
additions,
|
|
48
|
+
deletions,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return timeline;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=mock-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-utils.js","sourceRoot":"","sources":["../../../../../src/connect/components/document-timeline/mock-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type DocumentTimelineProps, type TimelineBarItem, type TimelineDividerItem } from "../document-timeline/document-timeline.js";
|
|
1
2
|
export type DocumentToolbarProps = {
|
|
2
3
|
title?: string;
|
|
3
4
|
className?: string;
|
|
@@ -8,8 +9,11 @@ export type DocumentToolbarProps = {
|
|
|
8
9
|
onExport?: () => void;
|
|
9
10
|
onClose: () => void;
|
|
10
11
|
onShowRevisionHistory?: () => void;
|
|
11
|
-
|
|
12
|
+
timelineItems?: Array<TimelineBarItem | TimelineDividerItem>;
|
|
12
13
|
onSwitchboardLinkClick?: () => void;
|
|
14
|
+
initialTimelineVisible?: boolean;
|
|
15
|
+
timelineButtonVisible?: boolean;
|
|
16
|
+
onTimelineItemClick?: DocumentTimelineProps["onItemClick"];
|
|
13
17
|
};
|
|
14
18
|
export declare const DocumentToolbar: React.FC<DocumentToolbarProps>;
|
|
15
19
|
//# sourceMappingURL=document-toolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/document-toolbar/document-toolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"document-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/document-toolbar/document-toolbar.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,2CAA2C,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,KAAK,CAAC,eAAe,GAAG,mBAAmB,CAAC,CAAC;IAC7D,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAsL1D,CAAC"}
|
|
@@ -1,26 +1,42 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable react/jsx-no-bind */
|
|
3
|
+
/* eslint-disable react/jsx-max-depth */
|
|
4
|
+
/* eslint-disable react/button-has-type */
|
|
2
5
|
import { Icon } from "#powerhouse";
|
|
6
|
+
import { useEffect, useState } from "react";
|
|
3
7
|
import { twMerge } from "tailwind-merge";
|
|
8
|
+
import { DocumentTimeline, } from "../document-timeline/document-timeline.js";
|
|
4
9
|
export const DocumentToolbar = (props) => {
|
|
5
|
-
const { undo, canUndo, redo, canRedo, title, onClose, onExport, className, onShowRevisionHistory, onSwitchboardLinkClick,
|
|
10
|
+
const { undo, canUndo, redo, canRedo, title, onClose, onExport, className, onShowRevisionHistory, onSwitchboardLinkClick, timelineItems = [], onTimelineItemClick, initialTimelineVisible = false, timelineButtonVisible = false, } = props;
|
|
11
|
+
const [showTimeline, setShowTimeline] = useState(initialTimelineVisible);
|
|
6
12
|
const isUndoDisabled = !canUndo || !undo;
|
|
7
13
|
const isRedoDisabled = !canRedo || !redo;
|
|
8
14
|
const isExportDisabled = !onExport;
|
|
9
15
|
const isSwitchboardLinkDisabled = !onSwitchboardLinkClick;
|
|
10
16
|
const isRevisionHistoryDisabled = !onShowRevisionHistory;
|
|
11
|
-
const isTimelineDisabled =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
const isTimelineDisabled = timelineItems.length === 0;
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (initialTimelineVisible) {
|
|
20
|
+
setShowTimeline(true);
|
|
21
|
+
}
|
|
22
|
+
}, [initialTimelineVisible]);
|
|
23
|
+
const handleTimelineToggle = () => {
|
|
24
|
+
if (isTimelineDisabled)
|
|
25
|
+
return;
|
|
26
|
+
setShowTimeline(!showTimeline);
|
|
27
|
+
};
|
|
28
|
+
return (_jsxs("div", { className: "flex w-full flex-col", children: [_jsxs("div", { className: twMerge("flex h-12 w-full items-center justify-between rounded-xl border border-gray-200 bg-slate-50 px-4", className), children: [_jsxs("div", { className: "flex items-center gap-x-2", children: [_jsx("button", { className: twMerge("grid size-8 place-items-center rounded-lg border border-gray-200 bg-white", isUndoDisabled
|
|
29
|
+
? "cursor-not-allowed"
|
|
30
|
+
: "cursor-pointer active:opacity-70"), onClick: undo, disabled: isUndoDisabled, children: _jsx(Icon, { name: "ArrowCouterclockwise", size: 16, className: isUndoDisabled ? "text-gray-500" : "text-gray-900" }) }), _jsx("button", { className: twMerge("grid size-8 place-items-center rounded-lg border border-gray-200 bg-white", isRedoDisabled
|
|
31
|
+
? "cursor-not-allowed"
|
|
32
|
+
: "cursor-pointer active:opacity-70"), onClick: redo, disabled: isRedoDisabled, children: _jsx("div", { className: "-scale-x-100", children: _jsx(Icon, { name: "ArrowCouterclockwise", size: 16, className: isRedoDisabled ? "text-gray-500" : "text-gray-900" }) }) }), _jsx("button", { className: twMerge("flex h-8 items-center rounded-lg border border-gray-200 bg-white px-3 text-sm", isExportDisabled
|
|
33
|
+
? "cursor-not-allowed"
|
|
34
|
+
: "cursor-pointer active:opacity-70"), onClick: onExport, disabled: isExportDisabled, children: _jsx("span", { className: isExportDisabled ? "text-gray-500" : "text-gray-900", children: "Export" }) })] }), _jsx("div", { className: "flex items-center", children: _jsx("h1", { className: "text-sm font-medium text-gray-500", children: title }) }), _jsxs("div", { className: "flex items-center gap-x-2", children: [_jsx("button", { className: twMerge("grid size-8 place-items-center rounded-lg border border-gray-200 bg-white", isSwitchboardLinkDisabled
|
|
35
|
+
? "cursor-not-allowed"
|
|
36
|
+
: "cursor-pointer active:opacity-70"), onClick: onSwitchboardLinkClick, disabled: isSwitchboardLinkDisabled, children: _jsx(Icon, { name: "Drive", size: 16, className: isSwitchboardLinkDisabled ? "text-gray-500" : "text-gray-900" }) }), _jsx("button", { className: twMerge("grid size-8 place-items-center rounded-lg border border-gray-200 bg-white", isRevisionHistoryDisabled
|
|
37
|
+
? "cursor-not-allowed"
|
|
38
|
+
: "cursor-pointer active:opacity-70"), onClick: onShowRevisionHistory, disabled: isRevisionHistoryDisabled, children: _jsx(Icon, { name: "History", size: 16, className: isRevisionHistoryDisabled ? "text-gray-500" : "text-gray-900" }) }), timelineButtonVisible && (_jsx("button", { className: twMerge("grid size-8 place-items-center rounded-lg border border-gray-200 bg-white", isTimelineDisabled
|
|
39
|
+
? "cursor-not-allowed"
|
|
40
|
+
: "cursor-pointer active:opacity-70"), onClick: handleTimelineToggle, disabled: isTimelineDisabled, "aria-pressed": showTimeline, children: _jsx(Icon, { name: "Timeline", size: 16, className: twMerge("text-gray-900", isTimelineDisabled && "opacity-50", showTimeline && "text-blue-600") }) })), _jsx("button", { className: "grid size-8 cursor-pointer place-items-center rounded-lg border border-gray-200 bg-white active:opacity-70", onClick: onClose, children: _jsx(Icon, { name: "XmarkLight", size: 16, className: "text-gray-900" }) })] })] }), showTimeline && (_jsx("div", { className: "mt-2 w-full", children: _jsx(DocumentTimeline, { timeline: timelineItems, onItemClick: onTimelineItemClick }) }))] }));
|
|
25
41
|
};
|
|
26
42
|
//# sourceMappingURL=document-toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-toolbar.js","sourceRoot":"","sources":["../../../../../src/connect/components/document-toolbar/document-toolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"document-toolbar.js","sourceRoot":"","sources":["../../../../../src/connect/components/document-toolbar/document-toolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { type NodeProps, type SharingType, type UiDriveNode } from "#connect";
|
|
2
|
-
import type { TUiNodesContext } from "@powerhousedao/reactor-browser";
|
|
1
|
+
import { type NodeProps, type SharingType, type TNodeOptions, type UiDriveNode } from "#connect";
|
|
3
2
|
import { type ReactNode } from "react";
|
|
4
|
-
export type DriveViewProps =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
export type DriveViewProps = NodeProps & {
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
groupSharingType: SharingType;
|
|
6
|
+
disableAddDrives: boolean;
|
|
7
|
+
isAllowedToCreateDocuments: boolean;
|
|
8
|
+
nodeOptions: TNodeOptions;
|
|
9
|
+
className?: string;
|
|
10
|
+
onAddTrigger: (uiNodeDriveId: string) => Promise<void>;
|
|
11
|
+
onRemoveTrigger: (uiNodeDriveId: string) => Promise<void>;
|
|
12
|
+
onAddInvalidTrigger: (uiNodeDriveId: string) => Promise<void>;
|
|
13
|
+
showAddDriveModal: (groupSharingType: SharingType) => void;
|
|
14
|
+
showDriveSettingsModal: (uiDriveNode: UiDriveNode) => void;
|
|
11
15
|
};
|
|
12
16
|
export declare function DriveView(props: DriveViewProps): import("react/jsx-runtime").JSX.Element;
|
|
13
17
|
//# sourceMappingURL=drive-view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive-view.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/drive-view/drive-view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,
|
|
1
|
+
{"version":3,"file":"drive-view.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/drive-view/drive-view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,gBAAgB,EAAE,WAAW,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0BAA0B,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,YAAY,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3D,sBAAsB,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CA4C9C"}
|
|
@@ -2,9 +2,11 @@ import { createElement as _createElement } from "react";
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ConnectTreeView, } from "#connect";
|
|
4
4
|
import { Icon } from "#powerhouse";
|
|
5
|
+
import { useUiNodesContext } from "@powerhousedao/reactor-browser";
|
|
5
6
|
import { twJoin, twMerge } from "tailwind-merge";
|
|
6
7
|
export function DriveView(props) {
|
|
7
|
-
const {
|
|
8
|
+
const { groupSharingType, disableAddDrives, label, className, isAllowedToCreateDocuments, showAddDriveModal, } = props;
|
|
9
|
+
const { driveNodes } = useUiNodesContext();
|
|
8
10
|
const hasDriveNodes = driveNodes.length > 0;
|
|
9
11
|
const isContainerHighlighted = true;
|
|
10
12
|
function onShowAddDriveModal() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive-view.js","sourceRoot":"","sources":["../../../../../src/connect/components/drive-view/drive-view.tsx"],"names":[],"mappings":";;AAAA,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"drive-view.js","sourceRoot":"","sources":["../../../../../src/connect/components/drive-view/drive-view.tsx"],"names":[],"mappings":";;AAAA,OAAO,EACL,eAAe,GAKhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAgBjD,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EACJ,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,0BAA0B,EAC1B,iBAAiB,GAClB,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,MAAM,sBAAsB,GAAG,IAAI,CAAC;IAEpC,SAAS,mBAAmB;QAC1B,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,OAAO,CAChB,qFAAqF,EACrF,aAAa,IAAI,MAAM,EACvB,sBAAsB,IAAI,aAAa,EACvC,SAAS,CACV,aAED,eAAK,SAAS,EAAE,MAAM,CAAC,+CAA+C,CAAC,aACrE,YAAG,SAAS,EAAC,6CAA6C,YAAE,KAAK,GAAK,EACtE,cAAK,SAAS,EAAC,sBAAsB,YAClC,CAAC,gBAAgB,IAAI,0BAA0B,CAAC,CAAC,CAAC,CACjD,iBACE,SAAS,EAAE,OAAO,CAAC,qCAAqC,CAAC,EACzD,OAAO,EAAE,mBAAmB,YAE5B,KAAC,IAAI,IAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAE,EAAE,GAAI,GAC7B,CACV,CAAC,CAAC,CAAC,IAAI,GACJ,IACF,EACL,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7B,eAAC,eAAe,OAAK,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,GAAI,CACrE,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -6,6 +6,7 @@ export * from "./cookie-banner/index.js";
|
|
|
6
6
|
export * from "./default-editor-loader/index.js";
|
|
7
7
|
export * from "./disclosure/index.js";
|
|
8
8
|
export * from "./divider/index.js";
|
|
9
|
+
export * from "./document-timeline/index.js";
|
|
9
10
|
export * from "./document-toolbar/index.js";
|
|
10
11
|
export * from "./drive-view/index.js";
|
|
11
12
|
export * from "./dropdown-menu/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connect/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connect/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
@@ -6,6 +6,7 @@ export * from "./cookie-banner/index.js";
|
|
|
6
6
|
export * from "./default-editor-loader/index.js";
|
|
7
7
|
export * from "./disclosure/index.js";
|
|
8
8
|
export * from "./divider/index.js";
|
|
9
|
+
export * from "./document-timeline/index.js";
|
|
9
10
|
export * from "./document-toolbar/index.js";
|
|
10
11
|
export * from "./drive-view/index.js";
|
|
11
12
|
export * from "./dropdown-menu/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connect/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connect/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
@@ -3,6 +3,8 @@ import { type ReactNode } from "react";
|
|
|
3
3
|
type Props = TooltipProps & {
|
|
4
4
|
readonly className?: string;
|
|
5
5
|
readonly content: ReactNode;
|
|
6
|
+
readonly side?: "top" | "right" | "bottom" | "left";
|
|
7
|
+
readonly sideOffset?: number;
|
|
6
8
|
};
|
|
7
9
|
export declare function Tooltip(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
10
|
export declare const TooltipProvider: import("react").FC<import("@radix-ui/react-tooltip").TooltipProviderProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,KAAK,KAAK,GAAG,YAAY,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,KAAK,KAAK,GAAG,YAAY,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,2CAoCnC;AAED,eAAO,MAAM,eAAe,4EAAW,CAAC"}
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Content, Portal, Provider, Root, Trigger, } from "@radix-ui/react-tooltip";
|
|
3
3
|
import { twMerge } from "tailwind-merge";
|
|
4
4
|
export function Tooltip(props) {
|
|
5
|
-
const { children, content, open, defaultOpen, onOpenChange, className, ...rest } = props;
|
|
6
|
-
return (_jsxs(Root, { defaultOpen: defaultOpen, delayDuration: 0, onOpenChange: onOpenChange, open: open, children: [_jsx(Trigger, { asChild: true, children: children }), _jsx(Portal, { children: _jsx(Content, { ...rest, className: twMerge("shadow-tooltip rounded-lg border border-gray-200 bg-white p-2 text-xs", className), children: content }) })] }));
|
|
5
|
+
const { children, content, open, defaultOpen, onOpenChange, className, side = "top", sideOffset = 5, ...rest } = props;
|
|
6
|
+
return (_jsxs(Root, { defaultOpen: defaultOpen, delayDuration: 0, onOpenChange: onOpenChange, open: open, children: [_jsx(Trigger, { asChild: true, children: children }), _jsx(Portal, { children: _jsx(Content, { ...rest, side: side, sideOffset: sideOffset, className: twMerge("shadow-tooltip rounded-lg border border-gray-200 bg-white p-2 text-xs", className), children: content }) })] }));
|
|
7
7
|
}
|
|
8
8
|
export const TooltipProvider = Provider;
|
|
9
9
|
//# sourceMappingURL=tooltip.js.map
|