@k2b/ui 0.1.0-rc.0 → 0.1.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/types/actions/Button.d.ts +38 -0
- package/dist/types/actions/ContextMenu.d.ts +17 -0
- package/dist/types/actions/CopyButton.d.ts +20 -0
- package/dist/types/actions/Disclosure.d.ts +15 -0
- package/dist/types/actions/Dropdown.d.ts +100 -0
- package/dist/types/actions/FilterChip.d.ts +27 -0
- package/dist/types/actions/RemoveButton.d.ts +7 -0
- package/dist/types/actions/SegmentedControl.d.ts +20 -0
- package/dist/types/actions/SplitButton.d.ts +13 -0
- package/dist/types/actions/SpotlightSearch.d.ts +25 -0
- package/dist/types/actions/Tabs.d.ts +27 -0
- package/dist/types/actions/Toolbar.d.ts +23 -0
- package/dist/types/actions/index.d.ts +24 -0
- package/dist/types/chat/ChatComposer.d.ts +57 -0
- package/dist/types/chat/ChatPrimitives.d.ts +48 -0
- package/dist/types/chat/ChatRoot.d.ts +7 -0
- package/dist/types/chat/ChatTimeline.d.ts +52 -0
- package/dist/types/chat/chat-behavior.d.ts +29 -0
- package/dist/types/chat/index.d.ts +21 -0
- package/dist/types/chat/types.d.ts +62 -0
- package/dist/types/content/Calendar.d.ts +115 -0
- package/dist/types/content/Chart.d.ts +90 -0
- package/dist/types/content/CodeDisplay.d.ts +11 -0
- package/dist/types/content/DataTable.d.ts +113 -0
- package/dist/types/content/Docs.d.ts +52 -0
- package/dist/types/content/FileBrowser.d.ts +40 -0
- package/dist/types/content/FileTree.d.ts +29 -0
- package/dist/types/content/FileView.d.ts +59 -0
- package/dist/types/content/Lightbox.d.ts +16 -0
- package/dist/types/content/LogEntriesTable.d.ts +14 -0
- package/dist/types/content/MarkdownView.d.ts +46 -0
- package/dist/types/content/Pagination.d.ts +10 -0
- package/dist/types/content/PdfPreview.d.ts +11 -0
- package/dist/types/content/RangePicker.d.ts +29 -0
- package/dist/types/content/StructuredDataPreview.d.ts +20 -0
- package/dist/types/content/calendar-event-layout.d.ts +16 -0
- package/dist/types/content/calendar-pointer.d.ts +22 -0
- package/dist/types/content/chart-map-viewport.d.ts +5 -0
- package/dist/types/content/chart-state-timeline.d.ts +42 -0
- package/dist/types/content/code-highlight.d.ts +14 -0
- package/dist/types/content/file-tree.d.ts +41 -0
- package/dist/types/content/file-view-preview.d.ts +22 -0
- package/dist/types/content/index.d.ts +26 -0
- package/dist/types/feedback/InlineGuidance.d.ts +10 -0
- package/dist/types/feedback/Tooltip.d.ts +18 -0
- package/dist/types/feedback/dialog-core.d.ts +19 -0
- package/dist/types/feedback/index.d.ts +10 -0
- package/dist/types/feedback/prompts.d.ts +164 -0
- package/dist/types/feedback/toast.d.ts +25 -0
- package/dist/types/feedback/tooltip-position.d.ts +2 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/inputs/AutocompleteEditor.d.ts +21 -0
- package/dist/types/inputs/AutocompleteSelect.d.ts +30 -0
- package/dist/types/inputs/Checkbox.d.ts +9 -0
- package/dist/types/inputs/CheckboxCard.d.ts +9 -0
- package/dist/types/inputs/ChoiceGroups.d.ts +13 -0
- package/dist/types/inputs/ChoiceInputs.d.ts +24 -0
- package/dist/types/inputs/Combobox.d.ts +18 -0
- package/dist/types/inputs/DatePicker.d.ts +31 -0
- package/dist/types/inputs/FileInputs.d.ts +31 -0
- package/dist/types/inputs/MultiSelectInput.d.ts +41 -0
- package/dist/types/inputs/NumberInput.d.ts +24 -0
- package/dist/types/inputs/Select.d.ts +50 -0
- package/dist/types/inputs/SelectChip.d.ts +25 -0
- package/dist/types/inputs/SpecialInputs.d.ts +21 -0
- package/dist/types/inputs/Switch.d.ts +7 -0
- package/dist/types/inputs/TagEditor.d.ts +35 -0
- package/dist/types/inputs/TagsInput.d.ts +11 -0
- package/dist/types/inputs/TemplateEditor.d.ts +28 -0
- package/dist/types/inputs/TextInput.d.ts +26 -0
- package/dist/types/inputs/choice.d.ts +32 -0
- package/dist/types/inputs/completion/behaviors.d.ts +13 -0
- package/dist/types/inputs/completion/engine.d.ts +54 -0
- package/dist/types/inputs/completion/index.d.ts +3 -0
- package/dist/types/inputs/completion/overlay.d.ts +11 -0
- package/dist/types/inputs/date-picker.d.ts +42 -0
- package/dist/types/inputs/editor-dom.d.ts +6 -0
- package/dist/types/inputs/field-contract.d.ts +24 -0
- package/dist/types/inputs/icon-options.d.ts +37 -0
- package/dist/types/inputs/image-crop.d.ts +44 -0
- package/dist/types/inputs/index.d.ts +45 -0
- package/dist/types/inputs/markdown/MarkdownEditor.d.ts +25 -0
- package/dist/types/inputs/markdown/Toolbar.d.ts +9 -0
- package/dist/types/inputs/markdown/actions.d.ts +8 -0
- package/dist/types/inputs/markdown/active-formats.d.ts +1 -0
- package/dist/types/inputs/markdown/behaviors.d.ts +3 -0
- package/dist/types/inputs/markdown/code-zone.d.ts +1 -0
- package/dist/types/internal/color.d.ts +4 -0
- package/dist/types/internal/field.d.ts +27 -0
- package/dist/types/internal/portal.d.ts +1 -0
- package/dist/types/intl/Format.d.ts +84 -0
- package/dist/types/intl/index.d.ts +4 -0
- package/dist/types/intl/locale.d.ts +42 -0
- package/dist/types/intl/messages.d.ts +375 -0
- package/dist/types/layout/AppOverview.d.ts +29 -0
- package/dist/types/layout/AppWorkspace.d.ts +254 -0
- package/dist/types/layout/DataPanel.d.ts +16 -0
- package/dist/types/layout/DetailPanel.d.ts +89 -0
- package/dist/types/layout/Discussion.d.ts +52 -0
- package/dist/types/layout/FloatingWindow.d.ts +19 -0
- package/dist/types/layout/PanelDialog.d.ts +72 -0
- package/dist/types/layout/PanelHeader.d.ts +10 -0
- package/dist/types/layout/Panes.d.ts +48 -0
- package/dist/types/layout/ScrollArea.d.ts +8 -0
- package/dist/types/layout/Settings.d.ts +72 -0
- package/dist/types/layout/SettingsCollection.d.ts +41 -0
- package/dist/types/layout/SettingsModal.d.ts +39 -0
- package/dist/types/layout/app-workspace-controller.d.ts +7 -0
- package/dist/types/layout/app-workspace-state.d.ts +57 -0
- package/dist/types/layout/floating-window-geometry.d.ts +11 -0
- package/dist/types/layout/index.d.ts +32 -0
- package/dist/types/layout/panes-layout.d.ts +63 -0
- package/dist/types/layout/stable-id.d.ts +3 -0
- package/dist/types/semantics.d.ts +4 -0
- package/dist/types/surfaces/Avatar.d.ts +14 -0
- package/dist/types/surfaces/DescriptionList.d.ts +17 -0
- package/dist/types/surfaces/LinkCard.d.ts +11 -0
- package/dist/types/surfaces/NotFoundState.d.ts +15 -0
- package/dist/types/surfaces/NoticeCard.d.ts +39 -0
- package/dist/types/surfaces/Paper.d.ts +13 -0
- package/dist/types/surfaces/Placeholder.d.ts +17 -0
- package/dist/types/surfaces/ProgressBar.d.ts +13 -0
- package/dist/types/surfaces/StatCell.d.ts +22 -0
- package/dist/types/surfaces/StatGrid.d.ts +21 -0
- package/dist/types/surfaces/StatusBadge.d.ts +12 -0
- package/dist/types/surfaces/Tag.d.ts +16 -0
- package/dist/types/surfaces/index.d.ts +24 -0
- package/dist/types/widgets/Widget.d.ts +12 -0
- package/dist/types/widgets/WidgetHero.d.ts +11 -0
- package/dist/types/widgets/WidgetList.d.ts +17 -0
- package/dist/types/widgets/WidgetPills.d.ts +14 -0
- package/dist/types/widgets/WidgetStat.d.ts +17 -0
- package/dist/types/widgets/WidgetStatus.d.ts +12 -0
- package/dist/types/widgets/index.d.ts +6 -0
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
import { type Completion } from "../completion";
|
|
3
|
+
import type { ValueFieldProps } from "../field-contract";
|
|
4
|
+
export type MarkdownEditorProps = ValueFieldProps<string> & {
|
|
5
|
+
onSubmit?: () => void;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
lines?: number;
|
|
8
|
+
noToolbar?: boolean;
|
|
9
|
+
spellcheck?: boolean;
|
|
10
|
+
name?: string;
|
|
11
|
+
maxLength?: number;
|
|
12
|
+
textareaRef?: (element: HTMLTextAreaElement) => void;
|
|
13
|
+
abbreviations?: Record<string, string>;
|
|
14
|
+
completions?: readonly Completion[];
|
|
15
|
+
showStats?: boolean;
|
|
16
|
+
variant?: "default" | "paper";
|
|
17
|
+
fill?: boolean;
|
|
18
|
+
onSave?: () => void;
|
|
19
|
+
saveDisabled?: boolean;
|
|
20
|
+
saving?: boolean;
|
|
21
|
+
toolbarTrailing?: JSX.Element;
|
|
22
|
+
};
|
|
23
|
+
export declare function MarkdownEditor(props: MarkdownEditorProps): JSX.Element;
|
|
24
|
+
export type { Completion, SuggestContext, Suggestion } from "../completion";
|
|
25
|
+
export { abbreviations } from "../completion";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
type ToolbarProps = {
|
|
3
|
+
textarea: () => HTMLTextAreaElement | null;
|
|
4
|
+
activeFormats?: () => Set<string>;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
trailing?: JSX.Element;
|
|
7
|
+
};
|
|
8
|
+
export default function Toolbar(props: ToolbarProps): JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const toggleBold: (textarea: HTMLTextAreaElement) => void;
|
|
2
|
+
export declare const toggleItalic: (textarea: HTMLTextAreaElement) => void;
|
|
3
|
+
export declare const toggleCode: (textarea: HTMLTextAreaElement) => void;
|
|
4
|
+
export declare const insertLink: (textarea: HTMLTextAreaElement, url?: string) => void;
|
|
5
|
+
export declare const toggleHeading: (textarea: HTMLTextAreaElement, level: 1 | 2 | 3) => void;
|
|
6
|
+
export declare const toggleBulletList: (textarea: HTMLTextAreaElement) => void;
|
|
7
|
+
export declare const toggleQuote: (textarea: HTMLTextAreaElement) => void;
|
|
8
|
+
export declare const toggleNumberedList: (textarea: HTMLTextAreaElement) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const computeActiveFormats: (textarea: HTMLTextAreaElement) => Set<string>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const handleShortcut: (event: KeyboardEvent, textarea: HTMLTextAreaElement) => boolean;
|
|
2
|
+
export declare const handleListContinuation: (textarea: HTMLTextAreaElement) => boolean;
|
|
3
|
+
export declare const handleSmartPaste: (event: ClipboardEvent, textarea: HTMLTextAreaElement) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isInCodeZone: (text: string, position: number) => boolean;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { JSX } from "solid-js";
|
|
2
|
+
export declare const normalizeHexColor: (value: string | null | undefined) => string | undefined;
|
|
3
|
+
export declare const hexWithAlpha: (value: string, alpha: string) => string;
|
|
4
|
+
export declare const colorTintStyle: (value: string | null | undefined) => JSX.CSSProperties | undefined;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
import type { FieldProps } from "../inputs/field-contract";
|
|
3
|
+
export type FieldMeta = {
|
|
4
|
+
controlId: string;
|
|
5
|
+
labelId: string;
|
|
6
|
+
descriptionId: string;
|
|
7
|
+
errorId: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const createFieldMeta: (id?: string) => FieldMeta;
|
|
10
|
+
type FieldLayoutProps = {
|
|
11
|
+
children: JSX.Element;
|
|
12
|
+
meta: FieldMeta;
|
|
13
|
+
fill?: boolean;
|
|
14
|
+
/** Composite controls use aria-labelledby instead of an HTML label target. */
|
|
15
|
+
labelFor?: string | false;
|
|
16
|
+
} & Pick<FieldProps, "class" | "description" | "error" | "label" | "required" | "disabled">;
|
|
17
|
+
export declare function Field(props: FieldLayoutProps): JSX.Element;
|
|
18
|
+
type FieldAriaOwner = Pick<FieldProps, "aria-describedby" | "aria-label" | "description" | "error" | "label" | "required">;
|
|
19
|
+
export declare const fieldDescribedBy: (meta: FieldMeta, owner: FieldAriaOwner) => string | undefined;
|
|
20
|
+
export declare const fieldControlAria: (meta: FieldMeta, owner: FieldAriaOwner) => {
|
|
21
|
+
readonly "aria-label": string | undefined;
|
|
22
|
+
readonly "aria-labelledby": string | undefined;
|
|
23
|
+
readonly "aria-describedby": string | undefined;
|
|
24
|
+
readonly "aria-invalid": "true" | undefined;
|
|
25
|
+
readonly "aria-required": true | undefined;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getK2bPortalRoot: (scope?: HTMLElement | null) => HTMLElement;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { type ByteMode } from "@k2b/stdlib";
|
|
2
|
+
import { type JSX } from "solid-js";
|
|
3
|
+
type SpanProps = JSX.HTMLAttributes<HTMLSpanElement>;
|
|
4
|
+
type TimeElementProps = Omit<JSX.HTMLAttributes<HTMLElement>, "ref">;
|
|
5
|
+
type LocaleProp = {
|
|
6
|
+
/** Explicit locale override; defaults to the inherited render locale. */
|
|
7
|
+
locale?: string;
|
|
8
|
+
};
|
|
9
|
+
type FallbackProp = {
|
|
10
|
+
/** Text rendered for null or invalid input. Defaults to `"—"`. */
|
|
11
|
+
fallback?: string;
|
|
12
|
+
};
|
|
13
|
+
export type FormatNumberProps = SpanProps & LocaleProp & FallbackProp & {
|
|
14
|
+
value: number | null | undefined;
|
|
15
|
+
/** Use deterministic compact suffixes (`k`, `M`, `B`, `T`). */
|
|
16
|
+
compact?: boolean;
|
|
17
|
+
/** Fixed fraction digits. */
|
|
18
|
+
decimals?: number;
|
|
19
|
+
};
|
|
20
|
+
export type FormatPercentProps = SpanProps & LocaleProp & FallbackProp & {
|
|
21
|
+
/** Ratio input: `0.12` renders as `12%`. */
|
|
22
|
+
value: number | null | undefined;
|
|
23
|
+
/** Fixed fraction digits. Defaults to 0. */
|
|
24
|
+
decimals?: number;
|
|
25
|
+
/** Clamp the ratio to 0..1 before formatting. */
|
|
26
|
+
clamp?: boolean;
|
|
27
|
+
};
|
|
28
|
+
export type FormatCurrencyProps = SpanProps & LocaleProp & FallbackProp & {
|
|
29
|
+
value: number | null | undefined;
|
|
30
|
+
/** ISO 4217 currency code, e.g. `"EUR"` or `"USD"`. */
|
|
31
|
+
currency: string;
|
|
32
|
+
/** Fixed fraction digits. Defaults to the currency's standard digits. */
|
|
33
|
+
decimals?: number;
|
|
34
|
+
};
|
|
35
|
+
export type FormatBytesProps = SpanProps & LocaleProp & FallbackProp & {
|
|
36
|
+
value: number | null | undefined;
|
|
37
|
+
/** `"iec"` (default, 1024-base) or `"si"` (1000-base). */
|
|
38
|
+
mode?: ByteMode;
|
|
39
|
+
};
|
|
40
|
+
export type FormatDateProps = TimeElementProps & LocaleProp & FallbackProp & {
|
|
41
|
+
value: Date | string | null | undefined;
|
|
42
|
+
/** IANA timezone. Defaults to `"UTC"` so server and browser text agree. */
|
|
43
|
+
timeZone?: string;
|
|
44
|
+
};
|
|
45
|
+
export type FormatTimeProps = FormatDateProps;
|
|
46
|
+
export type FormatDateTimeProps = FormatDateProps;
|
|
47
|
+
export type FormatRelativeTimeProps = TimeElementProps & LocaleProp & FallbackProp & {
|
|
48
|
+
value: Date | string | null | undefined;
|
|
49
|
+
/** Deterministic base timestamp; defaults to now. */
|
|
50
|
+
base?: Date | string;
|
|
51
|
+
/** IANA timezone used to select calendar-relative labels. Defaults to `"UTC"`. */
|
|
52
|
+
timeZone?: string;
|
|
53
|
+
};
|
|
54
|
+
export type FormatDurationProps = TimeElementProps & LocaleProp & FallbackProp & {
|
|
55
|
+
from: Date | string | null | undefined;
|
|
56
|
+
to: Date | string | null | undefined;
|
|
57
|
+
};
|
|
58
|
+
export type FormatDurationMsProps = TimeElementProps & LocaleProp & FallbackProp & {
|
|
59
|
+
/** Duration in milliseconds. */
|
|
60
|
+
value: number | null | undefined;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Unstyled semantic formatter components backed by `@k2b/stdlib`.
|
|
64
|
+
*
|
|
65
|
+
* Numeric components render a plain `<span>`; date/time components render
|
|
66
|
+
* `<time>` with a canonical `datetime` attribute. All components inherit the
|
|
67
|
+
* render locale (see `LocaleProvider` / `useLocale`) and accept an explicit
|
|
68
|
+
* `locale` override. Date, Time, and DateTime format in UTC unless an
|
|
69
|
+
* explicit `timeZone` is given, so server and browser output never diverge
|
|
70
|
+
* with the runtime timezone.
|
|
71
|
+
*/
|
|
72
|
+
export declare const Format: {
|
|
73
|
+
readonly Number: (props: FormatNumberProps) => JSX.Element;
|
|
74
|
+
readonly Percent: (props: FormatPercentProps) => JSX.Element;
|
|
75
|
+
readonly Currency: (props: FormatCurrencyProps) => JSX.Element;
|
|
76
|
+
readonly Bytes: (props: FormatBytesProps) => JSX.Element;
|
|
77
|
+
readonly Date: (props: FormatDateProps) => JSX.Element;
|
|
78
|
+
readonly Time: (props: FormatDateProps) => JSX.Element;
|
|
79
|
+
readonly DateTime: (props: FormatDateProps) => JSX.Element;
|
|
80
|
+
readonly RelativeTime: (props: FormatRelativeTimeProps) => JSX.Element;
|
|
81
|
+
readonly Duration: (props: FormatDurationProps) => JSX.Element;
|
|
82
|
+
readonly DurationMs: (props: FormatDurationMsProps) => JSX.Element;
|
|
83
|
+
};
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { FormatBytesProps, FormatCurrencyProps, FormatDateProps, FormatDateTimeProps, FormatDurationMsProps, FormatDurationProps, FormatNumberProps, FormatPercentProps, FormatRelativeTimeProps, FormatTimeProps, } from "./Format";
|
|
2
|
+
export { Format } from "./Format";
|
|
3
|
+
export type { LocaleProviderProps } from "./locale";
|
|
4
|
+
export { LocaleProvider, useLocale } from "./locale";
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { DateContext } from "@k2b/stdlib";
|
|
2
|
+
import { type JSX } from "solid-js";
|
|
3
|
+
/**
|
|
4
|
+
* Deterministic fallback locale used when neither a `LocaleProvider` nor a
|
|
5
|
+
* browser `<html lang>` value is available.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_LOCALE = "en";
|
|
8
|
+
export type LocaleProviderProps = {
|
|
9
|
+
/** BCP 47 locale tag, e.g. `"en"`, `"de"`, or `"de-AT"`. */
|
|
10
|
+
locale: string;
|
|
11
|
+
children?: JSX.Element;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Provides the render locale to all descendant `@k2b/ui` components.
|
|
15
|
+
*
|
|
16
|
+
* On the server this is the only locale source, so SSR consumers wrap their
|
|
17
|
+
* page in a provider and emit a matching `<html lang>` attribute. A browser
|
|
18
|
+
* island is an independent Solid root: an outer server-side provider does not
|
|
19
|
+
* survive the island's browser re-render, which instead falls back to
|
|
20
|
+
* `document.documentElement.lang`. Keeping `<html lang>` equal to the server
|
|
21
|
+
* provider locale therefore keeps both passes coherent.
|
|
22
|
+
*/
|
|
23
|
+
export declare const LocaleProvider: (props: LocaleProviderProps) => JSX.Element;
|
|
24
|
+
/**
|
|
25
|
+
* Resolves the effective render locale as a reactive accessor.
|
|
26
|
+
*
|
|
27
|
+
* Precedence: nearest `LocaleProvider`, then the browser's
|
|
28
|
+
* `document.documentElement.lang`, then `"en"`. Components with an explicit
|
|
29
|
+
* `locale` prop apply it before consulting this hook.
|
|
30
|
+
*/
|
|
31
|
+
export declare const useLocale: () => (() => string);
|
|
32
|
+
/**
|
|
33
|
+
* Effective date config for date surfaces: an explicit `dateConfig.locale`
|
|
34
|
+
* wins, otherwise the inherited render locale fills the gap. Timezone and
|
|
35
|
+
* week-start configuration pass through untouched.
|
|
36
|
+
*/
|
|
37
|
+
export declare const useDateConfigLocale: (config: () => DateContext | undefined) => (() => DateContext);
|
|
38
|
+
/**
|
|
39
|
+
* The decimal separator `Intl.NumberFormat` uses for a locale, e.g. `"."`
|
|
40
|
+
* for English and `","` for German.
|
|
41
|
+
*/
|
|
42
|
+
export declare const decimalSeparator: (locale: string) => string;
|
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
declare const uiMessages: import("@k2b/stdlib").Catalog<{
|
|
2
|
+
actions: string;
|
|
3
|
+
add: string;
|
|
4
|
+
addTag: string;
|
|
5
|
+
addImage: string;
|
|
6
|
+
attachments: string;
|
|
7
|
+
assistant: string;
|
|
8
|
+
avatarLabel: ({ name }: {
|
|
9
|
+
name: string;
|
|
10
|
+
}) => string;
|
|
11
|
+
all: string;
|
|
12
|
+
calendar: string;
|
|
13
|
+
clear: string;
|
|
14
|
+
clearDate: string;
|
|
15
|
+
clearSelection: string;
|
|
16
|
+
chooseOption: string;
|
|
17
|
+
close: string;
|
|
18
|
+
closeDialog: string;
|
|
19
|
+
copied: string;
|
|
20
|
+
copy: string;
|
|
21
|
+
closeLightbox: string;
|
|
22
|
+
couldNotLoadData: string;
|
|
23
|
+
datePicker: string;
|
|
24
|
+
dataTable: string;
|
|
25
|
+
datePresets: string;
|
|
26
|
+
decreaseValue: string;
|
|
27
|
+
download: string;
|
|
28
|
+
downloadAsZip: string;
|
|
29
|
+
downloadImage: string;
|
|
30
|
+
dropFiles: string;
|
|
31
|
+
dropToUpload: string;
|
|
32
|
+
dropdownMenu: string;
|
|
33
|
+
durationPresets: string;
|
|
34
|
+
filterOptions: string;
|
|
35
|
+
fileTypeNotAccepted: string;
|
|
36
|
+
imageLightbox: string;
|
|
37
|
+
imageNavigation: string;
|
|
38
|
+
increaseValue: string;
|
|
39
|
+
loading: string;
|
|
40
|
+
hidePassword: string;
|
|
41
|
+
noColumns: string;
|
|
42
|
+
noData: string;
|
|
43
|
+
noRecords: string;
|
|
44
|
+
noTagsYet: string;
|
|
45
|
+
noResultsFound: string;
|
|
46
|
+
nextImage: string;
|
|
47
|
+
noOptions: string;
|
|
48
|
+
optionsCouldNotLoad: string;
|
|
49
|
+
noResults: string;
|
|
50
|
+
nothingHere: string;
|
|
51
|
+
nothingToShow: string;
|
|
52
|
+
no: string;
|
|
53
|
+
options: string;
|
|
54
|
+
pagination: string;
|
|
55
|
+
pageOf: ({ page, total }: {
|
|
56
|
+
page: number;
|
|
57
|
+
total: number;
|
|
58
|
+
}) => string;
|
|
59
|
+
pickDate: string;
|
|
60
|
+
previousImage: string;
|
|
61
|
+
previousMonth: string;
|
|
62
|
+
previousPage: string;
|
|
63
|
+
previousYear: string;
|
|
64
|
+
nextMonth: string;
|
|
65
|
+
nextPage: string;
|
|
66
|
+
nextYear: string;
|
|
67
|
+
goToPage: ({ page }: {
|
|
68
|
+
page: number;
|
|
69
|
+
}) => string;
|
|
70
|
+
retry: string;
|
|
71
|
+
reset: string;
|
|
72
|
+
required: string;
|
|
73
|
+
rename: string;
|
|
74
|
+
delete: string;
|
|
75
|
+
remove: string;
|
|
76
|
+
removeTag: string;
|
|
77
|
+
search: string;
|
|
78
|
+
searchLabel: string;
|
|
79
|
+
spotlightNoResults: string;
|
|
80
|
+
searchFailed: string;
|
|
81
|
+
searchResults: string;
|
|
82
|
+
save: string;
|
|
83
|
+
saveShortcut: string;
|
|
84
|
+
sectionsLabel: ({ title }: {
|
|
85
|
+
title: string;
|
|
86
|
+
}) => string;
|
|
87
|
+
searchOptions: string;
|
|
88
|
+
select: string;
|
|
89
|
+
selectMatchingOption: string;
|
|
90
|
+
selectOption: string;
|
|
91
|
+
suggestions: string;
|
|
92
|
+
suggestionsCouldNotLoad: string;
|
|
93
|
+
showPassword: string;
|
|
94
|
+
time: string;
|
|
95
|
+
timeLabel: ({ label }: {
|
|
96
|
+
label: string;
|
|
97
|
+
}) => string;
|
|
98
|
+
completionSuggestions: string;
|
|
99
|
+
contextMenu: string;
|
|
100
|
+
unknownUser: string;
|
|
101
|
+
uploading: string;
|
|
102
|
+
chooseFile: string;
|
|
103
|
+
chooseFiles: string;
|
|
104
|
+
chooseMatchingFile: string;
|
|
105
|
+
checkingOptions: string;
|
|
106
|
+
checkingOptionsLoading: string;
|
|
107
|
+
noMatchingOption: string;
|
|
108
|
+
noOptionsFound: string;
|
|
109
|
+
typeToSearch: string;
|
|
110
|
+
showGridView: string;
|
|
111
|
+
showListView: string;
|
|
112
|
+
start: string;
|
|
113
|
+
end: string;
|
|
114
|
+
addFileFolderUpload: string;
|
|
115
|
+
addPane: string;
|
|
116
|
+
addToChat: string;
|
|
117
|
+
attachFiles: string;
|
|
118
|
+
addGuidance: string;
|
|
119
|
+
calendarView: string;
|
|
120
|
+
openDate: ({ label }: {
|
|
121
|
+
label: string;
|
|
122
|
+
}) => string;
|
|
123
|
+
createEventOn: ({ label }: {
|
|
124
|
+
label: string;
|
|
125
|
+
}) => string;
|
|
126
|
+
hiddenOverlappingEvents: ({ count }: {
|
|
127
|
+
count: number;
|
|
128
|
+
}) => string;
|
|
129
|
+
today: string;
|
|
130
|
+
day: string;
|
|
131
|
+
week: string;
|
|
132
|
+
weekShort: string;
|
|
133
|
+
month: string;
|
|
134
|
+
year: string;
|
|
135
|
+
allDay: string;
|
|
136
|
+
noEvents: string;
|
|
137
|
+
previous: string;
|
|
138
|
+
next: string;
|
|
139
|
+
moveEvent: string;
|
|
140
|
+
resizeEvent: string;
|
|
141
|
+
cancel: string;
|
|
142
|
+
chat: string;
|
|
143
|
+
chooseModel: string;
|
|
144
|
+
closeWindow: string;
|
|
145
|
+
code: string;
|
|
146
|
+
codeLabel: ({ title }: {
|
|
147
|
+
title: string;
|
|
148
|
+
}) => string;
|
|
149
|
+
column: ({ number }: {
|
|
150
|
+
number: number;
|
|
151
|
+
}) => string;
|
|
152
|
+
commands: string;
|
|
153
|
+
dropFilesToAttach: string;
|
|
154
|
+
conversation: string;
|
|
155
|
+
conversationMessages: ({ label }: {
|
|
156
|
+
label: string;
|
|
157
|
+
}) => string;
|
|
158
|
+
dialogTabs: string;
|
|
159
|
+
files: string;
|
|
160
|
+
chooseFileToPreview: string;
|
|
161
|
+
change: string;
|
|
162
|
+
changeImage: string;
|
|
163
|
+
cropArea: string;
|
|
164
|
+
cropPreview: string;
|
|
165
|
+
discardChanges: string;
|
|
166
|
+
discardUnsavedFile: string;
|
|
167
|
+
downloadFailed: string;
|
|
168
|
+
failedLoadFiles: string;
|
|
169
|
+
failedLoadImage: string;
|
|
170
|
+
folderEmpty: string;
|
|
171
|
+
folderSelected: string;
|
|
172
|
+
newFile: string;
|
|
173
|
+
newFileName: string;
|
|
174
|
+
newFolder: string;
|
|
175
|
+
newFolderName: string;
|
|
176
|
+
fileActions: string;
|
|
177
|
+
actionsFor: ({ name }: {
|
|
178
|
+
name: string;
|
|
179
|
+
}) => string;
|
|
180
|
+
fileSaved: string;
|
|
181
|
+
pickFileFromTree: string;
|
|
182
|
+
imageProcessingFailed: string;
|
|
183
|
+
preparingImage: string;
|
|
184
|
+
processingImage: string;
|
|
185
|
+
removeImage: string;
|
|
186
|
+
rotateRight: string;
|
|
187
|
+
selectedImage: string;
|
|
188
|
+
selectFile: string;
|
|
189
|
+
spaceEmpty: string;
|
|
190
|
+
uploadFiles: string;
|
|
191
|
+
filterIcons: string;
|
|
192
|
+
loadEarlier: string;
|
|
193
|
+
loadingConversation: string;
|
|
194
|
+
loadingFiles: string;
|
|
195
|
+
loadingMessages: string;
|
|
196
|
+
failed: string;
|
|
197
|
+
generating: string;
|
|
198
|
+
loadOlderMessages: string;
|
|
199
|
+
loadingOlderMessages: string;
|
|
200
|
+
couldNotLoadOlderMessages: string;
|
|
201
|
+
couldNotLoadEarlierMessages: string;
|
|
202
|
+
couldNotPostMessage: string;
|
|
203
|
+
message: string;
|
|
204
|
+
messageActions: string;
|
|
205
|
+
messageComposer: string;
|
|
206
|
+
messageInput: string;
|
|
207
|
+
confirmation: string;
|
|
208
|
+
confirm: string;
|
|
209
|
+
dialog: string;
|
|
210
|
+
discard: string;
|
|
211
|
+
error: string;
|
|
212
|
+
form: string;
|
|
213
|
+
filterActions: string;
|
|
214
|
+
info: string;
|
|
215
|
+
interactiveLineChart: string;
|
|
216
|
+
interactiveMap: string;
|
|
217
|
+
interactiveTimeline: string;
|
|
218
|
+
ok: string;
|
|
219
|
+
success: string;
|
|
220
|
+
model: string;
|
|
221
|
+
input: string;
|
|
222
|
+
output: string;
|
|
223
|
+
loopTotal: string;
|
|
224
|
+
remaining: string;
|
|
225
|
+
notConfigured: string;
|
|
226
|
+
unknown: string;
|
|
227
|
+
system: string;
|
|
228
|
+
tool: string;
|
|
229
|
+
user: string;
|
|
230
|
+
useColor: string;
|
|
231
|
+
useTransparent: string;
|
|
232
|
+
series: string;
|
|
233
|
+
waiting: string;
|
|
234
|
+
templateEditorPlaceholder: string;
|
|
235
|
+
templatePreview: string;
|
|
236
|
+
lastRequestContext: string;
|
|
237
|
+
contextWindowUsed: string;
|
|
238
|
+
contextUsageUnavailable: string;
|
|
239
|
+
contextUsageUnavailableWithWindow: ({ window }: {
|
|
240
|
+
window: string;
|
|
241
|
+
}) => string;
|
|
242
|
+
tokensUsed: ({ total }: {
|
|
243
|
+
total: string;
|
|
244
|
+
}) => string;
|
|
245
|
+
tokensUsedPercent: ({ total, percent }: {
|
|
246
|
+
total: string;
|
|
247
|
+
percent: number;
|
|
248
|
+
}) => string;
|
|
249
|
+
moveDown: string;
|
|
250
|
+
moveUp: string;
|
|
251
|
+
moveNamedDown: ({ label }: {
|
|
252
|
+
label: string;
|
|
253
|
+
}) => string;
|
|
254
|
+
moveNamedUp: ({ label }: {
|
|
255
|
+
label: string;
|
|
256
|
+
}) => string;
|
|
257
|
+
rowAction: string;
|
|
258
|
+
addToNamed: ({ name }: {
|
|
259
|
+
name: string;
|
|
260
|
+
}) => string;
|
|
261
|
+
insertBeforeNamed: ({ name }: {
|
|
262
|
+
name: string;
|
|
263
|
+
}) => string;
|
|
264
|
+
insertAtEnd: string;
|
|
265
|
+
addPaneSide: ({ side, name }: {
|
|
266
|
+
side: "left" | "right" | "top" | "bottom";
|
|
267
|
+
name: string;
|
|
268
|
+
}) => string;
|
|
269
|
+
discardUnsavedChanges: string;
|
|
270
|
+
unsavedChangesTitle: string;
|
|
271
|
+
tagName: string;
|
|
272
|
+
name: string;
|
|
273
|
+
color: string;
|
|
274
|
+
tagCouldNotBeSaved: string;
|
|
275
|
+
tagActionFailed: string;
|
|
276
|
+
tagsPlaceholder: string;
|
|
277
|
+
tagsAdded: ({ tags }: {
|
|
278
|
+
tags: string;
|
|
279
|
+
}) => string;
|
|
280
|
+
tagsRemoved: ({ tags }: {
|
|
281
|
+
tags: string;
|
|
282
|
+
}) => string;
|
|
283
|
+
noFiles: string;
|
|
284
|
+
noLogEntries: string;
|
|
285
|
+
noPreview: string;
|
|
286
|
+
openPreview: string;
|
|
287
|
+
paneTabs: string;
|
|
288
|
+
paneWorkspace: string;
|
|
289
|
+
pdfPreview: string;
|
|
290
|
+
pdfPreviewHttpError: ({ status }: {
|
|
291
|
+
status: number;
|
|
292
|
+
}) => string;
|
|
293
|
+
pickIcon: string;
|
|
294
|
+
postMessage: string;
|
|
295
|
+
preview: string;
|
|
296
|
+
previewPdf: string;
|
|
297
|
+
renderPdfPreview: string;
|
|
298
|
+
queueMessage: string;
|
|
299
|
+
queueing: string;
|
|
300
|
+
sending: string;
|
|
301
|
+
steering: string;
|
|
302
|
+
writeMessage: string;
|
|
303
|
+
openInNewTab: ({ name }: {
|
|
304
|
+
name: string;
|
|
305
|
+
}) => string;
|
|
306
|
+
closeNamed: ({ name }: {
|
|
307
|
+
name: string;
|
|
308
|
+
}) => string;
|
|
309
|
+
goToImage: ({ index }: {
|
|
310
|
+
index: number;
|
|
311
|
+
}) => string;
|
|
312
|
+
pinDigit: ({ index, total }: {
|
|
313
|
+
index: number;
|
|
314
|
+
total: number;
|
|
315
|
+
}) => string;
|
|
316
|
+
removeNamed: ({ name }: {
|
|
317
|
+
name: string;
|
|
318
|
+
}) => string;
|
|
319
|
+
resizeCrop: ({ handle }: {
|
|
320
|
+
handle: string;
|
|
321
|
+
}) => string;
|
|
322
|
+
range: string;
|
|
323
|
+
resizePanes: string;
|
|
324
|
+
resetMapView: string;
|
|
325
|
+
resetTimelineView: string;
|
|
326
|
+
retryOlderMessages: string;
|
|
327
|
+
saveChanges: string;
|
|
328
|
+
saving: string;
|
|
329
|
+
sendMessage: string;
|
|
330
|
+
startConversation: string;
|
|
331
|
+
steerResponse: string;
|
|
332
|
+
stopResponse: string;
|
|
333
|
+
stopping: string;
|
|
334
|
+
unsaved: string;
|
|
335
|
+
unsavedChangeLabel: ({ count }: {
|
|
336
|
+
count: number;
|
|
337
|
+
}) => string;
|
|
338
|
+
noUnsavedChanges: string;
|
|
339
|
+
moveWindow: ({ title }: {
|
|
340
|
+
title: string;
|
|
341
|
+
}) => string;
|
|
342
|
+
resizeWindow: string;
|
|
343
|
+
window: string;
|
|
344
|
+
zoomIn: string;
|
|
345
|
+
zoomOut: string;
|
|
346
|
+
binaryFile: string;
|
|
347
|
+
boldShortcut: string;
|
|
348
|
+
bulletListShortcut: string;
|
|
349
|
+
heading1Shortcut: string;
|
|
350
|
+
heading2Shortcut: string;
|
|
351
|
+
heading3Shortcut: string;
|
|
352
|
+
inlineCodeShortcut: string;
|
|
353
|
+
italicShortcut: string;
|
|
354
|
+
linkShortcut: string;
|
|
355
|
+
markdownFormatting: string;
|
|
356
|
+
numberedListShortcut: string;
|
|
357
|
+
quote: string;
|
|
358
|
+
delimitedFileEmpty: string;
|
|
359
|
+
edit: string;
|
|
360
|
+
emptyFile: string;
|
|
361
|
+
failedLoadFile: string;
|
|
362
|
+
noInlinePreview: string;
|
|
363
|
+
previewLimited: string;
|
|
364
|
+
textEditor: string;
|
|
365
|
+
audioUnsupported: string;
|
|
366
|
+
videoUnsupported: string;
|
|
367
|
+
yes: string;
|
|
368
|
+
}>;
|
|
369
|
+
export type UiMessages = ReturnType<(typeof uiMessages)["resolve"]>["t"];
|
|
370
|
+
/** Generic component chrome owned by @k2b/ui, resolved from the inherited render locale. */
|
|
371
|
+
export declare const useUiMessages: () => (() => UiMessages);
|
|
372
|
+
/** Browser-only imperative UI (for example prompts) inherits the document locale. */
|
|
373
|
+
export declare const resolveUiMessages: (locale?: string) => UiMessages;
|
|
374
|
+
export declare const checkUiMessages: () => import("@k2b/stdlib").CatalogIssue[];
|
|
375
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
export type AppOverviewProps = {
|
|
3
|
+
title: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
class?: string;
|
|
7
|
+
children: JSX.Element;
|
|
8
|
+
};
|
|
9
|
+
export type AppOverviewPanelProps = {
|
|
10
|
+
title: string;
|
|
11
|
+
description?: JSX.Element;
|
|
12
|
+
toolbar?: JSX.Element;
|
|
13
|
+
class?: string;
|
|
14
|
+
children: JSX.Element;
|
|
15
|
+
};
|
|
16
|
+
export type AppOverviewEmptyStateProps = {
|
|
17
|
+
title: string;
|
|
18
|
+
description?: JSX.Element;
|
|
19
|
+
icon?: string;
|
|
20
|
+
class?: string;
|
|
21
|
+
children?: JSX.Element;
|
|
22
|
+
};
|
|
23
|
+
type AppOverviewComponent = ((props: AppOverviewProps) => JSX.Element) & {
|
|
24
|
+
Main: (props: AppOverviewPanelProps) => JSX.Element;
|
|
25
|
+
Aside: (props: AppOverviewPanelProps) => JSX.Element;
|
|
26
|
+
EmptyState: (props: AppOverviewEmptyStateProps) => JSX.Element;
|
|
27
|
+
};
|
|
28
|
+
declare const AppOverview: AppOverviewComponent;
|
|
29
|
+
export default AppOverview;
|