@betterportal/theme-embedded 10.1.46 → 10.1.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/bp-resources/SKILL.md +1 -1
- package/bp-resources/ui-guide.md +1 -1
- package/lib/bp-contracts/org.betterportal.theme.embedded.json +3 -3
- package/lib/schemas/service-betterportal-theme-embedded.json +1 -1
- package/lib/schemas/service-betterportal-theme-embedded.plugin.json +1 -1
- package/package.json +4 -4
package/bp-resources/SKILL.md
CHANGED
|
@@ -8,7 +8,7 @@ description: Build compact BetterPortal service UI for the Embedded theme.
|
|
|
8
8
|
1. Read `/llms-api.txt` and the Embedded UI guide.
|
|
9
9
|
2. Keep the view single-column and self-contained.
|
|
10
10
|
3. Use semantic HTML and server-rendered HTMX fragments.
|
|
11
|
-
4.
|
|
11
|
+
4. In renderers, use `ctx.url.route()` for service calls and `ctx.url.uiRoute()` only for GET navigation. Pass a declared dependency alias as `serviceId` for another service.
|
|
12
12
|
5. Include loading, empty, validation and failure states.
|
|
13
13
|
6. Verify keyboard use, labels, responsive wrapping and the published schemas.
|
|
14
14
|
|
package/bp-resources/ui-guide.md
CHANGED
|
@@ -7,7 +7,7 @@ The Embedded theme renders BetterPortal service content inside a lightweight hos
|
|
|
7
7
|
- Return service content only; the theme owns the host document and main outlet.
|
|
8
8
|
- Use semantic HTML, visible labels, keyboard-operable controls and responsive wrapping.
|
|
9
9
|
- Prefer one column. Avoid persistent navigation, wide tables, fixed positioning and viewport-sized panels.
|
|
10
|
-
-
|
|
10
|
+
- In renderers, use `ctx.url.route()` for service requests. Use `ctx.url.uiRoute()` only for GET page navigation. Pass a declared dependency alias as `serviceId` when resolving another app-mounted service. Handler equivalents are `ctx.routeUrl()` and `ctx.uiRouteUrl()`.
|
|
11
11
|
- Use normal forms and HTMX swaps. Provide loading, empty, validation and error states.
|
|
12
12
|
- Use `hx-download` for authenticated files and `HX-Trigger` events for passive refresh.
|
|
13
13
|
- Do not add a SPA framework, iframe, client router, state library or hardcoded service URL.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"pluginId": "org.betterportal.theme.embedded",
|
|
5
5
|
"title": "Embedded Theme",
|
|
6
6
|
"description": "Minimal htmx theme for embedding BetterPortal content without iframes.",
|
|
7
|
-
"version": "10.1.
|
|
7
|
+
"version": "10.1.47",
|
|
8
8
|
"category": "theme",
|
|
9
9
|
"deploymentModes": [
|
|
10
10
|
"self-hosted"
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"title": "Embedded UI guide",
|
|
34
34
|
"description": "Compact layout, HTMX and accessibility rules for embedded views.",
|
|
35
35
|
"mediaType": "text/markdown; charset=utf-8",
|
|
36
|
-
"content": "# Embedded theme UI guide\n\nThe Embedded theme renders BetterPortal service content inside a lightweight host without an iframe. Keep UI narrow, self-contained and dependent only on native HTML, HTMX and the theme's existing variables.\n\n## Rules\n\n- Return service content only; the theme owns the host document and main outlet.\n- Use semantic HTML, visible labels, keyboard-operable controls and responsive wrapping.\n- Prefer one column. Avoid persistent navigation, wide tables, fixed positioning and viewport-sized panels.\n-
|
|
36
|
+
"content": "# Embedded theme UI guide\n\nThe Embedded theme renders BetterPortal service content inside a lightweight host without an iframe. Keep UI narrow, self-contained and dependent only on native HTML, HTMX and the theme's existing variables.\n\n## Rules\n\n- Return service content only; the theme owns the host document and main outlet.\n- Use semantic HTML, visible labels, keyboard-operable controls and responsive wrapping.\n- Prefer one column. Avoid persistent navigation, wide tables, fixed positioning and viewport-sized panels.\n- In renderers, use `ctx.url.route()` for service requests. Use `ctx.url.uiRoute()` only for GET page navigation. Pass a declared dependency alias as `serviceId` when resolving another app-mounted service. Handler equivalents are `ctx.routeUrl()` and `ctx.uiRouteUrl()`.\n- Use normal forms and HTMX swaps. Provide loading, empty, validation and error states.\n- Use `hx-download` for authenticated files and `HX-Trigger` events for passive refresh.\n- Do not add a SPA framework, iframe, client router, state library or hardcoded service URL.\n\nThe Embedded theme deliberately offers fewer visual primitives than Bootstrap1. If a workflow needs a complex application shell, use Bootstrap1 instead of recreating a shell inside service content.\n"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"id": "embedded.skill",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"title": "Embedded UI skill",
|
|
42
42
|
"description": "Agent workflow for producing Embedded-compatible service UI.",
|
|
43
43
|
"mediaType": "text/markdown; charset=utf-8",
|
|
44
|
-
"content": "---\nname: betterportal-embedded-ui\ndescription: Build compact BetterPortal service UI for the Embedded theme.\n---\n\n# BetterPortal Embedded UI\n\n1. Read `/llms-api.txt` and the Embedded UI guide.\n2. Keep the view single-column and self-contained.\n3. Use semantic HTML and server-rendered HTMX fragments.\n4.
|
|
44
|
+
"content": "---\nname: betterportal-embedded-ui\ndescription: Build compact BetterPortal service UI for the Embedded theme.\n---\n\n# BetterPortal Embedded UI\n\n1. Read `/llms-api.txt` and the Embedded UI guide.\n2. Keep the view single-column and self-contained.\n3. Use semantic HTML and server-rendered HTMX fragments.\n4. In renderers, use `ctx.url.route()` for service calls and `ctx.url.uiRoute()` only for GET navigation. Pass a declared dependency alias as `serviceId` for another service.\n5. Include loading, empty, validation and failure states.\n6. Verify keyboard use, labels, responsive wrapping and the published schemas.\n\nDo not recreate Bootstrap components or a second app shell. Recommend Bootstrap1 when the requested interface genuinely needs those primitives.\n"
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
"id": "embedded.page-template",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@betterportal/theme-embedded",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.47",
|
|
4
4
|
"description": "BetterPortal v10 embedded theme plugin for Node.js",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "src/index.ts",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"typescript": "^6.0.3"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@betterportal/framework": "10.1.
|
|
36
|
-
"@betterportal/plugin-bsb": "10.1.
|
|
37
|
-
"@betterportal/theme-runtime": "10.1.
|
|
35
|
+
"@betterportal/framework": "10.1.47",
|
|
36
|
+
"@betterportal/plugin-bsb": "10.1.47",
|
|
37
|
+
"@betterportal/theme-runtime": "10.1.47",
|
|
38
38
|
"@bsb/base": "^9.6.60",
|
|
39
39
|
"anyvali": "^1.0.6",
|
|
40
40
|
"jsx-htmx": "4.0.0-beta6"
|