smoodly 0.0.45 → 0.0.47
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/README.md +3 -3
- package/dist/addresses.d.ts +6 -7
- package/dist/addresses.js +6 -4
- package/dist/admin/PublicSans-LICENSE.txt +93 -0
- package/dist/admin/auth-config.d.ts +6 -0
- package/dist/admin/auth-config.js +1 -0
- package/dist/admin/browser/fetch-op.d.ts +10 -0
- package/dist/admin/browser/fetch-op.js +44 -0
- package/dist/admin/browser/main.d.ts +1 -0
- package/dist/admin/browser/main.js +21 -0
- package/dist/admin/custom-section.d.ts +1 -1
- package/dist/admin/drift.d.ts +1 -1
- package/dist/admin/editor/EditorView.js +14 -14
- package/dist/admin/editor/autosave.js +1 -1
- package/dist/admin/editor/canvas-address.d.ts +2 -0
- package/dist/admin/editor/canvas-address.js +8 -0
- package/dist/admin/editor/overlay-geometry.d.ts +1 -1
- package/dist/admin/editor/protocol.d.ts +18 -4
- package/dist/admin/editor/protocol.js +15 -1
- package/dist/admin/editor/useCanvasBridge.d.ts +1 -1
- package/dist/admin/editor/useCanvasBridge.js +5 -6
- package/dist/admin/editor/useInlineSession.js +4 -2
- package/dist/admin/files.d.ts +11 -0
- package/dist/admin/files.generated.js +2 -0
- package/dist/admin/files.js +8 -0
- package/dist/admin/forms/useRefOptions.d.ts +2 -2
- package/dist/admin/forms/useRefOptions.js +2 -2
- package/dist/admin/forms/useRichtextEditor.js +4 -4
- package/dist/admin/handler.d.ts +40 -0
- package/dist/admin/handler.js +151 -0
- package/dist/admin/health.d.ts +4 -0
- package/dist/admin/index.d.ts +1 -1
- package/dist/admin/ops-impl.d.ts +7 -1
- package/dist/admin/ops-impl.js +112 -35
- package/dist/admin/ops.d.ts +3 -2
- package/dist/admin/page-data.d.ts +21 -0
- package/dist/admin/page-data.js +4 -0
- package/dist/admin/page.d.ts +6 -0
- package/dist/admin/page.js +35 -0
- package/dist/admin/serialize.js +7 -7
- package/dist/admin/shell/AdminApp.js +2 -2
- package/dist/admin/shell/ContentHealthPage.js +3 -1
- package/dist/admin/shell/EntryForm.js +1 -1
- package/dist/admin/shell/router.d.ts +3 -16
- package/dist/admin/shell/router.js +3 -39
- package/dist/admin/shell/session.d.ts +2 -5
- package/dist/admin/supabase-auth.js +1 -1
- package/dist/admin/tree-ops.d.ts +1 -1
- package/dist/admin/ui/fonts.d.ts +12 -0
- package/dist/admin/ui/fonts.js +22 -0
- package/dist/admin/ui/theme.d.ts +13 -4
- package/dist/admin/ui/theme.js +28 -157
- package/dist/assemble.d.ts +60 -0
- package/dist/assemble.js +359 -0
- package/dist/astro/cache.d.ts +34 -0
- package/dist/astro/cache.js +69 -0
- package/dist/astro/components/Custom.astro +21 -0
- package/dist/astro/components/Guarded.astro +24 -0
- package/dist/astro/components/Head.astro +26 -0
- package/dist/astro/components/Image.astro +20 -0
- package/dist/astro/components/RichText.astro +23 -0
- package/dist/astro/components/Section.astro +20 -0
- package/dist/astro/components/Video.astro +5 -0
- package/dist/astro/components/Zone.astro +19 -0
- package/dist/astro/components.d.ts +6 -0
- package/dist/astro/components.js +7 -0
- package/dist/astro/content-loaders.d.ts +40 -0
- package/dist/astro/content-loaders.js +100 -0
- package/dist/astro/content.d.ts +9 -0
- package/dist/astro/content.js +17 -0
- package/dist/astro/custom.d.ts +1 -0
- package/dist/astro/custom.js +3 -0
- package/dist/astro/defaults.d.ts +20 -0
- package/dist/astro/defaults.js +21 -0
- package/dist/astro/env-files.d.ts +1 -0
- package/dist/astro/env-files.js +21 -0
- package/dist/astro/head.d.ts +13 -0
- package/dist/astro/head.js +19 -0
- package/dist/astro/image.d.ts +27 -0
- package/dist/astro/image.js +29 -0
- package/dist/astro/index.d.ts +43 -0
- package/dist/astro/index.js +111 -0
- package/dist/astro/locale-paths.d.ts +30 -0
- package/dist/astro/locale-paths.js +38 -0
- package/dist/astro/middleware.d.ts +1 -0
- package/dist/astro/middleware.js +83 -0
- package/dist/astro/preview-document.d.ts +1 -0
- package/dist/astro/preview-document.js +18 -0
- package/dist/astro/preview.d.ts +10 -0
- package/dist/astro/preview.js +72 -0
- package/dist/astro/richtext.d.ts +15 -0
- package/dist/astro/richtext.js +78 -0
- package/dist/astro/routes/admin.d.ts +3 -0
- package/dist/astro/routes/admin.js +41 -0
- package/dist/astro/routes/page.astro +17 -0
- package/dist/astro/routes/preview.astro +11 -0
- package/dist/astro/runtime.d.ts +32 -0
- package/dist/astro/runtime.js +46 -0
- package/dist/astro/scope.d.ts +45 -0
- package/dist/astro/scope.js +103 -0
- package/dist/astro/server.d.ts +14 -0
- package/dist/astro/server.js +45 -0
- package/dist/astro/shell.d.ts +67 -0
- package/dist/astro/shell.js +63 -0
- package/dist/astro/style.d.ts +1 -0
- package/dist/astro/style.js +11 -0
- package/dist/astro/views-check.d.ts +3 -0
- package/dist/astro/views-check.js +19 -0
- package/dist/astro/zone.d.ts +39 -0
- package/dist/astro/zone.js +33 -0
- package/dist/bind.d.ts +19 -0
- package/dist/bind.js +34 -0
- package/dist/bridge/bridge.d.ts +9 -0
- package/dist/bridge/bridge.js +107 -0
- package/dist/bridge/entry.d.ts +1 -0
- package/dist/bridge/entry.js +5 -0
- package/dist/bridge/preview-pill.d.ts +18 -0
- package/dist/bridge/preview-pill.js +115 -0
- package/dist/cli/import.d.ts +3 -0
- package/dist/cli/import.js +10 -1
- package/dist/cli/load-collections.js +4 -3
- package/dist/cli/load-config.d.ts +4 -0
- package/dist/cli/load-config.js +26 -0
- package/dist/cli/main.d.ts +5 -1
- package/dist/cli/main.js +24 -6
- package/dist/cli/migrate.d.ts +13 -0
- package/dist/cli/migrate.js +30 -2
- package/dist/cli/rebuild.d.ts +23 -0
- package/dist/cli/rebuild.js +22 -0
- package/dist/cli/space-io.d.ts +15 -1
- package/dist/cli/space-io.js +14 -0
- package/dist/client.js +5 -0
- package/dist/config.d.ts +28 -20
- package/dist/config.js +71 -75
- package/dist/content/content-api.d.ts +1 -1
- package/dist/content/node.d.ts +2 -3
- package/dist/content/node.js +2 -1
- package/dist/crash-message.d.ts +1 -0
- package/dist/crash-message.js +8 -0
- package/dist/css.d.ts +4 -0
- package/dist/css.js +5 -2
- package/dist/custom/CustomSection.d.ts +1 -1
- package/dist/custom/CustomSection.js +4 -8
- package/dist/custom/css.js +2 -2
- package/dist/custom/index.d.ts +6 -10
- package/dist/custom/index.js +1 -2
- package/dist/custom/layout.d.ts +5 -0
- package/dist/custom/layout.js +14 -0
- package/dist/document-stamp.d.ts +7 -0
- package/dist/document-stamp.js +48 -0
- package/dist/entry-page.d.ts +3 -18
- package/dist/env.js +1 -1
- package/dist/global-id.js +2 -2
- package/dist/global.d.ts +5 -2
- package/dist/global.js +8 -5
- package/dist/image/next-config.d.ts +3 -0
- package/dist/image/next-config.js +12 -7
- package/dist/image/remote-pattern.d.ts +1 -0
- package/dist/image/remote-pattern.js +5 -0
- package/dist/index.d.ts +15 -17
- package/dist/index.js +10 -19
- package/dist/marks.d.ts +7 -0
- package/dist/marks.js +7 -0
- package/dist/next/admin-route.d.ts +7 -0
- package/dist/next/admin-route.js +28 -0
- package/dist/next/bridge.d.ts +1 -0
- package/dist/next/bridge.js +26 -0
- package/dist/next/canvas-boundary.d.ts +1 -1
- package/dist/next/canvas-slot.d.ts +1 -0
- package/dist/next/canvas-slot.js +4 -3
- package/dist/next/index.d.ts +2 -0
- package/dist/next/index.js +1 -0
- package/dist/next/page-renderer.d.ts +5 -1
- package/dist/next/page-renderer.js +19 -33
- package/dist/next/preview-pill-define.d.ts +1 -0
- package/dist/next/preview-pill-define.js +10 -0
- package/dist/next/preview-pill.d.ts +0 -3
- package/dist/next/preview-pill.js +7 -50
- package/dist/next/queries.d.ts +3 -28
- package/dist/next/queries.js +3 -90
- package/dist/next/reads.d.ts +2 -0
- package/dist/next/reads.js +18 -0
- package/dist/page-context.d.ts +89 -0
- package/dist/page-context.js +8 -0
- package/dist/pairing.d.ts +2 -22
- package/dist/project.d.ts +85 -0
- package/dist/project.js +228 -0
- package/dist/published.d.ts +115 -0
- package/dist/published.js +136 -0
- package/dist/react.d.ts +61 -0
- package/dist/react.js +17 -0
- package/dist/read-shapes.d.ts +1 -1
- package/dist/reads.d.ts +80 -0
- package/dist/reads.js +142 -0
- package/dist/refs.d.ts +1 -1
- package/dist/registration.d.ts +8 -0
- package/dist/registration.js +17 -0
- package/dist/render.d.ts +5 -83
- package/dist/render.js +5 -10
- package/dist/resolve.d.ts +1 -1
- package/dist/richtext/index.d.ts +6 -2
- package/dist/richtext/index.js +3 -2
- package/dist/richtext-href.d.ts +4 -0
- package/dist/richtext-href.js +17 -0
- package/dist/richtext-render.js +1 -14
- package/dist/schema-version.d.ts +1 -1
- package/dist/schema-version.js +1 -1
- package/dist/section-crash.d.ts +2 -2
- package/dist/section-crash.js +2 -7
- package/dist/section-wrapper.d.ts +3 -10
- package/dist/section-wrapper.js +3 -2
- package/dist/site.d.ts +40 -14
- package/dist/site.js +199 -284
- package/dist/smd-key.d.ts +9 -0
- package/dist/smd-key.js +1 -0
- package/dist/sql-space.d.ts +5 -0
- package/dist/sql-space.js +11 -5
- package/dist/sql.d.ts +2 -0
- package/dist/sql.js +127 -1
- package/dist/store.d.ts +1 -1
- package/dist/supabase-published-store.d.ts +45 -0
- package/dist/supabase-published-store.js +247 -0
- package/dist/supabase-store.d.ts +1 -1
- package/dist/toolset.d.ts +2 -4
- package/dist/toolset.js +6 -4
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/view-props.d.ts +40 -0
- package/dist/view-props.js +1 -0
- package/dist/views.d.ts +36 -0
- package/dist/views.js +52 -0
- package/dist/zones.d.ts +7 -7
- package/dist/zones.js +7 -6
- package/migrations/20261007120000_smoodly_v8.sql +154 -0
- package/migrations/20261007200000_smoodly_v9.sql +30 -0
- package/migrations/20261008120000_smoodly_v10.sql +47 -0
- package/package.json +46 -19
- package/dist/admin/next/bridge.d.ts +0 -2
- package/dist/admin/next/bridge.js +0 -129
- package/dist/admin/next/create-admin.d.ts +0 -19
- package/dist/admin/next/create-admin.js +0 -44
- package/dist/admin/next/index.d.ts +0 -8
- package/dist/admin/next/index.js +0 -8
- package/dist/admin/next/op-handler.d.ts +0 -18
- package/dist/admin/next/op-handler.js +0 -31
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { serializeAdminConfig } from "../serialize.js";
|
|
3
|
-
import { AdminApp } from "../shell/AdminApp.js";
|
|
4
|
-
import { AdminStyles } from "../ui/theme.js";
|
|
5
|
-
/** `presence` (optional) is the content project's public config for editing presence (spec 2026-09-26
|
|
6
|
-
* concurrency §5; presence only, never content reads, spec 2026-09-29 content API contract §8), async because its space is asked of the database; absent or failed, presence
|
|
7
|
-
* is off and everything else works. */
|
|
8
|
-
export function createSmoodlyAdmin(input) {
|
|
9
|
-
const registry = serializeAdminConfig(input.config);
|
|
10
|
-
/** The catch-all page only makes every /admin URL exist. The shell is
|
|
11
|
-
* mounted by the layout, not here: a server action that revalidates
|
|
12
|
-
* (publish, delete, a save of published content) answers with a
|
|
13
|
-
* re-rendered tree for the URL it was posted to, and Next remounts a
|
|
14
|
-
* page whose dynamic segment changed since the document load, while a
|
|
15
|
-
* layout persists (spec 2026-09-08 client routing, §1 amendment). */
|
|
16
|
-
function AdminPage() {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
/** The admin owns the viewport: the whole UI is a fixed three-column
|
|
20
|
-
* shell that scrolls internally, never the host document. The design
|
|
21
|
-
* system's tokens ride along in one <style> — the host app imports
|
|
22
|
-
* nothing (see ui/theme.tsx). The shell reads its route from the URL
|
|
23
|
-
* on mount (shell/router.ts); `children` is the page's nothing.
|
|
24
|
-
* suppressHydrationWarning: the theme boot script sets `data-theme`
|
|
25
|
-
* on this element before React hydrates, on purpose (no white flash
|
|
26
|
-
* for a dark-mode editor), so the attribute differs from the server's. */
|
|
27
|
-
async function AdminLayout({ children }) {
|
|
28
|
-
// Presence is the one thing that needs it: a failed lookup (an unmigrated project, an
|
|
29
|
-
// unreachable database) is logged and turns presence off, so the shell still reaches
|
|
30
|
-
// sign-in, the schema notice or the admin-path ErrorPane.
|
|
31
|
-
// Auth first: an admin that cannot start (a missing publishable key) fails on its own
|
|
32
|
-
// error, not after a presence line that suggests it runs without presence.
|
|
33
|
-
const auth = input.auth();
|
|
34
|
-
let presenceConfig;
|
|
35
|
-
try {
|
|
36
|
-
presenceConfig = await input.presence?.();
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
console.error("smoodly: editing presence is off —", e instanceof Error ? e.message : e);
|
|
40
|
-
}
|
|
41
|
-
return (_jsxs("div", { className: "sm-admin", suppressHydrationWarning: true, children: [_jsx(AdminStyles, {}), _jsx(AdminApp, { registry: registry, op: input.op, auth: auth, presenceConfig: presenceConfig }), children] }));
|
|
42
|
-
}
|
|
43
|
-
return { AdminPage, AdminLayout };
|
|
44
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { createAdminOpHandler } from "./op-handler.ts";
|
|
2
|
-
export { createSmoodlyAdmin } from "./create-admin.tsx";
|
|
3
|
-
export type { AdminOpCall, AdminOpAction, AdminOps, OpResult, MembersListResult } from "../ops.ts";
|
|
4
|
-
export type { InviteInput, InviteResult, MemberRecord } from "../../member-store.ts";
|
|
5
|
-
export type { MemberRole } from "../../permissions.ts";
|
|
6
|
-
export type { AuthConfig } from "../shell/session.ts";
|
|
7
|
-
export type { PresenceConfig } from "../../env.ts";
|
|
8
|
-
export type { AdminAuth } from "../auth.ts";
|
package/dist/admin/next/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// The admin route group's entry. createSmoodlyAdmin imports the "use
|
|
2
|
-
// client" shell, so any module that imports a value from here puts the
|
|
3
|
-
// whole admin in its route's JavaScript — whether it renders or not.
|
|
4
|
-
// Never import it from code the site's routes reach (smoodly/server.ts
|
|
5
|
-
// included); the auth glue lives in `smoodly/admin`, which has no client
|
|
6
|
-
// code.
|
|
7
|
-
export { createAdminOpHandler } from "./op-handler.js";
|
|
8
|
-
export { createSmoodlyAdmin } from "./create-admin.js";
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ResolvedConfig } from "../../config.ts";
|
|
2
|
-
import type { EntryStore } from "../../entry-store.ts";
|
|
3
|
-
import type { PageStore } from "../../store.ts";
|
|
4
|
-
import type { AssetStore } from "../../asset-store.ts";
|
|
5
|
-
import type { MemberStore } from "../../member-store.ts";
|
|
6
|
-
import { type AdminAuth } from "../auth.ts";
|
|
7
|
-
import type { AdminOpAction } from "../ops.ts";
|
|
8
|
-
export declare function createAdminOpHandler(deps: {
|
|
9
|
-
config: ResolvedConfig;
|
|
10
|
-
pages: PageStore;
|
|
11
|
-
entries: EntryStore;
|
|
12
|
-
auth: AdminAuth;
|
|
13
|
-
href?: (path: string, locale: string) => string;
|
|
14
|
-
/** The media library; without it the assets ops answer "no media store". */
|
|
15
|
-
assets?: AssetStore;
|
|
16
|
-
/** The admission table; without it members.list answers "no member store". */
|
|
17
|
-
members?: MemberStore;
|
|
18
|
-
}): AdminOpAction;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// packages/smoodly/src/admin/next/op-handler.ts
|
|
2
|
-
// The Next face of the ops seam: ONE server-action body, gated by
|
|
3
|
-
// AdminAuth. The app's 'use server' file wraps this in its single
|
|
4
|
-
// exported async function.
|
|
5
|
-
import { updateTag } from "next/cache";
|
|
6
|
-
import { draftMode } from "next/headers";
|
|
7
|
-
import { gateAdminOp } from "../auth.js";
|
|
8
|
-
import { createAdminOps, runAdminOp } from "../ops-impl.js";
|
|
9
|
-
export function createAdminOpHandler(deps) {
|
|
10
|
-
const base = {
|
|
11
|
-
config: deps.config,
|
|
12
|
-
pages: deps.pages,
|
|
13
|
-
entries: deps.entries,
|
|
14
|
-
href: deps.href,
|
|
15
|
-
assets: deps.assets,
|
|
16
|
-
members: deps.members,
|
|
17
|
-
effects: {
|
|
18
|
-
// updateTag, not revalidateTag(tag, profile): the profile form is
|
|
19
|
-
// stale-while-revalidate, so the first request after publish still
|
|
20
|
-
// served the cached null (a 404) and only the second saw the page.
|
|
21
|
-
// updateTag expires now — Server Actions only, which this is.
|
|
22
|
-
revalidate: (tag) => updateTag(tag),
|
|
23
|
-
draft: {
|
|
24
|
-
enable: async () => (await draftMode()).enable(),
|
|
25
|
-
disable: async () => (await draftMode()).disable(),
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
// Ops are built per call so the verified session rides into every store write as `by` (spec 2026-09-13 history §2).
|
|
30
|
-
return (call) => gateAdminOp(deps.auth, call, (c, session) => runAdminOp(createAdminOps({ ...base, actor: session }), c));
|
|
31
|
-
}
|