@trebired/frontend 1.2.1 → 1.3.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/CHANGELOG.md +4 -0
- package/README.md +7 -1
- package/dist/config/normalize.d.ts.map +1 -1
- package/dist/config/normalize.js +2 -0
- package/dist/config/normalize.js.map +1 -1
- package/dist/config/scss.d.ts.map +1 -1
- package/dist/config/scss.js +2 -0
- package/dist/config/scss.js.map +1 -1
- package/dist/config/types.d.ts +1 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/graph/components/index.d.ts +43 -0
- package/dist/graph/components/index.d.ts.map +1 -0
- package/dist/graph/components/index.js +36 -0
- package/dist/graph/components/index.js.map +1 -0
- package/dist/graph/index.d.ts +32 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +77 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/styles/index.scss +129 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/inputs/choice.d.ts +11 -0
- package/dist/inputs/choice.d.ts.map +1 -0
- package/dist/inputs/choice.js +67 -0
- package/dist/inputs/choice.js.map +1 -0
- package/dist/inputs/components/choice.d.ts +13 -0
- package/dist/inputs/components/choice.d.ts.map +1 -0
- package/dist/inputs/components/choice.js +28 -0
- package/dist/inputs/components/choice.js.map +1 -0
- package/dist/inputs/components/disclosure.d.ts +12 -0
- package/dist/inputs/components/disclosure.d.ts.map +1 -0
- package/dist/inputs/components/disclosure.js +12 -0
- package/dist/inputs/components/disclosure.js.map +1 -0
- package/dist/inputs/components/dropdown.d.ts +19 -0
- package/dist/inputs/components/dropdown.d.ts.map +1 -0
- package/dist/inputs/components/dropdown.js +27 -0
- package/dist/inputs/components/dropdown.js.map +1 -0
- package/dist/inputs/components/index.d.ts +6 -0
- package/dist/inputs/components/index.d.ts.map +1 -1
- package/dist/inputs/components/index.js +6 -0
- package/dist/inputs/components/index.js.map +1 -1
- package/dist/inputs/components/search.d.ts +13 -0
- package/dist/inputs/components/search.d.ts.map +1 -0
- package/dist/inputs/components/search.js +20 -0
- package/dist/inputs/components/search.js.map +1 -0
- package/dist/inputs/components/status.d.ts +11 -0
- package/dist/inputs/components/status.d.ts.map +1 -0
- package/dist/inputs/components/status.js +12 -0
- package/dist/inputs/components/status.js.map +1 -0
- package/dist/inputs/components/tabs.d.ts +16 -0
- package/dist/inputs/components/tabs.d.ts.map +1 -0
- package/dist/inputs/components/tabs.js +20 -0
- package/dist/inputs/components/tabs.js.map +1 -0
- package/dist/inputs/disclosure.d.ts +18 -0
- package/dist/inputs/disclosure.d.ts.map +1 -0
- package/dist/inputs/disclosure.js +60 -0
- package/dist/inputs/disclosure.js.map +1 -0
- package/dist/inputs/dropdown.d.ts +23 -0
- package/dist/inputs/dropdown.d.ts.map +1 -0
- package/dist/inputs/dropdown.js +57 -0
- package/dist/inputs/dropdown.js.map +1 -0
- package/dist/inputs/index.d.ts +6 -0
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/index.js +18 -0
- package/dist/inputs/index.js.map +1 -1
- package/dist/inputs/search.d.ts +17 -0
- package/dist/inputs/search.d.ts.map +1 -0
- package/dist/inputs/search.js +41 -0
- package/dist/inputs/search.js.map +1 -0
- package/dist/inputs/status.d.ts +20 -0
- package/dist/inputs/status.d.ts.map +1 -0
- package/dist/inputs/status.js +54 -0
- package/dist/inputs/status.js.map +1 -0
- package/dist/inputs/styles/index.scss +1 -0
- package/dist/inputs/styles/primitives.scss +146 -0
- package/dist/inputs/tabs.d.ts +24 -0
- package/dist/inputs/tabs.d.ts.map +1 -0
- package/dist/inputs/tabs.js +76 -0
- package/dist/inputs/tabs.js.map +1 -0
- package/dist/layout/breadcrumb.d.ts +29 -0
- package/dist/layout/breadcrumb.d.ts.map +1 -0
- package/dist/layout/breadcrumb.js +38 -0
- package/dist/layout/breadcrumb.js.map +1 -0
- package/dist/layout/components/breadcrumb.d.ts +14 -0
- package/dist/layout/components/breadcrumb.d.ts.map +1 -0
- package/dist/layout/components/breadcrumb.js +13 -0
- package/dist/layout/components/breadcrumb.js.map +1 -0
- package/dist/layout/components/header.d.ts +25 -0
- package/dist/layout/components/header.d.ts.map +1 -0
- package/dist/layout/components/header.js +24 -0
- package/dist/layout/components/header.js.map +1 -0
- package/dist/layout/components/index.d.ts +3 -0
- package/dist/layout/components/index.d.ts.map +1 -1
- package/dist/layout/components/index.js +3 -0
- package/dist/layout/components/index.js.map +1 -1
- package/dist/layout/components/mobile.d.ts +12 -0
- package/dist/layout/components/mobile.d.ts.map +1 -0
- package/dist/layout/components/mobile.js +12 -0
- package/dist/layout/components/mobile.js.map +1 -0
- package/dist/layout/header.d.ts +42 -0
- package/dist/layout/header.d.ts.map +1 -0
- package/dist/layout/header.js +146 -0
- package/dist/layout/header.js.map +1 -0
- package/dist/layout/index.d.ts +5 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +7 -0
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/state.d.ts +21 -0
- package/dist/layout/state.d.ts.map +1 -0
- package/dist/layout/state.js +18 -0
- package/dist/layout/state.js.map +1 -0
- package/dist/layout/styles/chrome.scss +198 -0
- package/dist/layout/styles/index.scss +8 -2
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -1
- package/dist/sidebar/components/index.d.ts +1 -0
- package/dist/sidebar/components/index.d.ts.map +1 -1
- package/dist/sidebar/components/index.js +1 -0
- package/dist/sidebar/components/index.js.map +1 -1
- package/dist/sidebar/components/links.d.ts +26 -0
- package/dist/sidebar/components/links.d.ts.map +1 -0
- package/dist/sidebar/components/links.js +24 -0
- package/dist/sidebar/components/links.js.map +1 -0
- package/dist/sidebar/index.d.ts +1 -0
- package/dist/sidebar/index.d.ts.map +1 -1
- package/dist/sidebar/index.js +3 -0
- package/dist/sidebar/index.js.map +1 -1
- package/dist/sidebar/live.d.ts +20 -0
- package/dist/sidebar/live.d.ts.map +1 -0
- package/dist/sidebar/live.js +61 -0
- package/dist/sidebar/live.js.map +1 -0
- package/dist/sidebar/styles/index.scss +19 -0
- package/dist/src/config/normalize.d.ts.map +1 -1
- package/dist/src/config/normalize.js +2 -0
- package/dist/src/config/normalize.js.map +1 -1
- package/dist/src/config/scss.d.ts.map +1 -1
- package/dist/src/config/scss.js +2 -0
- package/dist/src/config/scss.js.map +1 -1
- package/dist/src/config/types.d.ts +1 -1
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/graph/components/index.d.ts +43 -0
- package/dist/src/graph/components/index.d.ts.map +1 -0
- package/dist/src/graph/components/index.js +36 -0
- package/dist/src/graph/components/index.js.map +1 -0
- package/dist/src/graph/index.d.ts +32 -0
- package/dist/src/graph/index.d.ts.map +1 -0
- package/dist/src/graph/index.js +77 -0
- package/dist/src/graph/index.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/inputs/choice.d.ts +11 -0
- package/dist/src/inputs/choice.d.ts.map +1 -0
- package/dist/src/inputs/choice.js +67 -0
- package/dist/src/inputs/choice.js.map +1 -0
- package/dist/src/inputs/components/choice.d.ts +13 -0
- package/dist/src/inputs/components/choice.d.ts.map +1 -0
- package/dist/src/inputs/components/choice.js +28 -0
- package/dist/src/inputs/components/choice.js.map +1 -0
- package/dist/src/inputs/components/disclosure.d.ts +12 -0
- package/dist/src/inputs/components/disclosure.d.ts.map +1 -0
- package/dist/src/inputs/components/disclosure.js +12 -0
- package/dist/src/inputs/components/disclosure.js.map +1 -0
- package/dist/src/inputs/components/dropdown.d.ts +19 -0
- package/dist/src/inputs/components/dropdown.d.ts.map +1 -0
- package/dist/src/inputs/components/dropdown.js +27 -0
- package/dist/src/inputs/components/dropdown.js.map +1 -0
- package/dist/src/inputs/components/index.d.ts +6 -0
- package/dist/src/inputs/components/index.d.ts.map +1 -1
- package/dist/src/inputs/components/index.js +6 -0
- package/dist/src/inputs/components/index.js.map +1 -1
- package/dist/src/inputs/components/search.d.ts +13 -0
- package/dist/src/inputs/components/search.d.ts.map +1 -0
- package/dist/src/inputs/components/search.js +20 -0
- package/dist/src/inputs/components/search.js.map +1 -0
- package/dist/src/inputs/components/status.d.ts +11 -0
- package/dist/src/inputs/components/status.d.ts.map +1 -0
- package/dist/src/inputs/components/status.js +12 -0
- package/dist/src/inputs/components/status.js.map +1 -0
- package/dist/src/inputs/components/tabs.d.ts +16 -0
- package/dist/src/inputs/components/tabs.d.ts.map +1 -0
- package/dist/src/inputs/components/tabs.js +20 -0
- package/dist/src/inputs/components/tabs.js.map +1 -0
- package/dist/src/inputs/disclosure.d.ts +18 -0
- package/dist/src/inputs/disclosure.d.ts.map +1 -0
- package/dist/src/inputs/disclosure.js +60 -0
- package/dist/src/inputs/disclosure.js.map +1 -0
- package/dist/src/inputs/dropdown.d.ts +23 -0
- package/dist/src/inputs/dropdown.d.ts.map +1 -0
- package/dist/src/inputs/dropdown.js +57 -0
- package/dist/src/inputs/dropdown.js.map +1 -0
- package/dist/src/inputs/index.d.ts +6 -0
- package/dist/src/inputs/index.d.ts.map +1 -1
- package/dist/src/inputs/index.js +18 -0
- package/dist/src/inputs/index.js.map +1 -1
- package/dist/src/inputs/search.d.ts +17 -0
- package/dist/src/inputs/search.d.ts.map +1 -0
- package/dist/src/inputs/search.js +41 -0
- package/dist/src/inputs/search.js.map +1 -0
- package/dist/src/inputs/status.d.ts +20 -0
- package/dist/src/inputs/status.d.ts.map +1 -0
- package/dist/src/inputs/status.js +54 -0
- package/dist/src/inputs/status.js.map +1 -0
- package/dist/src/inputs/tabs.d.ts +24 -0
- package/dist/src/inputs/tabs.d.ts.map +1 -0
- package/dist/src/inputs/tabs.js +76 -0
- package/dist/src/inputs/tabs.js.map +1 -0
- package/dist/src/layout/breadcrumb.d.ts +29 -0
- package/dist/src/layout/breadcrumb.d.ts.map +1 -0
- package/dist/src/layout/breadcrumb.js +38 -0
- package/dist/src/layout/breadcrumb.js.map +1 -0
- package/dist/src/layout/components/breadcrumb.d.ts +14 -0
- package/dist/src/layout/components/breadcrumb.d.ts.map +1 -0
- package/dist/src/layout/components/breadcrumb.js +13 -0
- package/dist/src/layout/components/breadcrumb.js.map +1 -0
- package/dist/src/layout/components/header.d.ts +25 -0
- package/dist/src/layout/components/header.d.ts.map +1 -0
- package/dist/src/layout/components/header.js +24 -0
- package/dist/src/layout/components/header.js.map +1 -0
- package/dist/src/layout/components/index.d.ts +3 -0
- package/dist/src/layout/components/index.d.ts.map +1 -1
- package/dist/src/layout/components/index.js +3 -0
- package/dist/src/layout/components/index.js.map +1 -1
- package/dist/src/layout/components/mobile.d.ts +12 -0
- package/dist/src/layout/components/mobile.d.ts.map +1 -0
- package/dist/src/layout/components/mobile.js +12 -0
- package/dist/src/layout/components/mobile.js.map +1 -0
- package/dist/src/layout/header.d.ts +42 -0
- package/dist/src/layout/header.d.ts.map +1 -0
- package/dist/src/layout/header.js +146 -0
- package/dist/src/layout/header.js.map +1 -0
- package/dist/src/layout/index.d.ts +5 -0
- package/dist/src/layout/index.d.ts.map +1 -1
- package/dist/src/layout/index.js +7 -0
- package/dist/src/layout/index.js.map +1 -1
- package/dist/src/layout/state.d.ts +21 -0
- package/dist/src/layout/state.d.ts.map +1 -0
- package/dist/src/layout/state.js +18 -0
- package/dist/src/layout/state.js.map +1 -0
- package/dist/src/react/index.d.ts +2 -0
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/react/index.js +2 -0
- package/dist/src/react/index.js.map +1 -1
- package/dist/src/sidebar/components/index.d.ts +1 -0
- package/dist/src/sidebar/components/index.d.ts.map +1 -1
- package/dist/src/sidebar/components/index.js +1 -0
- package/dist/src/sidebar/components/index.js.map +1 -1
- package/dist/src/sidebar/components/links.d.ts +26 -0
- package/dist/src/sidebar/components/links.d.ts.map +1 -0
- package/dist/src/sidebar/components/links.js +24 -0
- package/dist/src/sidebar/components/links.js.map +1 -0
- package/dist/src/sidebar/index.d.ts +1 -0
- package/dist/src/sidebar/index.d.ts.map +1 -1
- package/dist/src/sidebar/index.js +3 -0
- package/dist/src/sidebar/index.js.map +1 -1
- package/dist/src/sidebar/live.d.ts +20 -0
- package/dist/src/sidebar/live.d.ts.map +1 -0
- package/dist/src/sidebar/live.js +61 -0
- package/dist/src/sidebar/live.js.map +1 -0
- package/dist/src/surface/components/index.d.ts +25 -0
- package/dist/src/surface/components/index.d.ts.map +1 -0
- package/dist/src/surface/components/index.js +36 -0
- package/dist/src/surface/components/index.js.map +1 -0
- package/dist/src/surface/index.d.ts +9 -0
- package/dist/src/surface/index.d.ts.map +1 -0
- package/dist/src/surface/index.js +9 -0
- package/dist/src/surface/index.js.map +1 -0
- package/dist/surface/components/index.d.ts +25 -0
- package/dist/surface/components/index.d.ts.map +1 -0
- package/dist/surface/components/index.js +36 -0
- package/dist/surface/components/index.js.map +1 -0
- package/dist/surface/index.d.ts +9 -0
- package/dist/surface/index.d.ts.map +1 -0
- package/dist/surface/index.js +9 -0
- package/dist/surface/index.js.map +1 -0
- package/dist/surface/styles/index.scss +110 -0
- package/package.json +1 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { queryAll } from "../../dom/index.js";
|
|
2
|
+
const SIDEBAR_LIVE_ROOT_SELECTOR = "[data-tbf-sidebar-live]";
|
|
3
|
+
const SIDEBAR_LIVE_SLOT_SELECTOR = "[data-tbf-sidebar-live-slot]";
|
|
4
|
+
const SIDEBAR_LIVE_EVENT = "tbf:sidebar-live";
|
|
5
|
+
function normalizeLivePayload(value) {
|
|
6
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
7
|
+
return {};
|
|
8
|
+
const payload = value;
|
|
9
|
+
return payload.slots && typeof payload.slots === "object" ? payload : {};
|
|
10
|
+
}
|
|
11
|
+
function applySidebarLiveSlot(slot, value) {
|
|
12
|
+
if (!value)
|
|
13
|
+
return;
|
|
14
|
+
if (value.text !== undefined)
|
|
15
|
+
slot.textContent = String(value.text);
|
|
16
|
+
if (value.state !== undefined)
|
|
17
|
+
slot.setAttribute("data-tbf-sidebar-live-state", String(value.state));
|
|
18
|
+
if (value.hidden !== undefined)
|
|
19
|
+
slot.hidden = Boolean(value.hidden);
|
|
20
|
+
}
|
|
21
|
+
function applySidebarLivePayload(root, payload) {
|
|
22
|
+
const slots = payload.slots || {};
|
|
23
|
+
queryAll(root, SIDEBAR_LIVE_SLOT_SELECTOR).forEach((slot) => {
|
|
24
|
+
const key = slot.getAttribute("data-tbf-sidebar-live-slot") || "";
|
|
25
|
+
applySidebarLiveSlot(slot, slots[key]);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async function refreshSidebarLive(root) {
|
|
29
|
+
const url = root.getAttribute("data-tbf-sidebar-live-url");
|
|
30
|
+
if (!url || typeof fetch !== "function")
|
|
31
|
+
return null;
|
|
32
|
+
const response = await fetch(url, { credentials: "same-origin", headers: { Accept: "application/json" } });
|
|
33
|
+
const payload = normalizeLivePayload(await response.json().catch(() => null));
|
|
34
|
+
applySidebarLivePayload(root, payload);
|
|
35
|
+
return payload;
|
|
36
|
+
}
|
|
37
|
+
function bindSidebarLiveRoot(root) {
|
|
38
|
+
if (!(root instanceof HTMLElement) || root.hasAttribute("data-tbf-sidebar-live-bound"))
|
|
39
|
+
return null;
|
|
40
|
+
root.setAttribute("data-tbf-sidebar-live-bound", "true");
|
|
41
|
+
if (root.hasAttribute("data-tbf-sidebar-live-url"))
|
|
42
|
+
void refreshSidebarLive(root);
|
|
43
|
+
const interval = Number(root.getAttribute("data-tbf-sidebar-live-interval") || 0);
|
|
44
|
+
if (interval > 0)
|
|
45
|
+
window.setInterval(() => void refreshSidebarLive(root), interval);
|
|
46
|
+
return root;
|
|
47
|
+
}
|
|
48
|
+
function handleSidebarLiveEvent(event) {
|
|
49
|
+
const custom = event;
|
|
50
|
+
applySidebarLivePayload(document, normalizeLivePayload(custom.detail));
|
|
51
|
+
}
|
|
52
|
+
let sidebarLiveListenerInstalled = false;
|
|
53
|
+
function bindSidebarLiveSlots(root = document) {
|
|
54
|
+
queryAll(root, SIDEBAR_LIVE_ROOT_SELECTOR).forEach(bindSidebarLiveRoot);
|
|
55
|
+
if (!sidebarLiveListenerInstalled && typeof document !== "undefined") {
|
|
56
|
+
sidebarLiveListenerInstalled = true;
|
|
57
|
+
document.addEventListener(SIDEBAR_LIVE_EVENT, handleSidebarLiveEvent);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export { SIDEBAR_LIVE_EVENT, SIDEBAR_LIVE_ROOT_SELECTOR, SIDEBAR_LIVE_SLOT_SELECTOR, applySidebarLivePayload, applySidebarLiveSlot, bindSidebarLiveRoot, bindSidebarLiveSlots, refreshSidebarLive, };
|
|
61
|
+
//# sourceMappingURL=live.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/sidebar/live.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import { type SurfaceSize, type SurfaceTone } from "../../../surface/index.d.ts";
|
|
3
|
+
type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
4
|
+
size?: SurfaceSize;
|
|
5
|
+
tone?: SurfaceTone;
|
|
6
|
+
};
|
|
7
|
+
type CardProps = HTMLAttributes<HTMLDivElement> & {
|
|
8
|
+
interactive?: boolean;
|
|
9
|
+
tone?: SurfaceTone;
|
|
10
|
+
};
|
|
11
|
+
type CanvasPanelProps = HTMLAttributes<HTMLDivElement> & {
|
|
12
|
+
actions?: ReactNode;
|
|
13
|
+
fullscreenId?: string;
|
|
14
|
+
subtitle?: ReactNode;
|
|
15
|
+
title?: ReactNode;
|
|
16
|
+
};
|
|
17
|
+
declare function Button(props: ButtonProps): import("react").JSX.Element;
|
|
18
|
+
declare function Card(props: CardProps): import("react").JSX.Element;
|
|
19
|
+
declare function CardHeader(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
20
|
+
declare function CardBody(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
21
|
+
declare function CardFooter(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
22
|
+
declare function CanvasPanel(props: CanvasPanelProps): import("react").JSX.Element;
|
|
23
|
+
export { Button, CanvasPanel, Card, CardBody, CardFooter, CardHeader };
|
|
24
|
+
export type { ButtonProps, CanvasPanelProps, CardProps };
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/surface/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AAGf,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjF,KAAK,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACvD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,+BAOjC;AAED,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,+BAY7B;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,+BAGxD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,+BAGtD;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,+BAGxD;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAS3C;AAmBD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from "../../../components/index.js";
|
|
3
|
+
import { FullscreenCloseButton, FullscreenOpenButton, FullscreenTarget } from "../../../fullscreen/components/index.js";
|
|
4
|
+
import { surfaceClass } from "../../../surface/index.js";
|
|
5
|
+
function Button(props) {
|
|
6
|
+
const { children, className, size, tone, type = "button", ...rest } = props;
|
|
7
|
+
return (_jsx("button", { ...rest, className: classNames(surfaceClass("tbf-button", { size, tone }), className), type: type, children: children }));
|
|
8
|
+
}
|
|
9
|
+
function Card(props) {
|
|
10
|
+
const { children, className, interactive, tone, ...rest } = props;
|
|
11
|
+
return (_jsx("div", { ...rest, className: classNames(surfaceClass("tbf-card", { tone }), className), "data-tbf-card": "", "data-tbf-interactive": interactive ? "true" : undefined, children: children }));
|
|
12
|
+
}
|
|
13
|
+
function CardHeader(props) {
|
|
14
|
+
const { children, className, ...rest } = props;
|
|
15
|
+
return _jsx("div", { ...rest, className: classNames("tbf-card__header", className), children: children });
|
|
16
|
+
}
|
|
17
|
+
function CardBody(props) {
|
|
18
|
+
const { children, className, ...rest } = props;
|
|
19
|
+
return _jsx("div", { ...rest, className: classNames("tbf-card__body", className), children: children });
|
|
20
|
+
}
|
|
21
|
+
function CardFooter(props) {
|
|
22
|
+
const { children, className, ...rest } = props;
|
|
23
|
+
return _jsx("div", { ...rest, className: classNames("tbf-card__footer", className), children: children });
|
|
24
|
+
}
|
|
25
|
+
function CanvasPanel(props) {
|
|
26
|
+
const { actions, children, className, fullscreenId, subtitle, title, ...rest } = props;
|
|
27
|
+
const body = (_jsxs("div", { ...rest, className: classNames("tbf-canvas-panel", className), "data-tbf-canvas-panel": "", children: [_jsx(CanvasPanelHeader, { actions: actions, fullscreenId: fullscreenId, subtitle: subtitle, title: title }), _jsx("div", { className: "tbf-canvas-panel__body", children: children })] }));
|
|
28
|
+
return fullscreenId ? _jsx(FullscreenTarget, { fullscreenId: fullscreenId, children: body }) : body;
|
|
29
|
+
}
|
|
30
|
+
function CanvasPanelHeader(props) {
|
|
31
|
+
if (!props.title && !props.subtitle && !props.actions && !props.fullscreenId)
|
|
32
|
+
return null;
|
|
33
|
+
return (_jsxs("div", { className: "tbf-canvas-panel__header", children: [_jsxs("div", { className: "tbf-canvas-panel__titles", children: [props.title ? _jsx("strong", { children: props.title }) : null, props.subtitle ? _jsx("span", { children: props.subtitle }) : null] }), _jsxs("div", { className: "tbf-canvas-panel__actions", children: [props.actions, props.fullscreenId ? _jsx(FullscreenOpenButton, { fullscreenId: props.fullscreenId, children: "Open" }) : null, props.fullscreenId ? _jsx(FullscreenCloseButton, { fullscreenId: props.fullscreenId, children: "Close" }) : null] })] }));
|
|
34
|
+
}
|
|
35
|
+
export { Button, CanvasPanel, Card, CardBody, CardFooter, CardHeader };
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/surface/components/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type SurfaceTone = "default" | "muted" | "strong" | string;
|
|
2
|
+
type SurfaceSize = "sm" | "md" | "lg" | string;
|
|
3
|
+
declare function surfaceClass(base: string, options?: {
|
|
4
|
+
size?: SurfaceSize;
|
|
5
|
+
tone?: SurfaceTone;
|
|
6
|
+
}): string;
|
|
7
|
+
export { surfaceClass };
|
|
8
|
+
export type { SurfaceSize, SurfaceTone };
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/surface/index.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE/C,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAA;CAAO,UAM3F;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/surface/index.ts"],"names":[],"mappings":"AAIA,SAAS,YAAY,CAAC,IAAY,EAAE,UAAsD,EAAE;IAC1F,OAAO;QACL,IAAI;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KAC/C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import { type SurfaceSize, type SurfaceTone } from "../index.d.ts";
|
|
3
|
+
type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
4
|
+
size?: SurfaceSize;
|
|
5
|
+
tone?: SurfaceTone;
|
|
6
|
+
};
|
|
7
|
+
type CardProps = HTMLAttributes<HTMLDivElement> & {
|
|
8
|
+
interactive?: boolean;
|
|
9
|
+
tone?: SurfaceTone;
|
|
10
|
+
};
|
|
11
|
+
type CanvasPanelProps = HTMLAttributes<HTMLDivElement> & {
|
|
12
|
+
actions?: ReactNode;
|
|
13
|
+
fullscreenId?: string;
|
|
14
|
+
subtitle?: ReactNode;
|
|
15
|
+
title?: ReactNode;
|
|
16
|
+
};
|
|
17
|
+
declare function Button(props: ButtonProps): import("react").JSX.Element;
|
|
18
|
+
declare function Card(props: CardProps): import("react").JSX.Element;
|
|
19
|
+
declare function CardHeader(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
20
|
+
declare function CardBody(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
21
|
+
declare function CardFooter(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
22
|
+
declare function CanvasPanel(props: CanvasPanelProps): import("react").JSX.Element;
|
|
23
|
+
export { Button, CanvasPanel, Card, CardBody, CardFooter, CardHeader };
|
|
24
|
+
export type { ButtonProps, CanvasPanelProps, CardProps };
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/surface/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AAGf,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjF,KAAK,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACvD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,+BAOjC;AAED,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,+BAY7B;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,+BAGxD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,+BAGtD;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,+BAGxD;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAS3C;AAmBD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from "../../components/index.js";
|
|
3
|
+
import { FullscreenCloseButton, FullscreenOpenButton, FullscreenTarget } from "../../fullscreen/components/index.js";
|
|
4
|
+
import { surfaceClass } from "../index.js";
|
|
5
|
+
function Button(props) {
|
|
6
|
+
const { children, className, size, tone, type = "button", ...rest } = props;
|
|
7
|
+
return (_jsx("button", { ...rest, className: classNames(surfaceClass("tbf-button", { size, tone }), className), type: type, children: children }));
|
|
8
|
+
}
|
|
9
|
+
function Card(props) {
|
|
10
|
+
const { children, className, interactive, tone, ...rest } = props;
|
|
11
|
+
return (_jsx("div", { ...rest, className: classNames(surfaceClass("tbf-card", { tone }), className), "data-tbf-card": "", "data-tbf-interactive": interactive ? "true" : undefined, children: children }));
|
|
12
|
+
}
|
|
13
|
+
function CardHeader(props) {
|
|
14
|
+
const { children, className, ...rest } = props;
|
|
15
|
+
return _jsx("div", { ...rest, className: classNames("tbf-card__header", className), children: children });
|
|
16
|
+
}
|
|
17
|
+
function CardBody(props) {
|
|
18
|
+
const { children, className, ...rest } = props;
|
|
19
|
+
return _jsx("div", { ...rest, className: classNames("tbf-card__body", className), children: children });
|
|
20
|
+
}
|
|
21
|
+
function CardFooter(props) {
|
|
22
|
+
const { children, className, ...rest } = props;
|
|
23
|
+
return _jsx("div", { ...rest, className: classNames("tbf-card__footer", className), children: children });
|
|
24
|
+
}
|
|
25
|
+
function CanvasPanel(props) {
|
|
26
|
+
const { actions, children, className, fullscreenId, subtitle, title, ...rest } = props;
|
|
27
|
+
const body = (_jsxs("div", { ...rest, className: classNames("tbf-canvas-panel", className), "data-tbf-canvas-panel": "", children: [_jsx(CanvasPanelHeader, { actions: actions, fullscreenId: fullscreenId, subtitle: subtitle, title: title }), _jsx("div", { className: "tbf-canvas-panel__body", children: children })] }));
|
|
28
|
+
return fullscreenId ? _jsx(FullscreenTarget, { fullscreenId: fullscreenId, children: body }) : body;
|
|
29
|
+
}
|
|
30
|
+
function CanvasPanelHeader(props) {
|
|
31
|
+
if (!props.title && !props.subtitle && !props.actions && !props.fullscreenId)
|
|
32
|
+
return null;
|
|
33
|
+
return (_jsxs("div", { className: "tbf-canvas-panel__header", children: [_jsxs("div", { className: "tbf-canvas-panel__titles", children: [props.title ? _jsx("strong", { children: props.title }) : null, props.subtitle ? _jsx("span", { children: props.subtitle }) : null] }), _jsxs("div", { className: "tbf-canvas-panel__actions", children: [props.actions, props.fullscreenId ? _jsx(FullscreenOpenButton, { fullscreenId: props.fullscreenId, children: "Open" }) : null, props.fullscreenId ? _jsx(FullscreenCloseButton, { fullscreenId: props.fullscreenId, children: "Close" }) : null] })] }));
|
|
34
|
+
}
|
|
35
|
+
export { Button, CanvasPanel, Card, CardBody, CardFooter, CardHeader };
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/surface/components/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type SurfaceTone = "default" | "muted" | "strong" | string;
|
|
2
|
+
type SurfaceSize = "sm" | "md" | "lg" | string;
|
|
3
|
+
declare function surfaceClass(base: string, options?: {
|
|
4
|
+
size?: SurfaceSize;
|
|
5
|
+
tone?: SurfaceTone;
|
|
6
|
+
}): string;
|
|
7
|
+
export { surfaceClass };
|
|
8
|
+
export type { SurfaceSize, SurfaceTone };
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/surface/index.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE/C,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAA;CAAO,UAM3F;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/surface/index.ts"],"names":[],"mappings":"AAIA,SAAS,YAAY,CAAC,IAAY,EAAE,UAAsD,EAAE;IAC1F,OAAO;QACL,IAAI;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KAC/C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
.tbf-button {
|
|
2
|
+
min-height: 32px;
|
|
3
|
+
box-sizing: border-box;
|
|
4
|
+
padding: 0 12px;
|
|
5
|
+
border: var(--tbf-border-width, 1px) solid var(--tbf-border, #000);
|
|
6
|
+
border-radius: var(--tbf-radius-sm, 0);
|
|
7
|
+
color: var(--tbf-text, #000);
|
|
8
|
+
background: var(--tbf-surface-muted, #fff);
|
|
9
|
+
cursor: pointer;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.tbf-button--strong {
|
|
13
|
+
border-color: var(--tbf-focus, #000);
|
|
14
|
+
color: var(--tbf-surface, #fff);
|
|
15
|
+
background: var(--tbf-focus, #000);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.tbf-button--sm {
|
|
19
|
+
min-height: 28px;
|
|
20
|
+
padding-inline: 9px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.tbf-button--lg {
|
|
24
|
+
min-height: 40px;
|
|
25
|
+
padding-inline: 16px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.tbf-card,
|
|
29
|
+
[data-tbf-card] {
|
|
30
|
+
min-width: 0;
|
|
31
|
+
box-sizing: border-box;
|
|
32
|
+
border: var(--tbf-border-width, 1px) solid var(--tbf-border, #000);
|
|
33
|
+
border-radius: var(--tbf-radius, 0);
|
|
34
|
+
color: var(--tbf-text, #000);
|
|
35
|
+
background: var(--tbf-surface, #fff);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.tbf-card[data-tbf-interactive="true"]:hover {
|
|
39
|
+
border-color: var(--tbf-focus, #000);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.tbf-card__header,
|
|
43
|
+
.tbf-card__body,
|
|
44
|
+
.tbf-card__footer {
|
|
45
|
+
min-width: 0;
|
|
46
|
+
box-sizing: border-box;
|
|
47
|
+
padding: 12px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.tbf-card__header,
|
|
51
|
+
.tbf-card__footer {
|
|
52
|
+
display: flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
justify-content: space-between;
|
|
55
|
+
gap: var(--tbf-gap-sm, 8px);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.tbf-card__header {
|
|
59
|
+
border-block-end: var(--tbf-border-width, 1px) solid var(--tbf-border, #000);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.tbf-card__footer {
|
|
63
|
+
border-block-start: var(--tbf-border-width, 1px) solid var(--tbf-border, #000);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.tbf-canvas-panel {
|
|
67
|
+
display: flex;
|
|
68
|
+
min-width: 0;
|
|
69
|
+
min-height: 0;
|
|
70
|
+
flex-direction: column;
|
|
71
|
+
border: var(--tbf-border-width, 1px) solid var(--tbf-border, #000);
|
|
72
|
+
border-radius: var(--tbf-radius, 0);
|
|
73
|
+
background: var(--tbf-surface, #fff);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.tbf-canvas-panel__header {
|
|
77
|
+
display: flex;
|
|
78
|
+
min-width: 0;
|
|
79
|
+
align-items: center;
|
|
80
|
+
justify-content: space-between;
|
|
81
|
+
gap: var(--tbf-gap-sm, 8px);
|
|
82
|
+
padding: 10px 12px;
|
|
83
|
+
border-block-end: var(--tbf-border-width, 1px) solid var(--tbf-border, #000);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.tbf-canvas-panel__titles {
|
|
87
|
+
display: flex;
|
|
88
|
+
min-width: 0;
|
|
89
|
+
flex-direction: column;
|
|
90
|
+
gap: 2px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.tbf-canvas-panel__titles span {
|
|
94
|
+
color: var(--tbf-text-muted, #666);
|
|
95
|
+
font-size: 0.9rem;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.tbf-canvas-panel__actions {
|
|
99
|
+
display: flex;
|
|
100
|
+
flex: 0 0 auto;
|
|
101
|
+
align-items: center;
|
|
102
|
+
gap: 6px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.tbf-canvas-panel__body {
|
|
106
|
+
min-width: 0;
|
|
107
|
+
min-height: 0;
|
|
108
|
+
flex: 1 1 auto;
|
|
109
|
+
padding: 12px;
|
|
110
|
+
}
|