@valentinkolb/cloud 0.4.0 → 0.5.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/package.json +18 -6
- package/scripts/preload.ts +78 -23
- package/src/_internal/define-app.ts +53 -46
- package/src/api/accounts-entities.ts +4 -0
- package/src/api/admin-core-settings.ts +98 -0
- package/src/api/announcements.ts +131 -0
- package/src/api/auth/schemas.ts +24 -0
- package/src/api/auth.ts +113 -10
- package/src/api/index.ts +7 -2
- package/src/api/me.ts +203 -14
- package/src/api/search/schemas.ts +1 -0
- package/src/api/search.ts +62 -8
- package/src/config/ssr.ts +2 -9
- package/src/contracts/announcements.test.ts +37 -0
- package/src/contracts/announcements.ts +121 -0
- package/src/contracts/app.ts +2 -0
- package/src/contracts/index.ts +3 -2
- package/src/contracts/registry.ts +2 -0
- package/src/contracts/shared.ts +108 -1
- package/src/desktop/index.ts +704 -0
- package/src/desktop/solid.tsx +938 -0
- package/src/server/api/index.ts +1 -1
- package/src/server/api/respond.ts +50 -10
- package/src/server/index.ts +44 -38
- package/src/server/middleware/auth.ts +98 -9
- package/src/server/middleware/index.ts +2 -1
- package/src/server/middleware/settings.ts +26 -0
- package/src/server/services/access.test.ts +197 -0
- package/src/server/services/access.ts +254 -6
- package/src/server/services/index.ts +14 -11
- package/src/server/services/pagination.ts +22 -0
- package/src/server/time.ts +45 -0
- package/src/services/account-lifecycle/index.ts +142 -18
- package/src/services/accounts/app.ts +658 -170
- package/src/services/accounts/authz.test.ts +77 -0
- package/src/services/accounts/authz.ts +22 -0
- package/src/services/accounts/entities.ts +84 -5
- package/src/services/accounts/groups.ts +30 -24
- package/src/services/accounts/model.test.ts +30 -0
- package/src/services/accounts/switching.test.ts +14 -0
- package/src/services/accounts/switching.ts +15 -6
- package/src/services/accounts/users.ts +75 -52
- package/src/services/announcements/index.test.ts +32 -0
- package/src/services/announcements/index.ts +224 -0
- package/src/services/audit/index.test.ts +84 -0
- package/src/services/audit/index.ts +431 -0
- package/src/services/auth-flows/index.ts +9 -2
- package/src/services/auth-flows/ipa.ts +0 -2
- package/src/services/auth-flows/magic-link.ts +3 -2
- package/src/services/auth-flows/password-reset.ts +284 -0
- package/src/services/auth-flows/proxy-return.test.ts +24 -0
- package/src/services/auth-flows/proxy-return.ts +49 -0
- package/src/services/gateway.ts +162 -0
- package/src/services/index.ts +44 -2
- package/src/services/ipa/effective-groups.test.ts +33 -0
- package/src/services/ipa/effective-groups.ts +70 -0
- package/src/services/ipa/profile.ts +45 -3
- package/src/services/ipa/search.ts +3 -5
- package/src/services/ipa/service-account.ts +15 -0
- package/src/services/ipa/sync-planning.test.ts +32 -0
- package/src/services/ipa/sync-planning.ts +22 -0
- package/src/services/ipa/sync.ts +110 -38
- package/src/services/oauth-tokens.ts +104 -0
- package/src/services/postgres.ts +21 -6
- package/src/services/providers/local/auth.test.ts +22 -0
- package/src/services/providers/local/auth.ts +46 -3
- package/src/services/secrets.ts +10 -0
- package/src/services/service-account-credentials.test.ts +210 -0
- package/src/services/service-account-credentials.ts +715 -0
- package/src/services/service-accounts.ts +188 -0
- package/src/services/session/index.ts +7 -8
- package/src/services/settings/app.ts +4 -20
- package/src/services/settings/defaults.ts +64 -22
- package/src/services/settings/store.ts +47 -0
- package/src/services/weather/forecast.ts +40 -7
- package/src/services/webauthn.test.ts +36 -0
- package/src/services/webauthn.ts +384 -0
- package/src/shared/icons.ts +391 -100
- package/src/shared/index.ts +7 -0
- package/src/shared/markdown/extensions/code.ts +38 -1
- package/src/shared/markdown/extensions/images.ts +39 -3
- package/src/shared/markdown/extensions/info-blocks.ts +5 -5
- package/src/shared/markdown/extensions/mark.ts +48 -0
- package/src/shared/markdown/extensions/sub-sup.ts +60 -0
- package/src/shared/markdown/extensions/tables.ts +79 -58
- package/src/shared/markdown/formula.test.ts +1089 -0
- package/src/shared/markdown/formula.ts +1187 -0
- package/src/shared/markdown/index.ts +76 -2
- package/src/shared/mock-cover.ts +130 -0
- package/src/shared/redirect.test.ts +49 -0
- package/src/shared/redirect.ts +52 -0
- package/src/shared/theme.test.ts +24 -0
- package/src/shared/theme.ts +68 -0
- package/src/shared/time.ts +13 -0
- package/src/ssr/AdminLayout.tsx +7 -3
- package/src/ssr/AdminSidebar.tsx +115 -49
- package/src/ssr/AppLaunchpad.island.tsx +176 -0
- package/src/ssr/Footer.island.tsx +3 -8
- package/src/ssr/GlobalAnnouncements.island.tsx +141 -0
- package/src/ssr/GlobalSearchDialog.tsx +545 -117
- package/src/ssr/HotkeysHelpRail.island.tsx +3 -70
- package/src/ssr/Layout.tsx +74 -66
- package/src/ssr/LayoutBreadcrumbs.island.tsx +44 -0
- package/src/ssr/LayoutHelp.tsx +266 -0
- package/src/ssr/NavMenu.island.tsx +0 -39
- package/src/ssr/ThemeToggleRail.island.tsx +3 -3
- package/src/ssr/TimezoneCookie.island.tsx +23 -0
- package/src/ssr/islands/index.ts +13 -0
- package/src/styles/base-popover.css +5 -2
- package/src/styles/effects.css +87 -6
- package/src/styles/global.css +146 -9
- package/src/styles/input.css +3 -1
- package/src/styles/utilities-buttons.css +133 -27
- package/src/styles/utilities-code-display.css +67 -0
- package/src/styles/utilities-completion.css +223 -0
- package/src/styles/utilities-detail.css +73 -0
- package/src/styles/utilities-feedback.css +16 -15
- package/src/styles/utilities-layout.css +42 -2
- package/src/styles/utilities-markdown-editor.css +472 -0
- package/src/styles/utilities-navigation.css +63 -8
- package/src/styles/utilities-script.css +84 -0
- package/src/styles/utilities-table-tile.css +229 -0
- package/src/types/ambient.d.ts +9 -0
- package/src/ui/completion/behaviors.test.ts +95 -0
- package/src/ui/completion/behaviors.ts +205 -0
- package/src/ui/completion/engine.ts +368 -0
- package/src/ui/completion/index.ts +40 -0
- package/src/ui/completion/overlay.ts +92 -0
- package/src/ui/dialog-core.ts +173 -45
- package/src/ui/filter/FilterChip.tsx +42 -40
- package/src/ui/index.ts +11 -12
- package/src/ui/input/AutocompleteEditor.tsx +656 -0
- package/src/ui/input/CheckboxCard.tsx +91 -0
- package/src/ui/input/Combobox.tsx +375 -0
- package/src/ui/input/DatePicker.tsx +846 -0
- package/src/ui/input/DateTimeInput.tsx +29 -4
- package/src/ui/input/FileDropzone.tsx +116 -0
- package/src/ui/input/IconInput.tsx +116 -0
- package/src/ui/input/ImageInput.tsx +19 -2
- package/src/ui/input/MultiSelectInput.tsx +448 -0
- package/src/ui/input/NumberInput.tsx +417 -61
- package/src/ui/input/SegmentedControl.tsx +2 -2
- package/src/ui/input/Select.tsx +172 -10
- package/src/ui/input/Slider.tsx +3 -4
- package/src/ui/input/Switch.tsx +3 -2
- package/src/ui/input/TemplateEditor.tsx +212 -0
- package/src/ui/input/TextInput.tsx +144 -13
- package/src/ui/input/index.ts +53 -8
- package/src/ui/input/markdown/MarkdownEditor.tsx +774 -0
- package/src/ui/input/markdown/Toolbar.tsx +90 -0
- package/src/ui/input/markdown/actions.ts +233 -0
- package/src/ui/input/markdown/active-formats.ts +94 -0
- package/src/ui/input/markdown/behaviors.ts +193 -0
- package/src/ui/input/markdown/code-zone.ts +23 -0
- package/src/ui/input/markdown/highlight.ts +316 -0
- package/src/ui/layout.ts +22 -0
- package/src/ui/misc/AppOverview.tsx +105 -0
- package/src/ui/misc/AppWorkspace.tsx +607 -0
- package/src/ui/misc/Calendar.tsx +1291 -0
- package/src/ui/misc/Chart.tsx +162 -0
- package/src/ui/misc/CodeDisplay.tsx +54 -0
- package/src/ui/misc/ContextMenu.tsx +2 -2
- package/src/ui/misc/DataTable.tsx +269 -0
- package/src/ui/misc/DockWorkspace.tsx +425 -0
- package/src/ui/misc/Docs.tsx +153 -0
- package/src/ui/misc/Dropdown.tsx +2 -2
- package/src/ui/misc/EntitySearch.tsx +260 -129
- package/src/ui/misc/LinkCard.tsx +14 -2
- package/src/ui/misc/LogEntriesTable.tsx +34 -31
- package/src/ui/misc/Pagination.tsx +31 -12
- package/src/ui/misc/PanelDialog.tsx +109 -0
- package/src/ui/misc/Panes.tsx +873 -0
- package/src/ui/misc/PermissionEditor.tsx +358 -262
- package/src/ui/misc/Placeholder.tsx +40 -0
- package/src/ui/misc/ProgressBar.tsx +1 -1
- package/src/ui/misc/ResourceApiKeys.tsx +260 -0
- package/src/ui/misc/SettingsModal.tsx +150 -0
- package/src/ui/misc/StatCell.tsx +182 -40
- package/src/ui/misc/StatGrid.tsx +149 -0
- package/src/ui/misc/StructuredDataPreview.tsx +107 -0
- package/src/ui/misc/code-highlight.ts +213 -0
- package/src/ui/misc/index.ts +93 -12
- package/src/ui/prompts.tsx +362 -312
- package/src/ui/toast.ts +384 -0
- package/src/ui/widgets/Widget.tsx +12 -4
- package/src/ssr/MoreAppsDropdown.island.tsx +0 -61
- package/src/ui/ipa/GroupView.tsx +0 -36
- package/src/ui/ipa/LoginBtn.tsx +0 -16
- package/src/ui/ipa/UserView.tsx +0 -58
- package/src/ui/ipa/index.ts +0 -4
- package/src/ui/navigation.ts +0 -32
- package/src/ui/sidebar.tsx +0 -468
- /package/src/ui/{ipa → misc}/Avatar.tsx +0 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Small safe highlighters for CodeDisplay.
|
|
3
|
+
*
|
|
4
|
+
* These are display-only highlighters: no AST, no runtime parser, no
|
|
5
|
+
* dependency. Every input character is HTML-escaped before being wrapped
|
|
6
|
+
* in token spans, so the returned strings are safe to inject with
|
|
7
|
+
* `innerHTML`.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const KEYWORDS = new Set([
|
|
11
|
+
"const",
|
|
12
|
+
"let",
|
|
13
|
+
"var",
|
|
14
|
+
"function",
|
|
15
|
+
"return",
|
|
16
|
+
"if",
|
|
17
|
+
"else",
|
|
18
|
+
"for",
|
|
19
|
+
"while",
|
|
20
|
+
"import",
|
|
21
|
+
"from",
|
|
22
|
+
"export",
|
|
23
|
+
"default",
|
|
24
|
+
"async",
|
|
25
|
+
"await",
|
|
26
|
+
"new",
|
|
27
|
+
"true",
|
|
28
|
+
"false",
|
|
29
|
+
"null",
|
|
30
|
+
"undefined",
|
|
31
|
+
"as",
|
|
32
|
+
"type",
|
|
33
|
+
"interface",
|
|
34
|
+
"void",
|
|
35
|
+
"this",
|
|
36
|
+
"typeof",
|
|
37
|
+
"in",
|
|
38
|
+
"of",
|
|
39
|
+
]);
|
|
40
|
+
|
|
41
|
+
export type CodeDisplayLanguage = "ts" | "tsx" | "js" | "jsx" | "script" | "markdown" | "md" | "text";
|
|
42
|
+
|
|
43
|
+
export const escapeCodeHtml = (s: string): string => s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
44
|
+
|
|
45
|
+
const isIdStart = (c: string): boolean => /[A-Za-z_$]/.test(c);
|
|
46
|
+
const isIdCont = (c: string): boolean => /[\w$]/.test(c);
|
|
47
|
+
const isDigit = (c: string): boolean => /[0-9]/.test(c);
|
|
48
|
+
const wrap = (cls: string, raw: string): string => `<span class="${cls}">${escapeCodeHtml(raw)}</span>`;
|
|
49
|
+
const isCodeLanguage = (language: string | undefined): boolean =>
|
|
50
|
+
language === "script" || language === "js" || language === "jsx" || language === "ts" || language === "tsx";
|
|
51
|
+
|
|
52
|
+
export const highlightCode = (code: string): string => {
|
|
53
|
+
let out = "";
|
|
54
|
+
let i = 0;
|
|
55
|
+
const n = code.length;
|
|
56
|
+
|
|
57
|
+
while (i < n) {
|
|
58
|
+
const c = code[i]!;
|
|
59
|
+
|
|
60
|
+
if (c === "/" && code[i + 1] === "/") {
|
|
61
|
+
const nl = code.indexOf("\n", i);
|
|
62
|
+
const end = nl === -1 ? n : nl;
|
|
63
|
+
out += wrap("cd-c", code.slice(i, end));
|
|
64
|
+
i = end;
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (c === "/" && code[i + 1] === "*") {
|
|
69
|
+
const close = code.indexOf("*/", i + 2);
|
|
70
|
+
const end = close === -1 ? n : close + 2;
|
|
71
|
+
out += wrap("cd-c", code.slice(i, end));
|
|
72
|
+
i = end;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (c === '"' || c === "'" || c === "`") {
|
|
77
|
+
const quote = c;
|
|
78
|
+
let j = i + 1;
|
|
79
|
+
while (j < n) {
|
|
80
|
+
if (code[j] === "\\") {
|
|
81
|
+
j += 2;
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (code[j] === quote) {
|
|
85
|
+
j++;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
j++;
|
|
89
|
+
}
|
|
90
|
+
out += wrap("cd-s", code.slice(i, j));
|
|
91
|
+
i = j;
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (isDigit(c)) {
|
|
96
|
+
let j = i;
|
|
97
|
+
while (j < n && (isDigit(code[j]!) || code[j] === ".")) j++;
|
|
98
|
+
out += wrap("cd-n", code.slice(i, j));
|
|
99
|
+
i = j;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (isIdStart(c)) {
|
|
104
|
+
let j = i;
|
|
105
|
+
while (j < n && isIdCont(code[j]!)) j++;
|
|
106
|
+
const word = code.slice(i, j);
|
|
107
|
+
let cls = "";
|
|
108
|
+
if (KEYWORDS.has(word)) cls = "cd-k";
|
|
109
|
+
else if (/^[A-Z]/.test(word)) cls = "cd-p";
|
|
110
|
+
else {
|
|
111
|
+
let k = j;
|
|
112
|
+
while (k < n && code[k] === " ") k++;
|
|
113
|
+
const next = code[k];
|
|
114
|
+
const prev = i > 0 ? code[i - 1] : "";
|
|
115
|
+
const assignment = next === "=" && code[k + 1] !== "=" && code[k + 1] !== ">";
|
|
116
|
+
const objectKey = next === ":";
|
|
117
|
+
const functionCall = next === "(";
|
|
118
|
+
const property = prev === ".";
|
|
119
|
+
if (assignment || objectKey) cls = "cd-a";
|
|
120
|
+
else if (functionCall || property) cls = "cd-f";
|
|
121
|
+
}
|
|
122
|
+
out += cls ? wrap(cls, word) : escapeCodeHtml(word);
|
|
123
|
+
i = j;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
out += escapeCodeHtml(c);
|
|
128
|
+
i++;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return out;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
const highlightMarkdownLine = (line: string): string => {
|
|
135
|
+
const escaped = escapeCodeHtml(line);
|
|
136
|
+
|
|
137
|
+
const heading = /^(#{1,6})(\s.*)$/.exec(escaped);
|
|
138
|
+
if (heading) return `<span class="cd-md-syntax">${heading[1]}</span>${highlightMarkdownInline(heading[2] ?? "")}`;
|
|
139
|
+
|
|
140
|
+
const ref = /^(@[A-Za-z][\w-]*)$/.exec(escaped);
|
|
141
|
+
if (ref) return `<span class="cd-md-ref">${ref[1]}</span>`;
|
|
142
|
+
|
|
143
|
+
const directive = /^(\s*:::)([A-Za-z][\w-]*)?(.*)$/.exec(escaped);
|
|
144
|
+
if (directive) {
|
|
145
|
+
const name = directive[2] ? `<span class="cd-md-directive">${directive[2]}</span>` : "";
|
|
146
|
+
return `${directive[1] ? `<span class="cd-md-syntax">${directive[1]}</span>` : ""}${name}${highlightMarkdownInline(directive[3] ?? "")}`;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const fence = /^(```)(.*)$/.exec(escaped);
|
|
150
|
+
if (fence) {
|
|
151
|
+
const language = fence[2] ? `<span class="cd-md-ref">${fence[2]}</span>` : "";
|
|
152
|
+
return `<span class="cd-md-syntax">${fence[1]}</span>${language}`;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
const table = /^(\s*\|)(.*)(\|\s*)$/.exec(escaped);
|
|
156
|
+
if (table) return `<span class="cd-md-syntax">${table[1]}</span>${table[2]}<span class="cd-md-syntax">${table[3]}</span>`;
|
|
157
|
+
|
|
158
|
+
const task = /^(\s*(?:[-*+]|\d+\.)\s+)(\[[ xX]\])(\s+.*)$/.exec(escaped);
|
|
159
|
+
if (task) {
|
|
160
|
+
return `<span class="cd-md-syntax">${task[1]}</span><span class="cd-md-checkbox">${task[2]}</span>${highlightMarkdownInline(task[3] ?? "")}`;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
const list = /^(\s*(?:[-*+]|\d+\.)\s+)(.*)$/.exec(escaped);
|
|
164
|
+
if (list) return `<span class="cd-md-syntax">${list[1]}</span>${highlightMarkdownInline(list[2] ?? "")}`;
|
|
165
|
+
|
|
166
|
+
return highlightMarkdownInline(escaped);
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
const highlightMarkdownInline = (escaped: string): string =>
|
|
170
|
+
escaped
|
|
171
|
+
.replace(/(`)([^`\n]+?)(`)/g, '<span class="cd-md-syntax">$1</span><span class="cd-md-code">$2</span><span class="cd-md-syntax">$3</span>')
|
|
172
|
+
.replace(/(\*\*)([^*\n]+?)(\*\*)/g, '<span class="cd-md-syntax">$1</span>$2<span class="cd-md-syntax">$3</span>')
|
|
173
|
+
.replace(/(\[[^\]\n]+?\])(\([^)]+\))/g, '<span class="cd-md-link">$1</span><span class="cd-md-syntax">$2</span>')
|
|
174
|
+
.replace(/(^|\s)(@[A-Za-z][\w-]*)/g, '$1<span class="cd-md-ref">$2</span>')
|
|
175
|
+
.replace(/(#[A-Za-z][\w/-]*)/g, '<span class="cd-md-tag">$1</span>')
|
|
176
|
+
.replace(/(=[A-Z][A-Z0-9_]*\([^)\n]*\))/g, '<span class="cd-md-formula">$1</span>');
|
|
177
|
+
|
|
178
|
+
export const highlightMarkdownDisplay = (code: string): string => code.split("\n").map(highlightMarkdownLine).join("\n");
|
|
179
|
+
|
|
180
|
+
export const highlightCodeDisplayLines = (code: string, language: CodeDisplayLanguage = "text"): string[] => {
|
|
181
|
+
const lines = code.split("\n");
|
|
182
|
+
|
|
183
|
+
if (language === "text") return lines.map((line) => escapeCodeHtml(line || " "));
|
|
184
|
+
|
|
185
|
+
if (language === "markdown" || language === "md") {
|
|
186
|
+
let fencedLanguage: string | undefined;
|
|
187
|
+
return lines.map((line) => {
|
|
188
|
+
const fence = /^(```)(\w+)?(.*)$/.exec(line);
|
|
189
|
+
if (fence) {
|
|
190
|
+
const highlightedFence = highlightMarkdownLine(line);
|
|
191
|
+
fencedLanguage = fencedLanguage ? undefined : fence[2];
|
|
192
|
+
return highlightedFence;
|
|
193
|
+
}
|
|
194
|
+
return isCodeLanguage(fencedLanguage) ? highlightCode(line || " ") : highlightMarkdownLine(line || " ");
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if (lines.length >= 2 && /^```\w+/.test(lines[0] ?? "") && /^```\s*$/.test(lines[lines.length - 1] ?? "")) {
|
|
199
|
+
return lines.map((line, index) => {
|
|
200
|
+
if (index === 0 || index === lines.length - 1) return highlightMarkdownLine(line || " ");
|
|
201
|
+
return highlightCode(line || " ");
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return lines.map((line) => highlightCode(line || " "));
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
export const highlightCodeDisplay = (code: string, language: CodeDisplayLanguage = "text"): string => {
|
|
209
|
+
if (code.includes("\n")) return highlightCodeDisplayLines(code, language).join("\n");
|
|
210
|
+
if (language === "markdown" || language === "md") return highlightMarkdownDisplay(code);
|
|
211
|
+
if (language === "text") return escapeCodeHtml(code);
|
|
212
|
+
return highlightCode(code);
|
|
213
|
+
};
|
package/src/ui/misc/index.ts
CHANGED
|
@@ -1,18 +1,99 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export type { AppOverviewEmptyStateProps, AppOverviewPanelProps, AppOverviewProps } from "./AppOverview";
|
|
2
|
+
export { default as AppOverview } from "./AppOverview";
|
|
3
|
+
export type {
|
|
4
|
+
AppWorkspaceDetailProps,
|
|
5
|
+
AppWorkspaceDetailWidth,
|
|
6
|
+
AppWorkspaceMainProps,
|
|
7
|
+
AppWorkspaceProps,
|
|
8
|
+
AppWorkspaceSidebarBodyProps,
|
|
9
|
+
AppWorkspaceSidebarHeaderProps,
|
|
10
|
+
AppWorkspaceSidebarItemProps,
|
|
11
|
+
AppWorkspaceSidebarItemTone,
|
|
12
|
+
AppWorkspaceSidebarMobileProps,
|
|
13
|
+
AppWorkspaceSidebarProps,
|
|
14
|
+
AppWorkspaceSidebarSectionProps,
|
|
15
|
+
} from "./AppWorkspace";
|
|
16
|
+
export { default as AppWorkspace } from "./AppWorkspace";
|
|
17
|
+
export { default as Avatar } from "./Avatar";
|
|
18
|
+
export type {
|
|
19
|
+
CalendarAttendee,
|
|
20
|
+
CalendarDayBadge,
|
|
21
|
+
CalendarEvent,
|
|
22
|
+
CalendarEventColor,
|
|
23
|
+
CalendarEventRenderContext,
|
|
24
|
+
CalendarEventTimeChange,
|
|
25
|
+
CalendarLabels,
|
|
26
|
+
CalendarProps,
|
|
27
|
+
CalendarRecurrence,
|
|
28
|
+
CalendarResource,
|
|
29
|
+
CalendarView,
|
|
30
|
+
} from "./Calendar";
|
|
31
|
+
export { default as Calendar } from "./Calendar";
|
|
32
|
+
export type { ChartKind, ChartProps } from "./Chart";
|
|
33
|
+
export { default as Chart } from "./Chart";
|
|
34
|
+
export type { CodeDisplayLanguage, CodeDisplayProps } from "./CodeDisplay";
|
|
35
|
+
export { default as CodeDisplay } from "./CodeDisplay";
|
|
36
|
+
export { default as ContextMenu } from "./ContextMenu";
|
|
37
|
+
export { default as CopyButton } from "./CopyButton";
|
|
38
|
+
export type {
|
|
39
|
+
DataTableColumn,
|
|
40
|
+
DataTableFooter,
|
|
41
|
+
DataTableProps,
|
|
42
|
+
DataTableRenderCell,
|
|
43
|
+
DataTableRenderHeader,
|
|
44
|
+
} from "./DataTable";
|
|
45
|
+
export { default as DataTable } from "./DataTable";
|
|
46
|
+
export type {
|
|
47
|
+
DockWorkspacePaneDescriptor,
|
|
48
|
+
DockWorkspacePaneProps,
|
|
49
|
+
DockWorkspaceProps,
|
|
50
|
+
DockWorkspaceResultProps,
|
|
51
|
+
DockWorkspaceSectionState,
|
|
52
|
+
DockWorkspaceState,
|
|
53
|
+
} from "./DockWorkspace";
|
|
54
|
+
export { default as DockWorkspace, normalizeDockWorkspaceState, readDockWorkspaceStateCookie } from "./DockWorkspace";
|
|
55
|
+
export type { DocCodeHighlighter, DocCodeProps, DocConcept, DocNoteVariant, DocRow } from "./Docs";
|
|
56
|
+
export { DocCode, DocConceptGrid, DocInlineCode, DocLead, DocNote, DocPage, DocRows, DocSection } from "./Docs";
|
|
2
57
|
export type { DropdownItem } from "./Dropdown";
|
|
58
|
+
export { default as Dropdown } from "./Dropdown";
|
|
59
|
+
export type { EntitySearchPrincipal } from "./EntitySearch";
|
|
60
|
+
export { default as EntitySearch } from "./EntitySearch";
|
|
61
|
+
export type { LightboxImage } from "./Lightbox";
|
|
62
|
+
export { default as Lightbox } from "./Lightbox";
|
|
3
63
|
export { default as LinkCard } from "./LinkCard";
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
64
|
+
export type { LogTableEntry } from "./LogEntriesTable";
|
|
65
|
+
export { default as LogEntriesTable } from "./LogEntriesTable";
|
|
6
66
|
export { default as MarkdownView } from "./MarkdownView";
|
|
67
|
+
export { Pagination } from "./Pagination";
|
|
68
|
+
export type {
|
|
69
|
+
PanelDialogBodyProps,
|
|
70
|
+
PanelDialogFooterProps,
|
|
71
|
+
PanelDialogHeaderProps,
|
|
72
|
+
PanelDialogProps,
|
|
73
|
+
PanelDialogSectionProps,
|
|
74
|
+
} from "./PanelDialog";
|
|
75
|
+
export { confirmDiscardIfDirty, default as PanelDialog, panelDialogOptions, panelDialogPanelClass } from "./PanelDialog";
|
|
76
|
+
export type {
|
|
77
|
+
PanesElementProps,
|
|
78
|
+
PanesLeafNode,
|
|
79
|
+
PanesLeafPresentation,
|
|
80
|
+
PanesNode,
|
|
81
|
+
PanesRootProps,
|
|
82
|
+
PanesSplitNode,
|
|
83
|
+
PanesValue,
|
|
84
|
+
} from "./Panes";
|
|
85
|
+
export { createPanesValue, default as Panes, normalizePanesValue } from "./Panes";
|
|
7
86
|
export { default as PermissionEditor } from "./PermissionEditor";
|
|
8
|
-
export {
|
|
9
|
-
export
|
|
10
|
-
export { default as
|
|
11
|
-
export { default as Lightbox } from "./Lightbox";
|
|
12
|
-
export type { LightboxImage } from "./Lightbox";
|
|
87
|
+
export type { PlaceholderAlign, PlaceholderProps, PlaceholderSurface } from "./Placeholder";
|
|
88
|
+
export { default as Placeholder } from "./Placeholder";
|
|
89
|
+
export { default as ProgressBar } from "./ProgressBar";
|
|
13
90
|
export { default as RemoveBtn } from "./RemoveBtn";
|
|
14
|
-
export {
|
|
15
|
-
export
|
|
16
|
-
export {
|
|
17
|
-
export { default as
|
|
91
|
+
export type { ResourceApiKey, ResourceApiKeyPermissionOption, ResourceApiKeysProps } from "./ResourceApiKeys";
|
|
92
|
+
export { default as ResourceApiKeys } from "./ResourceApiKeys";
|
|
93
|
+
export type { SettingsModalProps, SettingsModalTabProps, SettingsModalTabTone } from "./SettingsModal";
|
|
94
|
+
export { default as SettingsModal } from "./SettingsModal";
|
|
18
95
|
export type { StatCellAccent, StatCellProps } from "./StatCell";
|
|
96
|
+
export { default as StatCell } from "./StatCell";
|
|
97
|
+
export { default as StatGrid } from "./StatGrid";
|
|
98
|
+
export type { StructuredDataPreviewMode, StructuredDataPreviewProps } from "./StructuredDataPreview";
|
|
99
|
+
export { default as StructuredDataPreview } from "./StructuredDataPreview";
|