@jini-ai/admin 0.3.6 → 0.3.8

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.
@@ -5,7 +5,7 @@ import { type CanvasEmbedPlaceholderDescriptor, type InteractiveHtmlEditorProps
5
5
  * which is not always called with a real DOM `Element` — see that helper's own doc. */
6
6
  export declare function isProtectedEmbedElement(el: Element): boolean;
7
7
  /**
8
- * Recognizes a `data-embed-config` marker (`Tovu/src/core/embeds/marker.ts`'s single scanner
8
+ * Recognizes a `data-embed-config` marker (the consuming product's own `src/core/embeds/marker.ts`'s single scanner
9
9
  * convention) on a live canvas element and describes it for `@jini-ai/ui/html-editor`'s
10
10
  * `applyCanvasEmbedPlaceholders` — see that function's own file header for what it does with the
11
11
  * result. Exported for direct unit-testability without mounting the editor, same convention
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveHtmlEditor.d.ts","sourceRoot":"","sources":["../../../../src/react/components/InteractiveHtmlEditor/InteractiveHtmlEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,IAAI,eAAe,EACnD,MAAM,yBAAyB,CAAC;AAkCjC;;;wFAGwF;AACxF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAE5D;AA2ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,gCAAgC,GAAG,SAAS,CAelG;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,0BAA0B,CAAC,CAAC;AAElH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAQtE"}
1
+ {"version":3,"file":"InteractiveHtmlEditor.d.ts","sourceRoot":"","sources":["../../../../src/react/components/InteractiveHtmlEditor/InteractiveHtmlEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,IAAI,eAAe,EACnD,MAAM,yBAAyB,CAAC;AAmCjC;;;wFAGwF;AACxF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAE5D;AA2ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,gCAAgC,GAAG,SAAS,CAelG;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,0BAA0B,CAAC,CAAC;AAElH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAQtE"}
@@ -1,14 +1,15 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { InteractiveHtmlEditor as HtmlEditor, hasAttributeOnAnyNodeShape, } from '@jini-ai/ui/html-editor';
3
3
  /**
4
- * @file Tovu-specific composition of `@jini-ai/ui/html-editor`'s generic `InteractiveHtmlEditor`: a
5
- * Page's `body_html` (the first caller — see `Tovu/apps/admin/src/features/pages/PageEditor.tsx`)
4
+ * @file Consuming-product-specific composition of `@jini-ai/ui/html-editor`'s generic
5
+ * `InteractiveHtmlEditor`: a Page's `body_html` (the first caller — see the consuming product's own
6
+ * `apps/admin/src/features/pages/PageEditor.tsx`)
6
7
  * can carry `<div data-embed-type="…" data-embed-id="…"></div>` placeholders (and the legacy
7
8
  * `data-widget-embed`/`data-form-embed` attributes on migration-era rows) that a separate scanner
8
- * (`Tovu/src/widgets/html-embeds.ts`) resolves at render time — that scanner requires the div to
9
+ * (that product's own `src/widgets/html-embeds.ts`) resolves at render time — that scanner requires the div to
9
10
  * stay exactly empty and self-closing, and degrades silently, with no error, the moment anything is
10
11
  * written inside one. The CURRENT convention has since moved to a single `data-embed-config`
11
- * attribute carrying a JSON payload (`Tovu/src/core/embeds/marker.ts`); `isProtectedEmbedElement`
12
+ * attribute carrying a JSON payload (that product's own `src/core/embeds/marker.ts`); `isProtectedEmbedElement`
12
13
  * below has not been updated to recognize it (tracked separately — see that function's own doc), but
13
14
  * `describeEmbedPlaceholder` below IS built against the current convention, since it only needs to
14
15
  * read the marker, not police edits to it.
@@ -19,11 +20,11 @@ import { InteractiveHtmlEditor as HtmlEditor, hasAttributeOnAnyNodeShape, } from
19
20
  * unchanged.
20
21
  */
21
22
  /** The attribute either the current (`data-embed-type`) or legacy (`data-widget-embed`,
22
- * `data-form-embed`) convention uses to mark a Page HTML embed placeholder div — see
23
- * `Tovu/src/widgets/html-embeds.ts`'s file header for the convention this protects.
23
+ * `data-form-embed`) convention uses to mark a Page HTML embed placeholder div — see the
24
+ * consuming product's own `src/widgets/html-embeds.ts`'s file header for the convention this protects.
24
25
  *
25
- * **Does NOT include `data-embed-config`, the CURRENT marker attribute** (`Tovu/src/core/embeds/
26
- * marker.ts`) — a known, separately-tracked gap: an embed marker written the current way is still
26
+ * **Does NOT include `data-embed-config`, the CURRENT marker attribute** (the consuming product's own
27
+ * `src/core/embeds/marker.ts`) — a known, separately-tracked gap: an embed marker written the current way is still
27
28
  * editable/draggable/removable in this editor today. Left alone here deliberately (out of scope for
28
29
  * the placeholder-card feature this file's `describeEmbedPlaceholder` was added for); widening this
29
30
  * list to close that gap is a one-line fix (`'data-embed-config'` added below) but changes real
@@ -39,14 +40,14 @@ export function isProtectedEmbedElement(el) {
39
40
  }
40
41
  /**
41
42
  * Friendly card headings for every embed `type` value this codebase names anywhere, split into two
42
- * groups (traced against `Tovu/src/server/http/site/render.ts`'s `renderHtmlPageBody`/`isPageEmbedType`
43
+ * groups (traced against the consuming product's own `src/server/http/site/render.ts`'s `renderHtmlPageBody`/`isPageEmbedType`
43
44
  * at the owner's own request, 2026-08-25 — authoritative, not re-derived):
44
45
  *
45
46
  * - **`media`, `widget`, `post`, `content`** — the ONLY four types `isPageEmbedType` (gating
46
47
  * `renderHtmlPageBody`, `render.ts:1238`) accepts, i.e. the complete set a Page's `body_html` — what
47
48
  * this editor edits — can ever actually contain. These are the types an operator can realistically
48
49
  * hit in the Interactive tab.
49
- * - **`partial`, `menu`** — `Tovu/src/widgets/resolver-service.ts`'s `THEME_OWNED_MARKER_TYPES`. NOT
50
+ * - **`partial`, `menu`** — the consuming product's own `src/widgets/resolver-service.ts`'s `THEME_OWNED_MARKER_TYPES`. NOT
50
51
  * reachable inside a Page body — they live in THEME TEMPLATES (site header/nav/footer), authored
51
52
  * outside this editor entirely, so this component should not grow UI affordances assuming one can
52
53
  * appear here. Labeled anyway (rather than left to the generic fallback below) purely so the ONE
@@ -64,7 +65,7 @@ export function isProtectedEmbedElement(el) {
64
65
  * Matched lower-cased — see `identityLabel`'s doc and `core/embeds/marker.ts`'s own `toEmbedRef` for
65
66
  * why the server-side scanner lower-cases `type` the same way. An unregistered type is not an error
66
67
  * here (unlike a rejected/unparseable marker) — `type` is deliberately a free string end-to-end (see
67
- * `Tovu/src/widgets/html-embeds.ts`'s file header) precisely so a new one (a marketplace theme
68
+ * the consuming product's own `src/widgets/html-embeds.ts`'s file header) precisely so a new one (a marketplace theme
68
69
  * introducing its own, say) never requires a matching change on this list AND never renders nothing —
69
70
  * `titleCase` below covers it with a still-legible generic card instead of a blank/thrown result.
70
71
  */
@@ -109,7 +110,7 @@ function identityLabel(config) {
109
110
  return id.length > ID_PREVIEW_LENGTH ? `id ${id.slice(0, ID_PREVIEW_LENGTH)}…` : `id ${id}`;
110
111
  }
111
112
  /**
112
- * Recognizes a `data-embed-config` marker (`Tovu/src/core/embeds/marker.ts`'s single scanner
113
+ * Recognizes a `data-embed-config` marker (the consuming product's own `src/core/embeds/marker.ts`'s single scanner
113
114
  * convention) on a live canvas element and describes it for `@jini-ai/ui/html-editor`'s
114
115
  * `applyCanvasEmbedPlaceholders` — see that function's own file header for what it does with the
115
116
  * result. Exported for direct unit-testability without mounting the editor, same convention
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveHtmlEditor.js","sourceRoot":"","sources":["../../../../src/react/components/InteractiveHtmlEditor/InteractiveHtmlEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InteractiveHtmlEditor.js","sourceRoot":"","sources":["../../../../src/react/components/InteractiveHtmlEditor/InteractiveHtmlEditor.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/react/components/Sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/react/components/Sidebar.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Fragment, createContext, useContext, useEffect, useMemo, useRef, useState, } from 'react';
2
+ import { Fragment, createContext, createElement, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
3
  import { createPortal } from 'react-dom';
4
4
  import { DEFAULT_ADMIN_BASE, adminHref } from '../../core/routing/rules.js';
5
5
  import { useNavSections } from '../hooks/use-nav-sections.js';
@@ -18,8 +18,96 @@ export function useSidebar() {
18
18
  }
19
19
  return value;
20
20
  }
21
+ /**
22
+ * Shape elements `AdminNavEntry.icon` markup may use. A host draws its own glyphs as raw inner
23
+ * SVG (see that field's doc comment in `core/manifest/types.ts`), so this can't be a fixed set of
24
+ * named icons — but it also means the string reaching {@link Icon} was written by whoever owns the
25
+ * nav entry, which soon enough will be a descriptor rather than code. `g` is included so multi-path
26
+ * icons can group and transform their pieces together.
27
+ */
28
+ const ICON_ALLOWED_TAGS = new Set(['path', 'circle', 'rect', 'line', 'polygon', 'polyline', 'ellipse', 'g']);
29
+ /**
30
+ * Presentation attributes let through on an icon shape, mapped from their SVG/XML spelling to the
31
+ * camelCase prop name React expects. Anything not listed here — `style`, `href`/`xlink:href`, every
32
+ * `on*` handler — is dropped by {@link sanitizeIconNode} rather than passed through, so there is no
33
+ * allowlist gap to keep in sync with a separate denylist.
34
+ */
35
+ const ICON_ALLOWED_ATTRS = {
36
+ d: 'd',
37
+ cx: 'cx',
38
+ cy: 'cy',
39
+ r: 'r',
40
+ rx: 'rx',
41
+ ry: 'ry',
42
+ x: 'x',
43
+ y: 'y',
44
+ width: 'width',
45
+ height: 'height',
46
+ x1: 'x1',
47
+ y1: 'y1',
48
+ x2: 'x2',
49
+ y2: 'y2',
50
+ points: 'points',
51
+ transform: 'transform',
52
+ fill: 'fill',
53
+ 'fill-rule': 'fillRule',
54
+ opacity: 'opacity',
55
+ 'stroke-width': 'strokeWidth',
56
+ 'stroke-linecap': 'strokeLinecap',
57
+ 'stroke-linejoin': 'strokeLinejoin',
58
+ 'clip-rule': 'clipRule',
59
+ };
60
+ /**
61
+ * Rebuilds one parsed element as a React element, keeping only {@link ICON_ALLOWED_TAGS} /
62
+ * {@link ICON_ALLOWED_ATTRS}. This is what stands in for `dangerouslySetInnerHTML`: the browser's
63
+ * own parser does the tokenizing (far less error-prone than a hand-rolled regex over SVG/XML), and
64
+ * this function decides what survives the trip into React's tree — a `<script>`, a `<foreignObject>`
65
+ * carrying arbitrary HTML, an `<image>`/`<use>` reference, or an `onload=` attribute all fail to
66
+ * match anything on either allowlist and are simply not there afterward, whatever they contained.
67
+ */
68
+ function sanitizeIconNode(node, key) {
69
+ const tag = node.tagName.toLowerCase();
70
+ if (!ICON_ALLOWED_TAGS.has(tag))
71
+ return null;
72
+ // `key` goes straight into the props object — `createElement` pulls it out as the element's
73
+ // reserved key rather than forwarding it to the DOM, the same as writing `key={key}` in JSX.
74
+ const props = { key };
75
+ for (const attr of Array.from(node.attributes)) {
76
+ const propName = ICON_ALLOWED_ATTRS[attr.name.toLowerCase()];
77
+ if (propName)
78
+ props[propName] = attr.value;
79
+ }
80
+ const children = Array.from(node.children)
81
+ .map((child, i) => sanitizeIconNode(child, i))
82
+ .filter((child) => child !== null);
83
+ return createElement(tag, props, children.length ? children : undefined);
84
+ }
85
+ // Reused across parses rather than constructed per render — `DOMParser` instances are stateless
86
+ // and this runs once per icon render, but there is no reason to pay allocation cost for it twice.
87
+ let iconMarkupParser;
88
+ /**
89
+ * Parses one `AdminNavEntry.icon` string into a sanitized element list. Wrapping in a throwaway
90
+ * `<svg>` document (never attached to the page — this is markup parsing, not rendering) lets the
91
+ * browser's own XML parser validate structure for free: malformed markup surfaces as a
92
+ * `parsererror` node, which is treated the same as empty input — the row loses its icon, not its
93
+ * label or link.
94
+ */
95
+ function parseIconMarkup(markup) {
96
+ if (!markup)
97
+ return [];
98
+ iconMarkupParser ??= new DOMParser();
99
+ const doc = iconMarkupParser.parseFromString(`<svg xmlns="http://www.w3.org/2000/svg">${markup}</svg>`, 'image/svg+xml');
100
+ if (doc.getElementsByTagName('parsererror').length > 0)
101
+ return [];
102
+ return Array.from(doc.documentElement.children)
103
+ .map((child, i) => sanitizeIconNode(child, i))
104
+ .filter((child) => child !== null);
105
+ }
21
106
  function Icon(props) {
22
- return (_jsx("svg", { viewBox: "0 0 18 18", fill: "none", stroke: "currentColor", strokeWidth: 1.5, dangerouslySetInnerHTML: { __html: props.markup } }));
107
+ // Re-parsing on every keystroke of an unrelated state update would be wasted work for a string
108
+ // that, in practice, never changes after the nav manifest is built.
109
+ const children = useMemo(() => parseIconMarkup(props.markup), [props.markup]);
110
+ return (_jsx("svg", { viewBox: "0 0 18 18", fill: "none", stroke: "currentColor", strokeWidth: 1.5, children: children }));
23
111
  }
24
112
  /**
25
113
  * Rail-mode tooltip, portaled to `document.body`.
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/react/components/Sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/react/components/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAKT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AA0F9D,MAAM,cAAc,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,4FAA4F;YAC1F,yFAAyF;YACzF,mBAAmB,CACtB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;AAE7G;;;;;GAKG;AACH,MAAM,kBAAkB,GAA2B;IACjD,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,aAAa;IAC7B,gBAAgB,EAAE,eAAe;IACjC,iBAAiB,EAAE,gBAAgB;IACnC,WAAW,EAAE,UAAU;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,IAAa,EAAE,GAAW;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,4FAA4F;IAC5F,6FAA6F;IAC7F,MAAM,KAAK,GAAoC,EAAE,GAAG,EAAE,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SACvC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC7C,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAE5D,OAAO,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC;AAED,gGAAgG;AAChG,kGAAkG;AAClG,IAAI,gBAAuC,CAAC;AAE5C;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,gBAAgB,KAAK,IAAI,SAAS,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,gBAAgB,CAAC,eAAe,CAC1C,2CAA2C,MAAM,QAAQ,EACzD,eAAe,CAChB,CAAC;IACF,IAAI,GAAG,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAClE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC;SAC5C,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC7C,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,IAAI,CAAC,KAAyB;IACrC,+FAA+F;IAC/F,oEAAoE;IACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,CACL,cAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAE,GAAG,YACxE,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAAC,KAAuC;IAC1D,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,YAAY,CACjB,cACE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EACzD,IAAI,EAAC,cAAc,YAElB,KAAK,CAAC,MAAM,CAAC,KAAK,GACf,EACN,QAAQ,CAAC,IAAI,CACd,CAAC;AACJ,CAAC;AAoCD,SAAS,WAAW,CAAC,KAAmB;IACtC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAuB,IAAI,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,kBAAkB,CAAC;IAE9C,8FAA8F;IAC9F,gGAAgG;IAChG,oBAAoB;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAErB,MAAM,KAAK,GAAG,OAAO,CAAsB,GAAG,EAAE;QAC9C,SAAS,IAAI,CAAC,CAAoD,EAAE,KAAa;YAC/E,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAClD,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,SAAS,IAAI;YACX,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,gBAAgB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;gBACpC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;gBACnC,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC9B,MAAM,EAAE,IAAI;aACb,CAAC;SACH,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG;QAChB,gBAAgB;QAChB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACvB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACjC,KAAK,CAAC,SAAS;KAChB;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACnC,eAAK,SAAS,EAAE,SAAS,gBAAc,KAAK,CAAC,KAAK,IAAI,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,eAAe,aAC3F,KAAK,CAAC,QAAQ,EACf,KAAC,WAAW,IAAC,MAAM,EAAE,OAAO,GAAI,IAC5B,GACkB,CAC3B,CAAC;AACJ,CAAC;AAcD;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,KAA+B;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI;YAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aAClC,yBAAO,KAAK,CAAC,KAAK,IAAI,YAAY,GAAQ,EAC1C,iBACE,GAAG,EAAE,cAAc,EACnB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,eAAe,EACzB,OAAO,EAAE,KAAK,CAAC,OAAO,gBACV,KAAK,CAAC,UAAU,IAAI,kBAAkB,YAElD,cAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAE,GAAG,YACzE,eAAM,CAAC,EAAC,sBAAsB,EAAC,aAAa,EAAC,OAAO,GAAG,GACnD,GACC,IACL,CACP,CAAC;AACJ,CAAC;AAuBD,SAAS,UAAU,CAAC,KAAsB;IACxC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,UAAU,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,OAAO,CACL,4BACG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC9B;;;;;;eAMG;YACH,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;YAC1H,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;YAExG,OAAO,CACP,eAAK,SAAS,EAAC,aAAa,aAIzB,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC;oBAC5B,8EAA8E;oBAC9E,sFAAsF;oBACtF,oDAAoD;oBACpD,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,6BAA6B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,mBACnD,IAAI,mBACJ,OAAO,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAe,CAAC,aAErD,yBAAO,KAAK,CAAC,KAAK,GAAQ,EAC1B,cAAK,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM,YACnF,eAAM,CAAC,EAAC,cAAc,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,MAAM,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,GAC3G,IACC,CACV,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAChB,cAAK,SAAS,EAAC,WAAW,YAAE,KAAK,CAAC,KAAK,GAAO,CAC/C,CAAC,CAAC,CAAC,IAAI,EAIR,cAAK,SAAS,EAAC,mBAAmB,EAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,YAC5D,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;4BACxB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC;4BACpC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BACxC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gCACrB,OAAO,KAAC,QAAQ,cAAgB,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAA7D,IAAI,CAAC,EAAE,CAAkE,CAAC;4BAClG,CAAC;4BACD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gCACvC,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,mBAAe,MAAM,aACpD,KAAC,IAAI,IAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,GAAI,EACjC,yBAAO,IAAI,CAAC,KAAK,GAAQ,EAIzB,eAAM,SAAS,EAAC,MAAM,YAAE,KAAK,CAAC,SAAS,IAAI,MAAM,GAAQ,KANC,IAAI,CAAC,EAAE,CAO7D,CACP,CAAC;4BACJ,CAAC;4BACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gCACd,mFAAmF;gCACnF,qFAAqF;gCACrF,uFAAuF;gCACvF,OAAO,CACL,aAEE,SAAS,EAAE,mBAAmB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EACvD,IAAI,EAAE,IAAI,kBACI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACrC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAEhC,KAAC,IAAI,IAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,GAAI,EACjC,yBAAO,IAAI,CAAC,KAAK,GAAQ,EACzB,eAAM,SAAS,EAAC,MAAM,YAAE,KAAK,CAAC,SAAS,IAAI,MAAM,GAAQ,KARpD,IAAI,CAAC,EAAE,CASV,CACL,CAAC;4BACJ,CAAC;4BACD,OAAO,CACL,aAEE,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;gCAC/C,6EAA6E;gCAC7E,kFAAkF;gCAClF,mBAAmB;gCACnB,IAAI,EAAE,IAAI,kBACI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACrC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAEhC,KAAC,IAAI,IAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,GAAI,EAKjC,yBAAO,IAAI,CAAC,KAAK,GAAQ,KAdpB,IAAI,CAAC,EAAE,CAeV,CACL,CAAC;wBACJ,CAAC,CAAC,GACI,KAnF0B,KAAK,CAAC,KAAK,IAAI,OAAO,EAAE,EAAE,CAoFtD,CACL,CAAC;QACJ,CAAC,CAAC,GACD,CACJ,CAAC;AACJ,CAAC;AAOD,8FAA8F;AAC9F,SAAS,aAAa,CAAC,KAAyB;IAC9C,OAAO,cAAK,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAG,KAAK,CAAC,QAAQ,GAAO,CAAC;AACzG,CAAC;AASD;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,kBAAkB,CAAC,CAAC;IAEhH,OAAO,CACL,cAAK,SAAS,EAAC,qBAAqB,YAClC,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,UAAU,mBACJ,CAAC,SAAS,gBACb,KAAK,EACjB,KAAK,EAAE,KAAK,YAEZ,cAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAE,GAAG,iBAAc,MAAM,YAG7F,eAAM,CAAC,EAAC,6CAA6C,GAAG,GACpD,GACC,GACL,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;IAChD,YAAY,EAAE,mBAAmB;IACjC,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,iBAAiB;CAC9B,CAAC,CAAC"}
@@ -17,7 +17,7 @@
17
17
  * appear only where a value must be measured at runtime — portal coordinates in `Sidebar`'s rail
18
18
  * tooltip and `RowMenu`'s popup. `InteractiveHtmlEditor` is the exception: it (transitively, via
19
19
  * `@jini-ai/ui/html-editor`, which this file's own `InteractiveHtmlEditor` composes with a
20
- * Tovu-specific embed-protection predicate) imports GrapesJS's own vendor stylesheet, because it
20
+ * consuming-product-specific embed-protection predicate) imports GrapesJS's own vendor stylesheet, because it
21
21
  * wraps a third-party editor whose chrome does not render without it — see that primitive's file
22
22
  * header for why this isn't authored styling the exception undoes.
23
23
  *
@@ -17,7 +17,7 @@
17
17
  * appear only where a value must be measured at runtime — portal coordinates in `Sidebar`'s rail
18
18
  * tooltip and `RowMenu`'s popup. `InteractiveHtmlEditor` is the exception: it (transitively, via
19
19
  * `@jini-ai/ui/html-editor`, which this file's own `InteractiveHtmlEditor` composes with a
20
- * Tovu-specific embed-protection predicate) imports GrapesJS's own vendor stylesheet, because it
20
+ * consuming-product-specific embed-protection predicate) imports GrapesJS's own vendor stylesheet, because it
21
21
  * wraps a third-party editor whose chrome does not render without it — see that primitive's file
22
22
  * header for why this isn't authored styling the exception undoes.
23
23
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jini-ai/admin",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "description": "Composable admin surface for Jini-hosted products: framework-free contracts, panel registry, and route model in `/core`; React shell and panels in `/react`. Import only the layers you need.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -80,8 +80,8 @@
80
80
  "react-dom": "^19.2.0"
81
81
  },
82
82
  "dependencies": {
83
- "@jini-ai/ui": "0.3.6",
84
- "@jini-ai/agentic": "0.3.0"
83
+ "@jini-ai/agentic": "0.3.6",
84
+ "@jini-ai/ui": "0.3.8"
85
85
  },
86
86
  "scripts": {
87
87
  "build": "tsc -p tsconfig.json",