@cas-smartdesign/z-layout 6.0.1
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.
- package/LICENSE +8 -0
- package/dist/docs/2_add_remove_block.js +1 -0
- package/dist/docs/doc.css +1 -0
- package/dist/docs/doc.mjs +283 -0
- package/dist/docs/index.html +25 -0
- package/dist/zlayout-with-externals.js +64 -0
- package/dist/zlayout-with-externals.js.map +7 -0
- package/dist/zlayout.d.ts +34 -0
- package/dist/zlayout.mjs +171 -0
- package/dist/zlayout.mjs.map +1 -0
- package/npm-third-party-licenses.json +187 -0
- package/package.json +32 -0
- package/readme.md +34 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Copyright 2019 CAS Software AG
|
|
2
|
+
|
|
3
|
+
This software is confidential and proprietary information of CAS Software AG. You shall not
|
|
4
|
+
disclose such Confidential Information and shall use it only in accordance with the terms of
|
|
5
|
+
the license agreement you entered into with CAS Software AG or SmartWe World AG.
|
|
6
|
+
|
|
7
|
+
To obtain a license (e.g. by joining the partner programs of CAS Software AG or SmartWe World AG)
|
|
8
|
+
please contact partnerinfo@cas.de or partnerinfo@smartwe.world.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./doc.mjs";const a=document.querySelector("#add-remove-example"),c=document.querySelector("#add-button");let d=1;const r=()=>{const e=document.createElement("div");e.classList.add("block"),e.innerText=d+"",d++;const t=document.createElement("button"),n=document.createElement("button"),o=document.createElement("button");return t.addEventListener("click",()=>l(e)),o.addEventListener("click",()=>s(e)),n.addEventListener("click",()=>i(e)),t.innerText="Add new block to the left",o.innerText="Add new block to the right",n.innerText="Remove this block",e.appendChild(t),e.appendChild(n),e.appendChild(o),e},i=e=>{e.parentElement.removeChild(e)},s=e=>{const t=r();e.insertAdjacentElement("afterend",t)},l=e=>{const t=r();a.insertBefore(t,e)};c.addEventListener("click",()=>{l(c.parentElement)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#1f2328;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:#0969da;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid hsla(210,18%,87%,1)}.markdown-body mark{background-color:#fff8c5;color:#1f2328}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 40px}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid hsla(210,18%,87%,1);height:.25em;padding:0;margin:24px 0;background-color:#d0d7de;border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#6e7781;opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body details:not([open])>*:not(summary){display:none!important}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#1f2328;vertical-align:middle;background-color:#f6f8fa;border:solid 1px rgba(175,184,193,.2);border-bottom-color:#afb8c133;border-radius:6px;box-shadow:inset 0 -1px #afb8c133}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid hsla(210,18%,87%,1)}.markdown-body h3{font-weight:600;font-size:1.25em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:#656d76}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:#656d76;border-left:.25em solid #d0d7de}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body .mr-2{margin-right:8px!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#d1242f}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1f2328;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #d0d7de}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#fff;border-top:1px solid hsla(210,18%,87%,1)}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #d0d7de}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#1f2328}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#afb8c133;border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:#1f2328;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:#656d76;border-top:1px solid #d0d7de}.markdown-body .footnotes ol{padding-left:16px}.markdown-body .footnotes ol ul{display:inline-block;padding-left:16px;margin-top:16px}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid #0969da;border-radius:6px}.markdown-body .footnotes li:target{color:#1f2328}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:#57606a}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0550ae}.markdown-body .pl-e,.markdown-body .pl-en{color:#6639ba}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:#24292f}.markdown-body .pl-ent{color:#116329}.markdown-body .pl-k{color:#cf222e}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#0a3069}.markdown-body .pl-v,.markdown-body .pl-smw{color:#953800}.markdown-body .pl-bu{color:#82071e}.markdown-body .pl-ii{color:#f6f8fa;background-color:#82071e}.markdown-body .pl-c2{color:#f6f8fa;background-color:#cf222e}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#116329}.markdown-body .pl-ml{color:#3b2300}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#0550ae}.markdown-body .pl-mi{font-style:italic;color:#24292f}.markdown-body .pl-mb{font-weight:700;color:#24292f}.markdown-body .pl-md{color:#82071e;background-color:#ffebe9}.markdown-body .pl-mi1{color:#116329;background-color:#dafbe1}.markdown-body .pl-mc{color:#953800;background-color:#ffd8b5}.markdown-body .pl-mi2{color:#eaeef2;background-color:#0550ae}.markdown-body .pl-mdr{font-weight:700;color:#8250df}.markdown-body .pl-ba{color:#57606a}.markdown-body .pl-sg{color:#8c959f}.markdown-body .pl-corl{text-decoration:underline;color:#0a3069}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:4px}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list{position:relative}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:8px 16px;margin-bottom:16px;color:inherit;border-left:.25em solid #d0d7de}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#0969da}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#0969da}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8250df}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#8250df}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9a6700}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#9a6700}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#1f883d}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#cf222e}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#d1242f}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function t(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(r){if(r.ep)return;r.ep=!0;const o=t(r);fetch(r.href,o)}})();const Ni=`<!-- Load element with all dependencies directly -->
|
|
2
|
+
<script src="./zlayout-with-externals.js"><\/script>
|
|
3
|
+
<sd-z-layout>
|
|
4
|
+
<div class="block">First block</div>
|
|
5
|
+
<div class="block">Second block</div>
|
|
6
|
+
<div class="block">Third block</div>
|
|
7
|
+
</sd-z-layout>
|
|
8
|
+
`,Mi=`<h3 id="declarative-usage">Declarative usage</h3>
|
|
9
|
+
`,Ti=`.block {
|
|
10
|
+
border: 1px dashed #808080;
|
|
11
|
+
text-align: center;
|
|
12
|
+
padding: 16px;
|
|
13
|
+
}
|
|
14
|
+
`,Pi={mainContent:Ni,description:Mi,css:Ti},Li=Object.freeze(Object.defineProperty({__proto__:null,default:Pi},Symbol.toStringTag,{value:"Module"})),Ii="modulepreload",zi=function(i,e){return new URL(i,e).href},Zt={},ji=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){const o=document.getElementsByTagName("link");r=Promise.all(t.map(s=>{if(s=zi(s,n),s in Zt)return;Zt[s]=!0;const l=s.endsWith(".css"),a=l?'[rel="stylesheet"]':"";if(!!n)for(let b=o.length-1;b>=0;b--){const g=o[b];if(g.href===s&&(!l||g.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${a}`))return;const h=document.createElement("link");if(h.rel=l?"stylesheet":Ii,l||(h.as="script",h.crossOrigin=""),h.href=s,document.head.appendChild(h),l)return new Promise((b,g)=>{h.addEventListener("load",b),h.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${s}`)))})}))}return r.then(()=>e()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})},$i=`<sd-z-layout id="add-remove-example">
|
|
15
|
+
<div class="block">
|
|
16
|
+
<button id="add-button">Add new block to the left</button>
|
|
17
|
+
</div>
|
|
18
|
+
</sd-z-layout>
|
|
19
|
+
`,Bi=`<h3 id="add-/-remove-blocks">Add / Remove blocks</h3>
|
|
20
|
+
`,Di=`.block {
|
|
21
|
+
border: 1px dashed #808080;
|
|
22
|
+
text-align: center;
|
|
23
|
+
padding: 16px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.block > * {
|
|
27
|
+
margin: 8px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
button {
|
|
31
|
+
background: rgba(20, 103, 186, 0);
|
|
32
|
+
font-size: 16px;
|
|
33
|
+
color: #1467ba;
|
|
34
|
+
border: none;
|
|
35
|
+
outline: none;
|
|
36
|
+
padding: 0 16px;
|
|
37
|
+
height: 32px;
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
}
|
|
40
|
+
button:hover,
|
|
41
|
+
button:focus {
|
|
42
|
+
background: rgba(20, 103, 186, 0.1);
|
|
43
|
+
}
|
|
44
|
+
button:active {
|
|
45
|
+
background: rgba(20, 103, 186, 0.2);
|
|
46
|
+
}
|
|
47
|
+
`,Ui=`import "@cas-smartdesign/z-layout";
|
|
48
|
+
|
|
49
|
+
const zLayout = document.querySelector("#add-remove-example");
|
|
50
|
+
const addButton = document.querySelector("#add-button");
|
|
51
|
+
|
|
52
|
+
let counter = 1;
|
|
53
|
+
|
|
54
|
+
const createBlock = () => {
|
|
55
|
+
const block = document.createElement("div");
|
|
56
|
+
block.classList.add("block");
|
|
57
|
+
block.innerText = counter + "";
|
|
58
|
+
counter++;
|
|
59
|
+
|
|
60
|
+
const addToLeftButton = document.createElement("button");
|
|
61
|
+
const removeButton = document.createElement("button");
|
|
62
|
+
const addToRightButton = document.createElement("button");
|
|
63
|
+
|
|
64
|
+
addToLeftButton.addEventListener("click", () => addBlockBefore(block));
|
|
65
|
+
addToRightButton.addEventListener("click", () => addBlockAfter(block));
|
|
66
|
+
removeButton.addEventListener("click", () => removeBlock(block));
|
|
67
|
+
|
|
68
|
+
addToLeftButton.innerText = "Add new block to the left";
|
|
69
|
+
addToRightButton.innerText = "Add new block to the right";
|
|
70
|
+
removeButton.innerText = "Remove this block";
|
|
71
|
+
block.appendChild(addToLeftButton);
|
|
72
|
+
block.appendChild(removeButton);
|
|
73
|
+
block.appendChild(addToRightButton);
|
|
74
|
+
|
|
75
|
+
return block;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const removeBlock = (node: HTMLElement) => {
|
|
79
|
+
node.parentElement.removeChild(node);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const addBlockAfter = (node: HTMLElement) => {
|
|
83
|
+
const block = createBlock();
|
|
84
|
+
node.insertAdjacentElement("afterend", block);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const addBlockBefore = (node: HTMLElement) => {
|
|
88
|
+
const block = createBlock();
|
|
89
|
+
zLayout.insertBefore(block, node);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
addButton.addEventListener("click", () => {
|
|
93
|
+
addBlockBefore(addButton.parentElement);
|
|
94
|
+
});
|
|
95
|
+
`,Fi={mainContent:$i,description:Bi,css:Di,initializer:{content:Ui,type:"typescript",initialize:()=>ji(()=>import("./2_add_remove_block.js"),__vite__mapDeps([]),import.meta.url)}},Wi=Object.freeze(Object.defineProperty({__proto__:null,default:Fi},Symbol.toStringTag,{value:"Module"})),Hi=`<!-- Load element with all dependencies directly -->
|
|
96
|
+
<script src="./zlayout-with-externals.js"><\/script>
|
|
97
|
+
<h4>Default</h4>
|
|
98
|
+
<sd-z-layout>
|
|
99
|
+
<div class="block">First block</div>
|
|
100
|
+
<div class="block">Second block</div>
|
|
101
|
+
<div class="block">Third block</div>
|
|
102
|
+
</sd-z-layout>
|
|
103
|
+
|
|
104
|
+
<h4>Fixed columns</h4>
|
|
105
|
+
<sd-z-layout fixed-columns>
|
|
106
|
+
<div class="block">First block</div>
|
|
107
|
+
<div class="block">Second block</div>
|
|
108
|
+
<div class="block">Third block</div>
|
|
109
|
+
</sd-z-layout>
|
|
110
|
+
|
|
111
|
+
<h4>Column width 200px</h4>
|
|
112
|
+
<sd-z-layout column-width="200px">
|
|
113
|
+
<div class="block">First block</div>
|
|
114
|
+
<div class="block">Second block</div>
|
|
115
|
+
<div class="block">Third block</div>
|
|
116
|
+
</sd-z-layout>
|
|
117
|
+
|
|
118
|
+
<h4>Column width 200px with fixed columns</h4>
|
|
119
|
+
<sd-z-layout column-width="200px" fixed-columns>
|
|
120
|
+
<div class="block">First block</div>
|
|
121
|
+
<div class="block">Second block</div>
|
|
122
|
+
<div class="block">Third block</div>
|
|
123
|
+
</sd-z-layout>
|
|
124
|
+
`,Gi=`<h3 id="declarative-usage---custom-properties">Declarative usage - custom properties</h3>
|
|
125
|
+
`,Zi=`.block {
|
|
126
|
+
border: 1px dashed #808080;
|
|
127
|
+
text-align: center;
|
|
128
|
+
padding: 16px;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
sd-z-layout:not(:first-of-type) {
|
|
132
|
+
padding-top: 16px;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
sd-z-layout:not(:last-of-type) {
|
|
136
|
+
padding-bottom: 16px;
|
|
137
|
+
border-bottom: 1px dashed #808080;
|
|
138
|
+
}
|
|
139
|
+
`,Ki={mainContent:Hi,description:Gi,css:Zi},qi=Object.freeze(Object.defineProperty({__proto__:null,default:Ki},Symbol.toStringTag,{value:"Module"})),wn=class je extends HTMLElement{memoizedTemplate(){const e=this.is();if(je.TEMPLATE_CACHE[e])return je.TEMPLATE_CACHE[e];const t=this.template();return window.ShadyCSS&&window.ShadyCSS.prepareTemplate(t,this.is()),je.TEMPLATE_CACHE[e]=t,t}connectedCallback(){const e=this.memoizedTemplate();window.ShadyCSS&&window.ShadyCSS.styleElement(this),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(document.importNode(e.content,!0)),requestAnimationFrame(()=>this.dispatchEvent(new CustomEvent("ready"))))}whenReady(e){this.shadowRoot?e():this.addEventListener("ready",()=>e())}};wn.TEMPLATE_CACHE={};let Vi=wn;const Ji=`<style>
|
|
140
|
+
:host {
|
|
141
|
+
display: block;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.grid-variant {
|
|
145
|
+
display: grid;
|
|
146
|
+
grid-gap: var(--z-layout-spacing, 16px);
|
|
147
|
+
grid-template-columns: repeat(auto-fill, minmax(var(--z-layout-column-width, 400px), 1fr));
|
|
148
|
+
grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--z-layout-column-width, 400px)), 1fr));
|
|
149
|
+
justify-content: space-around;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
:host([fixed-columns]) .grid-variant {
|
|
153
|
+
grid-template-columns: repeat(auto-fit, var(--z-layout-column-width, 400px));
|
|
154
|
+
grid-template-columns: repeat(auto-fit, min(100%, var(--z-layout-column-width, 400px)));
|
|
155
|
+
justify-content: flex-start;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.flex-variant {
|
|
159
|
+
display: flex;
|
|
160
|
+
width: calc(100% + var(--z-layout-spacing, 16px));
|
|
161
|
+
margin: calc(-0.5 * var(--z-layout-spacing, 16px));
|
|
162
|
+
box-sizing: border-box;
|
|
163
|
+
flex-wrap: wrap;
|
|
164
|
+
justify-content: space-around;
|
|
165
|
+
align-content: space-around;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
:host([fixed-columns]) .flex-variant {
|
|
169
|
+
justify-content: flex-start;
|
|
170
|
+
align-content: center;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
:host([fixed-columns]) .flex-variant ::slotted(*) {
|
|
174
|
+
flex: 0 0 auto;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.flex-variant ::slotted(*) {
|
|
178
|
+
flex: 1 1 auto;
|
|
179
|
+
box-sizing: border-box;
|
|
180
|
+
width: calc(var(--z-layout-column-width, 400px) + var(--z-layout-spacing, 16px)) !important;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.grid-variant ::slotted(*) {
|
|
184
|
+
box-sizing: border-box;
|
|
185
|
+
max-width: 100% !important;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.flex-variant ::slotted(:not(.filler)) {
|
|
189
|
+
border: calc(var(--z-layout-spacing, 16px) / 2) solid transparent !important;
|
|
190
|
+
background-clip: padding-box !important;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.flex-variant ::slotted(.filler) {
|
|
194
|
+
order: 2147483647;
|
|
195
|
+
}
|
|
196
|
+
</style>
|
|
197
|
+
<div class="root">
|
|
198
|
+
<slot></slot>
|
|
199
|
+
</div>
|
|
200
|
+
`,Ze=class Ze extends Vi{constructor(){super(),this.fillers=[],this.lastKnownWidth=-1,this.debounced={}}is(){return Ze.ID}template(){const e=document.createElement("template");return e.innerHTML=Ji,e}get fixedColumns(){return this.hasAttribute("fixed-columns")&&this.getAttribute("fixed-columns")!=="false"}set fixedColumns(e){e?this.setAttribute("fixed-columns",""):this.removeAttribute("fixed-columns")}get columnWidth(){return this.hasAttribute("column-width")?this.getAttribute("column-width"):getComputedStyle(this).getPropertyValue("--z-layout-column-width")}set columnWidth(e){this.setAttribute("column-width",e)}static get observedAttributes(){return["column-width"]}connectedCallback(){super.connectedCallback(),this.rootElement||(this.rootElement=this.shadowRoot.querySelector(".root"),this.isGridLayoutSupported()?this.rootElement.className="root grid-variant":(this.rootElement.className="root flex-variant",this.childListObserver=new MutationObserver(e=>{e.reduce((n,r)=>[...n,...r.addedNodes,...r.removedNodes],[]).filter(n=>(n.className||"").indexOf("filler")===-1).length>0&&this.debounce("update-fillers",()=>{this.updateFillers()})}),this.resizeObserver=new ResizeObserver((e,t)=>{this.lastKnownWidth!==this.offsetWidth&&(this.lastKnownWidth=this.offsetWidth,this.debounce("update-fillers",()=>{this.updateFillers()}))})),this.checkMarginUsageOnDirectChildren()),this.childListObserver&&this.childListObserver.observe(this,{childList:!0}),this.resizeObserver&&this.resizeObserver.observe(this)}attributeChangedCallback(){this.onColumnWidthChange()}isGridLayoutSupported(){const e=navigator.userAgent.indexOf("Edge/")>-1,t=window,n=t.CSS&&t.CSS.supports;return!e&&n&&CSS.supports("display","grid")}updateFillers(){if(this.childElementCount>0)if(this.fixedColumns)this.fillers.length>0&&(this.fillers.forEach(e=>this.removeChild(e)),this.fillers=[]);else{let e=Number.POSITIVE_INFINITY,t;for(;this.currentColumnWidth()<e;)e=this.currentColumnWidth(),t=this.appendFiller(),this.flushShadyDomChanges();this.fillers.length=this.fillers.length-1,this.removeChild(t);const n=this.offsetWidth/e;if(isFinite(n))for(;n-1>this.fillers.length;)this.appendFiller()}}appendFiller(){const e=document.createElement("div");return e.className="filler",this.fillers.push(e),this.appendChild(e),e}flushShadyDomChanges(){const e=window.ShadyDOM;e&&e.flush&&e.flush()}checkMarginUsageOnDirectChildren(){requestAnimationFrame(()=>{for(let e=0;e<this.children.length;e++){const t=this.children[e];if(t.className.indexOf("filler")===-1){const n=getComputedStyle(t);if(parseInt(n.marginLeft,10)!==0||parseInt(n.marginRight,10)!==0){console.warn(`[sd-z-layout] It is not recommended to use horizontal margins on direct children of the sd-z-layout element because the flex-variant (which is used in browsers without css grid support) might have layouting problems.
|
|
201
|
+
Please consider to apply such margins inside these elements instead.`);return}}}})}currentColumnWidth(){for(const e of this.children)if(e.offsetWidth)return e.offsetWidth}onColumnWidthChange(){const e=window.ShadyCSS;this.hasAttribute("column-width")?(this.style.setProperty("--z-layout-column-width",this.getAttribute("column-width")),e&&e.styleSubtree(this,{"--z-layout-column-width":this.getAttribute("column-width")})):(this.style.removeProperty("--z-layout-column-width"),e&&e.styleSubtree(this,{"--z-layout-column-width":""}))}disconnectedCallback(){this.childListObserver&&this.childListObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect()}debounce(e,t){this.debounced[e]||(this.debounced[e]=!0,requestAnimationFrame(()=>{delete this.debounced[e],t()}))}};Ze.ID="sd-z-layout";let de=Ze;customElements.get(de.ID)||customElements.define(de.ID,de);function xn(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function Xi(i){if(i.__esModule)return i;var e=i.default;if(typeof e=="function"){var t=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(i).forEach(function(n){var r=Object.getOwnPropertyDescriptor(i,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return i[n]}})}),t}var _t={exports:{}},C=String,vn=function(){return{isColorSupported:!1,reset:C,bold:C,dim:C,italic:C,underline:C,inverse:C,hidden:C,strikethrough:C,black:C,red:C,green:C,yellow:C,blue:C,magenta:C,cyan:C,white:C,gray:C,bgBlack:C,bgRed:C,bgGreen:C,bgYellow:C,bgBlue:C,bgMagenta:C,bgCyan:C,bgWhite:C}};_t.exports=vn();_t.exports.createColors=vn;var Qi=_t.exports;const Yi={},er=Object.freeze(Object.defineProperty({__proto__:null,default:Yi},Symbol.toStringTag,{value:"Module"})),j=Xi(er);let Kt=Qi,qt=j,dt=class En extends Error{constructor(e,t,n,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof t<"u"&&typeof n<"u"&&(typeof t=="number"?(this.line=t,this.column=n):(this.line=t.line,this.column=t.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,En)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;e==null&&(e=Kt.isColorSupported),qt&&e&&(t=qt(t));let n=t.split(/\r?\n/),r=Math.max(this.line-3,0),o=Math.min(this.line+2,n.length),s=String(o).length,l,a;if(e){let{bold:c,gray:h,red:b}=Kt.createColors(!0);l=g=>c(b(g)),a=g=>h(g)}else l=a=c=>c;return n.slice(r,o).map((c,h)=>{let b=r+1+h,g=" "+(" "+b).slice(-s)+" | ";if(b===this.line){let _=a(g.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return l(">")+a(g)+c+`
|
|
202
|
+
`+_+l("^")}return" "+a(g)+c}).join(`
|
|
203
|
+
`)}toString(){let e=this.showSourceCode();return e&&(e=`
|
|
204
|
+
|
|
205
|
+
`+e+`
|
|
206
|
+
`),this.name+": "+this.message+e}};var At=dt;dt.default=dt;var xe={};xe.isClean=Symbol("isClean");xe.my=Symbol("my");const Vt={after:`
|
|
207
|
+
`,beforeClose:`
|
|
208
|
+
`,beforeComment:`
|
|
209
|
+
`,beforeDecl:`
|
|
210
|
+
`,beforeOpen:" ",beforeRule:`
|
|
211
|
+
`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function tr(i){return i[0].toUpperCase()+i.slice(1)}let ft=class{constructor(e){this.builder=e}atrule(e,t){let n="@"+e.name,r=e.params?this.rawValue(e,"params"):"";if(typeof e.raws.afterName<"u"?n+=e.raws.afterName:r&&(n+=" "),e.nodes)this.block(e,n+r);else{let o=(e.raws.between||"")+(t?";":"");this.builder(n+r+o,e)}}beforeAfter(e,t){let n;e.type==="decl"?n=this.raw(e,null,"beforeDecl"):e.type==="comment"?n=this.raw(e,null,"beforeComment"):t==="before"?n=this.raw(e,null,"beforeRule"):n=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(n.includes(`
|
|
212
|
+
`)){let s=this.raw(e,null,"indent");if(s.length)for(let l=0;l<o;l++)n+=s}return n}block(e,t){let n=this.raw(e,"between","beforeOpen");this.builder(t+n+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(r),this.builder("}",e,"end")}body(e){let t=e.nodes.length-1;for(;t>0&&e.nodes[t].type==="comment";)t-=1;let n=this.raw(e,"semicolon");for(let r=0;r<e.nodes.length;r++){let o=e.nodes[r],s=this.raw(o,"before");s&&this.builder(s),this.stringify(o,t!==r||n)}}comment(e){let t=this.raw(e,"left","commentLeft"),n=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+n+"*/",e)}decl(e,t){let n=this.raw(e,"between","colon"),r=e.prop+n+this.rawValue(e,"value");e.important&&(r+=e.raws.important||" !important"),t&&(r+=";"),this.builder(r,e)}document(e){this.body(e)}raw(e,t,n){let r;if(n||(n=t),t&&(r=e.raws[t],typeof r<"u"))return r;let o=e.parent;if(n==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Vt[n];let s=e.root();if(s.rawCache||(s.rawCache={}),typeof s.rawCache[n]<"u")return s.rawCache[n];if(n==="before"||n==="after")return this.beforeAfter(e,n);{let l="raw"+tr(n);this[l]?r=this[l](s,e):s.walk(a=>{if(r=a.raws[t],typeof r<"u")return!1})}return typeof r>"u"&&(r=Vt[n]),s.rawCache[n]=r,r}rawBeforeClose(e){let t;return e.walk(n=>{if(n.nodes&&n.nodes.length>0&&typeof n.raws.after<"u")return t=n.raws.after,t.includes(`
|
|
213
|
+
`)&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let n;return e.walkComments(r=>{if(typeof r.raws.before<"u")return n=r.raws.before,n.includes(`
|
|
214
|
+
`)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(t,null,"beforeDecl"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeDecl(e,t){let n;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return n=r.raws.before,n.includes(`
|
|
215
|
+
`)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(t,null,"beforeRule"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeOpen(e){let t;return e.walk(n=>{if(n.type!=="decl"&&(t=n.raws.between,typeof t<"u"))return!1}),t}rawBeforeRule(e){let t;return e.walk(n=>{if(n.nodes&&(n.parent!==e||e.first!==n)&&typeof n.raws.before<"u")return t=n.raws.before,t.includes(`
|
|
216
|
+
`)&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(n=>{if(typeof n.raws.between<"u")return t=n.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(n=>{if(n.nodes&&n.nodes.length===0&&(t=n.raws.after,typeof t<"u"))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(n=>{let r=n.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof n.raws.before<"u"){let o=n.raws.before.split(`
|
|
217
|
+
`);return t=o[o.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(t=n.raws.semicolon,typeof t<"u"))return!1}),t}rawValue(e,t){let n=e[t],r=e.raws[t];return r&&r.value===n?r.raw:n}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}};var Sn=ft;ft.default=ft;let nr=Sn;function pt(i,e){new nr(e).stringify(i)}var Ke=pt;pt.default=pt;let{isClean:Oe,my:ir}=xe,rr=At,sr=Sn,or=Ke;function gt(i,e){let t=new i.constructor;for(let n in i){if(!Object.prototype.hasOwnProperty.call(i,n)||n==="proxyCache")continue;let r=i[n],o=typeof r;n==="parent"&&o==="object"?e&&(t[n]=e):n==="source"?t[n]=r:Array.isArray(r)?t[n]=r.map(s=>gt(s,t)):(o==="object"&&r!==null&&(r=gt(r)),t[n]=r)}return t}let mt=class{constructor(e={}){this.raws={},this[Oe]=!1,this[ir]=!0;for(let t in e)if(t==="nodes"){this.nodes=[];for(let n of e[t])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[t]=e[t]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let t in e)this[t]=e[t];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let t=gt(this);for(let n in e)t[n]=e[n];return t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}error(e,t={}){if(this.source){let{end:n,start:r}=this.rangeBy(t);return this.source.input.error(e,{column:r.column,line:r.line},{column:n.column,line:n.line},t)}return new rr(e)}getProxyProcessor(){return{get(e,t){return t==="proxyOf"?e:t==="root"?()=>e.root().toProxy():e[t]},set(e,t,n){return e[t]===n||(e[t]=n,(t==="prop"||t==="value"||t==="name"||t==="params"||t==="important"||t==="text")&&e.markDirty()),!0}}}markDirty(){if(this[Oe]){this[Oe]=!1;let e=this;for(;e=e.parent;)e[Oe]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e,t){let n=this.source.start;if(e.index)n=this.positionInside(e.index,t);else if(e.word){t=this.toString();let r=t.indexOf(e.word);r!==-1&&(n=this.positionInside(r,t))}return n}positionInside(e,t){let n=t||this.toString(),r=this.source.start.column,o=this.source.start.line;for(let s=0;s<e;s++)n[s]===`
|
|
218
|
+
`?(r=1,o+=1):r+=1;return{column:r,line:o}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e){let t={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:t.column+1,line:t.line};if(e.word){let r=this.toString(),o=r.indexOf(e.word);o!==-1&&(t=this.positionInside(o,r),n=this.positionInside(o+e.word.length,r))}else e.start?t={column:e.start.column,line:e.start.line}:e.index&&(t=this.positionInside(e.index)),e.end?n={column:e.end.column,line:e.end.line}:e.endIndex?n=this.positionInside(e.endIndex):e.index&&(n=this.positionInside(e.index+1));return(n.line<t.line||n.line===t.line&&n.column<=t.column)&&(n={column:t.column+1,line:t.line}),{end:n,start:t}}raw(e,t){return new sr().raw(this,e,t)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let t=this,n=!1;for(let r of e)r===this?n=!0:n?(this.parent.insertAfter(t,r),t=r):this.parent.insertBefore(t,r);n||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,t){let n={},r=t==null;t=t||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let l=this[s];if(Array.isArray(l))n[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,t):a);else if(typeof l=="object"&&l.toJSON)n[s]=l.toJSON(null,t);else if(s==="source"){let a=t.get(l.input);a==null&&(a=o,t.set(l.input,o),o++),n[s]={end:l.end,inputId:a,start:l.start}}else n[s]=l}return r&&(n.inputs=[...t.keys()].map(s=>s.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=or){e.stringify&&(e=e.stringify);let t="";return e(this,n=>{t+=n}),t}warn(e,t,n){let r={node:this};for(let o in n)r[o]=n[o];return e.warn(t,r)}get proxyOf(){return this}};var qe=mt;mt.default=mt;let lr=qe,bt=class extends lr{constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}};var Ve=bt;bt.default=bt;let ar="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",cr=(i,e=21)=>(t=e)=>{let n="",r=t;for(;r--;)n+=i[Math.random()*i.length|0];return n},ur=(i=21)=>{let e="",t=i;for(;t--;)e+=ar[Math.random()*64|0];return e};var hr={nanoid:ur,customAlphabet:cr};let{SourceMapConsumer:Jt,SourceMapGenerator:Xt}=j,{existsSync:dr,readFileSync:fr}=j,{dirname:lt,join:pr}=j;function gr(i){return Buffer?Buffer.from(i,"base64").toString():window.atob(i)}let yt=class{constructor(e,t){if(t.map===!1)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let n=t.map?t.map.prev:void 0,r=this.loadMap(t.from,n);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=lt(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Jt(this.text)),this.consumerCache}decodeInline(e){let t=/^data:application\/json;charset=utf-?8;base64,/,n=/^data:application\/json;base64,/,r=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/;if(r.test(e)||o.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(t.test(e)||n.test(e))return gr(e.substr(RegExp.lastMatch.length));let s=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/gm);if(!t)return;let n=e.lastIndexOf(t.pop()),r=e.indexOf("*/",n);n>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(n,r)))}loadFile(e){if(this.root=lt(e),dr(e))return this.mapFile=e,fr(e,"utf-8").toString().trim()}loadMap(e,t){if(t===!1)return!1;if(t){if(typeof t=="string")return t;if(typeof t=="function"){let n=t(e);if(n){let r=this.loadFile(n);if(!r)throw new Error("Unable to load previous source map: "+n.toString());return r}}else{if(t instanceof Jt)return Xt.fromSourceMap(t).toString();if(t instanceof Xt)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let n=this.annotation;return e&&(n=pr(lt(e),n)),this.loadFile(n)}}}startWith(e,t){return e?e.substr(0,t.length)===t:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var kn=yt;yt.default=yt;let{SourceMapConsumer:mr,SourceMapGenerator:br}=j,{fileURLToPath:Qt,pathToFileURL:_e}=j,{isAbsolute:wt,resolve:xt}=j,{nanoid:yr}=hr,at=j,Yt=At,wr=kn,ct=Symbol("fromOffsetCache"),xr=!!(mr&&br),en=!!(xt&&wt),De=class{constructor(e,t={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\uFEFF"||this.css[0]===""?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!en||/^\w+:\/\//.test(t.from)||wt(t.from)?this.file=t.from:this.file=xt(t.from)),en&&xr){let n=new wr(this.css,t);if(n.text){this.map=n;let r=n.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+yr(6)+">"),this.map&&(this.map.file=this.from)}error(e,t,n,r={}){let o,s,l;if(t&&typeof t=="object"){let c=t,h=n;if(typeof c.offset=="number"){let b=this.fromOffset(c.offset);t=b.line,n=b.col}else t=c.line,n=c.column;if(typeof h.offset=="number"){let b=this.fromOffset(h.offset);s=b.line,l=b.col}else s=h.line,l=h.column}else if(!n){let c=this.fromOffset(t);t=c.line,n=c.col}let a=this.origin(t,n,s,l);return a?o=new Yt(e,a.endLine===void 0?a.line:{column:a.column,line:a.line},a.endLine===void 0?a.column:{column:a.endColumn,line:a.endLine},a.source,a.file,r.plugin):o=new Yt(e,s===void 0?t:{column:n,line:t},s===void 0?n:{column:l,line:s},this.css,this.file,r.plugin),o.input={column:n,endColumn:l,endLine:s,line:t,source:this.css},this.file&&(_e&&(o.input.url=_e(this.file).toString()),o.input.file=this.file),o}fromOffset(e){let t,n;if(this[ct])n=this[ct];else{let o=this.css.split(`
|
|
219
|
+
`);n=new Array(o.length);let s=0;for(let l=0,a=o.length;l<a;l++)n[l]=s,s+=o[l].length+1;this[ct]=n}t=n[n.length-1];let r=0;if(e>=t)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:xt(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,n,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:t,line:e});if(!s.source)return!1;let l;typeof n=="number"&&(l=o.originalPositionFor({column:r,line:n}));let a;wt(s.source)?a=_e(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||_e(this.map.mapFile));let c={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Qt)c.file=Qt(a);else throw new Error("file: protocol is not available in this PostCSS build");let h=o.sourceContentFor(s.source);return h&&(c.source=h),c}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])this[t]!=null&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}};var Je=De;De.default=De;at&&at.registerInput&&at.registerInput(De);let{SourceMapConsumer:Cn,SourceMapGenerator:$e}=j,{dirname:Be,relative:On,resolve:_n,sep:An}=j,{pathToFileURL:tn}=j,vr=Je,Er=!!(Cn&&$e),Sr=!!(Be&&_n&&On&&An),kr=class{constructor(e,t,n,r){this.stringify=e,this.mapOpts=n.map||{},this.root=t,this.opts=n,this.css=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let t=`
|
|
220
|
+
`;this.css.includes(`\r
|
|
221
|
+
`)&&(t=`\r
|
|
222
|
+
`),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t=this.toUrl(this.path(e.file)),n=e.root||Be(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Cn(e.text),r.sourcesContent&&(r.sourcesContent=r.sourcesContent.map(()=>null))):r=e.consumer(),this.map.applySourceMap(r,t,this.toUrl(this.path(n)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],e.type==="comment"&&e.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),Sr&&Er&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=$e.fromSourceMap(e)}else this.map=new $e({file:this.outputFile()}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new $e({file:this.outputFile()});let e=1,t=1,n="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(l,a,c)=>{if(this.css+=l,a&&c!=="end"&&(r.generated.line=e,r.generated.column=t-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=n,r.original.line=1,r.original.column=0,this.map.addMapping(r))),o=l.match(/\n/g),o?(e+=o.length,s=l.lastIndexOf(`
|
|
223
|
+
`),t=l.length-s):t+=l.length,a&&c!=="start"){let h=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==h.last||h.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=t-2,this.map.addMapping(r)):(r.source=n,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=t-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(t=>t.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let n=this.opts.to?Be(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(n=Be(_n(n,this.mapOpts.annotation)));let r=On(n,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new vr(this.css,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let n=t.source.input.from;if(n&&!e[n]){e[n]=!0;let r=this.usesFileUrls?this.toFileUrl(n):this.toUrl(this.path(n));this.map.setSourceContent(r,t.source.input.css)}}});else if(this.css){let t=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(t,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(tn){let n=tn(e).toString();return this.memoizedFileURLs.set(e,n),n}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;An==="\\"&&(e=e.replace(/\\/g,"/"));let n=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,n),n}};var Rn=kr;let Cr=qe,vt=class extends Cr{constructor(e){super(e),this.type="comment"}};var Xe=vt;vt.default=vt;let{isClean:Nn,my:Mn}=xe,Tn=Ve,Pn=Xe,Or=qe,Ln,Rt,Nt,In;function zn(i){return i.map(e=>(e.nodes&&(e.nodes=zn(e.nodes)),delete e.source,e))}function jn(i){if(i[Nn]=!1,i.proxyOf.nodes)for(let e of i.proxyOf.nodes)jn(e)}let Z=class $n extends Or{append(...e){for(let t of e){let n=this.normalize(t,this.last);for(let r of n)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t=this.getIterator(),n,r;for(;this.indexes[t]<this.proxyOf.nodes.length&&(n=this.indexes[t],r=e(this.proxyOf.nodes[n],n),r!==!1);)this.indexes[t]+=1;return delete this.indexes[t],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,t){return t==="proxyOf"?e:e[t]?t==="each"||typeof t=="string"&&t.startsWith("walk")?(...n)=>e[t](...n.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):t==="every"||t==="some"?n=>e[t]((r,...o)=>n(r.toProxy(),...o)):t==="root"?()=>e.root().toProxy():t==="nodes"?e.nodes.map(n=>n.toProxy()):t==="first"||t==="last"?e[t].toProxy():e[t]:e[t]},set(e,t,n){return e[t]===n||(e[t]=n,(t==="name"||t==="params"||t==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let n=this.index(e),r=this.normalize(t,this.proxyOf.nodes[n]).reverse();n=this.index(e);for(let s of r)this.proxyOf.nodes.splice(n+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],n<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,t){let n=this.index(e),r=n===0?"prepend":!1,o=this.normalize(t,this.proxyOf.nodes[n],r).reverse();n=this.index(e);for(let l of o)this.proxyOf.nodes.splice(n,0,l);let s;for(let l in this.indexes)s=this.indexes[l],n<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(e,t){if(typeof e=="string")e=zn(Ln(e).nodes);else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new Tn(e)]}else if(e.selector)e=[new Rt(e)];else if(e.name)e=[new Nt(e)];else if(e.text)e=[new Pn(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[Mn]||$n.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Nn]&&jn(r),typeof r.raws.before>"u"&&t&&typeof t.raws.before<"u"&&(r.raws.before=t.raws.before.replace(/\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let t of e){let n=this.normalize(t,this.first,"prepend").reverse();for(let r of n)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+n.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let t;for(let n in this.indexes)t=this.indexes[n],t>=e&&(this.indexes[n]=t-1);return this.markDirty(),this}replaceValues(e,t,n){return n||(n=t,t={}),this.walkDecls(r=>{t.props&&!t.props.includes(r.prop)||t.fast&&!r.value.includes(t.fast)||(r.value=r.value.replace(e,n))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,n)=>{let r;try{r=e(t,n)}catch(o){throw t.addToError(o)}return r!==!1&&t.walk&&(r=t.walk(e)),r})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((n,r)=>{if(n.type==="atrule"&&e.test(n.name))return t(n,r)}):this.walk((n,r)=>{if(n.type==="atrule"&&n.name===e)return t(n,r)}):(t=e,this.walk((n,r)=>{if(n.type==="atrule")return t(n,r)}))}walkComments(e){return this.walk((t,n)=>{if(t.type==="comment")return e(t,n)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((n,r)=>{if(n.type==="decl"&&e.test(n.prop))return t(n,r)}):this.walk((n,r)=>{if(n.type==="decl"&&n.prop===e)return t(n,r)}):(t=e,this.walk((n,r)=>{if(n.type==="decl")return t(n,r)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((n,r)=>{if(n.type==="rule"&&e.test(n.selector))return t(n,r)}):this.walk((n,r)=>{if(n.type==="rule"&&n.selector===e)return t(n,r)}):(t=e,this.walk((n,r)=>{if(n.type==="rule")return t(n,r)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};Z.registerParse=i=>{Ln=i};Z.registerRule=i=>{Rt=i};Z.registerAtRule=i=>{Nt=i};Z.registerRoot=i=>{In=i};var ee=Z;Z.default=Z;Z.rebuild=i=>{i.type==="atrule"?Object.setPrototypeOf(i,Nt.prototype):i.type==="rule"?Object.setPrototypeOf(i,Rt.prototype):i.type==="decl"?Object.setPrototypeOf(i,Tn.prototype):i.type==="comment"?Object.setPrototypeOf(i,Pn.prototype):i.type==="root"&&Object.setPrototypeOf(i,In.prototype),i[Mn]=!0,i.nodes&&i.nodes.forEach(e=>{Z.rebuild(e)})};let _r=ee,Bn,Dn,pe=class extends _r{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Bn(new Dn,this,e).stringify()}};pe.registerLazyResult=i=>{Bn=i};pe.registerProcessor=i=>{Dn=i};var Mt=pe;pe.default=pe;let Et=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let n=t.node.rangeBy(t);this.line=n.start.line,this.column=n.start.column,this.endLine=n.end.line,this.endColumn=n.end.column}for(let n in t)this[n]=t[n]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};var Un=Et;Et.default=Et;let Ar=Un,St=class{constructor(e,t,n){this.processor=e,this.messages=[],this.root=t,this.opts=n,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let n=new Ar(e,t);return this.messages.push(n),n}warnings(){return this.messages.filter(e=>e.type==="warning")}get content(){return this.css}};var Tt=St;St.default=St;const ut=39,nn=34,Ae=92,rn=47,Re=10,ce=32,Ne=12,Me=9,Te=13,Rr=91,Nr=93,Mr=40,Tr=41,Pr=123,Lr=125,Ir=59,zr=42,jr=58,$r=64,Pe=/[\t\n\f\r "#'()/;[\\\]{}]/g,Le=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,Br=/.[\r\n"'(/\\]/,sn=/[\da-f]/i;var Dr=function(e,t={}){let n=e.css.valueOf(),r=t.ignoreErrors,o,s,l,a,c,h,b,g,_,R,I=n.length,m=0,F=[],W=[];function V(){return m}function z($){throw e.error("Unclosed "+$,m)}function H(){return W.length===0&&m>=I}function ae($){if(W.length)return W.pop();if(m>=I)return;let T=$?$.ignoreUnclosed:!1;switch(o=n.charCodeAt(m),o){case Re:case ce:case Me:case Te:case Ne:{s=m;do s+=1,o=n.charCodeAt(s);while(o===ce||o===Re||o===Me||o===Te||o===Ne);R=["space",n.slice(m,s)],m=s-1;break}case Rr:case Nr:case Pr:case Lr:case jr:case Ir:case Tr:{let J=String.fromCharCode(o);R=[J,J,m];break}case Mr:{if(g=F.length?F.pop()[1]:"",_=n.charCodeAt(m+1),g==="url"&&_!==ut&&_!==nn&&_!==ce&&_!==Re&&_!==Me&&_!==Ne&&_!==Te){s=m;do{if(h=!1,s=n.indexOf(")",s+1),s===-1)if(r||T){s=m;break}else z("bracket");for(b=s;n.charCodeAt(b-1)===Ae;)b-=1,h=!h}while(h);R=["brackets",n.slice(m,s+1),m,s],m=s}else s=n.indexOf(")",m+1),a=n.slice(m,s+1),s===-1||Br.test(a)?R=["(","(",m]:(R=["brackets",a,m,s],m=s);break}case ut:case nn:{l=o===ut?"'":'"',s=m;do{if(h=!1,s=n.indexOf(l,s+1),s===-1)if(r||T){s=m+1;break}else z("string");for(b=s;n.charCodeAt(b-1)===Ae;)b-=1,h=!h}while(h);R=["string",n.slice(m,s+1),m,s],m=s;break}case $r:{Pe.lastIndex=m+1,Pe.test(n),Pe.lastIndex===0?s=n.length-1:s=Pe.lastIndex-2,R=["at-word",n.slice(m,s+1),m,s],m=s;break}case Ae:{for(s=m,c=!0;n.charCodeAt(s+1)===Ae;)s+=1,c=!c;if(o=n.charCodeAt(s+1),c&&o!==rn&&o!==ce&&o!==Re&&o!==Me&&o!==Te&&o!==Ne&&(s+=1,sn.test(n.charAt(s)))){for(;sn.test(n.charAt(s+1));)s+=1;n.charCodeAt(s+1)===ce&&(s+=1)}R=["word",n.slice(m,s+1),m,s],m=s;break}default:{o===rn&&n.charCodeAt(m+1)===zr?(s=n.indexOf("*/",m+2)+1,s===0&&(r||T?s=n.length:z("comment")),R=["comment",n.slice(m,s+1),m,s],m=s):(Le.lastIndex=m+1,Le.test(n),Le.lastIndex===0?s=n.length-1:s=Le.lastIndex-2,R=["word",n.slice(m,s+1),m,s],F.push(R),m=s);break}}return m++,R}function ne($){W.push($)}return{back:ne,endOfFile:H,nextToken:ae,position:V}};let Fn=ee,Ue=class extends Fn{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};var Pt=Ue;Ue.default=Ue;Fn.registerAtRule(Ue);let Wn=ee,Hn,Gn,re=class extends Wn{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,n){let r=super.normalize(e);if(t){if(n==="prepend")this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let o of r)o.raws.before=t.raws.before}return r}removeChild(e,t){let n=this.index(e);return!t&&n===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),super.removeChild(e)}toResult(e={}){return new Hn(new Gn,this,e).stringify()}};re.registerLazyResult=i=>{Hn=i};re.registerProcessor=i=>{Gn=i};var ve=re;re.default=re;Wn.registerRoot(re);let ge={comma(i){return ge.split(i,[","],!0)},space(i){let e=[" ",`
|
|
224
|
+
`," "];return ge.split(i,e)},split(i,e,t){let n=[],r="",o=!1,s=0,l=!1,a="",c=!1;for(let h of i)c?c=!1:h==="\\"?c=!0:l?h===a&&(l=!1):h==='"'||h==="'"?(l=!0,a=h):h==="("?s+=1:h===")"?s>0&&(s-=1):s===0&&e.includes(h)&&(o=!0),o?(r!==""&&n.push(r.trim()),r="",o=!1):r+=h;return(t||r!=="")&&n.push(r.trim()),n}};var Zn=ge;ge.default=ge;let Kn=ee,Ur=Zn,Fe=class extends Kn{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return Ur.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,n=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(n)}};var Lt=Fe;Fe.default=Fe;Kn.registerRule(Fe);let Fr=Ve,Wr=Dr,Hr=Xe,Gr=Pt,Zr=ve,on=Lt;const ln={empty:!0,space:!0};function Kr(i){for(let e=i.length-1;e>=0;e--){let t=i[e],n=t[3]||t[2];if(n)return n}}let qr=class{constructor(e){this.input=e,this.root=new Zr,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t=new Gr;t.name=e[1].slice(1),t.name===""&&this.unnamedAtrule(t,e),this.init(t,e[2]);let n,r,o,s=!1,l=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),n=e[0],n==="("||n==="["?c.push(n==="("?")":"]"):n==="{"&&c.length>0?c.push("}"):n===c[c.length-1]&&c.pop(),c.length===0)if(n===";"){t.source.end=this.getPosition(e[2]),t.source.end.offset++,this.semicolon=!0;break}else if(n==="{"){l=!0;break}else if(n==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(t.source.end=this.getPosition(r[3]||r[2]),t.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(t.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(t,"params",a),s&&(e=a[a.length-1],t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++,this.spaces=t.raws.between,t.raws.between="")):(t.raws.afterName="",t.params=""),l&&(t.nodes=[],this.current=t)}checkMissedSemicolon(e){let t=this.colon(e);if(t===!1)return;let n=0,r;for(let o=t-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(n+=1,n===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let t=0,n,r,o;for(let[s,l]of e.entries()){if(n=l,r=n[0],r==="("&&(t+=1),r===")"&&(t-=1),t===0&&r===":")if(!o)this.doubleColon(n);else{if(o[0]==="word"&&o[1]==="progid")continue;return s}o=n}return!1}comment(e){let t=new Hr;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let n=e[1].slice(2,-2);if(/^\s*$/.test(n))t.text="",t.raws.left=n,t.raws.right="";else{let r=n.match(/^(\s*)([^]*\S)(\s*)$/);t.text=r[2],t.raws.left=r[1],t.raws.right=r[3]}}createTokenizer(){this.tokenizer=Wr(this.input)}decl(e,t){let n=new Fr;this.init(n,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),n.source.end=this.getPosition(r[3]||r[2]||Kr(e)),n.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),n.raws.before+=e.shift()[1];for(n.source.start=this.getPosition(e[0][2]),n.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;n.prop+=e.shift()[1]}n.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){n.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),n.raws.between+=o[1];(n.prop[0]==="_"||n.prop[0]==="*")&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1));let s=[],l;for(;e.length&&(l=e[0][0],!(l!=="space"&&l!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){n.important=!0;let h=this.stringFrom(e,c);h=this.spacesFromEnd(e)+h,h!==" !important"&&(n.raws.important=h);break}else if(o[1].toLowerCase()==="important"){let h=e.slice(0),b="";for(let g=c;g>0;g--){let _=h[g][0];if(b.trim().indexOf("!")===0&&_!=="space")break;b=h.pop()[1]+b}b.trim().indexOf("!")===0&&(n.important=!0,n.raws.important=b,e=h)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(n.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(n,"value",s.concat(e),t),n.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new on;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&t.type==="rule"&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let t=!1,n=null,r=!1,o=null,s=[],l=e[1].startsWith("--"),a=[],c=e;for(;c;){if(n=c[0],a.push(c),n==="("||n==="[")o||(o=c),s.push(n==="("?")":"]");else if(l&&r&&n==="{")o||(o=c),s.push("}");else if(s.length===0)if(n===";")if(r){this.decl(a,l);return}else break;else if(n==="{"){this.rule(a);return}else if(n==="}"){this.tokenizer.back(a.pop()),t=!0;break}else n===":"&&(r=!0);else n===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(o),t&&r){if(!l)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,t,n,r){let o,s,l=n.length,a="",c=!0,h,b;for(let g=0;g<l;g+=1)o=n[g],s=o[0],s==="space"&&g===l-1&&!r?c=!1:s==="comment"?(b=n[g-1]?n[g-1][0]:"empty",h=n[g+1]?n[g+1][0]:"empty",!ln[b]&&!ln[h]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let g=n.reduce((_,R)=>_+R[1],"");e.raws[t]={raw:g,value:a}}e[t]=a}rule(e){e.pop();let t=new on;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,n="";for(;e.length&&(t=e[e.length-1][0],!(t!=="space"&&t!=="comment"));)n=e.pop()[1]+n;return n}spacesAndCommentsFromStart(e){let t,n="";for(;e.length&&(t=e[0][0],!(t!=="space"&&t!=="comment"));)n+=e.shift()[1];return n}spacesFromEnd(e){let t,n="";for(;e.length&&(t=e[e.length-1][0],t==="space");)n=e.pop()[1]+n;return n}stringFrom(e,t){let n="";for(let r=t;r<e.length;r++)n+=e[r][1];return e.splice(t,e.length-t),n}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word",{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,t){throw this.input.error("At-rule without name",{offset:t[2]},{offset:t[2]+t[1].length})}};var Vr=qr;let Jr=ee,Xr=Vr,Qr=Je;function We(i,e){let t=new Qr(i,e),n=new Xr(t);try{n.parse()}catch(r){throw r}return n.root}var It=We;We.default=We;Jr.registerParse(We);let{isClean:U,my:Yr}=xe,es=Rn,ts=Ke,ns=ee,is=Mt,an=Tt,rs=It,ss=ve;const os={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},ls={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},as={Once:!0,postcssPlugin:!0,prepare:!0},se=0;function ue(i){return typeof i=="object"&&typeof i.then=="function"}function qn(i){let e=!1,t=os[i.type];return i.type==="decl"?e=i.prop.toLowerCase():i.type==="atrule"&&(e=i.name.toLowerCase()),e&&i.append?[t,t+"-"+e,se,t+"Exit",t+"Exit-"+e]:e?[t,t+"-"+e,t+"Exit",t+"Exit-"+e]:i.append?[t,se,t+"Exit"]:[t,t+"Exit"]}function cn(i){let e;return i.type==="document"?e=["Document",se,"DocumentExit"]:i.type==="root"?e=["Root",se,"RootExit"]:e=qn(i),{eventIndex:0,events:e,iterator:0,node:i,visitorIndex:0,visitors:[]}}function kt(i){return i[U]=!1,i.nodes&&i.nodes.forEach(e=>kt(e)),i}let Ct={},oe=class Vn{constructor(e,t,n){this.stringified=!1,this.processed=!1;let r;if(typeof t=="object"&&t!==null&&(t.type==="root"||t.type==="document"))r=kt(t);else if(t instanceof Vn||t instanceof an)r=kt(t.root),t.map&&(typeof n.map>"u"&&(n.map={}),n.map.inline||(n.map.inline=!1),n.map.prev=t.map);else{let o=rs;n.syntax&&(o=n.syntax.parse),n.parser&&(o=n.parser),o.parse&&(o=o.parse);try{r=o(t,n)}catch(s){this.processed=!0,this.error=s}r&&!r[Yr]&&ns.rebuild(r)}this.result=new an(e,r,n),this.helpers={...Ct,postcss:Ct,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let n=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=n.postcssPlugin,e.setMessage()):n.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(t,n,r)=>{this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push([t,r])};for(let t of this.plugins)if(typeof t=="object")for(let n in t){if(!ls[n]&&/^[A-Z]/.test(n))throw new Error(`Unknown event ${n} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!as[n])if(typeof t[n]=="object")for(let r in t[n])r==="*"?e(t,n,t[n][r]):e(t,n+"-"+r.toLowerCase(),t[n][r]);else typeof t[n]=="function"&&e(t,n,t[n])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let t=this.plugins[e],n=this.runOnRoot(t);if(ue(n))try{await n}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[U];){e[U]=!0;let t=[cn(e)];for(;t.length>0;){let n=this.visitTick(t);if(ue(n))try{await n}catch(r){let o=t[t.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[t,n]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if(e.type==="document"){let r=e.nodes.map(o=>n(o,this.helpers));await Promise.all(r)}else await n(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let t=this.result.root.nodes.map(n=>e.Once(n,this.helpers));return ue(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=ts;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let r=new es(t,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let t=this.runOnRoot(e);if(ue(t))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[U];)e[U]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[n,r]of e){this.result.lastPlugin=n;let o;try{o=r(t,this.helpers)}catch(s){throw this.handleError(s,t.proxyOf)}if(t.type!=="root"&&t.type!=="document"&&!t.parent)return!0;if(ue(o))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:n,visitors:r}=t;if(n.type!=="root"&&n.type!=="document"&&!n.parent){e.pop();return}if(r.length>0&&t.visitorIndex<r.length){let[s,l]=r[t.visitorIndex];t.visitorIndex+=1,t.visitorIndex===r.length&&(t.visitors=[],t.visitorIndex=0),this.result.lastPlugin=s;try{return l(n.toProxy(),this.helpers)}catch(a){throw this.handleError(a,n)}}if(t.iterator!==0){let s=t.iterator,l;for(;l=n.nodes[n.indexes[s]];)if(n.indexes[s]+=1,!l[U]){l[U]=!0,e.push(cn(l));return}t.iterator=0,delete n.indexes[s]}let o=t.events;for(;t.eventIndex<o.length;){let s=o[t.eventIndex];if(t.eventIndex+=1,s===se){n.nodes&&n.nodes.length&&(n[U]=!0,t.iterator=n.getIterator());return}else if(this.listeners[s]){t.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[U]=!0;let t=qn(e);for(let n of t)if(n===se)e.nodes&&e.each(r=>{r[U]||this.walkSync(r)});else{let r=this.listeners[n];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};oe.registerPostcss=i=>{Ct=i};var Jn=oe;oe.default=oe;ss.registerLazyResult(oe);is.registerLazyResult(oe);let cs=Rn,us=Ke,hs=It;const ds=Tt;let Ot=class{constructor(e,t,n){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=n,this._map=void 0;let r,o=us;this.result=new ds(this._processor,r,this._opts),this.result.css=t;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let l=new cs(o,r,this._opts,t);if(l.isMap()){let[a,c]=l.generate();a&&(this.result.css=a),c&&(this.result.map=c)}}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=hs;try{e=t(this._css,this._opts)}catch(n){this.error=n}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}};var fs=Ot;Ot.default=Ot;let ps=fs,gs=Jn,ms=Mt,bs=ve,me=class{constructor(e=[]){this.version="8.4.32",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let n of e)if(n.postcss===!0?n=n():n.postcss&&(n=n.postcss),typeof n=="object"&&Array.isArray(n.plugins))t=t.concat(n.plugins);else if(typeof n=="object"&&n.postcssPlugin)t.push(n);else if(typeof n=="function")t.push(n);else if(!(typeof n=="object"&&(n.parse||n.stringify)))throw new Error(n+" is not a PostCSS plugin");return t}process(e,t={}){return this.plugins.length===0&&typeof t.parser>"u"&&typeof t.stringifier>"u"&&typeof t.syntax>"u"?new ps(this,e,t):new gs(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var ys=me;me.default=me;bs.registerProcessor(me);ms.registerProcessor(me);let ws=Ve,xs=kn,vs=Xe,Es=Pt,Ss=Je,ks=ve,Cs=Lt;function be(i,e){if(Array.isArray(i))return i.map(r=>be(r));let{inputs:t,...n}=i;if(t){e=[];for(let r of t){let o={...r,__proto__:Ss.prototype};o.map&&(o.map={...o.map,__proto__:xs.prototype}),e.push(o)}}if(n.nodes&&(n.nodes=i.nodes.map(r=>be(r,e))),n.source){let{inputId:r,...o}=n.source;n.source=o,r!=null&&(n.source.input=e[r])}if(n.type==="root")return new ks(n);if(n.type==="decl")return new ws(n);if(n.type==="rule")return new Cs(n);if(n.type==="comment")return new vs(n);if(n.type==="atrule")return new Es(n);throw new Error("Unknown node type: "+i.type)}var Os=be;be.default=be;var un={};let _s=At,Xn=Ve,As=Jn,Rs=ee,zt=ys,Ns=Ke,Ms=Os,Qn=Mt,Ts=Un,Yn=Xe,ei=Pt,Ps=Tt,Ls=Je,Is=It,zs=Zn,ti=Lt,ni=ve,js=qe;function E(...i){return i.length===1&&Array.isArray(i[0])&&(i=i[0]),new zt(i)}E.plugin=function(e,t){let n=!1;function r(...s){console&&console.warn&&!n&&(n=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:
|
|
225
|
+
https://evilmartians.com/chronicles/postcss-8-plugin-migration`),un.LANG&&un.LANG.startsWith("cn")&&console.warn(e+`: 里面 postcss.plugin 被弃用. 迁移指南:
|
|
226
|
+
https://www.w3ctech.com/topic/2226`));let l=t(...s);return l.postcssPlugin=e,l.postcssVersion=new zt().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return E([r(a)]).process(s,l)},r};E.stringify=Ns;E.parse=Is;E.fromJSON=Ms;E.list=zs;E.comment=i=>new Yn(i);E.atRule=i=>new ei(i);E.decl=i=>new Xn(i);E.rule=i=>new ti(i);E.root=i=>new ni(i);E.document=i=>new Qn(i);E.CssSyntaxError=_s;E.Declaration=Xn;E.Container=Rs;E.Processor=zt;E.Document=Qn;E.Comment=Yn;E.Warning=Ts;E.AtRule=ei;E.Result=Ps;E.Input=Ls;E.Rule=ti;E.Root=ni;E.Node=js;As.registerPostcss(E);var $s=E;E.default=E;const O=xn($s);O.stringify;O.fromJSON;O.plugin;O.parse;O.list;O.document;O.comment;O.atRule;O.rule;O.decl;O.root;O.CssSyntaxError;O.Declaration;O.Container;O.Processor;O.Document;O.Comment;O.Warning;O.AtRule;O.Result;O.Input;O.Rule;O.Root;O.Node;var Bs=function(e){const t=e.prefix,n=/\s+$/.test(t)?t:`${t} `,r=e.ignoreFiles?[].concat(e.ignoreFiles):[],o=e.includeFiles?[].concat(e.includeFiles):[];return function(s){r.length&&s.source.input.file&&hn(s.source.input.file,r)||o.length&&s.source.input.file&&!hn(s.source.input.file,o)||s.walkRules(l=>{const a=["keyframes","-webkit-keyframes","-moz-keyframes","-o-keyframes"];l.parent&&a.includes(l.parent.name)||(l.selectors=l.selectors.map(c=>e.exclude&&Ds(c,e.exclude)?c:e.transform?e.transform(t,c,n+c,s.source.input.file,l):n+c))})}};function hn(i,e){return e.some(t=>t instanceof RegExp?t.test(i):i.includes(t))}function Ds(i,e){return e.some(t=>t instanceof RegExp?t.test(i):i===t)}const Us=xn(Bs),Fs="code{white-space:pre}.example{display:flex;flex-wrap:wrap;flex-direction:row;align-items:center;gap:16px}.example>*{flex:1 1 500px}.example .tab-control{overflow:hidden}.example div[role=tab]{cursor:pointer;padding:8px 16px;display:inline-block;font-size:16px;border-bottom:2px solid transparent;background-clip:padding-box;-webkit-user-select:none;user-select:none}.example div[role=tab]:hover{background-color:#1467ba14}.example div[role=tab][selected]{background-color:#1467ba21;border-bottom:2px solid #1467ba}.tab-content{margin:16px 0}.tab-content>pre{padding-top:0}.tab-content.code{max-height:500px;overflow:auto}.tab-content.code pre{margin:0}",Ws="pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}";function Hs(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function ii(i){return i instanceof Map?i.clear=i.delete=i.set=function(){throw new Error("map is read-only")}:i instanceof Set&&(i.add=i.clear=i.delete=function(){throw new Error("set is read-only")}),Object.freeze(i),Object.getOwnPropertyNames(i).forEach(e=>{const t=i[e],n=typeof t;(n==="object"||n==="function")&&!Object.isFrozen(t)&&ii(t)}),i}class dn{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function ri(i){return i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function q(i,...e){const t=Object.create(null);for(const n in i)t[n]=i[n];return e.forEach(function(n){for(const r in n)t[r]=n[r]}),t}const Gs="</span>",fn=i=>!!i.scope,Zs=(i,{prefix:e})=>{if(i.startsWith("language:"))return i.replace("language:","language-");if(i.includes(".")){const t=i.split(".");return[`${e}${t.shift()}`,...t.map((n,r)=>`${n}${"_".repeat(r+1)}`)].join(" ")}return`${e}${i}`};class Ks{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=ri(e)}openNode(e){if(!fn(e))return;const t=Zs(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){fn(e)&&(this.buffer+=Gs)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}const pn=(i={})=>{const e={children:[]};return Object.assign(e,i),e};class jt{constructor(){this.rootNode=pn(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=pn({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t=="string"?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(n=>this._walk(e,n)),e.closeNode(t)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(t=>typeof t=="string")?e.children=[e.children.join("")]:e.children.forEach(t=>{jt._collapse(t)}))}}class qs extends jt{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new Ks(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function ye(i){return i?typeof i=="string"?i:i.source:null}function si(i){return te("(?=",i,")")}function Vs(i){return te("(?:",i,")*")}function Js(i){return te("(?:",i,")?")}function te(...i){return i.map(e=>ye(e)).join("")}function Xs(i){const e=i[i.length-1];return typeof e=="object"&&e.constructor===Object?(i.splice(i.length-1,1),e):{}}function $t(...i){return"("+(Xs(i).capture?"":"?:")+i.map(e=>ye(e)).join("|")+")"}function oi(i){return new RegExp(i.toString()+"|").exec("").length-1}function Qs(i,e){const t=i&&i.exec(e);return t&&t.index===0}const Ys=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Bt(i,{joinWith:e}){let t=0;return i.map(n=>{t+=1;const r=t;let o=ye(n),s="";for(;o.length>0;){const l=Ys.exec(o);if(!l){s+=o;break}s+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),l[0][0]==="\\"&&l[1]?s+="\\"+String(Number(l[1])+r):(s+=l[0],l[0]==="("&&t++)}return s}).map(n=>`(${n})`).join(e)}const eo=/\b\B/,li="[a-zA-Z]\\w*",Dt="[a-zA-Z_]\\w*",ai="\\b\\d+(\\.\\d+)?",ci="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ui="\\b(0b[01]+)",to="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",no=(i={})=>{const e=/^#![ ]*\//;return i.binary&&(i.begin=te(e,/.*\b/,i.binary,/\b.*/)),q({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(t,n)=>{t.index!==0&&n.ignoreMatch()}},i)},we={begin:"\\\\[\\s\\S]",relevance:0},io={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[we]},ro={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[we]},so={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Qe=function(i,e,t={}){const n=q({scope:"comment",begin:i,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=$t("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:te(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},oo=Qe("//","$"),lo=Qe("/\\*","\\*/"),ao=Qe("#","$"),co={scope:"number",begin:ai,relevance:0},uo={scope:"number",begin:ci,relevance:0},ho={scope:"number",begin:ui,relevance:0},fo={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[we,{begin:/\[/,end:/\]/,relevance:0,contains:[we]}]},po={scope:"title",begin:li,relevance:0},go={scope:"title",begin:Dt,relevance:0},mo={begin:"\\.\\s*"+Dt,relevance:0},bo=function(i){return Object.assign(i,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})};var Ie=Object.freeze({__proto__:null,APOS_STRING_MODE:io,BACKSLASH_ESCAPE:we,BINARY_NUMBER_MODE:ho,BINARY_NUMBER_RE:ui,COMMENT:Qe,C_BLOCK_COMMENT_MODE:lo,C_LINE_COMMENT_MODE:oo,C_NUMBER_MODE:uo,C_NUMBER_RE:ci,END_SAME_AS_BEGIN:bo,HASH_COMMENT_MODE:ao,IDENT_RE:li,MATCH_NOTHING_RE:eo,METHOD_GUARD:mo,NUMBER_MODE:co,NUMBER_RE:ai,PHRASAL_WORDS_MODE:so,QUOTE_STRING_MODE:ro,REGEXP_MODE:fo,RE_STARTERS_RE:to,SHEBANG:no,TITLE_MODE:po,UNDERSCORE_IDENT_RE:Dt,UNDERSCORE_TITLE_MODE:go});function yo(i,e){i.input[i.index-1]==="."&&e.ignoreMatch()}function wo(i,e){i.className!==void 0&&(i.scope=i.className,delete i.className)}function xo(i,e){e&&i.beginKeywords&&(i.begin="\\b("+i.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",i.__beforeBegin=yo,i.keywords=i.keywords||i.beginKeywords,delete i.beginKeywords,i.relevance===void 0&&(i.relevance=0))}function vo(i,e){Array.isArray(i.illegal)&&(i.illegal=$t(...i.illegal))}function Eo(i,e){if(i.match){if(i.begin||i.end)throw new Error("begin & end are not supported with match");i.begin=i.match,delete i.match}}function So(i,e){i.relevance===void 0&&(i.relevance=1)}const ko=(i,e)=>{if(!i.beforeMatch)return;if(i.starts)throw new Error("beforeMatch cannot be used with starts");const t=Object.assign({},i);Object.keys(i).forEach(n=>{delete i[n]}),i.keywords=t.keywords,i.begin=te(t.beforeMatch,si(t.begin)),i.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},i.relevance=0,delete t.beforeMatch},Co=["of","and","for","in","not","or","if","then","parent","list","value"],Oo="keyword";function hi(i,e,t=Oo){const n=Object.create(null);return typeof i=="string"?r(t,i.split(" ")):Array.isArray(i)?r(t,i):Object.keys(i).forEach(function(o){Object.assign(n,hi(i[o],e,o))}),n;function r(o,s){e&&(s=s.map(l=>l.toLowerCase())),s.forEach(function(l){const a=l.split("|");n[a[0]]=[o,_o(a[0],a[1])]})}}function _o(i,e){return e?Number(e):Ao(i)?0:1}function Ao(i){return Co.includes(i.toLowerCase())}const gn={},Y=i=>{console.error(i)},mn=(i,...e)=>{console.log(`WARN: ${i}`,...e)},ie=(i,e)=>{gn[`${i}/${e}`]||(console.log(`Deprecated as of ${i}. ${e}`),gn[`${i}/${e}`]=!0)},He=new Error;function di(i,e,{key:t}){let n=0;const r=i[t],o={},s={};for(let l=1;l<=e.length;l++)s[l+n]=r[l],o[l+n]=!0,n+=oi(e[l-1]);i[t]=s,i[t]._emit=o,i[t]._multi=!0}function Ro(i){if(Array.isArray(i.begin)){if(i.skip||i.excludeBegin||i.returnBegin)throw Y("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),He;if(typeof i.beginScope!="object"||i.beginScope===null)throw Y("beginScope must be object"),He;di(i,i.begin,{key:"beginScope"}),i.begin=Bt(i.begin,{joinWith:""})}}function No(i){if(Array.isArray(i.end)){if(i.skip||i.excludeEnd||i.returnEnd)throw Y("skip, excludeEnd, returnEnd not compatible with endScope: {}"),He;if(typeof i.endScope!="object"||i.endScope===null)throw Y("endScope must be object"),He;di(i,i.end,{key:"endScope"}),i.end=Bt(i.end,{joinWith:""})}}function Mo(i){i.scope&&typeof i.scope=="object"&&i.scope!==null&&(i.beginScope=i.scope,delete i.scope)}function To(i){Mo(i),typeof i.beginScope=="string"&&(i.beginScope={_wrap:i.beginScope}),typeof i.endScope=="string"&&(i.endScope={_wrap:i.endScope}),Ro(i),No(i)}function Po(i){function e(s,l){return new RegExp(ye(s),"m"+(i.case_insensitive?"i":"")+(i.unicodeRegex?"u":"")+(l?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(l,a){a.position=this.position++,this.matchIndexes[this.matchAt]=a,this.regexes.push([a,l]),this.matchAt+=oi(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(a=>a[1]);this.matcherRe=e(Bt(l,{joinWith:"|"}),!0),this.lastIndex=0}exec(l){this.matcherRe.lastIndex=this.lastIndex;const a=this.matcherRe.exec(l);if(!a)return null;const c=a.findIndex((b,g)=>g>0&&b!==void 0),h=this.matchIndexes[c];return a.splice(0,c),Object.assign(a,h)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(l){if(this.multiRegexes[l])return this.multiRegexes[l];const a=new t;return this.rules.slice(l).forEach(([c,h])=>a.addRule(c,h)),a.compile(),this.multiRegexes[l]=a,a}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(l,a){this.rules.push([l,a]),a.type==="begin"&&this.count++}exec(l){const a=this.getMatcher(this.regexIndex);a.lastIndex=this.lastIndex;let c=a.exec(l);if(this.resumingScanAtSamePosition()&&!(c&&c.index===this.lastIndex)){const h=this.getMatcher(0);h.lastIndex=this.lastIndex+1,c=h.exec(l)}return c&&(this.regexIndex+=c.position+1,this.regexIndex===this.count&&this.considerAll()),c}}function r(s){const l=new n;return s.contains.forEach(a=>l.addRule(a.begin,{rule:a,type:"begin"})),s.terminatorEnd&&l.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&l.addRule(s.illegal,{type:"illegal"}),l}function o(s,l){const a=s;if(s.isCompiled)return a;[wo,Eo,To,ko].forEach(h=>h(s,l)),i.compilerExtensions.forEach(h=>h(s,l)),s.__beforeBegin=null,[xo,vo,So].forEach(h=>h(s,l)),s.isCompiled=!0;let c=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),c=s.keywords.$pattern,delete s.keywords.$pattern),c=c||/\w+/,s.keywords&&(s.keywords=hi(s.keywords,i.case_insensitive)),a.keywordPatternRe=e(c,!0),l&&(s.begin||(s.begin=/\B|\b/),a.beginRe=e(a.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(a.endRe=e(a.end)),a.terminatorEnd=ye(a.end)||"",s.endsWithParent&&l.terminatorEnd&&(a.terminatorEnd+=(s.end?"|":"")+l.terminatorEnd)),s.illegal&&(a.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(h){return Lo(h==="self"?s:h)})),s.contains.forEach(function(h){o(h,a)}),s.starts&&o(s.starts,l),a.matcher=r(a),a}if(i.compilerExtensions||(i.compilerExtensions=[]),i.contains&&i.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return i.classNameAliases=q(i.classNameAliases||{}),o(i)}function fi(i){return i?i.endsWithParent||fi(i.starts):!1}function Lo(i){return i.variants&&!i.cachedVariants&&(i.cachedVariants=i.variants.map(function(e){return q(i,{variants:null},e)})),i.cachedVariants?i.cachedVariants:fi(i)?q(i,{starts:i.starts?q(i.starts):null}):Object.isFrozen(i)?q(i):i}var Io="11.9.0";class zo extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const ht=ri,bn=q,yn=Symbol("nomatch"),jo=7,pi=function(i){const e=Object.create(null),t=Object.create(null),n=[];let r=!0;const o="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:qs};function a(u){return l.noHighlightRe.test(u)}function c(u){let f=u.className+" ";f+=u.parentNode?u.parentNode.className:"";const w=l.languageDetectRe.exec(f);if(w){const v=T(w[1]);return v||(mn(o.replace("{}",w[1])),mn("Falling back to no-highlight mode for this block.",u)),v?w[1]:"no-highlight"}return f.split(/\s+/).find(v=>a(v)||T(v))}function h(u,f,w){let v="",A="";typeof f=="object"?(v=u,w=f.ignoreIllegals,A=f.language):(ie("10.7.0","highlight(lang, code, ...args) has been deprecated."),ie("10.7.0",`Please use highlight(code, options) instead.
|
|
227
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),A=u,v=f),w===void 0&&(w=!0);const P={code:v,language:A};X("before:highlight",P);const K=P.result?P.result:b(P.language,P.code,w);return K.code=P.code,X("after:highlight",K),K}function b(u,f,w,v){const A=Object.create(null);function P(d,p){return d.keywords[p]}function K(){if(!y.keywords){N.addText(k);return}let d=0;y.keywordPatternRe.lastIndex=0;let p=y.keywordPatternRe.exec(k),x="";for(;p;){x+=k.substring(d,p.index);const S=D.case_insensitive?p[0].toLowerCase():p[0],M=P(y,S);if(M){const[G,Ai]=M;if(N.addText(x),x="",A[S]=(A[S]||0)+1,A[S]<=jo&&(Ce+=Ai),G.startsWith("_"))x+=p[0];else{const Ri=D.classNameAliases[G]||G;B(p[0],Ri)}}else x+=p[0];d=y.keywordPatternRe.lastIndex,p=y.keywordPatternRe.exec(k)}x+=k.substring(d),N.addText(x)}function Se(){if(k==="")return;let d=null;if(typeof y.subLanguage=="string"){if(!e[y.subLanguage]){N.addText(k);return}d=b(y.subLanguage,k,!0,Gt[y.subLanguage]),Gt[y.subLanguage]=d._top}else d=_(k,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(Ce+=d.relevance),N.__addSublanguage(d._emitter,d.language)}function L(){y.subLanguage!=null?Se():K(),k=""}function B(d,p){d!==""&&(N.startScope(p),N.addText(d),N.endScope())}function Ut(d,p){let x=1;const S=p.length-1;for(;x<=S;){if(!d._emit[x]){x++;continue}const M=D.classNameAliases[d[x]]||d[x],G=p[x];M?B(G,M):(k=G,K(),k=""),x++}}function Ft(d,p){return d.scope&&typeof d.scope=="string"&&N.openNode(D.classNameAliases[d.scope]||d.scope),d.beginScope&&(d.beginScope._wrap?(B(k,D.classNameAliases[d.beginScope._wrap]||d.beginScope._wrap),k=""):d.beginScope._multi&&(Ut(d.beginScope,p),k="")),y=Object.create(d,{parent:{value:y}}),y}function Wt(d,p,x){let S=Qs(d.endRe,x);if(S){if(d["on:end"]){const M=new dn(d);d["on:end"](p,M),M.isMatchIgnored&&(S=!1)}if(S){for(;d.endsParent&&d.parent;)d=d.parent;return d}}if(d.endsWithParent)return Wt(d.parent,p,x)}function Si(d){return y.matcher.regexIndex===0?(k+=d[0],1):(ot=!0,0)}function ki(d){const p=d[0],x=d.rule,S=new dn(x),M=[x.__beforeBegin,x["on:begin"]];for(const G of M)if(G&&(G(d,S),S.isMatchIgnored))return Si(p);return x.skip?k+=p:(x.excludeBegin&&(k+=p),L(),!x.returnBegin&&!x.excludeBegin&&(k=p)),Ft(x,d),x.returnBegin?0:p.length}function Ci(d){const p=d[0],x=f.substring(d.index),S=Wt(y,d,x);if(!S)return yn;const M=y;y.endScope&&y.endScope._wrap?(L(),B(p,y.endScope._wrap)):y.endScope&&y.endScope._multi?(L(),Ut(y.endScope,d)):M.skip?k+=p:(M.returnEnd||M.excludeEnd||(k+=p),L(),M.excludeEnd&&(k=p));do y.scope&&N.closeNode(),!y.skip&&!y.subLanguage&&(Ce+=y.relevance),y=y.parent;while(y!==S.parent);return S.starts&&Ft(S.starts,d),M.returnEnd?0:p.length}function Oi(){const d=[];for(let p=y;p!==D;p=p.parent)p.scope&&d.unshift(p.scope);d.forEach(p=>N.openNode(p))}let ke={};function Ht(d,p){const x=p&&p[0];if(k+=d,x==null)return L(),0;if(ke.type==="begin"&&p.type==="end"&&ke.index===p.index&&x===""){if(k+=f.slice(p.index,p.index+1),!r){const S=new Error(`0 width match regex (${u})`);throw S.languageName=u,S.badRule=ke.rule,S}return 1}if(ke=p,p.type==="begin")return ki(p);if(p.type==="illegal"&&!w){const S=new Error('Illegal lexeme "'+x+'" for mode "'+(y.scope||"<unnamed>")+'"');throw S.mode=y,S}else if(p.type==="end"){const S=Ci(p);if(S!==yn)return S}if(p.type==="illegal"&&x==="")return 1;if(st>1e5&&st>p.index*3)throw new Error("potential infinite loop, way more iterations than matches");return k+=x,x.length}const D=T(u);if(!D)throw Y(o.replace("{}",u)),new Error('Unknown language: "'+u+'"');const _i=Po(D);let rt="",y=v||_i;const Gt={},N=new l.__emitter(l);Oi();let k="",Ce=0,Q=0,st=0,ot=!1;try{if(D.__emitTokens)D.__emitTokens(f,N);else{for(y.matcher.considerAll();;){st++,ot?ot=!1:y.matcher.considerAll(),y.matcher.lastIndex=Q;const d=y.matcher.exec(f);if(!d)break;const p=f.substring(Q,d.index),x=Ht(p,d);Q=d.index+x}Ht(f.substring(Q))}return N.finalize(),rt=N.toHTML(),{language:u,value:rt,relevance:Ce,illegal:!1,_emitter:N,_top:y}}catch(d){if(d.message&&d.message.includes("Illegal"))return{language:u,value:ht(f),illegal:!0,relevance:0,_illegalBy:{message:d.message,index:Q,context:f.slice(Q-100,Q+100),mode:d.mode,resultSoFar:rt},_emitter:N};if(r)return{language:u,value:ht(f),illegal:!1,relevance:0,errorRaised:d,_emitter:N,_top:y};throw d}}function g(u){const f={value:ht(u),illegal:!1,relevance:0,_top:s,_emitter:new l.__emitter(l)};return f._emitter.addText(u),f}function _(u,f){f=f||l.languages||Object.keys(e);const w=g(u),v=f.filter(T).filter(Ee).map(L=>b(L,u,!1));v.unshift(w);const A=v.sort((L,B)=>{if(L.relevance!==B.relevance)return B.relevance-L.relevance;if(L.language&&B.language){if(T(L.language).supersetOf===B.language)return 1;if(T(B.language).supersetOf===L.language)return-1}return 0}),[P,K]=A,Se=P;return Se.secondBest=K,Se}function R(u,f,w){const v=f&&t[f]||w;u.classList.add("hljs"),u.classList.add(`language-${v}`)}function I(u){let f=null;const w=c(u);if(a(w))return;if(X("before:highlightElement",{el:u,language:w}),u.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);return}if(u.children.length>0&&(l.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),l.throwUnescapedHTML))throw new zo("One of your code blocks includes unescaped HTML.",u.innerHTML);f=u;const v=f.textContent,A=w?h(v,{language:w,ignoreIllegals:!0}):_(v);u.innerHTML=A.value,u.dataset.highlighted="yes",R(u,w,A.language),u.result={language:A.language,re:A.relevance,relevance:A.relevance},A.secondBest&&(u.secondBest={language:A.secondBest.language,relevance:A.secondBest.relevance}),X("after:highlightElement",{el:u,result:A,text:v})}function m(u){l=bn(l,u)}const F=()=>{z(),ie("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function W(){z(),ie("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let V=!1;function z(){if(document.readyState==="loading"){V=!0;return}document.querySelectorAll(l.cssSelector).forEach(I)}function H(){V&&z()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",H,!1);function ae(u,f){let w=null;try{w=f(i)}catch(v){if(Y("Language definition for '{}' could not be registered.".replace("{}",u)),r)Y(v);else throw v;w=s}w.name||(w.name=u),e[u]=w,w.rawDefinition=f.bind(null,i),w.aliases&&J(w.aliases,{languageName:u})}function ne(u){delete e[u];for(const f of Object.keys(t))t[f]===u&&delete t[f]}function $(){return Object.keys(e)}function T(u){return u=(u||"").toLowerCase(),e[u]||e[t[u]]}function J(u,{languageName:f}){typeof u=="string"&&(u=[u]),u.forEach(w=>{t[w.toLowerCase()]=f})}function Ee(u){const f=T(u);return f&&!f.disableAutodetect}function et(u){u["before:highlightBlock"]&&!u["before:highlightElement"]&&(u["before:highlightElement"]=f=>{u["before:highlightBlock"](Object.assign({block:f.el},f))}),u["after:highlightBlock"]&&!u["after:highlightElement"]&&(u["after:highlightElement"]=f=>{u["after:highlightBlock"](Object.assign({block:f.el},f))})}function tt(u){et(u),n.push(u)}function nt(u){const f=n.indexOf(u);f!==-1&&n.splice(f,1)}function X(u,f){const w=u;n.forEach(function(v){v[w]&&v[w](f)})}function it(u){return ie("10.7.0","highlightBlock will be removed entirely in v12.0"),ie("10.7.0","Please use highlightElement now."),I(u)}Object.assign(i,{highlight:h,highlightAuto:_,highlightAll:z,highlightElement:I,highlightBlock:it,configure:m,initHighlighting:F,initHighlightingOnLoad:W,registerLanguage:ae,unregisterLanguage:ne,listLanguages:$,getLanguage:T,registerAliases:J,autoDetection:Ee,inherit:bn,addPlugin:tt,removePlugin:nt}),i.debugMode=function(){r=!1},i.safeMode=function(){r=!0},i.versionString=Io,i.regex={concat:te,lookahead:si,either:$t,optional:Js,anyNumberOfTimes:Vs};for(const u in Ie)typeof Ie[u]=="object"&&ii(Ie[u]);return Object.assign(i,Ie),i},le=pi({});le.newInstance=()=>pi({});var $o=le;le.HighlightJS=le;le.default=le;const Ye=Hs($o),Ge="[A-Za-z$_][0-9A-Za-z$_]*",gi=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],mi=["true","false","null","undefined","NaN","Infinity"],bi=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],yi=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],wi=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],xi=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],vi=[].concat(wi,bi,yi);function Bo(i){const e=i.regex,t=(u,{after:f})=>{const w="</"+u[0].slice(1);return u.input.indexOf(w,f)!==-1},n=Ge,r={begin:"<>",end:"</>"},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(u,f)=>{const w=u[0].length+u.index,v=u.input[w];if(v==="<"||v===","){f.ignoreMatch();return}v===">"&&(t(u,{after:w})||f.ignoreMatch());let A;const P=u.input.substring(w);if(A=P.match(/^\s*=/)){f.ignoreMatch();return}if((A=P.match(/^\s+extends\s+/))&&A.index===0){f.ignoreMatch();return}}},l={$pattern:Ge,keyword:gi,literal:mi,built_in:vi,"variable.language":xi},a="[0-9](_?[0-9])*",c=`\\.(${a})`,h="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",b={className:"number",variants:[{begin:`(\\b(${h})((${c})|\\.)?|(${c}))[eE][+-]?(${a})\\b`},{begin:`\\b(${h})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},_={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[i.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},R={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[i.BACKSLASH_ESCAPE,g],subLanguage:"css"}},I={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[i.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},m={className:"string",begin:"`",end:"`",contains:[i.BACKSLASH_ESCAPE,g]},F={className:"comment",variants:[i.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),i.C_BLOCK_COMMENT_MODE,i.C_LINE_COMMENT_MODE]},W=[i.APOS_STRING_MODE,i.QUOTE_STRING_MODE,_,R,I,m,{match:/\$\d+/},b];g.contains=W.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(W)});const V=[].concat(F,g.contains),z=V.concat([{begin:/\(/,end:/\)/,keywords:l,contains:["self"].concat(V)}]),H={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:z},ae={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,e.concat(n,"(",e.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...bi,...yi]}},$={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},T={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[H],illegal:/%/},J={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Ee(u){return e.concat("(?!",u.join("|"),")")}const et={match:e.concat(/\b/,Ee([...wi,"super","import"]),n,e.lookahead(/\(/)),className:"title.function",relevance:0},tt={begin:e.concat(/\./,e.lookahead(e.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},nt={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},H]},X="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+i.UNDERSCORE_IDENT_RE+")\\s*=>",it={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(X)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[H]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[i.SHEBANG({label:"shebang",binary:"node",relevance:5}),$,i.APOS_STRING_MODE,i.QUOTE_STRING_MODE,_,R,I,m,F,{match:/\$\d+/},b,ne,{className:"attr",begin:n+e.lookahead(":"),relevance:0},it,{begin:"("+i.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[F,i.REGEXP_MODE,{className:"function",begin:X,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},T,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[H,i.inherit(i.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},tt,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[H]},et,J,ae,nt,{match:/\$[(.]/}]}}function Do(i){const e=Bo(i),t=Ge,n=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},o={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:n},contains:[e.exports.CLASS_REFERENCE]},s={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],a={$pattern:Ge,keyword:gi.concat(l),literal:mi,built_in:vi.concat(n),"variable.language":xi},c={className:"meta",begin:"@"+t},h=(g,_,R)=>{const I=g.contains.findIndex(m=>m.label===_);if(I===-1)throw new Error("can not find mode to replace");g.contains.splice(I,1,R)};Object.assign(e.keywords,a),e.exports.PARAMS_CONTAINS.push(c),e.contains=e.contains.concat([c,r,o]),h(e,"shebang",i.SHEBANG()),h(e,"use_strict",s);const b=e.contains.find(g=>g.label==="func.def");return b.relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e}function Uo(i){const e=i.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=i.inherit(o,{begin:/\(/,end:/\)/}),l=i.inherit(i.APOS_STRING_MODE,{className:"string"}),a=i.inherit(i.QUOTE_STRING_MODE,{className:"string"}),c={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:n,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[o,a,l,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[o,s,a,l]}]}]},i.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[a]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[c],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[c],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(t,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:c}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const Fo=i=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:i.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[i.APOS_STRING_MODE,i.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:i.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Wo=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ho=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Go=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Zo=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Ko=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function qo(i){const e=i.regex,t=Fo(i),n={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",l=[i.APOS_STRING_MODE,i.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,n,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Go.join("|")+")"},{begin:":(:)?("+Zo.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Ko.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Ho.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Wo.join("|")+")\\b"}]}}const Ei=document.createElement("style");Ei.innerText=[Fs,Ws].join(`
|
|
228
|
+
`);document.head.appendChild(Ei);Ye.registerLanguage("typescript",Do);Ye.registerLanguage("html",Uo);Ye.registerLanguage("css",qo);function Vo(...i){const e=document.createElement("div"),t=document.createElement("div");t.classList.add("tab-control");const n=document.createElement("div");return i.forEach(r=>{e.appendChild(r),r.addEventListener("click",()=>{i.forEach(o=>o.removeAttribute("selected")),r.setAttribute("selected",""),n.innerHTML="",n.appendChild(r.content),n.className=r.className,n.classList.add("tab-content")})}),t.appendChild(e),t.appendChild(n),n.classList.add("tab-content"),i[0].setAttribute("selected",""),n.appendChild(i[0].content),t}function he(i,e){const t=document.createElement("div");return t.role="tab",t.tabIndex=0,t.innerText=i,t.content=e,e.tagName=="PRE"&&t.classList.add("code"),t}function fe(i,e){const t=document.createElement(i);return typeof e=="string"?t.innerHTML=e:e.forEach(n=>{t.appendChild(n)}),t}async function Jo(i,e,t){var n,r,o;const s=e.mainContent,l=fe("div",s);l.id=`example-preview-${t}`;const a=typeof e.css=="string"||(n=e.css)==null?void 0:n.label,c=typeof e.css=="string"?e.css:(r=e.css)==null?void 0:r.content,h=Vo(he("Preview",l),he("HTML",ze("html",s)),...c?[he(a??"CSS",ze("css",c))]:[],...e.initializer&&e.initializer.content?[he(e.initializer.label??"TS",ze("typescript",e.initializer.content))]:[],...(e.additionalSources||[]).map(g=>he(g.label,ze(g.language,g.content))));e.description&&i.appendChild(fe("div",e.description));const b=fe("div",[h]);b.classList.add("example"),i.appendChild(b),c&&Xo(`#${l.id}`,c),(o=e.initializer)!=null&&o.initialize&&await e.initializer.initialize(l)}function ze(i,e){let t=e.split(/\r?\n/).map(n=>{const r=n.indexOf("///");if(r>-1){const o=n.substring(r+3).trimStart();return o?n.replace(/^(\s*)([^\s].*)$/,`$1${o}`):void 0}return n}).filter(n=>typeof n<"u").join(`
|
|
229
|
+
`).trim();return i&&i!="raw"&&(t=Ye.highlight(t,{language:i}).value),fe("pre",[fe("code",t)])}function Xo(i,e){const t=document.createElement("style");t.innerHTML=O().use(Us({prefix:i})).process(e).css,document.head.appendChild(t)}async function Qo(i,e=document.body){const t=el(e);let n=0;Object.keys(i).forEach(async r=>{const o=document.createElement("div");o.className="example-container",t.appendChild(o);const s=i[r].default;Jo(o,s,n++)})}function Yo(i){const e=document.createElement("div");e.id="examples-container";const t=i.querySelector("#examples");return t?t.after(e):i.appendChild(e),e}function el(i){return i.children?Yo(i):i}const tl=`<h1 id="@cas-smartdesign/z-layout">@cas-smartdesign/z-layout</h1>
|
|
230
|
+
<p>A custom element which positions child elements sequentially (from left to right, top to bottom).</p>
|
|
231
|
+
<h2 id="requirements">Requirements</h2>
|
|
232
|
+
<ul>
|
|
233
|
+
<li>ES6<ul>
|
|
234
|
+
<li>For an ES5 variant use the 1.x.x versions or transpile it manually.</li>
|
|
235
|
+
</ul>
|
|
236
|
+
</li>
|
|
237
|
+
<li>Custom Elements v1<ul>
|
|
238
|
+
<li>Native or <a href="https://github.com/webcomponents/webcomponentsjs">https://github.com/webcomponents/webcomponentsjs</a></li>
|
|
239
|
+
</ul>
|
|
240
|
+
</li>
|
|
241
|
+
</ul>
|
|
242
|
+
<h2 id="attributes">Attributes</h2>
|
|
243
|
+
<ul>
|
|
244
|
+
<li><code>column-width</code>: string<ul>
|
|
245
|
+
<li>Defines the minimum column width for the layout</li>
|
|
246
|
+
<li>Configurable via the <code>--z-layout-column-width</code> as well.<ul>
|
|
247
|
+
<li>If both an Attribute and a CSS Custom Property is set then the former one is applied as it is used via an element.style property.</li>
|
|
248
|
+
</ul>
|
|
249
|
+
</li>
|
|
250
|
+
</ul>
|
|
251
|
+
</li>
|
|
252
|
+
<li><code>fixed-columns</code>: boolean<ul>
|
|
253
|
+
<li>If set the column-width is not only considered as a minimum width but a regular width, thus children do not stretch or grow.</li>
|
|
254
|
+
</ul>
|
|
255
|
+
</li>
|
|
256
|
+
</ul>
|
|
257
|
+
<h2 id="css-custom-properties">CSS Custom Properties</h2>
|
|
258
|
+
<ul>
|
|
259
|
+
<li><code>--z-layout-column-width</code><ul>
|
|
260
|
+
<li>See <code>column-width</code> in the attributes section</li>
|
|
261
|
+
</ul>
|
|
262
|
+
</li>
|
|
263
|
+
<li><code>--z-layout-spacing</code><ul>
|
|
264
|
+
<li>Defines the spacing around the elements inside the layout</li>
|
|
265
|
+
</ul>
|
|
266
|
+
</li>
|
|
267
|
+
</ul>
|
|
268
|
+
<h2 id="caveats">Caveats</h2>
|
|
269
|
+
<ul>
|
|
270
|
+
<li>If a browser does not support the display: grid (or supports only the older version of the <a href="https://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/">specification</a> like IE 11) then the children have to use the border to simulate the spacing. Thus applying another border would brake it.<ul>
|
|
271
|
+
<li>Note that although Edge supports the new specification of grid but has critical issues with it therefore the flex variant is used there.</li>
|
|
272
|
+
<li>The direct children of the z-layout may not use horizontal margin values due to the limitation of the flex variant.</li>
|
|
273
|
+
</ul>
|
|
274
|
+
</li>
|
|
275
|
+
</ul>
|
|
276
|
+
<h2 id="examples">Examples</h2>
|
|
277
|
+
`;document.querySelector("#markdown-container").innerHTML=tl;Qo(Object.assign({"./examples/1_declarative/index.ts":Li,"./examples/2_add_remove_block/index.ts":Wi,"./examples/3_declarative-props/index.ts":qi}));
|
|
278
|
+
function __vite__mapDeps(indexes) {
|
|
279
|
+
if (!__vite__mapDeps.viteFileDeps) {
|
|
280
|
+
__vite__mapDeps.viteFileDeps = []
|
|
281
|
+
}
|
|
282
|
+
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
|
|
283
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
|
7
|
+
<style>
|
|
8
|
+
.markdown-body {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
min-width: 200px;
|
|
11
|
+
max-width: 980px;
|
|
12
|
+
margin: 0 auto !important;
|
|
13
|
+
padding-bottom: 45px;
|
|
14
|
+
}
|
|
15
|
+
</style>
|
|
16
|
+
<script type="module" crossorigin src="./doc.mjs"></script>
|
|
17
|
+
<link rel="stylesheet" crossorigin href="./doc.css">
|
|
18
|
+
</head>
|
|
19
|
+
|
|
20
|
+
<body>
|
|
21
|
+
<div class="markdown-body">
|
|
22
|
+
<div id="markdown-container"></div>
|
|
23
|
+
</div>
|
|
24
|
+
</body>
|
|
25
|
+
</html>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
var window;(window||={})["@cas-smartdesign/z-layout"]=(()=>{var l=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var f=(s,t)=>{for(var e in t)l(s,e,{get:t[e],enumerable:!0})},g=(s,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of m(t))!p.call(s,o)&&o!==e&&l(s,o,{get:()=>t[o],enumerable:!(i=c(t,o))||i.enumerable});return s};var b=s=>g(l({},"__esModule",{value:!0}),s);var w={};f(w,{ZLayout:()=>r});var a=class n extends HTMLElement{memoizedTemplate(){let t=this.is();if(n.TEMPLATE_CACHE[t])return n.TEMPLATE_CACHE[t];let e=this.template();return window.ShadyCSS&&window.ShadyCSS.prepareTemplate(e,this.is()),n.TEMPLATE_CACHE[t]=e,e}connectedCallback(){let t=this.memoizedTemplate();window.ShadyCSS&&window.ShadyCSS.styleElement(this),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(document.importNode(t.content,!0)),requestAnimationFrame(()=>this.dispatchEvent(new CustomEvent("ready"))))}whenReady(t){this.shadowRoot?t():this.addEventListener("ready",()=>t())}};a.TEMPLATE_CACHE={};var d=a;var y=`<style>
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.grid-variant {
|
|
7
|
+
display: grid;
|
|
8
|
+
grid-gap: var(--z-layout-spacing, 16px);
|
|
9
|
+
grid-template-columns: repeat(auto-fill, minmax(var(--z-layout-column-width, 400px), 1fr));
|
|
10
|
+
grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--z-layout-column-width, 400px)), 1fr));
|
|
11
|
+
justify-content: space-around;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
:host([fixed-columns]) .grid-variant {
|
|
15
|
+
grid-template-columns: repeat(auto-fit, var(--z-layout-column-width, 400px));
|
|
16
|
+
grid-template-columns: repeat(auto-fit, min(100%, var(--z-layout-column-width, 400px)));
|
|
17
|
+
justify-content: flex-start;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.flex-variant {
|
|
21
|
+
display: flex;
|
|
22
|
+
width: calc(100% + var(--z-layout-spacing, 16px));
|
|
23
|
+
margin: calc(-0.5 * var(--z-layout-spacing, 16px));
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
flex-wrap: wrap;
|
|
26
|
+
justify-content: space-around;
|
|
27
|
+
align-content: space-around;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:host([fixed-columns]) .flex-variant {
|
|
31
|
+
justify-content: flex-start;
|
|
32
|
+
align-content: center;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([fixed-columns]) .flex-variant ::slotted(*) {
|
|
36
|
+
flex: 0 0 auto;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.flex-variant ::slotted(*) {
|
|
40
|
+
flex: 1 1 auto;
|
|
41
|
+
box-sizing: border-box;
|
|
42
|
+
width: calc(var(--z-layout-column-width, 400px) + var(--z-layout-spacing, 16px)) !important;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.grid-variant ::slotted(*) {
|
|
46
|
+
box-sizing: border-box;
|
|
47
|
+
max-width: 100% !important;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.flex-variant ::slotted(:not(.filler)) {
|
|
51
|
+
border: calc(var(--z-layout-spacing, 16px) / 2) solid transparent !important;
|
|
52
|
+
background-clip: padding-box !important;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.flex-variant ::slotted(.filler) {
|
|
56
|
+
order: 2147483647;
|
|
57
|
+
}
|
|
58
|
+
</style>
|
|
59
|
+
<div class="root">
|
|
60
|
+
<slot></slot>
|
|
61
|
+
</div>
|
|
62
|
+
`,h=class u extends d{constructor(){super(),this.fillers=[],this.lastKnownWidth=-1,this.debounced={}}is(){return u.ID}template(){let t=document.createElement("template");return t.innerHTML=y,t}get fixedColumns(){return this.hasAttribute("fixed-columns")&&this.getAttribute("fixed-columns")!=="false"}set fixedColumns(t){t?this.setAttribute("fixed-columns",""):this.removeAttribute("fixed-columns")}get columnWidth(){return this.hasAttribute("column-width")?this.getAttribute("column-width"):getComputedStyle(this).getPropertyValue("--z-layout-column-width")}set columnWidth(t){this.setAttribute("column-width",t)}static get observedAttributes(){return["column-width"]}connectedCallback(){super.connectedCallback(),this.rootElement||(this.rootElement=this.shadowRoot.querySelector(".root"),this.isGridLayoutSupported()?this.rootElement.className="root grid-variant":(this.rootElement.className="root flex-variant",this.childListObserver=new MutationObserver(t=>{t.reduce((e,i)=>[...e,...i.addedNodes,...i.removedNodes],[]).filter(e=>(e.className||"").indexOf("filler")===-1).length>0&&this.debounce("update-fillers",()=>{this.updateFillers()})}),this.resizeObserver=new ResizeObserver((t,e)=>{this.lastKnownWidth!==this.offsetWidth&&(this.lastKnownWidth=this.offsetWidth,this.debounce("update-fillers",()=>{this.updateFillers()}))})),this.checkMarginUsageOnDirectChildren()),this.childListObserver&&this.childListObserver.observe(this,{childList:!0}),this.resizeObserver&&this.resizeObserver.observe(this)}attributeChangedCallback(){this.onColumnWidthChange()}isGridLayoutSupported(){let t=navigator.userAgent.indexOf("Edge/")>-1,e=window,i=e.CSS&&e.CSS.supports;return!t&&i&&CSS.supports("display","grid")}updateFillers(){if(this.childElementCount>0)if(this.fixedColumns)this.fillers.length>0&&(this.fillers.forEach(t=>this.removeChild(t)),this.fillers=[]);else{let t=Number.POSITIVE_INFINITY,e;for(;this.currentColumnWidth()<t;)t=this.currentColumnWidth(),e=this.appendFiller(),this.flushShadyDomChanges();this.fillers.length=this.fillers.length-1,this.removeChild(e);let i=this.offsetWidth/t;if(isFinite(i))for(;i-1>this.fillers.length;)this.appendFiller()}}appendFiller(){let t=document.createElement("div");return t.className="filler",this.fillers.push(t),this.appendChild(t),t}flushShadyDomChanges(){let t=window.ShadyDOM;t&&t.flush&&t.flush()}checkMarginUsageOnDirectChildren(){requestAnimationFrame(()=>{for(let t=0;t<this.children.length;t++){let e=this.children[t];if(e.className.indexOf("filler")===-1){let i=getComputedStyle(e);if(parseInt(i.marginLeft,10)!==0||parseInt(i.marginRight,10)!==0){console.warn(`[sd-z-layout] It is not recommended to use horizontal margins on direct children of the sd-z-layout element because the flex-variant (which is used in browsers without css grid support) might have layouting problems.
|
|
63
|
+
Please consider to apply such margins inside these elements instead.`);return}}}})}currentColumnWidth(){for(let t of this.children)if(t.offsetWidth)return t.offsetWidth}onColumnWidthChange(){let t=window.ShadyCSS;this.hasAttribute("column-width")?(this.style.setProperty("--z-layout-column-width",this.getAttribute("column-width")),t&&t.styleSubtree(this,{"--z-layout-column-width":this.getAttribute("column-width")})):(this.style.removeProperty("--z-layout-column-width"),t&&t.styleSubtree(this,{"--z-layout-column-width":""}))}disconnectedCallback(){this.childListObserver&&this.childListObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect()}debounce(t,e){this.debounced[t]||(this.debounced[t]=!0,requestAnimationFrame(()=>{delete this.debounced[t],e()}))}};h.ID="sd-z-layout";var r=h;customElements.get(r.ID)||customElements.define(r.ID,r);return b(w);})();
|
|
64
|
+
//# sourceMappingURL=zlayout-with-externals.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../element-base/element-base.ts", "../template.html?raw", "../zlayout.ts"],
|
|
4
|
+
"sourcesContent": ["export type IReadyEvent = void;\n\nexport interface CustomEventMap extends HTMLElementEventMap {\n ready: CustomEvent<IReadyEvent>;\n}\n\nexport interface ElementBase {\n addEventListener<K extends keyof CustomEventMap>(\n event: K,\n listener: ((this: this, ev: CustomEventMap[K]) => unknown) | null,\n options?: AddEventListenerOptions | boolean,\n ): void;\n addEventListener(\n type: string,\n callback: EventListenerOrEventListenerObject | null,\n options?: AddEventListenerOptions | boolean,\n ): void;\n removeEventListener<K extends keyof CustomEventMap>(\n type: K,\n listener: (this: this, ev: CustomEventMap[K]) => unknown,\n options?: boolean | EventListenerOptions,\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): void;\n dispatchEvent<EventType extends CustomEventMap[keyof CustomEventMap]>(event: EventType): boolean;\n}\n\nexport abstract class ElementBase extends HTMLElement {\n public abstract is(): string;\n\n protected abstract template(): HTMLTemplateElement;\n private static readonly TEMPLATE_CACHE: {\n [name: string]: HTMLTemplateElement;\n } = {};\n private memoizedTemplate(): HTMLTemplateElement {\n const is = this.is();\n if (ElementBase.TEMPLATE_CACHE[is]) {\n return ElementBase.TEMPLATE_CACHE[is];\n }\n const template = this.template();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((window as any).ShadyCSS) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (window as any).ShadyCSS.prepareTemplate(template, this.is());\n }\n ElementBase.TEMPLATE_CACHE[is] = template;\n return template;\n }\n\n public connectedCallback() {\n const template = this.memoizedTemplate();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((window as any).ShadyCSS) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (window as any).ShadyCSS.styleElement(this);\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: \"open\" });\n this.shadowRoot.appendChild(document.importNode(template.content, true));\n requestAnimationFrame(() => this.dispatchEvent(new CustomEvent<IReadyEvent>(\"ready\")));\n }\n }\n\n public whenReady(actor: () => void) {\n if (this.shadowRoot) {\n actor();\n } else {\n this.addEventListener(\"ready\", () => actor());\n }\n }\n}\n", "export default \"<style>\\n\\t:host {\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t.grid-variant {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-gap: var(--z-layout-spacing, 16px);\\n\\t\\tgrid-template-columns: repeat(auto-fill, minmax(var(--z-layout-column-width, 400px), 1fr));\\n\\t\\tgrid-template-columns: repeat(auto-fill, minmax(min(100%, var(--z-layout-column-width, 400px)), 1fr));\\n\\t\\tjustify-content: space-around;\\n\\t}\\n\\n\\t:host([fixed-columns]) .grid-variant {\\n\\t\\tgrid-template-columns: repeat(auto-fit, var(--z-layout-column-width, 400px));\\n\\t\\tgrid-template-columns: repeat(auto-fit, min(100%, var(--z-layout-column-width, 400px)));\\n\\t\\tjustify-content: flex-start;\\n\\t}\\n\\n\\t.flex-variant {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: calc(100% + var(--z-layout-spacing, 16px));\\n\\t\\tmargin: calc(-0.5 * var(--z-layout-spacing, 16px));\\n\\t\\tbox-sizing: border-box;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tjustify-content: space-around;\\n\\t\\talign-content: space-around;\\n\\t}\\n\\n\\t:host([fixed-columns]) .flex-variant {\\n\\t\\tjustify-content: flex-start;\\n\\t\\talign-content: center;\\n\\t}\\n\\n\\t:host([fixed-columns]) .flex-variant ::slotted(*) {\\n\\t\\tflex: 0 0 auto;\\n\\t}\\n\\n\\t.flex-variant ::slotted(*) {\\n\\t\\tflex: 1 1 auto;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: calc(var(--z-layout-column-width, 400px) + var(--z-layout-spacing, 16px)) !important;\\n\\t}\\n\\n\\t.grid-variant ::slotted(*) {\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmax-width: 100% !important;\\n\\t}\\n\\n\\t.flex-variant ::slotted(:not(.filler)) {\\n\\t\\tborder: calc(var(--z-layout-spacing, 16px) / 2) solid transparent !important;\\n\\t\\tbackground-clip: padding-box !important;\\n\\t}\\n\\n\\t.flex-variant ::slotted(.filler) {\\n\\t\\torder: 2147483647;\\n\\t}\\n</style>\\n<div class=\\\"root\\\">\\n\\t<slot></slot>\\n</div>\\n\"", "import { ElementBase } from \"@cas-smartdesign/element-base\";\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [ZLayout.ID]: ZLayout;\n }\n}\n\nimport { default as htmlTemplate } from \"./template.html?raw\";\n\nexport class ZLayout extends ElementBase {\n public is(): string {\n return ZLayout.ID;\n }\n public static readonly ID = \"sd-z-layout\";\n\n private childListObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n\n private fillers: HTMLElement[] = [];\n private lastKnownWidth = -1;\n\n private rootElement: HTMLElement;\n\n protected template(): HTMLTemplateElement {\n const template = document.createElement(\"template\");\n template.innerHTML = htmlTemplate;\n return template;\n }\n\n constructor() {\n super();\n }\n\n public get fixedColumns(): boolean {\n return this.hasAttribute(\"fixed-columns\") && this.getAttribute(\"fixed-columns\") !== \"false\";\n }\n\n public set fixedColumns(fixedColumns: boolean) {\n if (fixedColumns) {\n this.setAttribute(\"fixed-columns\", \"\");\n } else {\n this.removeAttribute(\"fixed-columns\");\n }\n }\n\n public get columnWidth(): string {\n if (this.hasAttribute(\"column-width\")) {\n return this.getAttribute(\"column-width\");\n }\n return getComputedStyle(this).getPropertyValue(\"--z-layout-column-width\");\n }\n\n public set columnWidth(columnWidth: string) {\n this.setAttribute(\"column-width\", columnWidth);\n }\n\n static get observedAttributes() {\n return [\"column-width\"];\n }\n\n public connectedCallback() {\n super.connectedCallback();\n if (!this.rootElement) {\n this.rootElement = this.shadowRoot.querySelector(\".root\");\n\n if (this.isGridLayoutSupported()) {\n this.rootElement.className = \"root grid-variant\";\n } else {\n this.rootElement.className = \"root flex-variant\";\n\n this.childListObserver = new MutationObserver((mutationsList) => {\n const realChildMutation =\n mutationsList\n .reduce((results, item) => [...results, ...item.addedNodes, ...item.removedNodes], [])\n .filter((node) => ((node as HTMLElement).className || \"\").indexOf(\"filler\") === -1).length >\n 0;\n if (realChildMutation)\n this.debounce(\"update-fillers\", () => {\n this.updateFillers();\n });\n });\n this.resizeObserver = new ResizeObserver((entries, observer) => {\n if (this.lastKnownWidth !== this.offsetWidth) {\n this.lastKnownWidth = this.offsetWidth;\n this.debounce(\"update-fillers\", () => {\n this.updateFillers();\n });\n }\n });\n }\n this.checkMarginUsageOnDirectChildren();\n }\n if (this.childListObserver) {\n this.childListObserver.observe(this, { childList: true });\n }\n if (this.resizeObserver) {\n this.resizeObserver.observe(this);\n }\n }\n\n public attributeChangedCallback() {\n this.onColumnWidthChange();\n }\n\n private isGridLayoutSupported(): boolean {\n const edge = navigator.userAgent.indexOf(\"Edge/\") > -1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const context: any = window;\n const supportsCSS = context.CSS && context.CSS.supports;\n return !edge && supportsCSS && CSS.supports(\"display\", \"grid\");\n }\n\n private updateFillers() {\n if (this.childElementCount > 0) {\n if (!this.fixedColumns) {\n let prevColumnWidth = Number.POSITIVE_INFINITY;\n let measuringFillerElement = undefined;\n while (this.currentColumnWidth() < prevColumnWidth) {\n prevColumnWidth = this.currentColumnWidth();\n\n measuringFillerElement = this.appendFiller();\n\n this.flushShadyDomChanges();\n }\n\n this.fillers.length = this.fillers.length - 1;\n this.removeChild(measuringFillerElement);\n\n const columnCount = this.offsetWidth / prevColumnWidth;\n if (isFinite(columnCount)) {\n while (columnCount - 1 > this.fillers.length) {\n this.appendFiller();\n }\n }\n } else if (this.fillers.length > 0) {\n this.fillers.forEach((filler) => this.removeChild(filler));\n this.fillers = [];\n }\n }\n }\n\n private appendFiller() {\n const filler = document.createElement(\"div\");\n filler.className = \"filler\";\n this.fillers.push(filler);\n this.appendChild(filler);\n return filler;\n }\n\n private flushShadyDomChanges() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const shadyDom = (window as any).ShadyDOM;\n if (shadyDom && shadyDom.flush) {\n shadyDom.flush();\n }\n }\n\n private checkMarginUsageOnDirectChildren() {\n requestAnimationFrame(() => {\n for (let i = 0; i < this.children.length; i++) {\n const child = this.children[i];\n if (child.className.indexOf(\"filler\") === -1) {\n const computedStyle = getComputedStyle(child);\n if (parseInt(computedStyle.marginLeft, 10) !== 0 || parseInt(computedStyle.marginRight, 10) !== 0) {\n console.warn(\n \"[sd-z-layout] It is not recommended to use horizontal margins on direct children of the sd-z-layout element \" +\n \"because the flex-variant (which is used in browsers without css grid support) \" +\n \"might have layouting problems.\\nPlease consider to apply such margins inside these elements instead.\",\n );\n return;\n }\n }\n }\n });\n }\n\n private currentColumnWidth() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (const child of this.children as any) {\n if (child.offsetWidth) {\n return child.offsetWidth;\n }\n }\n }\n\n private onColumnWidthChange() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ShadyCSS = (window as any).ShadyCSS;\n if (this.hasAttribute(\"column-width\")) {\n this.style.setProperty(\"--z-layout-column-width\", this.getAttribute(\"column-width\"));\n if (ShadyCSS) {\n ShadyCSS.styleSubtree(this, { \"--z-layout-column-width\": this.getAttribute(\"column-width\") });\n }\n } else {\n this.style.removeProperty(\"--z-layout-column-width\");\n if (ShadyCSS) {\n ShadyCSS.styleSubtree(this, { \"--z-layout-column-width\": \"\" });\n }\n }\n }\n\n public disconnectedCallback() {\n if (this.childListObserver) {\n this.childListObserver.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n private debounced = {};\n private debounce(id: string, actor: () => void) {\n if (this.debounced[id]) return;\n this.debounced[id] = true;\n requestAnimationFrame(() => {\n delete this.debounced[id];\n actor();\n });\n }\n}\nif (!customElements.get(ZLayout.ID)) {\n customElements.define(ZLayout.ID, ZLayout);\n}\n"],
|
|
5
|
+
"mappings": "sfA8BO,IAAeA,EAAf,MAAeA,UAAoB,WAAY,CAO1C,kBAAwC,CACtC,IAAAC,EAAK,KAAK,GAAA,EACZ,GAAAD,EAAY,eAAeC,CAAE,EACtB,OAAAD,EAAY,eAAeC,CAAE,EAElC,IAAAC,EAAW,KAAK,SAAA,EAEtB,OAAK,OAAe,UAEf,OAAe,SAAS,gBAAgBA,EAAU,KAAK,GAAA,CAAI,EAEpDF,EAAA,eAAeC,CAAE,EAAIC,EAC1BA,CACX,CAEO,mBAAoB,CACjB,IAAAA,EAAW,KAAK,iBAAA,EAEjB,OAAe,UAEf,OAAe,SAAS,aAAa,IAAI,EAEzC,KAAK,aACN,KAAK,aAAa,CAAE,KAAM,MAAQ,CAAA,EAClC,KAAK,WAAW,YAAY,SAAS,WAAWA,EAAS,QAAS,EAAI,CAAC,EACvE,sBAAsB,IAAM,KAAK,cAAc,IAAI,YAAyB,OAAO,CAAC,CAAC,EAE7F,CAEO,UAAUC,EAAmB,CAC5B,KAAK,WACCA,EAAAA,EAEN,KAAK,iBAAiB,QAAS,IAAMA,EAAO,CAAA,CAEpD,CACJ,EAvCIH,EAAwB,eAEpB,CAAA,EAND,IAAeI,EAAfJ,EC9BP,IAAeK,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECUFC,EAAN,MAAMA,UAAgBC,CAAY,CAoBrC,aAAc,CACJ,MAAA,EAZV,KAAQ,QAAyB,CAAA,EACjC,KAAQ,eAAiB,GA+LzB,KAAQ,UAAY,CAAA,CAnLpB,CArBO,IAAa,CAChB,OAAOD,EAAQ,EACnB,CAWU,UAAgC,CAChC,IAAAE,EAAW,SAAS,cAAc,UAAU,EAClD,OAAAA,EAAS,UAAYH,EACdG,CACX,CAMA,IAAW,cAAwB,CAC/B,OAAO,KAAK,aAAa,eAAe,GAAK,KAAK,aAAa,eAAe,IAAM,OACxF,CAEA,IAAW,aAAaC,EAAuB,CACvCA,EACK,KAAA,aAAa,gBAAiB,EAAE,EAErC,KAAK,gBAAgB,eAAe,CAE5C,CAEA,IAAW,aAAsB,CACzB,OAAA,KAAK,aAAa,cAAc,EACzB,KAAK,aAAa,cAAc,EAEpC,iBAAiB,IAAI,EAAE,iBAAiB,yBAAyB,CAC5E,CAEA,IAAW,YAAYC,EAAqB,CACnC,KAAA,aAAa,eAAgBA,CAAW,CACjD,CAEA,WAAW,oBAAqB,CAC5B,MAAO,CAAC,cAAc,CAC1B,CAEO,mBAAoB,CACvB,MAAM,kBAAkB,EACnB,KAAK,cACN,KAAK,YAAc,KAAK,WAAW,cAAc,OAAO,EAEpD,KAAK,sBAAA,EACL,KAAK,YAAY,UAAY,qBAE7B,KAAK,YAAY,UAAY,oBAE7B,KAAK,kBAAoB,IAAI,iBAAkBC,GAAkB,CAEzDA,EACK,OAAO,CAACC,EAASC,IAAS,CAAC,GAAGD,EAAS,GAAGC,EAAK,WAAY,GAAGA,EAAK,YAAY,EAAG,CAAA,CAAE,EACpF,OAAQC,IAAWA,EAAqB,WAAa,IAAI,QAAQ,QAAQ,IAAM,EAAE,EAAE,OACxF,GAEK,KAAA,SAAS,iBAAkB,IAAM,CAClC,KAAK,cAAc,CAAA,CACtB,CAAA,CACR,EACD,KAAK,eAAiB,IAAI,eAAe,CAACC,EAASC,IAAa,CACxD,KAAK,iBAAmB,KAAK,cAC7B,KAAK,eAAiB,KAAK,YACtB,KAAA,SAAS,iBAAkB,IAAM,CAClC,KAAK,cAAc,CAAA,CACtB,EACL,CACH,GAEL,KAAK,iCAAiC,GAEtC,KAAK,mBACL,KAAK,kBAAkB,QAAQ,KAAM,CAAE,UAAW,EAAA,CAAM,EAExD,KAAK,gBACA,KAAA,eAAe,QAAQ,IAAI,CAExC,CAEO,0BAA2B,CAC9B,KAAK,oBAAoB,CAC7B,CAEQ,uBAAiC,CACrC,IAAMC,EAAO,UAAU,UAAU,QAAQ,OAAO,EAAI,GAE9CC,EAAe,OACfC,EAAcD,EAAQ,KAAOA,EAAQ,IAAI,SAC/C,MAAO,CAACD,GAAQE,GAAe,IAAI,SAAS,UAAW,MAAM,CACjE,CAEQ,eAAgB,CAChB,GAAA,KAAK,kBAAoB,EACrB,GAAC,KAAK,aAoBC,KAAK,QAAQ,OAAS,IAC7B,KAAK,QAAQ,QAASC,GAAW,KAAK,YAAYA,CAAM,CAAC,EACzD,KAAK,QAAU,CAAA,OAtBK,CACpB,IAAIC,EAAkB,OAAO,kBACzBC,EACG,KAAA,KAAK,mBAAmB,EAAID,GAC/BA,EAAkB,KAAK,mBAAA,EAEvBC,EAAyB,KAAK,aAAA,EAE9B,KAAK,qBAAqB,EAG9B,KAAK,QAAQ,OAAS,KAAK,QAAQ,OAAS,EAC5C,KAAK,YAAYA,CAAsB,EAEjC,IAAAC,EAAc,KAAK,YAAcF,EACnC,GAAA,SAASE,CAAW,EACpB,KAAOA,EAAc,EAAI,KAAK,QAAQ,QAClC,KAAK,aAAa,CAGnB,CAKnB,CAEQ,cAAe,CACb,IAAAH,EAAS,SAAS,cAAc,KAAK,EAC3C,OAAAA,EAAO,UAAY,SACd,KAAA,QAAQ,KAAKA,CAAM,EACxB,KAAK,YAAYA,CAAM,EAChBA,CACX,CAEQ,sBAAuB,CAE3B,IAAMI,EAAY,OAAe,SAC7BA,GAAYA,EAAS,OACrBA,EAAS,MAAM,CAEvB,CAEQ,kCAAmC,CACvC,sBAAsB,IAAM,CACxB,QAASC,EAAI,EAAGA,EAAI,KAAK,SAAS,OAAQA,IAAK,CACrC,IAAAC,EAAQ,KAAK,SAASD,CAAC,EAC7B,GAAIC,EAAM,UAAU,QAAQ,QAAQ,IAAM,GAAI,CACpC,IAAAC,EAAgB,iBAAiBD,CAAK,EACxC,GAAA,SAASC,EAAc,WAAY,EAAE,IAAM,GAAK,SAASA,EAAc,YAAa,EAAE,IAAM,EAAG,CACvF,QAAA,KACJ;qEAAA,EAIJ,MACJ,CACJ,CACJ,CAAA,CACH,CACL,CAEQ,oBAAqB,CAEd,QAAAD,KAAS,KAAK,SACrB,GAAIA,EAAM,YACN,OAAOA,EAAM,WAGzB,CAEQ,qBAAsB,CAE1B,IAAME,EAAY,OAAe,SAC7B,KAAK,aAAa,cAAc,GAChC,KAAK,MAAM,YAAY,0BAA2B,KAAK,aAAa,cAAc,CAAC,EAC/EA,GACSA,EAAA,aAAa,KAAM,CAAE,0BAA2B,KAAK,aAAa,cAAc,CAAA,CAAG,IAG3F,KAAA,MAAM,eAAe,yBAAyB,EAC/CA,GACAA,EAAS,aAAa,KAAM,CAAE,0BAA2B,EAAI,CAAA,EAGzE,CAEO,sBAAuB,CACtB,KAAK,mBACL,KAAK,kBAAkB,WAAA,EAEvB,KAAK,gBACL,KAAK,eAAe,WAAA,CAE5B,CAGQ,SAASC,EAAYC,EAAmB,CACxC,KAAK,UAAUD,CAAE,IAChB,KAAA,UAAUA,CAAE,EAAI,GACrB,sBAAsB,IAAM,CACjB,OAAA,KAAK,UAAUA,CAAE,EAClBC,EAAAA,CAAA,CACT,EACL,CACJ,EA9MIxB,EAAuB,GAAK,cAJzB,IAAMyB,EAANzB,EAmNF,eAAe,IAAIyB,EAAQ,EAAE,GACf,eAAA,OAAOA,EAAQ,GAAIA,CAAO",
|
|
6
|
+
"names": ["_ElementBase", "is", "template", "actor", "ElementBase", "htmlTemplate", "_ZLayout", "ElementBase", "template", "fixedColumns", "columnWidth", "mutationsList", "results", "item", "node", "entries", "observer", "edge", "context", "supportsCSS", "filler", "prevColumnWidth", "measuringFillerElement", "columnCount", "shadyDom", "i", "child", "computedStyle", "ShadyCSS", "id", "actor", "ZLayout"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ElementBase } from "@cas-smartdesign/element-base";
|
|
2
|
+
declare global {
|
|
3
|
+
interface HTMLElementTagNameMap {
|
|
4
|
+
[ZLayout.ID]: ZLayout;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export declare class ZLayout extends ElementBase {
|
|
8
|
+
is(): string;
|
|
9
|
+
static readonly ID = "sd-z-layout";
|
|
10
|
+
private childListObserver;
|
|
11
|
+
private resizeObserver;
|
|
12
|
+
private fillers;
|
|
13
|
+
private lastKnownWidth;
|
|
14
|
+
private rootElement;
|
|
15
|
+
protected template(): HTMLTemplateElement;
|
|
16
|
+
constructor();
|
|
17
|
+
get fixedColumns(): boolean;
|
|
18
|
+
set fixedColumns(fixedColumns: boolean);
|
|
19
|
+
get columnWidth(): string;
|
|
20
|
+
set columnWidth(columnWidth: string);
|
|
21
|
+
static get observedAttributes(): string[];
|
|
22
|
+
connectedCallback(): void;
|
|
23
|
+
attributeChangedCallback(): void;
|
|
24
|
+
private isGridLayoutSupported;
|
|
25
|
+
private updateFillers;
|
|
26
|
+
private appendFiller;
|
|
27
|
+
private flushShadyDomChanges;
|
|
28
|
+
private checkMarginUsageOnDirectChildren;
|
|
29
|
+
private currentColumnWidth;
|
|
30
|
+
private onColumnWidthChange;
|
|
31
|
+
disconnectedCallback(): void;
|
|
32
|
+
private debounced;
|
|
33
|
+
private debounce;
|
|
34
|
+
}
|
package/dist/zlayout.mjs
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { ElementBase as l } from "@cas-smartdesign/element-base";
|
|
2
|
+
const o = `<style>
|
|
3
|
+
:host {
|
|
4
|
+
display: block;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.grid-variant {
|
|
8
|
+
display: grid;
|
|
9
|
+
grid-gap: var(--z-layout-spacing, 16px);
|
|
10
|
+
grid-template-columns: repeat(auto-fill, minmax(var(--z-layout-column-width, 400px), 1fr));
|
|
11
|
+
grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--z-layout-column-width, 400px)), 1fr));
|
|
12
|
+
justify-content: space-around;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:host([fixed-columns]) .grid-variant {
|
|
16
|
+
grid-template-columns: repeat(auto-fit, var(--z-layout-column-width, 400px));
|
|
17
|
+
grid-template-columns: repeat(auto-fit, min(100%, var(--z-layout-column-width, 400px)));
|
|
18
|
+
justify-content: flex-start;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.flex-variant {
|
|
22
|
+
display: flex;
|
|
23
|
+
width: calc(100% + var(--z-layout-spacing, 16px));
|
|
24
|
+
margin: calc(-0.5 * var(--z-layout-spacing, 16px));
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
flex-wrap: wrap;
|
|
27
|
+
justify-content: space-around;
|
|
28
|
+
align-content: space-around;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:host([fixed-columns]) .flex-variant {
|
|
32
|
+
justify-content: flex-start;
|
|
33
|
+
align-content: center;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:host([fixed-columns]) .flex-variant ::slotted(*) {
|
|
37
|
+
flex: 0 0 auto;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.flex-variant ::slotted(*) {
|
|
41
|
+
flex: 1 1 auto;
|
|
42
|
+
box-sizing: border-box;
|
|
43
|
+
width: calc(var(--z-layout-column-width, 400px) + var(--z-layout-spacing, 16px)) !important;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.grid-variant ::slotted(*) {
|
|
47
|
+
box-sizing: border-box;
|
|
48
|
+
max-width: 100% !important;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.flex-variant ::slotted(:not(.filler)) {
|
|
52
|
+
border: calc(var(--z-layout-spacing, 16px) / 2) solid transparent !important;
|
|
53
|
+
background-clip: padding-box !important;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.flex-variant ::slotted(.filler) {
|
|
57
|
+
order: 2147483647;
|
|
58
|
+
}
|
|
59
|
+
</style>
|
|
60
|
+
<div class="root">
|
|
61
|
+
<slot></slot>
|
|
62
|
+
</div>
|
|
63
|
+
`, s = class s extends l {
|
|
64
|
+
constructor() {
|
|
65
|
+
super(), this.fillers = [], this.lastKnownWidth = -1, this.debounced = {};
|
|
66
|
+
}
|
|
67
|
+
is() {
|
|
68
|
+
return s.ID;
|
|
69
|
+
}
|
|
70
|
+
template() {
|
|
71
|
+
const t = document.createElement("template");
|
|
72
|
+
return t.innerHTML = o, t;
|
|
73
|
+
}
|
|
74
|
+
get fixedColumns() {
|
|
75
|
+
return this.hasAttribute("fixed-columns") && this.getAttribute("fixed-columns") !== "false";
|
|
76
|
+
}
|
|
77
|
+
set fixedColumns(t) {
|
|
78
|
+
t ? this.setAttribute("fixed-columns", "") : this.removeAttribute("fixed-columns");
|
|
79
|
+
}
|
|
80
|
+
get columnWidth() {
|
|
81
|
+
return this.hasAttribute("column-width") ? this.getAttribute("column-width") : getComputedStyle(this).getPropertyValue("--z-layout-column-width");
|
|
82
|
+
}
|
|
83
|
+
set columnWidth(t) {
|
|
84
|
+
this.setAttribute("column-width", t);
|
|
85
|
+
}
|
|
86
|
+
static get observedAttributes() {
|
|
87
|
+
return ["column-width"];
|
|
88
|
+
}
|
|
89
|
+
connectedCallback() {
|
|
90
|
+
super.connectedCallback(), this.rootElement || (this.rootElement = this.shadowRoot.querySelector(".root"), this.isGridLayoutSupported() ? this.rootElement.className = "root grid-variant" : (this.rootElement.className = "root flex-variant", this.childListObserver = new MutationObserver((t) => {
|
|
91
|
+
t.reduce((i, r) => [...i, ...r.addedNodes, ...r.removedNodes], []).filter((i) => (i.className || "").indexOf("filler") === -1).length > 0 && this.debounce("update-fillers", () => {
|
|
92
|
+
this.updateFillers();
|
|
93
|
+
});
|
|
94
|
+
}), this.resizeObserver = new ResizeObserver((t, e) => {
|
|
95
|
+
this.lastKnownWidth !== this.offsetWidth && (this.lastKnownWidth = this.offsetWidth, this.debounce("update-fillers", () => {
|
|
96
|
+
this.updateFillers();
|
|
97
|
+
}));
|
|
98
|
+
})), this.checkMarginUsageOnDirectChildren()), this.childListObserver && this.childListObserver.observe(this, { childList: !0 }), this.resizeObserver && this.resizeObserver.observe(this);
|
|
99
|
+
}
|
|
100
|
+
attributeChangedCallback() {
|
|
101
|
+
this.onColumnWidthChange();
|
|
102
|
+
}
|
|
103
|
+
isGridLayoutSupported() {
|
|
104
|
+
const t = navigator.userAgent.indexOf("Edge/") > -1, e = window, i = e.CSS && e.CSS.supports;
|
|
105
|
+
return !t && i && CSS.supports("display", "grid");
|
|
106
|
+
}
|
|
107
|
+
updateFillers() {
|
|
108
|
+
if (this.childElementCount > 0)
|
|
109
|
+
if (this.fixedColumns)
|
|
110
|
+
this.fillers.length > 0 && (this.fillers.forEach((t) => this.removeChild(t)), this.fillers = []);
|
|
111
|
+
else {
|
|
112
|
+
let t = Number.POSITIVE_INFINITY, e;
|
|
113
|
+
for (; this.currentColumnWidth() < t; )
|
|
114
|
+
t = this.currentColumnWidth(), e = this.appendFiller(), this.flushShadyDomChanges();
|
|
115
|
+
this.fillers.length = this.fillers.length - 1, this.removeChild(e);
|
|
116
|
+
const i = this.offsetWidth / t;
|
|
117
|
+
if (isFinite(i))
|
|
118
|
+
for (; i - 1 > this.fillers.length; )
|
|
119
|
+
this.appendFiller();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
appendFiller() {
|
|
123
|
+
const t = document.createElement("div");
|
|
124
|
+
return t.className = "filler", this.fillers.push(t), this.appendChild(t), t;
|
|
125
|
+
}
|
|
126
|
+
flushShadyDomChanges() {
|
|
127
|
+
const t = window.ShadyDOM;
|
|
128
|
+
t && t.flush && t.flush();
|
|
129
|
+
}
|
|
130
|
+
checkMarginUsageOnDirectChildren() {
|
|
131
|
+
requestAnimationFrame(() => {
|
|
132
|
+
for (let t = 0; t < this.children.length; t++) {
|
|
133
|
+
const e = this.children[t];
|
|
134
|
+
if (e.className.indexOf("filler") === -1) {
|
|
135
|
+
const i = getComputedStyle(e);
|
|
136
|
+
if (parseInt(i.marginLeft, 10) !== 0 || parseInt(i.marginRight, 10) !== 0) {
|
|
137
|
+
console.warn(
|
|
138
|
+
`[sd-z-layout] It is not recommended to use horizontal margins on direct children of the sd-z-layout element because the flex-variant (which is used in browsers without css grid support) might have layouting problems.
|
|
139
|
+
Please consider to apply such margins inside these elements instead.`
|
|
140
|
+
);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
currentColumnWidth() {
|
|
148
|
+
for (const t of this.children)
|
|
149
|
+
if (t.offsetWidth)
|
|
150
|
+
return t.offsetWidth;
|
|
151
|
+
}
|
|
152
|
+
onColumnWidthChange() {
|
|
153
|
+
const t = window.ShadyCSS;
|
|
154
|
+
this.hasAttribute("column-width") ? (this.style.setProperty("--z-layout-column-width", this.getAttribute("column-width")), t && t.styleSubtree(this, { "--z-layout-column-width": this.getAttribute("column-width") })) : (this.style.removeProperty("--z-layout-column-width"), t && t.styleSubtree(this, { "--z-layout-column-width": "" }));
|
|
155
|
+
}
|
|
156
|
+
disconnectedCallback() {
|
|
157
|
+
this.childListObserver && this.childListObserver.disconnect(), this.resizeObserver && this.resizeObserver.disconnect();
|
|
158
|
+
}
|
|
159
|
+
debounce(t, e) {
|
|
160
|
+
this.debounced[t] || (this.debounced[t] = !0, requestAnimationFrame(() => {
|
|
161
|
+
delete this.debounced[t], e();
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
s.ID = "sd-z-layout";
|
|
166
|
+
let n = s;
|
|
167
|
+
customElements.get(n.ID) || customElements.define(n.ID, n);
|
|
168
|
+
export {
|
|
169
|
+
n as ZLayout
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=zlayout.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zlayout.mjs","sources":["../template.html?raw","../zlayout.ts"],"sourcesContent":["export default \"<style>\\n\\t:host {\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t.grid-variant {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-gap: var(--z-layout-spacing, 16px);\\n\\t\\tgrid-template-columns: repeat(auto-fill, minmax(var(--z-layout-column-width, 400px), 1fr));\\n\\t\\tgrid-template-columns: repeat(auto-fill, minmax(min(100%, var(--z-layout-column-width, 400px)), 1fr));\\n\\t\\tjustify-content: space-around;\\n\\t}\\n\\n\\t:host([fixed-columns]) .grid-variant {\\n\\t\\tgrid-template-columns: repeat(auto-fit, var(--z-layout-column-width, 400px));\\n\\t\\tgrid-template-columns: repeat(auto-fit, min(100%, var(--z-layout-column-width, 400px)));\\n\\t\\tjustify-content: flex-start;\\n\\t}\\n\\n\\t.flex-variant {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: calc(100% + var(--z-layout-spacing, 16px));\\n\\t\\tmargin: calc(-0.5 * var(--z-layout-spacing, 16px));\\n\\t\\tbox-sizing: border-box;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tjustify-content: space-around;\\n\\t\\talign-content: space-around;\\n\\t}\\n\\n\\t:host([fixed-columns]) .flex-variant {\\n\\t\\tjustify-content: flex-start;\\n\\t\\talign-content: center;\\n\\t}\\n\\n\\t:host([fixed-columns]) .flex-variant ::slotted(*) {\\n\\t\\tflex: 0 0 auto;\\n\\t}\\n\\n\\t.flex-variant ::slotted(*) {\\n\\t\\tflex: 1 1 auto;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: calc(var(--z-layout-column-width, 400px) + var(--z-layout-spacing, 16px)) !important;\\n\\t}\\n\\n\\t.grid-variant ::slotted(*) {\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmax-width: 100% !important;\\n\\t}\\n\\n\\t.flex-variant ::slotted(:not(.filler)) {\\n\\t\\tborder: calc(var(--z-layout-spacing, 16px) / 2) solid transparent !important;\\n\\t\\tbackground-clip: padding-box !important;\\n\\t}\\n\\n\\t.flex-variant ::slotted(.filler) {\\n\\t\\torder: 2147483647;\\n\\t}\\n</style>\\n<div class=\\\"root\\\">\\n\\t<slot></slot>\\n</div>\\n\"","import { ElementBase } from \"@cas-smartdesign/element-base\";\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [ZLayout.ID]: ZLayout;\n }\n}\n\nimport { default as htmlTemplate } from \"./template.html?raw\";\n\nexport class ZLayout extends ElementBase {\n public is(): string {\n return ZLayout.ID;\n }\n public static readonly ID = \"sd-z-layout\";\n\n private childListObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n\n private fillers: HTMLElement[] = [];\n private lastKnownWidth = -1;\n\n private rootElement: HTMLElement;\n\n protected template(): HTMLTemplateElement {\n const template = document.createElement(\"template\");\n template.innerHTML = htmlTemplate;\n return template;\n }\n\n constructor() {\n super();\n }\n\n public get fixedColumns(): boolean {\n return this.hasAttribute(\"fixed-columns\") && this.getAttribute(\"fixed-columns\") !== \"false\";\n }\n\n public set fixedColumns(fixedColumns: boolean) {\n if (fixedColumns) {\n this.setAttribute(\"fixed-columns\", \"\");\n } else {\n this.removeAttribute(\"fixed-columns\");\n }\n }\n\n public get columnWidth(): string {\n if (this.hasAttribute(\"column-width\")) {\n return this.getAttribute(\"column-width\");\n }\n return getComputedStyle(this).getPropertyValue(\"--z-layout-column-width\");\n }\n\n public set columnWidth(columnWidth: string) {\n this.setAttribute(\"column-width\", columnWidth);\n }\n\n static get observedAttributes() {\n return [\"column-width\"];\n }\n\n public connectedCallback() {\n super.connectedCallback();\n if (!this.rootElement) {\n this.rootElement = this.shadowRoot.querySelector(\".root\");\n\n if (this.isGridLayoutSupported()) {\n this.rootElement.className = \"root grid-variant\";\n } else {\n this.rootElement.className = \"root flex-variant\";\n\n this.childListObserver = new MutationObserver((mutationsList) => {\n const realChildMutation =\n mutationsList\n .reduce((results, item) => [...results, ...item.addedNodes, ...item.removedNodes], [])\n .filter((node) => ((node as HTMLElement).className || \"\").indexOf(\"filler\") === -1).length >\n 0;\n if (realChildMutation)\n this.debounce(\"update-fillers\", () => {\n this.updateFillers();\n });\n });\n this.resizeObserver = new ResizeObserver((entries, observer) => {\n if (this.lastKnownWidth !== this.offsetWidth) {\n this.lastKnownWidth = this.offsetWidth;\n this.debounce(\"update-fillers\", () => {\n this.updateFillers();\n });\n }\n });\n }\n this.checkMarginUsageOnDirectChildren();\n }\n if (this.childListObserver) {\n this.childListObserver.observe(this, { childList: true });\n }\n if (this.resizeObserver) {\n this.resizeObserver.observe(this);\n }\n }\n\n public attributeChangedCallback() {\n this.onColumnWidthChange();\n }\n\n private isGridLayoutSupported(): boolean {\n const edge = navigator.userAgent.indexOf(\"Edge/\") > -1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const context: any = window;\n const supportsCSS = context.CSS && context.CSS.supports;\n return !edge && supportsCSS && CSS.supports(\"display\", \"grid\");\n }\n\n private updateFillers() {\n if (this.childElementCount > 0) {\n if (!this.fixedColumns) {\n let prevColumnWidth = Number.POSITIVE_INFINITY;\n let measuringFillerElement = undefined;\n while (this.currentColumnWidth() < prevColumnWidth) {\n prevColumnWidth = this.currentColumnWidth();\n\n measuringFillerElement = this.appendFiller();\n\n this.flushShadyDomChanges();\n }\n\n this.fillers.length = this.fillers.length - 1;\n this.removeChild(measuringFillerElement);\n\n const columnCount = this.offsetWidth / prevColumnWidth;\n if (isFinite(columnCount)) {\n while (columnCount - 1 > this.fillers.length) {\n this.appendFiller();\n }\n }\n } else if (this.fillers.length > 0) {\n this.fillers.forEach((filler) => this.removeChild(filler));\n this.fillers = [];\n }\n }\n }\n\n private appendFiller() {\n const filler = document.createElement(\"div\");\n filler.className = \"filler\";\n this.fillers.push(filler);\n this.appendChild(filler);\n return filler;\n }\n\n private flushShadyDomChanges() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const shadyDom = (window as any).ShadyDOM;\n if (shadyDom && shadyDom.flush) {\n shadyDom.flush();\n }\n }\n\n private checkMarginUsageOnDirectChildren() {\n requestAnimationFrame(() => {\n for (let i = 0; i < this.children.length; i++) {\n const child = this.children[i];\n if (child.className.indexOf(\"filler\") === -1) {\n const computedStyle = getComputedStyle(child);\n if (parseInt(computedStyle.marginLeft, 10) !== 0 || parseInt(computedStyle.marginRight, 10) !== 0) {\n console.warn(\n \"[sd-z-layout] It is not recommended to use horizontal margins on direct children of the sd-z-layout element \" +\n \"because the flex-variant (which is used in browsers without css grid support) \" +\n \"might have layouting problems.\\nPlease consider to apply such margins inside these elements instead.\",\n );\n return;\n }\n }\n }\n });\n }\n\n private currentColumnWidth() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (const child of this.children as any) {\n if (child.offsetWidth) {\n return child.offsetWidth;\n }\n }\n }\n\n private onColumnWidthChange() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ShadyCSS = (window as any).ShadyCSS;\n if (this.hasAttribute(\"column-width\")) {\n this.style.setProperty(\"--z-layout-column-width\", this.getAttribute(\"column-width\"));\n if (ShadyCSS) {\n ShadyCSS.styleSubtree(this, { \"--z-layout-column-width\": this.getAttribute(\"column-width\") });\n }\n } else {\n this.style.removeProperty(\"--z-layout-column-width\");\n if (ShadyCSS) {\n ShadyCSS.styleSubtree(this, { \"--z-layout-column-width\": \"\" });\n }\n }\n }\n\n public disconnectedCallback() {\n if (this.childListObserver) {\n this.childListObserver.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n private debounced = {};\n private debounce(id: string, actor: () => void) {\n if (this.debounced[id]) return;\n this.debounced[id] = true;\n requestAnimationFrame(() => {\n delete this.debounced[id];\n actor();\n });\n }\n}\nif (!customElements.get(ZLayout.ID)) {\n customElements.define(ZLayout.ID, ZLayout);\n}\n"],"names":["htmlTemplate","_ZLayout","ElementBase","template","fixedColumns","columnWidth","mutationsList","results","item","node","entries","observer","edge","context","supportsCSS","filler","prevColumnWidth","measuringFillerElement","columnCount","shadyDom","i","child","computedStyle","ShadyCSS","id","actor","ZLayout"],"mappings":";AAAA,MAAeA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCUFC,IAAN,MAAMA,UAAgBC,EAAY;AAAA,EAoBrC,cAAc;AACJ,aAZV,KAAQ,UAAyB,IACjC,KAAQ,iBAAiB,IA+LzB,KAAQ,YAAY;EAnLpB;AAAA,EArBO,KAAa;AAChB,WAAOD,EAAQ;AAAA,EACnB;AAAA,EAWU,WAAgC;AAChC,UAAAE,IAAW,SAAS,cAAc,UAAU;AAClD,WAAAA,EAAS,YAAYH,GACdG;AAAA,EACX;AAAA,EAMA,IAAW,eAAwB;AAC/B,WAAO,KAAK,aAAa,eAAe,KAAK,KAAK,aAAa,eAAe,MAAM;AAAA,EACxF;AAAA,EAEA,IAAW,aAAaC,GAAuB;AAC3C,IAAIA,IACK,KAAA,aAAa,iBAAiB,EAAE,IAErC,KAAK,gBAAgB,eAAe;AAAA,EAE5C;AAAA,EAEA,IAAW,cAAsB;AACzB,WAAA,KAAK,aAAa,cAAc,IACzB,KAAK,aAAa,cAAc,IAEpC,iBAAiB,IAAI,EAAE,iBAAiB,yBAAyB;AAAA,EAC5E;AAAA,EAEA,IAAW,YAAYC,GAAqB;AACnC,SAAA,aAAa,gBAAgBA,CAAW;AAAA,EACjD;AAAA,EAEA,WAAW,qBAAqB;AAC5B,WAAO,CAAC,cAAc;AAAA,EAC1B;AAAA,EAEO,oBAAoB;AACvB,UAAM,kBAAkB,GACnB,KAAK,gBACN,KAAK,cAAc,KAAK,WAAW,cAAc,OAAO,GAEpD,KAAK,0BACL,KAAK,YAAY,YAAY,uBAE7B,KAAK,YAAY,YAAY,qBAE7B,KAAK,oBAAoB,IAAI,iBAAiB,CAACC,MAAkB;AAMzD,MAJAA,EACK,OAAO,CAACC,GAASC,MAAS,CAAC,GAAGD,GAAS,GAAGC,EAAK,YAAY,GAAGA,EAAK,YAAY,GAAG,EAAE,EACpF,OAAO,CAACC,OAAWA,EAAqB,aAAa,IAAI,QAAQ,QAAQ,MAAM,EAAE,EAAE,SACxF,KAEK,KAAA,SAAS,kBAAkB,MAAM;AAClC,aAAK,cAAc;AAAA,MAAA,CACtB;AAAA,IAAA,CACR,GACD,KAAK,iBAAiB,IAAI,eAAe,CAACC,GAASC,MAAa;AACxD,MAAA,KAAK,mBAAmB,KAAK,gBAC7B,KAAK,iBAAiB,KAAK,aACtB,KAAA,SAAS,kBAAkB,MAAM;AAClC,aAAK,cAAc;AAAA,MAAA,CACtB;AAAA,IACL,CACH,IAEL,KAAK,iCAAiC,IAEtC,KAAK,qBACL,KAAK,kBAAkB,QAAQ,MAAM,EAAE,WAAW,IAAM,GAExD,KAAK,kBACA,KAAA,eAAe,QAAQ,IAAI;AAAA,EAExC;AAAA,EAEO,2BAA2B;AAC9B,SAAK,oBAAoB;AAAA,EAC7B;AAAA,EAEQ,wBAAiC;AACrC,UAAMC,IAAO,UAAU,UAAU,QAAQ,OAAO,IAAI,IAE9CC,IAAe,QACfC,IAAcD,EAAQ,OAAOA,EAAQ,IAAI;AAC/C,WAAO,CAACD,KAAQE,KAAe,IAAI,SAAS,WAAW,MAAM;AAAA,EACjE;AAAA,EAEQ,gBAAgB;AAChB,QAAA,KAAK,oBAAoB;AACrB,UAAC,KAAK;AAoBC,QAAA,KAAK,QAAQ,SAAS,MAC7B,KAAK,QAAQ,QAAQ,CAACC,MAAW,KAAK,YAAYA,CAAM,CAAC,GACzD,KAAK,UAAU;WAtBK;AACpB,YAAIC,IAAkB,OAAO,mBACzBC;AACG,eAAA,KAAK,mBAAmB,IAAID;AAC/B,UAAAA,IAAkB,KAAK,sBAEvBC,IAAyB,KAAK,gBAE9B,KAAK,qBAAqB;AAG9B,aAAK,QAAQ,SAAS,KAAK,QAAQ,SAAS,GAC5C,KAAK,YAAYA,CAAsB;AAEjC,cAAAC,IAAc,KAAK,cAAcF;AACnC,YAAA,SAASE,CAAW;AACpB,iBAAOA,IAAc,IAAI,KAAK,QAAQ;AAClC,iBAAK,aAAa;AAAA,MAGnB;AAAA,EAKnB;AAAA,EAEQ,eAAe;AACb,UAAAH,IAAS,SAAS,cAAc,KAAK;AAC3C,WAAAA,EAAO,YAAY,UACd,KAAA,QAAQ,KAAKA,CAAM,GACxB,KAAK,YAAYA,CAAM,GAChBA;AAAA,EACX;AAAA,EAEQ,uBAAuB;AAE3B,UAAMI,IAAY,OAAe;AAC7B,IAAAA,KAAYA,EAAS,SACrBA,EAAS,MAAM;AAAA,EAEvB;AAAA,EAEQ,mCAAmC;AACvC,0BAAsB,MAAM;AACxB,eAASC,IAAI,GAAGA,IAAI,KAAK,SAAS,QAAQA,KAAK;AACrC,cAAAC,IAAQ,KAAK,SAASD,CAAC;AAC7B,YAAIC,EAAM,UAAU,QAAQ,QAAQ,MAAM,IAAI;AACpC,gBAAAC,IAAgB,iBAAiBD,CAAK;AACxC,cAAA,SAASC,EAAc,YAAY,EAAE,MAAM,KAAK,SAASA,EAAc,aAAa,EAAE,MAAM,GAAG;AACvF,oBAAA;AAAA,cACJ;AAAA;AAAA,YAAA;AAIJ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IAAA,CACH;AAAA,EACL;AAAA,EAEQ,qBAAqB;AAEd,eAAAD,KAAS,KAAK;AACrB,UAAIA,EAAM;AACN,eAAOA,EAAM;AAAA,EAGzB;AAAA,EAEQ,sBAAsB;AAE1B,UAAME,IAAY,OAAe;AAC7B,IAAA,KAAK,aAAa,cAAc,KAChC,KAAK,MAAM,YAAY,2BAA2B,KAAK,aAAa,cAAc,CAAC,GAC/EA,KACSA,EAAA,aAAa,MAAM,EAAE,2BAA2B,KAAK,aAAa,cAAc,GAAG,MAG3F,KAAA,MAAM,eAAe,yBAAyB,GAC/CA,KACAA,EAAS,aAAa,MAAM,EAAE,2BAA2B,GAAI,CAAA;AAAA,EAGzE;AAAA,EAEO,uBAAuB;AAC1B,IAAI,KAAK,qBACL,KAAK,kBAAkB,cAEvB,KAAK,kBACL,KAAK,eAAe;EAE5B;AAAA,EAGQ,SAASC,GAAYC,GAAmB;AACxC,IAAA,KAAK,UAAUD,CAAE,MAChB,KAAA,UAAUA,CAAE,IAAI,IACrB,sBAAsB,MAAM;AACjB,aAAA,KAAK,UAAUA,CAAE,GAClBC;IAAA,CACT;AAAA,EACL;AACJ;AA9MIxB,EAAuB,KAAK;AAJzB,IAAMyB,IAANzB;AAmNF,eAAe,IAAIyB,EAAQ,EAAE,KACf,eAAA,OAAOA,EAAQ,IAAIA,CAAO;"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@cypress/vite-dev-server@5.0.7": {
|
|
3
|
+
"licenses": "MIT",
|
|
4
|
+
"repository": "https://github.com/cypress-io/cypress",
|
|
5
|
+
"licenseUrl": "https://github.com/cypress-io/cypress/tree/develop/npm/vite-dev-server#readme"
|
|
6
|
+
},
|
|
7
|
+
"@rollup/plugin-node-resolve@15.2.3": {
|
|
8
|
+
"licenses": "MIT",
|
|
9
|
+
"repository": "https://github.com/rollup/plugins",
|
|
10
|
+
"licenseUrl": "https://github.com/rollup/plugins/raw/HEAD/LICENSE"
|
|
11
|
+
},
|
|
12
|
+
"@types/node@20.10.6": {
|
|
13
|
+
"licenses": "MIT",
|
|
14
|
+
"repository": "https://github.com/DefinitelyTyped/DefinitelyTyped",
|
|
15
|
+
"licenseUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped/raw/HEAD/LICENSE"
|
|
16
|
+
},
|
|
17
|
+
"@types/postcss-prefix-selector@1.16.3": {
|
|
18
|
+
"licenses": "MIT",
|
|
19
|
+
"repository": "https://github.com/DefinitelyTyped/DefinitelyTyped",
|
|
20
|
+
"licenseUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped/raw/HEAD/LICENSE"
|
|
21
|
+
},
|
|
22
|
+
"@typescript-eslint/eslint-plugin@6.17.0": {
|
|
23
|
+
"licenses": "MIT",
|
|
24
|
+
"repository": "https://github.com/typescript-eslint/typescript-eslint",
|
|
25
|
+
"licenseUrl": "https://github.com/typescript-eslint/typescript-eslint/raw/HEAD/LICENSE"
|
|
26
|
+
},
|
|
27
|
+
"@typescript-eslint/parser@6.17.0": {
|
|
28
|
+
"licenses": "BSD-2-Clause",
|
|
29
|
+
"repository": "https://github.com/typescript-eslint/typescript-eslint",
|
|
30
|
+
"licenseUrl": "https://github.com/typescript-eslint/typescript-eslint/raw/HEAD/LICENSE"
|
|
31
|
+
},
|
|
32
|
+
"@vitest/coverage-v8@1.1.1": {
|
|
33
|
+
"licenses": "MIT",
|
|
34
|
+
"repository": "https://github.com/vitest-dev/vitest",
|
|
35
|
+
"licenseUrl": "https://github.com/vitest-dev/vitest/raw/HEAD/LICENSE"
|
|
36
|
+
},
|
|
37
|
+
"@vitest/ui@1.1.1": {
|
|
38
|
+
"licenses": "MIT",
|
|
39
|
+
"repository": "https://github.com/vitest-dev/vitest",
|
|
40
|
+
"licenseUrl": "https://github.com/vitest-dev/vitest/raw/HEAD/LICENSE"
|
|
41
|
+
},
|
|
42
|
+
"axe-core@4.8.3": {
|
|
43
|
+
"licenses": "MPL-2.0",
|
|
44
|
+
"repository": "https://github.com/dequelabs/axe-core",
|
|
45
|
+
"licenseUrl": "https://github.com/dequelabs/axe-core/raw/HEAD/LICENSE"
|
|
46
|
+
},
|
|
47
|
+
"cypress-axe@1.5.0": {
|
|
48
|
+
"licenses": "MIT",
|
|
49
|
+
"repository": "https://github.com/component-driven/cypress-axe",
|
|
50
|
+
"licenseUrl": "https://github.com/component-driven/cypress-axe/raw/HEAD/License.md"
|
|
51
|
+
},
|
|
52
|
+
"cypress-real-events@1.13.0": {
|
|
53
|
+
"licenses": "MIT",
|
|
54
|
+
"repository": "https://github.com/dmtrKovalenko/cypress-real-events",
|
|
55
|
+
"licenseUrl": "https://github.com/dmtrKovalenko/cypress-real-events"
|
|
56
|
+
},
|
|
57
|
+
"cypress@13.6.2": {
|
|
58
|
+
"licenses": "MIT",
|
|
59
|
+
"repository": "https://github.com/cypress-io/cypress",
|
|
60
|
+
"licenseUrl": "https://cypress.io"
|
|
61
|
+
},
|
|
62
|
+
"esbuild@0.19.11": {
|
|
63
|
+
"licenses": "MIT",
|
|
64
|
+
"repository": "https://github.com/evanw/esbuild",
|
|
65
|
+
"licenseUrl": "https://github.com/evanw/esbuild/raw/HEAD/LICENSE.md"
|
|
66
|
+
},
|
|
67
|
+
"eslint-config-google@0.14.0": {
|
|
68
|
+
"licenses": "Apache-2.0",
|
|
69
|
+
"repository": "https://github.com/google/eslint-config-google",
|
|
70
|
+
"licenseUrl": "https://github.com/google/eslint-config-google/raw/HEAD/LICENSE"
|
|
71
|
+
},
|
|
72
|
+
"eslint-config-prettier@9.1.0": {
|
|
73
|
+
"licenses": "MIT",
|
|
74
|
+
"repository": "https://github.com/prettier/eslint-config-prettier",
|
|
75
|
+
"licenseUrl": "https://github.com/prettier/eslint-config-prettier/raw/HEAD/LICENSE"
|
|
76
|
+
},
|
|
77
|
+
"eslint@8.56.0": {
|
|
78
|
+
"licenses": "MIT",
|
|
79
|
+
"repository": "https://github.com/eslint/eslint",
|
|
80
|
+
"licenseUrl": "https://github.com/eslint/eslint/raw/HEAD/LICENSE"
|
|
81
|
+
},
|
|
82
|
+
"github-markdown-css@5.5.0": {
|
|
83
|
+
"licenses": "MIT",
|
|
84
|
+
"repository": "https://github.com/sindresorhus/github-markdown-css",
|
|
85
|
+
"licenseUrl": "https://github.com/sindresorhus/github-markdown-css/raw/HEAD/license"
|
|
86
|
+
},
|
|
87
|
+
"highlight.js@11.9.0": {
|
|
88
|
+
"licenses": "BSD-3-Clause",
|
|
89
|
+
"repository": "https://github.com/highlightjs/highlight.js",
|
|
90
|
+
"licenseUrl": "https://github.com/highlightjs/highlight.js/raw/HEAD/LICENSE"
|
|
91
|
+
},
|
|
92
|
+
"junit-report-builder@3.1.0": {
|
|
93
|
+
"licenses": "MIT",
|
|
94
|
+
"repository": "https://github.com/davidparsson/junit-report-builder",
|
|
95
|
+
"licenseUrl": "https://github.com/davidparsson/junit-report-builder/raw/HEAD/LICENSE"
|
|
96
|
+
},
|
|
97
|
+
"lint-staged@15.2.0": {
|
|
98
|
+
"licenses": "MIT",
|
|
99
|
+
"repository": "https://github.com/okonet/lint-staged",
|
|
100
|
+
"licenseUrl": "https://github.com/okonet/lint-staged/raw/HEAD/LICENSE"
|
|
101
|
+
},
|
|
102
|
+
"marked@11.1.1": {
|
|
103
|
+
"licenses": "MIT",
|
|
104
|
+
"repository": "https://github.com/markedjs/marked",
|
|
105
|
+
"licenseUrl": "https://github.com/markedjs/marked/raw/HEAD/LICENSE.md"
|
|
106
|
+
},
|
|
107
|
+
"postcss-prefix-selector@1.16.0": {
|
|
108
|
+
"licenses": "MIT",
|
|
109
|
+
"repository": "https://github.com/RadValentin/postcss-prefix-selector",
|
|
110
|
+
"licenseUrl": "https://github.com/RadValentin/postcss-prefix-selector/raw/HEAD/LICENSE"
|
|
111
|
+
},
|
|
112
|
+
"postcss@8.4.32": {
|
|
113
|
+
"licenses": "MIT",
|
|
114
|
+
"repository": "https://github.com/postcss/postcss",
|
|
115
|
+
"licenseUrl": "https://github.com/postcss/postcss/raw/HEAD/LICENSE"
|
|
116
|
+
},
|
|
117
|
+
"prettier@3.1.1": {
|
|
118
|
+
"licenses": "MIT",
|
|
119
|
+
"repository": "https://github.com/prettier/prettier",
|
|
120
|
+
"licenseUrl": "https://github.com/prettier/prettier/raw/HEAD/LICENSE"
|
|
121
|
+
},
|
|
122
|
+
"resolve-pkg@2.0.0": {
|
|
123
|
+
"licenses": "MIT",
|
|
124
|
+
"repository": "https://github.com/sindresorhus/resolve-pkg",
|
|
125
|
+
"licenseUrl": "https://github.com/sindresorhus/resolve-pkg/raw/HEAD/license"
|
|
126
|
+
},
|
|
127
|
+
"sass@1.69.6": {
|
|
128
|
+
"licenses": "MIT",
|
|
129
|
+
"repository": "https://github.com/sass/dart-sass",
|
|
130
|
+
"licenseUrl": "https://github.com/sass/dart-sass/raw/HEAD/LICENSE"
|
|
131
|
+
},
|
|
132
|
+
"stylelint-config-recommended-scss@14.0.0": {
|
|
133
|
+
"licenses": "MIT",
|
|
134
|
+
"repository": "https://github.com/stylelint-scss/stylelint-config-recommended-scss",
|
|
135
|
+
"licenseUrl": "https://github.com/stylelint-scss/stylelint-config-recommended-scss/raw/HEAD/LICENSE"
|
|
136
|
+
},
|
|
137
|
+
"stylelint-config-standard@36.0.0": {
|
|
138
|
+
"licenses": "MIT",
|
|
139
|
+
"repository": "https://github.com/stylelint/stylelint-config-standard",
|
|
140
|
+
"licenseUrl": "https://github.com/stylelint/stylelint-config-standard/raw/HEAD/LICENSE"
|
|
141
|
+
},
|
|
142
|
+
"stylelint-scss@6.0.0": {
|
|
143
|
+
"licenses": "MIT",
|
|
144
|
+
"repository": "https://github.com/stylelint-scss/stylelint-scss",
|
|
145
|
+
"licenseUrl": "https://github.com/stylelint-scss/stylelint-scss/raw/HEAD/LICENSE"
|
|
146
|
+
},
|
|
147
|
+
"stylelint@16.1.0": {
|
|
148
|
+
"licenses": "MIT",
|
|
149
|
+
"repository": "https://github.com/stylelint/stylelint",
|
|
150
|
+
"licenseUrl": "https://github.com/stylelint/stylelint/raw/HEAD/LICENSE"
|
|
151
|
+
},
|
|
152
|
+
"tsup@8.0.1": {
|
|
153
|
+
"licenses": "MIT",
|
|
154
|
+
"repository": "https://github.com/egoist/tsup",
|
|
155
|
+
"licenseUrl": "https://github.com/egoist/tsup/raw/HEAD/LICENSE"
|
|
156
|
+
},
|
|
157
|
+
"turbo@1.11.2": {
|
|
158
|
+
"licenses": "MPL-2.0",
|
|
159
|
+
"repository": "https://github.com/vercel/turbo",
|
|
160
|
+
"licenseUrl": "https://github.com/vercel/turbo/raw/HEAD/LICENSE"
|
|
161
|
+
},
|
|
162
|
+
"typescript@5.3.3": {
|
|
163
|
+
"licenses": "Apache-2.0",
|
|
164
|
+
"repository": "https://github.com/Microsoft/TypeScript",
|
|
165
|
+
"licenseUrl": "https://github.com/Microsoft/TypeScript/raw/HEAD/LICENSE.txt"
|
|
166
|
+
},
|
|
167
|
+
"vite-tsconfig-paths@4.2.3": {
|
|
168
|
+
"licenses": "MIT",
|
|
169
|
+
"repository": "https://github.com/aleclarson/vite-tsconfig-paths",
|
|
170
|
+
"licenseUrl": "https://github.com/aleclarson/vite-tsconfig-paths/raw/HEAD/LICENSE"
|
|
171
|
+
},
|
|
172
|
+
"vite@5.0.10": {
|
|
173
|
+
"licenses": "MIT",
|
|
174
|
+
"repository": "https://github.com/vitejs/vite",
|
|
175
|
+
"licenseUrl": "https://github.com/vitejs/vite/raw/HEAD/LICENSE.md"
|
|
176
|
+
},
|
|
177
|
+
"vitest@1.1.1": {
|
|
178
|
+
"licenses": "MIT",
|
|
179
|
+
"repository": "https://github.com/vitest-dev/vitest",
|
|
180
|
+
"licenseUrl": "https://github.com/vitest-dev/vitest/raw/HEAD/LICENSE.md"
|
|
181
|
+
},
|
|
182
|
+
"yargs@17.7.2": {
|
|
183
|
+
"licenses": "MIT",
|
|
184
|
+
"repository": "https://github.com/yargs/yargs",
|
|
185
|
+
"licenseUrl": "https://github.com/yargs/yargs/raw/HEAD/LICENSE"
|
|
186
|
+
}
|
|
187
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cas-smartdesign/z-layout",
|
|
3
|
+
"version": "6.0.1",
|
|
4
|
+
"description": "A custom element which positions child elements sequentially (from left to right, top to bottom).",
|
|
5
|
+
"main": "dist/zlayout-with-externals.js",
|
|
6
|
+
"module": "dist/zlayout.mjs",
|
|
7
|
+
"types": "dist/zlayout.d.ts",
|
|
8
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@cas-smartdesign/element-base": "^5.0.1"
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@cas-smartdesign/element-preview": "^0.2.1",
|
|
14
|
+
"@cas-smartdesign/license-generator": "^1.6.1"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"npm-third-party-licenses.json"
|
|
19
|
+
],
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"registry": "https://registry.npmjs.org/",
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"version": "pnpm version",
|
|
26
|
+
"generate-declaration": "tsc -p tsconfig.types.json",
|
|
27
|
+
"build:no-license": "vite build && pnpm generate-declaration && vite build --mode documentation",
|
|
28
|
+
"build": "pnpm generate-license && pnpm build:no-license",
|
|
29
|
+
"dev": "vite",
|
|
30
|
+
"generate-license": "sd-license-generator --r ../../../"
|
|
31
|
+
}
|
|
32
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# @cas-smartdesign/z-layout
|
|
2
|
+
|
|
3
|
+
A custom element which positions child elements sequentially (from left to right, top to bottom).
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- ES6
|
|
8
|
+
- For an ES5 variant use the 1.x.x versions or transpile it manually.
|
|
9
|
+
- Custom Elements v1
|
|
10
|
+
- Native or https://github.com/webcomponents/webcomponentsjs
|
|
11
|
+
|
|
12
|
+
## Attributes
|
|
13
|
+
|
|
14
|
+
- `column-width`: string
|
|
15
|
+
- Defines the minimum column width for the layout
|
|
16
|
+
- Configurable via the `--z-layout-column-width` as well.
|
|
17
|
+
- If both an Attribute and a CSS Custom Property is set then the former one is applied as it is used via an element.style property.
|
|
18
|
+
- `fixed-columns`: boolean
|
|
19
|
+
- If set the column-width is not only considered as a minimum width but a regular width, thus children do not stretch or grow.
|
|
20
|
+
|
|
21
|
+
## CSS Custom Properties
|
|
22
|
+
|
|
23
|
+
- `--z-layout-column-width`
|
|
24
|
+
- See `column-width` in the attributes section
|
|
25
|
+
- `--z-layout-spacing`
|
|
26
|
+
- Defines the spacing around the elements inside the layout
|
|
27
|
+
|
|
28
|
+
## Caveats
|
|
29
|
+
|
|
30
|
+
- If a browser does not support the display: grid (or supports only the older version of the [specification](https://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/) like IE 11) then the children have to use the border to simulate the spacing. Thus applying another border would brake it.
|
|
31
|
+
- Note that although Edge supports the new specification of grid but has critical issues with it therefore the flex variant is used there.
|
|
32
|
+
- The direct children of the z-layout may not use horizontal margin values due to the limitation of the flex variant.
|
|
33
|
+
|
|
34
|
+
## Examples
|