Checkpoint: headless JSON architecture documented + cleanup (Stufe 1+2)

Restore point before Stufe 3 (central resolver-service refactoring).

Includes this session's work:
- Success Story (usecase) rebuild: new fields/tabs, UsecaseSerializer,
  thin List/Show renderers, MM relations, inline content elements.
- vitec_columns content block (two-column layout with per-item content)
  incl. unified header section; special-cased JSON resolution.
- Container per-column flex (items[].config align/justify) + gap on parent.
- Unified header section across CEs/plugins/containers; header fields in JSON.
- ISO-style architecture spec: Documentation/Headless-JSON-Architecture.md.
- Cleanup: removed local scratch + verified .bak backups.
- Fixes: B-6 (undefined thumbnail variable in Downloadcardcollection image
  resolver), B-7 (unsatisfiable legacy CType OR branch in Downloadcard/Datasheets).

Rollback: git reset --hard snapshot-2026-07-09-pre-stufe3

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
o-rascheandClaude Opus 4.8 committed 2026-07-09 10:01:56 +02:00
1 parent c6759186cb
commit bb7c03235d
237 files changed
+6698 -1749

No files matched your search

@@ -0,0 +1 @@
import{t as e}from"./useControlled-OB0I4oAK.js";import{C as t,D as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,P as f,Q as p,R as m,U as h,X as g,Y as _,Z as v,_ as y,b,c as x,d as S,k as C,n as w,q as T,tt as E,u as D,z as O}from"./index-7LYai_r-.js";function k(e){return _(`MuiCollapse`,e)}s(`MuiCollapse`,[`root`,`horizontal`,`vertical`,`entered`,`hidden`,`wrapper`,`wrapperInner`]);var A=E(p()),j=v(),M=e=>{let{orientation:t,classes:n}=e;return T({root:[`root`,`${t}`],entered:[`entered`],hidden:[`hidden`],wrapper:[`wrapper`,`${t}`],wrapperInner:[`wrapperInner`,`${t}`]},k,n)},N=h(`div`,{name:`MuiCollapse`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.orientation],n.state===`entered`&&t.entered,n.state===`exited`&&!n.in&&n.collapsedSize===`0px`&&t.hidden]}})(O(({theme:e})=>({height:0,overflow:`hidden`,transition:e.transitions.create(`height`),variants:[{props:{orientation:`horizontal`},style:{height:`auto`,width:0,transition:e.transitions.create(`width`)}},{props:{state:`entered`},style:{height:`auto`,overflow:`visible`}},{props:{state:`entered`,orientation:`horizontal`},style:{width:`auto`}},{props:({ownerState:e})=>e.state===`exited`&&!e.in&&e.collapsedSize===`0px`,style:{visibility:`hidden`}}]}))),P=h(`div`,{name:`MuiCollapse`,slot:`Wrapper`})({display:`flex`,width:`100%`,variants:[{props:{orientation:`horizontal`},style:{width:`auto`,height:`100%`}}]}),F=h(`div`,{name:`MuiCollapse`,slot:`WrapperInner`})({width:`100%`,variants:[{props:{orientation:`horizontal`},style:{width:`auto`,height:`100%`}}]}),I=A.forwardRef(function(e,t){let n=a({props:e,name:`MuiCollapse`}),{addEndListener:s,children:u,className:d,collapsedSize:p=`0px`,component:h,easing:_,in:v,onEnter:y,onEntered:b,onEntering:x,onExit:S,onExited:C,onExiting:w,orientation:T=`vertical`,slots:E={},slotProps:D={},style:O,timeout:k=c.standard,TransitionComponent:I=l,...L}=n,R={...n,orientation:T,collapsedSize:p},z=M(R),B=i(),V=o(),H=A.useRef(null),U=A.useRef(),W=typeof p==`number`?`${p}px`:p,G=T===`horizontal`,K=G?`width`:`height`,q=A.useRef(null),J=m(t,q),Y=e=>t=>{if(e){let n=q.current;t===void 0?e(n):e(n,t)}},X=()=>H.current?H.current[G?`clientWidth`:`clientHeight`]:0,Z=Y((e,t)=>{H.current&&G&&(H.current.style.position=`absolute`),e.style[K]=W,y&&y(e,t)}),Q=Y((e,t)=>{let n=X();H.current&&G&&(H.current.style.position=``);let{duration:i,easing:a}=r({style:O,timeout:k,easing:_},{mode:`enter`});if(k===`auto`){let t=B.transitions.getAutoHeightDuration(n);e.style.transitionDuration=`${t}ms`,U.current=t}else e.style.transitionDuration=typeof i==`string`?i:`${i}ms`;e.style[K]=`${n}px`,e.style.transitionTimingFunction=a,x&&x(e,t)}),ee=Y((e,t)=>{e.style[K]=`auto`,b&&b(e,t)}),te=Y(e=>{e.style[K]=`${X()}px`,S&&S(e)}),ne=Y(C),re=Y(e=>{let t=X(),{duration:n,easing:i}=r({style:O,timeout:k,easing:_},{mode:`exit`});if(k===`auto`){let n=B.transitions.getAutoHeightDuration(t);e.style.transitionDuration=`${n}ms`,U.current=n}else e.style.transitionDuration=typeof n==`string`?n:`${n}ms`;e.style[K]=W,e.style.transitionTimingFunction=i,w&&w(e)}),ie=e=>{k===`auto`&&V.start(U.current||0,e),s&&s(q.current,e)},$={slots:E,slotProps:D,component:h},[ae,oe]=f(`root`,{ref:J,className:g(z.root,d),elementType:N,externalForwardedProps:$,ownerState:R,additionalProps:{style:{[G?`minWidth`:`minHeight`]:W,...O}}}),[se,ce]=f(`wrapper`,{ref:H,className:z.wrapper,elementType:P,externalForwardedProps:$,ownerState:R}),[le,ue]=f(`wrapperInner`,{className:z.wrapperInner,elementType:F,externalForwardedProps:$,ownerState:R});return(0,j.jsx)(I,{in:v,onEnter:Z,onEntered:ee,onEntering:Q,onExit:te,onExited:ne,onExiting:re,addEndListener:ie,nodeRef:q,timeout:k===`auto`?null:k,...L,children:(e,{ownerState:t,...n})=>{let r={...R,state:e};return(0,j.jsx)(ae,{...oe,className:g(oe.className,{entered:z.entered,exited:!v&&W===`0px`&&z.hidden}[e]),ownerState:r,...n,children:(0,j.jsx)(se,{...ce,ownerState:r,children:(0,j.jsx)(le,{...ue,ownerState:r,children:u})})})}})});I&&(I.muiSupportAuto=!0);var L=I,R=A.createContext({});function z(e){return _(`MuiAccordion`,e)}var B=s(`MuiAccordion`,[`root`,`heading`,`rounded`,`expanded`,`disabled`,`gutters`,`region`]),V=e=>{let{classes:t,square:n,expanded:r,disabled:i,disableGutters:a}=e;return T({root:[`root`,!n&&`rounded`,r&&`expanded`,i&&`disabled`,!a&&`gutters`],heading:[`heading`],region:[`region`]},z,t)},H=h(d,{name:`MuiAccordion`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${B.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})(O(({theme:e})=>{let t={duration:e.transitions.duration.shortest};return{position:`relative`,transition:e.transitions.create([`margin`],t),overflowAnchor:`none`,"&::before":{position:`absolute`,left:0,top:-1,right:0,height:1,content:`""`,opacity:1,backgroundColor:(e.vars||e).palette.divider,transition:e.transitions.create([`opacity`,`background-color`],t)},"&:first-of-type":{"&::before":{display:`none`}},[`&.${B.expanded}`]:{"&::before":{Line truncated