Files
VITEC-website/public/_frontend/assets/VitecDebugToggle-C76AUijU.js
o-rasche bb7c03235d 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>
2026-07-09 10:01:56 +02:00

1 line
7.2 KiB
JavaScript

import{t as e}from"./useControlled-OB0I4oAK.js";import{B as t,D as n,H as r,J as i,M as a,P as o,Q as s,U as c,W as l,X as u,Y as d,Z as f,j as p,k as m,q as h,r as g,tt as _,z as v}from"./index-7LYai_r-.js";var y=_(s()),b=y.createContext(void 0);function x(){return y.useContext(b)}function S(e){return d(`PrivateSwitchBase`,e)}i(`PrivateSwitchBase`,[`root`,`checked`,`disabled`,`input`,`edgeStart`,`edgeEnd`]);var C=f(),w=e=>{let{classes:n,checked:r,disabled:i,edge:a}=e;return h({root:[`root`,r&&`checked`,i&&`disabled`,a&&`edge${t(a)}`],input:[`input`]},S,n)},T=c(a,{name:`MuiSwitchBase`})({padding:9,borderRadius:`50%`,variants:[{props:{edge:`start`,size:`small`},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e===`start`&&t.size!==`small`,style:{marginLeft:-12}},{props:{edge:`end`,size:`small`},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e===`end`&&t.size!==`small`,style:{marginRight:-12}}]}),E=c(`input`,{name:`MuiSwitchBase`,shouldForwardProp:l})({cursor:`inherit`,position:`absolute`,opacity:0,width:`100%`,height:`100%`,top:0,left:0,margin:0,padding:0,zIndex:1}),D=y.forwardRef(function(t,n){let{autoFocus:r,checked:i,checkedIcon:a,defaultChecked:s,disabled:c,disableFocusRipple:l=!1,edge:u=!1,icon:d,id:f,inputProps:p,inputRef:m,name:h,onBlur:g,onChange:_,onFocus:v,readOnly:y,required:b=!1,tabIndex:S,type:D,value:O,slots:k={},slotProps:A={},...j}=t,[M,N]=e({controlled:i,default:!!s,name:`SwitchBase`,state:`checked`}),P=x(),F=e=>{v&&v(e),P&&P.onFocus&&P.onFocus(e)},I=e=>{g&&g(e),P&&P.onBlur&&P.onBlur(e)},L=e=>{if(e.nativeEvent.defaultPrevented)return;let t=e.target.checked;N(t),_&&_(e,t)},R=c;P&&R===void 0&&(R=P.disabled);let z=D===`checkbox`||D===`radio`,B={...t,checked:M,disabled:R,disableFocusRipple:l,edge:u},V=w(B),H={slots:k,slotProps:{input:p,...A}},[U,W]=o(`root`,{ref:n,elementType:T,className:V.root,shouldForwardComponentProp:!0,externalForwardedProps:{...H,component:`span`,...j},getSlotProps:e=>({...e,onFocus:t=>{e.onFocus?.(t),F(t)},onBlur:t=>{e.onBlur?.(t),I(t)}}),ownerState:B,additionalProps:{centerRipple:!0,focusRipple:!l,disabled:R,role:void 0,tabIndex:null}}),[G,K]=o(`input`,{ref:m,elementType:E,className:V.input,externalForwardedProps:H,getSlotProps:e=>({...e,onChange:t=>{e.onChange?.(t),L(t)}}),ownerState:B,additionalProps:{autoFocus:r,checked:i,defaultChecked:s,disabled:R,id:z?f:void 0,name:h,readOnly:y,required:b,tabIndex:S,type:D,...D===`checkbox`&&O===void 0?{}:{value:O}}});return(0,C.jsxs)(U,{...W,children:[(0,C.jsx)(G,{...K}),M?a:d]})});function O(e){return d(`MuiSwitch`,e)}var k=i(`MuiSwitch`,[`root`,`edgeStart`,`edgeEnd`,`switchBase`,`colorPrimary`,`colorSecondary`,`sizeSmall`,`sizeMedium`,`checked`,`disabled`,`input`,`thumb`,`track`]),A=e=>{let{classes:n,edge:r,size:i,color:a,checked:o,disabled:s}=e,c=h({root:[`root`,r&&`edge${t(r)}`,`size${t(i)}`],switchBase:[`switchBase`,`color${t(a)}`,o&&`checked`,s&&`disabled`],thumb:[`thumb`],track:[`track`],input:[`input`]},O,n);return{...n,...c}},j=c(`span`,{name:`MuiSwitch`,slot:`Root`,overridesResolver:(e,n)=>{let{ownerState:r}=e;return[n.root,r.edge&&n[`edge${t(r.edge)}`],n[`size${t(r.size)}`]]}})({display:`inline-flex`,width:58,height:38,overflow:`hidden`,padding:12,boxSizing:`border-box`,position:`relative`,flexShrink:0,zIndex:0,verticalAlign:`middle`,"@media print":{colorAdjust:`exact`},variants:[{props:{edge:`start`},style:{marginLeft:-8}},{props:{edge:`end`},style:{marginRight:-8}},{props:{size:`small`},style:{width:40,height:24,padding:7,[`& .${k.thumb}`]:{width:16,height:16},[`& .${k.switchBase}`]:{padding:4,[`&.${k.checked}`]:{transform:`translateX(16px)`}}}}]}),M=c(D,{name:`MuiSwitch`,slot:`SwitchBase`,overridesResolver:(e,n)=>{let{ownerState:r}=e;return[n.switchBase,{[`& .${k.input}`]:n.input},r.color!==`default`&&n[`color${t(r.color)}`]]}})(v(({theme:e})=>({position:`absolute`,top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode===`light`?e.palette.common.white:e.palette.grey[300]}`,transition:e.transitions.create([`left`,`transform`],{duration:e.transitions.duration.shortest}),[`&.${k.checked}`]:{transform:`translateX(20px)`},[`&.${k.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode===`light`?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${k.checked} + .${k.track}`]:{opacity:.5},[`&.${k.disabled} + .${k.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode===`light`?.12:.2}`},[`& .${k.input}`]:{left:`-100%`,width:`300%`}})),v(({theme:e})=>({"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:`transparent`}},variants:[...Object.entries(e.palette).filter(p([`light`])).map(([t])=>({props:{color:t},style:{[`&.${k.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:`transparent`}},[`&.${k.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode===`light`?e.lighten(e.palette[t].main,.62):e.darken(e.palette[t].main,.55)}`}},[`&.${k.checked} + .${k.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]}))),N=c(`span`,{name:`MuiSwitch`,slot:`Track`})(v(({theme:e})=>({height:`100%`,width:`100%`,borderRadius:14/2,zIndex:-1,transition:e.transitions.create([`opacity`,`background-color`],{duration:e.transitions.duration.shortest}),backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode===`light`?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode===`light`?.38:.3}`}))),P=c(`span`,{name:`MuiSwitch`,slot:`Thumb`})(v(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:`currentColor`,width:20,height:20,borderRadius:`50%`}))),F=y.forwardRef(function(e,t){let n=r({props:e,name:`MuiSwitch`}),{className:i,color:a=`primary`,edge:s=!1,size:c=`medium`,sx:l,slots:d={},slotProps:f={},...p}=n,m={...n,color:a,edge:s,size:c},h=A(m),g={slots:d,slotProps:f},[_,v]=o(`root`,{className:u(h.root,i),elementType:j,externalForwardedProps:g,ownerState:m,additionalProps:{sx:l}}),[y,b]=o(`thumb`,{className:h.thumb,elementType:P,externalForwardedProps:g,ownerState:m}),x=(0,C.jsx)(y,{...b}),[S,w]=o(`track`,{className:h.track,elementType:N,externalForwardedProps:g,ownerState:m});return(0,C.jsxs)(_,{...v,children:[(0,C.jsx)(M,{type:`checkbox`,icon:x,checkedIcon:x,ref:t,ownerState:m,...p,classes:{...h,root:h.switchBase},slots:{...d.switchBase&&{root:d.switchBase},...d.input&&{input:d.input}},slotProps:{...f.switchBase&&{root:typeof f.switchBase==`function`?f.switchBase(m):f.switchBase},input:{role:`switch`},...f.input&&{input:typeof f.input==`function`?f.input(m):f.input}}}),(0,C.jsx)(S,{...w})]})});function I({enabled:e,onChange:t}){return g?(0,C.jsxs)(n,{sx:{position:`fixed`,bottom:`1rem`,right:`1rem`,zIndex:9999,display:`flex`,alignItems:`center`,gap:`0.5rem`,bgcolor:`background.paper`,border:`1px solid`,borderColor:`divider`,borderRadius:`2rem`,px:`0.75rem`,py:`0.25rem`,boxShadow:3},children:[(0,C.jsx)(m,{variant:`caption`,sx:{userSelect:`none`,fontWeight:600,letterSpacing:`0.05em`},children:`Debug`}),(0,C.jsx)(F,{size:`small`,checked:e,onChange:(e,n)=>t(n)})]}):null}export{I as VitecDebugToggle};