@next-bricks/diagram 0.28.1 → 0.30.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 (71) hide show
  1. package/dist/bricks.json +3 -3
  2. package/dist/chunks/1728.cf49ae61.js +2 -0
  3. package/dist/chunks/1728.cf49ae61.js.map +1 -0
  4. package/dist/chunks/1860.4fd60630.js +2 -0
  5. package/dist/chunks/1860.4fd60630.js.map +1 -0
  6. package/dist/chunks/{1972.8418a5c0.js → 1972.d6fea46c.js} +2 -2
  7. package/dist/chunks/{1972.8418a5c0.js.map → 1972.d6fea46c.js.map} +1 -1
  8. package/dist/chunks/5481.d6977dfc.js +3 -0
  9. package/dist/chunks/5481.d6977dfc.js.map +1 -0
  10. package/dist/chunks/7034.286dd8ae.js +3 -0
  11. package/dist/chunks/7034.286dd8ae.js.map +1 -0
  12. package/dist/chunks/709.bc74a999.js +2 -0
  13. package/dist/chunks/709.bc74a999.js.map +1 -0
  14. package/dist/chunks/{9591.d3a952ac.js → 9591.c5101110.js} +2 -2
  15. package/dist/chunks/{9591.d3a952ac.js.map → 9591.c5101110.js.map} +1 -1
  16. package/dist/chunks/editable-label.e37e189e.js +3 -0
  17. package/dist/chunks/{editable-label.8e6f528c.js.map → editable-label.e37e189e.js.map} +1 -1
  18. package/dist/chunks/{eo-diagram.40f64d0f.js → eo-diagram.5f32fd41.js} +2 -2
  19. package/dist/chunks/eo-diagram.5f32fd41.js.map +1 -0
  20. package/dist/chunks/eo-display-canvas.74087b7e.js +2 -0
  21. package/dist/chunks/eo-display-canvas.74087b7e.js.map +1 -0
  22. package/dist/chunks/eo-draw-canvas.5602b10d.js +2 -0
  23. package/dist/chunks/eo-draw-canvas.5602b10d.js.map +1 -0
  24. package/dist/chunks/main.229129b2.js +2 -0
  25. package/dist/chunks/main.229129b2.js.map +1 -0
  26. package/dist/examples.json +2 -2
  27. package/dist/index.439a5d8f.js +2 -0
  28. package/dist/index.439a5d8f.js.map +1 -0
  29. package/dist/manifest.json +59 -41
  30. package/dist/types.json +1234 -552
  31. package/dist-types/display-canvas/index.d.ts +5 -1
  32. package/dist-types/draw-canvas/CellComponent.d.ts +4 -4
  33. package/dist-types/draw-canvas/EdgeComponent.d.ts +3 -4
  34. package/dist-types/draw-canvas/constants.d.ts +4 -0
  35. package/dist-types/draw-canvas/index.d.ts +5 -1
  36. package/dist-types/draw-canvas/interfaces.d.ts +43 -2
  37. package/dist-types/draw-canvas/processors/asserts.d.ts +1 -0
  38. package/dist-types/draw-canvas/processors/handleMouseDown.d.ts +3 -2
  39. package/dist-types/draw-canvas/processors/updateCells.d.ts +3 -2
  40. package/dist-types/shared/canvas/useAutoCenter.d.ts +2 -1
  41. package/dist-types/shared/canvas/useLayout.d.ts +19 -0
  42. package/dist-types/shared/canvas/useLineMarkers.d.ts +10 -0
  43. package/dist-types/shared/canvas/useReady.d.ts +7 -0
  44. package/docs/eo-display-canvas.md +276 -0
  45. package/docs/eo-draw-canvas.md +770 -0
  46. package/package.json +2 -2
  47. package/dist/chunks/1728.8cc54faa.js +0 -2
  48. package/dist/chunks/1728.8cc54faa.js.map +0 -1
  49. package/dist/chunks/4456.3fd8ee7c.js +0 -2
  50. package/dist/chunks/4456.3fd8ee7c.js.map +0 -1
  51. package/dist/chunks/5816.f6e1a89e.js +0 -3
  52. package/dist/chunks/5816.f6e1a89e.js.map +0 -1
  53. package/dist/chunks/730.3f786ebf.js +0 -3
  54. package/dist/chunks/730.3f786ebf.js.map +0 -1
  55. package/dist/chunks/8304.613a484c.js +0 -2
  56. package/dist/chunks/8304.613a484c.js.map +0 -1
  57. package/dist/chunks/9061.cbb65689.js +0 -2
  58. package/dist/chunks/9061.cbb65689.js.map +0 -1
  59. package/dist/chunks/editable-label.8e6f528c.js +0 -3
  60. package/dist/chunks/eo-diagram.40f64d0f.js.map +0 -1
  61. package/dist/chunks/eo-display-canvas.ab282773.js +0 -2
  62. package/dist/chunks/eo-display-canvas.ab282773.js.map +0 -1
  63. package/dist/chunks/eo-draw-canvas.ef0d61bd.js +0 -2
  64. package/dist/chunks/eo-draw-canvas.ef0d61bd.js.map +0 -1
  65. package/dist/chunks/main.660ee53e.js +0 -2
  66. package/dist/chunks/main.660ee53e.js.map +0 -1
  67. package/dist/index.3e204276.js +0 -2
  68. package/dist/index.3e204276.js.map +0 -1
  69. /package/dist/chunks/{5816.f6e1a89e.js.LICENSE.txt → 5481.d6977dfc.js.LICENSE.txt} +0 -0
  70. /package/dist/chunks/{730.3f786ebf.js.LICENSE.txt → 7034.286dd8ae.js.LICENSE.txt} +0 -0
  71. /package/dist/chunks/{editable-label.8e6f528c.js.LICENSE.txt → editable-label.e37e189e.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[8304],{3739:(e,t,r)=>{r.d(t,{c:()=>o});var n=r(8769),a=r.n(n);function o(e){var t,{id:r,type:n,strokeColor:o}=e;switch(n){case"0..1":t=l;break;case"0..N":t=c;break;default:t=i}return a().createElement(t,{id:r,strokeColor:o})}function i(e){var{id:t,strokeColor:r}=e;return a().createElement("marker",{id:t,viewBox:"0 0 6 6",refX:5,refY:3,markerWidth:6,markerHeight:6,orient:"auto-start-reverse",strokeLinejoin:"round"},a().createElement("path",{d:"M 0.5 0.5 L 5.5 3 L 0.5 5.5 z",stroke:r,strokeWidth:1,fill:r}))}function l(e){var{id:t,strokeColor:r}=e;return a().createElement("marker",{id:t,viewBox:"0 0 21 11",refX:.5,refY:5.5,markerWidth:21,markerHeight:11,orient:"auto-start-reverse"},a().createElement("path",{d:"M 5.5 5.5 m 5 0 a 5 5 0 1 0 -10 0 a 5 5 0 1 0 10 0 M 15.5 0.5 V 10.5 M 10.5 5.5 H 20.5",stroke:r,strokeWidth:1,fill:"none"}))}function c(e){var{id:t,strokeColor:r}=e;return a().createElement("marker",{id:t,viewBox:"0 0 21 11",refX:.5,refY:5.5,markerWidth:21,markerHeight:11,orient:"auto-start-reverse"},a().createElement("path",{d:"M 5.5 5.5 m 5 0 a 5 5 0 1 0 -10 0 a 5 5 0 1 0 10 0 M 20.5 0.5 L 10.5 5.5 L 20.5 10.5 M 10.5 5.5 H 20.5",stroke:r,strokeWidth:1,fill:"none"}))}},3188:(e,t,r)=>{r.d(t,{h:()=>a});var n=r(733);function a(e,t){if(e===t||(0,n.w)(e,t,0,0))return null;var r,a,o,i,l=t.x-e.x,c=t.y-e.y,d=l>0?1:-1;if(0!==c){var s=Math.abs(l/c),u=c>0?1:-1;s<e.width/e.height?(r=e.x+s*e.height/2*d,a=e.y+e.height/2*u):(r=e.x+e.width/2*d,a=e.y+e.width/2/s*u),s<t.width/t.height?(o=t.x-s*t.height/2*d,i=t.y-t.height/2*u):(o=t.x-t.width/2*d,i=t.y-t.width/2/s*u)}else r=e.x+e.width/2*d,o=t.x-t.width/2*d,a=i=e.y;return[{x:r,y:a},{x:o,y:i}]}},733:(e,t,r)=>{function n(e,t,r,n){var o=r?a(e,r):e,i=n?a(t,n):t,l=Math.min(o.x-o.width/2,i.x-i.width/2),c=Math.max(o.x+o.width/2,i.x+i.width/2),d=Math.min(o.y-o.height/2,i.y-i.height/2),s=Math.max(o.y+o.height/2,i.y+i.height/2);return c-l<o.width+i.width&&s-d<o.height+i.height}function a(e,t){return{x:e.x-e.width/2-t,y:e.y-e.height/2-t,width:e.width+2*t,height:e.height+2*t}}r.d(t,{w:()=>n})},2830:(e,t,r)=>{r.d(t,{m:()=>z});var n=r(8769),a=r.n(n),o=r(3373),i=r.n(o),l=r(531),c=r(4146),d=r(3188);function s(e,t){return e.find((e=>(0,l.N)(e)&&e.id===t))}function u(e){var{edge:t,cells:r,markerEnd:o,defaultEdgeLines:l}=e,u=(0,n.useMemo)((()=>s(r,t.source)),[r,t.source]),v=(0,n.useMemo)((()=>s(r,t.target)),[r,t.target]),m=(0,n.useMemo)((()=>null==l?void 0:l.find((e=>(0,c.checkIfByTransform)(e,{edge:t})))),[l,t]),f=(0,n.useMemo)((()=>u&&v?(0,d.h)(h(u.view,5),h(v.view,5)):null),[u,v]);if(!f)return null;var g="M".concat(f[0].x," ").concat(f[0].y,"L").concat(f[1].x," ").concat(f[1].y);return a().createElement(a().Fragment,null,a().createElement("path",{d:g,fill:"none",stroke:"transparent",strokeWidth:16}),a().createElement("path",{className:i()("line",{dashed:null==m?void 0:m.dashed}),d:g,fill:"none",stroke:"gray",markerEnd:"url(#".concat(o,")")}),a().createElement("path",{className:"line-active-bg",d:g,fill:"none"}))}function h(e,t){return{x:e.x+e.width/2,y:e.y+e.height/2,width:e.width+t,height:e.height+t}}var v=r(1983),m=r(1030),f=r(9126);function g(e){var{node:t,defaultNodeBricks:r,onResize:o}=e,i=function(e){var[t,r]=(0,n.useState)(e);return(0,n.useEffect)((()=>{r((t=>(0,m.isEqual)(t,e)?t:e))}),[e]),t}({node:{id:t.id,data:t.data}}),l=t.useBrick,d=(0,n.useRef)(null),s=(0,n.useMemo)((()=>{var e;return null!=l?l:null==r||null===(e=r.find((e=>(0,c.checkIfByTransform)(e,i))))||void 0===e?void 0:e.useBrick}),[r,l,i]),u=(0,n.useCallback)((e=>{var r=d.current;r&&(r.disconnect(),d.current=null),e?setTimeout((()=>{var r=new f.A((()=>{o(t.id,[e.clientWidth,e.clientHeight])}));r.observe(e),d.current=r})):o(t.id,null)}),[t.id,o]);return s?a().createElement("foreignObject",{width:9999,height:9999,className:"node"},s&&a().createElement(v.ReactUseBrick,{useBrick:s,data:i,refCallback:u})):null}function p(e){return"edge"===e.type?(0,m.pick)(e,["type","source","target","data"]):(0,m.pick)(e,["type","id","data"])}function w(e,t){var{action:r,cell:n,scale:a,onCellMoving:o,onCellMoved:i,onCellResizing:l,onCellResized:c,onSwitchActiveTarget:d}=t;if(e.stopPropagation(),null==d||d(p(n)),"edge"!==n.type){var s=[e.clientX,e.clientY],u="move"===r?[n.view.x,n.view.y]:[n.view.width,n.view.height],h=!1,v=(e,t)=>{var d,v,m=function(e){return[(e.clientX-s[0])/a,(e.clientY-s[1])/a]}(e);h||(h=m[0]**2+m[1]**2>=9),h&&("move"===r?null===(d=t?i:o)||void 0===d||d({type:n.type,id:n.id,x:u[0]+m[0],y:u[1]+m[1]}):null===(v=t?c:l)||void 0===v||v({type:n.type,id:n.id,width:u[0]+m[0],height:u[1]+m[1]}))},m=e=>{v(e)},f=e=>{v(e,!0),h=!1,document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",f)};document.addEventListener("mousemove",m),document.addEventListener("mouseup",f)}}function x(e){var{cell:t,transform:r,readOnly:o,onCellResizing:i,onCellResized:l,onSwitchActiveTarget:c}=e,d=a().useRef(null);return(0,n.useEffect)((()=>{var e=d.current;if(e&&!o){var n=e=>{w(e,{action:"resize",cell:t,scale:r.k,onCellResizing:i,onCellResized:l,onSwitchActiveTarget:c})};return e.addEventListener("mousedown",n),()=>{e.removeEventListener("mousedown",n)}}}),[t,l,i,c,o,r.k]),a().createElement("g",{className:"decorator-area"},a().createElement("rect",{width:t.view.width,height:t.view.height,className:"area"}),!o&&a().createElement("g",{ref:d,className:"resize-handle",transform:"translate(".concat(t.view.width-20," ").concat(t.view.height-20,")")},a().createElement("rect",{width:20,height:20}),a().createElement("path",{d:"M10 18L18 10 M15 18L18 15"})))}var y=r(9740);function k(e){var t,{cell:r,readOnly:o,onDecoratorTextEditing:l,onDecoratorTextChange:c}=e,d=null!==(t=r.view.text)&&void 0!==t?t:"",[s,u]=(0,n.useState)(d),[h,v]=(0,n.useState)(!1),m=(0,n.useRef)(!1),[f,g]=(0,n.useState)(!1),p=(0,n.useRef)(null),w=(0,n.useCallback)((e=>{o||(e.preventDefault(),e.stopPropagation(),v(!0))}),[o]);(0,n.useEffect)((()=>{var e=p.current;e&&e.textContent!==s&&(e.textContent=s)}),[s]),(0,n.useEffect)((()=>{h&&p.current&&(p.current.focus(),function(e){var t=document.createRange();t.selectNodeContents(e);var r=window.getSelection();r.removeAllRanges(),r.addRange(t)}(p.current)),null==l||l({id:r.id,editing:h})}),[r.id,h,l]),(0,n.useEffect)((()=>{m.current?null==l||l({id:r.id,editing:h}):m.current=!0}),[r.id,h,l]);var x=(0,n.useCallback)((e=>{o||u(e.target.textContent)}),[o]),k=(0,n.useCallback)((()=>{o||(v(!1),g(!0))}),[o]);return(0,n.useEffect)((()=>{f&&(null==c||c({id:r.id,view:(0,y.A)((0,y.A)({},r.view),{},{text:s})}),g(!1))}),[r,s,c,f]),a().createElement("foreignObject",{className:"decorator-text"},a().createElement("div",{className:i()("text-container",{editing:h}),onDoubleClick:w},a().createElement("div",{className:"text",contentEditable:h,ref:p,onInput:x,onBlur:k})))}function E(e){var t,{cell:r,transform:n,readOnly:o,onCellResizing:i,onCellResized:l,onSwitchActiveTarget:c,onDecoratorTextEditing:d,onDecoratorTextChange:s}=e;switch(r.decorator){case"area":t=x;break;case"text":t=k;break;default:return console.error("Unknown decorator: ".concat(r.decorator)),null}return a().createElement(t,{cell:r,transform:n,readOnly:o,onCellResizing:i,onCellResized:l,onSwitchActiveTarget:c,onDecoratorTextEditing:d,onDecoratorTextChange:s})}var b=r(8185);function z(e){var{cell:t,cells:r,defaultNodeBricks:o,defaultEdgeLines:c,markerEnd:d,active:s,readOnly:h,transform:v,unrelatedCells:m,onCellMoving:f,onCellMoved:x,onCellResizing:y,onCellResized:k,onSwitchActiveTarget:z,onCellContextMenu:C,onDecoratorTextEditing:A,onDecoratorTextChange:M,onNodeBrickResize:R,onCellMouseEnter:N,onCellMouseLeave:L}=e,S=(0,n.useRef)(null),T=(0,n.useMemo)((()=>m.some((e=>(0,b.c)(e,t)))),[t,m]);(0,n.useEffect)((()=>{var e=S.current;if(e&&!h){var r=e=>{w(e,{action:"move",cell:t,scale:v.k,onCellMoving:f,onCellMoved:x,onSwitchActiveTarget:z})};return e.addEventListener("mousedown",r),()=>{e.removeEventListener("mousedown",r)}}}),[t,x,f,z,h,v.k]);var H=(0,n.useCallback)((e=>{h&&"decorator"===t.type||(e.preventDefault(),z(p(t)),C({cell:t,clientX:e.clientX,clientY:e.clientY}))}),[t,C,z,h]),B=(0,n.useCallback)((()=>{null==N||N(t)}),[t,N]),D=(0,n.useCallback)((()=>{null==L||L(t)}),[t,L]);return a().createElement("g",{className:i()("cell",{active:s,faded:T,"read-only":h}),ref:S,transform:"edge"===t.type?void 0:"translate(".concat(t.view.x," ").concat(t.view.y,")"),onContextMenu:H,onMouseEnter:B,onMouseLeave:D},(0,l.N)(t)?a().createElement(g,{node:t,defaultNodeBricks:o,onResize:R}):(0,l.WW)(t)?a().createElement(u,{edge:t,defaultEdgeLines:c,cells:r,markerEnd:d}):(0,l.mH)(t)?a().createElement(E,{cell:t,transform:v,readOnly:h,onCellResizing:y,onCellResized:k,onSwitchActiveTarget:z,onDecoratorTextEditing:A,onDecoratorTextChange:M}):null)}},3033:(e,t,r)=>{r.d(t,{CV:()=>n,HP:()=>a,N8:()=>i,Yt:()=>d,sS:()=>c,sz:()=>o,w1:()=>l});var n=Symbol.for("size-initialized"),a=20,o=36,i=100,l=60,c=.5,d=2},531:(e,t,r)=>{function n(e){return"node"===e.type}function a(e){return"decorator"===e.type}function o(e){return"node"===e.type}function i(e){return"edge"===e.type}r.d(t,{N:()=>n,WW:()=>i,mH:()=>a,vC:()=>o})},227:(e,t,r)=>{r.d(t,{Y:()=>a});var n=r(8185);function a(e,t,r){var a=[];if(t){var o=new Set;for(var i of e)"edge"===i.type&&i.source===t.source.id&&o.add(i.target);for(var l of e)"node"===l.type?o.has(l.id)&&a.push(l):a.push(l)}else switch(null==r?void 0:r.type){case"node":var c=new Map,d=new Set([r.id]);for(var s of e)"node"===s.type?c.set(s.id,s):"edge"===s.type?s.source===r.id?d.add(s.target):s.target===r.id?d.add(s.source):a.push(s):a.push(s);for(var[u,h]of c)d.has(u)||a.push(h);break;case"edge":for(var v of e)("edge"===v.type?(0,n.c)(v,r):"node"===v.type&&(v.id===r.source||v.id===r.target))||a.push(v);break;case"decorator":for(var m of e)"decorator"===m.type&&m.id===r.id||a.push(m)}return a}},3783:(e,t,r)=>{r.d(t,{C:()=>o});var n=r(9740),a=r(531);function o(e,t){var{defaultNodeSize:r}=t;return(null!=e?e:[]).map((e=>{var t,o;return!(0,a.vC)(e)||void 0!==(null===(t=e.view)||void 0===t?void 0:t.width)&&void 0!==(null===(o=e.view)||void 0===o?void 0:o.height)?e:(0,n.A)((0,n.A)({},e),{},{view:(0,n.A)({width:r[0],height:r[1]},e.view)})}))}},8185:(e,t,r)=>{function n(e,t){return e?!!t&&e.type===t.type&&("node"===e.type||"decorator"===e.type?e.id===t.id:e.source===t.source&&e.target===t.target):!t}r.d(t,{c:()=>n})},908:(e,t,r)=>{r.d(t,{r:()=>a});var n=r(531);function a(e,t){var{canvasWidth:r,canvasHeight:a,scaleRange:o}=t,i=1/0,l=1/0,c=-1/0,d=-1/0,s=!0;for(var u of e)if(!(0,n.WW)(u)){s=!1;var{view:h}=u,v=h.x+h.width,m=h.y+h.height;h.x<i&&(i=h.x),v>c&&(c=v),h.y<l&&(l=h.y),m>d&&(d=m)}var f=c-i,g=d-l,p=o&&!s&&(f>r||g>a)?Math.max(Math.min(r/f,a/g,o[1]),o[0]):1;return{x:s?0:(r-f*p)/2-i*p,y:s?0:(a-g*p)/2-l*p,k:p}}},1083:(e,t,r)=>{r.d(t,{d:()=>c});var n=r(9740),a=r(531),o=r(3033);function i(e,t,r){var n=e.findLastIndex(r)+1;return[...e.slice(0,n),t,...e.slice(n)]}var l,c=(l={cells:(e,t)=>{switch(t.type){case"drop-node":return i(e,t.payload,(e=>!("decorator"===e.type&&"text"===e.decorator)));case"drop-decorator":return"text"===t.payload.decorator?[...e,t.payload]:i(e,t.payload,(e=>"decorator"===e.type&&"area"===e.decorator));case"add-nodes":var r=e.findLastIndex((e=>!("decorator"===e.type&&"text"===e.decorator)))+1;return[...e.slice(0,r),...t.payload,...e.slice(r)];case"add-edge":return i(e,t.payload,(e=>"edge"===e.type||"decorator"===e.type&&"area"===e.decorator));case"move-cell":var{type:l,id:c,x:d,y:s}=t.payload,u=e.findIndex((e=>e.type===l&&e.id===c));if(-1!==u){var h=e[u];return[...e.slice(0,u),(0,n.A)((0,n.A)({},h),{},{view:(0,n.A)((0,n.A)({},h.view),{},{x:d,y:s})}),...e.slice(u+1)]}return e;case"resize-cell":var{type:v,id:m,width:f,height:g}=t.payload,p=e.findIndex((e=>e.type===v&&e.id===m));if(-1!==p){var w=e[p];return[...e.slice(0,p),(0,n.A)((0,n.A)({},w),{},{view:(0,n.A)((0,n.A)({},w.view),{},{width:f,height:g})}),...e.slice(p+1)]}return e;case"update-cells":return t.payload;case"update-node-size":return e.map((e=>(0,a.N)(e)&&e.id===t.payload.id?(0,n.A)((0,n.A)({},e),{},{[o.CV]:!0,view:t.payload.size?(0,n.A)((0,n.A)({},e.view),{},{width:t.payload.size[0],height:t.payload.size[1]}):e.view}):e))}return e}},(e,t)=>Object.fromEntries(Object.entries(l).map((r=>{var[n,a]=r;return[n,a(e[n],t)]}))))},7099:(e,t,r)=>{r.d(t,{Y:()=>m});var n=r(8769),a=r.n(n),o=r(2657),i=r(6768),l=r(198),c=r(8621),d=r(1983),s=r(9575);const u=e=>n.createElement("svg",(0,s.A)({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24"},e),n.createElement("path",{d:"M12 0a.5.5 0 0 1 .5.5v2.013a9.5 9.5 0 0 1 8.987 8.988L23.5 11.5a.5.5 0 0 1 0 1h-2.013a9.5 9.5 0 0 1-8.987 8.987V23.5a.5.5 0 0 1-1 0v-2.013A9.5 9.5 0 0 1 2.514 12.5H.5a.5.5 0 0 1 0-1h2.013A9.5 9.5 0 0 1 11.5 2.514V.5A.5.5 0 0 1 12 0M3.514 11.5H7.5a.5.5 0 0 1 0 1H3.514a8.5 8.5 0 0 0 7.987 7.986L11.5 16.5a.5.5 0 0 1 1 0v3.986a8.5 8.5 0 0 0 7.986-7.986H16.5a.5.5 0 0 1 0-1h3.986A8.5 8.5 0 0 0 12.5 3.515V7.5a.5.5 0 0 1-1 0V3.514a8.5 8.5 0 0 0-7.986 7.987zm8.486-1a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3"})),h=e=>n.createElement("svg",(0,s.A)({xmlns:"http://www.w3.org/2000/svg",width:128,height:128,className:"icon",viewBox:"0 0 1024 1024"},e),n.createElement("path",{d:"M512 76.8A435.2 435.2 0 1 0 947.2 512 435.71 435.71 0 0 0 512 76.8m0 819.2a384 384 0 1 1 384-384 384 384 0 0 1-384 384"}),n.createElement("path",{d:"M744.448 486.4h-204.8V281.6a25.6 25.6 0 1 0-51.2 0v204.8h-204.8a25.6 25.6 0 0 0 0 51.2h204.8v204.8a25.6 25.6 0 0 0 51.2 0V537.6h204.8a25.6 25.6 0 0 0 0-51.2"})),v=e=>n.createElement("svg",(0,s.A)({xmlns:"http://www.w3.org/2000/svg",width:128,height:128,className:"icon",viewBox:"0 0 1024 1024"},e),n.createElement("path",{d:"M512 76.8A435.2 435.2 0 1 0 947.2 512 435.71 435.71 0 0 0 512 76.8m0 819.2a384 384 0 1 1 384-384 384 384 0 0 1-384 384"}),n.createElement("path",{d:"M744.448 486.4H280.064a25.6 25.6 0 1 0 0 51.2h464.384a25.6 25.6 0 0 0 0-51.2"}));function m(e){var{shadowRoot:t,scale:r,scaleRange:s,onZoomChange:m,onReCenter:f}=e,g=(0,d.useCurrentTheme)(),p=(0,n.useMemo)((()=>(0,c.VC)()),[]),w=(0,n.useRef)(null),x=100*s[0],y=100*s[1],k=100*r,E=(0,n.useMemo)((()=>({formatter:e=>"".concat(e,"%"),placement:"left",getPopupContainer:()=>w.current})),[]),b=(0,n.useCallback)((()=>{m(Math.min(k+5,y))}),[y,m,k]),z=(0,n.useCallback)((()=>{m(Math.max(k-5,x))}),[x,m,k]);return a().createElement(o.Ay,{theme:{algorithm:"dark-v2"===g?i.A.darkAlgorithm:i.A.defaultAlgorithm}},a().createElement(c.N7,{container:t,autoClear:!0,cache:p,hashPriority:"high"},a().createElement("div",{className:"zoom-bar",ref:w},a().createElement("div",{className:"center-button",onClick:f,role:"button"},a().createElement(u,null)),a().createElement("div",{className:"zoom-slider"},a().createElement("div",{className:"zoom-button",role:"button",onClick:b},a().createElement(h,null)),a().createElement(l.A,{min:x,max:y,value:k,step:5,vertical:!0,included:!1,tooltip:E,onChange:m}),a().createElement("div",{className:"zoom-button",role:"button",onClick:z},a().createElement(v,null))))))}},1819:(e,t,r)=>{r.d(t,{J:()=>o});var n=r(8769),a=r(8185);function o(e){var{cellsRef:t,activeTarget:r,onActiveTargetChange:o}=e,i=null!=r?r:null,[l,c]=(0,n.useState)(i);(0,n.useEffect)((()=>{c((e=>(0,a.c)(e,i)?e:i))}),[i]);var d=(0,n.useRef)(!1);return(0,n.useEffect)((()=>{d.current?o(l):d.current=!0}),[l,o]),(0,n.useEffect)((()=>{if(l){var e=e=>{e.composedPath().indexOf(t.current)<=0&&c(null)};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}}),[l,t]),l}},2978:(e,t,r)=>{r.d(t,{E:()=>d});var n=r(8769),a=r(7566),o=r(1517),i=r(3033),l=r(531),c=r(908);function d(e){var{rootRef:t,cells:r,zoomable:d,zoomer:s,scaleRange:u}=e,[h,v]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{var e=t.current;if(e&&!h&&r.some((e=>(0,l.N)(e)||(0,l.mH)(e)))&&!r.some((e=>(0,l.N)(e)&&!e[i.CV]))){var{k:n,x:m,y:f}=(0,c.r)(r,{canvasWidth:e.clientWidth,canvasHeight:e.clientHeight,scaleRange:d?u:void 0});s.transform((0,a.A)(e),new o.uV(n,m,f)),v(!0)}}),[r,h,t,u,d,s]),(0,n.useEffect)((()=>{r.some((e=>(0,l.N)(e)||(0,l.mH)(e)))||v(!1)}),[r]),[h,v]}},8091:(e,t,r)=>{r.d(t,{f:()=>l});var n=r(8769),a=r(7566),o=r(1517),i=r(3033);function l(e){var{rootRef:t,zoomable:r,scrollable:l,pannable:c,scaleRange:d,onSwitchActiveTarget:s}=e,[u,h]=(0,n.useState)(!1),[v,m]=(0,n.useState)({k:1,x:0,y:0}),f=(0,n.useMemo)((()=>null!=d?d:[i.sS,i.Yt]),[d]),g=(0,n.useMemo)((()=>(0,o.s_)()),[]);return(0,n.useEffect)((()=>{var e=!1;g.scaleExtent(r?f:[1,1]).on("start",(()=>{e=!1,h(!0)})).on("zoom",(t=>{e=!0,m(t.transform)})).on("end",(()=>{h(!1),e||null==s||s(null)}))}),[s,f,r,g]),(0,n.useEffect)((()=>{var e=t.current;if(e){var n=(0,a.A)(e),o=()=>{n.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(r||l||c)return(r||l)&&n.on("wheel.zoom.custom",(e=>{e.ctrlKey||(e.stopImmediatePropagation(),l&&(e.preventDefault(),g.translateBy(n,e.wheelDeltaX/5,e.wheelDeltaY/5)))})),n.call(g).on("wheel",(e=>e.preventDefault())).on("dblclick.zoom",null).on("mousedown.zoom",null),c||n.on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),o;o()}}),[c,t,l,r,g]),{grabbing:u,transform:v,zoomer:g,scaleRange:f}}},8618:(e,t,r)=>{r.d(t,{A:()=>l});var n=r(6758),a=r.n(n),o=r(935),i=r.n(o)()(a());i.push([e.id,'.zoom-bar{position:absolute;bottom:20px;right:20px;width:40px}.zoom-slider,\n.center-button{width:100%;display:flex;align-items:center;border:1px solid var(--antd-background-color-base);border-radius:var(--larger-border-radius);box-shadow:var(--connected-overlay-shadow);background-color:var(--color-fill-bg-container-4)}.zoom-slider{height:140px;padding:8px 0;flex-direction:column}[role="button"]{cursor:pointer}.center-button{justify-content:center;margin-bottom:8px;height:40px}.center-button:hover{border-color:var(--antd-btn-default-hover-border-color)}.center-button path{fill:var(--antd-link-hover-color)}.center-button:hover path{fill:var(--palette-blue-7)}.zoom-button{font-size:16px;line-height:0}.zoom-button svg{width:1em;height:1em;fill:var(--antd-link-hover-color)}.zoom-slider .ant-slider-vertical{padding-inline:5px}.zoom-slider .ant-slider-vertical .ant-slider-rail{width:2px}.zoom-slider .ant-slider-vertical .ant-slider-handle{width:6px;height:6px;inset-inline-start:3px}.zoom-slider .ant-slider .ant-slider-handle:hover::before,\n.zoom-slider .ant-slider .ant-slider-handle:focus::before,\n.zoom-slider .ant-slider .ant-slider-handle::before{width:10px;height:10px;inset-inline-start:-2px}.zoom-slider .ant-slider .ant-slider-handle:hover::after,\n.zoom-slider .ant-slider .ant-slider-handle:focus::after,\n.zoom-slider .ant-slider .ant-slider-handle::after{width:6px;height:6px;inset-block-start:0;inset-inline-start:0}',""]);const l=i.toString()},3012:(e,t,r)=>{r.d(t,{A:()=>l});var n=r(6758),a=r.n(n),o=r(935),i=r.n(o)()(a());i.push([e.id,"*{box-sizing:border-box}:host{display:block;position:relative;overflow:hidden}:host,\n.root{width:100%;height:100%}:host([hidden]){display:none}.root{opacity:0}.root.ready{opacity:1}.root:focus{outline:none}.decorator-area .area{fill:rgba(119,141,195,0.1);stroke:none;stroke-width:0}.node,\n.decorator-text{overflow:visible}.cell.active .decorator-area .area,\n.cell.active .line-active-bg{stroke:var(--palette-blue-5);stroke-dasharray:4;stroke-width:1}.cell:not(.read-only){-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-handle{cursor:nwse-resize;opacity:0}.resize-handle rect{fill:transparent;stroke:none}.resize-handle path{fill:none;stroke:var(--palette-gray-5);stroke-width:1.5}.cell.active .decorator-area .resize-handle,\n.decorator-area:hover .resize-handle{opacity:1}.connect-line{pointer-events:none}.connect-line:not(.connecting){display:none}.line.dashed{stroke-dasharray:4}.cell.active .decorator-text .text-container{outline:1px dashed var(--palette-blue-5)}.decorator-text .text-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:0.5em}.decorator-text .text:focus{outline:none}.cell.faded{opacity:0.3}.cell .node{pointer-events:none}.cell .node > *{pointer-events:auto}",""]);const l=i.toString()}}]);
2
- //# sourceMappingURL=8304.613a484c.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/8304.613a484c.js","mappings":"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","sources":["webpack:///./src/diagram/MarkerComponent.tsx","webpack:///./src/diagram/lines/getDirectLinePoints.ts","webpack:///./src/diagram/processors/doTwoNodesOverlap.ts","webpack:///./src/draw-canvas/processors/findNode.ts","webpack:///./src/draw-canvas/EdgeComponent.tsx","webpack:///./src/draw-canvas/NodeComponent.tsx","webpack:///./src/draw-canvas/processors/cellToTarget.ts","webpack:///./src/draw-canvas/processors/handleMouseDown.ts","webpack:///./src/draw-canvas/decorators/DecoratorArea.tsx","webpack:///./src/draw-canvas/decorators/DecoratorText.tsx","webpack:///./src/draw-canvas/decorators/index.tsx","webpack:///./src/draw-canvas/CellComponent.tsx","webpack:///./src/draw-canvas/constants.ts","webpack:///./src/draw-canvas/processors/asserts.ts","webpack:///./src/draw-canvas/processors/getUnrelatedCells.ts","webpack:///./src/draw-canvas/processors/initializeCells.ts","webpack:///./src/draw-canvas/processors/sameTarget.ts","webpack:///./src/draw-canvas/processors/transformToCenter.ts","webpack:///./src/draw-canvas/reducers/cells.ts","webpack:///./src/draw-canvas/reducers/index.ts","webpack:///./src/shared/canvas/icons/center.svg","webpack:///./src/shared/canvas/icons/zoom-in.svg","webpack:///./src/shared/canvas/icons/zoom-out.svg","webpack:///./src/shared/canvas/ZoomBarComponent.tsx","webpack:///./src/shared/canvas/useActiveTarget.ts","webpack:///./src/shared/canvas/useAutoCenter.ts","webpack:///./src/shared/canvas/useZoom.ts","webpack:///./src/shared/canvas/ZoomBarComponent.shadow.css","webpack:///./src/shared/canvas/styles.shadow.css"],"sourcesContent":["import React from \"react\";\nimport type { LineMarkerType } from \"./interfaces\";\n\nexport interface MarkerComponentProps extends BaseMarkerComponentProps {\n type: LineMarkerType;\n}\n\nexport interface BaseMarkerComponentProps {\n id: string;\n strokeColor?: string;\n}\n\nexport function MarkerComponent({\n id,\n type,\n strokeColor,\n}: MarkerComponentProps): JSX.Element {\n let Component: (props: BaseMarkerComponentProps) => JSX.Element;\n\n switch (type) {\n case \"0..1\":\n Component = EntityRelationZeroOrOneMarker;\n break;\n case \"0..N\":\n Component = EntityRelationZeroOrManyMarker;\n break;\n default:\n Component = ArrowMarker;\n }\n\n return <Component id={id} strokeColor={strokeColor} />;\n}\n\nfunction ArrowMarker({\n id,\n strokeColor,\n}: BaseMarkerComponentProps): JSX.Element {\n return (\n <marker\n id={id}\n viewBox=\"0 0 6 6\"\n refX={5}\n refY={3}\n markerWidth={6}\n markerHeight={6}\n orient=\"auto-start-reverse\"\n strokeLinejoin=\"round\"\n >\n <path\n d=\"M 0.5 0.5 L 5.5 3 L 0.5 5.5 z\"\n stroke={strokeColor}\n strokeWidth={1}\n fill={strokeColor}\n />\n </marker>\n );\n}\n\nfunction EntityRelationZeroOrOneMarker({\n id,\n strokeColor,\n}: BaseMarkerComponentProps): JSX.Element {\n return (\n <marker\n id={id}\n viewBox=\"0 0 21 11\"\n refX={0.5}\n refY={5.5}\n markerWidth={21}\n markerHeight={11}\n orient=\"auto-start-reverse\"\n >\n <path\n d=\"M 5.5 5.5 m 5 0 a 5 5 0 1 0 -10 0 a 5 5 0 1 0 10 0 M 15.5 0.5 V 10.5 M 10.5 5.5 H 20.5\"\n stroke={strokeColor}\n strokeWidth={1}\n fill=\"none\"\n />\n </marker>\n );\n}\n\nfunction EntityRelationZeroOrManyMarker({\n id,\n strokeColor,\n}: BaseMarkerComponentProps): JSX.Element {\n return (\n <marker\n id={id}\n viewBox=\"0 0 21 11\"\n refX={0.5}\n refY={5.5}\n markerWidth={21}\n markerHeight={11}\n orient=\"auto-start-reverse\"\n >\n <path\n d=\"M 5.5 5.5 m 5 0 a 5 5 0 1 0 -10 0 a 5 5 0 1 0 10 0 M 20.5 0.5 L 10.5 5.5 L 20.5 10.5 M 10.5 5.5 H 20.5\"\n stroke={strokeColor}\n strokeWidth={1}\n fill=\"none\"\n />\n </marker>\n );\n}\n","import type { NodePosition, NodeRect } from \"../interfaces\";\nimport { doTwoNodesOverlap } from \"../processors/doTwoNodesOverlap\";\n\nexport function getDirectLinePoints(\n source: NodeRect,\n target: NodeRect\n): NodePosition[] | null {\n // Ignore if two nodes are the same.\n // Ignore if two nodes overlap.\n if (source === target || doTwoNodesOverlap(source, target, 0, 0)) {\n return null;\n }\n\n const dx = target.x - source.x;\n const dy = target.y - source.y;\n\n let x0: number, y0: number, x1: number, y1: number;\n const directionX = dx > 0 ? 1 : -1;\n if (dy !== 0) {\n const deltaRadio = Math.abs(dx / dy);\n const directionY = dy > 0 ? 1 : -1;\n const sourceRadio = source.width / source.height;\n if (deltaRadio < sourceRadio) {\n x0 = source.x + ((deltaRadio * source.height) / 2) * directionX;\n y0 = source.y + (source.height / 2) * directionY;\n } else {\n x0 = source.x + (source.width / 2) * directionX;\n y0 = source.y + (source.width / 2 / deltaRadio) * directionY;\n }\n const targetRadio = target.width / target.height;\n if (deltaRadio < targetRadio) {\n x1 = target.x - ((deltaRadio * target.height) / 2) * directionX;\n y1 = target.y - (target.height / 2) * directionY;\n } else {\n x1 = target.x - (target.width / 2) * directionX;\n y1 = target.y - (target.width / 2 / deltaRadio) * directionY;\n }\n } else {\n x0 = source.x + (source.width / 2) * directionX;\n x1 = target.x - (target.width / 2) * directionX;\n y0 = y1 = source.y;\n }\n\n return [\n { x: x0, y: y0 },\n { x: x1, y: y1 },\n ];\n}\n","import type { NodeRect } from \"../interfaces\";\n\nexport function doTwoNodesOverlap(\n a: NodeRect,\n b: NodeRect,\n paddingA: number,\n paddingB: number\n): boolean {\n const A = paddingA ? getNodesWithPadding(a, paddingA) : a;\n const B = paddingB ? getNodesWithPadding(b, paddingB) : b;\n const left = Math.min(A.x - A.width / 2, B.x - B.width / 2);\n const right = Math.max(A.x + A.width / 2, B.x + B.width / 2);\n const top = Math.min(A.y - A.height / 2, B.y - B.height / 2);\n const bottom = Math.max(A.y + A.height / 2, B.y + B.height / 2);\n return right - left < A.width + B.width && bottom - top < A.height + B.height;\n}\n\nfunction getNodesWithPadding(node: NodeRect, padding: number) {\n return {\n x: node.x - node.width / 2 - padding,\n y: node.y - node.height / 2 - padding,\n width: node.width + padding * 2,\n height: node.height + padding * 2,\n };\n}\n","import type { Cell, NodeCell, NodeId } from \"../interfaces\";\nimport { isNodeCell } from \"./asserts\";\n\nexport function findNode(cells: Cell[], id: NodeId): NodeCell | undefined {\n return cells.find((cell) => isNodeCell(cell) && cell.id === id) as\n | NodeCell\n | undefined;\n}\n","import React, { useMemo } from \"react\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport classNames from \"classnames\";\nimport type { Cell, EdgeCell, EdgeLineConf, NodeView } from \"./interfaces\";\nimport { getDirectLinePoints } from \"../diagram/lines/getDirectLinePoints\";\nimport type { NodeRect } from \"../diagram/interfaces\";\nimport { findNode } from \"./processors/findNode\";\n\nexport interface EdgeComponentProps {\n edge: EdgeCell;\n cells: Cell[];\n markerEnd: string;\n defaultEdgeLines?: EdgeLineConf[];\n}\n\nexport function EdgeComponent({\n edge,\n cells,\n markerEnd,\n defaultEdgeLines,\n}: EdgeComponentProps): JSX.Element | null {\n const sourceNode = useMemo(\n () => findNode(cells, edge.source),\n [cells, edge.source]\n );\n const targetNode = useMemo(\n () => findNode(cells, edge.target),\n [cells, edge.target]\n );\n const lineConf = useMemo(\n () => defaultEdgeLines?.find((item) => checkIfByTransform(item, { edge })),\n [defaultEdgeLines, edge]\n );\n\n const padding = 5;\n\n const line = useMemo(\n () =>\n sourceNode && targetNode\n ? getDirectLinePoints(\n nodeViewToNodeRect(sourceNode.view, padding),\n nodeViewToNodeRect(targetNode.view, padding)\n )\n : null,\n [sourceNode, targetNode]\n );\n\n if (!line) {\n // This happens when source or target is not found\n return null;\n }\n\n const d = `M${line[0].x} ${line[0].y}L${line[1].x} ${line[1].y}`;\n\n return (\n <>\n <path\n // This `path` is made for expanding interaction area of graph lines.\n d={d}\n fill=\"none\"\n stroke=\"transparent\"\n strokeWidth={16}\n />\n <path\n className={classNames(\"line\", { dashed: lineConf?.dashed })}\n d={d}\n fill=\"none\"\n stroke=\"gray\"\n markerEnd={`url(#${markerEnd})`}\n />\n <path className=\"line-active-bg\" d={d} fill=\"none\" />\n </>\n );\n}\n\nfunction nodeViewToNodeRect(view: NodeView, padding: number): NodeRect {\n return {\n x: view.x + view.width / 2,\n y: view.y + view.height / 2,\n width: view.width + padding,\n height: view.height + padding,\n };\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport { isEqual } from \"lodash\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type { NodeBrickCell, NodeBrickConf, NodeCell } from \"./interfaces\";\nimport type { SizeTuple } from \"../diagram/interfaces\";\n\nexport interface NodeComponentProps {\n node: NodeCell;\n defaultNodeBricks?: NodeBrickConf[];\n onResize(id: string, size: SizeTuple | null): void;\n}\n\nexport function NodeComponent({\n node,\n defaultNodeBricks,\n onResize,\n}: NodeComponentProps): JSX.Element | null {\n const memoizedData = useDeepMemo({ node: { id: node.id, data: node.data } });\n const specifiedUseBrick = (node as NodeBrickCell).useBrick;\n const observerRef = useRef<ResizeObserver | null>(null);\n\n const useBrick = useMemo(() => {\n return (\n specifiedUseBrick ??\n defaultNodeBricks?.find((item) => checkIfByTransform(item, memoizedData))\n ?.useBrick\n );\n }, [defaultNodeBricks, specifiedUseBrick, memoizedData]);\n\n const refCallback = useCallback(\n (element: HTMLElement | null) => {\n const prevObserver = observerRef.current;\n if (prevObserver) {\n prevObserver.disconnect();\n observerRef.current = null;\n }\n if (element) {\n // Todo: correctly wait for `useBrick` in v3 to be rendered (after layout)\n // Wait a macro task to let `useBrick` to be rendered.\n setTimeout(() => {\n const observer = new ResizeObserver(() => {\n onResize(node.id, [element.clientWidth, element.clientHeight]);\n });\n observer.observe(element);\n observerRef.current = observer;\n });\n } else {\n onResize(node.id, null);\n }\n },\n [node.id, onResize]\n );\n\n return useBrick ? (\n <foreignObject\n // Make a large size to avoid the brick inside to be clipped by the foreignObject.\n width={9999}\n height={9999}\n className=\"node\"\n >\n {useBrick && (\n <ReactUseBrick\n useBrick={useBrick}\n data={memoizedData}\n refCallback={refCallback}\n />\n )}\n </foreignObject>\n ) : null;\n}\n\nfunction useDeepMemo<T>(value: T): T {\n const [memoizedValue, setMemoizedValue] = useState(value);\n\n useEffect(() => {\n setMemoizedValue((prev) => (isEqual(prev, value) ? prev : value));\n }, [value]);\n\n return memoizedValue;\n}\n","import { pick } from \"lodash\";\nimport type { ActiveTarget, Cell } from \"../interfaces\";\n\nexport function cellToTarget(cell: Cell): ActiveTarget {\n return cell.type === \"edge\"\n ? pick(cell, [\"type\", \"source\", \"target\", \"data\"])\n : pick(cell, [\"type\", \"id\", \"data\"]);\n}\n","import type { PositionTuple } from \"../../diagram/interfaces\";\nimport type { ActiveTarget, Cell } from \"../interfaces\";\nimport type {\n MoveCellPayload,\n ResizeCellPayload,\n} from \"../reducers/interfaces\";\nimport { cellToTarget } from \"./cellToTarget\";\n\nexport function handleMouseDown(\n event: MouseEvent,\n {\n action,\n cell,\n scale,\n onCellMoving,\n onCellMoved,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n }: {\n action: \"move\" | \"resize\";\n cell: Cell;\n scale: number;\n onCellMoving?(info: MoveCellPayload): void;\n onCellMoved?(info: MoveCellPayload): void;\n onCellResizing?(info: ResizeCellPayload): void;\n onCellResized?(info: ResizeCellPayload): void;\n onSwitchActiveTarget?(activeTarget: ActiveTarget | null): void;\n }\n) {\n event.stopPropagation();\n // Drag node\n onSwitchActiveTarget?.(cellToTarget(cell));\n\n if (cell.type === \"edge\") {\n return;\n }\n\n const from: PositionTuple = [event.clientX, event.clientY];\n const original =\n action === \"move\"\n ? [cell.view.x, cell.view.y]\n : [cell.view.width, cell.view.height];\n\n function getMovement(e: MouseEvent): PositionTuple {\n return [(e.clientX - from[0]) / scale, (e.clientY - from[1]) / scale];\n }\n\n let moved = false;\n\n const handleMove = (e: MouseEvent, finished?: boolean) => {\n // Respect the scale\n const movement = getMovement(e);\n if (!moved) {\n moved = movement[0] ** 2 + movement[1] ** 2 >= 9;\n }\n // const [x, y] = getNewPosition(movement);\n // adjustCellPosition(x, y);\n if (moved) {\n if (action === \"move\") {\n (finished ? onCellMoved : onCellMoving)?.({\n type: cell.type,\n id: cell.id,\n x: original[0] + movement[0],\n y: original[1] + movement[1],\n });\n } else {\n (finished ? onCellResized : onCellResizing)?.({\n type: cell.type,\n id: cell.id,\n width: original[0] + movement[0],\n height: original[1] + movement[1],\n });\n }\n }\n };\n\n const onMouseMove = (e: MouseEvent) => {\n handleMove(e);\n };\n const onMouseUp = (e: MouseEvent) => {\n handleMove(e, true);\n moved = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n}\n","import React, { useEffect } from \"react\";\nimport type { BasicDecoratorProps } from \"../interfaces\";\nimport { handleMouseDown } from \"../processors/handleMouseDown\";\n\nexport function DecoratorArea({\n cell,\n transform,\n readOnly,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n}: BasicDecoratorProps): JSX.Element {\n const resizeHandleRef = React.useRef<SVGGElement>(null);\n\n useEffect(() => {\n const resizeHandle = resizeHandleRef.current;\n if (!resizeHandle || readOnly) {\n return;\n }\n const onMouseDown = (event: MouseEvent) => {\n handleMouseDown(event, {\n action: \"resize\",\n cell,\n scale: transform.k,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n });\n };\n resizeHandle.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n resizeHandle.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [\n cell,\n onCellResized,\n onCellResizing,\n onSwitchActiveTarget,\n readOnly,\n transform.k,\n ]);\n\n return (\n <g className=\"decorator-area\">\n <rect\n width={cell.view.width}\n height={cell.view.height}\n className=\"area\"\n />\n {!readOnly && (\n <g\n ref={resizeHandleRef}\n className=\"resize-handle\"\n transform={`translate(${cell.view.width - 20} ${cell.view.height - 20})`}\n >\n <rect width={20} height={20} />\n <path d=\"M10 18L18 10 M15 18L18 15\" />\n </g>\n )}\n </g>\n );\n}\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport type { BasicDecoratorProps } from \"../interfaces\";\nimport classNames from \"classnames\";\n\nexport type DecoratorTextProps = Pick<\n BasicDecoratorProps,\n \"cell\" | \"readOnly\" | \"onDecoratorTextEditing\" | \"onDecoratorTextChange\"\n>;\n\nexport function DecoratorText({\n cell,\n readOnly,\n onDecoratorTextEditing,\n onDecoratorTextChange,\n}: DecoratorTextProps): JSX.Element {\n const label = cell.view.text ?? \"\";\n const [currentLabel, setCurrentLabel] = useState<string>(label);\n const [editingLabel, setEditingLabel] = useState(false);\n const editingLabelInitialized = useRef(false);\n const [shouldEmitLabelChange, setShouldEmitLabelChange] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n const handleEnableEdit = useCallback(\n (e: React.MouseEvent) => {\n if (readOnly) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n setEditingLabel(true);\n },\n [readOnly]\n );\n\n useEffect(() => {\n const element = ref.current;\n if (element && element.textContent !== currentLabel) {\n element.textContent = currentLabel;\n }\n }, [currentLabel]);\n\n useEffect(() => {\n if (editingLabel && ref.current) {\n ref.current.focus();\n selectAllText(ref.current);\n }\n onDecoratorTextEditing?.({ id: cell.id, editing: editingLabel });\n }, [cell.id, editingLabel, onDecoratorTextEditing]);\n\n useEffect(() => {\n if (editingLabelInitialized.current) {\n onDecoratorTextEditing?.({ id: cell.id, editing: editingLabel });\n } else {\n editingLabelInitialized.current = true;\n }\n }, [cell.id, editingLabel, onDecoratorTextEditing]);\n\n const handleInput = useCallback(\n (event: React.FormEvent<HTMLDivElement>) => {\n if (readOnly) {\n return;\n }\n setCurrentLabel((event.target as HTMLDivElement).textContent!);\n },\n [readOnly]\n );\n\n const handleBlur = useCallback(() => {\n if (readOnly) {\n return;\n }\n setEditingLabel(false);\n setShouldEmitLabelChange(true);\n }, [readOnly]);\n\n useEffect(() => {\n if (shouldEmitLabelChange) {\n onDecoratorTextChange?.({\n id: cell.id,\n view: { ...cell.view, text: currentLabel },\n });\n setShouldEmitLabelChange(false);\n }\n }, [cell, currentLabel, onDecoratorTextChange, shouldEmitLabelChange]);\n\n return (\n <foreignObject className=\"decorator-text\">\n <div\n className={classNames(\"text-container\", { editing: editingLabel })}\n onDoubleClick={handleEnableEdit}\n >\n <div\n className=\"text\"\n contentEditable={editingLabel}\n ref={ref}\n onInput={handleInput}\n onBlur={handleBlur}\n />\n </div>\n </foreignObject>\n );\n}\n\nfunction selectAllText(element: HTMLElement) {\n const range = document.createRange();\n range.selectNodeContents(element);\n const selection = window.getSelection()!;\n selection.removeAllRanges();\n selection.addRange(range);\n}\n","import React from \"react\";\nimport type { BasicDecoratorProps } from \"../interfaces\";\nimport { DecoratorArea } from \"./DecoratorArea\";\nimport { DecoratorText } from \"./DecoratorText\";\n\nexport function DecoratorComponent({\n cell,\n transform,\n readOnly,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n onDecoratorTextEditing,\n onDecoratorTextChange,\n}: BasicDecoratorProps): JSX.Element | null {\n let SpecifiedComponent: (props: BasicDecoratorProps) => JSX.Element | null;\n\n switch (cell.decorator) {\n case \"area\":\n SpecifiedComponent = DecoratorArea;\n break;\n case \"text\":\n SpecifiedComponent = DecoratorText;\n break;\n // istanbul ignore next\n default:\n // eslint-disable-next-line no-console\n console.error(`Unknown decorator: ${cell.decorator}`);\n return null;\n }\n\n return (\n <SpecifiedComponent\n cell={cell}\n transform={transform}\n readOnly={readOnly}\n onCellResizing={onCellResizing}\n onCellResized={onCellResized}\n onSwitchActiveTarget={onSwitchActiveTarget}\n onDecoratorTextEditing={onDecoratorTextEditing}\n onDecoratorTextChange={onDecoratorTextChange}\n />\n );\n}\n","import React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport type {\n ActiveTarget,\n Cell,\n CellContextMenuDetail,\n DecoratorTextChangeDetail,\n EdgeLineConf,\n NodeBrickConf,\n} from \"./interfaces\";\nimport { isDecoratorCell, isEdgeCell, isNodeCell } from \"./processors/asserts\";\nimport { EdgeComponent } from \"./EdgeComponent\";\nimport { NodeComponent } from \"./NodeComponent\";\nimport { handleMouseDown } from \"./processors/handleMouseDown\";\nimport type { MoveCellPayload, ResizeCellPayload } from \"./reducers/interfaces\";\nimport { DecoratorComponent } from \"./decorators\";\nimport { cellToTarget } from \"./processors/cellToTarget\";\nimport type { SizeTuple, TransformLiteral } from \"../diagram/interfaces\";\nimport { sameTarget } from \"./processors/sameTarget\";\n\nexport interface CellComponentProps {\n cell: Cell;\n cells: Cell[];\n defaultNodeBricks?: NodeBrickConf[];\n defaultEdgeLines?: EdgeLineConf[];\n transform: TransformLiteral;\n markerEnd: string;\n active: boolean;\n readOnly?: boolean;\n unrelatedCells: Cell[];\n onCellMoving?(info: MoveCellPayload): void;\n onCellMoved?(info: MoveCellPayload): void;\n onCellResizing?(info: ResizeCellPayload): void;\n onCellResized?(info: ResizeCellPayload): void;\n onSwitchActiveTarget(target: ActiveTarget | null): void;\n onCellContextMenu(detail: CellContextMenuDetail): void;\n onDecoratorTextEditing?(detail: { id: string; editing: boolean }): void;\n onDecoratorTextChange?(detail: DecoratorTextChangeDetail): void;\n onNodeBrickResize(id: string, size: SizeTuple | null): void;\n onCellMouseEnter?(cell: Cell): void;\n onCellMouseLeave?(cell: Cell): void;\n}\n\nexport function CellComponent({\n cell,\n cells,\n defaultNodeBricks,\n defaultEdgeLines,\n markerEnd,\n active,\n readOnly,\n transform,\n unrelatedCells,\n onCellMoving,\n onCellMoved,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n onCellContextMenu,\n onDecoratorTextEditing,\n onDecoratorTextChange,\n onNodeBrickResize,\n onCellMouseEnter,\n onCellMouseLeave,\n}: CellComponentProps): JSX.Element | null {\n const gRef = useRef<SVGGElement>(null);\n\n const unrelated = useMemo(\n () => unrelatedCells.some((item) => sameTarget(item, cell)),\n [cell, unrelatedCells]\n );\n\n useEffect(() => {\n const g = gRef.current;\n if (!g || readOnly) {\n return;\n }\n const onMouseDown = (event: MouseEvent) => {\n handleMouseDown(event, {\n action: \"move\",\n cell,\n scale: transform.k,\n onCellMoving,\n onCellMoved,\n onSwitchActiveTarget,\n });\n };\n g.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n g.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [\n cell,\n onCellMoved,\n onCellMoving,\n onSwitchActiveTarget,\n readOnly,\n transform.k,\n ]);\n\n const handleContextMenu = useCallback(\n (event: React.MouseEvent<SVGGElement>) => {\n if (readOnly && cell.type === \"decorator\") {\n return;\n }\n event.preventDefault();\n onSwitchActiveTarget(cellToTarget(cell));\n onCellContextMenu({\n cell,\n clientX: event.clientX,\n clientY: event.clientY,\n });\n },\n [cell, onCellContextMenu, onSwitchActiveTarget, readOnly]\n );\n\n const handleMouseEnter = useCallback(() => {\n onCellMouseEnter?.(cell);\n }, [cell, onCellMouseEnter]);\n\n const handleMouseLeave = useCallback(() => {\n onCellMouseLeave?.(cell);\n }, [cell, onCellMouseLeave]);\n\n return (\n <g\n className={classNames(\"cell\", {\n active,\n faded: unrelated,\n \"read-only\": readOnly,\n })}\n ref={gRef}\n transform={\n cell.type === \"edge\"\n ? undefined\n : `translate(${cell.view.x} ${cell.view.y})`\n }\n onContextMenu={handleContextMenu}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {isNodeCell(cell) ? (\n <NodeComponent\n node={cell}\n defaultNodeBricks={defaultNodeBricks}\n onResize={onNodeBrickResize}\n />\n ) : isEdgeCell(cell) ? (\n <EdgeComponent\n edge={cell}\n defaultEdgeLines={defaultEdgeLines}\n cells={cells}\n markerEnd={markerEnd}\n />\n ) : isDecoratorCell(cell) ? (\n <DecoratorComponent\n cell={cell}\n transform={transform}\n readOnly={readOnly}\n onCellResizing={onCellResizing}\n onCellResized={onCellResized}\n onSwitchActiveTarget={onSwitchActiveTarget}\n onDecoratorTextEditing={onDecoratorTextEditing}\n onDecoratorTextChange={onDecoratorTextChange}\n />\n ) : null}\n </g>\n );\n}\n","export const SYMBOL_FOR_SIZE_INITIALIZED = Symbol.for(\"size-initialized\");\nexport const DEFAULT_NODE_SIZE = 20;\nexport const DEFAULT_NODE_GAP = 36;\nexport const DEFAULT_AREA_WIDTH = 100;\nexport const DEFAULT_AREA_HEIGHT = 60;\nexport const DEFAULT_SCALE_RANGE_MIN = 0.5;\nexport const DEFAULT_SCALE_RANGE_MAX = 2;\n","import type {\n Cell,\n DecoratorCell,\n EdgeCell,\n InitialCell,\n InitialNodeCell,\n NodeCell,\n} from \"../interfaces\";\n\nexport function isNodeCell(cell: Cell): cell is NodeCell {\n return cell.type === \"node\";\n}\n\nexport function isDecoratorCell(cell: Cell): cell is DecoratorCell {\n return cell.type === \"decorator\";\n}\n\nexport function isInitialNodeCell(cell: InitialCell): cell is InitialNodeCell {\n return cell.type === \"node\";\n}\n\nexport function isEdgeCell(cell: Cell): cell is EdgeCell {\n return cell.type === \"edge\";\n}\n","import type { ActiveTarget, Cell, ConnectLineState } from \"../interfaces\";\nimport { sameTarget } from \"./sameTarget\";\n\nexport function getUnrelatedCells(\n cells: Cell[],\n connectLineState: ConnectLineState | null,\n activeTarget: ActiveTarget | null\n): Cell[] {\n const unrelated: Cell[] = [];\n\n if (connectLineState) {\n const existedTargets = new Set<string>();\n for (const cell of cells) {\n if (cell.type === \"edge\" && cell.source === connectLineState.source.id) {\n existedTargets.add(cell.target);\n }\n }\n for (const cell of cells) {\n switch (cell.type) {\n case \"node\":\n if (existedTargets.has(cell.id)) {\n unrelated.push(cell);\n }\n break;\n default:\n unrelated.push(cell);\n }\n }\n } else {\n switch (activeTarget?.type) {\n case \"node\": {\n const nodesMap = new Map<string, Cell>();\n const relatedNodeIds = new Set<string>([activeTarget.id]);\n for (const cell of cells) {\n if (cell.type === \"node\") {\n nodesMap.set(cell.id, cell);\n } else if (cell.type === \"edge\") {\n if (cell.source === activeTarget.id) {\n relatedNodeIds.add(cell.target);\n } else if (cell.target === activeTarget.id) {\n relatedNodeIds.add(cell.source);\n } else {\n unrelated.push(cell);\n }\n } else {\n unrelated.push(cell);\n }\n }\n for (const [id, cell] of nodesMap) {\n if (!relatedNodeIds.has(id)) {\n unrelated.push(cell);\n }\n }\n break;\n }\n\n case \"edge\":\n for (const cell of cells) {\n if (\n !(cell.type === \"edge\"\n ? sameTarget(cell, activeTarget)\n : cell.type === \"node\" &&\n (cell.id === activeTarget.source ||\n cell.id === activeTarget.target))\n ) {\n unrelated.push(cell);\n }\n }\n break;\n\n case \"decorator\":\n for (const cell of cells) {\n if (cell.type !== \"decorator\" || cell.id !== activeTarget.id) {\n unrelated.push(cell);\n }\n }\n break;\n }\n }\n\n return unrelated;\n}\n","import type { SizeTuple } from \"../../diagram/interfaces\";\nimport type { Cell, InitialCell, NodeCell } from \"../interfaces\";\nimport { isInitialNodeCell } from \"./asserts\";\n\nexport function initializeCells(\n initialCells: InitialCell[] | undefined,\n {\n defaultNodeSize,\n }: {\n defaultNodeSize: SizeTuple;\n }\n): Cell[] {\n const originalCells = initialCells ?? [];\n const finalCells: Cell[] = originalCells.map<Cell>((cell) => {\n if (\n !isInitialNodeCell(cell) ||\n (cell.view?.width !== undefined && cell.view?.height !== undefined)\n ) {\n return cell as NodeCell;\n }\n return {\n ...cell,\n view: {\n width: defaultNodeSize[0],\n height: defaultNodeSize[1],\n ...cell.view,\n },\n } as NodeCell;\n });\n return finalCells;\n}\n","import type {\n ActiveTarget,\n ActiveTargetOfEdge,\n ActiveTargetOfNode,\n} from \"../interfaces\";\n\nexport function sameTarget(\n a: ActiveTarget | null | undefined,\n b: ActiveTarget | null | undefined\n): boolean {\n return a\n ? !!b &&\n a.type === b.type &&\n (a.type === \"node\" || a.type === \"decorator\"\n ? a.id === (b as ActiveTargetOfNode).id\n : a.source === (b as ActiveTargetOfEdge).source &&\n a.target === (b as ActiveTargetOfEdge).target)\n : !b;\n}\n","import type { TransformLiteral } from \"../../diagram/interfaces\";\nimport type { Cell } from \"../interfaces\";\nimport { isEdgeCell } from \"./asserts\";\n\nexport interface TransformToCenterOptions {\n canvasWidth: number;\n canvasHeight: number;\n scaleRange?: [min: number, max: number];\n}\n\nexport function transformToCenter(\n cells: Cell[],\n { canvasWidth, canvasHeight, scaleRange }: TransformToCenterOptions\n): TransformLiteral {\n let left = Infinity;\n let top = Infinity;\n let right = -Infinity;\n let bottom = -Infinity;\n let empty = true;\n for (const cell of cells) {\n if (!isEdgeCell(cell)) {\n empty = false;\n const { view } = cell;\n const r = view.x + view.width;\n const b = view.y + view.height;\n if (view.x < left) {\n left = view.x;\n }\n if (r > right) {\n right = r;\n }\n if (view.y < top) {\n top = view.y;\n }\n if (b > bottom) {\n bottom = b;\n }\n }\n }\n\n const width = right - left;\n const height = bottom - top;\n\n const scale =\n scaleRange && !empty && (width > canvasWidth || height > canvasHeight)\n ? Math.max(\n Math.min(canvasWidth / width, canvasHeight / height, scaleRange[1]),\n scaleRange[0]\n )\n : 1;\n\n const x = empty ? 0 : (canvasWidth - width * scale) / 2 - left * scale;\n const y = empty ? 0 : (canvasHeight - height * scale) / 2 - top * scale;\n\n return { x, y, k: scale };\n}\n","import type { Reducer } from \"react\";\nimport type { DrawCanvasAction } from \"./interfaces\";\nimport type { Cell, NodeCell } from \"../interfaces\";\nimport { isNodeCell } from \"../processors/asserts\";\nimport { SYMBOL_FOR_SIZE_INITIALIZED } from \"../constants\";\n\nexport const cells: Reducer<Cell[], DrawCanvasAction> = (state, action) => {\n switch (action.type) {\n case \"drop-node\":\n return insertCellAfter(\n state,\n action.payload,\n (cell) => !(cell.type === \"decorator\" && cell.decorator === \"text\")\n );\n case \"drop-decorator\": {\n if (action.payload.decorator === \"text\") {\n return [...state, action.payload];\n }\n return insertCellAfter(\n state,\n action.payload,\n (cell) => cell.type === \"decorator\" && cell.decorator === \"area\"\n );\n }\n case \"add-nodes\": {\n const index =\n state.findLastIndex(\n (cell) => !(cell.type === \"decorator\" && cell.decorator === \"text\")\n ) + 1;\n return [\n ...state.slice(0, index),\n ...action.payload,\n ...state.slice(index),\n ];\n }\n case \"add-edge\":\n // Add the edge to just next to the previous last edge or area decorator.\n // If not found, append to the start.\n return insertCellAfter(\n state,\n action.payload,\n (cell) =>\n cell.type === \"edge\" ||\n (cell.type === \"decorator\" && cell.decorator === \"area\")\n );\n case \"move-cell\": {\n const { type, id, x, y } = action.payload;\n const index = state.findIndex(\n (cell) => cell.type === type && cell.id === id\n );\n if (index !== -1) {\n const node = state[index] as NodeCell;\n return [\n ...state.slice(0, index),\n { ...node, view: { ...node.view, x, y } },\n ...state.slice(index + 1),\n ];\n }\n return state;\n }\n case \"resize-cell\": {\n const { type, id, width, height } = action.payload;\n const index = state.findIndex(\n (cell) => cell.type === type && cell.id === id\n );\n if (index !== -1) {\n const node = state[index] as NodeCell;\n return [\n ...state.slice(0, index),\n { ...node, view: { ...node.view, width, height } },\n ...state.slice(index + 1),\n ];\n }\n return state;\n }\n case \"update-cells\":\n return action.payload;\n case \"update-node-size\":\n return state.map((cell) =>\n isNodeCell(cell) && cell.id === action.payload.id\n ? {\n ...cell,\n [SYMBOL_FOR_SIZE_INITIALIZED]: true,\n view: action.payload.size\n ? {\n ...cell.view,\n width: action.payload.size[0],\n height: action.payload.size[1],\n }\n : cell.view,\n }\n : cell\n );\n }\n return state;\n};\n\nfunction insertCellAfter(\n cells: Cell[],\n newCell: Cell,\n after: (cell: Cell) => boolean\n) {\n const index = cells.findLastIndex(after) + 1;\n return [...cells.slice(0, index), newCell, ...cells.slice(index)];\n}\n","import { Reducer } from \"react\";\nimport type { DrawCanvasAction, DrawCanvasState } from \"./interfaces\";\nimport { cells } from \"./cells\";\n\ntype ReducersMapObject<S, A> = {\n [K in keyof S]: Reducer<S[K], A>;\n};\n\nfunction combineReducers<S, A>(\n reducers: ReducersMapObject<S, A>\n): Reducer<S, A> {\n return ((state, action) =>\n Object.fromEntries(\n Object.entries<Reducer<any, A>>(reducers).map(([key, value]) => [\n key,\n value(state[key as keyof S], action),\n ])\n )) as Reducer<S, A>;\n}\n\nexport const rootReducer = combineReducers<DrawCanvasState, DrawCanvasAction>({\n cells,\n});\n","import * as React from \"react\";\nconst SvgCenter = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} viewBox=\"0 0 24 24\" {...props}><path d=\"M12 0a.5.5 0 0 1 .5.5v2.013a9.5 9.5 0 0 1 8.987 8.988L23.5 11.5a.5.5 0 0 1 0 1h-2.013a9.5 9.5 0 0 1-8.987 8.987V23.5a.5.5 0 0 1-1 0v-2.013A9.5 9.5 0 0 1 2.514 12.5H.5a.5.5 0 0 1 0-1h2.013A9.5 9.5 0 0 1 11.5 2.514V.5A.5.5 0 0 1 12 0M3.514 11.5H7.5a.5.5 0 0 1 0 1H3.514a8.5 8.5 0 0 0 7.987 7.986L11.5 16.5a.5.5 0 0 1 1 0v3.986a8.5 8.5 0 0 0 7.986-7.986H16.5a.5.5 0 0 1 0-1h3.986A8.5 8.5 0 0 0 12.5 3.515V7.5a.5.5 0 0 1-1 0V3.514a8.5 8.5 0 0 0-7.986 7.987zm8.486-1a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3\" /></svg>;\nexport default SvgCenter;","import * as React from \"react\";\nconst SvgZoomIn = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={128} height={128} className=\"icon\" viewBox=\"0 0 1024 1024\" {...props}><path d=\"M512 76.8A435.2 435.2 0 1 0 947.2 512 435.71 435.71 0 0 0 512 76.8m0 819.2a384 384 0 1 1 384-384 384 384 0 0 1-384 384\" /><path d=\"M744.448 486.4h-204.8V281.6a25.6 25.6 0 1 0-51.2 0v204.8h-204.8a25.6 25.6 0 0 0 0 51.2h204.8v204.8a25.6 25.6 0 0 0 51.2 0V537.6h204.8a25.6 25.6 0 0 0 0-51.2\" /></svg>;\nexport default SvgZoomIn;","import * as React from \"react\";\nconst SvgZoomOut = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={128} height={128} className=\"icon\" viewBox=\"0 0 1024 1024\" {...props}><path d=\"M512 76.8A435.2 435.2 0 1 0 947.2 512 435.71 435.71 0 0 0 512 76.8m0 819.2a384 384 0 1 1 384-384 384 384 0 0 1-384 384\" /><path d=\"M744.448 486.4H280.064a25.6 25.6 0 1 0 0 51.2h464.384a25.6 25.6 0 0 0 0-51.2\" /></svg>;\nexport default SvgZoomOut;","import React, { useCallback, useMemo, useRef } from \"react\";\nimport { ConfigProvider, Slider, theme } from \"antd\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport type { RangeTuple } from \"../../diagram/interfaces\";\nimport CenterSVG from \"./icons/center.svg\";\nimport ZoomInSVG from \"./icons/zoom-in.svg\";\nimport ZoomOutSVG from \"./icons/zoom-out.svg\";\n\nexport interface ZoomBarComponentProps {\n shadowRoot: ShadowRoot;\n scale: number;\n scaleRange: RangeTuple;\n onZoomChange(value: number): void;\n onReCenter(): void;\n}\n\nexport function ZoomBarComponent({\n shadowRoot,\n scale,\n scaleRange,\n onZoomChange,\n onReCenter,\n}: ZoomBarComponentProps): JSX.Element | null {\n const currentTheme = useCurrentTheme();\n const cache = useMemo(() => createCache(), []);\n const zoomBarRef = useRef<HTMLDivElement | null>(null);\n const min = scaleRange[0] * 100;\n const max = scaleRange[1] * 100;\n const value = scale * 100;\n const step = 5;\n\n const tooltip = useMemo(() => {\n return {\n formatter: (value: number | undefined) => `${value}%`,\n placement: \"left\" as const,\n getPopupContainer: () => zoomBarRef.current!,\n };\n }, []);\n\n const onZoomIn = useCallback(() => {\n onZoomChange(Math.min(value + step, max));\n }, [max, onZoomChange, value]);\n\n const onZoomOut = useCallback(() => {\n onZoomChange(Math.max(value - step, min));\n }, [min, onZoomChange, value]);\n\n return (\n <ConfigProvider\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider\n container={shadowRoot}\n // Auto clear injected styles after unmount\n autoClear\n cache={cache}\n // Set hashPriority to \"high\" to disable `:where()` usage for compatibility\n hashPriority=\"high\"\n >\n <div className=\"zoom-bar\" ref={zoomBarRef}>\n <div className=\"center-button\" onClick={onReCenter} role=\"button\">\n <CenterSVG />\n </div>\n <div className=\"zoom-slider\">\n <div className=\"zoom-button\" role=\"button\" onClick={onZoomIn}>\n <ZoomInSVG />\n </div>\n <Slider\n min={min}\n max={max}\n value={value}\n step={step}\n vertical\n included={false}\n tooltip={tooltip}\n onChange={onZoomChange}\n />\n <div className=\"zoom-button\" role=\"button\" onClick={onZoomOut}>\n <ZoomOutSVG />\n </div>\n </div>\n </div>\n </StyleProvider>\n </ConfigProvider>\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\nimport type { ActiveTarget } from \"../../draw-canvas/interfaces\";\nimport { sameTarget } from \"../../draw-canvas/processors/sameTarget\";\n\nexport interface UseActiveTargetOptions {\n cellsRef: React.RefObject<SVGGElement>;\n activeTarget?: ActiveTarget | null;\n onActiveTargetChange(target: ActiveTarget | null): void;\n}\n\nexport type UseActiveTargetResult = ActiveTarget | null;\n\nexport function useActiveTarget({\n cellsRef,\n activeTarget: _activeTarget,\n onActiveTargetChange,\n}: UseActiveTargetOptions): UseActiveTargetResult {\n const newActiveTarget = _activeTarget ?? null;\n const [activeTarget, setActiveTarget] = useState<ActiveTarget | null>(\n newActiveTarget\n );\n\n useEffect(() => {\n setActiveTarget((previous) =>\n sameTarget(previous, newActiveTarget) ? previous : newActiveTarget\n );\n }, [newActiveTarget]);\n\n const activeTargetChangeInitialized = useRef(false);\n useEffect(() => {\n if (!activeTargetChangeInitialized.current) {\n activeTargetChangeInitialized.current = true;\n return;\n }\n onActiveTargetChange(activeTarget);\n }, [activeTarget, onActiveTargetChange]);\n\n useEffect(() => {\n if (!activeTarget) {\n return;\n }\n const resetActiveTarget = (e: MouseEvent) => {\n const path = e.composedPath();\n const cellsContainerIndex = path.indexOf(cellsRef.current!);\n // Reset active target to null when clicking outside of the cells container,\n // Or inside the cells container but not on any cell.\n if (cellsContainerIndex <= 0) {\n setActiveTarget(null);\n }\n };\n document.addEventListener(\"click\", resetActiveTarget);\n return () => {\n document.removeEventListener(\"click\", resetActiveTarget);\n };\n }, [activeTarget, cellsRef]);\n\n return activeTarget;\n}\n","import React, { useEffect, useState } from \"react\";\nimport { select } from \"d3-selection\";\nimport { ZoomTransform, type ZoomBehavior } from \"d3-zoom\";\nimport type { RangeTuple } from \"../../diagram/interfaces\";\nimport { SYMBOL_FOR_SIZE_INITIALIZED } from \"../../draw-canvas/constants\";\nimport type { Cell } from \"../../draw-canvas/interfaces\";\nimport {\n isDecoratorCell,\n isNodeCell,\n} from \"../../draw-canvas/processors/asserts\";\nimport { transformToCenter } from \"../../draw-canvas/processors/transformToCenter\";\n\nexport interface UseAutoCenterOptions {\n rootRef: React.RefObject<SVGSVGElement>;\n cells: Cell[];\n zoomable?: boolean;\n zoomer: ZoomBehavior<SVGSVGElement, unknown>;\n scaleRange: RangeTuple;\n}\n\nexport type UseAutoCenterResult = [\n centered: boolean,\n setCentered: React.Dispatch<React.SetStateAction<boolean>>,\n];\n\nexport function useAutoCenter({\n rootRef,\n cells,\n zoomable,\n zoomer,\n scaleRange,\n}: UseAutoCenterOptions): UseAutoCenterResult {\n const [centered, setCentered] = useState(false);\n\n useEffect(() => {\n const root = rootRef.current;\n if (\n !root ||\n centered ||\n !cells.some((cell) => isNodeCell(cell) || isDecoratorCell(cell)) ||\n cells.some(\n (cell) => isNodeCell(cell) && !cell[SYMBOL_FOR_SIZE_INITIALIZED]\n )\n ) {\n return;\n }\n const { k, x, y } = transformToCenter(cells, {\n canvasWidth: root.clientWidth,\n canvasHeight: root.clientHeight,\n scaleRange: zoomable ? scaleRange : undefined,\n });\n // istanbul ignore next\n if (process.env.NODE_ENV !== \"test\") {\n // jsdom doesn't support svg baseVal yet.\n // https://github.com/jsdom/jsdom/issues/2531\n zoomer.transform(select(root), new ZoomTransform(k, x, y));\n }\n setCentered(true);\n }, [cells, centered, rootRef, scaleRange, zoomable, zoomer]);\n\n useEffect(() => {\n // Reset auto centering when nodes and decorators are all removed.\n if (!cells.some((cell) => isNodeCell(cell) || isDecoratorCell(cell))) {\n setCentered(false);\n }\n }, [cells]);\n\n return [centered, setCentered];\n}\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { select } from \"d3-selection\";\nimport { zoom, type ZoomBehavior } from \"d3-zoom\";\nimport type { RangeTuple, TransformLiteral } from \"../../diagram/interfaces\";\nimport {\n DEFAULT_SCALE_RANGE_MIN,\n DEFAULT_SCALE_RANGE_MAX,\n} from \"../../draw-canvas/constants\";\nimport type { ActiveTarget } from \"../../draw-canvas/interfaces\";\n\nexport interface UseZoomOptions {\n rootRef: React.RefObject<SVGSVGElement>;\n zoomable?: boolean;\n scrollable?: boolean;\n pannable?: boolean;\n scaleRange?: RangeTuple;\n onSwitchActiveTarget?(target: ActiveTarget | null): void;\n}\n\nexport interface UseZoomResult {\n grabbing: boolean;\n transform: TransformLiteral;\n scaleRange: RangeTuple;\n zoomer: ZoomBehavior<SVGSVGElement, unknown>;\n}\n\nexport function useZoom({\n rootRef,\n zoomable,\n scrollable,\n pannable,\n scaleRange: _scaleRange,\n onSwitchActiveTarget,\n}: UseZoomOptions): UseZoomResult {\n const [grabbing, setGrabbing] = useState(false);\n const [transform, setTransform] = useState<TransformLiteral>({\n k: 1,\n x: 0,\n y: 0,\n });\n\n const scaleRange = useMemo(\n () =>\n _scaleRange ??\n ([DEFAULT_SCALE_RANGE_MIN, DEFAULT_SCALE_RANGE_MAX] as RangeTuple),\n [_scaleRange]\n );\n\n const zoomer = useMemo(() => zoom<SVGSVGElement, unknown>(), []);\n\n // istanbul ignore next: d3-zoom currently hard to test\n useEffect(() => {\n let moved = false;\n zoomer\n .scaleExtent(zoomable ? scaleRange : [1, 1])\n .on(\"start\", () => {\n moved = false;\n setGrabbing(true);\n })\n .on(\"zoom\", (e: { transform: TransformLiteral }) => {\n moved = true;\n setTransform(e.transform);\n })\n .on(\"end\", () => {\n setGrabbing(false);\n if (!moved) {\n onSwitchActiveTarget?.(null);\n }\n });\n }, [onSwitchActiveTarget, scaleRange, zoomable, zoomer]);\n\n // istanbul ignore next: d3-zoom currently hard to test\n useEffect(() => {\n const root = rootRef.current;\n if (!root) {\n return;\n }\n\n const rootSelection = select(root);\n\n const unsetZoom = () => {\n rootSelection\n .on(\".zoom\", null)\n .on(\".zoom.custom\", null)\n .on(\"wheel\", null);\n };\n\n if (!(zoomable || scrollable || pannable)) {\n unsetZoom();\n return;\n }\n\n if (zoomable || scrollable) {\n // Do not override default d3 zoom handler.\n // Only handles *panning*\n rootSelection.on(\n \"wheel.zoom.custom\",\n (e: WheelEvent & { wheelDeltaX: number; wheelDeltaY: number }) => {\n // Mac OS trackpad pinch event is emitted as a wheel.zoom and d3.event.ctrlKey set to true\n if (!e.ctrlKey) {\n // Stop immediate propagation for default d3 zoom handler\n e.stopImmediatePropagation();\n if (scrollable) {\n e.preventDefault();\n zoomer.translateBy(\n rootSelection,\n e.wheelDeltaX / 5,\n e.wheelDeltaY / 5\n );\n }\n }\n // zoomer.scaleBy(rootSelection, Math.pow(2, defaultWheelDelta(e)))\n }\n );\n }\n\n rootSelection\n .call(zoomer)\n .on(\"wheel\", (e: WheelEvent) => e.preventDefault())\n .on(\"dblclick.zoom\", null)\n .on(\"mousedown.zoom\", null);\n\n if (!pannable) {\n rootSelection\n .on(\"touchstart.zoom\", null)\n .on(\"touchmove.zoom\", null)\n .on(\"touchend.zoom\", null);\n }\n\n return unsetZoom;\n }, [pannable, rootRef, scrollable, zoomable, zoomer]);\n\n return { grabbing, transform, zoomer, scaleRange };\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.zoom-bar{position:absolute;bottom:20px;right:20px;width:40px}.zoom-slider,\n.center-button{width:100%;display:flex;align-items:center;border:1px solid var(--antd-background-color-base);border-radius:var(--larger-border-radius);box-shadow:var(--connected-overlay-shadow);background-color:var(--color-fill-bg-container-4)}.zoom-slider{height:140px;padding:8px 0;flex-direction:column}[role=\"button\"]{cursor:pointer}.center-button{justify-content:center;margin-bottom:8px;height:40px}.center-button:hover{border-color:var(--antd-btn-default-hover-border-color)}.center-button path{fill:var(--antd-link-hover-color)}.center-button:hover path{fill:var(--palette-blue-7)}.zoom-button{font-size:16px;line-height:0}.zoom-button svg{width:1em;height:1em;fill:var(--antd-link-hover-color)}.zoom-slider .ant-slider-vertical{padding-inline:5px}.zoom-slider .ant-slider-vertical .ant-slider-rail{width:2px}.zoom-slider .ant-slider-vertical .ant-slider-handle{width:6px;height:6px;inset-inline-start:3px}.zoom-slider .ant-slider .ant-slider-handle:hover::before,\n.zoom-slider .ant-slider .ant-slider-handle:focus::before,\n.zoom-slider .ant-slider .ant-slider-handle::before{width:10px;height:10px;inset-inline-start:-2px}.zoom-slider .ant-slider .ant-slider-handle:hover::after,\n.zoom-slider .ant-slider .ant-slider-handle:focus::after,\n.zoom-slider .ant-slider .ant-slider-handle::after{width:6px;height:6px;inset-block-start:0;inset-inline-start:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `*{box-sizing:border-box}:host{display:block;position:relative;overflow:hidden}:host,\n.root{width:100%;height:100%}:host([hidden]){display:none}.root{opacity:0}.root.ready{opacity:1}.root:focus{outline:none}.decorator-area .area{fill:rgba(119,141,195,0.1);stroke:none;stroke-width:0}.node,\n.decorator-text{overflow:visible}.cell.active .decorator-area .area,\n.cell.active .line-active-bg{stroke:var(--palette-blue-5);stroke-dasharray:4;stroke-width:1}.cell:not(.read-only){-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-handle{cursor:nwse-resize;opacity:0}.resize-handle rect{fill:transparent;stroke:none}.resize-handle path{fill:none;stroke:var(--palette-gray-5);stroke-width:1.5}.cell.active .decorator-area .resize-handle,\n.decorator-area:hover .resize-handle{opacity:1}.connect-line{pointer-events:none}.connect-line:not(.connecting){display:none}.line.dashed{stroke-dasharray:4}.cell.active .decorator-text .text-container{outline:1px dashed var(--palette-blue-5)}.decorator-text .text-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:0.5em}.decorator-text .text:focus{outline:none}.cell.faded{opacity:0.3}.cell .node{pointer-events:none}.cell .node > *{pointer-events:auto}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["MarkerComponent","_ref","Component","id","type","strokeColor","EntityRelationZeroOrOneMarker","EntityRelationZeroOrManyMarker","ArrowMarker","React","_ref2","viewBox","refX","refY","markerWidth","markerHeight","orient","strokeLinejoin","d","stroke","strokeWidth","fill","_ref3","_ref4","getDirectLinePoints","source","target","doTwoNodesOverlap","x0","y0","x1","y1","dx","x","dy","y","directionX","deltaRadio","Math","abs","directionY","width","height","a","b","paddingA","paddingB","A","getNodesWithPadding","B","left","min","right","max","top","bottom","node","padding","findNode","cells","find","cell","isNodeCell","EdgeComponent","edge","markerEnd","defaultEdgeLines","sourceNode","useMemo","targetNode","lineConf","item","checkIfByTransform","line","nodeViewToNodeRect","view","concat","className","classNames","dashed","NodeComponent","defaultNodeBricks","onResize","memoizedData","value","memoizedValue","setMemoizedValue","useState","useEffect","prev","isEqual","useDeepMemo","data","specifiedUseBrick","useBrick","observerRef","useRef","_defaultNodeBricks$fi","refCallback","useCallback","element","prevObserver","current","disconnect","setTimeout","observer","ResizeObserver","clientWidth","clientHeight","observe","ReactUseBrick","cellToTarget","pick","handleMouseDown","event","action","scale","onCellMoving","onCellMoved","onCellResizing","onCellResized","onSwitchActiveTarget","stopPropagation","from","clientX","clientY","original","moved","handleMove","e","finished","movement","getMovement","onMouseMove","onMouseUp","document","removeEventListener","addEventListener","DecoratorArea","transform","readOnly","resizeHandleRef","resizeHandle","onMouseDown","k","ref","DecoratorText","_cell$view$text","onDecoratorTextEditing","onDecoratorTextChange","label","text","currentLabel","setCurrentLabel","editingLabel","setEditingLabel","editingLabelInitialized","shouldEmitLabelChange","setShouldEmitLabelChange","handleEnableEdit","preventDefault","textContent","focus","range","createRange","selectNodeContents","selection","window","getSelection","removeAllRanges","addRange","selectAllText","editing","handleInput","handleBlur","_objectSpread","onDoubleClick","contentEditable","onInput","onBlur","DecoratorComponent","SpecifiedComponent","decorator","console","error","CellComponent","active","unrelatedCells","onCellContextMenu","onNodeBrickResize","onCellMouseEnter","onCellMouseLeave","gRef","unrelated","some","sameTarget","g","handleContextMenu","handleMouseEnter","handleMouseLeave","faded","undefined","onContextMenu","onMouseEnter","onMouseLeave","isEdgeCell","isDecoratorCell","SYMBOL_FOR_SIZE_INITIALIZED","Symbol","for","DEFAULT_NODE_SIZE","DEFAULT_NODE_GAP","DEFAULT_AREA_WIDTH","DEFAULT_AREA_HEIGHT","DEFAULT_SCALE_RANGE_MIN","DEFAULT_SCALE_RANGE_MAX","isInitialNodeCell","getUnrelatedCells","connectLineState","activeTarget","existedTargets","Set","add","has","push","nodesMap","Map","relatedNodeIds","set","initializeCells","initialCells","defaultNodeSize","map","_cell$view","_cell$view2","transformToCenter","canvasWidth","canvasHeight","scaleRange","Infinity","empty","r","insertCellAfter","newCell","after","index","findLastIndex","slice","reducers","rootReducer","state","payload","findIndex","size","Object","fromEntries","entries","key","props","_extends","xmlns","ZoomBarComponent","shadowRoot","onZoomChange","onReCenter","currentTheme","useCurrentTheme","cache","createCache","zoomBarRef","tooltip","formatter","placement","getPopupContainer","onZoomIn","onZoomOut","ConfigProvider","theme","algorithm","darkAlgorithm","defaultAlgorithm","StyleProvider","container","autoClear","hashPriority","onClick","role","CenterSVG","ZoomInSVG","Slider","step","vertical","included","onChange","ZoomOutSVG","useActiveTarget","cellsRef","_activeTarget","onActiveTargetChange","newActiveTarget","setActiveTarget","previous","activeTargetChangeInitialized","resetActiveTarget","composedPath","indexOf","useAutoCenter","rootRef","zoomable","zoomer","centered","setCentered","root","select","ZoomTransform","useZoom","scrollable","pannable","_scaleRange","grabbing","setGrabbing","setTransform","zoom","scaleExtent","on","rootSelection","unsetZoom","ctrlKey","stopImmediatePropagation","translateBy","wheelDeltaX","wheelDeltaY","call","___CSS_LOADER_EXPORT___","module","toString"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9061],{4579:(e,t,r)=>{r.d(t,{H:()=>d,K6:()=>o,Me:()=>l,Ob:()=>u,YL:()=>s,_:()=>a,g8:()=>p,n6:()=>f,oS:()=>v,wE:()=>c});var n=r(1071);function a(e,t,r){return{r:255*(0,n.Cg)(e,255),g:255*(0,n.Cg)(t,255),b:255*(0,n.Cg)(r,255)}}function o(e,t,r){e=(0,n.Cg)(e,255),t=(0,n.Cg)(t,255),r=(0,n.Cg)(r,255);var a=Math.max(e,t,r),o=Math.min(e,t,r),i=0,s=0,c=(a+o)/2;if(a===o)s=0,i=0;else{var l=a-o;switch(s=c>.5?l/(2-a-o):l/(a+o),a){case e:i=(t-r)/l+(t<r?6:0);break;case t:i=(r-e)/l+2;break;case r:i=(e-t)/l+4}i/=6}return{h:i,s,l:c}}function i(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*r*(t-e):r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function s(e,t,r){var a,o,s;if(e=(0,n.Cg)(e,360),t=(0,n.Cg)(t,100),r=(0,n.Cg)(r,100),0===t)o=r,s=r,a=r;else{var c=r<.5?r*(1+t):r+t-r*t,l=2*r-c;a=i(l,c,e+1/3),o=i(l,c,e),s=i(l,c,e-1/3)}return{r:255*a,g:255*o,b:255*s}}function c(e,t,r){e=(0,n.Cg)(e,255),t=(0,n.Cg)(t,255),r=(0,n.Cg)(r,255);var a=Math.max(e,t,r),o=Math.min(e,t,r),i=0,s=a,c=a-o,l=0===a?0:c/a;if(a===o)i=0;else{switch(a){case e:i=(t-r)/c+(t<r?6:0);break;case t:i=(r-e)/c+2;break;case r:i=(e-t)/c+4}i/=6}return{h:i,s:l,v:s}}function l(e,t,r){e=6*(0,n.Cg)(e,360),t=(0,n.Cg)(t,100),r=(0,n.Cg)(r,100);var a=Math.floor(e),o=e-a,i=r*(1-t),s=r*(1-o*t),c=r*(1-(1-o)*t),l=a%6;return{r:255*[r,s,i,i,c,r][l],g:255*[c,r,r,s,i,i][l],b:255*[i,i,c,r,r,s][l]}}function u(e,t,r,a){var o=[(0,n.wl)(Math.round(e).toString(16)),(0,n.wl)(Math.round(t).toString(16)),(0,n.wl)(Math.round(r).toString(16))];return a&&o[0].startsWith(o[0].charAt(1))&&o[1].startsWith(o[1].charAt(1))&&o[2].startsWith(o[2].charAt(1))?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function d(e,t,r,a,o){var i,s=[(0,n.wl)(Math.round(e).toString(16)),(0,n.wl)(Math.round(t).toString(16)),(0,n.wl)(Math.round(r).toString(16)),(0,n.wl)((i=a,Math.round(255*parseFloat(i)).toString(16)))];return o&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}function f(e){return p(e)/255}function p(e){return parseInt(e,16)}function v(e){return{r:e>>16,g:(65280&e)>>8,b:255&e}}},2887:(e,t,r)=>{r.d(t,{D:()=>n});var n={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},4501:(e,t,r)=>{r.d(t,{RO:()=>i});var n=r(4579),a=r(2887),o=r(1071);function i(e){var t={r:0,g:0,b:0},r=1,i=null,s=null,c=null,l=!1,f=!1;return"string"==typeof e&&(e=function(e){if(0===(e=e.trim().toLowerCase()).length)return!1;var t=!1;if(a.D[e])e=a.D[e],t=!0;else if("transparent"===e)return{r:0,g:0,b:0,a:0,format:"name"};var r=u.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=u.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=u.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=u.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=u.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=u.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=u.hex8.exec(e))?{r:(0,n.g8)(r[1]),g:(0,n.g8)(r[2]),b:(0,n.g8)(r[3]),a:(0,n.n6)(r[4]),format:t?"name":"hex8"}:(r=u.hex6.exec(e))?{r:(0,n.g8)(r[1]),g:(0,n.g8)(r[2]),b:(0,n.g8)(r[3]),format:t?"name":"hex"}:(r=u.hex4.exec(e))?{r:(0,n.g8)(r[1]+r[1]),g:(0,n.g8)(r[2]+r[2]),b:(0,n.g8)(r[3]+r[3]),a:(0,n.n6)(r[4]+r[4]),format:t?"name":"hex8"}:!!(r=u.hex3.exec(e))&&{r:(0,n.g8)(r[1]+r[1]),g:(0,n.g8)(r[2]+r[2]),b:(0,n.g8)(r[3]+r[3]),format:t?"name":"hex"}}(e)),"object"==typeof e&&(d(e.r)&&d(e.g)&&d(e.b)?(t=(0,n._)(e.r,e.g,e.b),l=!0,f="%"===String(e.r).substr(-1)?"prgb":"rgb"):d(e.h)&&d(e.s)&&d(e.v)?(i=(0,o.Px)(e.s),s=(0,o.Px)(e.v),t=(0,n.Me)(e.h,i,s),l=!0,f="hsv"):d(e.h)&&d(e.s)&&d(e.l)&&(i=(0,o.Px)(e.s),c=(0,o.Px)(e.l),t=(0,n.YL)(e.h,i,c),l=!0,f="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=(0,o.TV)(r),{ok:l,format:e.format||f,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}var s="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),c="[\\s|\\(]+(".concat(s,")[,|\\s]+(").concat(s,")[,|\\s]+(").concat(s,")\\s*\\)?"),l="[\\s|\\(]+(".concat(s,")[,|\\s]+(").concat(s,")[,|\\s]+(").concat(s,")[,|\\s]+(").concat(s,")\\s*\\)?"),u={CSS_UNIT:new RegExp(s),rgb:new RegExp("rgb"+c),rgba:new RegExp("rgba"+l),hsl:new RegExp("hsl"+c),hsla:new RegExp("hsla"+l),hsv:new RegExp("hsv"+c),hsva:new RegExp("hsva"+l),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function d(e){return Boolean(u.CSS_UNIT.exec(String(e)))}},1071:(e,t,r)=>{function n(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var r=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function a(e){return Math.min(1,Math.max(0,e))}function o(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function i(e){return e<=1?"".concat(100*Number(e),"%"):e}function s(e){return 1===e.length?"0"+e:String(e)}r.d(t,{Cg:()=>n,J$:()=>a,Px:()=>i,TV:()=>o,wl:()=>s})},6330:(e,t,r)=>{function n(e,t,r,n,a,o,i){try{var s=e[o](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,a)}function a(e){return function(){var t=this,r=arguments;return new Promise((function(a,o){var i=e.apply(t,r);function s(e){n(i,a,o,s,c,"next",e)}function c(e){n(i,a,o,s,c,"throw",e)}s(void 0)}))}}r.d(t,{A:()=>a})},2016:(e,t,r)=>{function n(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}r.d(t,{A:()=>n})},918:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(2016);function a(e,t,r){(0,n.A)(e,t),t.set(e,r)}},4635:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(2016);function a(e,t){(0,n.A)(e,t),t.add(e)}},9061:(e,t,r)=>{r.r(t),r.d(t,{Dialog:()=>or,Notification:()=>pr,StoryboardFunctionRegistryFactory:()=>ve,__secret_internals:()=>n,__test_only:()=>{},applyTheme:()=>re,authenticate:()=>Vo,batchSetAppsLocalTheme:()=>ne,checkIfByTransform:()=>xt,checkIfOfComputed:()=>Tt,createHistory:()=>I,createRuntime:()=>Po,customProcessors:()=>B,customTemplates:()=>_e,fetchByProvider:()=>zo,getAuth:()=>Wo,getBasePath:()=>v,getCssPropertyValue:()=>le,getCurrentMode:()=>se,getCurrentTheme:()=>te,getHistory:()=>C,getPageInfo:()=>ka,getRuntime:()=>Mo,getV2RuntimeFromDll:()=>k,handleHttpError:()=>fr,httpErrorToString:()=>sr,isLoggedIn:()=>qo,isUnauthenticatedError:()=>cr,logout:()=>Ho,matchPath:()=>Ht,registerWidgetFunctions:()=>Ne,registerWidgetI18n:()=>j,setUIVersion:()=>Ta,unstable_createRoot:()=>Yo});var n={};r.r(n),r.d(n,{addRealTimeDataInspectHook:()=>$n,getAddedContracts:()=>Un,getAllContextValues:()=>_n,getBrickPackagesById:()=>Bn,getContextValue:()=>Mn,getRenderId:()=>Ln,legacyDoTransform:()=>Sn,mountUseBrick:()=>An,renderUseBrick:()=>yn,setRealTimeDataInspectRoot:()=>jn,symbolForRootRuntimeContext:()=>mn,unmountUseBrick:()=>wn,updateSnippetPreviewSettings:()=>xn,updateStoryboard:()=>En,updateStoryboardByRoute:()=>kn,updateStoryboardBySnippet:()=>Tn,updateStoryboardByTemplate:()=>In,updateTemplatePreviewSettings:()=>Cn});var a=r(9740),o=r(6330),i=r(4635),s=r(4586),c=r(918),l=r(7058),u=r(6154),d=r(8438),f=r(1302),p=(r(6036),r(2890));function v(){var e=document.querySelector("base");return e?e.getAttribute("href"):"/"}var h=r(4223),g=r(1030);function m(e,t){var r=(0,g.orderBy)(e,(e=>{var t,r;return null!==(t=null===(r=e.app.homepage)||void 0===r?void 0:r.length)&&void 0!==t?t:0}),"desc");for(var n of r){var a=n.app.homepage;if("string"==typeof a&&"/"===a[0]&&y(a,t))return n}}function y(e,t){return"/"===e?t===e:"".concat(t.replace(/\/+$/,""),"/").startsWith("".concat(e.replace(/\/+$/,""),"/"))}function b(e){var t;return!e||(null===(t=Mo().getCurrentApp())||void 0===t?void 0:t.id)!==e.app.id&&!window.STANDALONE_MICRO_APPS&&e.app.standaloneMode}var A,w=["extraQuery","clear","keepHash"],S=!1;function E(e,t){t(!(S=!confirm(e)))}function k(){var e,{dll:t}=window;if(t&&null!==(e=window.BRICK_NEXT_VERSIONS)&&void 0!==e&&null!==(e=e["brick-container"])&&void 0!==e&&e.startsWith("2."))return t("tYg3")}function I(){if(!A){var e=(0,p.createBrowserHistory)({basename:v().replace(/\/$/,""),getUserConfirmation:E});Object.assign(e,function(e){var t,{push:r,replace:n}=e;function o(e,t,n){S=!1,r(e,t),null==n||n(S)}function i(e,t,r){S=!1,n(e,t),null==r||r(S)}function s(t){return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0,{extraQuery:s,clear:c,keepHash:l}=n,u=(0,h.A)(n,w),d=new URLSearchParams(c?"":e.location.search),f={};for(var[p,v]of(Object.assign(f,r,s),Object.entries(f)))if(Array.isArray(v))for(var g of(d.delete(p),v))d.append(p,g);else null==v||""===v?d.delete(p):d.set(p,v);("push"===t?o:i)("?".concat(d.toString()).concat(l?e.location.hash:""),u,a)}}return(0,a.A)({pushQuery:s("push"),replaceQuery:s("replace"),pushAnchor:function(t,r,n){o((0,a.A)((0,a.A)({},e.location),{},{key:void 0,hash:t,state:(0,a.A)({notify:!1},r)}),void 0,n)},reload:function(t){i((0,a.A)((0,a.A)({},e.location),{},{state:(0,a.A)((0,a.A)({},e.location.state),{},{notify:!0,noIncremental:!0})}),void 0,t)},setBlockMessage:function(e){t=e},getBlockMessage:function(){return t},unblock:function(){t=void 0}},function(e){var{push:t,replace:r}=e;function n(n){return function(a,o,i){var s,c="string"==typeof a;return"string"==typeof(s=c?(0,p.parsePath)(a).pathname:a.pathname)&&s.startsWith("/")&&b(function(e){var t,r;return m(null!==(t=null===(r=mo)||void 0===r?void 0:r.storyboards)&&void 0!==t?t:[],e)}(s))?location["push"===n?"assign":"replace"](c?v()+a.substring(1):e.createHref(a)):("push"===n?t:r)(a,o,i)}}return{push:n("push"),replace:n("replace")}}((0,a.A)((0,a.A)({},e),{},{push:o,replace:i})))}(e)),A=e}return A}var C=function(){var e=k();if(e)return e.getHistory}()||function(){return A},R=r(5290),T=r(5481),O=r(50),x=r(5435),P=r(7731);function M(e,t){return e.get(function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(e,t))}var _=new WeakMap,B=function(){var e=k();if(e)return Object.freeze({define:(t,r)=>e.getRuntime().registerCustomProcessor(t,r)})}()||new class{constructor(){(0,c.A)(this,_,new Map)}define(e,t){var[r,n]=e.split("."),a=M(_,this).get(r);if(a||(a=new Map,M(_,this).set(r,a)),a.has(n))throw new Error('Custom processor of "'.concat(e,'" already registered'));a.set(n,t)}get(e){return M(_,this).get(e)}};function L(e){var{app:t,meta:r}=e;if(null!=r&&r.i18n){var n=U("app",t.id),a=[];return Object.entries(r.i18n).forEach((e=>{var[t,r]=e;l.i18n.addResourceBundle(t,n,r),a.push(t)})),()=>{for(var e of a)l.i18n.removeResourceBundle(e,n)}}}function U(e,t){return"".concat(e,"/").concat(t)}function F(e){return l.i18n.getFixedT(null,U("widget",e))}var N,j=function(){var e=k();if(e)return function(t,r){return e.getRuntime().registerWidgetI18n(t,r)}}()||function(e,t){var r=U("widget",e);Object.entries(t).forEach((e=>{var[t,n]=e;l.i18n.addResourceBundle(t,r,n)}))},$="brick-next-devtools-panel",D="devtools-frame-active-change",K="devtools-panel-change",V=!0;function W(e,t){var r=H();if(r&&("evaluation"!==e||V&&(!N||"Evaluations"===N))){var n=()=>{var n;null===(n=r.emit)||void 0===n||n.call(r,{type:e,payload:t})};"function"==typeof window.requestIdleCallback?window.requestIdleCallback(n):setTimeout(n,0)}}function H(){return window.__BRICK_NEXT_DEVTOOLS_HOOK__}var q=()=>{throw new Error("Can't modify read-only proxy object")},z={set:q,defineProperty:q,deleteProperty:q,setPrototypeOf:q};function G(e){return new Proxy(e,z)}function Y(e){var{get:t,ownKeys:r}=e;return H()?G(Object.fromEntries(r(null).map((e=>[e,t(null,e,null)])))):new Proxy(Object.freeze({}),{get:t})}var J="light",Q=new d.JsonStorage(localStorage),X="apps-theme";function Z(e){if("dark"!==e&&"light"!==e&&"dark-v2"!==e)throw new Error("Unsupported theme: ".concat(e));J=e}function ee(){return J}function te(){return document.documentElement.dataset.theme}function re(e){e?Z(e):e=ee(),e!==te()&&(document.documentElement.dataset.theme=e,window.dispatchEvent(new CustomEvent("theme.change",{detail:e})))}function ne(e){Q.setItem(X,(0,a.A)((0,a.A)({},ae()),e))}function ae(){var e,t;try{t=Q.getItem(X)}catch(e){console.error("JSON parse error inside `getLocalAppsTheme()`")}return null!==(e=t)&&void 0!==e?e:{}}var oe="default";function ie(e){if("dashboard"!==e&&"default"!==e)throw new Error("Unsupported mode: ".concat(e));oe=e}function se(){return document.documentElement.dataset.mode}function ce(e){e?ie(e):e=oe,e!==se()&&(document.documentElement.dataset.mode=e,window.dispatchEvent(new CustomEvent("mode.change",{detail:e})))}function le(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.documentElement;return r&&(null===(t=window.getComputedStyle(r))||void 0===t?void 0:t.getPropertyValue(e))||""}function ue(e,t){var r={};for(var n of e){var a=de(n,t);void 0!==a&&(r[n]=a)}return r}function de(e,t){var r,n,a,{collectCoverage:o,widgetId:i,widgetVersion:s,app:c,appendI18nNamespace:u,storyboardFunctions:d,isStoryboardFunction:f}=t;switch(e){case"BASE_URL":return o?"/next":v().replace(/\/$/,"");case"FN":return d;case"IMG":return o?{get:e=>"mock/images/".concat(e)}:i?null==bo||null===(r=bo.images)||void 0===r?void 0:r.widgetImagesFactory(i,s):null==bo||null===(n=bo.images)||void 0===n?void 0:n.imagesFactory(c.id,c.isBuildPush,c.currentVersion);case"I18N":return o?g.identity:i?F(i):l.i18n.getFixedT(null,[u,U("app",c.id)].filter(Boolean));case"I18N_TEXT":return o?fe:l.i18nText;case"PERMISSIONS":return G({check:o?pe:null==bo||null===(a=bo.checkPermissions)||void 0===a?void 0:a.checkPermissions});case"THEME":return G({getTheme:o?()=>"light":ee});case"console":return f?G(console):void 0;case"location":return o?{href:"http://localhost:3000/functions/test",origin:"http://localhost:3000",host:"localhost:3000",hostname:"localhost"}:{href:location.href,origin:location.origin,host:location.host,hostname:location.hostname}}}function fe(e){return null==e?void 0:e.en}function pe(){return!0}function ve(){var e,{widgetId:t,widgetVersion:r,collectCoverage:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=new Map,i=new Proxy(Object.freeze({}),{get:(a,s)=>function(a){var s,c=o.get(a);if(c){if(c.processed)return c.cooked;n&&(s=n.createCollector(a));var l=(0,T.precookFunction)(c.source,{typescript:c.typescript,hooks:s&&{beforeVisit:s.beforeVisit}});return c.cooked=(0,T.cook)(l.function,c.source,{rules:{noVar:!0},globalVariables:(0,P.supply)(l.attemptToVisitGlobals,ue(l.attemptToVisitGlobals,{collectCoverage:n,widgetId:t,widgetVersion:r,app:e,storyboardFunctions:i,isStoryboardFunction:!0}),!!n),hooks:s&&{beforeEvaluate:s.beforeEvaluate,beforeCall:s.beforeCall,beforeBranch:s.beforeBranch}}),c.processed=!0,c.cooked}}(s)});return{storyboardFunctions:i,registerStoryboardFunctions:function(t,r){if(r&&(e=r),o.clear(),Array.isArray(t))for(var a of t){var i=(0,O.collectMemberUsageInFunction)(a,"FN",!!n),s=(0,O.collectMemberUsageInFunction)(a,"PERMISSIONS",!!n).has("check");o.set(a.name,{source:a.source,typescript:a.typescript,deps:i,hasPermissionsCheck:s})}},updateStoryboardFunction(e,t){var r=(0,a.A)((0,a.A)({},t),{},{name:e}),n=(0,O.collectMemberUsageInFunction)(r,"FN",!0),i=(0,O.collectMemberUsageInFunction)(r,"PERMISSIONS",!0).has("check");o.set(e,{source:t.source,typescript:t.typescript,deps:n,hasPermissionsCheck:i})},checkPermissionsUsage(e){var t=new Set,r=e=>{if(!t.has(e)){t.add(e);var n=o.get(e);return!!n&&(n.hasPermissionsCheck||[...n.deps].some(r))}return!1};return e.some(r)}}}var{storyboardFunctions:he,registerStoryboardFunctions:ge,checkPermissionsUsage:me}=ve(),ye={};try{ye.EventTarget=(new EventTarget).constructor}catch(e){!function(e,t){var r=e.create,n=e.defineProperty,a=o.prototype;function o(){t.set(this,r(null))}function i(e,t,r){n(e,t,{configurable:!0,writable:!0,value:r})}function s(e){var t=e.options;return t&&t.once&&e.target.removeEventListener(this.type,e.listener),"function"==typeof e.listener?e.listener.call(e.target,this):e.listener.handleEvent(this),this._stopImmediatePropagationFlag}i(a,"addEventListener",(function(e,r,n){for(var a=t.get(this),o=a[e]||(a[e]=[]),i=0,s=o.length;i<s;i++)if(o[i].listener===r)return;o.push({target:this,listener:r,options:n})})),i(a,"dispatchEvent",(function(e){var r=t.get(this)[e.type];return r&&(i(e,"target",this),i(e,"currentTarget",this),r.slice(0).some(s,e),delete e.currentTarget,delete e.target),!0})),i(a,"removeEventListener",(function(e,r){for(var n=t.get(this),a=n[e]||(n[e]=[]),o=0,i=a.length;o<i;o++)if(a[o].listener===r)return void a.splice(o,1)})),ye.EventTarget=o}(Object,new WeakMap)}const be=ye.EventTarget;var Ae=function(e){return e.xLarge="xLarge",e.large="large",e.medium="medium",e.small="small",e.xSmall="xSmall",e}({}),we=new Map([[Ae.xLarge,"1920px"],[Ae.large,"1600px"],[Ae.medium,"1280px"],[Ae.small,"1024px"],[Ae.xSmall,0]]),Se=new be,Ee={},ke={};function Ie(e,t){var r=!1;for(var[n]of(Ee[t]=e.matches,we))if(Ee[n]&&ke.breakpoint!==n){ke.breakpoint=n,r=!0;break}r&&Se.dispatchEvent(new CustomEvent("change",{detail:ke}))}we.forEach(((e,t)=>{var r=window.matchMedia("(min-width: ".concat(e,")"));Ie(r,t),r.addEventListener?r.addEventListener("change",(e=>{Ie(e,t)})):r.addListener((e=>{Ie(e,t)}))}));var Ce=()=>ke;function Re(e){return function(t){var r,n="local"===e?localStorage:sessionStorage;return JSON.parse(null!==(r=n.getItem(t))&&void 0!==r?r:"null")}}function Te(e){var t,r;return!(null===(t=e?e.flags:null===(r=Mo())||void 0===r?void 0:r.getFeatureFlags())||void 0===t||!t["brick-next-v3-strict-mode"])}function Oe(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),a=2;a<r;a++)n[a-2]=arguments[a];var o=0===n.length?"":",";e?console.error("".concat(t," is dropped in v3 strict mode").concat(o),...n):console.warn("".concat(t," is deprecated in v3 and will be dropped in strict mode").concat(o),...n)}function xe(e,t){return e.get(function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(e,t))}var Pe=new Set(["prefix"]),Me=new WeakMap,_e=function(){var e=k();if(e)return Object.freeze({define:(t,r)=>e.getRuntime().registerCustomTemplate(t,r)})}()||new class{constructor(){(0,c.A)(this,Me,new Map)}define(e,t){var r,n,o,i,s=xe(Me,this).has(e);s?console.warn('Custom template of "'.concat(e,'" already registered.')):(s=!!customElements.get(e))&&console.warn('Custom template of "'.concat(e,'" already defined by customElements.'));var c=Te(),l=null!==(r=null===(n=t.proxy)||void 0===n?void 0:n.properties)&&void 0!==r?r:{},u=[],d=[];for(var[f,p]of Object.entries(l))p.asVariable?(Oe(c,"Template `asVariable`",e,f),c||d.push(f)):p.mergeProperty||p.refTransform?console.error("Template `mergeProperty` and `refTransform` are dropped in v3:",e,f):p.ref&&u.push([f,p]);var v=(0,a.A)((0,a.A)({},t),{},{proxy:(0,a.A)((0,a.A)({},t.proxy),{},{properties:Object.fromEntries(u)}),state:(t.state?c?t.state:t.state.map((e=>(0,a.A)({expose:!0},e))):[]).concat(d.map((e=>({name:e,expose:!0}))))});xe(Me,this).set(e,(0,a.A)((0,a.A)({},v),{},{name:e}));var h,m,y=(h=v.state,(0,g.uniq)(null!==(m=null==h?void 0:h.filter((e=>e.expose)).map((e=>e.name)))&&void 0!==m?m:[])),b=Object.entries(null!==(o=null===(i=v.proxy)||void 0===i?void 0:i.methods)&&void 0!==o?o:{}),A=y.concat(u.map((e=>e[0]))),w=b.map((e=>e[0])),S=A.concat(w).filter((e=>e in HTMLElement.prototype&&!Pe.has(e)));if(S.length>0&&(Oe(c,"Using native HTMLElement properties as template properties or methods",e,...S),c))throw new Error('In custom template "'.concat(e,'", ').concat(S.map((e=>'"'.concat(e,'"'))).join(", ")," are native HTMLElement properties, and should be avoid to be used as brick properties or methods."));if(!s){class t extends HTMLElement{get $$typeof(){return"custom-template"}static get _dev_only_definedProperties(){return A}static get _dev_only_definedMethods(){return w}$$getElementByRef(e){var t;return null===(t=this.$$tplStateStore)||void 0===t||null===(t=t.hostBrick)||void 0===t||null===(t=t.tplHostMetadata)||void 0===t||null===(t=t.internalBricksByRef.get(e))||void 0===t?void 0:t.element}connectedCallback(){var e=this.shadowRoot;e||(e=this.attachShadow({mode:"open"}));var t=document.createDocumentFragment(),r=document.createElement("style");r.textContent=":host{display:block}:host([hidden]){display:none}";var n=document.createElement("slot");t.appendChild(r),t.appendChild(n),e.appendChild(t)}disconnectedCallback(){this.shadowRoot&&(this.shadowRoot.textContent="")}}var E=function(r){if(u.some((e=>e[0]===r)))return console.error('Cannot define an exposed state that is also a proxy property: "'.concat(r,'" in ').concat(e)),1;Object.defineProperty(t.prototype,r,{get(){return this.$$tplStateStore.getValue(r)},set(e){var t;null===(t=this.$$tplStateStore)||void 0===t||t.updateValue(r,e,"replace")},enumerable:!0})};for(var k of y)E(k);var I=function(e,r){Object.defineProperty(t.prototype,e,{get(){var t;return this.$$getElementByRef(r.ref)[null!==(t=r.refProperty)&&void 0!==t?t:e]},set(t){var n,a,o=null===(n=this.$$getElementByRef)||void 0===n?void 0:n.call(this,r.ref);o&&(o[null!==(a=r.refProperty)&&void 0!==a?a:e]=t)},enumerable:!0})};for(var[C,R]of u)I(C,R);var T=function(e,r){Object.defineProperty(t.prototype,e,{value(){var t;this.$$getElementByRef(r.ref)[null!==(t=r.refMethod)&&void 0!==t?t:e](...arguments)},enumerable:!0})};for(var[O,x]of b)T(O,x);customElements.define(e,t)}}get(e){return xe(Me,this).get(e)}};function Be(e,t,r){var{tplStateStoreId:n,tplStateStoreMap:a}=e;if(!n)throw new Error('Using "'.concat(t,'" outside of a custom template').concat(null!=r?r:""));var o=a.get(n);if(!o)throw new Error('Template state store is not found when using "'.concat(t,'"').concat(null!=r?r:"",".\nThis is a bug of Brick Next, please report it."));return o}function Le(e,t,r){var n=Be(e,t,r).hostBrick.element;if(!n)throw new Error('Template host element is gone when using "'.concat(t,'"').concat(null!=r?r:"",".\nThis is a bug of Brick Next, please report it."));return n}var Ue=new Map,Fe=new Proxy(Object.freeze({}),{get:(e,t)=>Ue.get(t)}),Ne=function(){var e=k();if(e)return function(t,r,n){return e.getRuntime().registerWidgetFunctions(t,r,n)}}()||function(e,t,r){if(Ue.has(e))throw new Error('Widget functions of "'.concat(e,'" already registered'));var{storyboardFunctions:n,registerStoryboardFunctions:a}=ve({widgetId:e,widgetVersion:r});Ue.set(e,n),a(t)};const je=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,$e=e=>{if("string"!=typeof e)throw new TypeError("Invalid argument expected string");const t=e.match(je);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},De=e=>"*"===e||"x"===e||"X"===e,Ke=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},Ve=(e,t)=>{if(De(e)||De(t))return 0;const[r,n]=((e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t])(Ke(e),Ke(t));return r>n?1:r<n?-1:0},We=(e,t)=>{for(let r=0;r<Math.max(e.length,t.length);r++){const n=Ve(e[r]||"0",t[r]||"0");if(0!==n)return n}return 0},He=(e,t,r)=>{Ge(r);const n=((e,t)=>{const r=$e(e),n=$e(t),a=r.pop(),o=n.pop(),i=We(r,n);return 0!==i?i:a&&o?We(a.split("."),o.split(".")):a||o?a?-1:1:0})(e,t);return qe[r].includes(n)},qe={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},ze=Object.keys(qe),Ge=e=>{if("string"!=typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===ze.indexOf(e))throw new Error(`Invalid operator, expected one of ${ze.join("|")}`)};function Ye(e,t){var r=Ko(e);if(!r&&null!=bo&&bo.checkInstalledApps&&(r=bo.checkInstalledApps.getCheckedApp(e)),!r||"running"===r.installStatus)return!1;if(!t||!r.currentVersion)return!0;var n=t.match(/^([><]=?|=)(.*)$/);try{if(!n)throw new TypeError("Invalid match version: ".concat(t));return He(r.currentVersion,n[2],n[1])}catch(e){console.error(e)}return!1}function Je(e,t,r){var{formStateStoreId:n,formStateStoreMap:a}=e;if(!n)throw new Error('Using "'.concat(t,'" outside of form renderer').concat(null!=r?r:""));var o=a.get(n);if(!o)throw new Error('Form state store is not found when using "'.concat(t,'"').concat(null!=r?r:"",".\nThis is a bug of Brick Next, please report it."));return o}var Qe=new Map;function Xe(e){return Ze.apply(this,arguments)}function Ze(){return Ze=(0,o.A)((function*(e){var t,r=null==bo||null===(t=bo.flowApi)||void 0===t?void 0:t.isFlowApiProvider(e);r&&(e=bo.flowApi.FLOW_API_PROVIDER);var n=Qe.get(e);if(n)return n;if(e.includes("-")&&!customElements.get(e))if(r)bo.flowApi.registerFlowApiProvider();else if(yield(0,u.loadBricksImperatively)([e],No()),!customElements.get(e))throw new Error('Provider not defined: "'.concat(e,'".'));return n=document.createElement(e),Qe.set(e,n),n})),Ze.apply(this,arguments)}var et=new WeakSet;function tt(e){if((0,d.isObject)(e)&&!rt(e))if(et.add(e),Array.isArray(e))e.forEach(tt);else{var t=Object.getPrototypeOf(e);t&&t.constructor!==Object||Object.values(e).forEach(tt)}}function rt(e){return et.has(e)}var nt=new Map;function at(e,t,r){return ot.apply(this,arguments)}function ot(){return(ot=(0,o.A)((function*(e,t,r){var{useProvider:n,method:o="resolve",args:i=[],onReject:s}=e,{provider:c,field:l}=e;if(c&&!n)throw new Error("You're using \"provider: ".concat(c,'" which is dropped in v3, please use "useProvider" instead'));var u=null!=l;if(u){var d=Te();if(Oe(d,"`resolve.field`"),d)throw new Error("Using deprecated `resolve.field`")}var f,[p,v]=yield Promise.all([Xe(n),At(i,t)]),h=null==r?void 0:r.renderId,m=it(p,n,o,v,r,i,!!h&&h!==jo()),{transform:y}=e;try{var b=yield m;tt(f=u?(0,g.get)(b,l):b)}catch(e){if(!function(e){return!(null==e||!e.transform)}(s))throw e;y=s.transform,f=e}return y?"string"==typeof y?{[y]:f}:At(y,(0,a.A)((0,a.A)({},t),{},{data:f})):f}))).apply(this,arguments)}function it(e,t,r,n,a,o,i){return st.apply(this,arguments)}function st(){return st=(0,o.A)((function*(e,t,r,n,a,i,s){var c,l;try{c=JSON.stringify({useProvider:t,method:r,args:n})}catch(e){if(!i)throw e;c=JSON.stringify({useProvider:t,method:r,originalArgs:i})}return"reload"!==(null==a?void 0:a.cache)&&(l=nt.get(c)),l||(l=(0,o.A)((function*(){var a,o=null!=bo&&null!==(a=bo.flowApi)&&void 0!==a&&a.isFlowApiProvider(t)?yield bo.flowApi.getArgsOfFlowApi(t,n,r):n;return e[r](...o)}))(),s||nt.set(c,l)),l})),st.apply(this,arguments)}var ct=Symbol.for("pre.evaluated.raw"),lt=Symbol.for("pre.evaluated.context");function ut(e){return!(null==e||!e[ct])}function dt(e){return e[ct]}function ft(e){return"string"==typeof e?(0,T.shouldAllowRecursiveEvaluations)(e):(0,T.shouldAllowRecursiveEvaluations)(e[ct])}var pt=new WeakSet([SyntaxError,TypeError,ReferenceError]);function vt(e){return pt.has(e.constructor)?e.constructor:TypeError}function ht(){return(ht=(0,o.A)((function*(e,t,r){var{blockingList:n,run:a}=gt(e,t,r,!0);return yield Promise.all(n),a()}))).apply(this,arguments)}function gt(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0,o=[];if("string"!=typeof e){var i=(0,g.omit)(t,["pendingPermissionsPreCheck","tplStateStoreMap","tplStateStoreScope","formStateStoreMap","formStateStoreScope"]);t=(0,a.A)((0,a.A)({},e[lt]),i),e=e[ct]}var s,c={usedArgs:new Set},l={usedArgs:new Set};try{s=(0,T.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal(e,t){(0,O.collectAppGetMenuUsage)(c,e,t),(0,O.collectInstalledAppsHasUsage)(l,e,t)}}})}catch(t){var f="".concat(t.message,', in "').concat(e,'"');throw new(vt(t))(f)}if(c.hasNonStaticUsage)throw new Error('Non-static usage of "APP.getMenu" is prohibited in v3, check your expression: "'.concat(e,'"'));if(l.hasNonStaticUsage)throw new Error('Non-static usage of "INSTALLED_APPS.has" is prohibited in v3, check your expression: "'.concat(e,'"'));var p,v,h,m,y={},{attemptToVisitGlobals:b}=s;if(r.lazy||b.has("EVENT")&&!(0,d.hasOwnProperty)(t,"event")||b.has("DATA")&&!(0,d.hasOwnProperty)(t,"data"))return{blockingList:o,run:()=>Object.keys(t).length>0?{[ct]:e,[lt]:t}:e};var A,w,S=Te(t);(b.has("STATE")||!S&&b.has("TPL"))&&(m=Be(t,"STATE",': "'.concat(e,'"'))),b.has("FORM_STATE")&&(w=Je(t,"FORM_STATE",': "'.concat(e,'"')));var E=H();if(n||E){if(b.has("CTX")&&(p=(0,O.strictCollectMemberUsage)(e,"CTX"),n&&o.push(t.ctxStore.waitFor(p))),m){if(h=(0,O.strictCollectMemberUsage)(e,"STATE"),!S){var k=(0,O.strictCollectMemberUsage)(e,"TPL");for(var I of k)h.add(I)}n&&o.push(m.waitFor(h))}w&&(A=(0,O.strictCollectMemberUsage)(e,"FORM_STATE"),n&&o.push(w.waitFor(A))),b.has("PROCESSORS")&&(v=(0,O.strictCollectMemberUsage)(e,"PROCESSORS",2),n&&o.push((0,u.loadProcessorsImperatively)(v,No())))}if(n){var C,R=b.has("PERMISSIONS");if(!R&&b.has("FN")){var x=[...(0,O.strictCollectMemberUsage)(e,"FN")];R=me(x)}if(R&&o.push(...t.pendingPermissionsPreCheck),c.usedArgs.size>0&&null!=bo&&bo.menu){var M=[...c.usedArgs];o.push(Promise.all(M.map((e=>bo.menu.fetchMenuById(e,t,{getStoryboardByAppId:Do,resolveData:at,asyncComputeRealValue:At})))))}l.usedArgs.size>0&&o.push(null==bo||null===(C=bo.checkInstalledApps)||void 0===C?void 0:C.waitForCheckingApps([...l.usedArgs]))}return{blockingList:o,run(){var r,n,o,i,{app:c,location:l,query:u,match:f,flags:E,sys:k,ctxStore:I,data:C,event:R}=t,O=null!==(r=t.overrideApp)&&void 0!==r?r:c;for(var x of b)switch(x){case"ANCHOR":y[x]=l.hash?l.hash.substring(1):null;break;case"APP":y[x]=(0,a.A)((0,a.A)({},(0,g.cloneDeep)(O)),{},{getMenu:null==bo||null===(n=bo.menu)||void 0===n?void 0:n.getMenuById});break;case"CTX":y[x]=Y({get:(e,t)=>I.getValue(t),ownKeys:()=>Array.from(p)});break;case"DATA":y[x]=C;break;case"EVENT":y[x]=R;break;case"FLAGS":y[x]=G(E);break;case"FORM_STATE":y[x]=Y({get:(e,t)=>w.getValue(t),ownKeys:()=>Array.from(A)});break;case"HASH":y[x]=l.hash;break;case"INSTALLED_APPS":y[x]=G({has:Ye});break;case"ITEM":case"INDEX":var M="ITEM"===x?"forEachItem":"forEachIndex";(0,d.hasOwnProperty)(t,M)?y[x]=t[M]:console.error("Using `".concat(x,'` but no `:forEach` is found, check your expression: "').concat(e,'"'));break;case"LOCAL_STORAGE":y[x]=G({getItem:Re("local")});break;case"MEDIA":y[x]=G(Ce());break;case"MISC":y[x]=Mo().getMiscSettings();break;case"PARAMS":y[x]=new URLSearchParams(u);break;case"PATH":y[x]=G(null!==(o=null==f?void 0:f.params)&&void 0!==o?o:{});break;case"PATH_NAME":y[x]=l.pathname;break;case"PROCESSORS":y[x]=Y({get(e,t){var r=B.get(t);if(!r)throw new Error("'PROCESSORS.".concat(t,"' is not registered! Have you installed the relevant brick package?"));return Y({get:(e,t)=>r.get(t),ownKeys:()=>Array.from(r.keys())})},ownKeys(){var e=new Set;for(var t of v){var r=t.split(".")[0];e.add(r)}return Array.from(e)}});break;case"QUERY":y[x]=Object.fromEntries(Array.from(u.keys()).map((e=>[e,u.get(e)])));break;case"QUERY_ARRAY":y[x]=Object.fromEntries(Array.from(u.keys()).map((e=>[e,u.getAll(e)])));break;case"SESSION_STORAGE":y[x]=G({getItem:Re("session")});break;case"TPL":if(Oe(S,'Using "TPL" in expression','check your expression: "'.concat(e,'"')),S)break;case"STATE":y[x]=Y({get:(e,t)=>m.getValue(t),ownKeys:()=>Array.from(h)});break;case"SYS":y[x]=G(null!=k?k:{});break;case"__WIDGET_FN__":y[x]=Fe;break;case"__WIDGET_IMG__":y[x]=null==bo||null===(i=bo.images)||void 0===i?void 0:i.widgetImagesFactory;break;case"__WIDGET_I18N__":y[x]=F}Object.assign(y,ue(s.attemptToVisitGlobals,{storyboardFunctions:he,app:O,appendI18nNamespace:t.appendI18nNamespace}));try{var _=(0,T.cook)(s.expression,s.source,{globalVariables:(0,P.supply)(s.attemptToVisitGlobals,y)});return W("evaluation",{raw:e,context:y,result:_}),_}catch(t){var L="".concat(t.message,', in "').concat(e,'"');throw new(vt(t))(L)}}}}var mt=function(e){return e[e.INITIAL=0]="INITIAL",e[e.USE_BRICK=1]="USE_BRICK",e[e.USE_BRICK_ITEM=2]="USE_BRICK_ITEM",e[e.USE_BRICK_PROPERTIES=3]="USE_BRICK_PROPERTIES",e[e.USE_BRICK_TRANSFORM=4]="USE_BRICK_TRANSFORM",e[e.USE_BRICK_EVENTS=5]="USE_BRICK_EVENTS",e[e.USE_BRICK_IF=6]="USE_BRICK_IF",e[e.USE_BRICK_SLOTS=7]="USE_BRICK_SLOTS",e[e.USE_BRICK_SLOTS_ITEM=8]="USE_BRICK_SLOTS_ITEM",e[e.USE_BRICK_SLOTS_ITEM_BRICKS=9]="USE_BRICK_SLOTS_ITEM_BRICKS",e[e.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM=10]="USE_BRICK_SLOTS_ITEM_BRICKS_ITEM",e[e.USE_BRICK_LIFECYCLE=11]="USE_BRICK_LIFECYCLE",e[e.USE_BRICK_DATA_SOURCE=12]="USE_BRICK_DATA_SOURCE",e}({});function yt(e){switch(e){case mt.USE_BRICK_PROPERTIES:case mt.USE_BRICK_TRANSFORM:case mt.USE_BRICK_EVENTS:case mt.USE_BRICK_IF:case mt.USE_BRICK_LIFECYCLE:case mt.USE_BRICK_DATA_SOURCE:return!0}return!1}function bt(e,t,r){if(yt(e))return e;if(t)switch(e){case mt.USE_BRICK:return mt.USE_BRICK_ITEM;case mt.USE_BRICK_SLOTS_ITEM_BRICKS:return mt.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM}else switch(e){case mt.INITIAL:if("useBrick"===r)return mt.USE_BRICK;break;case mt.USE_BRICK:case mt.USE_BRICK_ITEM:case mt.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM:switch(r){case"properties":return mt.USE_BRICK_PROPERTIES;case"transform":return mt.USE_BRICK_TRANSFORM;case"dataSource":return mt.USE_BRICK_DATA_SOURCE;case"events":return mt.USE_BRICK_EVENTS;case"slots":return mt.USE_BRICK_SLOTS;case"children":return mt.USE_BRICK_SLOTS_ITEM_BRICKS;case"if":return mt.USE_BRICK_IF;case"lifeCycle":return mt.USE_BRICK_LIFECYCLE}break;case mt.USE_BRICK_SLOTS:return mt.USE_BRICK_SLOTS_ITEM;case mt.USE_BRICK_SLOTS_ITEM:if("bricks"===r)return mt.USE_BRICK_SLOTS_ITEM_BRICKS}return mt.INITIAL}function At(e,t){return wt.apply(this,arguments)}function wt(){return wt=(0,o.A)((function*(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=ut(e);if(n||"string"==typeof e){var a,o=r.$$lazyForUseBrick&&yt(r.$$stateOfUseBrick),i=o;return n||(0,T.isEvaluable)(e)?(a=yield function(e,t,r){return ht.apply(this,arguments)}(e,t,{lazy:o}),i=ft(e)):a=o?e:((0,d.hasOwnProperty)(t,"data")?r.noInject?x.transform:x.transformAndInject:r.noInject?kt:x.inject)(e,t),i||tt(a),a}if(!(0,d.isObject)(e)||rt(e)||"function"==typeof e)return e;if(Array.isArray(e)){var s=Et(r,!0);return Promise.all(e.map((e=>At(e,t,s))))}return Object.fromEntries((yield Promise.all(Object.entries(e).map((e=>{var[n,a]=e;return Promise.all([At(n,t),At(a,t,Et(r,!1,n))])})))).concat(r.ignoreSymbols?[]:Object.getOwnPropertySymbols(e).map((t=>[t,e[t]]))))})),wt.apply(this,arguments)}function St(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=ut(e);if(n||"string"==typeof e){var a,o=r.$$lazyForUseBrick&&yt(r.$$stateOfUseBrick),i=o;return n||(0,T.isEvaluable)(e)?(a=function(e,t,r){var{run:n}=gt(e,t,void 0,!1);return n()}(e,t),i=ft(e)):a=o?e:((0,d.hasOwnProperty)(t,"data")?r.noInject?x.transform:x.transformAndInject:r.noInject?kt:x.inject)(e,t),i||tt(a),a}if(!(0,d.isObject)(e)||rt(e)||"function"==typeof e)return e;if(Array.isArray(e)){var s=Et(r,!0);return e.map((e=>St(e,t,s)))}return Object.fromEntries(Object.entries(e).map((e=>{var[n,a]=e;return[St(n,t),St(a,t,Et(r,!1,n))]})).concat(r.ignoreSymbols?[]:Object.getOwnPropertySymbols(e).map((t=>[t,e[t]]))))}function Et(e,t,r){return e.$$lazyForUseBrick?(0,a.A)((0,a.A)({},e),{},{$$stateOfUseBrick:bt(e.$$stateOfUseBrick,t,r)}):e}function kt(e){return e}function It(e,t){return Ct.apply(this,arguments)}function Ct(){return(Ct=(0,o.A)((function*(e,t){return!(0,d.hasOwnProperty)(e,"if")||!!("string"==typeof e.if||ut(e.if)?yield At(e.if,t):e.if)}))).apply(this,arguments)}function Rt(e,t){return!(0,d.hasOwnProperty)(e,"if")||!!("string"==typeof e.if||ut(e.if)?St(e.if,t):e.if)}function Tt(e){return!(0,d.hasOwnProperty)(e,"if")||!!e.if}function Ot(){return(Ot=(0,o.A)((function*(e,t){return(0,d.isObject)(e.if)&&!ut(e.if)?Tt(yield at(e.if,t)):It(e,t)}))).apply(this,arguments)}var xt=function(){var e=k();if(e)return e.looseCheckIfByTransform}()||function(e,t){return Rt(e,{data:t})};function Pt(e){var t=!1,r=!1,n=!1;if("string"==typeof e?(0,T.isEvaluable)(e):ut(e)){var a="string"==typeof e?e:dt(e);if((0,T.isTrackAll)(a)){var o=(0,O.trackAll)(a);o&&(t=o.context,r=o.state,n=o.formState)}else t=(0,O.track)(a,"track context","CTX"),r=(0,O.track)(a,"track state","STATE"),n=(0,O.track)(a,"track formstate","FORM_STATE")}return{contextNames:t,stateNames:r,formStateNames:n}}function Mt(e,t){return _t.apply(this,arguments)}function _t(){return(_t=(0,o.A)((function*(e,t){for(var[r,n,a]of e)if(r===t){var o=yield n;if(void 0!==o||!a)return o}}))).apply(this,arguments)}function Bt(e){return Lt.apply(this,arguments)}function Lt(){return(Lt=(0,o.A)((function*(e){var t={};for(var[r,n,a]of e){var o=yield n;void 0===o&&a||!("style"!==r&&"dataset"!==r||(0,d.isObject)(o))||(t[r]=o)}return t}))).apply(this,arguments)}function Ut(e,t){if(t)for(var[r,n]of Object.entries(t))switch(r){case"style":case"dataset":for(var[a,o]of Object.entries(n))e[r][a]=o;break;case"constructor":case"__proto__":case"innerHTML":throw new Error("set `".concat(r,"` is prohibited"));default:e[r]=n}}function Ft(e,t,r){var n=function(e,t){return(0,d.isObject)(e)?Object.fromEntries(Object.entries(e).map((e=>{var[r,n]=e,a=St(n,t,{$$lazyForUseBrick:!0,$$stateOfUseBrick:"useBrick"===r?mt.USE_BRICK:mt.INITIAL});if("style"!==r&&"dataset"!==r||(0,d.isObject)(a))return[r,a]})).filter(Boolean)):{}}(t,r);Array.isArray(e)||(e=[e]),e.forEach((e=>{Ut(e,n)}))}function Nt(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function jt(e){return e&&e.sensitive?"":"i"}function $t(e,t,r){return function(e,t,r){void 0===r&&(r={});for(var n=r.strict,a=void 0!==n&&n,o=r.start,i=void 0===o||o,s=r.end,c=void 0===s||s,l=r.encode,u=void 0===l?function(e){return e}:l,d=r.delimiter,f=void 0===d?"/#?":d,p=r.endsWith,v="[".concat(Nt(void 0===p?"":p),"]|$"),h="[".concat(Nt(f),"]"),g=i?"^":"",m=0,y=e;m<y.length;m++){var b=y[m];if("string"==typeof b)g+=Nt(u(b));else{var A=Nt(u(b.prefix)),w=Nt(u(b.suffix));if(b.pattern)if(t&&t.push(b),A||w)if("+"===b.modifier||"*"===b.modifier){var S="*"===b.modifier?"?":"";g+="(?:".concat(A,"((?:").concat(b.pattern,")(?:").concat(w).concat(A,"(?:").concat(b.pattern,"))*)").concat(w,")").concat(S)}else g+="(?:".concat(A,"(").concat(b.pattern,")").concat(w,")").concat(b.modifier);else"+"===b.modifier||"*"===b.modifier?g+="((?:".concat(b.pattern,")").concat(b.modifier,")"):g+="(".concat(b.pattern,")").concat(b.modifier);else g+="(?:".concat(A).concat(w,")").concat(b.modifier)}}if(c)a||(g+="".concat(h,"?")),g+=r.endsWith?"(?=".concat(v,")"):"$";else{var E=e[e.length-1],k="string"==typeof E?h.indexOf(E[E.length-1])>-1:void 0===E;a||(g+="(?:".concat(h,"(?=").concat(v,"))?")),k||(g+="(?=".concat(h,"|").concat(v,")"))}return new RegExp(g,jt(r))}(function(e,t){void 0===t&&(t={});for(var r=function(e){for(var t=[],r=0;r<e.length;){var n=e[r];if("*"!==n&&"+"!==n&&"?"!==n)if("\\"!==n)if("{"!==n)if("}"!==n)if(":"!==n)if("("!==n)t.push({type:"CHAR",index:r,value:e[r++]});else{var a=1,o="";if("?"===e[s=r+1])throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;)if("\\"!==e[s]){if(")"===e[s]){if(0==--a){s++;break}}else if("("===e[s]&&(a++,"?"!==e[s+1]))throw new TypeError("Capturing groups are not allowed at ".concat(s));o+=e[s++]}else o+=e[s++]+e[s++];if(a)throw new TypeError("Unbalanced pattern at ".concat(r));if(!o)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:o}),r=s}else{for(var i="",s=r+1;s<e.length;){var c=e.charCodeAt(s);if(!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||95===c))break;i+=e[s++]}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s}else t.push({type:"CLOSE",index:r,value:e[r++]});else t.push({type:"OPEN",index:r,value:e[r++]});else t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});else t.push({type:"MODIFIER",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}(e),n=t.prefixes,a=void 0===n?"./":n,o="[^".concat(Nt(t.delimiter||"/#?"),"]+?"),i=[],s=0,c=0,l="",u=function(e){if(c<r.length&&r[c].type===e)return r[c++].value},d=function(e){var t=u(e);if(void 0!==t)return t;var n=r[c],a=n.type,o=n.index;throw new TypeError("Unexpected ".concat(a," at ").concat(o,", expected ").concat(e))},f=function(){for(var e,t="";e=u("CHAR")||u("ESCAPED_CHAR");)t+=e;return t};c<r.length;){var p=u("CHAR"),v=u("NAME"),h=u("PATTERN");if(v||h){var g=p||"";-1===a.indexOf(g)&&(l+=g,g=""),l&&(i.push(l),l=""),i.push({name:v||s++,prefix:g,suffix:"",pattern:h||o,modifier:u("MODIFIER")||""})}else{var m=p||u("ESCAPED_CHAR");if(m)l+=m;else if(l&&(i.push(l),l=""),u("OPEN")){g=f();var y=u("NAME")||"",b=u("PATTERN")||"",A=f();d("CLOSE"),i.push({name:y||(b?s++:""),pattern:y&&!b?o:b,prefix:g,suffix:A,modifier:u("MODIFIER")||""})}else d("END")}}return i}(e,r),t,r)}function Dt(e,t,r){return e instanceof RegExp?function(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,a=r.exec(e.source);a;)t.push({name:a[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),a=r.exec(e.source);return e}(e,t):Array.isArray(e)?function(e,t,r){var n=e.map((function(e){return Dt(e,t,r).source}));return new RegExp("(?:".concat(n.join("|"),")"),jt(r))}(e,t,r):$t(e,t,r)}var Kt=new Map,Vt=1e4,Wt=0;function Ht(e,t){var{path:r,exact:n=!1,strict:a=!1,sensitive:o=!0}=t;return(Array.isArray(r)?r:[r]).reduce(((t,r)=>{if(t)return t;var{regexp:i,keys:s}=function(e,t){var r="".concat(t.end).concat(t.strict).concat(t.sensitive),n=Kt.get(r);n||Kt.set(r,n=new Map);var a=n.get(e);if(a)return a;var o=[],i={regexp:Dt(e,o,t),keys:o};return Wt<Vt&&(n.set(e,i),Wt++),i}(r,{end:n,strict:a,sensitive:o}),c=i.exec(e);if(!c)return null;var[l,...u]=c,d=e===l;return n&&!d?null:{path:r,url:"/"===r&&""===l?"/":l,isExact:d,params:s.reduce(((e,t,r)=>(e[t.name]=u[r],e)),{})}}),null)}function qt(){return(qt=(0,o.A)((function*(e,t){for(var r of e){if("string"!=typeof r.path)throw console.error("Invalid route with invalid path:",r),new Error("Invalid route with invalid type of path: ".concat(typeof r.path));var n=zt(r,t.app.homepage,t.location.pathname);if(n&&(yield It(r,t)))return t.app.noAuthGuard||r.public||null==bo||!bo.auth||bo.auth.isLoggedIn()?{match:n,route:r}:"unauthenticated"}return"missed"}))).apply(this,arguments)}function zt(e,t,r){return Ht(r,{path:e.path.replace(/^\$\{APP.homepage\}/,t),exact:e.exact})}var Gt,Yt=Symbol.for("tpl.asyncComputedPropsFromHost"),Jt=Symbol.for("tpl.stateStoreId"),Qt=Symbol.for("tpl.externalForEachItem"),Xt=Symbol.for("tpl.externalForEachIndex"),Zt=new Set,er=function(e){return e.REQUEST_FAILED="REQUEST_FAILED",e.SOMETHING_WENT_WRONG="SOMETHING_WENT_WRONG",e.LOGIN_TIMEOUT_MESSAGE="LOGIN_TIMEOUT_MESSAGE",e.NETWORK_ERROR="NETWORK_ERROR",e}({}),tr={[er.REQUEST_FAILED]:"Request Failed",[er.SOMETHING_WENT_WRONG]:"Something went wrong!",[er.LOGIN_TIMEOUT_MESSAGE]:"You haven't logged in or your login session has expired. Login right now?",[er.NETWORK_ERROR]:"Network error, please check your network."},rr={[er.REQUEST_FAILED]:"请求失败",[er.SOMETHING_WENT_WRONG]:"出现了一些问题!",[er.LOGIN_TIMEOUT_MESSAGE]:"您还未登录或登录信息已过期,现在重新登录?",[er.NETWORK_ERROR]:"网络错误,请检查您的网络连接。"},nr="core/runtime",ar={en:tr,zh:rr},or=Object.freeze({show:function(e){return Gt?Gt.resolve(e):"confirm"===e.type?confirm(e.content)?new Promise((e=>setTimeout((()=>{e()}),1))):new Promise(((e,t)=>setTimeout((()=>{t()}),1))):(alert(e.content),new Promise((e=>setTimeout((()=>{e()}),1e3))))}});function ir(e){var{search:t,pathname:r}=e,n=r?window.btoa(encodeURIComponent(r)):"",a=t?window.btoa(encodeURIComponent(t)):"";document.cookie="SALOGINPATH=".concat(n,"; path=/"),document.cookie="SALOGINQUERY=".concat(a,"; path=/")}function sr(e){if(e instanceof Event&&e.target instanceof HTMLScriptElement)return e.target.src;if(e instanceof R.HttpFetchError)return l.i18n.t("".concat(nr,":").concat(er.NETWORK_ERROR));if(e instanceof R.HttpResponseError&&e.responseJson){if("string"==typeof e.responseJson.error)return e.responseJson.error;if("string"==typeof e.responseJson.msg)return e.responseJson.msg}return null==e?"Unknown error":e.toString()}function cr(e){return e instanceof R.HttpResponseError&&401===e.response.status&&!!e.responseJson&&100003===e.responseJson.code}var lr,ur,dr=!1;function fr(e){if(!(e instanceof R.HttpAbortError)){if(cr(e)&&!window.NO_AUTH_GUARD){if(dr)return;return dr=!0,void or.show({type:"confirm",content:l.i18n.t("".concat(nr,":").concat(er.LOGIN_TIMEOUT_MESSAGE))}).then((()=>{var e,t;e=Mo().getFeatureFlags()["sso-enabled"],ir((t=C()).location),t.push(e?"/sso-auth/login":"/auth/login",{from:(0,a.A)((0,a.A)({},t.location),{},{state:void 0})}),dr=!1}),(()=>{dr=!1}))}console.error(e);var t=sr(e);t!==lr&&(lr=t,or.show({type:"error",title:l.i18n.t("".concat(nr,":").concat(er.REQUEST_FAILED)),content:t,contentStyle:{whiteSpace:"pre-wrap",wordBreak:"break-word"}}).then((()=>{lr=void 0})))}}var pr=Object.freeze({show:function(e){ur?ur.resolve(e):alert(e.message)}});function vr(e,t,r){t&&Object.entries(t).forEach((t=>{var[n,a]=t,o=br(a,r,{element:e});for(var i of(e.addEventListener(n,o),e.$$listeners||(e.$$listeners=[]),e.$$listeners.push([n,o]),e.$$eventListeners||(e.$$eventListeners=[]),[].concat(a)))e.$$eventListeners.push([n,null,i])}))}function hr(e){return"string"==typeof e.action}function gr(e){return"string"==typeof e.useProvider}function mr(e){return!(!e.target&&!e.targetRef||!e.method&&!e.properties)}function yr(e){return!!e.then}function br(e,t,r){return function(n){var o,i;for(var s of[].concat(e))if(Rt(s,(0,a.A)((0,a.A)({},t),{},{event:n})))if(yr(s))br(s.then,t,r)(n);else if(hr(s)){var[c,l]=s.action.split(".");switch(s.action){case"history.push":case"history.replace":case"history.pushQuery":case"history.replaceQuery":case"history.pushAnchor":case"history.block":case"history.goBack":case"history.goForward":case"history.reload":case"history.unblock":Ir(n,l,s.args,s.callback,t);break;case"window.open":Cr(n,s.args,t);break;case"location.reload":case"location.assign":Pr(n,l,s.args,t);break;case"localStorage.setItem":case"localStorage.removeItem":case"sessionStorage.setItem":case"sessionStorage.removeItem":Mr(n,c,l,s.args,t);break;case"event.preventDefault":n.preventDefault();break;case"event.stopPropagation":n.stopPropagation();break;case"console.log":case"console.error":case"console.warn":case"console.info":_r(n,l,s.args,t);break;case"message.success":case"message.error":case"message.info":case"message.warn":Br(n,l,s.args,t);break;case"handleHttpError":fr(n.detail);break;case"context.assign":case"context.replace":case"context.refresh":case"context.load":Tr(n,l,s.args,null===(o=s.batch)||void 0===o||o,s.callback,t);break;case"state.update":case"state.refresh":case"state.load":Or(n,l,s.args,null===(i=s.batch)||void 0===i||i,s.callback,t);break;case"tpl.dispatchEvent":var[u,d]=Nr(s.args,t,n);Le(t,s.action,": ".concat(u)).dispatchEvent(new CustomEvent(u,d));break;case"formstate.update":xr(n,s.args,s.callback,t);break;case"message.subscribe":case"message.unsubscribe":Lr(n,l,s.args,t,r,s.callback);break;case"theme.setDarkTheme":case"theme.setLightTheme":re("theme.setDarkTheme"===s.action?"dark":"light");break;case"theme.setTheme":var[f]=Nr(s.args,t,n);re(f);break;case"mode.setDashboardMode":case"mode.setDefaultMode":ce("mode.setDashboardMode"===s.action?"dashboard":"default");break;default:console.error("unknown event listener action:",s.action)}}else gr(s)?Ar(n,s,t,r):mr(s)?Sr(n,s,t,r):console.error("unknown event handler:",s);else s.else&&br(s.else,t,r)(n)}}function Ar(e,t,r,n){return wr.apply(this,arguments)}function wr(){return(wr=(0,o.A)((function*(e,t,r,n){try{Er(e,yield Xe(t.useProvider),t,"saveAs"!==t.method?"resolve":"saveAs",r,n)}catch(e){console.error(sr(e))}}))).apply(this,arguments)}function Sr(e,t,r,n){var o=[],i=t.target,s=t.targetRef,c=i;if(("string"==typeof i?(0,T.isEvaluable)(i):ut(i))&&(c=St(i,(0,a.A)((0,a.A)({},r),{},{event:e}))),"string"==typeof c)if("_self"===c)o.push(n.element);else if(t.multiple)o=Array.from(document.querySelectorAll(c));else{var l=document.querySelector(c);null!==l&&o.push(l)}else if(c)c instanceof HTMLElement?o.push(c):console.error("unexpected target:",c);else if(s){var u=s;("string"==typeof s?(0,T.isEvaluable)(s):ut(s))&&(u=St(s,(0,a.A)((0,a.A)({},r),{},{event:e})));var d=[].concat(u),f=Le(r,"targetRef",": ".concat(d.join(", ")));o.push(...d.map((e=>{var t;return null===(t=f.$$getElementByRef)||void 0===t?void 0:t.call(f,e)})).filter(Boolean))}0!==o.length?function(e){return!!e.method}(t)?o.forEach((a=>{Er(e,a,t,t.method,r,n,{useEventAsDefault:!0})})):function(e){return!!e.properties}(t)&&Ft(o,t.properties,(0,a.A)((0,a.A)({},r),{},{event:e})):console.error("target not found:",i||s)}function Er(e,t,r,n,a,o,i){return kr.apply(this,arguments)}function kr(){return kr=(0,o.A)((function*(e,t,r,n,i,s,c){if("function"==typeof t[n]){var l=function(){var a=(0,o.A)((function*(){var a,o=Nr(r.args,i,e,c);return gr(r)&&null!=bo&&null!==(a=bo.flowApi)&&void 0!==a&&a.isFlowApiProvider(r.useProvider)&&(o=yield bo.flowApi.getArgsOfFlowApi(r.useProvider,o,n)),t[n](...o)}));return function(){return a.apply(this,arguments)}}();if(r.callback){var u=Fr(r.callback,i,s),d={progress:u("progress"),success:u("success"),error:u("error"),finally:u("finally")};if(gr(r)){var f,p=(0,a.A)((0,a.A)({},i),{},{event:e});if(St(null===(f=r.poll)||void 0===f?void 0:f.enabled,p))return void function(e,t,r,n){var a,{progress:i,success:s,error:c,finally:l}=t,{expectPollStopImmediately:u,expectPollEnd:d}=r,{interval:f,leadingRequestDelay:p,continueOnError:v,delegateLoadingBar:h}=St((0,g.pick)(r,["interval","leadingRequestDelay","continueOnError","delegateLoadingBar"]),n),m=jo();function y(){return b.apply(this,arguments)}function b(){return(b=(0,o.A)((function*(){var t;Zt.delete(a);try{var r;if(!(t=null===(r=St(u,n))||void 0===r?void 0:r())){var o,p,g=yield e();(t=(null===(o=St(u,n))||void 0===o?void 0:o())||m!==jo())||(null==i||i(g),null!==(p=St(d,n))&&void 0!==p&&p(g)?(h&&window.dispatchEvent(new Event("request.end")),null==s||s(g),null==l||l()):A(null!=f?f:3e3))}}catch(e){var y;(t=(null===(y=St(u,n))||void 0===y?void 0:y())||m!==jo())||(null==c||c(e),v?A(null!=f?f:3e3):null==l||l())}finally{h&&t&&window.dispatchEvent(new Event("request.end"))}}))).apply(this,arguments)}function A(e){a=setTimeout(y,e),Zt.add(a)}A(null!=p?p:0),h&&window.dispatchEvent(new Event("request.start"))}(l,d,r.poll,p)}try{var v=yield l();d.success(v)}catch(e){d.error(e)}finally{d.finally()}}else l()}else console.error("target has no method:",{target:t,method:n})})),kr.apply(this,arguments)}function Ir(e,t,r,n,a){var o=0,i=!1,s=t;switch(t){case"push":case"replace":case"pushQuery":case"replaceQuery":case"pushAnchor":o=2,i=!0;break;case"reload":i=!0;break;case"block":o=1,s="setBlockMessage"}var c=[];if(o>0&&((c=Nr(r,a,e,{useEventDetailAsDefault:!0})).length=o),i&&n){var l=Fr(n,a,void 0);c.push((e=>{l(e?"error":"success")({blocked:e}),l("finally")({blocked:e})}))}C()[s](...c)}function Cr(e,t,r){var[n,a,o]=Nr(t,r,e);window.open(n,a||"_self",o)}function Rr(e,t,r,n,a,o){t?n.updateValues(e,r,(e=>Nr(e,a,o)[0])):e.forEach((e=>{var{name:t,value:i}=Nr([e],a,o)[0];n.updateValue(t,i,r)}))}function Tr(e,t,r,n,a,o){if(!Array.isArray(r)||!r.every(d.isObject)||"assign"!==t&&"replace"!==t){var[i,s]=Nr(r,o,e);o.ctxStore.updateValue(i,s,t,a,o)}else Rr(r,n,t,o.ctxStore,o,e)}function Or(e,t,r,n,a,o){if(Array.isArray(r)&&r.every(d.isObject)&&"update"===t)Rr(r,n,"replace",Be(o,"state.".concat(t),": ".concat(JSON.stringify(r))),o,e);else{var[i,s]=Nr(r,o,e);Be(o,"state.".concat(t),": ".concat(i)).updateValue(i,s,"update"===t?"replace":t,a,o)}}function xr(e,t,r,n){var[a,o]=Nr(t,n,e);Je(n,"formstate.update",": ".concat(a)).updateValue(a,o,"replace",r,n)}function Pr(e,t,r,n){if("assign"===t){var[a]=Nr(r,n,e);location.assign(a)}else location[t]()}function Mr(e,t,r,n,a){var o="localStorage"===t?localStorage:sessionStorage,[i,s]=Nr(n,a,e);"setItem"===r?void 0!==s&&o.setItem(i,JSON.stringify(s)):o.removeItem(i)}function _r(e,t,r,n){console[t](...Nr(r,n,e,{useEventAsDefault:!0}))}function Br(e,t,r,n){var a=Nr(r,n,e,{useEventAsDefault:!0});pr.show({type:t,message:a[0]})}function Lr(e,t,r,n,a,o){return Ur.apply(this,arguments)}function Ur(){return(Ur=(0,o.A)((function*(e,t,r,n,a,o){var i=()=>{var a,o=Nr(r,n,e);return null==bo||null===(a=bo.messageDispatcher)||void 0===a?void 0:a[t](...o)};if(o){var s=Fr(o,n,a);try{var c=yield i();s("success")(c)}catch(e){s("error")(e)}finally{s("finally")()}}else i()}))).apply(this,arguments)}function Fr(e,t,r){return function(n){return function(a){var o=null==e?void 0:e[n];if(o)try{var i=new CustomEvent("callback.".concat(n),{detail:a});br(o,t,r)(i)}catch(e){console.error(e)}else"error"===n&&console.error("Unhandled callback error:",a)}}}function Nr(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Array.isArray(e)?St(e,(0,a.A)((0,a.A)({},t),{},{event:r})):n.useEventAsDefault?[r]:n.useEventDetailAsDefault?[r.detail]:[]}function jr(e){var t,{ref:r,runtimeContext:n,element:a}=e;if(r&&n.tplStateStoreId){var{hostBrick:o}=Be(n,"bindTemplateProxy"),i=o.tplHostMetadata;i.internalBricksByRef.set(r,e);var s=null===(t=i.proxy)||void 0===t?void 0:t.events;if(s){var c=function(e){if(u.ref===r){var t,n,i,s=t=>{t.bubbles&&t.stopPropagation(),o.element.dispatchEvent(new CustomEvent(e,{detail:t.detail,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed}))},c=null!==(t=u.refEvent)&&void 0!==t?t:e;a.addEventListener(c,s),null!==(i=(n=a).$$proxyListeners)&&void 0!==i||(n.$$proxyListeners=[]),a.$$proxyListeners.push([c,s])}};for(var[l,u]of Object.entries(s))c(l)}}}function $r(e){var{ref:t,runtimeContext:r,element:n}=e;if(null!=r&&r.tplStateStoreId&&t){var{hostBrick:a}=Be(r,"unbindTemplateProxy"),o=a.tplHostMetadata;for(var[i,s]of(o.internalBricksByRef.delete(t),null!==(c=n.$$proxyListeners)&&void 0!==c?c:[])){var c;n.removeEventListener(i,s)}delete n.$$proxyListeners}}var Dr=function(e){return e[e.ROOT=1]="ROOT",e[e.BRICK=2]="BRICK",e[e.PLACEHOLDER=3]="PLACEHOLDER",e}({});function Kr(e){e.replaceChildren()}function Vr(e,t){window.DISABLE_REACT_FLUSH_SYNC=!1;for(var r=e.child,n=[];r;){if(r.tag===Dr.BRICK){var a,o=r.type;o.includes("-")&&!customElements.get(o)&&console.error("Undefined custom element: ".concat(o)),"basic-bricks.script-brick"===o&&console.warn("`basic-bricks.script-brick` is deprecated, please take caution when using it");var i=t&&r===e.child?t:document.createElement(o);r.element=i,r.slotId&&i.setAttribute("slot",r.slotId),r.iid&&(i.dataset.iid=r.iid),null!==(a=r.tplHostMetadata)&&void 0!==a&&a.tplStateStoreId&&(i.dataset.tplStateStoreId=r.tplHostMetadata.tplStateStoreId),Ut(i,r.properties),vr(i,r.events,r.runtimeContext),r.tplHostMetadata&&(i.$$tplStateStore=Be({tplStateStoreId:r.tplHostMetadata.tplStateStoreId,tplStateStoreMap:r.runtimeContext.tplStateStoreMap},"mount")),jr(r),r.portal?n.push(i):r.return&&(r.return.childElements||(r.return.childElements=[]),r.return.childElements.push(i))}if(r.child)r=r.child;else if(r.sibling)r=r.sibling;else{for(var s,c=r.return;c;){var l;if(c.childElements)c.tag===Dr.ROOT?null===(l=c.container)||void 0===l||l.append(...c.childElements):c.element.append(...c.childElements),c.childElements=void 0;if(c.tag===Dr.ROOT&&n.length>0&&("function"==typeof c.createPortal?c.createPortal():c.createPortal).append(...n),c.sibling)break;c=c.return}r=null===(s=c)||void 0===s?void 0:s.sibling}}setTimeout((()=>{window.DISABLE_REACT_FLUSH_SYNC=!0}))}function Wr(e,t){return e.get(qr(e,t))}function Hr(e,t,r){return e.set(qr(e,t),r),r}function qr(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var zr=["onMount","onUnmount","onMediaChange","onScrollIntoView","onMessage","onMessageClose"],Gr=["onBeforePageLoad","onPageLoad","onPageLeave","onBeforePageLeave","onAnchorLoad","onAnchorUnload"],Yr=new WeakMap,Jr=new WeakMap,Qr=new WeakMap,Xr=new WeakMap,Zr=new WeakMap,en=new WeakMap,tn=new WeakMap,rn=new WeakMap,nn=new WeakMap,an=new WeakSet;class on{constructor(e,t){var r;(0,i.A)(this,an),(0,s.A)(this,"scope",void 0),(0,s.A)(this,"unknownBricks",void 0),(0,s.A)(this,"renderId",void 0),(0,c.A)(this,Yr,void 0),(0,c.A)(this,Jr,{onBeforePageLoad:[],onPageLoad:[],onPageLeave:[],onBeforePageLeave:[],onAnchorLoad:[],onAnchorUnload:[],onMediaChange:[],onScrollIntoView:[],onMount:[],onUnmount:[],onMessage:[],onMessageClose:[]}),(0,c.A)(this,Qr,new Map),(0,c.A)(this,Xr,void 0),(0,c.A)(this,Zr,new Map),(0,c.A)(this,en,void 0),(0,c.A)(this,tn,void 0),(0,c.A)(this,rn,void 0),(0,c.A)(this,nn,[]),this.scope=e,this.unknownBricks=null!==(r=null==t?void 0:t.unknownBricks)&&void 0!==r?r:"throw",Hr(Yr,this,null==t?void 0:t.routeHelper),this.renderId=null==t?void 0:t.renderId}setInitialMenuRequests(e){Hr(tn,this,e)}memoizeMenuRequests(e,t){Wr(rn,this)||Hr(rn,this,new WeakMap),Wr(rn,this).set(e,t[0])}reMergeMenuRequests(e,t,r){var n=this;return(0,o.A)((function*(){var a,o;for(var i of e){var s;if(a=null===(s=Wr(rn,n))||void 0===s?void 0:s.get(i)){o=i;break}}var c,l=Wr(tn,n),u=a?l.indexOf(a):-1;if(-1===u){if(!r.length)return;l.push(...r)}else l.splice(u,l.length-u,...r);o&&o!==t&&(null===(c=Wr(rn,n))||void 0===c||c.delete(o)),yield Wr(Yr,n).mergeMenus(l)}))()}reBailout(e){return Wr(Yr,this).bailout(e)}reCatch(e,t){return Wr(Yr,this).catch(e,t)}didPerformIncrementalRender(e,t){var r=this;return(0,o.A)((function*(){for(var n=Wr(nn,r).length-1;n>=0;n--){var a=Wr(nn,r)[n];if(yield a(e,t))return!0}return!1}))()}performIncrementalRender(e){Wr(nn,this).push(e)}registerBrickLifeCycle(e,t){if(t){var r=[...zr,..."page"===this.scope?Gr:[]];for(var n of r){var a=t[n];a&&Wr(Jr,this)[n].push({brick:e,handlers:a})}(0,g.isEmpty)(t.useResolves)||console.error("`lifeCycle.useResolves` is dropped in v3:",t)}}registerArbitraryLifeCycle(e,t){var r=Wr(Zr,this).get(e);r?r.add(t):Wr(Zr,this).set(e,new Set([t]))}memoize(e,t,r,n){Wr(en,this)||Hr(en,this,new WeakMap);var a=[null!=e?e:"",...t].join("."),o=Wr(en,this).get(n);o||(o=new Map,Wr(en,this).set(n,o)),o.set(a,{node:r,last:dn(r),lastNormal:fn(r),lastPortal:vn(r)})}reRender(e,t,r,n){var a,o=[null!=e?e:"",...t].join("."),i=Wr(en,this).get(n).get(o),{node:s,last:c,lastNormal:l,lastPortal:u}=i,d=[];if((null==s?void 0:s.tag)===Dr.PLACEHOLDER){var f,p,v;a=null!==(f=null===(p=function(e){return pn(e,!0)}(s))||void 0===p?void 0:p.element)&&void 0!==f?f:null;var h=null===(v=function(e){return hn(e,!0)}(s))||void 0===v?void 0:v.element;h&&d.push(h)}else{var g,m,y;a=null!==(g=null==l||null===(m=l.element)||void 0===m?void 0:m.nextSibling)&&void 0!==g?g:null;for(var b=null==u||null===(y=u.element)||void 0===y?void 0:y.nextSibling;b&&(d.push(b),b instanceof HTMLElement&&"DIV"===b.tagName);)b=b.nextSibling}var A,w=dn(r);i.node=r,i.last=w,i.lastNormal=fn(r),i.lastPortal=vn(r);for(var S=n.child;S&&S!==c;){if(S.sibling===s){A=S;break}S=S.sibling}var E=document.createDocumentFragment(),k=document.createDocumentFragment(),I={tag:Dr.ROOT,container:E,createPortal:k,child:r};for(S=r;S;)S.return=I,S=S.sibling;var C,R,T=gn(s,c);for(qr(an,this,sn).call(this,T),Vr(I),A?A.sibling=r:n.child=r,w&&(w.sibling=null==c?void 0:c.sibling),S=r;S;)S.return=n,S=S.sibling;if(n.tag===Dr.ROOT?null===(C=n.container)||void 0===C||C.insertBefore(E,a):null===(R=n.element)||void 0===R||R.insertBefore(E,a),k.childNodes.length>0){for(var O,x=r;x&&x.return;)x=x.return;if((null===(O=x)||void 0===O?void 0:O.tag)!==Dr.ROOT)throw new Error("Cannot find render root node. This is a bug of Brick Next, please report it.");var P="function"==typeof x.createPortal?x.createPortal():x.createPortal,M=null;for(var _ of d)if(P.contains(_)){M=_;break}P.insertBefore(k,M)}var B=gn(r,w);qr(an,this,cn).call(this,B)}dispose(){for(var e of Object.values(Wr(Jr,this)))e.length=0;for(var t of Wr(Qr,this).values()){for(var r of t)r.disconnect();t.length=0}Wr(Qr,this).clear(),Wr(Xr,this)&&(Se.removeEventListener("change",Wr(Xr,this)),Hr(Xr,this,void 0)),Hr(en,this,void 0),Hr(tn,this,void 0),Hr(rn,this,void 0),Wr(Zr,this).clear(),Wr(nn,this).length=0}dispatchBeforePageLoad(){qr(an,this,ln).call(this,"onBeforePageLoad",new CustomEvent("page.beforeLoad"))}dispatchPageLoad(){var e=new CustomEvent("page.load");qr(an,this,ln).call(this,"onPageLoad",e),window.dispatchEvent(e)}dispatchBeforePageLeave(e){qr(an,this,ln).call(this,"onBeforePageLeave",new CustomEvent("page.beforeLeave",{detail:e}))}dispatchPageLeave(){qr(an,this,ln).call(this,"onPageLeave",new CustomEvent("page.leave"))}dispatchAnchorLoad(){var{hash:e}=C().location;e&&"#"!==e?qr(an,this,ln).call(this,"onAnchorLoad",new CustomEvent("anchor.load",{detail:{hash:e,anchor:e.substring(1)}})):qr(an,this,ln).call(this,"onAnchorUnload",new CustomEvent("anchor.unload"))}initializeScrollIntoView(){for(var{brick:e,handlers:t}of Wr(Jr,this).onScrollIntoView)qr(an,this,un).call(this,e,t)}initializeMediaChange(){Hr(Xr,this,(e=>{qr(an,this,ln).call(this,"onMediaChange",new CustomEvent("media.change",{detail:G(e.detail)}))})),Se.addEventListener("change",Wr(Xr,this))}initializeMessageDispatcher(){var e,t=function(e){var t=function(t){var r;null==bo||null===(r=bo.messageDispatcher)||void 0===r||r.onMessage(t.channel,(r=>{br(t.handlers,e.runtimeContext,e)(new CustomEvent("message.push",{detail:r}))}))};for(var r of[].concat(n))t(r)};for(var{brick:r,handlers:n}of Wr(Jr,this).onMessage)t(r);null==bo||null===(e=bo.messageDispatcher)||void 0===e||e.onClose((()=>{qr(an,this,ln).call(this,"onMessageClose",new CustomEvent("message.close"))}))}dispatchOnMount(){qr(an,this,ln).call(this,"onMount",new CustomEvent("mount"))}dispatchOnUnmount(){qr(an,this,ln).call(this,"onUnmount",new CustomEvent("unmount"))}}function sn(e){var t=[...zr,..."page"===this.scope?Gr:[]],r=[];for(var n of t){var a=(0,g.remove)(Wr(Jr,this)[n],(t=>e.has(t.brick)));"onUnmount"===n&&r.push(...a)}for(var o of e){var i,s,c=Wr(Qr,this).get(o);if(null!=c&&c.length){for(var l of c)l.disconnect();c.length=0,Wr(Qr,this).delete(o)}$r(o),null===(i=o.element)||void 0===i||delete i.$$tplStateStore,null===(s=o.element)||void 0===s||s.remove()}var u=new CustomEvent("unmount");for(var{brick:d,handlers:f}of r)br(f,d.runtimeContext,d)(u)}function cn(e){var t=new CustomEvent("mount");for(var{brick:r,handlers:n}of Wr(Jr,this).onMount)e.has(r)&&br(n,r.runtimeContext,r)(t);for(var{brick:a,handlers:o}of Wr(Jr,this).onScrollIntoView)e.has(a)&&qr(an,this,un).call(this,a,o)}function ln(e,t){for(var{brick:r,handlers:n}of Wr(Jr,this)[e])br(n,r.runtimeContext,r)(t);var a=Wr(Zr,this).get(e);if(a)for(var o of a)o()}function un(e,t){var r,n=null!==(r=t.threshold)&&void 0!==r?r:.1,a=new IntersectionObserver(((r,a)=>{r.forEach((r=>{r.isIntersecting&&r.intersectionRatio>=n&&(br(t.handlers,e.runtimeContext,e)(new CustomEvent("scroll.into.view")),a.disconnect())}))}),{threshold:n});a.observe(e.element);var o=Wr(Qr,this).get(e);o||(o=[],Wr(Qr,this).set(e,o)),o.push(a)}function dn(e){for(var t=e;null!==(r=t)&&void 0!==r&&r.sibling;){var r;t=t.sibling}return t}function fn(e){return pn(e,!1)}function pn(e,t){for(var r,n=e;n;){if(n.tag===Dr.BRICK&&!n.portal){if(t)return n;r=n}n=n.sibling}return r}function vn(e){return hn(e,!1)}function hn(e,t){for(var r,n=e;n;){if(n.tag===Dr.BRICK&&n.portal){if(t)return n;r=n}if(n.child)n=n.child;else if(n.sibling)n=n.sibling;else{for(var a,o=n.return;o&&!o.sibling;)o=o.return;n=null===(a=o)||void 0===a?void 0:a.sibling}}return r}function gn(e,t){for(var r=new Set,n=e;n;)if(n.tag===Dr.BRICK&&r.add(n),n.child)n=n.child;else{if(n===t)break;if(n.sibling)n=n.sibling;else{for(var a,o=n.return;o&&o!==t&&!o.sibling;)o=o.return;if(o===t)break;n=null===(a=o)||void 0===a?void 0:a.sibling}}return r}var mn=Symbol.for("root.runtimeContext");function yn(e,t){return bn.apply(this,arguments)}function bn(){return(bn=(0,o.A)((function*(e,t){var r,n,o,i,s,[c,l,u]=Aa((0,a.A)((0,a.A)({},null!==(r=e[mn])&&void 0!==r?r:$o()),{},{data:t,pendingPermissionsPreCheck:[]}));null!==(n=c.tplStateStoreMap)&&void 0!==n||(c.tplStateStoreMap=new Map),null!==(o=c.formStateStoreMap)&&void 0!==o||(c.formStateStoreMap=new Map);var d=new on("fragment"),f={tag:Dr.ROOT,createPortal:null},p=e.transform,v=Te();p&&Oe(v,"`useBrick.transform`",'please use "properties" instead, check your useBrick:',e);var h=yield ha(f,v?e:(0,a.A)((0,a.A)({},e),{},{properties:(0,a.A)((0,a.A)({},e.properties),p)}),c,d,[]),g=[...l,...u];if(yield ba(h,c,g),(null===(i=h.node)||void 0===i?void 0:i.tag)===Dr.PLACEHOLDER)throw new Error("The root brick of useBrick cannot be an ignored control node");if(null!==(s=h.node)&&void 0!==s&&s.portal)throw new Error("The root brick of useBrick cannot be a portal brick");return f.child=h.node,{tagName:h.node?h.node.type:null,renderRoot:f,rendererContext:d,scopedStores:g}}))).apply(this,arguments)}function An(e,t){var r,{renderRoot:n,rendererContext:a,scopedStores:o}=e;for(var i of(n.createPortal=()=>{var e=document.querySelector("#portal-mount-point");return r=document.createElement("div"),e.appendChild(r),r},Vr(n,t),a.dispatchOnMount(),a.initializeScrollIntoView(),a.initializeMediaChange(),a.initializeMessageDispatcher(),o))i.mountAsyncData();return{portal:r}}function wn(e,t){var{rendererContext:r}=e;t.portal&&(Kr(t.portal),t.portal.remove()),r.dispatchOnUnmount(),r.dispose()}function Sn(e,t,r){if(r)throw new Error("Legacy doTransform does not support options in v3");return St(t,(0,a.A)((0,a.A)({},$o()),{},{data:e}),{noInject:!0})}function En(e,t){var r=Do(e);Object.assign(r,(0,a.A)((0,a.A)({},t),{},{meta:(0,a.A)((0,a.A)({},r.meta),t.meta),$$fulfilling:null,$$fulfilled:!0,$$registerCustomTemplateProcessed:!1})),L(r)}function kn(e,t){var r=Do(e),n=!1,a=e=>"".concat(e.path,".").concat(e.exact),o=(e,r)=>e.map((e=>{var i=a(e);return"routes"===e.type?(e.routes=o(e.routes,r),e):i===r?(n=!0,t):e}));r.routes=o(r.routes,a(t)),n||r.routes.unshift(t)}function In(e,t,r){var n="".concat(e,".").concat(t.name);_e.define(n,{bricks:t.bricks,proxy:t.proxy,state:t.state}),Cn(e,t.name,r)}function Cn(e,t,r){Pn(e,"${APP.homepage}/_dev_only_/template-preview/".concat(t),[(0,a.A)({brick:t},(0,g.pick)(r,"properties","events","lifeCycle","context","slots","children"))])}function Rn(e){return"${APP.homepage}/_dev_only_/snippet-preview/".concat(e)}function Tn(e,t){var r;Pn(e,Rn(t.snippetId),null!==(r=t.bricks)&&void 0!==r&&r.length?t.bricks:[{brick:"span"}],t.context)}var On,xn=Tn;function Pn(e,t,r,n){var{routes:a}=Do(e),o=a.findIndex((e=>e.path===t)),i={path:t,bricks:r,context:n,menu:!1,exact:!0};-1===o?a.unshift(i):a.splice(o,1,i)}function Mn(e,t){var{tplStateStoreId:r}=t,n=$o();return r?Be((0,a.A)((0,a.A)({},n),{},{tplStateStoreId:r}),"STATE").getValue(e):n.ctxStore.getValue(e)}function _n(e){var{tplStateStoreId:t}=e,r=$o();return t?Be((0,a.A)((0,a.A)({},r),{},{tplStateStoreId:t}),"STATE").getAllValues():r.ctxStore.getAllValues()}function Bn(e){return No().find((t=>t.id?t.id===e:t.filePath.startsWith(e)))}function Ln(){return jo()}function Un(e,t){return Fn.apply(this,arguments)}function Fn(){return(Fn=(0,o.A)((function*(e,t){var r,{appId:n,updateStoryboardType:a,collectUsedContracts:o}=t,i=Do(n);if("route"===a)r={routes:[e]};else if("template"===a)r={meta:{customTemplates:[e]}};else if("snippet"===a){var s,c=Rn(e.snippetId);r={routes:[null==i||null===(s=i.routes)||void 0===s?void 0:s.find((e=>e.path===c))]}}var l=[];return r&&o&&(yield o(r)).forEach((e=>{var t,[r,n,a]=e.match(/(.*)@(.*):\d\.\d\.\d/);null!=i&&null!==(t=i.meta)&&void 0!==t&&null!==(t=t.contracts)&&void 0!==t&&t.some((e=>e.namespaceId===n&&e.name===a))||l.push(e)})),l}))).apply(this,arguments)}var Nn=[];function jn(e){On=e;var t=_n({tplStateStoreId:e.tplStateStoreId});Dn({changeType:"initialize",tplStateStoreId:e.tplStateStoreId,detail:{data:t}})}function $n(e){Nn.push(e)}function Dn(e){setTimeout((()=>{for(var t of Nn)try{t(e)}catch(t){console.error("RealTimeDataInspectHook failed (".concat(e.changeType,"):"),t)}}))}var Kn=["onBeforePageLoad","onPageLoad","onBeforePageLeave","onPageLeave","onAnchorLoad","onAnchorUnload"];class Vn{constructor(e,t,r,n){(0,s.A)(this,"type",void 0),(0,s.A)(this,"data",new Map),(0,s.A)(this,"changeEventType",void 0),(0,s.A)(this,"pendingStack",[]),(0,s.A)(this,"hostBrick",void 0),(0,s.A)(this,"stateStoreId",void 0),(0,s.A)(this,"batchUpdate",!1),(0,s.A)(this,"batchUpdateContextsNames",[]),(0,s.A)(this,"rendererContext",void 0),(0,s.A)(this,"routeMap",new WeakMap),this.type=e,this.changeEventType="FORM_STATE"===this.type?"formstate.change":"STATE"===this.type?"state.change":"context.change",this.hostBrick=t,this.rendererContext=r,this.stateStoreId=n}getAllValues(){return Object.fromEntries([...this.data.entries()].map((e=>{var[t,{value:r}]=e;return[t,r]})))}getValue(e){var t;return null===(t=this.data.get(e))||void 0===t?void 0:t.value}notifyRealTimeDataChange(e,t){if(On){var{tplStateStoreId:r}=On;(r?"STATE"===this.type&&this.stateStoreId===r:"CTX"===this.type)&&Dn({changeType:"update",tplStateStoreId:r,detail:{name:e,value:t}})}}getAffectListByContext(e){var t=[e];return this.data.forEach(((e,r)=>{e.deps&&e.deps.some((e=>t.includes(e)))&&t.push(r)&&t.push(...this.getAffectListByContext(r))})),t.shift(),[...new Set(t)]}updateValues(e,t,r){if(this.batchUpdate=!0,this.batchUpdateContextsNames=e.map((e=>e.name)),[...new Set(this.batchUpdateContextsNames)].length!==this.batchUpdateContextsNames.length)throw new Error("Batch update not allow to update same item");var n={},a={},o=[];e.forEach((e=>{var{name:a,value:i}=r([e]),s=this.data.get(a);o.push(...this.getAffectListByContext(a)),s&&(n[a]=s),this.updateValue(a,i,t)})),o.filter((e=>!n[e])).forEach((e=>{var t=this.data.get(e);t&&(a[e]=t)}));var i=e=>{for(var t in e){var r,n=e[t];null===(r=n.eventTarget)||void 0===r||r.dispatchEvent(new CustomEvent(this.changeEventType,{detail:n.value}))}};i(n),i(a),this.batchUpdate=!1}updateValue(e,t,r,n,o){var i=this.data.get(e);if(!i)throw new Error("".concat(this.type," '").concat(e,"' is not defined"));if("refresh"!==r&&"load"!==r)"replace"===r?i.value=t:(0,d.isObject)(i.value)?Object.assign(i.value,t):(console.warn('Non-object current value of "'.concat(this.type,".").concat(e,'" for "context.assign", try "context.replace" instead.')),i.value=t),this.batchUpdate||i.eventTarget.dispatchEvent(new CustomEvent(this.changeEventType,{detail:i.value}));else{if(!i.useResolve)throw new Error("You can not ".concat(r,' "').concat(this.type,".").concat(e,'" which is not using resolve'));var s;"load"===r&&(i.loaded?s=Promise.resolve(i.value):i.loading&&(s=i.loading));var c=e=>{var t,r;return"FlowApiNotFoundError"===(null==e?void 0:e.name)&&!!(r=null===(t=this.rendererContext)||void 0===t?void 0:t.renderId)&&r!==jo()};if(s||(s=i.loading=i.load((0,a.A)({cache:"load"===r?"default":"reload"},t))).then((e=>{this.finishLoad(i,e)}),(e=>{!i.useResolve||c(e)||null!=n&&n.error||fr(e)})),n){var l=Fr(n,o);s.then((e=>{l("success")({value:e}),l("finally")()}),(e=>{!c(e)&&n.error&&l("error")(e),l("finally")()}))}}}finishLoad(e,t){e.useResolve&&(e.loaded=!0,e.value=t,e.eventTarget.dispatchEvent(new CustomEvent(this.changeEventType,{detail:t})))}define(e,t,r,n){if(Array.isArray(e)&&e.length>0){var a=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"CTX",n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"CTX",r=arguments.length>2?arguments[2]:void 0,n=new Map;for(var a of e){var o=[a.if,a.value,a.resolve],i=(0,O.collectMemberUsage)(o,t);if(!r&&"STATE"===t){var s=(0,O.collectMemberUsage)(o,"TPL");for(var c of s.usedProperties)i.usedProperties.add(c);s.hasNonStaticUsage&&(i.hasNonStaticUsage=!0)}n.set(a,i)}return n}(e,r,arguments.length>3?arguments[3]:void 0),a=new Map;for(var i of Array.from(n.keys()).map((e=>e.name))){var s;a.set(i,(null!==(s=a.get(i))&&void 0!==s?s:0)+1)}var c=Array.from(n.values()).some((e=>e.hasNonStaticUsage)),l=new WeakSet,u=new Map,d=new Map([...new Set(e.map((e=>e.name)))].map((e=>[e,new Promise(((t,r)=>{u.set(e,{resolve:t,reject:r})}))]))),f=function(){var e=(0,o.A)((function*(e){var r;l.add(e);var o=yield t(e);n.delete(e);var i=null!==(r=a.get(e.name))&&void 0!==r?r:0;if(o){if(u.get(e.name).resolve(),a.delete(e.name),0===i)throw new Error("Duplicated context defined: ".concat(e.name))}else 1===i?(u.get(e.name).resolve(),a.delete(e.name)):a.set(e.name,i-1);yield v()}));return function(t){return e.apply(this,arguments)}}(),p=c;function v(){return h.apply(this,arguments)}function h(){return h=(0,o.A)((function*(){var e=Array.from(n.entries()).filter(function(e,t){return(r,n)=>t?0===n:![...r[1].usedProperties].some((t=>e.has(t)))}(a,p)).map((e=>e[0])).filter((e=>!l.has(e)));yield Promise.all(e.map(f))})),h.apply(this,arguments)}return{pendingResult:v().then((0,o.A)((function*(){for(var e of(n.size>0&&(function(e,t){var r=new Map(e),n=new Set(Array.from(r.keys()).map((e=>e.name))),a=()=>{var e=!1;for(var[t,o]of r.entries())[...o.usedProperties].some((e=>n.has(e)))||(r.delete(t),n.delete(t.name),e=!0);e&&a()};if(a(),r.size>0)throw new ReferenceError("Circular ".concat(t," detected: ").concat(Array.from(r.keys()).map((e=>e.name)).join(", ")))}(n,r),p=!0,yield v()),u.values()))e.resolve()}))).catch((e=>{for(var t of u.values())t.reject(e);throw e})),pendingContexts:d}}(e,(e=>this.resolve(e,t,r,n)),this.type,Te(t));this.pendingStack.push(a)}}onChange(e,t){var r;null===(r=this.data.get(e))||void 0===r||r.eventTarget.addEventListener(this.changeEventType,t)}waitFor(e){var t=this;return(0,o.A)((function*(){var r=function*(t){yield Promise.all([...e].map((e=>t.get(e))))};for(var{pendingContexts:n}of t.pendingStack)yield*r(n)}))()}waitForAll(){var e=this;return(0,o.A)((function*(){for(var{pendingContexts:t}of e.pendingStack)for(var r of t.values())r.catch((()=>{}));for(var{pendingResult:n}of e.pendingStack)yield n}))()}mountAsyncData(e){this.data.forEach((t=>{var r;if(t.async&&(!e||null!==(r=this.routeMap.get(e))&&void 0!==r&&r.has(t.name))){if(t.asyncMounted)return void console.error('Async data "'.concat(t.name,'" already mounted. This is a bug of Brick Next, please report it.'));t.asyncMounted=!0,t.loading.then((e=>{this.finishLoad(t,e)}))}}))}resolve(e,t,r,n){var i=this;return(0,o.A)((function*(){if(!(yield It(e,t)))return!1;var s,c,l,u,f,p;if(r&&("STATE"===i.type?e.expose:"FORM_STATE"===i.type)&&(s=yield Mt(r,e.name)),void 0===s){if(e.resolve){var v=(0,d.hasOwnProperty)(e,"value");f=e.track&&v&&(0,d.hasOwnProperty)(e.resolve,"if")&&(0,O.strictCollectMemberUsage)(e.resolve.if,i.type).size>0;var h=(0,a.A)({transform:"value"},e.resolve);if(((u=yield It(e.resolve,t))||f)&&(c=function(){var e=(0,o.A)((function*(e){var r;return(yield at(h,t,(0,a.A)((0,a.A)({},e),{},{renderId:null===(r=i.rendererContext)||void 0===r?void 0:r.renderId}))).value}));return function(t){return e.apply(this,arguments)}}()),u)"eager"==(p=e.resolve.async?"async":e.resolve.lazy?"lazy":"eager")?s=yield c():"async"===p&&(l=c());else if(!v)return!1}u&&"eager"===p||void 0===e.value||(s=yield At(e.value,t))}if(i.data.has(e.name))throw new Error("".concat(i.type," '").concat(e.name,"' has already been declared"));var g={name:e.name,value:s,eventTarget:new be,useResolve:u,load:c,loaded:"eager"===p,loading:l,async:"async"===p,deps:[]};if("lazy"===p){var m,{trigger:y}=e.resolve;y&&Kn.includes(y)&&(null===(m=i.rendererContext)||void 0===m||m.registerArbitraryLifeCycle(y,(()=>{i.updateValue(e.name,void 0,"load")})))}if(e.onChange&&g.eventTarget.addEventListener(i.changeEventType,br(e.onChange,t)),e.track){var b=(0,O.strictCollectMemberUsage)(f?[e.resolve,e.value]:c?e.resolve:e.value,i.type);for(var A of(!c&&(g.deps=[...b]),b))i.onChange(A,i.batchAddListener((()=>{g.useResolve=f?Rt(e.resolve,t):!!c,g.useResolve?i.updateValue(e.name,{cache:"default"},"refresh"):i.updateValue(e.name,St(e.value,t),"replace")}),e))}if(g.eventTarget.addEventListener(i.changeEventType,(t=>{i.notifyRealTimeDataChange(e.name,t.detail)})),i.data.set(e.name,g),Array.isArray(n))for(var w of n){var S=i.routeMap.get(w);S?S.add(e.name):i.routeMap.set(w,new Set([e.name]))}return!0}))()}disposeDataInRoutes(e){for(var t of e){var r=this.routeMap.get(t);if(void 0!==r)for(var n of r)this.data.delete(n)}}batchAddListener(e,t){return r=>{this.batchUpdate&&this.batchUpdateContextsNames.includes(t.name)||e(r)}}}function Wn(e,t,r){var n,a,{reversedProxies:o,asyncHostPropertyEntries:i,externalSlots:s,tplStateStoreId:c,hostBrick:l}=e;if(t&&o){var u=o.properties.get(t);u&&(a=i,n=u.map((e=>{var{from:t,to:r}=e,n=a.filter((e=>e[0]===t));if(n.length>0&&r.refProperty)return[r.refProperty,Mt(n,t),!0]})).filter(Boolean));var f=o.slots.get(t);if(f&&s){var p=new Map;for(var{from:v,to:h}of f){var m,y,b,A,w=null!==(m=null===(y=s[v])||void 0===y?void 0:y.bricks)&&void 0!==m?m:[];if(w.length){var S=null!==(b=h.refSlot)&&void 0!==b?b:v,E=p.get(S);if(!E){E=[];for(var k=(0,d.hasOwnProperty)(r,S)?r[S].bricks.length+1:1,I=0;I<k;I+=1)E.push([]);p.set(S,E)}var C=null!==(A=h.refPosition)&&void 0!==A?A:-1;E[(0,g.clamp)(C<0?E.length+C:C,0,E.length-1)].push(...(0,d.hasOwnProperty)(l.runtimeContext,"forEachItem")?Hn(w,l.runtimeContext.forEachItem,l.runtimeContext.forEachIndex):w)}}var R=function(){(0,d.hasOwnProperty)(r,T)||(r[T]={type:"bricks",bricks:[]});var e=r[T];e.bricks=O.flatMap(((t,r)=>r<e.bricks.length?t.concat(e.bricks[r]):t)),0===e.bricks.length&&delete r[T]};for(var[T,O]of p.entries())R()}}return{[Yt]:n,[Jt]:c}}function Hn(e,t,r){return e.map((e=>{var n;return(0,a.A)((0,a.A)({},e),{},{[Qt]:t,[Xt]:r,slots:Object.fromEntries(Object.entries(null!==(n=e.slots)&&void 0!==n?n:{}).map((e=>{var n,[a,o]=e;return[a,"routes"===o.type?{type:"routes",routes:qn(o.routes,t,r)}:{type:"bricks",bricks:Hn(null!==(n=o.bricks)&&void 0!==n?n:[],t,r)}]})))})}))}function qn(e,t,r){return e.map((e=>e.type&&"bricks"!==e.type?e:(0,a.A)((0,a.A)({},e),{},{bricks:Hn(e.bricks,t,r)})))}var zn=["properties","slots","children"];function Gn(e,t){function r(e){return(0,d.isObject)(e)&&"function"!=typeof e?Array.isArray(e)?e.map(r):Object.fromEntries(Object.entries(e).map((e=>{var[t,a]=e;return(0,d.isObject)(a)&&"useBrick"===t?Array.isArray(a)?[t,a.map(n)]:[t,n(a)]:[t,r(a)]})).concat(Object.getOwnPropertySymbols(e).map((t=>[t,e[t]])))):e}function n(e){var{properties:o,slots:i,children:s}=e,c=(0,h.A)(e,zn),l=Sa(s,i),u=Object.fromEntries(Object.entries(null!=l?l:{}).map((e=>{var t,[r,a]=e;return[r,{type:"bricks",bricks:(null!==(t=a.bricks)&&void 0!==t?t:[]).map(n)}]})));return(0,a.A)((0,a.A)({},c),{},{properties:r(o),slots:u},Wn(t,c.ref,u))}return r(e)}var Yn=["slots","children"],Jn=["properties","slots","children"];function Qn(e,t,r,n,o){var i,s=(0,g.uniqueId)("tpl-state-"),c=(0,a.A)((0,a.A)({},r.runtimeContext),{},{tplStateStoreId:s});delete c.forEachItem,delete c.forEachIndex,delete c.formStateStoreId;var l=new Vn("STATE",r,o,s);c.tplStateStoreMap.set(s,l),c.tplStateStoreScope&&c.tplStateStoreScope.push(l);var{bricks:u,proxy:d,state:f,contracts:p}=_e.get(e);null==bo||null===(i=bo.flowApi)||void 0===i||i.collectWidgetContract(p),l.define(f,c,n);var{slots:v,children:m}=t,y=(0,h.A)(t,Yn),b=(0,a.A)((0,a.A)({},y),{},{brick:e});r.tplHostMetadata={internalBricksByRef:new Map,tplStateStoreId:s,proxy:d};var A={properties:new Map,slots:new Map};if(null!=d&&d.properties)for(var[w,S]of Object.entries(d.properties)){var E=A.properties.get(S.ref);E||(E=[],A.properties.set(S.ref,E)),E.push({from:w,to:S})}if(null!=d&&d.slots)for(var[k,I]of Object.entries(d.slots)){var C=A.slots.get(I.ref);C||(C=[],A.slots.set(I.ref,C)),C.push({from:k,to:I})}var R={reversedProxies:A,asyncHostPropertyEntries:n,externalSlots:Sa(m,v),tplStateStoreId:s,hostBrick:r};return b.slots={"":{type:"bricks",bricks:u.map((e=>Xn(e,R)))}},b}function Xn(e,t){null===e.if&&delete e.if;var{properties:r,slots:n,children:o}=e,i=(0,h.A)(e,Jn),s=Sa(o,n),c=Object.fromEntries(Object.entries(null!=s?s:{}).map((e=>{var r,[n,a]=e;return[n,{type:"bricks",bricks:(null!==(r=a.bricks)&&void 0!==r?r:[]).map((e=>Xn(e,t)))}]})));return(0,a.A)((0,a.A)({},i),{},{properties:Gn(r,t),slots:c},Wn(t,i.ref,c))}var Zn="form-renderer.form-renderer",ea=Symbol.for("form.stateStoreId"),ta=["forms.general-form","form.general-form","eo-form"];function ra(e,t,r){var{id:n,bricks:o,events:i,context:s,mountPoint:c,instanceId:l}=e,{brick:u,properties:f}=e,p=t.find((e=>e.fieldId===n));if(p){var v=function(e){var t,r={id:e.fieldId,name:e.fieldId,label:e.name,dataset:{testid:e.fieldId}},n=()=>{var t,r;return{readOnly:null===(t=e.limit)||void 0===t?void 0:t.includes("READONLY"),required:null===(r=e.limit)||void 0===r?void 0:r.includes("REQUIRED")}};switch(e.fieldType){case"INT":t={brick:"forms.general-input-number",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description,precision:0,inputBoxStyle:{width:"100%"}})};break;case"BOOLEAN":t={brick:"forms.general-switch",properties:(0,a.A)((0,a.A)({},r),n())};break;case"FLOAT":t={brick:"forms.general-input-number",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description,inputBoxStyle:{width:"100%"}})};break;case"ENUM":t={brick:"forms.general-select",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{options:[{label:"选项一",value:1},{label:"选项二",value:2}],placeholder:e.description,inputBoxStyle:{width:"100%"}})};break;case"ENUMS":t={brick:"forms.general-select",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{mode:"multiple",options:[{label:"选项一",value:1},{label:"选项二",value:2}],placeholder:e.description,inputBoxStyle:{width:"100%"}})};break;case"DATE":case"TIME":t={brick:"forms.general-date-picker",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description})};break;case"IP":t={brick:"forms.general-input",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description,pattern:"((^s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))s*$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*$))",message:{pattern:"输入字符不匹配IP格式"}})};break;case"JSON":t={brick:"forms.general-textarea",properties:(0,a.A)({},r)};break;case"ARRAY":t={brick:"forms.general-select",properties:(0,a.A)({},r)};break;case"STRUCTURE":case"STRUCTURE_ARRAY":t={brick:"forms.cmdb-instance-select-panel",properties:(0,a.A)((0,a.A)({},r),n())};break;default:t={brick:"forms.general-input",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description})}}return t}(p);u||(u=v.brick),f=(0,a.A)((0,a.A)({},v.properties),f)}var h={brick:u,properties:f,iid:l,slot:c,events:i,context:s,children:na(o,t,r),[ea]:r};return(0,d.hasOwnProperty)(e,"if")&&(h.if=e.if),h}function na(e,t,r){if(Array.isArray(e))return e.map((e=>ra(e,t,r)))}var aa,oa,ia=["blockingList","node","menuRequests","hasTrackingControls"],sa=["if","permissionsPreCheck"],ca=["formData"],la=["src"],ua=["href"];function da(e,t,r,n,a,o,i){return fa.apply(this,arguments)}function fa(){return fa=(0,o.A)((function*(e,t,r,n,o,i,s){var c=yield function(e,t){return qt.apply(this,arguments)}(t,r),l={blockingList:[],menuRequests:[]};switch(c){case"missed":break;case"unauthenticated":l.unauthenticated=!0;break;default:var d,f=l.route=c.route;l.path=c.match.path;var p=(0,a.A)((0,a.A)({},r),{},{match:c.match});s&&p.ctxStore.disposeDataInRoutes(t);var v=o.concat(f);p.ctxStore.define(f.context,p,void 0,v),p.pendingPermissionsPreCheck.push(null==bo||null===(d=bo.checkPermissions)||void 0===d?void 0:d.preCheckPermissionsForBrickOrRoute(f,(e=>At(e,p))));var{preLoadBricks:h}=f;if(Array.isArray(h)&&l.blockingList.push((0,u.loadBricksImperatively)(h,No())),"redirect"===f.type){var g;if("string"!=typeof(g="string"==typeof f.redirect?yield At(f.redirect,p):(yield at((0,a.A)({transform:"redirect"},f.redirect),p)).redirect))throw console.error("Unexpected redirect result:",g),new Error("Unexpected type of redirect result: ".concat(typeof g));l.redirect={path:g}}else{var m=function(e,t){if(e){if("brick"===e.type)throw console.error("Set menu with brick is dropped in v3:",e),new Error("Set menu with brick is dropped in v3");if("resolve"!==e.type)return At(e,t);console.warn("Set menu with resolve is not supported in v3 yet:",e)}}(f.menu,p);m&&l.menuRequests.push(m),"routes"===f.type?wa(l,yield da(e,f.routes,p,n,v,i)):wa(l,yield pa(e,f.bricks,p,n,v,i)),e.tag===Dr.BRICK&&n.memoizeMenuRequests(f,l.menuRequests)}}return l})),fa.apply(this,arguments)}function pa(e,t,r,n,a,o,i,s){return va.apply(this,arguments)}function va(){return(va=(0,o.A)((function*(e,t,r,n,a,o,i,s){var c={blockingList:[],menuRequests:[]},l=null!=s?s:[];return(yield Promise.all(t.map(((t,s)=>ha(e,t,r,n,a,o,l.concat(s),i&&new Map(i)))))).forEach(((t,r)=>{t.hasTrackingControls&&n.memoize(o,l.concat(r),t.node,e),wa(c,t)})),c}))).apply(this,arguments)}function ha(e,t,r,n,a,o){return ga.apply(this,arguments)}function ga(){return ga=(0,o.A)((function*(e,t,r,n,i,s){var c,l,f=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[],p=arguments.length>7&&void 0!==arguments[7]?arguments[7]:new Map,v={blockingList:[],menuRequests:[]};if(!t.brick)return t.template?console.error("Legacy templates are dropped in v3:",t):console.error("Invalid brick:",t),v;var{if:m,permissionsPreCheck:b}=t,A=(0,h.A)(t,sa);if(function(e){return"string"==typeof e?(0,T.isTrackAll)(e):ut(e)&&(0,T.isTrackAll)(dt(e))}(m))return ha(e,(0,a.A)({brick:":if",dataSource:m,permissionsPreCheck:b,slots:{"":{type:"bricks",bricks:[A]}}},Object.getOwnPropertySymbols(t).reduce(((e,r)=>(0,a.A)((0,a.A)({},e),{},{[r]:t[r]})),{})),r,n,i,s,f,p);var w=t[Jt],S=t[ea],E=(0,a.A)((0,a.A)({},r),{},{tplStateStoreId:w,formStateStoreId:S});(0,d.hasOwnProperty)(t,Qt)&&(E.forEachItem=t[Qt],E.forEachIndex=t[Xt]);var{context:k}=t;if(Array.isArray(k)&&k.length>0){var I=Te(E);Oe(I,"Defining context on bricks","check your brick:",t),I||E.ctxStore.define(k,E)}if(E.pendingPermissionsPreCheck.push(null==bo||null===(c=bo.checkPermissions)||void 0===c?void 0:c.preCheckPermissionsForBrickOrRoute(t,(e=>At(e,E)))),!(yield function(e,t){return Ot.apply(this,arguments)}(t,E)))return v;var C=t.brick;if(C.startsWith(":")){var R;!function(e){if(":forEach"!==e&&":if"!==e&&":switch"!==e)throw new Error('Unknown storyboard control node: "'.concat(e,'"'))}(C);var{dataSource:x}=t,P=function(){var r=(0,o.A)((function*(r){var a,o=yield At(x,r),c=":forEach"===C?"":":switch"===C?String(o):o?"":"else",l=Sa(t.children,t.slots),u=l&&(0,d.hasOwnProperty)(l,c)&&(null===(a=l[c])||void 0===a?void 0:a.bricks);if(!Array.isArray(u))return{blockingList:[],menuRequests:[]};switch(C){case":forEach":return Array.isArray(o)?function(e,t,r,n,a,o,i,s,c){return ma.apply(this,arguments)}(e,o,u,r,n,i,s,p,f):{blockingList:[],menuRequests:[]};case":if":case":switch":return pa(e,u,r,n,i,s,p,f)}}));return function(e){return r.apply(this,arguments)}}(),M=function(){var t=(0,o.A)((function*(t){var r,n=yield P(t);return null!==(r=n.node)&&void 0!==r||(n.node={tag:Dr.PLACEHOLDER,return:e}),n}));return function(e){return t.apply(this,arguments)}}(),_=yield M(E),{onMount:B,onUnmount:L}=null!==(R=t.lifeCycle)&&void 0!==R?R:{},{contextNames:U,stateNames:F}=Pt(x);if(U||F){_.hasTrackingControls=!0;var N=0,j=function(){var t=(0,o.A)((function*(){var t=++N,[r,a,o]=Aa(E),i=yield M(r),c=[...a,...o];if(yield ba(i,r,c),N===t)for(var l of(L&&br(L,E)(new CustomEvent("unmount",{detail:{rerender:!0}})),n.reRender(s,f,i.node,e),B&&br(B,r)(new CustomEvent("mount",{detail:{rerender:!0}})),c))l.mountAsyncData()}));return function(){return t.apply(this,arguments)}}(),$=(0,g.debounce)(j);if(U)for(var D of U)E.ctxStore.onChange(D,$);if(F)for(var K of F)Be(E,"STATE",': "'.concat(x,'"')).onChange(K,$)}return B&&n.registerArbitraryLifeCycle("onMount",(()=>{br(B,E)(new CustomEvent("mount",{detail:{rerender:!1}}))})),L&&n.registerArbitraryLifeCycle("onUnmount",(()=>{br(L,E)(new CustomEvent("unmount",{detail:{rerender:!1}}))})),_}/\.tpl-/.test(C)&&!_e.get(C)&&(yield Ea((0,u.loadBricksImperatively)([C],No()),"brick",C,n.unknownBricks));var V,W,H=function(e,t){if(!e.includes(".")&&e.startsWith("tpl-")&&t){var r="".concat(t,".").concat(e);if(_e.get(r))return r}return!!_e.get(e)&&e}(C,null===(l=E.app)||void 0===l?void 0:l.id);if(H){var q,z=null!==(q=p.get(H))&&void 0!==q?q:0;if(z>=10)throw new Error('Maximum custom template stack overflowed: "'.concat(H,'"'));p.set(H,z+1)}else C.includes("-")&&!customElements.get(C)&&(C===Zn?customElements.define(Zn,class extends HTMLElement{get $$typeof(){return"form-renderer"}}):v.blockingList.push(Ea((0,u.enqueueStableLoadBricks)([C],No()),"brick",C,n.unknownBricks)));if(C===Zn){var G,Y=null!==(G=t.properties)&&void 0!==G?G:{};({formData:V}=Y),W=(0,h.A)(Y,ca)}else W=t.properties;var J=[],Q=function(e,t,r){return(0,d.isObject)(e)?Object.entries(e).map((e=>{var[n,a]=e,{contextNames:o,stateNames:i,formStateNames:s}=Pt(a);return(o||i||s)&&r.push({contextNames:o,stateNames:i,formStateNames:s,propName:n,propValue:a}),[n,At(a,t,{$$lazyForUseBrick:!0,$$stateOfUseBrick:"useBrick"===n?mt.USE_BRICK:mt.INITIAL})]})):[]}(W,E,J),X=t[Yt];X&&Q.push(...X);var Z="script"===C;if(Z||"link"===C){var ee=yield Bt(Q);if(Z?ee.src:"stylesheet"===ee.rel&&ee.href){var te,re=null!==(te=window.PUBLIC_ROOT)&&void 0!==te?te:"";if(Z){var{src:ne}=ee,ae=(0,h.A)(ee,la);yield Ea((0,u.loadScript)(ne,re,ae),"script",ne,"silent")}else{var{href:oe}=ee;ae=(0,h.A)(ee,ua),yield Ea((0,u.loadStyle)(oe,re,ae),"stylesheet",oe,"silent")}return v}}var ie={tag:Dr.BRICK,type:H||C,return:e,slotId:s,events:t.events,runtimeContext:E,portal:t.portal,iid:t.iid,ref:t.ref};v.node=ie;var se=(0,O.strictCollectMemberUsage)([t.events,t.lifeCycle],"PROCESSORS",2);se.size>0&&v.blockingList.push(Ea((0,u.loadProcessorsImperatively)(se,No()),"processors",[...se].join(", "),n.unknownBricks));var ce=[],le=function(){var e=(0,o.A)((function*(){ie.properties=yield Bt(Q),function(e,t){var r=function(t){var r=()=>{e.element&&Ft(e.element,{[t.propName]:t.propValue},e.runtimeContext)};if(t.contextNames)for(var n of t.contextNames)e.runtimeContext.ctxStore.onChange(n,r);if(t.stateNames){var a=Be(e.runtimeContext,"STATE",': "'.concat(t.propValue,'"'));for(var o of t.stateNames)a.onChange(o,r)}if(t.formStateNames){var i=Je(e.runtimeContext,"FORM_STATE",': "'.concat(t.propValue,'"'));for(var s of t.formStateNames)i.onChange(s,r)}};for(var n of t)r(n)}(ie,J)}));return function(){return e.apply(this,arguments)}}();ce.push(le()),n.registerBrickLifeCycle(ie,t.lifeCycle);var ue,de=t;H?de=Qn(H,t,ie,Q,n):C===Zn&&(de=function(e,t,r,n,o){var i,s,c="string"==typeof e?JSON.parse(e):e,l=(0,g.uniqueId)("form-state-"),u=(0,a.A)((0,a.A)({},r.runtimeContext),{},{formStateStoreId:l});delete u.forEachItem,delete u.forEachIndex,delete u.tplStateStoreId;var f=new Vn("FORM_STATE",void 0,o,l);u.formStateStoreMap.set(l,f),u.formStateStoreScope&&u.formStateStoreScope.push(f);var p=null!==(i=c.context)&&void 0!==i?i:[];p.some((e=>"params"===e.name))||p.push({name:"params"}),f.define(p,u,n);var v=ra(c.formSchema,c.fields,l);return ta.includes(v.brick)&&t.events&&(v.events=function(e,t){var r=null!=e?e:{};for(var[n,a]of Object.entries(t))r[n]=(0,d.hasOwnProperty)(r,n)?[r[n],a].flat():a;return r}(v.events,t.events)),"boolean"!=typeof(null===(s=t.properties)||void 0===s?void 0:s.renderRoot)||t.properties.renderRoot?(0,a.A)((0,a.A)({},t),{},{slots:void 0,children:[{brick:"eo-micro-view",properties:{style:{padding:"12px"}},children:[v]}]}):(0,a.A)((0,a.A)({},t),{},{slots:void 0,children:[v]})}(V,t,ie,Q,n)),de.portal&&(ie.slotId=void 0),H?(delete(ue=(0,a.A)({},E)).forEachItem,delete ue.forEachIndex):ue=E;var fe=function(){var e=(0,o.A)((function*(){var e=Sa(de.children,de.slots);if(e){var t=new Map,r=yield Promise.all(Object.entries(e).map(((e,r)=>{var[s,c]=e;if("routes"!==c.type)return pa(ie,c.bricks,ue,n,i,s,p);var l=i[i.length-1];return null!=l&&l.incrementalSubRoutes&&(t.set(r,s),n.performIncrementalRender(function(){var e=(0,o.A)((function*(e,t){var{homepage:r}=ue.app,{pathname:o}=e;if(!y(r,o)||!i.every((e=>{var n,a;return(n=zt(e,r,t.pathname))&&(a=zt(e,r,o))&&(e!==l||(0,g.isEqual)(n.params,a.params))})))return!1;var u,[d,f,p]=Aa((0,a.A)((0,a.A)({},ue),{},{location:e,query:new URLSearchParams(e.search)})),v=!1,h=[];try{if(u=yield da(ie,c.routes,d,n,i,s,!0),n.reBailout(u))return!0;h=[...f,...p],yield ba(u,d,[d.ctxStore,...h]),yield n.reMergeMenuRequests(c.routes,u.route,u.menuRequests)}catch(e){console.error("Incremental sub-router failed:",e);var m=n.reCatch(e,ie);if(!m)return!0;({failed:v,output:u}=m),yield n.reMergeMenuRequests(c.routes,u.route,u.menuRequests)}if(n.reRender(s,[],u.node,ie),!v)for(var b of(d.ctxStore.mountAsyncData(u.route),h))b.mountAsyncData();return!0}));return function(t,r){return e.apply(this,arguments)}}())),da(ie,c.routes,ue,n,i,s)}))),s=(0,a.A)((0,a.A)({},v),{},{node:void 0,blockingList:[],menuRequests:[]});r.forEach(((e,r)=>{t.has(r)&&n.memoize(t.get(r),[],e.node,ie),wa(s,e)})),s.node&&(ie.child=s.node),wa(v,(0,a.A)((0,a.A)({},s),{},{node:void 0}))}}));return function(){return e.apply(this,arguments)}}();return ce.push(fe()),yield Promise.all(ce),v})),ga.apply(this,arguments)}function ma(){return(ma=(0,o.A)((function*(e,t,r,n,o,i,s,c,l){var u={blockingList:[],menuRequests:[]},d=t.length;return(yield Promise.all(t.map(((t,u)=>Promise.all(r.map(((r,f)=>ha(e,r,(0,a.A)((0,a.A)({},n),{},{forEachItem:t,forEachIndex:u}),o,i,s,l.concat(u*d+f),c&&new Map(c))))))))).flat().forEach(((t,r)=>{t.hasTrackingControls&&o.memoize(s,l.concat(r),t.node,e),wa(u,t)})),u}))).apply(this,arguments)}function ya(e){return[e.ctxStore,...e.tplStateStoreMap.values(),...e.formStateStoreMap.values()]}function ba(e,t,r){return(0,u.flushStableLoadBricks)(),Promise.all([...e.blockingList,...r.map((e=>e.waitForAll())),...t.pendingPermissionsPreCheck])}function Aa(e){var t=[],r=[];return[(0,a.A)((0,a.A)({},e),{},{tplStateStoreScope:t,formStateStoreScope:r}),t,r]}function wa(e,t){var{blockingList:r,node:n,menuRequests:a,hasTrackingControls:o}=t,i=(0,h.A)(t,ia);if(e.blockingList.push(...r),e.menuRequests.push(...a),n)if(e.node){for(var s=e.node;s.sibling;)s=s.sibling;s.sibling=n}else e.node=n;Object.assign(e,i)}function Sa(e,t){var r=t;if(Array.isArray(e)&&!r)for(var n of(r={},e)){var a,o=null!==(a=n.slot)&&void 0!==a?a:"";(0,d.hasOwnProperty)(r,o)||(r[o]={type:"bricks",bricks:[]}),r[o].bricks.push(n)}return r}function Ea(e,t,r,n){return"silent"===n?e.catch((e=>{console.error('Load %s "%s" failed:',t,r,e)})):e}function ka(){if(!aa){if(aa={isInIframe:!1,isInIframeOfSameSite:!1,isInIframeOfNext:!1,isInIframeOfVisualBuilder:!1,isInIframeOfLegacyConsole:!1},window!==window.parent){aa.isInIframe=!0;try{if(window.origin===window.parent.origin){aa.isInIframeOfSameSite=!0;var e="/next/"===v(),t=window.parent.location.pathname,r=t.startsWith("/next/");aa.isInIframeOfNext=0==(Number(e)^Number(r)),aa.isInIframeOfVisualBuilder=t.startsWith("".concat(r?"/next":"","/visual-builder/")),aa.isInIframeOfLegacyConsole=e&&!r}}catch(e){}}Object.freeze(aa)}return aa}function Ia(e){var t;if(!e.$$registerCustomTemplateProcessed){e.$$registerCustomTemplateProcessed=!0;var r=null===(t=e.meta)||void 0===t?void 0:t.customTemplates;if(Array.isArray(r))for(var n of r){var a=n.name.includes(".")?n.name:"".concat(e.app.id,".").concat(n.name);_e.define(a,n)}}}function Ca(){return Ca=(0,o.A)((function*(e){if(!e.$$fulfilled)return e.$$fulfilling||(e.$$fulfilling=function(e){return Ra.apply(this,arguments)}(e)),e.$$fulfilling})),Ca.apply(this,arguments)}function Ra(){return(Ra=(0,o.A)((function*(e){var t;yield null==bo||null===(t=bo.fulfilStoryboard)||void 0===t?void 0:t.call(bo,e),L(e),Object.assign(e,{$$fulfilled:!0,$$fulfilling:null})}))).apply(this,arguments)}function Ta(e){var t;t="8.2"===e?"v8-2":"v8",document.documentElement.dataset.ui=t}function Oa(e,t){return e.get(Pa(e,t))}function xa(e,t,r){return e.set(Pa(e,t),r),r}function Pa(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var Ma=new WeakMap,_a=new WeakMap,Ba=new WeakMap,La=new WeakMap,Ua=new WeakMap,Fa=new WeakMap,Na=new WeakMap,ja=new WeakMap,$a=new WeakMap,Da=new WeakMap,Ka=new WeakMap,Va=new WeakMap,Wa=new WeakSet;class Ha{constructor(e){(0,i.A)(this,Wa),(0,c.A)(this,Ma,void 0),(0,c.A)(this,_a,!1),(0,c.A)(this,Ba,void 0),(0,c.A)(this,La,void 0),(0,c.A)(this,Ua,void 0),(0,c.A)(this,Fa,void 0),(0,c.A)(this,Na,new Set),(0,c.A)(this,ja,0),(0,c.A)(this,$a,void 0),(0,c.A)(this,Da,void 0),(0,c.A)(this,Ka,void 0),(0,c.A)(this,Va,void 0),xa(Ma,this,e);var t=C();window.addEventListener("beforeunload",(e=>{Pa(Wa,this,qa).call(this,{})?(e.preventDefault(),e.returnValue=""):delete e.returnValue})),t.block(((e,t)=>Pa(Wa,this,qa).call(this,{location:e,action:t})))}getRenderId(){return Oa($a,this)}getRuntimeContext(){return Oa(Ua,this)}getRecentApps(){return{currentApp:Oa(Da,this),previousApp:Oa(Ka,this)}}getNavConfig(){return Oa(Va,this)}bootstrap(){var e=this;window.AbortController&&(oa=new AbortController,R.http.interceptors.request.use((e=>{var t;return(0,a.A)((0,a.A)({},e),{},{options:(0,a.A)((0,a.A)({},e.options),{},{signal:null!==(t=e.options)&&void 0!==t&&t.noAbortOnRouteChange?null:oa.signal})})})));var t=C();xa(Ba,this,t.location);var r=0;return t.listen(function(){var t=(0,o.A)((function*(t,n){var o,i,s,c,l,u,d=++r,f={hash:void 0,state:void 0};if(void 0!==t.key&&("POP"!==n||void 0!==Oa(Ba,e).key&&!1!==(null===(o=Oa(Ba,e).state)||void 0===o?void 0:o.notify))||(f.key=void 0),((0,p.locationsAreEqual)((0,a.A)((0,a.A)({},Oa(Ba,e)),f),(0,a.A)((0,a.A)({},t),f))||"POP"!==n&&!1===(null===(i=t.state)||void 0===i?void 0:i.notify))&&(l=!0),l||null!==(s=t.state)&&void 0!==s&&s.noIncremental||(l=yield null===(u=Oa(Fa,e))||void 0===u?void 0:u.didPerformIncrementalRender(t,Oa(Ba,e))),r===d)if(l)xa(Ba,e,t);else{if(oa&&(oa.abort(),oa=new AbortController),xa(Ba,e,t),null===(c=Oa(Fa,e))||void 0===c||c.dispatchPageLeave(),"POP"===n&&b(m(Oa(Ma,e),t.pathname)))return void window.location.reload();Oa(_a,e)?xa(La,e,t):(W("locationChange"),Pa(Wa,e,Ga).call(e,t).catch(fr))}}));return function(e,r){return t.apply(this,arguments)}}()),Pa(Wa,this,Ga).call(this,t.location)}}function qa(e){var t,r=C(),n=r.getBlockMessage();null===(t=Oa(Fa,this))||void 0===t||t.dispatchBeforePageLeave(e);var a=r.getBlockMessage();return!n&&a&&r.unblock(),a}function za(e,t,r){var n,a;if(xa(ja,this,(n=Oa(ja,this),a=n++,n)),a>10){var o='Infinite redirect detected: from "'.concat(r.pathname).concat(r.search).concat(r.hash,'" to "').concat(e,'"');throw new Error(o)}C().replace(e,t)}function Ga(e){return Ya.apply(this,arguments)}function Ya(){return(Ya=(0,o.A)((function*(e){xa(_a,this,!0);try{yield Pa(Wa,this,Ja).call(this,e)}finally{if(xa(_a,this,!1),Oa(La,this)){var t=Oa(La,this);xa(La,this,void 0),yield Pa(Wa,this,Ga).call(this,t)}}}))).apply(this,arguments)}function Ja(e){return Qa.apply(this,arguments)}function Qa(){return Qa=(0,o.A)((function*(e){var t,r,n,i,s=this,c=xa($a,this,(0,g.uniqueId)("render-id-"));et=new WeakSet,nt.clear(),null==bo||null===(t=bo.flowApi)||void 0===t||t.clearCollectWidgetContract(),C().unblock();var l=null==bo||null===(r=bo.pageView)||void 0===r?void 0:r.create(),u=m(Oa(Ma,this),e.pathname),d=null===(n=Oa(Ua,this))||void 0===n?void 0:n.app,f=null==u||null===(i=u.app)||void 0===i?void 0:i.id;window.BOOTSTRAP_UNION_FILE&&f&&f!==(null==d?void 0:d.id)&&function(e){var{appId:t,version:r}=e;window.APP_ROOT_TPL&&(window.APP_ID=t,window.APP_ROOT=window.APP_ROOT_TPL.replace("{id}",t).replace("{version}",r))}({appId:f,version:u.app.currentVersion}),null!=u&&u.app&&(yield function(e){return Ca.apply(this,arguments)}(u));var p,v=xa(Da,this,null==u?void 0:u.app),h=d&&v?d.id!==v.id:d!==v,y=Mo().getFeatureFlags(),b=Oa(Fa,this),A=(t,r)=>{null==l||l({status:"redirected"}),Oa(Na,this).add(b),Pa(Wa,this,za).call(this,t,r,e)},w=()=>{var t=y["sso-enabled"]?"/sso-auth/login":"/auth/login";ir(e),A(t,{from:e})},S=document.querySelector("#main-mount-point"),E=document.querySelector("#portal-mount-point"),k={tag:Dr.ROOT,container:S,createPortal:E},I=()=>{var e;for(var t of(Kr(S),Kr(E),Oa(Na,this).add(b),Oa(Na,this)))t&&(t.dispatchOnUnmount(),t.dispose());Oa(Na,this).clear(),null==bo||null===(e=bo.messageDispatcher)||void 0===e||e.reset(),h&&(xa(Ka,this,d),window.dispatchEvent(new CustomEvent("app.change",{detail:{previousApp:d,currentApp:v}})))};if(Z(v&&(ae()[v.id]||v.theme)||"light"),ie("default"),v){var T,O,x,P,M,_;null==bo||null===(T=bo.checkInstalledApps)||void 0===T||T.preCheckInstalledApps(u,(e=>!!Ko(e)));var B={bailout:e=>e.unauthenticated?(w(),!0):e.redirect?(A(e.redirect.path,e.redirect.state),!0):void xa(ja,this,0),mergeMenus:(p=(0,o.A)((function*(e){var t=yield Promise.all(e);xa(Va,s,function(e){var t={breadcrumb:[]};for(var r of e){var{breadcrumb:n}=r;n&&(n.overwrite?t.breadcrumb=n.items:t.breadcrumb.push(...n.items))}return t}(t))})),function(e){return p.apply(this,arguments)}),catch:(t,r)=>{if(!cr(t)||window.NO_AUTH_GUARD){if(!(t instanceof R.HttpAbortError)){var n=Mo().getMiscSettings().noAuthGuardLoginPath;return cr(t)&&n?void A(n,{from:e}):{failed:!0,output:{node:{tag:Dr.BRICK,type:"div",properties:{textContent:sr(t)},runtimeContext:null,return:r},blockingList:[],menuRequests:[]}}}Oa(Na,this).add(b)}else w()}},L=xa(Fa,this,new on("page",{routeHelper:B,renderId:c})),U=xa(Ua,this,{app:v,location:e,query:new URLSearchParams(e.search),flags:y,sys:(0,a.A)((0,a.A)((0,a.A)({},null==bo||null===(O=bo.auth)||void 0===O?void 0:O.getAuth()),ka()),{},{settings:{brand:Mo().getBrandSettings()}}),ctxStore:new Vn("CTX",void 0,L),pendingPermissionsPreCheck:[null==bo||null===(x=bo.checkPermissions)||void 0===x?void 0:x.preCheckPermissions(u)],tplStateStoreMap:new Map,formStateStoreMap:new Map});xa(Va,this,void 0),Ia(u),ge(null===(P=u.meta)||void 0===P?void 0:P.functions,v),null==bo||null===(M=bo.flowApi)||void 0===M||M.collectContract(null===(_=u.meta)||void 0===_?void 0:_.contracts);var F,N=!1,j=[];try{if(F=yield da(k,function(e){if(window.parent===window)return e;var t=e,r=(0,g.findLastIndex)(t,(e=>e.path.startsWith("${APP.homepage}/_dev_only_/template-preview/")));t=[...t.slice(0,r+1),{path:"${APP.homepage}/_dev_only_/template-preview/:templateId",bricks:[{brick:"span"}],menu:!1,exact:!0},...t.slice(r+1)];var n=(0,g.findLastIndex)(t,(e=>e.path.startsWith("${APP.homepage}/_dev_only_/snippet-preview/")));return[...t.slice(0,n+1),{path:"${APP.homepage}/_dev_only_/snippet-preview/:snippetId",bricks:[{brick:"span"}],menu:!1,exact:!0},...t.slice(n+1)]}(u.routes),U,L,[]),B.bailout(F))return;j=ya(U),yield ba(F,U,j),yield B.mergeMenus(F.menuRequests),L.setInitialMenuRequests(F.menuRequests)}catch(e){console.error("Router failed:",e);var $=B.catch(e,k);if(!$)return;({failed:N,output:F}=$)}if(k.child=F.node,I(),F.route&&"routes"!==F.route.type||N){if(N||L.dispatchBeforePageLoad(),re(),ce(),Ta(null==v?void 0:v.uiVersion),Vr(k),window.scrollTo(0,0),N)null==l||l({status:"failed"});else{for(var D of(L.dispatchPageLoad(),L.dispatchAnchorLoad(),L.dispatchOnMount(),L.initializeScrollIntoView(),L.initializeMediaChange(),L.initializeMessageDispatcher(),j))D.mountAsyncData();null==l||l({status:"ok",path:F.path,pageTitle:document.title})}return void W("rendered")}}else{if(!window.NO_AUTH_GUARD&&null!=bo&&bo.auth&&!bo.auth.isLoggedIn())return void w();I()}re(),ce();var K={tag:Dr.BRICK,type:"div",properties:{textContent:"Page not found"},runtimeContext:null,return:k};k.child=K,Vr(k),window.scrollTo(0,0),null==l||l({status:"not-found"}),W("rendered")})),Qa.apply(this,arguments)}var Xa="undefined"!=typeof BRICK_PACKAGES?BRICK_PACKAGES:null,Za=r(4579),eo=r(4501),to=2,ro=.16,no=.05,ao=.05,oo=.15,io=5,so=4,co=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function lo(e){var t=e.r,r=e.g,n=e.b,a=(0,Za.wE)(t,r,n);return{h:360*a.h,s:a.s,v:a.v}}function uo(e){var t=e.r,r=e.g,n=e.b;return"#".concat((0,Za.Ob)(t,r,n,!1))}function fo(e,t,r){var n;return(n=Math.round(e.h)>=60&&Math.round(e.h)<=240?r?Math.round(e.h)-to*t:Math.round(e.h)+to*t:r?Math.round(e.h)+to*t:Math.round(e.h)-to*t)<0?n+=360:n>=360&&(n-=360),n}function po(e,t,r){return 0===e.h&&0===e.s?e.s:((n=r?e.s-ro*t:t===so?e.s+ro:e.s+no*t)>1&&(n=1),r&&t===io&&n>.1&&(n=.1),n<.06&&(n=.06),Number(n.toFixed(2)));var n}function vo(e,t,r){var n;return(n=r?e.v+ao*t:e.v-oo*t)>1&&(n=1),Number(n.toFixed(2))}function ho(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=[],n=(0,eo.RO)(e),a=io;a>0;a-=1){var o=lo(n),i=uo((0,eo.RO)({h:fo(o,a,!0),s:po(o,a,!0),v:vo(o,a,!0)}));r.push(i)}r.push(uo(n));for(var s=1;s<=so;s+=1){var c=lo(n),l=uo((0,eo.RO)({h:fo(c,s),s:po(c,s),v:vo(c,s)}));r.push(l)}return"dark"===t.theme?co.map((function(e){var n,a,o,i=e.index,s=e.opacity;return uo((n=(0,eo.RO)(t.backgroundColor||"#141414"),o=100*s/100,{r:((a=(0,eo.RO)(r[i])).r-n.r)*o+n.r,g:(a.g-n.g)*o+n.g,b:(a.b-n.b)*o+n.b}))})):r}var go,mo,yo,bo,Ao={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},wo={},So={};function Eo(e){return':root,\n[data-override-theme="light"] {\n'.concat(e,"}")}function ko(e){return'html[data-theme="dark-v2"],\n[data-override-theme="dark-v2"] {\n'.concat(e,"}")}function Io(e){return e.match(/[0-9a-fA-F]{2}/g).map((e=>parseInt(e,16))).join(", ")}function Co(e,t,r){return"dark"===t?ho(e,{theme:t,backgroundColor:r})[5]:e}function Ro(e){var t=[];if(["light","dark"].forEach((r=>{if(e[r])switch(e.type){case"brandColor":t.push(function(e,t){return("dark"===e?ko:Eo)("string"==typeof(r=t)?" --color-brand: ".concat(r,";\n"):[" --color-brand: ".concat(r.default,";")," --color-brand-hover: ".concat(r.hover,";")," --color-brand-active: ".concat(r.active,";"),""].join("\n"));var r}(r,e[r]));break;case"baseColors":t.push(function(e,t,r){return("dark"===e?ko:Eo)("".concat(function(e,t){return Object.entries(e).flatMap((e=>{var[r,n]=e;return function(e){if(!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(e))throw new Error("Invalid base color name: ".concat(JSON.stringify(e)))}(r),n.map(((e,n)=>[" --palette-".concat(r,"-").concat(n+1,"-channel: ").concat(Io(e),";")].concat("dark"===t?[]:" --palette-".concat(r,"-").concat(n+1,": rgb(var(--palette-").concat(r,"-").concat(n+1,"-channel));")).join("\n"))).concat("")})).join("\n")}(function(e,t,r){return Object.fromEntries(Object.entries(e).map((e=>{var[n,a]=e;return[n,ho(a,"dark"===t?{theme:t,backgroundColor:r}:void 0)]})))}(t,e,r),e),"\n").concat(function(e,t,r){return Object.entries({green:"green",red:"red",blue:"blue",orange:"orange",cyan:"cyan",purple:"purple",geekblue:"indigo"}).flatMap((n=>{var[a,o]=n;return[" --theme-".concat(a,"-color-rgb-channel: ").concat(Io(Co(t[o],e,r)),";"),..."dark"===e?[]:[" --theme-".concat(a,"-color: var(--palette-").concat(o,"-6);")," --theme-".concat(a,"-border-color: var(--palette-").concat(o,"-3);")]," --theme-".concat(a,"-background: var(--palette-").concat(o,"-").concat("dark"===e?2:1,");"),""]})).join("\n")}(e,t,r)))}(r,e[r],e.backgroundColor));break;case"variables":t.push(function(e,t){return("dark"===e?ko:Eo)(function(e){return Object.entries(e).map((e=>{var[t,r]=e;return function(e){if(!/^--[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(e))throw new Error("Invalid css variable name: ".concat(JSON.stringify(e)))}(t)," ".concat(t,": ").concat(r,";")})).concat("").join("\n")}(t))}(r,e[r]))}})),t.length>0){var r=document.createElement("style");return r.textContent=t.join("\n\n"),document.head.appendChild(r),()=>{r.remove()}}}function To(e,t,r){return e.set(xo(e,t),r),r}function Oo(e,t){return e.get(xo(e,t))}function xo(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}function Po(e){if(go)throw new Error("Cannot create multiple runtimes");return window.addEventListener("message",(e=>{var{data:t}=e;if((null==t?void 0:t.source)===$){var r=t.payload;switch(null==r?void 0:r.type){case D:V=r.active;break;case K:N=r.panel}}})),bo=null==e?void 0:e.hooks,(0,l.initializeI18n)(nr,ar),f.locale(l.i18n.language),l.i18n.on("languageChanged",(()=>{f.locale(l.i18n.language)})),I(),go=new Uo}Object.keys(Ao).forEach((function(e){wo[e]=ho(Ao[e]),wo[e].primary=wo[e][5],So[e]=ho(Ao[e],{theme:"dark",backgroundColor:"#141414"}),So[e].primary=So[e][5]})),wo.red,wo.volcano,wo.gold,wo.orange,wo.yellow,wo.lime,wo.green,wo.cyan,wo.blue,wo.geekblue,wo.purple,wo.magenta,wo.grey;var Mo=function(){var e=k();if(e)return function(){return new Proxy(e.getRuntime(),{get(){switch(arguments.length<=1?void 0:arguments[1]){case"getCurrentApp":case"getRecentApps":case"hasInstalledApp":case"getDesktops":case"getLaunchpadSettings":case"getLaunchpadSiteMap":case"toggleLaunchpadEffect":case"applyPageTitle":case"getNavConfig":case"getFeatureFlags":case"getMiscSettings":case"getBrandSettings":return Reflect.get(...arguments)}}})}}()||function(){return go},_o=new WeakMap,Bo=new WeakMap,Lo=new WeakSet;class Uo{constructor(){(0,i.A)(this,Lo),(0,c.A)(this,_o,!1),(0,c.A)(this,Bo,!1),(0,s.A)(this,"version",3)}initialize(e){var t;if(Oo(_o,this))throw new Error("The runtime cannot be initialized more than once");To(_o,this,!0),function(e){if(Array.isArray(e.storyboards)){var t=function(){if(r.locales){var e="tmp/".concat(r.id);Object.entries(r.locales).forEach((t=>{var[r,n]=t;l.i18n.addResourceBundle(r,e,n)})),r.localeName=l.i18n.getFixedT(null,e)("name",r.name),Object.keys(r.locales).forEach((t=>{l.i18n.removeResourceBundle(t,e)}))}else r.localeName=r.name};for(var{app:r}of e.storyboards)t()}(0,d.isObject)(e.settings)&&(0,d.deepFreeze)(e.settings),e.brickPackages&&(0,d.deepFreeze)(e.brickPackages)}(e),mo=e;var r,{notification:n,dialog:o}=xo(Lo,this,Fo).call(this);!1!==n&&(r=null!=n?n:"basic.show-notification",(0,this.loadBricks)([r]).then((()=>{ur=document.createElement(r)}),(e=>{console.error("Load notification service failed:",e)}))),!1!==o&&function(e,t){t([e]).then((()=>{Gt=document.createElement(e)}),(e=>{console.error("Load dialog service failed:",e)}))}(null!=o?o:"basic.show-dialog",this.loadBricks),function(e){e&&(e.brandColor?Ro((0,a.A)({type:"brandColor"},e.brandColor)):e.baseColors?Ro((0,a.A)({type:"baseColors"},e.baseColors)):e.variables&&Ro((0,a.A)({type:"variables"},e.variables)))}(null===(t=e.settings)||void 0===t||null===(t=t.misc)||void 0===t?void 0:t.theme)}bootstrap(e){var t=this;return(0,o.A)((function*(){if(e&&t.initialize(e),Oo(Bo,t))throw new Error("The runtime cannot be bootstrapped more than once");To(Bo,t,!0),yo=new Ha(mo.storyboards),yield yo.bootstrap()}))()}getRecentApps(){var e,t;return null!==(e=null===(t=yo)||void 0===t?void 0:t.getRecentApps())&&void 0!==e?e:{}}getCurrentApp(){var e;return null===(e=yo)||void 0===e?void 0:e.getRecentApps().currentApp}hasInstalledApp(e,t){return Ye(e,t)}getFeatureFlags(){var e,t;return(0,a.A)((0,a.A)((0,a.A)({},null===(e=mo)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.featureFlags),null===(t=yo)||void 0===t||null===(t=t.getRecentApps().currentApp)||void 0===t||null===(t=t.config)||void 0===t||null===(t=t.settings)||void 0===t?void 0:t.featureFlags),{},{"migrate-to-brick-next-v3":!0})}getMiscSettings(){var e,t;return(0,a.A)((0,a.A)({},null===(e=mo)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.misc),null===(t=yo)||void 0===t||null===(t=t.getRecentApps().currentApp)||void 0===t||null===(t=t.config)||void 0===t||null===(t=t.settings)||void 0===t?void 0:t.misc)}getBrandSettings(){var e;return(0,a.A)({base_title:"DevOps 管理专家"},null===(e=mo)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.brand)}getLaunchpadSettings(){var e;return(0,a.A)({columns:7,rows:4},null===(e=mo)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.launchpad)}getDesktops(){var e,t;return null!==(e=null===(t=mo)||void 0===t?void 0:t.desktops)&&void 0!==e?e:[]}getLaunchpadSiteMap(){var e,t;return null!==(e=null===(t=mo)||void 0===t?void 0:t.siteSort)&&void 0!==e?e:[]}toggleLaunchpadEffect(e){document.body.classList.toggle("launchpad-open",e)}applyPageTitle(e){var t=this.getBrandSettings().base_title;document.title=e?"".concat(e," - ").concat(t):t}getNavConfig(){var e;return null===(e=yo)||void 0===e?void 0:e.getNavConfig()}loadBricks(e){return(0,u.loadBricksImperatively)(e,No())}}function Fo(){var e,t;return null!==(e=null===(t=mo)||void 0===t||null===(t=t.settings)||void 0===t?void 0:t.presetBricks)&&void 0!==e?e:{}}function No(){var e,t,r,n;return null!==(e=null!==(t=null!==(r=null===(n=mo)||void 0===n?void 0:n.brickPackages)&&void 0!==r?r:Xa)&&void 0!==t?t:window.STANDALONE_BRICK_PACKAGES)&&void 0!==e?e:[]}function jo(){var e;return null===(e=yo)||void 0===e?void 0:e.getRenderId()}function $o(){var e;return null===(e=yo)||void 0===e?void 0:e.getRuntimeContext()}function Do(e){var t;return null===(t=mo)||void 0===t||null===(t=t.storyboards)||void 0===t?void 0:t.find((t=>t.app.id===e))}function Ko(e){var t;return null===(t=Do(e))||void 0===t?void 0:t.app}function Vo(){for(var e,t,r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];null==bo||null===(e=bo.auth)||void 0===e||null===(t=e.authenticate)||void 0===t||t.call(e,...n)}function Wo(){var e;return null==bo||null===(e=bo.auth)||void 0===e?void 0:e.getAuth()}function Ho(){var e,t;return null==bo||null===(e=bo.auth)||void 0===e||null===(t=e.logout)||void 0===t?void 0:t.call(e)}function qo(){var e;return null==bo||null===(e=bo.auth)||void 0===e?void 0:e.isLoggedIn()}function zo(e,t,r){return Go.apply(this,arguments)}function Go(){return(Go=(0,o.A)((function*(e,t,r){return it(yield Xe(e),e,"resolve",t,r)}))).apply(this,arguments)}function Yo(e){var t,{portal:r,scope:n="fragment",unknownBricks:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r;t=r||(()=>((i=document.createElement("div")).style.position="absolute",i.style.width=i.style.height="0",document.body.append(i),i));var s,c,l=!1;return{render(r){var u=arguments;return(0,o.A)((function*(){var{theme:o,uiVersion:f,context:p,functions:v,templates:h,i18n:m}=u.length>1&&void 0!==u[1]?u[1]:{};if(l)throw new Error("The root is unmounted and cannot be rendered any more");var y=[].concat(r),b=s,A=(0,g.uniqueId)("render-id-");s=new on(n,{unknownBricks:a,renderId:A});var w={ctxStore:new Vn("CTX",void 0,s),pendingPermissionsPreCheck:[],tplStateStoreMap:new Map,formStateStoreMap:new Map},S={tag:Dr.ROOT,container:e,createPortal:t};if("page"===n){var E;!function(e,t){function r(e){if((0,d.isObject)(e)&&"function"!=typeof e)if(Array.isArray(e))e.map(r);else for(var[t,a]of Object.entries(e))(0,d.isObject)(a)&&"useBrick"===t?Array.isArray(a)?a.forEach((e=>n(e,!0))):n(a,!0):r(a)}function n(e,a){a&&(e[mn]=t);var{properties:o,slots:i,children:s}=e,c=Sa(s,i);for(var l of(r(o),Object.values(null!=c?c:{})))for(var u of null!==(d=l.bricks)&&void 0!==d?d:[]){var d;n(u,a)}}for(var a of e)n(a)}(y,w),Z(null!=o?o:"light"),ie("default"),Ta(f);var k={id:"demo",homepage:"/demo"};w.app=k;var I={app:k,meta:{i18n:m,customTemplates:h}};null===(E=c)||void 0===E||E(),c=L(I),Ia(I),ge(v,k)}w.ctxStore.define(p,w);var C,R=!1,T=[];try{C=yield pa(S,y,w,s,[]),T=ya(w),yield ba(C,w,T)}catch(e){R=!0,C={node:{tag:Dr.BRICK,type:"div",properties:{textContent:sr(e)},return:S,runtimeContext:null},blockingList:[],menuRequests:[]}}if(S.child=C.node,null==b||b.dispatchOnUnmount(),null==b||b.dispose(),Kr(e),i&&Kr(i),"page"===n&&(R||s.dispatchBeforePageLoad(),re(),ce()),Vr(S),"page"===n&&window.scrollTo(0,0),!R){for(var O of T)O.mountAsyncData();"page"===n&&s.dispatchPageLoad(),s.dispatchOnMount(),s.initializeScrollIntoView(),s.initializeMediaChange(),s.initializeMessageDispatcher()}}))()},unmount(){l||(l=!0,Kr(e),i&&(Kr(i),r||i.remove()))}}}}}]);
2
- //# sourceMappingURL=9061.cbb65689.js.map