@twentyfirstmedia/ui-core 0.2.1 → 0.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/dist/components/admin.d.ts.map +1 -1
- package/dist/components/admin.js +95 -71
- package/dist/components/admin.js.map +1 -1
- package/dist/components/agents.d.ts.map +1 -1
- package/dist/components/agents.js +49 -35
- package/dist/components/agents.js.map +1 -1
- package/dist/components/app-chrome.d.ts.map +1 -1
- package/dist/components/app-chrome.js +6 -2
- package/dist/components/app-chrome.js.map +1 -1
- package/dist/components/approvals.d.ts.map +1 -1
- package/dist/components/approvals.js +22 -18
- package/dist/components/approvals.js.map +1 -1
- package/dist/components/building-blocks.d.ts.map +1 -1
- package/dist/components/building-blocks.js +6 -2
- package/dist/components/building-blocks.js.map +1 -1
- package/dist/components/charts.d.ts.map +1 -1
- package/dist/components/charts.js +20 -10
- package/dist/components/charts.js.map +1 -1
- package/dist/components/chat.d.ts.map +1 -1
- package/dist/components/chat.js +31 -19
- package/dist/components/chat.js.map +1 -1
- package/dist/components/commerce.d.ts +2 -2
- package/dist/components/commerce.d.ts.map +1 -1
- package/dist/components/commerce.js +45 -31
- package/dist/components/commerce.js.map +1 -1
- package/dist/components/data-display.d.ts +5 -9
- package/dist/components/data-display.d.ts.map +1 -1
- package/dist/components/data-display.js +34 -35
- package/dist/components/data-display.js.map +1 -1
- package/dist/components/data-table.d.ts.map +1 -1
- package/dist/components/data-table.js +15 -10
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/developer.d.ts.map +1 -1
- package/dist/components/developer.js +20 -11
- package/dist/components/developer.js.map +1 -1
- package/dist/components/feedback.d.ts.map +1 -1
- package/dist/components/feedback.js +12 -6
- package/dist/components/feedback.js.map +1 -1
- package/dist/components/form.d.ts +2 -1
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/form.js +12 -9
- package/dist/components/form.js.map +1 -1
- package/dist/components/forms.d.ts +2 -1
- package/dist/components/forms.d.ts.map +1 -1
- package/dist/components/forms.js +92 -42
- package/dist/components/forms.js.map +1 -1
- package/dist/components/foundation.d.ts +5 -2
- package/dist/components/foundation.d.ts.map +1 -1
- package/dist/components/foundation.js +15 -12
- package/dist/components/foundation.js.map +1 -1
- package/dist/components/inputs.d.ts.map +1 -1
- package/dist/components/inputs.js +3 -1
- package/dist/components/inputs.js.map +1 -1
- package/dist/components/mail.d.ts.map +1 -1
- package/dist/components/mail.js +15 -10
- package/dist/components/mail.js.map +1 -1
- package/dist/components/media.d.ts.map +1 -1
- package/dist/components/media.js +39 -18
- package/dist/components/media.js.map +1 -1
- package/dist/components/navigation.d.ts.map +1 -1
- package/dist/components/navigation.js +21 -9
- package/dist/components/navigation.js.map +1 -1
- package/dist/components/operations.d.ts.map +1 -1
- package/dist/components/operations.js +37 -27
- package/dist/components/operations.js.map +1 -1
- package/dist/components/previews.d.ts.map +1 -1
- package/dist/components/previews.js +14 -10
- package/dist/components/previews.js.map +1 -1
- package/dist/components/primitives.d.ts.map +1 -1
- package/dist/components/primitives.js +4 -1
- package/dist/components/primitives.js.map +1 -1
- package/dist/components/real-estate.d.ts.map +1 -1
- package/dist/components/real-estate.js +43 -28
- package/dist/components/real-estate.js.map +1 -1
- package/dist/components/rich-text-editor.d.ts.map +1 -1
- package/dist/components/rich-text-editor.js +18 -15
- package/dist/components/rich-text-editor.js.map +1 -1
- package/dist/components/select-menu.d.ts.map +1 -1
- package/dist/components/select-menu.js +4 -1
- package/dist/components/select-menu.js.map +1 -1
- package/dist/components/shell.d.ts.map +1 -1
- package/dist/components/shell.js +8 -3
- package/dist/components/shell.js.map +1 -1
- package/dist/components/site.d.ts.map +1 -1
- package/dist/components/site.js +17 -13
- package/dist/components/site.js.map +1 -1
- package/dist/components/types.d.ts +102 -3
- package/dist/components/types.d.ts.map +1 -1
- package/dist/components/workspace.d.ts.map +1 -1
- package/dist/components/workspace.js +50 -34
- package/dist/components/workspace.js.map +1 -1
- package/dist/context.d.ts +39 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +76 -0
- package/dist/context.js.map +1 -0
- package/dist/format.d.ts +33 -6
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +75 -10
- package/dist/format.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +18 -11
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +11 -18
- package/dist/provider.js.map +1 -1
- package/dist/strings.d.ts +503 -0
- package/dist/strings.d.ts.map +1 -0
- package/dist/strings.js +537 -0
- package/dist/strings.js.map +1 -0
- package/package.json +1 -1
- package/src/components/admin.tsx +117 -93
- package/src/components/agents.tsx +55 -41
- package/src/components/app-chrome.tsx +6 -2
- package/src/components/approvals.tsx +26 -22
- package/src/components/building-blocks.tsx +6 -2
- package/src/components/charts.tsx +21 -11
- package/src/components/chat.tsx +45 -35
- package/src/components/commerce.tsx +61 -53
- package/src/components/data-display.tsx +38 -45
- package/src/components/data-table.tsx +20 -15
- package/src/components/developer.tsx +26 -15
- package/src/components/feedback.tsx +19 -7
- package/src/components/form.tsx +17 -9
- package/src/components/forms.tsx +131 -53
- package/src/components/foundation.tsx +23 -36
- package/src/components/inputs.tsx +4 -2
- package/src/components/mail.tsx +16 -11
- package/src/components/media.tsx +64 -21
- package/src/components/navigation.tsx +25 -13
- package/src/components/operations.tsx +40 -32
- package/src/components/previews.tsx +17 -15
- package/src/components/primitives.tsx +8 -5
- package/src/components/real-estate.tsx +55 -35
- package/src/components/rich-text-editor.tsx +20 -17
- package/src/components/select-menu.tsx +5 -2
- package/src/components/shell.tsx +8 -3
- package/src/components/site.tsx +18 -14
- package/src/components/types.ts +111 -3
- package/src/components/workspace.tsx +79 -60
- package/src/context.ts +112 -0
- package/src/format.ts +108 -15
- package/src/index.ts +43 -0
- package/src/provider.tsx +36 -40
- package/src/strings.ts +1500 -0
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { leaving, usePresence } from "../presence.js";
|
|
5
|
-
import {
|
|
5
|
+
import { useFormat, useStrings } from "../context.js";
|
|
6
|
+
import { WORKSPACE_STRINGS } from "../strings.js";
|
|
6
7
|
import { Icon } from "../Icon.js";
|
|
7
8
|
import { useScrollFocus, useTrap } from "../hooks.js";
|
|
8
9
|
import { cx } from "../cx.js";
|
|
@@ -10,7 +11,8 @@ import { Avatar, Badge, Button, IconButton, TintIcon } from "./foundation.js";
|
|
|
10
11
|
import { Spinner } from "./building-blocks.js";
|
|
11
12
|
import { Tabs } from "./navigation.js";
|
|
12
13
|
export function SubNav(p) {
|
|
13
|
-
|
|
14
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
15
|
+
return (_jsxs("nav", { className: "tf-subnav", "aria-label": t.sectionPages(p.eyebrow), children: [_jsxs("div", { className: "tf-subnav-head", children: [p.eyebrow && _jsx("span", { className: "tf-subnav-eyebrow", children: p.eyebrow }), p.action && (_jsxs("button", { type: "button", className: "tf-subnav-action", onClick: p.action.onClick, children: [_jsx(Icon, { name: p.action.icon || "plus", size: 15 }), _jsx("span", { children: p.action.label })] }))] }), _jsx("div", { className: "tf-subnav-list", children: (p.items || []).map((it) => {
|
|
14
16
|
const id = it.id || it.label;
|
|
15
17
|
return (_jsxs("button", { type: "button", className: "tf-subnav-item", "aria-current": p.current === id ? "page" : undefined, title: it.label, onClick: () => {
|
|
16
18
|
p.onPick && p.onPick(id);
|
|
@@ -18,6 +20,7 @@ export function SubNav(p) {
|
|
|
18
20
|
}) }), p.children] }));
|
|
19
21
|
}
|
|
20
22
|
export function Drawer(p) {
|
|
23
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
21
24
|
const ref = React.useRef(null);
|
|
22
25
|
const pr = usePresence(p.open ?? true);
|
|
23
26
|
useTrap(ref, p.onClose);
|
|
@@ -37,9 +40,10 @@ export function Drawer(p) {
|
|
|
37
40
|
minWidth: 0,
|
|
38
41
|
}, children: [p.avatar && _jsx(Avatar, { name: p.avatar, size: 44 }), _jsxs("div", { style: {
|
|
39
42
|
minWidth: 0,
|
|
40
|
-
}, children: [_jsx("div", { className: "tf-panel-title", children: p.title }), p.subtitle && _jsx("div", { className: "tf-panel-sub", children: p.subtitle })] })] }), _jsx(IconButton, { icon: "x", label:
|
|
43
|
+
}, children: [_jsx("div", { className: "tf-panel-title", children: p.title }), p.subtitle && _jsx("div", { className: "tf-panel-sub", children: p.subtitle })] })] }), _jsx(IconButton, { icon: "x", label: t.close, onClick: p.onClose })] }), p.children] }) }));
|
|
41
44
|
}
|
|
42
45
|
export function CommandPalette(p) {
|
|
46
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
43
47
|
const q = React.useState(""), idx = React.useState(0), ref = React.useRef(null), pr = usePresence(p.open ?? true);
|
|
44
48
|
useTrap(ref, p.onClose);
|
|
45
49
|
const ql = q[0].toLowerCase().trim(), all = p.items || [];
|
|
@@ -73,7 +77,7 @@ export function CommandPalette(p) {
|
|
|
73
77
|
}
|
|
74
78
|
const groups = [];
|
|
75
79
|
res.forEach((it, i) => {
|
|
76
|
-
const g = it.group ||
|
|
80
|
+
const g = it.group || t.results;
|
|
77
81
|
if (!groups.length || groups[groups.length - 1].g !== g)
|
|
78
82
|
groups.push({
|
|
79
83
|
g: g,
|
|
@@ -86,11 +90,11 @@ export function CommandPalette(p) {
|
|
|
86
90
|
return (_jsx("div", { ...leaving(pr.closing), className: cx("tf-palette-wrap", p.inline && "inline"), onMouseDown: (e) => {
|
|
87
91
|
if (e.target === e.currentTarget && p.onClose)
|
|
88
92
|
p.onClose?.();
|
|
89
|
-
}, children: _jsxs("div", { ref: ref, className: "tf-palette", role: "dialog", "aria-modal": "true", "aria-label":
|
|
93
|
+
}, children: _jsxs("div", { ref: ref, className: "tf-palette", role: "dialog", "aria-modal": "true", "aria-label": t.commandPalette, children: [_jsxs("div", { className: "tf-palette-input", children: [_jsx(Icon, { name: "search", size: 18 }), _jsx("input", { placeholder: p.placeholder || t.paletteSearchPlaceholder, "aria-label": t.search, value: q[0], onChange: (e) => {
|
|
90
94
|
q[1](e.target.value);
|
|
91
95
|
idx[1](0);
|
|
92
96
|
p.onQueryChange?.(e.target.value);
|
|
93
|
-
}, onKeyDown: key }), _jsx("kbd", { children:
|
|
97
|
+
}, onKeyDown: key }), _jsx("kbd", { children: t.escKey })] }), _jsxs("div", { className: "tf-palette-list", role: "listbox", "aria-label": t.results, children: [p.loading && (_jsxs("div", { className: "tf-palette-empty", role: "status", children: [_jsx(Spinner, {}), " ", t.searching] })), res.length ? (groups.map((g) => (_jsxs("div", { children: [_jsx("div", { className: "tf-palette-group", children: g.g }), g.items.map((pair) => {
|
|
94
98
|
const it = pair[0], i = pair[1];
|
|
95
99
|
return (_jsxs("button", { type: "button", role: "option", "aria-selected": i === cur ? "true" : "false", className: "tf-palette-item", onMouseMove: () => {
|
|
96
100
|
if (i !== cur)
|
|
@@ -98,42 +102,44 @@ export function CommandPalette(p) {
|
|
|
98
102
|
}, onClick: () => {
|
|
99
103
|
run(it);
|
|
100
104
|
}, children: [_jsx(TintIcon, { icon: it.icon || "search", tint: it.tint || "plain" }), _jsxs("span", { className: "tf-palette-label", children: [_jsx("b", { children: it.label }), it.hint && _jsx("span", { children: it.hint })] }), i === cur && _jsx("kbd", { children: "\u21B5" })] }, it.id || it.label));
|
|
101
|
-
})] }, g.g)))) : p.loading ? null : (_jsx("div", { className: "tf-palette-empty", children: p.empty ??
|
|
105
|
+
})] }, g.g)))) : p.loading ? null : (_jsx("div", { className: "tf-palette-empty", children: p.empty ?? t.nothingMatches(q[0]) }))] }), _jsxs("div", { className: "tf-palette-foot", children: [_jsxs("span", { children: [_jsx("kbd", { children: "\u2191" }), _jsx("kbd", { children: "\u2193" }), " ", t.paletteMove] }), _jsxs("span", { children: [_jsx("kbd", { children: "\u21B5" }), " ", t.paletteOpen] }), _jsxs("span", { children: [_jsx("kbd", { children: "\u2318" }), _jsx("kbd", { children: "K" }), " " + t.paletteAnywhere] })] })] }) }));
|
|
102
106
|
}
|
|
103
107
|
export function NotificationList(p) {
|
|
104
|
-
const
|
|
105
|
-
|
|
108
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
109
|
+
const f = React.useState("all"), items = (p.items || []).filter((n) => f[0] === "all" || n.unread);
|
|
110
|
+
return (_jsxs("div", { className: "tf-notes", role: "region", "aria-label": t.notifications, children: [_jsxs("div", { className: "tf-header", style: {
|
|
106
111
|
alignItems: "center",
|
|
107
112
|
padding: "6px 8px 0",
|
|
108
113
|
}, children: [_jsx("b", { style: {
|
|
109
114
|
fontSize: 16,
|
|
110
|
-
}, children:
|
|
115
|
+
}, children: t.notifications }), _jsx(Button, { variant: "ghost", size: "sm", icon: "check", disabled: !(p.items || []).some((n) => n.unread), onClick: p.onReadAll, children: t.markAllRead })] }), _jsx("div", { style: {
|
|
111
116
|
padding: "0 8px",
|
|
112
|
-
}, children: _jsx(Tabs, { block: true, items: [
|
|
117
|
+
}, children: _jsx(Tabs, { block: true, items: [t.all, t.unread], value: f[0] === "all" ? t.all : t.unread, onChange: (v) => f[1](v === t.unread ? "unread" : "all") }) }), _jsx("div", { className: "tf-notes-list", children: items.length ? (items.map((n) => (_jsxs("button", { type: "button", className: cx("tf-note", n.unread && "unread"), onClick: () => {
|
|
113
118
|
p.onOpen && p.onOpen(n);
|
|
114
|
-
}, children: [_jsx(TintIcon, { icon: n.icon, tint: n.tint }), _jsxs("span", { className: "tf-note-text", children: [_jsx("b", { children: n.title }), _jsx("span", { children: n.text })] }), _jsxs("span", { className: "tf-note-time", children: [n.time, n.unread && _jsx("span", { className: "tf-unread" })] })] }, n.id)))) : (_jsxs("div", { className: "tf-notes-empty", children: [_jsx(TintIcon, { icon: "check", tint: "mint", size: 40 }), _jsx("b", { children:
|
|
119
|
+
}, children: [_jsx(TintIcon, { icon: n.icon, tint: n.tint }), _jsxs("span", { className: "tf-note-text", children: [_jsx("b", { children: n.title }), _jsx("span", { children: n.text })] }), _jsxs("span", { className: "tf-note-time", children: [n.time, n.unread && _jsx("span", { className: "tf-unread" })] })] }, n.id)))) : (_jsxs("div", { className: "tf-notes-empty", children: [_jsx(TintIcon, { icon: "check", tint: "mint", size: 40 }), _jsx("b", { children: t.allCaughtUp })] })) })] }));
|
|
115
120
|
}
|
|
116
121
|
const STEP = () => ({
|
|
117
|
-
trigger: ["zap", "sky"
|
|
118
|
-
condition: ["filter", "blush"
|
|
119
|
-
agent: ["bot", "lilac"
|
|
120
|
-
approval: ["user", "butter"
|
|
121
|
-
action: ["send", "mint"
|
|
122
|
+
trigger: ["zap", "sky"],
|
|
123
|
+
condition: ["filter", "blush"],
|
|
124
|
+
agent: ["bot", "lilac"],
|
|
125
|
+
approval: ["user", "butter"],
|
|
126
|
+
action: ["send", "mint"],
|
|
122
127
|
});
|
|
123
128
|
export function Flow(p) {
|
|
129
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
124
130
|
return (_jsx("ol", { className: "tf-flow tf-stagger", style: {
|
|
125
131
|
"--base": "120ms",
|
|
126
132
|
}, children: (p.steps || []).map((s, i) => {
|
|
127
|
-
const steps = STEP(),
|
|
133
|
+
const steps = STEP(), kind = steps[s.kind] ? s.kind : "action", k = steps[kind], st = i < (p.active == null ? -1 : p.active)
|
|
128
134
|
? "done"
|
|
129
135
|
: i === p.active
|
|
130
136
|
? p.waiting
|
|
131
137
|
? "wait"
|
|
132
138
|
: "active"
|
|
133
139
|
: "";
|
|
134
|
-
return (_jsxs("li", { className: cx("tf-flow-node", st), children: [_jsx("span", { className: "tf-flow-icon tf-t-" + k[1], children: _jsx(Icon, { name: st === "done" ? "check" : k[0], size: 16 }) }), _jsxs("div", { className: "tf-flow-card", children: [_jsxs("div", { className: "tf-flow-kind", children: [
|
|
140
|
+
return (_jsxs("li", { className: cx("tf-flow-node", st), children: [_jsx("span", { className: "tf-flow-icon tf-t-" + k[1], children: _jsx(Icon, { name: st === "done" ? "check" : k[0], size: 16 }) }), _jsxs("div", { className: "tf-flow-card", children: [_jsxs("div", { className: "tf-flow-kind", children: [t.flowStep[kind], st === "active" && _jsx("span", { className: "tf-flow-live", children: t.flowRunning }), st === "wait" && _jsx("span", { className: "tf-flow-live wait", children: t.waitingForYou })] }), _jsx("div", { className: "tf-flow-text", children: s.text }), st === "wait" && p.onApprove && (_jsxs("div", { className: "tf-row", style: {
|
|
135
141
|
marginTop: 8,
|
|
136
|
-
}, children: [_jsx(Button, { size: "sm", icon: "check", onClick: p.onApprove, children:
|
|
142
|
+
}, children: [_jsx(Button, { size: "sm", icon: "check", onClick: p.onApprove, children: t.approve }), p.onReject && (_jsx(Button, { size: "sm", variant: "ghost", onClick: p.onReject, children: t.reject }))] }))] }), p.tools && st === "" ? _jsx("div", { className: "tf-flow-tools", children: p.tools(s, i) }) : null] }, i));
|
|
137
143
|
}) }));
|
|
138
144
|
}
|
|
139
145
|
const FILE_KIND = {
|
|
@@ -165,40 +171,48 @@ export function FileThumb(p) {
|
|
|
165
171
|
} }, i)))] }));
|
|
166
172
|
}
|
|
167
173
|
export function FileCard(p) {
|
|
174
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
168
175
|
const k = FILE_KIND[p.kind] || FILE_KIND.doc;
|
|
169
|
-
return (_jsxs("button", { type: "button", className: "tf-filecard", onClick: p.onClick, children: [_jsx("span", { className: "tf-thumb tf-bg-" + k[1], children: _jsx(FileThumb, { kind: p.kind, title: p.name }) }), _jsx("span", { className: "tf-filecard-name", children: p.name }), _jsxs("span", { className: "tf-filecard-meta", children: [[p.size, p.meta].filter(Boolean).join(" · "), p.shared && _jsx(Icon, { name: "users", size: 12, label:
|
|
176
|
+
return (_jsxs("button", { type: "button", className: "tf-filecard", onClick: p.onClick, children: [_jsx("span", { className: "tf-thumb tf-bg-" + k[1], children: _jsx(FileThumb, { kind: p.kind, title: p.name }) }), _jsx("span", { className: "tf-filecard-name", children: p.name }), _jsxs("span", { className: "tf-filecard-meta", children: [[p.size, p.meta].filter(Boolean).join(" · "), p.shared && _jsx(Icon, { name: "users", size: 12, label: t.shared })] })] }));
|
|
170
177
|
}
|
|
171
178
|
export function Wizard(p) {
|
|
179
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
172
180
|
const steps = p.steps || [], cur = p.current || 0, done = p.done || {};
|
|
173
|
-
return (_jsxs("div", { className: "tf-wizard", role: "group", "aria-label": p.label ||
|
|
181
|
+
return (_jsxs("div", { className: "tf-wizard", role: "group", "aria-label": p.label || t.setup, children: [_jsxs("aside", { className: "tf-wizard-rail", children: [p.brand && (_jsxs("span", { className: "tf-brand", style: {
|
|
174
182
|
color: "var(--on-frame)",
|
|
175
183
|
}, children: [p.brand, _jsx("span", { className: "tf-brand-dot" })] })), _jsx("ol", { children: steps.map((s, j) => {
|
|
176
184
|
const ok = done[s.id || j];
|
|
177
185
|
return (_jsx("li", { children: _jsxs("button", { type: "button", className: cx("tf-wizard-step", j === cur && "cur", ok && "ok"), "aria-current": j === cur ? "step" : undefined, onClick: () => {
|
|
178
186
|
p.onPick && p.onPick(j);
|
|
179
187
|
}, children: [_jsx("span", { children: ok ? _jsx(Icon, { name: "check", size: 12 }) : j + 1 }), s.label] }) }, j));
|
|
180
|
-
}) })] }), _jsxs("div", { className: "tf-wizard-main", children: [_jsx("div", { className: "tf-card-desc", children:
|
|
188
|
+
}) })] }), _jsxs("div", { className: "tf-wizard-main", children: [_jsx("div", { className: "tf-card-desc", children: t.stepOf(cur + 1, steps.length) }), _jsxs("div", { className: "tf-wizard-body", children: [steps[cur] && steps[cur].icon && (_jsx(TintIcon, { icon: steps[cur].icon, tint: "sky", size: 44 })), steps[cur] && _jsx("h2", { className: "tf-modal-title", children: steps[cur].label }), p.children] }, cur), p.footer && (_jsx("div", { className: "tf-modal-foot", style: {
|
|
181
189
|
justifyContent: "space-between",
|
|
182
190
|
}, children: p.footer }))] })] }));
|
|
183
191
|
}
|
|
184
|
-
const LEVELS = () => ["None", "View", "Edit", "Full"];
|
|
185
192
|
export function PermissionMatrix(p) {
|
|
193
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
194
|
+
const LEVELS = () => t.permissionLevels;
|
|
186
195
|
const box = React.useRef(null);
|
|
187
196
|
useScrollFocus(box);
|
|
188
|
-
return (_jsx("div", { ref: box, className: "tf-scroll", children: _jsxs("table", { className: "tf-table tf-perm", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children:
|
|
197
|
+
return (_jsx("div", { ref: box, className: "tf-scroll", children: _jsxs("table", { className: "tf-table tf-perm", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: t.role }), (p.areas || []).map((a) => (_jsx("th", { children: a }, a)))] }) }), _jsx("tbody", { className: "tf-stagger", style: {
|
|
189
198
|
"--base": "120ms",
|
|
190
199
|
}, children: (p.roles || []).map((r, ri) => (_jsxs("tr", { children: [_jsxs("td", { children: [_jsx("div", { style: {
|
|
191
200
|
fontWeight: 700,
|
|
192
|
-
}, children: r.name }), r.people != null &&
|
|
201
|
+
}, children: r.name }), r.people != null && _jsx("div", { className: "tf-card-desc", children: t.memberCount(r.people) })] }), r.levels.map((lv, ai) => (_jsx("td", { children: _jsx("button", { type: "button", className: "tf-perm-cell lv" + lv, disabled: r.locked, "aria-label": r.name + " · " + p.areas[ai] + ": " + LEVELS()[lv], onClick: () => {
|
|
193
202
|
p.onChange && p.onChange(ri, ai, (lv + 1) % 4);
|
|
194
203
|
}, children: LEVELS()[lv] }) }, ai)))] }, r.name))) })] }) }));
|
|
195
204
|
}
|
|
196
|
-
|
|
197
|
-
|
|
205
|
+
/** Money with cents, in the locale of the nearest UIProvider. */
|
|
206
|
+
function useMoney2() {
|
|
207
|
+
const { formatMoney } = useFormat();
|
|
208
|
+
return (n) => formatMoney(n, null, {
|
|
198
209
|
minimumFractionDigits: 2,
|
|
199
210
|
});
|
|
200
211
|
}
|
|
201
212
|
export function InvoicePreview(p) {
|
|
213
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
214
|
+
const money2 = useMoney2();
|
|
215
|
+
const { formatPercent } = useFormat();
|
|
202
216
|
const lines = p.lines || [];
|
|
203
217
|
let net = 0;
|
|
204
218
|
const vat = {};
|
|
@@ -215,20 +229,22 @@ export function InvoicePreview(p) {
|
|
|
215
229
|
return (_jsxs("div", { className: "tf-paper", children: [_jsxs("div", { className: "tf-paper-top", children: [_jsxs("div", { children: [p.brand && (_jsxs("div", { className: "tf-brand", style: {
|
|
216
230
|
color: "var(--ink)",
|
|
217
231
|
fontSize: 18,
|
|
218
|
-
}, children: [p.brand, _jsx("span", { className: "tf-brand-dot" })] })), p.from && _jsx("div", { className: "tf-paper-small", children: p.from })] }), _jsxs("div", { className: "tf-paper-id", children: [_jsx("div", { className: "tf-paper-kind", children: p.kind ||
|
|
232
|
+
}, children: [p.brand, _jsx("span", { className: "tf-brand-dot" })] })), p.from && _jsx("div", { className: "tf-paper-small", children: p.from })] }), _jsxs("div", { className: "tf-paper-id", children: [_jsx("div", { className: "tf-paper-kind", children: p.kind || t.invoice }), _jsx("div", { className: "tf-mono", children: "#" + p.number })] })] }), _jsxs("div", { className: "tf-paper-meta", children: [_jsxs("div", { children: [_jsx("span", { children: t.billTo }), _jsx("b", { children: p.to })] }), _jsxs("div", { children: [_jsx("span", { children: t.issued }), _jsx("b", { children: p.issued })] }), _jsxs("div", { children: [_jsx("span", { children: t.due }), _jsx("b", { children: p.due })] })] }), _jsx("div", { className: "tf-paper-lines", children: lines.map((l, i) => (_jsxs("div", { children: [_jsx("span", { children: (l.d || t.untitledLine) + (l.q !== 1 ? " × " + l.q : "") }), _jsx("b", { children: fmt(l.q * l.u) })] }, i))) }), _jsxs("div", { className: "tf-paper-totals", children: [_jsxs("div", { children: [_jsx("span", { children: t.net }), _jsx("b", { children: fmt(net) })] }), Object.keys(vat)
|
|
219
233
|
.filter((k) => +k > 0)
|
|
220
|
-
.map((k) => (_jsxs("div", { children: [_jsx("span", { children:
|
|
234
|
+
.map((k) => (_jsxs("div", { children: [_jsx("span", { children: t.vatAt(formatPercent(Number(k), { maximumFractionDigits: 2 })) }), _jsx("b", { children: fmt(vat[Number(k)] ?? 0) })] }, k))), _jsxs("div", { className: "grand", children: [_jsx("span", { children: t.totalDue }), _jsx("b", { children: fmt(net + tax) })] })] }), p.note && _jsx("div", { className: "tf-paper-small", children: p.note })] }));
|
|
221
235
|
}
|
|
222
236
|
export function TransactionRow(p) {
|
|
237
|
+
const t = useStrings(WORKSPACE_STRINGS);
|
|
238
|
+
const money2 = useMoney2();
|
|
223
239
|
const open = React.useState(false), inc = p.amount > 0;
|
|
224
|
-
return (_jsxs("div", { className: cx("tf-tx", !p.matched && "unmatched"), children: [_jsxs("div", { className: "tf-tx-row", children: [_jsx(TintIcon, { icon: inc ? "download" : "send", tint: inc ? "mint" : "plain" }), _jsxs("div", { className: "tf-tx-text", children: [_jsx("b", { className: "tf-mono", children: p.text }), _jsx("span", { children: p.date + (p.matched && p.matchRef ?
|
|
240
|
+
return (_jsxs("div", { className: cx("tf-tx", !p.matched && "unmatched"), children: [_jsxs("div", { className: "tf-tx-row", children: [_jsx(TintIcon, { icon: inc ? "download" : "send", tint: inc ? "mint" : "plain" }), _jsxs("div", { className: "tf-tx-text", children: [_jsx("b", { className: "tf-mono", children: p.text }), _jsx("span", { children: p.date + (p.matched && p.matchRef ? " · " + t.matchedTo(p.matchRef) : "") })] }), _jsx("b", { className: cx("tf-tx-amt", inc ? "in" : "out"), children: (inc ? "+" : "−") + money2(Math.abs(p.amount)) }), p.matched ? (_jsx(Badge, { tone: "success", children: t.matched })) : (_jsx(Button, { size: "sm", variant: open[0] ? "soft" : "primary", onClick: () => {
|
|
225
241
|
open[1](!open[0]);
|
|
226
|
-
}, children: open[0] ?
|
|
242
|
+
}, children: open[0] ? t.close : t.match }))] }), open[0] && !p.matched && (_jsxs("div", { className: "tf-tx-suggest tf-in", children: [_jsx(TintIcon, { icon: "bot", tint: "butter" }), _jsx("span", { style: {
|
|
227
243
|
flex: 1,
|
|
228
244
|
minWidth: 0,
|
|
229
|
-
}, children: p.hint ||
|
|
245
|
+
}, children: p.hint || t.noSuggestion }), _jsx(Button, { size: "sm", icon: "check", onClick: () => {
|
|
230
246
|
open[1](false);
|
|
231
247
|
p.onMatch && p.onMatch();
|
|
232
|
-
}, children:
|
|
248
|
+
}, children: t.accept })] }))] }));
|
|
233
249
|
}
|
|
234
250
|
//# sourceMappingURL=workspace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/components/workspace.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/components/workspace.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { SHARED_STRINGS, type UIMessages, type UIStrings } from "./strings.js";
|
|
2
|
+
import type { Density, Kit, Motion, Surface, Theme } from "./provider.js";
|
|
3
|
+
export interface UIContextValue {
|
|
4
|
+
kit: Kit | undefined;
|
|
5
|
+
theme: Theme | undefined;
|
|
6
|
+
density: Density | undefined;
|
|
7
|
+
surface: Surface | undefined;
|
|
8
|
+
motion: Motion | undefined;
|
|
9
|
+
/** Locale for formatted numbers and dates (`"en-US"` unless a provider sets one). */
|
|
10
|
+
locale: string;
|
|
11
|
+
/** Every provider's `messages`, merged (outer first). Components add their defaults. */
|
|
12
|
+
messages: UIMessages;
|
|
13
|
+
/** Element portals render into (null: document.body). */
|
|
14
|
+
portalRoot: HTMLElement | null;
|
|
15
|
+
}
|
|
16
|
+
export declare const UIContext: import("react").Context<UIContextValue>;
|
|
17
|
+
/** Current kit, theme, density, locale, strings and portal target. */
|
|
18
|
+
export declare function useUI(): UIContextValue;
|
|
19
|
+
/**
|
|
20
|
+
* Strings for a component: the shared strings plus `group` (the component file's defaults), with
|
|
21
|
+
* the `messages` of the surrounding providers applied. Each component file passes only its own
|
|
22
|
+
* group, so a bundle carries just the defaults of the components it uses.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useStrings<G extends object = Record<never, never>>(group?: G): typeof SHARED_STRINGS & G;
|
|
25
|
+
/** Every built-in string for this part of the tree (English unless a `UIProvider` sets `messages`). */
|
|
26
|
+
export declare function useUIStrings(): UIStrings;
|
|
27
|
+
/** `formatNumber`, `formatMoney`, `formatPercent` and `formatDate`, bound to a locale. */
|
|
28
|
+
export interface Formatters {
|
|
29
|
+
locale: string;
|
|
30
|
+
formatNumber: (v: number, o?: Intl.NumberFormatOptions) => string;
|
|
31
|
+
formatMoney: (v: number, currency?: string | null, o?: Intl.NumberFormatOptions) => string;
|
|
32
|
+
formatPercent: (v: number, o?: Intl.NumberFormatOptions) => string;
|
|
33
|
+
formatDate: (input: Date | string | number, o?: Intl.DateTimeFormatOptions) => string;
|
|
34
|
+
}
|
|
35
|
+
/** The formatters for a locale (cached, so the functions keep their identity). */
|
|
36
|
+
export declare function formattersFor(locale: string): Formatters;
|
|
37
|
+
/** The format helpers in the locale of the nearest `UIProvider` (`"en-US"` without one). */
|
|
38
|
+
export declare function useFormat(): Formatters;
|
|
39
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,cAAc,EAEd,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE1E,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC;IACrB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,EAAE,UAAU,CAAC;IACrB,yDAAyD;IACzD,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,SAAS,yCASpB,CAAC;AAEH,sEAAsE;AACtE,wBAAgB,KAAK,IAAI,cAAc,CAEtC;AAiBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAChE,KAAK,CAAC,EAAE,CAAC,GACR,OAAO,cAAc,GAAG,CAAC,CAM3B;AAGD,uGAAuG;AACvG,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED,0FAA0F;AAC1F,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC;IAC3F,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC;IACnE,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAC;CACvF;AAGD,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAaxD;AAED,4FAA4F;AAC5F,wBAAgB,SAAS,IAAI,UAAU,CAEtC"}
|
package/dist/context.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
/**
|
|
3
|
+
* The context `UIProvider` fills, and the hooks components read it with. Kept apart from the
|
|
4
|
+
* provider so a component that only needs its strings or formatters does not pull in theming.
|
|
5
|
+
*/
|
|
6
|
+
import { createContext, useContext } from "react";
|
|
7
|
+
import { LOCALE, formatDate, formatMoney, formatNumber, formatPercent } from "./format.js";
|
|
8
|
+
import { DEFAULT_STRINGS, SHARED_STRINGS, mergeStrings, } from "./strings.js";
|
|
9
|
+
export const UIContext = createContext({
|
|
10
|
+
kit: undefined,
|
|
11
|
+
theme: undefined,
|
|
12
|
+
density: undefined,
|
|
13
|
+
surface: undefined,
|
|
14
|
+
motion: undefined,
|
|
15
|
+
locale: LOCALE,
|
|
16
|
+
messages: {},
|
|
17
|
+
portalRoot: null,
|
|
18
|
+
});
|
|
19
|
+
/** Current kit, theme, density, locale, strings and portal target. */
|
|
20
|
+
export function useUI() {
|
|
21
|
+
return useContext(UIContext);
|
|
22
|
+
}
|
|
23
|
+
// Resolved strings per (messages, defaults): components get stable objects, and an app without
|
|
24
|
+
// messages shares one object per group.
|
|
25
|
+
const resolved = new WeakMap();
|
|
26
|
+
function resolve(messages, defaults) {
|
|
27
|
+
let byGroup = resolved.get(messages);
|
|
28
|
+
if (!byGroup)
|
|
29
|
+
resolved.set(messages, (byGroup = new WeakMap()));
|
|
30
|
+
let out = byGroup.get(defaults);
|
|
31
|
+
if (!out) {
|
|
32
|
+
out = mergeStrings(defaults, messages);
|
|
33
|
+
byGroup.set(defaults, out);
|
|
34
|
+
}
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
const NO_GROUP = {};
|
|
38
|
+
/**
|
|
39
|
+
* Strings for a component: the shared strings plus `group` (the component file's defaults), with
|
|
40
|
+
* the `messages` of the surrounding providers applied. Each component file passes only its own
|
|
41
|
+
* group, so a bundle carries just the defaults of the components it uses.
|
|
42
|
+
*/
|
|
43
|
+
export function useStrings(group) {
|
|
44
|
+
const messages = useContext(UIContext).messages;
|
|
45
|
+
const g = group ?? NO_GROUP;
|
|
46
|
+
let base = withShared.get(g);
|
|
47
|
+
if (!base)
|
|
48
|
+
withShared.set(g, (base = { ...SHARED_STRINGS, ...g }));
|
|
49
|
+
return resolve(messages, base);
|
|
50
|
+
}
|
|
51
|
+
const withShared = new WeakMap();
|
|
52
|
+
/** Every built-in string for this part of the tree (English unless a `UIProvider` sets `messages`). */
|
|
53
|
+
export function useUIStrings() {
|
|
54
|
+
return resolve(useContext(UIContext).messages, DEFAULT_STRINGS);
|
|
55
|
+
}
|
|
56
|
+
const formatters = new Map();
|
|
57
|
+
/** The formatters for a locale (cached, so the functions keep their identity). */
|
|
58
|
+
export function formattersFor(locale) {
|
|
59
|
+
let f = formatters.get(locale);
|
|
60
|
+
if (!f) {
|
|
61
|
+
f = {
|
|
62
|
+
locale,
|
|
63
|
+
formatNumber: (v, o) => formatNumber(v, o, locale),
|
|
64
|
+
formatMoney: (v, currency, o) => formatMoney(v, currency, o, locale),
|
|
65
|
+
formatPercent: (v, o) => formatPercent(v, o, locale),
|
|
66
|
+
formatDate: (input, o) => formatDate(input, o, locale),
|
|
67
|
+
};
|
|
68
|
+
formatters.set(locale, f);
|
|
69
|
+
}
|
|
70
|
+
return f;
|
|
71
|
+
}
|
|
72
|
+
/** The format helpers in the locale of the nearest `UIProvider` (`"en-US"` without one). */
|
|
73
|
+
export function useFormat() {
|
|
74
|
+
return formattersFor(useContext(UIContext).locale);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/format.d.ts
CHANGED
|
@@ -1,14 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Numbers, money, percentages and dates, formatted with Intl
|
|
3
|
-
*
|
|
2
|
+
* Numbers, money, percentages and dates, formatted with Intl. English (en-US) by default; every
|
|
3
|
+
* helper takes an optional BCP 47 locale as its last argument, and components use the locale of
|
|
4
|
+
* the nearest `UIProvider` (see `useFormat`). Money defaults to euros; calendars start on Monday.
|
|
4
5
|
*/
|
|
5
6
|
export declare const LOCALE = "en-US";
|
|
6
7
|
export declare const CURRENCY = "EUR";
|
|
7
8
|
/** First day of the week in calendars: 0 Sunday … 6 Saturday. */
|
|
8
9
|
export declare const WEEK_START = 1;
|
|
9
|
-
export declare function formatNumber(v: number, o?: Intl.NumberFormatOptions): string;
|
|
10
|
-
export declare function formatMoney(v: number, currency?: string | null, o?: Intl.NumberFormatOptions): string;
|
|
10
|
+
export declare function formatNumber(v: number, o?: Intl.NumberFormatOptions, locale?: string): string;
|
|
11
|
+
export declare function formatMoney(v: number, currency?: string | null, o?: Intl.NumberFormatOptions, locale?: string): string;
|
|
11
12
|
/** A share in percent: `19` → "19%". */
|
|
12
|
-
export declare function formatPercent(v: number, o?: Intl.NumberFormatOptions): string;
|
|
13
|
-
export declare function formatDate(input: Date | string | number, o?: Intl.DateTimeFormatOptions): string;
|
|
13
|
+
export declare function formatPercent(v: number, o?: Intl.NumberFormatOptions, locale?: string): string;
|
|
14
|
+
export declare function formatDate(input: Date | string | number, o?: Intl.DateTimeFormatOptions, locale?: string): string;
|
|
15
|
+
/** The group and decimal separators of a locale: `en-US` → `{ group: ",", decimal: "." }`. */
|
|
16
|
+
export declare function numberSeparators(locale?: string): {
|
|
17
|
+
group: string;
|
|
18
|
+
decimal: string;
|
|
19
|
+
};
|
|
20
|
+
/** A number inside a formatted string, as `parseFormatted` finds it. */
|
|
21
|
+
export interface FormattedNumber {
|
|
22
|
+
/** Text before the number ("€", "+"). */
|
|
23
|
+
prefix: string;
|
|
24
|
+
value: number;
|
|
25
|
+
/** Digits after the decimal separator. */
|
|
26
|
+
decimals: number;
|
|
27
|
+
/** Whether the number used group separators ("1,305"). */
|
|
28
|
+
grouped: boolean;
|
|
29
|
+
/** Text after the number (" €/m²", "%"). */
|
|
30
|
+
suffix: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Finds the first number in a string formatted for `locale` and returns it with the text around
|
|
34
|
+
* it: `parseFormatted("13,05 €/m²", "de-DE")` → `{ prefix: "", value: 13.05, decimals: 2, … }`.
|
|
35
|
+
* Group separators are only taken between digits; a space or no-break space counts as a group
|
|
36
|
+
* separator for locales that group with one.
|
|
37
|
+
*/
|
|
38
|
+
export declare function parseFormatted(input: string | number, locale?: string): FormattedNumber | null;
|
|
39
|
+
/** Writes a number back in the shape `parseFormatted` found it in (same decimals, grouping, text). */
|
|
40
|
+
export declare function formatLike(v: number, shape: FormattedNumber, locale?: string): string;
|
|
14
41
|
//# sourceMappingURL=format.d.ts.map
|
package/dist/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,iEAAiE;AACjE,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAM7F;AAED,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAC5B,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAYR;AAED,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9F;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC7B,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAC9B,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAUR;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAYpF;AAID,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA+B9F;AAED,sGAAsG;AACtG,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAWrF"}
|