blixify-ui-web-mcp 0.1.47 → 0.1.49
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.
|
@@ -1013,6 +1013,7 @@ const devSettings = parseWorkspaceSettings(
|
|
|
1013
1013
|
| `dbUserToken` | `string` | Per-user auth token (pass `""` if not used) |
|
|
1014
1014
|
| `schemaEndpoint` | `string` | Schema API endpoint URL |
|
|
1015
1015
|
| `schemaEndpointToken` | `string` | Optional token for schema endpoint |
|
|
1016
|
+
| `schemaEndpointUserToken` | `string` | Optional signed-in user token sent with schema reads |
|
|
1016
1017
|
| `schemaReference` | `{ [key: string]: DataStructure[] }` | Hardcoded schema reference (bypasses schema endpoint) |
|
|
1017
1018
|
| `imageEndpoint` | `string` | Asset retrieval base URL |
|
|
1018
1019
|
| `uploadEndpoint` | `string` | Upload endpoint (required when `imageEndpoint` is custom) |
|
|
@@ -1127,7 +1128,7 @@ Which field types can be edited from the list table, and how. Types not listed u
|
|
|
1127
1128
|
| `sort` | `Sort` | Default sort applied to list queries |
|
|
1128
1129
|
| `pageIndex` | `number` | Initial page index |
|
|
1129
1130
|
| `viewId` | `string` | Active view type: `"general"`, `"calendar"`, `"grid"`, `"list"`, `"feeds"`, `"kanban"`, etc. |
|
|
1130
|
-
| `idField` | `string` | DataStructure column ID whose value becomes the new record's ID on creation |
|
|
1131
|
+
| `idField` | `string` | DataStructure column ID whose value becomes the new record's ID on creation. A new record is saved as an upsert on that ID; when the column is also the schema's `unique` field it is saved as a create instead, so an existing value is refused rather than overwritten |
|
|
1131
1132
|
| `extendedTabs` | `ExtendedTabs[]` | Additional tabs rendered alongside the main view — see Extended Tab below |
|
|
1132
1133
|
| `additionalQuery` | `AdditionalQuery[]` | Filter/search controls rendered above the list — see Additional Query below |
|
|
1133
1134
|
| `darkMode` | `boolean` | Applies dark colour scheme to the organise bar |
|
|
@@ -31,7 +31,7 @@ You can still pass `organise` for everything else (`breadcrumbType`, `tabAlign`,
|
|
|
31
31
|
`DevSettings`, because it maps to what a workspace record actually stores. Some
|
|
32
32
|
app-level values have no place on a workspace and so cannot travel that way:
|
|
33
33
|
|
|
34
|
-
- `schemaEndpoint` / `schemaEndpointToken` — schema editing
|
|
34
|
+
- `schemaEndpoint` / `schemaEndpointToken` — schema editing; `schemaEndpointUserToken` sends the signed-in user's token with schema reads
|
|
35
35
|
- `roleOptions` — role pickers in forms
|
|
36
36
|
- `currentUser` — activity log attribution
|
|
37
37
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
2
|
import { MarkdownInput as MarkdownInputImpl, MarkdownStatic } from ".";
|
|
3
|
+
import { NewTable } from "../../display/newTable";
|
|
3
4
|
import { StorySection } from "../../storyUtils";
|
|
4
5
|
|
|
5
6
|
const meta = { title: "Input/Markdown/Input" };
|
|
@@ -21,7 +22,7 @@ const DIAGRAM_SAMPLE = [
|
|
|
21
22
|
export const MarkdownInput = () => {
|
|
22
23
|
const [value, setValue] = useState<string | undefined>("");
|
|
23
24
|
const [noteValue, setNoteValue] = useState<string | undefined>(
|
|
24
|
-
'A page can hold a live database, not just a link to one.\n\n<div data-space-id="orders"></div>\n\nType / on any line and pick Database to add another.',
|
|
25
|
+
'A page can hold a live database, not just a link to one.\n\n<div data-space-id="orders"></div>\n\nType / on any line and pick Database to add another. A table written in the page keeps its own look:\n\n| Item | Qty |\n| --- | --- |\n| Panels | 12 |',
|
|
25
26
|
);
|
|
26
27
|
const [diagramValue, setDiagramValue] = useState<string | undefined>(
|
|
27
28
|
DIAGRAM_SAMPLE,
|
|
@@ -76,15 +77,25 @@ export const MarkdownInput = () => {
|
|
|
76
77
|
// INFO: stands in for the host's confirmation modal
|
|
77
78
|
if (window.confirm(`Remove ${spaceId} from this page?`)) remove();
|
|
78
79
|
}}
|
|
80
|
+
// INFO: a real table, so the page's own table styles can be seen
|
|
81
|
+
// not to reach it
|
|
79
82
|
renderEmbed={(spaceId, actions) => (
|
|
80
|
-
<div
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
<div data-testid="embed-render">
|
|
84
|
+
<NewTable
|
|
85
|
+
columns={[
|
|
86
|
+
{ key: "order", title: "Order", type: "string" },
|
|
87
|
+
{ key: "status", title: "Status", type: "string" },
|
|
88
|
+
]}
|
|
89
|
+
data={[
|
|
90
|
+
{ id: "1", order: spaceId, status: "Pending" },
|
|
91
|
+
{ id: "2", order: `${spaceId}-2`, status: "Delivered" },
|
|
92
|
+
]}
|
|
93
|
+
enableCopy={false}
|
|
94
|
+
advSettings={{ flat: true }}
|
|
95
|
+
/>
|
|
85
96
|
<button
|
|
86
97
|
data-testid="embed-remove"
|
|
87
|
-
className="
|
|
98
|
+
className="mt-2 text-sm text-primary-700 underline"
|
|
88
99
|
onClick={actions.onRemove}
|
|
89
100
|
>
|
|
90
101
|
Remove
|
|
@@ -112,7 +123,7 @@ export const MarkdownInput = () => {
|
|
|
112
123
|
|
|
113
124
|
<StorySection
|
|
114
125
|
title="Text size sm"
|
|
115
|
-
description="
|
|
126
|
+
description='textSize="sm" gives 14px text on every screen. On phones the editor keeps a real 16px font drawn with transform: scale(0.875), the same trick as TextInput xs, so iOS Safari does not zoom on focus. CSS zoom would still trigger the zoom. MarkdownStatic takes the same prop.'
|
|
116
127
|
>
|
|
117
128
|
<div className="grid w-full gap-6 md:grid-cols-2">
|
|
118
129
|
<MarkdownInputImpl
|