@screenbook/ui 0.1.0 → 1.1.0

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 (83) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/astro.config.mjs +2 -0
  3. package/dist/client/_astro/MockFormEditor.0L29BkPy.js +9 -0
  4. package/dist/client/_astro/MockFormEditor.OiYzJAtR.css +1 -0
  5. package/dist/client/_astro/{_baseUniq.BGai4mcc.js → _baseUniq.D9ouiLRJ.js} +1 -1
  6. package/dist/client/_astro/_id_.BqQf-JH6.css +1 -0
  7. package/dist/client/_astro/{arc.DUp0dfXj.js → arc.CLU0JlVT.js} +1 -1
  8. package/dist/client/_astro/{architectureDiagram-VXUJARFQ.De_Gt-YC.js → architectureDiagram-VXUJARFQ.BF0V2v9-.js} +1 -1
  9. package/dist/client/_astro/{blockDiagram-VD42YOAC.BBt_VNhR.js → blockDiagram-VD42YOAC.6LO7yu7m.js} +1 -1
  10. package/dist/client/_astro/{c4Diagram-YG6GDRKO.DfgUlHvt.js → c4Diagram-YG6GDRKO.BqntXNsZ.js} +1 -1
  11. package/dist/client/_astro/channel._8es88oH.js +1 -0
  12. package/dist/client/_astro/{chunk-4BX2VUAB.BL0ar6du.js → chunk-4BX2VUAB.b97OIY94.js} +1 -1
  13. package/dist/client/_astro/{chunk-55IACEB6.CI6SkZkY.js → chunk-55IACEB6.Cf9hglsl.js} +1 -1
  14. package/dist/client/_astro/{chunk-B4BG7PRW.Z25N80K6.js → chunk-B4BG7PRW.vDfM6vb1.js} +1 -1
  15. package/dist/client/_astro/{chunk-DI55MBZ5.BqjPVmi1.js → chunk-DI55MBZ5.8pHdnkw9.js} +1 -1
  16. package/dist/client/_astro/{chunk-FMBD7UC4.bZ9DWnFm.js → chunk-FMBD7UC4.l_Ue7ZYJ.js} +1 -1
  17. package/dist/client/_astro/{chunk-QN33PNHL.BkzuUgWB.js → chunk-QN33PNHL.CyBZ7SCx.js} +1 -1
  18. package/dist/client/_astro/{chunk-QZHKN3VN.C__d68N_.js → chunk-QZHKN3VN.BC5tI2Vw.js} +1 -1
  19. package/dist/client/_astro/{chunk-TZMSLE5B.BIpu8bMn.js → chunk-TZMSLE5B.DxkkbOL4.js} +1 -1
  20. package/dist/client/_astro/classDiagram-2ON5EDUG.DMv55r4w.js +1 -0
  21. package/dist/client/_astro/classDiagram-v2-WZHVMYZB.DMv55r4w.js +1 -0
  22. package/dist/client/_astro/client.9unXo8s5.js +33 -0
  23. package/dist/client/_astro/clone.COAvtnt5.js +1 -0
  24. package/dist/client/_astro/{cose-bilkent-S5V4N54A.D48yfMll.js → cose-bilkent-S5V4N54A.DlRxGhCG.js} +1 -1
  25. package/dist/client/_astro/coverage.DLKSOM4m.css +1 -0
  26. package/dist/client/_astro/{dagre-6UL2VRFP.LKVH7b30.js → dagre-6UL2VRFP.tCLd0f1c.js} +1 -1
  27. package/dist/client/_astro/{diagram-PSM6KHXK.AHgUjH56.js → diagram-PSM6KHXK.CJA_rnN3.js} +1 -1
  28. package/dist/client/_astro/{diagram-QEK2KX5R.DvS33xWZ.js → diagram-QEK2KX5R.BoqLvsuS.js} +1 -1
  29. package/dist/client/_astro/{diagram-S2PKOQOG.BWisaYrQ.js → diagram-S2PKOQOG.T8h5wODN.js} +1 -1
  30. package/dist/client/_astro/{erDiagram-Q2GNP2WA.B7oID6oT.js → erDiagram-Q2GNP2WA.B4hpr69H.js} +1 -1
  31. package/dist/client/_astro/{flowDiagram-NV44I4VS.Bb1qJLxr.js → flowDiagram-NV44I4VS.CV4Oenkb.js} +1 -1
  32. package/dist/client/_astro/{ganttDiagram-JELNMOA3.3vGHETyo.js → ganttDiagram-JELNMOA3.DdpXJeX3.js} +1 -1
  33. package/dist/client/_astro/{gitGraphDiagram-NY62KEGX.Co2SKcif.js → gitGraphDiagram-NY62KEGX.BeY3JZYI.js} +1 -1
  34. package/dist/client/_astro/{graph.B5fevUwB.js → graph.CO6LxWoK.js} +1 -1
  35. package/dist/client/_astro/graph.astro_astro_type_script_index_0_lang.BxaPom9e.js +1 -0
  36. package/dist/client/_astro/{impact.astro_astro_type_script_index_0_lang.D4cAR9AL.js → impact.astro_astro_type_script_index_0_lang.VjeLQGe6.js} +1 -1
  37. package/dist/client/_astro/index.WFquGv8Z.js +9 -0
  38. package/dist/client/_astro/{infoDiagram-WHAUD3N6.B6ULtps1.js → infoDiagram-WHAUD3N6.D2_J_fR6.js} +1 -1
  39. package/dist/client/_astro/{journeyDiagram-XKPGCS4Q.BSOCzWmw.js → journeyDiagram-XKPGCS4Q.7c4ngVDw.js} +1 -1
  40. package/dist/client/_astro/{kanban-definition-3W4ZIXB7.D8KKGc1o.js → kanban-definition-3W4ZIXB7.D_eWex6x.js} +1 -1
  41. package/dist/client/_astro/{layout.8vv24qEg.js → layout.Cn9EjNLq.js} +1 -1
  42. package/dist/client/_astro/{linear.B6O9ymuK.js → linear.BlE_mLsy.js} +1 -1
  43. package/dist/client/_astro/{mermaid.core.CReXU7YN.js → mermaid.core.CgCLOZ6t.js} +5 -5
  44. package/dist/client/_astro/{min.CdGMGVU0.js → min.OtQS-qlD.js} +1 -1
  45. package/dist/client/_astro/{mindmap-definition-VGOIOE7T.G14HgtDw.js → mindmap-definition-VGOIOE7T.CjNYt18e.js} +1 -1
  46. package/dist/client/_astro/{pieDiagram-ADFJNKIX.bC2VkyoW.js → pieDiagram-ADFJNKIX.D18DPyo6.js} +1 -1
  47. package/dist/client/_astro/{quadrantDiagram-AYHSOK5B.BlLaQQxO.js → quadrantDiagram-AYHSOK5B.Cma08fPv.js} +1 -1
  48. package/dist/client/_astro/{requirementDiagram-UZGBJVZJ.DHRnMofO.js → requirementDiagram-UZGBJVZJ.BlhVOrX0.js} +1 -1
  49. package/dist/client/_astro/{sankeyDiagram-TZEHDZUN.BMuaJBmt.js → sankeyDiagram-TZEHDZUN.HRsqw4ej.js} +1 -1
  50. package/dist/client/_astro/{sequenceDiagram-WL72ISMW.CnU62wqy.js → sequenceDiagram-WL72ISMW.3cZYkaSP.js} +1 -1
  51. package/dist/client/_astro/{stateDiagram-FKZM4ZOC.CewI55YO.js → stateDiagram-FKZM4ZOC.DdlRd9N7.js} +1 -1
  52. package/dist/client/_astro/stateDiagram-v2-4FDKWEC3.DCPDjwi7.js +1 -0
  53. package/dist/client/_astro/{timeline-definition-IT6M3QCI.D1PLRwss.js → timeline-definition-IT6M3QCI.BshW8mMW.js} +1 -1
  54. package/dist/client/_astro/{treemap-KMMF4GRG.D3VNVvXF.js → treemap-KMMF4GRG.BxXN_YfK.js} +1 -1
  55. package/dist/client/_astro/{xychartDiagram-PRI3JC2R.CQex0-ul.js → xychartDiagram-PRI3JC2R.Mg5_s08f.js} +1 -1
  56. package/dist/server/entry.mjs +15 -11
  57. package/dist/server/manifest_smcahUO6.mjs +101 -0
  58. package/dist/server/pages/api/save-mock.astro.mjs +142 -0
  59. package/dist/server/pages/coverage.astro.mjs +1 -1
  60. package/dist/server/pages/editor.astro.mjs +30 -0
  61. package/dist/server/pages/graph.astro.mjs +18 -3
  62. package/dist/server/pages/impact.astro.mjs +1 -1
  63. package/dist/server/pages/index.astro.mjs +1 -1
  64. package/dist/server/pages/screen/_id_.astro.mjs +126 -3
  65. package/dist/server/renderers.mjs +200 -1
  66. package/package.json +8 -2
  67. package/src/components/MockFormEditor.tsx +1280 -0
  68. package/src/components/MockPreview.astro +811 -0
  69. package/src/pages/api/save-mock.ts +182 -0
  70. package/src/pages/editor.astro +33 -0
  71. package/src/pages/graph.astro +35 -1
  72. package/src/pages/screen/[id].astro +9 -0
  73. package/src/styles/mock-editor.css +1351 -0
  74. package/tsconfig.json +1 -0
  75. package/dist/client/_astro/channel.CNyr52v1.js +0 -1
  76. package/dist/client/_astro/classDiagram-2ON5EDUG.CxT3aW-h.js +0 -1
  77. package/dist/client/_astro/classDiagram-v2-WZHVMYZB.CxT3aW-h.js +0 -1
  78. package/dist/client/_astro/clone.U_lSZ6fe.js +0 -1
  79. package/dist/client/_astro/coverage.BnE2oGo8.css +0 -1
  80. package/dist/client/_astro/graph.astro_astro_type_script_index_0_lang.B0fEnVdy.js +0 -1
  81. package/dist/client/_astro/stateDiagram-v2-4FDKWEC3.7xUQqoNr.js +0 -1
  82. package/dist/server/manifest_CicDtuHD.mjs +0 -101
  83. /package/dist/server/chunks/{loadScreens_JhK3F9tC.mjs → loadScreens_CkCqdbH2.mjs} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
1
1
  # @screenbook/ui
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#48](https://github.com/wadakatu/screenbook/pull/48) [`f046e2b`](https://github.com/wadakatu/screenbook/commit/f046e2bfac29cf3a81417430f0bbb3077be57874) Thanks [@wadakatu](https://github.com/wadakatu)! - feat: add unified screenbook package for simplified installation
8
+ - New `screenbook` umbrella package that includes core, cli, and ui
9
+ - Simplified installation: `pnpm add -D screenbook`
10
+ - Unified imports: `import { defineScreen } from "screenbook"`
11
+ - Mock Editor redesign with 3-column tabbed panels layout
12
+ - Improved accessibility (Lighthouse 100%)
13
+
14
+ ## 1.0.0
15
+
16
+ ### Major Changes
17
+
18
+ - # Screenbook v1.0.0
19
+
20
+ First stable release of Screenbook - Screen catalog and navigation graph generator for frontend applications.
21
+
22
+ ## @screenbook/core
23
+ - `defineScreen()` function for declaring screen metadata
24
+ - `defineConfig()` function for configuration
25
+ - TypeScript types and Zod validation
26
+
27
+ ## @screenbook/cli
28
+ - `screenbook init` - Initialize Screenbook in a project with framework detection
29
+ - `screenbook generate` - Auto-generate screen.meta.ts files from routes
30
+ - `screenbook build` - Build screen metadata JSON with validation
31
+ - `screenbook dev` - Start the development server
32
+ - `screenbook lint` - Detect routes without screen.meta (CI-ready)
33
+ - `screenbook impact` - Analyze API dependency impact
34
+ - `screenbook pr-impact` - Analyze PR changes impact on screens
35
+ - `screenbook doctor` - Diagnose common setup issues
36
+
37
+ ### CLI Features
38
+ - Circular navigation detection with allowCycles option
39
+ - Screen reference validation
40
+ - Progressive adoption mode
41
+ - Interactive mode for generate command
42
+ - Colored output with actionable error messages
43
+
44
+ ## @screenbook/ui
45
+ - Screen catalog with search and filtering
46
+ - Screen detail view with metadata
47
+ - Navigation graph visualization (Mermaid)
48
+ - Impact analysis view
49
+ - Coverage report
50
+ - Responsive design with accessibility improvements
51
+
52
+ ### Patch Changes
53
+
54
+ - Updated dependencies []:
55
+ - @screenbook/core@1.0.0
56
+
3
57
  ## 0.1.0
4
58
 
5
59
  ### Minor Changes
package/astro.config.mjs CHANGED
@@ -1,8 +1,10 @@
1
1
  import node from "@astrojs/node"
2
+ import react from "@astrojs/react"
2
3
  import tailwindcss from "@tailwindcss/vite"
3
4
  import { defineConfig } from "astro/config"
4
5
 
5
6
  export default defineConfig({
7
+ integrations: [react()],
6
8
  srcDir: "./src",
7
9
  outDir: "./dist",
8
10
  output: "server",
@@ -0,0 +1,9 @@
1
+ import{r as u}from"./index.WFquGv8Z.js";var w={exports:{}},N={};/**
2
+ * @license React
3
+ * react-jsx-runtime.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var $;function U(){if($)return N;$=1;var t=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function n(r,o,a){var c=null;if(a!==void 0&&(c=""+a),o.key!==void 0&&(c=""+o.key),"key"in o){a={};for(var _ in o)_!=="key"&&(a[_]=o[_])}else a=o;return o=a.ref,{$$typeof:t,type:r,key:c,ref:o!==void 0?o:null,props:a}}return N.Fragment=s,N.jsx=n,N.jsxs=n,N}var R;function V(){return R||(R=1,w.exports=U()),w.exports}var e=V();const P=[{value:"button",label:"Button"},{value:"input",label:"Input"},{value:"link",label:"Link"},{value:"text",label:"Text"},{value:"image",label:"Image"},{value:"list",label:"List"},{value:"table",label:"Table"}],A=[{id:"basic-form",label:"Basic Form",sections:[{title:"Header",layout:"horizontal",elements:[{type:"text",label:"Page Title",variant:"heading"}]},{title:"Form",elements:[{type:"input",label:"Name",placeholder:"Enter name..."},{type:"input",label:"Email",inputType:"email",placeholder:"Enter email..."},{type:"input",label:"Message",inputType:"textarea",placeholder:"Enter message..."}]},{title:"Actions",layout:"horizontal",elements:[{type:"link",label:"Cancel"},{type:"button",label:"Submit",variant:"primary"}]}]},{id:"list-view",label:"List View",sections:[{title:"Header",layout:"horizontal",elements:[{type:"text",label:"Items",variant:"heading"},{type:"button",label:"Add New",variant:"primary"}]},{title:"Search",elements:[{type:"input",label:"Search",inputType:"search",placeholder:"Search items..."}]},{title:"Content",elements:[{type:"list",label:"Item List",itemCount:5}]}]},{id:"detail-view",label:"Detail View",sections:[{title:"Header",layout:"horizontal",elements:[{type:"text",label:"Item Detail",variant:"heading"},{type:"button",label:"Edit",variant:"secondary"},{type:"button",label:"Delete",variant:"danger"}]},{title:"Info",elements:[{type:"text",label:"Name: Example Item",variant:"body"},{type:"text",label:"Created: 2024-01-01",variant:"caption"},{type:"image",label:"Item Image",aspectRatio:"16:9"}]},{title:"Actions",layout:"horizontal",elements:[{type:"link",label:"Back to List"}]}]},{id:"dashboard",label:"Dashboard",sections:[{title:"Header",layout:"horizontal",elements:[{type:"text",label:"Dashboard",variant:"heading"}]},{title:"Stats",layout:"horizontal",elements:[{type:"text",label:"Total: 100",variant:"subheading"},{type:"text",label:"Active: 80",variant:"subheading"},{type:"text",label:"Pending: 20",variant:"subheading"}]},{title:"Data",elements:[{type:"table",label:"Recent Items",columns:["Name","Status","Date"],rowCount:5}]}]},{id:"settings",label:"Settings",sections:[{title:"Header",elements:[{type:"text",label:"Settings",variant:"heading"}]},{title:"Profile",elements:[{type:"image",label:"Avatar",aspectRatio:"1:1"},{type:"input",label:"Display Name",placeholder:"Your name"},{type:"input",label:"Email",inputType:"email",placeholder:"your@email.com"}]},{title:"Preferences",elements:[{type:"input",label:"Language",placeholder:"Select language"},{type:"input",label:"Timezone",placeholder:"Select timezone"}]},{title:"Actions",layout:"horizontal",elements:[{type:"button",label:"Save Changes",variant:"primary"}]}]}];function Y(t){switch(t){case"button":return{type:"button",label:"Button",variant:"secondary"};case"input":return{type:"input",label:"Input",placeholder:"Enter text..."};case"link":return{type:"link",label:"Link"};case"text":return{type:"text",label:"Text content",variant:"body"};case"image":return{type:"image",label:"Image",aspectRatio:"16:9"};case"list":return{type:"list",label:"List",itemCount:3};case"table":return{type:"table",label:"Table",columns:["Col 1","Col 2","Col 3"],rowCount:3}}}function y(t,s,n){if(s.length===0)return t;const[r,...o]=s;return t.map((a,c)=>c!==r?a:o.length===0?n(a):{...a,children:y(a.children||[],o,n)})}function z(t,s){if(s.length===0)return t;const[n,...r]=s;return r.length===0?t.filter((o,a)=>a!==n):t.map((o,a)=>a!==n?o:{...o,children:z(o.children||[],r)})}function G(t,s){return y(t,s,n=>({...n,children:[...n.children||[],{title:"Child Section",elements:[]}]}))}function Z({screenId:t,screenTitle:s,initialMock:n}){const[r,o]=u.useState(n?.sections||[{title:"Header",layout:"horizontal",elements:[]}]),[a,c]=u.useState(0),[_,b]=u.useState("idle"),[g,p]=u.useState(null),x=u.useRef(null),h=u.useId(),B=u.useCallback(()=>{o(l=>{const i=[...l,{title:"New Section",elements:[]}];return c(i.length-1),i})},[]),F=u.useCallback((l,i)=>{const d=r.length-1;let m=i;switch(l.key){case"ArrowDown":case"ArrowRight":l.preventDefault(),m=i>=d?0:i+1;break;case"ArrowUp":case"ArrowLeft":l.preventDefault(),m=i<=0?d:i-1;break;case"Home":l.preventDefault(),m=0;break;case"End":l.preventDefault(),m=d;break;default:return}c(m);const k=x.current;k&&k.querySelectorAll('[role="tab"]')[m]?.focus()},[r.length]),M=u.useCallback(l=>{const i=A.find(d=>d.id===l);i&&o(JSON.parse(JSON.stringify(i.sections)))},[]),f=u.useCallback((l,i)=>{o(d=>y(d,l,m=>({...m,...i})))},[]),H=u.useCallback(l=>{o(i=>{const d=z(i,l);if(l.length===1){const m=l[0];a>=d.length?c(Math.max(0,d.length-1)):a>m&&c(a-1)}return d})},[a]),C=u.useCallback(l=>{o(i=>G(i,l))},[]),S=u.useCallback((l,i)=>{o(d=>y(d,l,m=>({...m,elements:[...m.elements,Y(i)]})))},[]),E=u.useCallback((l,i)=>{o(d=>y(d,l,m=>({...m,elements:m.elements.filter((k,j)=>j!==i)})))},[]),T=u.useCallback((l,i,d)=>{o(m=>y(m,l,k=>({...k,elements:k.elements.map((j,O)=>O===i?{...j,...d}:j)})))},[]),J=u.useCallback(()=>{const i=`mock: ${JSON.stringify({sections:r},null,2)}`;console.log(i),window.navigator.clipboard.writeText(i),window.alert("Copied to clipboard!")},[r]),q=u.useCallback(async()=>{if(!t){window.alert("Cannot save: No screen ID. Use 'Export Code' to copy to clipboard.");return}b("saving"),p(null);try{const l=await fetch("/api/save-mock",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({screenId:t,mock:{sections:r}})}),i=await l.json();if(!l.ok)throw new Error(i.error||"Failed to save");b("saved"),setTimeout(()=>b("idle"),2e3)}catch(l){b("error"),p(l instanceof Error?l.message:"Unknown error")}},[t,r]),v=r[a];return e.jsxs("div",{className:"mock-editor",children:[e.jsx("a",{href:"#main-editor",className:"mock-editor__skip-link",children:"Skip to editor"}),e.jsxs("nav",{className:"mock-editor__sidebar","aria-label":"Section navigation",children:[e.jsxs("div",{className:"mock-editor__sidebar-header",children:[e.jsx("span",{className:"mock-editor__title",children:"Mock Editor"}),t&&e.jsxs("div",{className:"mock-editor__screen-info",children:[e.jsx("span",{className:"mock-editor__screen-label",children:"SCREEN"}),e.jsx("span",{className:"mock-editor__screen-badge",children:t})]})]}),e.jsxs("div",{className:"mock-editor__sidebar-content",children:[e.jsx("h2",{id:`${h}-sections-label`,className:"mock-editor__sections-label",children:"SECTIONS"}),e.jsx("div",{ref:x,role:"tablist","aria-labelledby":`${h}-sections-label`,"aria-orientation":"vertical",className:"mock-editor__tab-list",children:r.map((l,i)=>e.jsxs("button",{type:"button",role:"tab",id:`${h}-tab-${i}`,"aria-selected":a===i,"aria-controls":`${h}-panel-${i}`,tabIndex:a===i?0:-1,className:`mock-editor__section-tab ${a===i?"mock-editor__section-tab--active":""}`,onClick:()=>c(i),onKeyDown:d=>F(d,i),children:[e.jsx("span",{className:"mock-editor__tab-icon",children:(l.title||"Section")[0].toUpperCase()}),e.jsxs("span",{className:"mock-editor__tab-content",children:[e.jsx("span",{className:"mock-editor__tab-title",children:l.title||"Untitled"}),e.jsxs("span",{className:"mock-editor__tab-count",children:[l.elements.length," element",l.elements.length!==1?"s":""]})]}),a===i&&e.jsx("span",{className:"mock-editor__tab-indicator","aria-hidden":"true"})]},i))}),e.jsx("button",{type:"button",onClick:B,className:"mock-editor__add-section-btn",children:"+ Add Section"})]})]}),e.jsxs("section",{id:"main-editor",className:"mock-editor__main","aria-label":"Section editor",children:[e.jsxs("header",{className:"mock-editor__header",children:[e.jsxs("div",{className:"mock-editor__header-left",children:[e.jsxs("label",{className:"mock-editor__field-label",children:[e.jsx("span",{className:"mock-editor__field-label-text",children:"Section title"}),e.jsx("input",{type:"text",value:v?.title||"",onChange:l=>f([a],{title:l.target.value}),placeholder:"Section title",className:"mock-editor__section-input","aria-describedby":`${h}-title-hint`}),e.jsx("span",{id:`${h}-title-hint`,className:"mock-editor__sr-only",children:"Edit the section title"})]}),e.jsxs("fieldset",{className:"mock-editor__layout-group",children:[e.jsx("legend",{className:"mock-editor__sr-only",children:"Section layout"}),["horizontal","vertical","grid"].map(l=>e.jsxs("label",{className:`mock-editor__layout-option ${v?.layout===l||!v?.layout&&l==="vertical"?"mock-editor__layout-option--active":""}`,children:[e.jsx("input",{type:"radio",name:`${h}-layout`,value:l,checked:v?.layout===l||!v?.layout&&l==="vertical",onChange:()=>f([a],{layout:l}),className:"mock-editor__sr-only"}),e.jsx("span",{className:"mock-editor__layout-label",children:l.charAt(0).toUpperCase()+l.slice(1)})]},l))]})]}),e.jsxs("div",{className:"mock-editor__header-right",children:[e.jsx("label",{className:"mock-editor__sr-only",htmlFor:`${h}-template`,children:"Select template"}),e.jsxs("select",{id:`${h}-template`,className:"mock-editor__template-select",onChange:l=>{l.target.value&&(M(l.target.value),l.target.value="")},defaultValue:"",children:[e.jsx("option",{value:"",disabled:!0,children:"Templates"}),A.map(l=>e.jsx("option",{value:l.id,children:l.label},l.id))]}),_==="error"&&e.jsx("span",{className:"mock-editor__status mock-editor__status--error",role:"alert",children:g}),_==="saved"&&e.jsx("output",{className:"mock-editor__status mock-editor__status--success",children:"Saved!"}),e.jsx("button",{type:"button",onClick:J,className:"mock-editor__btn mock-editor__btn--secondary",children:"Copy Code"}),e.jsx("button",{type:"button",onClick:q,disabled:_==="saving"||!t,className:"mock-editor__btn mock-editor__btn--primary",title:t?void 0:"Save requires a screen ID",children:_==="saving"?"Saving...":"Save"})]})]}),e.jsx("div",{id:`${h}-panel-${a}`,role:"tabpanel","aria-labelledby":`${h}-tab-${a}`,className:"mock-editor__editor-content",children:v&&e.jsxs(e.Fragment,{children:[e.jsxs("h2",{className:"mock-editor__sr-only",children:[v.title||"Untitled"," section editor"]}),e.jsxs("div",{className:"mock-editor__elements",children:[v.elements.map((l,i)=>e.jsx(L,{element:l,onChange:d=>T([a],i,d),onRemove:()=>E([a],i)},i)),v.elements.length===0&&e.jsx("div",{className:"mock-editor__empty-elements",children:"No elements yet. Add elements using the buttons below."})]}),e.jsxs("fieldset",{className:"mock-editor__element-buttons",children:[e.jsx("legend",{className:"mock-editor__sr-only",children:"Add element"}),P.map(l=>e.jsxs("button",{type:"button",onClick:()=>S([a],l.value),className:`mock-editor__add-element-btn mock-editor__add-element-btn--${l.value}`,children:["+ ",l.label]},l.value))]}),v.children&&v.children.length>0&&e.jsxs("div",{className:"mock-editor__children",children:[e.jsx("h3",{className:"mock-editor__children-title",children:"Child Sections"}),v.children.map((l,i)=>e.jsx(D,{section:l,path:[a,i],depth:1,onUpdate:f,onRemove:H,onAddChild:C,onAddElement:S,onRemoveElement:E,onUpdateElement:T},i))]}),e.jsx("button",{type:"button",onClick:()=>C([a]),className:"mock-editor__add-child-btn","aria-label":"Add child section to current section",children:"+ Add Child Section"})]})})]}),e.jsxs("aside",{className:"mock-editor__preview-panel","aria-label":"Live preview",children:[e.jsxs("div",{className:"mock-editor__preview-header",children:[e.jsx("span",{className:"mock-editor__preview-label",children:"LIVE PREVIEW"}),e.jsx("span",{className:"mock-editor__preview-scale",children:"100%"})]}),e.jsx("div",{className:"mock-editor__preview-wrapper",children:e.jsx(W,{sections:r,title:s})})]})]})}function D({section:t,path:s,depth:n,onUpdate:r,onRemove:o,onAddChild:a,onAddElement:c,onRemoveElement:_,onUpdateElement:b}){const g=`mock-editor__section${n>0?" mock-editor__section--child":""}`;return e.jsxs("div",{className:g,children:[e.jsxs("div",{className:"mock-editor__section-header",children:[e.jsx("input",{type:"text",value:t.title||"",onChange:p=>r(s,{title:p.target.value}),placeholder:"Section title",className:"mock-editor__section-input"}),e.jsxs("select",{value:t.layout||"vertical",onChange:p=>r(s,{layout:p.target.value}),className:"mock-editor__layout-select",children:[e.jsx("option",{value:"vertical",children:"Vertical"}),e.jsx("option",{value:"horizontal",children:"Horizontal"}),e.jsx("option",{value:"grid",children:"Grid"})]}),n>0&&e.jsxs("span",{className:"mock-editor__depth-badge",children:["L",n]}),e.jsx("button",{type:"button",onClick:()=>o(s),className:"mock-editor__remove-btn",children:"×"})]}),e.jsxs("div",{className:"mock-editor__section-body",children:[t.elements.map((p,x)=>e.jsx(L,{element:p,onChange:h=>b(s,x,h),onRemove:()=>_(s,x)},x)),t.elements.length===0&&e.jsx("div",{className:"mock-editor__empty-elements",children:"No elements yet"}),e.jsx("div",{className:"mock-editor__element-buttons",children:P.map(p=>e.jsxs("button",{type:"button",onClick:()=>c(s,p.value),className:`mock-editor__add-element-btn mock-editor__add-element-btn--${p.value}`,children:["+ ",p.label]},p.value))})]}),e.jsx("div",{className:"mock-editor__section-footer",children:e.jsx("button",{type:"button",onClick:()=>a(s),className:"mock-editor__add-child-btn",children:"+ Add Child Section"})}),t.children&&t.children.length>0&&e.jsx("div",{className:"mock-editor__children",children:t.children.map((p,x)=>e.jsx(D,{section:p,path:[...s,x],depth:n+1,onUpdate:r,onRemove:o,onAddChild:a,onAddElement:c,onRemoveElement:_,onUpdateElement:b},x))})]})}function L({element:t,onChange:s,onRemove:n}){const r=`mock-editor__element mock-editor__element--${t.type}`,o=`mock-editor__element-type mock-editor__element-type--${t.type}`;return e.jsxs("div",{className:r,children:[e.jsxs("div",{className:"mock-editor__element-header",children:[e.jsx("span",{className:o,children:t.type}),e.jsx("button",{type:"button",onClick:n,className:"mock-editor__remove-btn",children:"×"})]}),e.jsxs("div",{className:"mock-editor__element-fields",children:[e.jsx("input",{type:"text",value:t.label,onChange:a=>s({label:a.target.value}),placeholder:"Label",className:"mock-editor__field-input"}),t.type==="button"&&e.jsxs(e.Fragment,{children:[e.jsxs("select",{value:t.variant||"secondary",onChange:a=>s({variant:a.target.value}),className:"mock-editor__field-select",children:[e.jsx("option",{value:"primary",children:"Primary"}),e.jsx("option",{value:"secondary",children:"Secondary"}),e.jsx("option",{value:"danger",children:"Danger"})]}),e.jsx("input",{type:"text",value:t.navigateTo||"",onChange:a=>s({navigateTo:a.target.value||void 0}),placeholder:"Navigate to (screen id)",className:"mock-editor__field-input"})]}),t.type==="input"&&e.jsxs(e.Fragment,{children:[e.jsxs("select",{value:t.inputType||"text",onChange:a=>s({inputType:a.target.value}),className:"mock-editor__field-select",children:[e.jsx("option",{value:"text",children:"Text"}),e.jsx("option",{value:"email",children:"Email"}),e.jsx("option",{value:"password",children:"Password"}),e.jsx("option",{value:"textarea",children:"Textarea"}),e.jsx("option",{value:"search",children:"Search"})]}),e.jsx("input",{type:"text",value:t.placeholder||"",onChange:a=>s({placeholder:a.target.value}),placeholder:"Placeholder text",className:"mock-editor__field-input"})]}),t.type==="text"&&e.jsxs("select",{value:t.variant||"body",onChange:a=>s({variant:a.target.value}),className:"mock-editor__field-select",children:[e.jsx("option",{value:"heading",children:"Heading"}),e.jsx("option",{value:"subheading",children:"Subheading"}),e.jsx("option",{value:"body",children:"Body"}),e.jsx("option",{value:"caption",children:"Caption"})]}),t.type==="link"&&e.jsx("input",{type:"text",value:t.navigateTo||"",onChange:a=>s({navigateTo:a.target.value||void 0}),placeholder:"Navigate to (screen id)",className:"mock-editor__field-input"}),t.type==="image"&&e.jsxs("select",{value:t.aspectRatio||"16:9",onChange:a=>s({aspectRatio:a.target.value}),className:"mock-editor__field-select",children:[e.jsx("option",{value:"16:9",children:"16:9"}),e.jsx("option",{value:"4:3",children:"4:3"}),e.jsx("option",{value:"1:1",children:"1:1"}),e.jsx("option",{value:"3:4",children:"3:4"})]}),t.type==="list"&&e.jsxs("div",{className:"mock-editor__field-row",children:[e.jsx("input",{type:"number",value:t.itemCount||3,onChange:a=>s({itemCount:parseInt(a.target.value,10)||3}),placeholder:"Items",min:1,max:10,className:"mock-editor__field-input mock-editor__field-input--small"}),e.jsx("input",{type:"text",value:t.itemNavigateTo||"",onChange:a=>s({itemNavigateTo:a.target.value||void 0}),placeholder:"Navigate to screen...",className:"mock-editor__field-input"})]}),t.type==="table"&&e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",value:t.columns?.join(", ")||"",onChange:a=>s({columns:a.target.value.split(",").map(c=>c.trim()).filter(Boolean)}),placeholder:"Columns (comma separated)",className:"mock-editor__field-input"}),e.jsxs("div",{className:"mock-editor__field-row",children:[e.jsx("input",{type:"number",value:t.rowCount||3,onChange:a=>s({rowCount:parseInt(a.target.value,10)||3}),placeholder:"Rows",min:1,max:10,className:"mock-editor__field-input mock-editor__field-input--small"}),e.jsx("input",{type:"text",value:t.rowNavigateTo||"",onChange:a=>s({rowNavigateTo:a.target.value||void 0}),placeholder:"Navigate to screen...",className:"mock-editor__field-input"})]})]})]})]})}function W({sections:t,title:s}){return e.jsxs("div",{className:"mock-editor__preview",children:[s&&e.jsx("div",{className:"mock-editor__preview-header",children:s}),e.jsxs("div",{className:"mock-editor__preview-body",children:[t.map((n,r)=>e.jsx(I,{section:n,depth:0},r)),t.length===0&&e.jsx("div",{className:"mock-editor__preview-empty",children:"Add sections to see preview"})]})]})}function I({section:t,depth:s}){const n=`mock-editor__preview-section${s>0?" mock-editor__preview-section--child":""}`,r=`mock-editor__preview-section-title${s>0?" mock-editor__preview-section-title--child":""}`,o=`mock-editor__preview-section-body${t.layout==="horizontal"?" mock-editor__preview-section-body--horizontal":t.layout==="grid"?" mock-editor__preview-section-body--grid":""}`;return e.jsxs("div",{className:n,children:[t.title&&e.jsx("div",{className:r,children:t.title}),e.jsxs("div",{className:o,children:[t.elements.map((a,c)=>e.jsx(Q,{element:a,horizontal:t.layout==="horizontal"},c)),t.elements.length===0&&(!t.children||t.children.length===0)&&e.jsx("div",{className:"mock-editor__preview-empty",children:"No elements"})]}),t.children&&t.children.length>0&&e.jsx("div",{style:{padding:"0 14px 14px"},children:t.children.map((a,c)=>e.jsx(I,{section:a,depth:s+1},c))})]})}function Q({element:t,horizontal:s}){const n=`mock-editor__preview-element${s?" mock-editor__preview-element--horizontal":""}`;if(t.type==="button"){const r=t.variant||"secondary";return e.jsx("div",{className:n,children:e.jsx("div",{className:`mock-editor__preview-button mock-editor__preview-button--${r}`,children:t.label})})}if(t.type==="input")return e.jsxs("div",{className:`${n} mock-editor__preview-input`,children:[e.jsx("span",{className:"mock-editor__preview-input-label",children:t.label}),e.jsx("div",{className:"mock-editor__preview-input-field",children:t.placeholder||"..."})]});if(t.type==="text"){const r=t.variant||"body";return e.jsx("div",{className:`${n} mock-editor__preview-text--${r}`,children:t.label})}if(t.type==="link")return e.jsx("div",{className:`${n} mock-editor__preview-link`,children:t.label});if(t.type==="image"){const r=t.aspectRatio||"16:9",[o,a]=r.split(":").map(Number);return e.jsx("div",{className:`${n} mock-editor__preview-image`,style:{aspectRatio:`${o}/${a}`},children:t.label})}if(t.type==="list")return e.jsxs("div",{className:`${n} mock-editor__preview-list`,children:[e.jsx("div",{className:"mock-editor__preview-list-header",children:t.label}),Array.from({length:t.itemCount||3}).map((r,o)=>e.jsx("div",{className:"mock-editor__preview-list-item",children:e.jsx("div",{className:"mock-editor__preview-list-placeholder"})},o))]});if(t.type==="table"){const r=t.columns||["Col 1","Col 2","Col 3"],o=t.rowCount||3;return e.jsxs("div",{className:`${n} mock-editor__preview-table`,children:[e.jsx("div",{className:"mock-editor__preview-table-header",children:t.label}),e.jsxs("table",{children:[e.jsx("thead",{children:e.jsx("tr",{children:r.map((a,c)=>e.jsx("th",{children:a},c))})}),e.jsx("tbody",{children:Array.from({length:o}).map((a,c)=>e.jsx("tr",{children:r.map((_,b)=>e.jsx("td",{children:e.jsx("div",{className:"mock-editor__preview-table-placeholder"})},b))},c))})]})]})}return e.jsxs("div",{className:n,children:["[",t.type,"]"]})}export{Z as MockFormEditor};
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap";.mock-editor{--me-font-mono: "JetBrains Mono", ui-monospace, monospace;--me-font-sans: "DM Sans", system-ui, sans-serif;--me-bg-deep: #0a0e14;--me-bg-panel: #0f1318;--me-bg-surface: #151a22;--me-bg-elevated: #1a2029;--me-bg-hover: #1f2530;--me-border: #252d3a;--me-border-subtle: #1c2330;--me-border-accent: #2dd4bf;--me-text: #e8ecf1;--me-text-secondary: #a1afc2;--me-text-muted: #7c8a9d;--me-accent: #2dd4bf;--me-accent-light: #5eead4;--me-accent-glow: rgba(45, 212, 191, .15);--me-accent-subtle: rgba(45, 212, 191, .08);--me-color-button: #2dd4bf;--me-color-input: #818cf8;--me-color-link: #a78bfa;--me-color-text: #94a3b8;--me-color-image: #fbbf24;--me-color-list: #f472b6;--me-color-table: #22d3ee;--me-grid-color: rgba(45, 212, 191, .03);--me-grid-line: rgba(45, 212, 191, .06);--me-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--me-shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--me-shadow-lg: 0 8px 24px rgba(0, 0, 0, .3);--me-shadow-glow: 0 0 20px var(--me-accent-glow);--me-focus-ring: 0 0 0 2px var(--me-bg-deep), 0 0 0 4px var(--me-accent)}@media(prefers-reduced-motion:reduce){.mock-editor,.mock-editor *,.mock-editor *:before,.mock-editor *:after{animation:none;transition:none}}.mock-editor__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mock-editor__skip-link{position:absolute;left:-9999px;top:8px;z-index:1000;padding:12px 24px;background:var(--me-accent);color:var(--me-bg-deep);font-weight:600;font-size:14px;border-radius:8px;text-decoration:none;transition:left .2s ease}.mock-editor__skip-link:focus{left:16px}.mock-editor{display:grid;grid-template-columns:240px 1fr 420px;height:100%;min-height:100vh;background:var(--me-bg-deep);font-family:var(--me-font-sans);position:relative}.mock-editor:before,.mock-editor:after{content:"";position:fixed;inset:0;pointer-events:none}.mock-editor:before{background-image:linear-gradient(var(--me-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--me-grid-line) 1px,transparent 1px);background-size:24px 24px;opacity:.5}.mock-editor:after{background-image:linear-gradient(rgba(45,212,191,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(45,212,191,.02) 1px,transparent 1px);background-size:96px 96px;opacity:.3}.mock-editor__sidebar{background:var(--me-bg-panel);border-right:1px solid var(--me-border);display:flex;flex-direction:column;position:relative;z-index:2}.mock-editor__sidebar-header{padding:20px;border-bottom:1px solid var(--me-border)}.mock-editor__title{font-family:var(--me-font-mono);font-size:14px;font-weight:600;color:var(--me-text);letter-spacing:-.02em;display:block}.mock-editor__screen-info{margin-top:12px;display:flex;flex-direction:column;gap:4px}.mock-editor__screen-label{font-family:var(--me-font-mono);font-size:9px;font-weight:600;color:var(--me-text-muted);text-transform:uppercase;letter-spacing:.1em}.mock-editor__screen-badge{font-family:var(--me-font-mono);font-size:12px;font-weight:500;color:var(--me-accent)}.mock-editor__sidebar-content{flex:1;padding:16px;overflow-y:auto}.mock-editor__sections-label{font-family:var(--me-font-mono);font-size:10px;font-weight:600;color:var(--me-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.mock-editor__tab-list{display:flex;flex-direction:column;gap:4px}.mock-editor__section-tab{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--me-bg-surface);border:1px solid var(--me-border-subtle);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left;position:relative;overflow:hidden}.mock-editor__section-tab:hover{background:var(--me-bg-elevated);border-color:var(--me-border)}.mock-editor__section-tab:focus-visible{outline:none;box-shadow:var(--me-focus-ring)}.mock-editor__section-tab--active{background:var(--me-accent-subtle);border-color:var(--me-accent)}.mock-editor__section-tab--active:hover{background:var(--me-accent-subtle)}.mock-editor__tab-icon{width:32px;height:32px;background:var(--me-bg-elevated);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--me-font-mono);font-size:12px;font-weight:600;color:var(--me-text-muted);flex-shrink:0;transition:all .2s ease}.mock-editor__section-tab--active .mock-editor__tab-icon{background:var(--me-accent);color:var(--me-bg-deep)}.mock-editor__tab-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mock-editor__tab-title{font-size:13px;font-weight:500;color:var(--me-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mock-editor__tab-count{font-family:var(--me-font-mono);font-size:10px;color:var(--me-text-muted)}.mock-editor__section-tab--active .mock-editor__tab-count{color:var(--me-accent)}.mock-editor__tab-indicator{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--me-accent);border-radius:0 2px 2px 0;box-shadow:0 0 12px var(--me-accent)}.mock-editor__add-section-btn{width:100%;font-family:var(--me-font-mono);font-size:12px;font-weight:500;color:var(--me-text-muted);background:transparent;border:1px dashed var(--me-border);border-radius:10px;padding:14px;margin-top:12px;cursor:pointer;transition:all .2s ease}.mock-editor__add-section-btn:hover{color:var(--me-accent);border-color:var(--me-accent);background:var(--me-accent-subtle)}.mock-editor__add-section-btn:focus-visible{outline:none;box-shadow:var(--me-focus-ring)}.mock-editor__main{display:flex;flex-direction:column;position:relative;z-index:1;background:linear-gradient(180deg,var(--me-bg-panel) 0%,var(--me-bg-deep) 100%)}.mock-editor__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:var(--me-bg-surface);border-bottom:1px solid var(--me-border)}.mock-editor__header-left{display:flex;align-items:center;gap:16px}.mock-editor__header-right{display:flex;align-items:center;gap:8px}.mock-editor__field-label{display:flex;flex-direction:column;gap:4px}.mock-editor__field-label-text{font-family:var(--me-font-mono);font-size:9px;font-weight:600;color:var(--me-text-muted);text-transform:uppercase;letter-spacing:.05em}.mock-editor__section-input{font-family:var(--me-font-sans);font-size:14px;font-weight:500;color:var(--me-text);background:var(--me-bg-elevated);border:1px solid var(--me-border);border-radius:8px;padding:10px 14px;min-width:200px;transition:all .15s ease}.mock-editor__section-input:hover{border-color:var(--me-border-accent)}.mock-editor__section-input:focus{outline:none;border-color:var(--me-accent);box-shadow:0 0 0 3px var(--me-accent-glow)}.mock-editor__section-input::placeholder{color:var(--me-text-muted)}.mock-editor__layout-group{display:flex;gap:4px;background:var(--me-bg-elevated);padding:4px;border-radius:8px;border:none;margin:0}.mock-editor__layout-option{cursor:pointer}.mock-editor__layout-label{display:block;font-family:var(--me-font-mono);font-size:11px;font-weight:500;color:var(--me-text-muted);padding:8px 12px;border-radius:6px;transition:all .15s ease}.mock-editor__layout-option:hover .mock-editor__layout-label{color:var(--me-text);background:var(--me-bg-hover)}.mock-editor__layout-option--active .mock-editor__layout-label{color:var(--me-accent);background:var(--me-bg-surface)}.mock-editor__layout-option input:focus-visible+.mock-editor__layout-label{box-shadow:var(--me-focus-ring)}.mock-editor__template-select{font-family:var(--me-font-sans);font-size:13px;font-weight:500;color:var(--me-text-secondary);background:var(--me-bg-elevated);border:1px solid var(--me-border);border-radius:6px;padding:8px 32px 8px 12px;cursor:pointer;transition:all .15s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.mock-editor__template-select:hover{border-color:var(--me-border-accent);color:var(--me-text)}.mock-editor__template-select:focus{outline:none;border-color:var(--me-accent);box-shadow:0 0 0 3px var(--me-accent-glow)}.mock-editor__status{font-size:12px;font-weight:500}.mock-editor__status--success{color:#4ade80}.mock-editor__status--error{color:#f87171}.mock-editor__btn{font-family:var(--me-font-sans);font-size:13px;font-weight:500;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.mock-editor__btn:focus-visible{outline:none;box-shadow:var(--me-focus-ring)}.mock-editor__btn--secondary{color:var(--me-text-secondary);background:var(--me-bg-elevated);border:1px solid var(--me-border)}.mock-editor__btn--secondary:hover{color:var(--me-text);background:var(--me-bg-hover);border-color:var(--me-border-accent)}.mock-editor__btn--primary{color:var(--me-bg-deep);background:linear-gradient(135deg,var(--me-accent) 0%,#14b8a6 100%);border:none;font-weight:600}.mock-editor__btn--primary:hover{transform:translateY(-1px);box-shadow:var(--me-shadow-glow)}.mock-editor__btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.mock-editor__editor-content{flex:1;padding:24px;overflow-y:auto}.mock-editor__editor-content:focus{outline:none}.mock-editor__editor-content:focus-visible{box-shadow:inset 0 0 0 2px var(--me-accent-glow)}.mock-editor__elements{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.mock-editor__empty-elements{font-family:var(--me-font-mono);font-size:12px;color:var(--me-text-muted);font-style:italic;padding:32px 24px;text-align:center;border:1px dashed var(--me-border);border-radius:12px;background:var(--me-bg-surface)}.mock-editor__element{background:var(--me-bg-surface);border:1px solid var(--me-border);border-radius:12px;overflow:hidden;transition:all .2s ease}.mock-editor__element:hover{border-color:var(--me-border-accent);box-shadow:var(--me-shadow-md)}.mock-editor__element:focus-within{border-color:var(--me-accent)}.mock-editor__element--button{border-left:3px solid var(--me-color-button)}.mock-editor__element--input{border-left:3px solid var(--me-color-input)}.mock-editor__element--link{border-left:3px solid var(--me-color-link)}.mock-editor__element--text{border-left:3px solid var(--me-color-text)}.mock-editor__element--image{border-left:3px solid var(--me-color-image)}.mock-editor__element--list{border-left:3px solid var(--me-color-list)}.mock-editor__element--table{border-left:3px solid var(--me-color-table)}.mock-editor__element-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--me-bg-elevated);border-bottom:1px solid var(--me-border-subtle)}.mock-editor__element-type{font-family:var(--me-font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:4px;background:#ffffff0d}.mock-editor__element-type--button{color:var(--me-color-button);background:#2dd4bf1a}.mock-editor__element-type--input{color:var(--me-color-input);background:#818cf81a}.mock-editor__element-type--link{color:var(--me-color-link);background:#a78bfa1a}.mock-editor__element-type--text{color:var(--me-color-text);background:#94a3b81a}.mock-editor__element-type--image{color:var(--me-color-image);background:#fbbf241a}.mock-editor__element-type--list{color:var(--me-color-list);background:#f472b61a}.mock-editor__element-type--table{color:var(--me-color-table);background:#22d3ee1a}.mock-editor__element-actions{display:flex;align-items:center;gap:4px}.mock-editor__remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--me-text-muted);cursor:pointer;transition:all .15s ease;font-size:16px}.mock-editor__remove-btn:hover{color:#f87171;background:#f871711a;border-color:#f871714d}.mock-editor__remove-btn:focus-visible{outline:none;box-shadow:var(--me-focus-ring)}.mock-editor__element-fields{padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.mock-editor__field-input,.mock-editor__field-select{width:100%;font-family:var(--me-font-sans);font-size:13px;color:var(--me-text);background:var(--me-bg-elevated);border:1px solid var(--me-border);border-radius:6px;padding:10px 12px;transition:all .15s ease}.mock-editor__field-input:hover,.mock-editor__field-select:hover{border-color:var(--me-border-accent)}.mock-editor__field-input:focus,.mock-editor__field-select:focus{outline:none;border-color:var(--me-accent);box-shadow:0 0 0 3px var(--me-accent-glow)}.mock-editor__field-input::placeholder{color:var(--me-text-muted)}.mock-editor__field-input--small{width:80px}.mock-editor__field-row{display:flex;gap:8px}.mock-editor__element-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0;border:none;margin:0}.mock-editor__add-element-btn{font-family:var(--me-font-mono);font-size:11px;font-weight:500;color:var(--me-text-secondary);background:var(--me-bg-surface);border:1px solid var(--me-border);border-radius:6px;padding:10px 14px;cursor:pointer;transition:all .15s ease}.mock-editor__add-element-btn:hover{color:var(--me-text);background:var(--me-bg-elevated);border-color:var(--me-border-accent);transform:translateY(-1px)}.mock-editor__add-element-btn:focus-visible{outline:none;box-shadow:var(--me-focus-ring)}.mock-editor__add-element-btn--button:hover{border-color:var(--me-color-button)}.mock-editor__add-element-btn--input:hover{border-color:var(--me-color-input)}.mock-editor__add-element-btn--link:hover{border-color:var(--me-color-link)}.mock-editor__add-element-btn--text:hover{border-color:var(--me-color-text)}.mock-editor__add-element-btn--image:hover{border-color:var(--me-color-image)}.mock-editor__add-element-btn--list:hover{border-color:var(--me-color-list)}.mock-editor__add-element-btn--table:hover{border-color:var(--me-color-table)}.mock-editor__children{margin-top:24px;padding-top:24px;border-top:1px solid var(--me-border)}.mock-editor__children-title{font-family:var(--me-font-mono);font-size:11px;font-weight:600;color:var(--me-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.mock-editor__add-child-btn{width:100%;font-family:var(--me-font-mono);font-size:12px;font-weight:500;color:var(--me-text-muted);background:transparent;border:1px dashed var(--me-border);border-radius:8px;padding:12px;margin-top:16px;cursor:pointer;transition:all .2s ease}.mock-editor__add-child-btn:hover{color:var(--me-accent);border-color:var(--me-accent);background:var(--me-accent-subtle)}.mock-editor__add-child-btn:focus-visible{outline:none;box-shadow:var(--me-focus-ring)}.mock-editor__section{margin-bottom:12px;border-radius:10px;background:var(--me-bg-surface);border:1px solid var(--me-border);overflow:hidden;transition:all .2s ease}.mock-editor__section:hover{border-color:var(--me-border-accent)}.mock-editor__section--child{margin-left:16px;border-left:2px solid var(--me-accent);border-top-left-radius:0;border-bottom-left-radius:0}.mock-editor__section-header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--me-bg-elevated);border-bottom:1px solid var(--me-border-subtle)}.mock-editor__layout-select{font-family:var(--me-font-mono);font-size:11px;font-weight:500;color:var(--me-text-secondary);background:var(--me-bg-surface);border:1px solid var(--me-border-subtle);border-radius:4px;padding:8px 28px 8px 10px;cursor:pointer;transition:all .15s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.mock-editor__layout-select:hover,.mock-editor__layout-select:focus{border-color:var(--me-accent);color:var(--me-text)}.mock-editor__depth-badge{font-family:var(--me-font-mono);font-size:9px;font-weight:600;color:var(--me-accent);background:var(--me-accent-subtle);padding:3px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.05em}.mock-editor__section-body{padding:14px}.mock-editor__section-footer{padding:10px 14px;border-top:1px solid var(--me-border-subtle)}.mock-editor__preview-panel{background:var(--me-bg-panel);border-left:1px solid var(--me-border);display:flex;flex-direction:column;position:relative;z-index:2}.mock-editor__preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--me-border)}.mock-editor__preview-label{font-family:var(--me-font-mono);font-size:10px;font-weight:600;color:var(--me-text-muted);text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:8px}.mock-editor__preview-label:before{content:"";width:8px;height:8px;background:var(--me-accent);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.mock-editor__preview-scale{font-family:var(--me-font-mono);font-size:11px;color:var(--me-text-muted)}.mock-editor__preview-wrapper{flex:1;padding:20px;overflow-y:auto}.mock-editor__preview{background:var(--me-bg-surface);border:2px solid var(--me-border);border-radius:16px;overflow:hidden;box-shadow:var(--me-shadow-lg);position:relative}.mock-editor__preview:before,.mock-editor__preview:after{content:"";position:absolute;width:24px;height:24px;border:2px solid rgba(45,212,191,.3);pointer-events:none}.mock-editor__preview:before{top:8px;left:8px;border-right:none;border-bottom:none;border-radius:4px 0 0}.mock-editor__preview:after{bottom:8px;right:8px;border-left:none;border-top:none;border-radius:0 0 4px}.mock-editor__preview-header-bar{background:linear-gradient(135deg,var(--me-accent) 0%,#14b8a6 100%);padding:12px 18px;color:var(--me-bg-deep);font-size:14px;font-weight:600}.mock-editor__preview-body{padding:18px;display:flex;flex-direction:column;gap:16px}.mock-editor__preview-empty{color:var(--me-text-muted);font-size:13px;text-align:center;padding:48px 24px;font-style:italic}.mock-editor__preview-section{background:var(--me-bg-elevated);border-radius:12px;overflow:hidden}.mock-editor__preview-section--child{margin-left:12px;border-left:2px solid rgba(45,212,191,.3);border-top-left-radius:0;border-bottom-left-radius:0}.mock-editor__preview-section-title{background:var(--me-accent-subtle);padding:10px 16px;border-bottom:1px solid rgba(45,212,191,.15);font-family:var(--me-font-mono);font-size:11px;font-weight:600;color:var(--me-accent);text-transform:uppercase;letter-spacing:.05em}.mock-editor__preview-section-title--child{font-size:10px;background:#2dd4bf0d}.mock-editor__preview-section-body{padding:16px;display:flex;flex-direction:column;gap:12px}.mock-editor__preview-section-body--horizontal{flex-direction:row;flex-wrap:wrap}.mock-editor__preview-section-body--grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mock-editor__preview-element{flex:1;min-width:0}.mock-editor__preview-element--horizontal{min-width:100px}.mock-editor__preview-button{padding:12px 16px;border-radius:8px;font-size:12px;font-weight:600;text-align:center}.mock-editor__preview-button--primary{background:linear-gradient(135deg,var(--me-accent) 0%,#14b8a6 100%);color:var(--me-bg-deep)}.mock-editor__preview-button--secondary{background:var(--me-bg-surface);color:var(--me-text-secondary);border:1px solid var(--me-border)}.mock-editor__preview-button--danger{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff}.mock-editor__preview-input{display:flex;flex-direction:column;gap:6px}.mock-editor__preview-input-label{font-size:11px;color:var(--me-text-muted);text-transform:uppercase;font-weight:500;letter-spacing:.03em}.mock-editor__preview-input-field{background:var(--me-bg-deep);border:1px solid var(--me-border);border-radius:6px;padding:12px 14px;font-size:12px;color:var(--me-text-muted)}.mock-editor__preview-text--heading{font-size:18px;font-weight:700;color:var(--me-text)}.mock-editor__preview-text--subheading{font-size:14px;font-weight:600;color:var(--me-text-secondary)}.mock-editor__preview-text--body{font-size:13px;color:var(--me-text-secondary)}.mock-editor__preview-text--caption{font-size:11px;color:var(--me-text-muted)}.mock-editor__preview-link{font-size:12px;color:var(--me-accent);text-decoration:underline;text-underline-offset:2px}.mock-editor__preview-image{background:var(--me-bg-surface);border:2px dashed var(--me-border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--me-text-muted);max-height:120px}.mock-editor__preview-list{background:var(--me-bg-deep);border-radius:8px;overflow:hidden}.mock-editor__preview-list-header{padding:10px 14px;background:var(--me-bg-surface);font-size:11px;color:var(--me-text-muted);border-bottom:1px solid var(--me-border)}.mock-editor__preview-list-item{padding:10px 14px;border-bottom:1px solid var(--me-border-subtle)}.mock-editor__preview-list-item:last-child{border-bottom:none}.mock-editor__preview-list-placeholder{height:4px;background:var(--me-border);border-radius:2px;width:70%}.mock-editor__preview-table{background:var(--me-bg-deep);border-radius:8px;overflow:hidden}.mock-editor__preview-table-header{padding:10px 14px;background:var(--me-bg-surface);font-size:11px;color:var(--me-text-muted);border-bottom:1px solid var(--me-border)}.mock-editor__preview-table table{width:100%;border-collapse:collapse;font-size:11px}.mock-editor__preview-table th{padding:8px 10px;text-align:left;color:var(--me-text-muted);font-weight:600;border-bottom:1px solid var(--me-border)}.mock-editor__preview-table td{padding:8px 10px;border-bottom:1px solid var(--me-border-subtle)}.mock-editor__preview-table tr:last-child td{border-bottom:none}.mock-editor__preview-table-placeholder{height:4px;background:var(--me-border);border-radius:2px;width:60%}.mock-editor__element,.mock-editor__section,.mock-editor__preview-section{animation:fadeSlideIn .2s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mock-editor__section-tab--active:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at left center,var(--me-accent-glow) 0%,transparent 70%);pointer-events:none}.mock-editor ::-webkit-scrollbar{width:8px;height:8px}.mock-editor ::-webkit-scrollbar-track{background:transparent}.mock-editor ::-webkit-scrollbar-thumb{background:var(--me-border);border-radius:4px}.mock-editor ::-webkit-scrollbar-thumb:hover{background:var(--me-border-accent)}@media(max-width:1200px){.mock-editor{grid-template-columns:200px 1fr 360px}}@media(max-width:900px){.mock-editor{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.mock-editor__sidebar{border-right:none;border-bottom:1px solid var(--me-border)}.mock-editor__preview-panel{border-left:none;border-top:1px solid var(--me-border);max-height:50vh}}
@@ -1 +1 @@
1
- import{aW as L,bs as ln,aF as A,aU as P,bt as gn,bu as dn,aE as W,bv as hn,bw as z,bx as pn,bn as An,by as m,aX as N,b0 as U,b3 as T,bz as _n,a_ as on,bA as wn,bq as On,aG as V,bo as vn,bB as I}from"./mermaid.core.CReXU7YN.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,K=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,Gn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Hn.call(n,r)}))}:Bn;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Xn="__lodash_hash_undefined__";function Yn(n){return this.__data__.set(n,Xn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Yn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",X=P?P.prototype:void 0,S=X?X.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var D=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(D===void 0?O===v||f(O,v,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var b=n.constructor,E=r.constructor;b!=E&&"constructor"in n&&"constructor"in r&&!(typeof b=="function"&&b instanceof b&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,Y="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==Y?c:a,h=h==Y?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function F(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,F,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?F(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function br(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=br(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):F(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Fr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Xr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:bn,Br=200;function Yr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Hr as b,yn as c,an as d,rn as e,Zn as f,qn as g,Z as h,x as i,En as j,M as k,Yr as l,Zr as m,qr as n,cn as o,Gr as p,Cr as q,Xr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Dn as y};
1
+ import{aW as L,bs as ln,aF as A,aU as P,bt as gn,bu as dn,aE as W,bv as hn,bw as z,bx as pn,bn as An,by as m,aX as N,b0 as U,b3 as T,bz as _n,a_ as on,bA as wn,bq as On,aG as V,bo as vn,bB as I}from"./mermaid.core.CgCLOZ6t.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,K=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,Gn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Hn.call(n,r)}))}:Bn;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Xn="__lodash_hash_undefined__";function Yn(n){return this.__data__.set(n,Xn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Yn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",X=P?P.prototype:void 0,S=X?X.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var D=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(D===void 0?O===v||f(O,v,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var b=n.constructor,E=r.constructor;b!=E&&"constructor"in n&&"constructor"in r&&!(typeof b=="function"&&b instanceof b&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,Y="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==Y?c:a,h=h==Y?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function F(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,F,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?F(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function br(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=br(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):F(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Fr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Xr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:bn,Br=200;function Yr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Hr as b,yn as c,an as d,rn as e,Zn as f,qn as g,Z as h,x as i,En as j,M as k,Yr as l,Zr as m,qr as n,cn as o,Gr as p,Cr as q,Xr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Dn as y};
@@ -0,0 +1 @@
1
+ .mock-preview[data-astro-cid-ewujvhfk]{background:#1e2433;border-radius:12px;overflow:hidden;border:1px solid #2d3548}.mock-header[data-astro-cid-ewujvhfk]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1a1f2e;border-bottom:1px solid #2d3548}.mock-header-left[data-astro-cid-ewujvhfk]{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:14px}.mock-icon[data-astro-cid-ewujvhfk]{width:18px;height:18px}.edit-mock-link[data-astro-cid-ewujvhfk]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#2d3548;color:#94a3b8;border-radius:6px;font-size:12px;text-decoration:none;transition:all .2s}.edit-mock-link[data-astro-cid-ewujvhfk]:hover{background:#3d4660;color:#14b8a6}.edit-mock-link[data-astro-cid-ewujvhfk] svg[data-astro-cid-ewujvhfk]{width:14px;height:14px}.mock-frame[data-astro-cid-ewujvhfk]{padding:20px;background:#0f1219;max-width:400px;margin:20px auto;border-radius:8px;border:1px solid #2d3548}.mock-section[data-astro-cid-ewujvhfk]{margin-bottom:16px}.mock-section[data-astro-cid-ewujvhfk]:last-child{margin-bottom:0}.section-title[data-astro-cid-ewujvhfk]{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.child-sections[data-astro-cid-ewujvhfk]{margin-top:12px;padding-left:16px;border-left:2px solid #2d3548}.child-section[data-astro-cid-ewujvhfk]{background:#14b8a608;padding:12px;border-radius:6px;margin-bottom:12px}.child-section[data-astro-cid-ewujvhfk]:last-child{margin-bottom:0}.child-section-title[data-astro-cid-ewujvhfk]{color:#5eead4}.section-elements[data-astro-cid-ewujvhfk]{display:flex;gap:8px}.section-elements[data-astro-cid-ewujvhfk].vertical{flex-direction:column}.section-elements[data-astro-cid-ewujvhfk].horizontal{flex-direction:row;flex-wrap:wrap}.section-elements[data-astro-cid-ewujvhfk].horizontal>[data-astro-cid-ewujvhfk]{flex:1;min-width:80px}.element-link[data-astro-cid-ewujvhfk]{text-decoration:none;display:block;border-radius:6px;transition:all .2s}.element-link[data-astro-cid-ewujvhfk]:hover .mock-button[data-astro-cid-ewujvhfk],.element-link[data-astro-cid-ewujvhfk]:hover .mock-link-card[data-astro-cid-ewujvhfk],.element-link[data-astro-cid-ewujvhfk]:hover .mock-list[data-astro-cid-ewujvhfk],.element-link[data-astro-cid-ewujvhfk]:hover .mock-table[data-astro-cid-ewujvhfk]{transform:translateY(-2px);box-shadow:0 4px 12px #14b8a633}.mock-button[data-astro-cid-ewujvhfk]{padding:10px 16px;border-radius:6px;font-size:13px;font-weight:500;text-align:center;cursor:default;transition:all .2s}.mock-button[data-astro-cid-ewujvhfk].has-navigation{cursor:pointer;display:flex;flex-direction:column;gap:4px;align-items:center}.button-label[data-astro-cid-ewujvhfk]{display:block}.button-navigate[data-astro-cid-ewujvhfk]{font-size:10px;opacity:.8}.mock-input[data-astro-cid-ewujvhfk]{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#1e2433;border:1px solid #3d4660;border-radius:6px}.input-label[data-astro-cid-ewujvhfk]{font-size:11px;color:#64748b;font-weight:500}.input-placeholder[data-astro-cid-ewujvhfk]{font-size:13px;color:#475569}.mock-link[data-astro-cid-ewujvhfk]{color:#14b8a6;font-size:13px;text-decoration:underline;cursor:default}.mock-link-card[data-astro-cid-ewujvhfk]{padding:10px 12px;background:#14b8a61a;border:1px solid rgba(20,184,166,.3);border-radius:6px;transition:all .2s}.mock-link-card[data-astro-cid-ewujvhfk].has-navigation{cursor:pointer}.link-label[data-astro-cid-ewujvhfk]{color:#14b8a6;font-size:13px;text-decoration:underline;display:block}.link-navigate[data-astro-cid-ewujvhfk]{font-size:10px;color:#5eead4;opacity:.8;display:block;margin-top:4px}.mock-text[data-astro-cid-ewujvhfk]{padding:4px 0}.mock-image[data-astro-cid-ewujvhfk]{position:relative;background:#1e2433;border:2px dashed #3d4660;border-radius:6px;overflow:hidden}.image-placeholder[data-astro-cid-ewujvhfk]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#475569}.image-placeholder[data-astro-cid-ewujvhfk] svg[data-astro-cid-ewujvhfk]{width:32px;height:32px}.image-placeholder[data-astro-cid-ewujvhfk] span[data-astro-cid-ewujvhfk]{font-size:12px}.mock-list[data-astro-cid-ewujvhfk]{background:#1e2433;border:1px solid #3d4660;border-radius:6px;overflow:hidden}.list-header[data-astro-cid-ewujvhfk]{padding:10px 12px;background:#2d3548;font-size:12px;font-weight:600;color:#94a3b8}.list-item[data-astro-cid-ewujvhfk]{padding:10px 12px;font-size:13px;color:#94a3b8}.list-footer[data-astro-cid-ewujvhfk]{padding:8px 12px;background:#14b8a61a;font-size:10px;color:#14b8a6;border-top:1px solid #3d4660}.mock-list[data-astro-cid-ewujvhfk].has-navigation{cursor:pointer}.mock-table[data-astro-cid-ewujvhfk]{background:#1e2433;border:1px solid #3d4660;border-radius:6px;overflow:hidden}.table-header[data-astro-cid-ewujvhfk]{padding:10px 12px;background:#2d3548;font-size:12px;font-weight:600;color:#94a3b8}.table-content[data-astro-cid-ewujvhfk]{overflow-x:auto}.table-row[data-astro-cid-ewujvhfk]{display:flex;border-bottom:1px solid #2d3548}.table-row[data-astro-cid-ewujvhfk]:last-child{border-bottom:none}.table-header-row[data-astro-cid-ewujvhfk]{background:#252d3d}.table-header-row[data-astro-cid-ewujvhfk] .table-cell[data-astro-cid-ewujvhfk]{font-weight:600;font-size:11px;color:#64748b}.table-cell[data-astro-cid-ewujvhfk]{flex:1;padding:8px 12px;font-size:12px;color:#94a3b8;min-width:80px}.table-footer[data-astro-cid-ewujvhfk]{padding:8px 12px;background:#14b8a61a;font-size:10px;color:#14b8a6;border-top:1px solid #3d4660}.mock-table[data-astro-cid-ewujvhfk].has-navigation{cursor:pointer}
@@ -1 +1 @@
1
- import{a1 as ln,a2 as an,a3 as y,a4 as tn,a5 as H,a6 as q,a7 as _,a8 as un,a9 as B,aa as rn,ab as L,ac as o,ad as sn,ae as on,af as fn}from"./mermaid.core.CReXU7YN.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{a1 as ln,a2 as an,a3 as y,a4 as tn,a5 as H,a6 as q,a7 as _,a8 as un,a9 as B,aa as rn,ab as L,ac as o,ad as sn,ae as on,af as fn}from"./mermaid.core.CgCLOZ6t.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};