@contractspec/lib.example-shared-ui 6.0.16 → 6.0.18

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.
Files changed (86) hide show
  1. package/.turbo/turbo-build.log +81 -81
  2. package/CHANGELOG.md +32 -0
  3. package/dist/EvolutionDashboard.js +1 -803
  4. package/dist/EvolutionSidebar.js +1 -531
  5. package/dist/LocalDataIndicator.js +1 -62
  6. package/dist/MarkdownView.js +1 -207
  7. package/dist/OverlayContextProvider.js +1 -202
  8. package/dist/PersonalizationInsights.js +1 -455
  9. package/dist/SaveToStudioButton.js +1 -73
  10. package/dist/SpecDrivenTemplateShell.js +1 -197
  11. package/dist/SpecEditorPanel.js +17 -358
  12. package/dist/TemplateShell.js +1 -189
  13. package/dist/browser/EvolutionDashboard.js +1 -803
  14. package/dist/browser/EvolutionSidebar.js +1 -531
  15. package/dist/browser/LocalDataIndicator.js +1 -62
  16. package/dist/browser/MarkdownView.js +1 -207
  17. package/dist/browser/OverlayContextProvider.js +1 -202
  18. package/dist/browser/PersonalizationInsights.js +1 -455
  19. package/dist/browser/SaveToStudioButton.js +1 -73
  20. package/dist/browser/SpecDrivenTemplateShell.js +1 -197
  21. package/dist/browser/SpecEditorPanel.js +17 -358
  22. package/dist/browser/TemplateShell.js +1 -189
  23. package/dist/browser/bundles/ExampleTemplateBundle.js +1 -85
  24. package/dist/browser/bundles/index.js +1 -85
  25. package/dist/browser/hooks/index.js +40 -1145
  26. package/dist/browser/hooks/useBehaviorTracking.js +1 -157
  27. package/dist/browser/hooks/useEvolution.js +1 -260
  28. package/dist/browser/hooks/useRegistryTemplates.js +1 -31
  29. package/dist/browser/hooks/useSpecContent.js +17 -218
  30. package/dist/browser/hooks/useWorkflowComposer.js +24 -483
  31. package/dist/browser/index.js +40 -3110
  32. package/dist/browser/lib/component-registry.js +1 -42
  33. package/dist/browser/lib/runtime-context.js +1 -15
  34. package/dist/browser/markdown/formatPresentationName.js +1 -9
  35. package/dist/browser/markdown/useMarkdownPresentation.js +1 -65
  36. package/dist/browser/utils/fetchPresentationData.js +1 -15
  37. package/dist/browser/utils/generateSpecFromTemplate.js +16 -62
  38. package/dist/browser/utils/index.js +16 -76
  39. package/dist/bundles/ExampleTemplateBundle.js +1 -85
  40. package/dist/bundles/index.js +1 -85
  41. package/dist/hooks/index.js +40 -1145
  42. package/dist/hooks/useBehaviorTracking.js +1 -157
  43. package/dist/hooks/useEvolution.js +1 -260
  44. package/dist/hooks/useRegistryTemplates.js +1 -31
  45. package/dist/hooks/useSpecContent.js +17 -218
  46. package/dist/hooks/useWorkflowComposer.js +24 -483
  47. package/dist/index.js +40 -3110
  48. package/dist/lib/component-registry.js +1 -42
  49. package/dist/lib/runtime-context.d.ts +2 -1
  50. package/dist/lib/runtime-context.js +1 -15
  51. package/dist/lib/singletons.test.d.ts +1 -0
  52. package/dist/markdown/formatPresentationName.js +1 -9
  53. package/dist/markdown/useMarkdownPresentation.js +1 -65
  54. package/dist/node/EvolutionDashboard.js +1 -803
  55. package/dist/node/EvolutionSidebar.js +1 -531
  56. package/dist/node/LocalDataIndicator.js +1 -62
  57. package/dist/node/MarkdownView.js +1 -207
  58. package/dist/node/OverlayContextProvider.js +1 -202
  59. package/dist/node/PersonalizationInsights.js +1 -455
  60. package/dist/node/SaveToStudioButton.js +1 -73
  61. package/dist/node/SpecDrivenTemplateShell.js +1 -197
  62. package/dist/node/SpecEditorPanel.js +17 -358
  63. package/dist/node/TemplateShell.js +1 -189
  64. package/dist/node/bundles/ExampleTemplateBundle.js +1 -85
  65. package/dist/node/bundles/index.js +1 -85
  66. package/dist/node/hooks/index.js +40 -1145
  67. package/dist/node/hooks/useBehaviorTracking.js +1 -157
  68. package/dist/node/hooks/useEvolution.js +1 -260
  69. package/dist/node/hooks/useRegistryTemplates.js +1 -31
  70. package/dist/node/hooks/useSpecContent.js +17 -218
  71. package/dist/node/hooks/useWorkflowComposer.js +24 -483
  72. package/dist/node/index.js +40 -3110
  73. package/dist/node/lib/component-registry.js +1 -42
  74. package/dist/node/lib/runtime-context.js +1 -15
  75. package/dist/node/markdown/formatPresentationName.js +1 -9
  76. package/dist/node/markdown/useMarkdownPresentation.js +1 -65
  77. package/dist/node/utils/fetchPresentationData.js +1 -15
  78. package/dist/node/utils/generateSpecFromTemplate.js +16 -62
  79. package/dist/node/utils/index.js +16 -76
  80. package/dist/utils/fetchPresentationData.js +1 -15
  81. package/dist/utils/generateSpecFromTemplate.js +16 -62
  82. package/dist/utils/index.js +16 -76
  83. package/package.json +14 -14
  84. package/src/lib/component-registry.tsx +16 -1
  85. package/src/lib/runtime-context.tsx +17 -3
  86. package/src/lib/singletons.test.ts +51 -0
@@ -1,189 +1 @@
1
- // src/lib/runtime-context.tsx
2
- import { createContext, useContext } from "react";
3
- "use client";
4
- var TemplateRuntimeContext = createContext(null);
5
- function useTemplateRuntime() {
6
- const context = useContext(TemplateRuntimeContext);
7
- if (!context) {
8
- throw new Error("useTemplateRuntime must be used within a TemplateRuntimeProvider");
9
- }
10
- return context;
11
- }
12
-
13
- // src/LocalDataIndicator.tsx
14
- import { RefreshCw, Shield } from "lucide-react";
15
- import { useState } from "react";
16
- import { jsxDEV } from "react/jsx-dev-runtime";
17
- "use client";
18
- function LocalDataIndicator() {
19
- const { projectId, templateId, template, installer } = useTemplateRuntime();
20
- const [isResetting, setIsResetting] = useState(false);
21
- const handleReset = async () => {
22
- setIsResetting(true);
23
- try {
24
- await installer.install(templateId, { projectId });
25
- } finally {
26
- setIsResetting(false);
27
- }
28
- };
29
- return /* @__PURE__ */ jsxDEV("div", {
30
- className: "inline-flex items-center gap-2 rounded-full border border-border bg-muted/40 px-3 py-1 text-muted-foreground text-xs",
31
- children: [
32
- /* @__PURE__ */ jsxDEV(Shield, {
33
- className: "h-3.5 w-3.5 text-violet-400"
34
- }, undefined, false, undefined, this),
35
- /* @__PURE__ */ jsxDEV("span", {
36
- children: [
37
- "Local runtime ·",
38
- " ",
39
- /* @__PURE__ */ jsxDEV("span", {
40
- className: "font-semibold text-foreground",
41
- children: template.name
42
- }, undefined, false, undefined, this)
43
- ]
44
- }, undefined, true, undefined, this),
45
- /* @__PURE__ */ jsxDEV("button", {
46
- type: "button",
47
- className: "inline-flex items-center gap-1 rounded-full border border-border px-2 py-0.5 font-semibold text-[11px] text-muted-foreground hover:text-foreground",
48
- onClick: handleReset,
49
- disabled: isResetting,
50
- children: [
51
- /* @__PURE__ */ jsxDEV(RefreshCw, {
52
- className: "h-3 w-3"
53
- }, undefined, false, undefined, this),
54
- isResetting ? "Resetting…" : "Reset data"
55
- ]
56
- }, undefined, true, undefined, this)
57
- ]
58
- }, undefined, true, undefined, this);
59
- }
60
-
61
- // src/SaveToStudioButton.tsx
62
- import { Sparkles } from "lucide-react";
63
- import { useState as useState2 } from "react";
64
- import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
65
- "use client";
66
- function SaveToStudioButton({
67
- organizationId = "demo-org",
68
- projectName,
69
- endpoint,
70
- token
71
- }) {
72
- const { installer, templateId, template } = useTemplateRuntime();
73
- const [status, setStatus] = useState2("idle");
74
- const [error, setError] = useState2(null);
75
- const handleSave = async () => {
76
- setStatus("saving");
77
- setError(null);
78
- try {
79
- await installer.saveToStudio({
80
- templateId,
81
- projectName: projectName ?? `${template.name} demo`,
82
- organizationId,
83
- endpoint,
84
- token
85
- });
86
- setStatus("saved");
87
- setTimeout(() => setStatus("idle"), 3000);
88
- } catch (err) {
89
- setStatus("error");
90
- setError(err instanceof Error ? err.message : "Unknown error");
91
- }
92
- };
93
- return /* @__PURE__ */ jsxDEV2("div", {
94
- className: "flex flex-col items-end gap-1",
95
- children: [
96
- /* @__PURE__ */ jsxDEV2("button", {
97
- type: "button",
98
- className: "btn-primary inline-flex items-center gap-2 text-sm",
99
- onClick: handleSave,
100
- disabled: status === "saving",
101
- children: [
102
- /* @__PURE__ */ jsxDEV2(Sparkles, {
103
- className: "h-4 w-4"
104
- }, undefined, false, undefined, this),
105
- status === "saving" ? "Publishing…" : "Save to Studio"
106
- ]
107
- }, undefined, true, undefined, this),
108
- status === "error" && error ? /* @__PURE__ */ jsxDEV2("p", {
109
- className: "text-destructive text-xs",
110
- children: error
111
- }, undefined, false, undefined, this) : null,
112
- status === "saved" ? /* @__PURE__ */ jsxDEV2("p", {
113
- className: "text-emerald-400 text-xs",
114
- children: "Template sent to Studio."
115
- }, undefined, false, undefined, this) : null
116
- ]
117
- }, undefined, true, undefined, this);
118
- }
119
-
120
- // src/TemplateShell.tsx
121
- import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
122
- var TemplateShell = ({
123
- title,
124
- description,
125
- sidebar,
126
- actions,
127
- showSaveAction = true,
128
- saveProps,
129
- children
130
- }) => /* @__PURE__ */ jsxDEV3("div", {
131
- className: "space-y-6",
132
- children: [
133
- /* @__PURE__ */ jsxDEV3("header", {
134
- className: "rounded-2xl border border-border bg-card p-6 shadow-sm",
135
- children: [
136
- /* @__PURE__ */ jsxDEV3("div", {
137
- className: "flex flex-wrap items-center justify-between gap-4",
138
- children: [
139
- /* @__PURE__ */ jsxDEV3("div", {
140
- children: [
141
- /* @__PURE__ */ jsxDEV3("p", {
142
- className: "font-semibold text-muted-foreground text-sm uppercase tracking-wide",
143
- children: "ContractSpec Templates"
144
- }, undefined, false, undefined, this),
145
- /* @__PURE__ */ jsxDEV3("h1", {
146
- className: "font-bold text-3xl",
147
- children: title
148
- }, undefined, false, undefined, this),
149
- description ? /* @__PURE__ */ jsxDEV3("p", {
150
- className: "mt-2 max-w-2xl text-muted-foreground text-sm",
151
- children: description
152
- }, undefined, false, undefined, this) : null
153
- ]
154
- }, undefined, true, undefined, this),
155
- /* @__PURE__ */ jsxDEV3("div", {
156
- className: "flex flex-col items-end gap-2",
157
- children: [
158
- /* @__PURE__ */ jsxDEV3(LocalDataIndicator, {}, undefined, false, undefined, this),
159
- showSaveAction ? /* @__PURE__ */ jsxDEV3(SaveToStudioButton, {
160
- ...saveProps
161
- }, undefined, false, undefined, this) : null
162
- ]
163
- }, undefined, true, undefined, this)
164
- ]
165
- }, undefined, true, undefined, this),
166
- actions ? /* @__PURE__ */ jsxDEV3("div", {
167
- className: "mt-4",
168
- children: actions
169
- }, undefined, false, undefined, this) : null
170
- ]
171
- }, undefined, true, undefined, this),
172
- /* @__PURE__ */ jsxDEV3("div", {
173
- className: sidebar ? "grid gap-6 lg:grid-cols-[minmax(0,1fr)_320px]" : "w-full",
174
- children: [
175
- /* @__PURE__ */ jsxDEV3("main", {
176
- className: "space-y-4 p-2",
177
- children
178
- }, undefined, false, undefined, this),
179
- sidebar ? /* @__PURE__ */ jsxDEV3("aside", {
180
- className: "rounded-2xl border border-border bg-card p-4",
181
- children: sidebar
182
- }, undefined, false, undefined, this) : null
183
- ]
184
- }, undefined, true, undefined, this)
185
- ]
186
- }, undefined, true, undefined, this);
187
- export {
188
- TemplateShell
189
- };
1
+ import{createContext as x,useContext as R}from"react";var S=Symbol.for("@contractspec/lib.example-shared-ui/template-runtime-context");function k(){let e=globalThis;return e[S]??=x(null),e[S]}var B=k();function p(){let e=R(B);if(!e)throw Error("useTemplateRuntime must be used within a TemplateRuntimeProvider");return e}import{RefreshCw as P,Shield as I}from"lucide-react";import{useState as T}from"react";import{jsx as c,jsxs as u}from"react/jsx-runtime";function N(){let{projectId:e,templateId:o,template:a,installer:r}=p(),[l,n]=T(!1),d=async()=>{n(!0);try{await r.install(o,{projectId:e})}finally{n(!1)}};return u("div",{className:"inline-flex items-center gap-2 rounded-full border border-border bg-muted/40 px-3 py-1 text-muted-foreground text-xs",children:[c(I,{className:"h-3.5 w-3.5 text-violet-400"}),u("span",{children:["Local runtime ·"," ",c("span",{className:"font-semibold text-foreground",children:a.name})]}),u("button",{type:"button",className:"inline-flex items-center gap-1 rounded-full border border-border px-2 py-0.5 font-semibold text-[11px] text-muted-foreground hover:text-foreground",onClick:d,disabled:l,children:[c(P,{className:"h-3 w-3"}),l?"Resetting…":"Reset data"]})]})}import{Sparkles as D}from"lucide-react";import{useState as h}from"react";import{jsx as f,jsxs as y}from"react/jsx-runtime";function w({organizationId:e="demo-org",projectName:o,endpoint:a,token:r}){let{installer:l,templateId:n,template:d}=p(),[s,m]=h("idle"),[v,g]=h(null);return y("div",{className:"flex flex-col items-end gap-1",children:[y("button",{type:"button",className:"btn-primary inline-flex items-center gap-2 text-sm",onClick:async()=>{m("saving"),g(null);try{await l.saveToStudio({templateId:n,projectName:o??`${d.name} demo`,organizationId:e,endpoint:a,token:r}),m("saved"),setTimeout(()=>m("idle"),3000)}catch(b){m("error"),g(b instanceof Error?b.message:"Unknown error")}},disabled:s==="saving",children:[f(D,{className:"h-4 w-4"}),s==="saving"?"Publishing…":"Save to Studio"]}),s==="error"&&v?f("p",{className:"text-destructive text-xs",children:v}):null,s==="saved"?f("p",{className:"text-emerald-400 text-xs",children:"Template sent to Studio."}):null]})}import{jsx as t,jsxs as i}from"react/jsx-runtime";var K=({title:e,description:o,sidebar:a,actions:r,showSaveAction:l=!0,saveProps:n,children:d})=>i("div",{className:"space-y-6",children:[i("header",{className:"rounded-2xl border border-border bg-card p-6 shadow-sm",children:[i("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[i("div",{children:[t("p",{className:"font-semibold text-muted-foreground text-sm uppercase tracking-wide",children:"ContractSpec Templates"}),t("h1",{className:"font-bold text-3xl",children:e}),o?t("p",{className:"mt-2 max-w-2xl text-muted-foreground text-sm",children:o}):null]}),i("div",{className:"flex flex-col items-end gap-2",children:[t(N,{}),l?t(w,{...n}):null]})]}),r?t("div",{className:"mt-4",children:r}):null]}),i("div",{className:a?"grid gap-6 lg:grid-cols-[minmax(0,1fr)_320px]":"w-full",children:[t("main",{className:"space-y-4 p-2",children:d}),a?t("aside",{className:"rounded-2xl border border-border bg-card p-4",children:a}):null]})]});export{K as TemplateShell};
@@ -1,85 +1 @@
1
- // src/bundles/ExampleTemplateBundle.ts
2
- import { defineModuleBundle } from "@contractspec/lib.surface-runtime/spec";
3
- var ExampleTemplateBundle = defineModuleBundle({
4
- meta: {
5
- key: "example.template",
6
- version: "0.1.0",
7
- title: "Example Template",
8
- description: "Adaptive template shell for ContractSpec examples",
9
- owners: ["team-platform"],
10
- tags: ["example", "template"],
11
- stability: "experimental"
12
- },
13
- routes: [
14
- {
15
- routeId: "template",
16
- path: "/sandbox",
17
- defaultSurface: "template-shell"
18
- }
19
- ],
20
- surfaces: {
21
- "template-shell": {
22
- surfaceId: "template-shell",
23
- kind: "workbench",
24
- title: "Template Shell",
25
- slots: [
26
- {
27
- slotId: "header",
28
- role: "header",
29
- accepts: ["action-bar"],
30
- cardinality: "many"
31
- },
32
- {
33
- slotId: "primary",
34
- role: "primary",
35
- accepts: ["entity-section", "rich-doc", "form", "custom-widget"],
36
- cardinality: "many"
37
- },
38
- {
39
- slotId: "sidebar",
40
- role: "secondary",
41
- accepts: ["entity-section", "custom-widget"],
42
- cardinality: "one"
43
- }
44
- ],
45
- layouts: [
46
- {
47
- layoutId: "main-with-sidebar",
48
- title: "Main with sidebar",
49
- root: {
50
- type: "panel-group",
51
- direction: "horizontal",
52
- persistKey: "example.template.main-sidebar",
53
- children: [
54
- {
55
- type: "panel-group",
56
- direction: "vertical",
57
- persistKey: "example.template.content",
58
- children: [
59
- { type: "slot", slotId: "header" },
60
- { type: "slot", slotId: "primary" }
61
- ]
62
- },
63
- { type: "slot", slotId: "sidebar" }
64
- ]
65
- }
66
- }
67
- ],
68
- data: [],
69
- verification: {
70
- dimensions: {
71
- guidance: "Can reveal hints and walkthrough notes.",
72
- density: "Can select compact or balanced layouts.",
73
- dataDepth: "Controls content depth and expansion.",
74
- control: "Shows advanced options when allowed.",
75
- media: "Supports text-first and hybrid modes.",
76
- pace: "Maps to motion tokens and transitions.",
77
- narrative: "Can order summary before or after detail."
78
- }
79
- }
80
- }
81
- }
82
- });
83
- export {
84
- ExampleTemplateBundle
85
- };
1
+ import{defineModuleBundle as g}from"@contractspec/lib.surface-runtime/spec";var j=g({meta:{key:"example.template",version:"0.1.0",title:"Example Template",description:"Adaptive template shell for ContractSpec examples",owners:["team-platform"],tags:["example","template"],stability:"experimental"},routes:[{routeId:"template",path:"/sandbox",defaultSurface:"template-shell"}],surfaces:{"template-shell":{surfaceId:"template-shell",kind:"workbench",title:"Template Shell",slots:[{slotId:"header",role:"header",accepts:["action-bar"],cardinality:"many"},{slotId:"primary",role:"primary",accepts:["entity-section","rich-doc","form","custom-widget"],cardinality:"many"},{slotId:"sidebar",role:"secondary",accepts:["entity-section","custom-widget"],cardinality:"one"}],layouts:[{layoutId:"main-with-sidebar",title:"Main with sidebar",root:{type:"panel-group",direction:"horizontal",persistKey:"example.template.main-sidebar",children:[{type:"panel-group",direction:"vertical",persistKey:"example.template.content",children:[{type:"slot",slotId:"header"},{type:"slot",slotId:"primary"}]},{type:"slot",slotId:"sidebar"}]}}],data:[],verification:{dimensions:{guidance:"Can reveal hints and walkthrough notes.",density:"Can select compact or balanced layouts.",dataDepth:"Controls content depth and expansion.",control:"Shows advanced options when allowed.",media:"Supports text-first and hybrid modes.",pace:"Maps to motion tokens and transitions.",narrative:"Can order summary before or after detail."}}}}});export{j as ExampleTemplateBundle};
@@ -1,85 +1 @@
1
- // src/bundles/ExampleTemplateBundle.ts
2
- import { defineModuleBundle } from "@contractspec/lib.surface-runtime/spec";
3
- var ExampleTemplateBundle = defineModuleBundle({
4
- meta: {
5
- key: "example.template",
6
- version: "0.1.0",
7
- title: "Example Template",
8
- description: "Adaptive template shell for ContractSpec examples",
9
- owners: ["team-platform"],
10
- tags: ["example", "template"],
11
- stability: "experimental"
12
- },
13
- routes: [
14
- {
15
- routeId: "template",
16
- path: "/sandbox",
17
- defaultSurface: "template-shell"
18
- }
19
- ],
20
- surfaces: {
21
- "template-shell": {
22
- surfaceId: "template-shell",
23
- kind: "workbench",
24
- title: "Template Shell",
25
- slots: [
26
- {
27
- slotId: "header",
28
- role: "header",
29
- accepts: ["action-bar"],
30
- cardinality: "many"
31
- },
32
- {
33
- slotId: "primary",
34
- role: "primary",
35
- accepts: ["entity-section", "rich-doc", "form", "custom-widget"],
36
- cardinality: "many"
37
- },
38
- {
39
- slotId: "sidebar",
40
- role: "secondary",
41
- accepts: ["entity-section", "custom-widget"],
42
- cardinality: "one"
43
- }
44
- ],
45
- layouts: [
46
- {
47
- layoutId: "main-with-sidebar",
48
- title: "Main with sidebar",
49
- root: {
50
- type: "panel-group",
51
- direction: "horizontal",
52
- persistKey: "example.template.main-sidebar",
53
- children: [
54
- {
55
- type: "panel-group",
56
- direction: "vertical",
57
- persistKey: "example.template.content",
58
- children: [
59
- { type: "slot", slotId: "header" },
60
- { type: "slot", slotId: "primary" }
61
- ]
62
- },
63
- { type: "slot", slotId: "sidebar" }
64
- ]
65
- }
66
- }
67
- ],
68
- data: [],
69
- verification: {
70
- dimensions: {
71
- guidance: "Can reveal hints and walkthrough notes.",
72
- density: "Can select compact or balanced layouts.",
73
- dataDepth: "Controls content depth and expansion.",
74
- control: "Shows advanced options when allowed.",
75
- media: "Supports text-first and hybrid modes.",
76
- pace: "Maps to motion tokens and transitions.",
77
- narrative: "Can order summary before or after detail."
78
- }
79
- }
80
- }
81
- }
82
- });
83
- export {
84
- ExampleTemplateBundle
85
- };
1
+ import{defineModuleBundle as m}from"@contractspec/lib.surface-runtime/spec";var x=m({meta:{key:"example.template",version:"0.1.0",title:"Example Template",description:"Adaptive template shell for ContractSpec examples",owners:["team-platform"],tags:["example","template"],stability:"experimental"},routes:[{routeId:"template",path:"/sandbox",defaultSurface:"template-shell"}],surfaces:{"template-shell":{surfaceId:"template-shell",kind:"workbench",title:"Template Shell",slots:[{slotId:"header",role:"header",accepts:["action-bar"],cardinality:"many"},{slotId:"primary",role:"primary",accepts:["entity-section","rich-doc","form","custom-widget"],cardinality:"many"},{slotId:"sidebar",role:"secondary",accepts:["entity-section","custom-widget"],cardinality:"one"}],layouts:[{layoutId:"main-with-sidebar",title:"Main with sidebar",root:{type:"panel-group",direction:"horizontal",persistKey:"example.template.main-sidebar",children:[{type:"panel-group",direction:"vertical",persistKey:"example.template.content",children:[{type:"slot",slotId:"header"},{type:"slot",slotId:"primary"}]},{type:"slot",slotId:"sidebar"}]}}],data:[],verification:{dimensions:{guidance:"Can reveal hints and walkthrough notes.",density:"Can select compact or balanced layouts.",dataDepth:"Controls content depth and expansion.",control:"Shows advanced options when allowed.",media:"Supports text-first and hybrid modes.",pace:"Maps to motion tokens and transitions.",narrative:"Can order summary before or after detail."}}}}});export{x as ExampleTemplateBundle};