@cas-smartdesign/button 5.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 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,104 @@
1
+ var window;(window||={})["@cas-smartdesign/button"]=(()=>{var d=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var g=(s,t)=>{for(var e in t)d(s,e,{get:t[e],enumerable:!0})},y=(s,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of p(t))!m.call(s,i)&&i!==e&&d(s,i,{get:()=>t[i],enumerable:!(a=b(t,i))||a.enumerable});return s};var E=s=>y(d({},"__esModule",{value:!0}),s);var x={};g(x,{Button:()=>n});var c=class r extends HTMLElement{memoizedTemplate(){let t=this.is();if(r.TEMPLATE_CACHE[t])return r.TEMPLATE_CACHE[t];let e=this.template();return window.ShadyCSS&&window.ShadyCSS.prepareTemplate(e,this.is()),r.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())}};c.TEMPLATE_CACHE={};var l=c;var v=`<style>
2
+ :host {
3
+ contain: content;
4
+ background: rgba(20, 103, 186, 0);
5
+ color: #1467ba;
6
+ border: none;
7
+ outline: none;
8
+ padding: 0 8px;
9
+ height: 32px;
10
+ cursor: pointer;
11
+ user-select: none;
12
+ display: inline-flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ box-sizing: border-box;
16
+ vertical-align: middle;
17
+ }
18
+
19
+ :host(:focus),
20
+ :host(:not([disabled], [aria-disabled="true"]):hover) {
21
+ background: rgba(20, 103, 186, 0.1);
22
+ }
23
+
24
+ @media (forced-colors: active) {
25
+ :host(:not([disabled], [aria-disabled="true"]):focus-visible) {
26
+ outline: 1px solid;
27
+ }
28
+ :host {
29
+ margin: 1px;
30
+ }
31
+ }
32
+
33
+ :host(:not([disabled], [aria-disabled="true"]):focus-visible) {
34
+ box-shadow: 0 0 0 1px #1467ba inset;
35
+ }
36
+
37
+ :host(:not([disabled], [aria-disabled="true"]):active) {
38
+ background: rgba(20, 103, 186, 0.2);
39
+ }
40
+
41
+ :host([primary]) {
42
+ background: #1467ba;
43
+ color: #fff;
44
+ }
45
+
46
+ :host([primary]:focus),
47
+ :host(:not([disabled], [aria-disabled="true"])[primary]:hover) {
48
+ background: #125da8;
49
+ }
50
+
51
+ :host([primary]:focus-visible) {
52
+ box-shadow: 0 0 0 1px white inset;
53
+ }
54
+
55
+ :host(:not([disabled], [aria-disabled="true"])[primary]:focus-visible) {
56
+ outline: 1px solid #1467ba;
57
+ }
58
+
59
+ :host(:not([disabled], [aria-disabled="true"])[primary]:active) {
60
+ background: #0e4883;
61
+ }
62
+
63
+ :host([disabled]),
64
+ :host([aria-disabled="true"]) {
65
+ filter: grayscale(100%);
66
+ opacity: 0.5;
67
+ cursor: default;
68
+ }
69
+
70
+ :host([disabled]:focus-visible),
71
+ :host([aria-disabled="true"]:focus-visible) {
72
+ outline: 1px dashed #111;
73
+ }
74
+
75
+ :host(:not([icon])) .icon,
76
+ :host([icon=""]) .icon {
77
+ display: none;
78
+ }
79
+
80
+ .content {
81
+ display: flex;
82
+ align-items: center;
83
+ min-width: 0px;
84
+ }
85
+
86
+ .content ::slotted(*) {
87
+ margin-left: var(--sd-button-content-padding, 8px);
88
+ }
89
+
90
+ .content ::slotted(*:last-child) {
91
+ margin-right: var(--sd-button-content-padding, 8px);
92
+ }
93
+
94
+ .icon {
95
+ max-height: var(--sd-button-max-icon-size, 32px);
96
+ max-width: var(--sd-button-max-icon-size, 32px);
97
+ }
98
+ </style>
99
+ <img class="icon" />
100
+ <div class="content">
101
+ <slot></slot>
102
+ </div>
103
+ `,h=class u extends l{constructor(){super(),this._isSpaceOrEnterKeyDown=!1,this.addEventListener("keydown",t=>{this.isSpaceOrEnter(t)&&(this._isSpaceOrEnterKeyDown=!0,t.preventDefault())}),this.addEventListener("keyup",t=>{this.isSpaceOrEnter(t)&&this._isSpaceOrEnterKeyDown==!0&&(this._isSpaceOrEnterKeyDown=!1,this.click())}),this.addEventListener("click",t=>{var e,a;if(this.disabled||this.hasAttribute("disabled")){t.stopImmediatePropagation();return}let i=(a=(e=this.getAttribute("type"))==null?void 0:e.toLowerCase())==null?void 0:a.trim();if(i!=="submit"&&i!=="reset")return;let o=this.closest("form");o&&i==="submit"&&o.requestSubmit(),o&&i==="reset"&&o.reset()},{capture:!0})}get imageElement(){return this._image}get icon(){return this.getAttribute("icon")}set icon(t){this.icon!==t&&(t?this.setAttribute("icon",t):this.removeAttribute("icon"),this.updateIcon())}get primary(){return this.hasAttribute("primary")}set primary(t){t?this.setAttribute("primary",""):this.removeAttribute("primary")}get disabled(){return this.getAttribute("aria-disabled")=="true"}set disabled(t){this.setAttribute("aria-disabled",t.toString())}static get observedAttributes(){return["icon"]}is(){return u.ID}template(){let t=document.createElement("template");return t.innerHTML=v,t}isSpaceOrEnter(t){switch(t.key){case" ":case"Space":case"Enter":return!0;default:return!1}}click(){!this.disabled&&!this.hasAttribute("disabled")&&super.click()}connectedCallback(){super.connectedCallback(),this.hasAttribute("tabIndex")||(this.tabIndex=0),this._image=this.shadowRoot.querySelector(".icon"),this.updateIcon(),this.hasAttribute("role")||this.setAttribute("role","button")}attributeChangedCallback(){this.updateIcon()}updateIcon(){if(this._image){let t=this.getAttribute("icon");t&&(this._image.src=t)}}};h.ID="sd-button";var n=h;customElements.get(n.ID)||customElements.define(n.ID,n);return E(x);})();
104
+ //# sourceMappingURL=button-with-externals.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../element-base/element-base.ts", "../button.html?raw", "../button.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\\tcontain: content;\\n\\t\\tbackground: rgba(20, 103, 186, 0);\\n\\t\\tcolor: #1467ba;\\n\\t\\tborder: none;\\n\\t\\toutline: none;\\n\\t\\tpadding: 0 8px;\\n\\t\\theight: 32px;\\n\\t\\tcursor: pointer;\\n\\t\\tuser-select: none;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tvertical-align: middle;\\n\\t}\\n\\n\\t:host(:focus),\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"]):hover) {\\n\\t\\tbackground: rgba(20, 103, 186, 0.1);\\n\\t}\\n\\n\\t@media (forced-colors: active) {\\n\\t\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"]):focus-visible) {\\n\\t\\t\\toutline: 1px solid;\\n\\t\\t}\\n\\t\\t:host {\\n\\t\\t\\tmargin: 1px;\\n\\t\\t}\\n\\t}\\n\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"]):focus-visible) {\\n\\t\\tbox-shadow: 0 0 0 1px #1467ba inset;\\n\\t}\\n\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"]):active) {\\n\\t\\tbackground: rgba(20, 103, 186, 0.2);\\n\\t}\\n\\n\\t:host([primary]) {\\n\\t\\tbackground: #1467ba;\\n\\t\\tcolor: #fff;\\n\\t}\\n\\n\\t:host([primary]:focus),\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"])[primary]:hover) {\\n\\t\\tbackground: #125da8;\\n\\t}\\n\\n\\t:host([primary]:focus-visible) {\\n\\t\\tbox-shadow: 0 0 0 1px white inset;\\n\\t}\\n\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"])[primary]:focus-visible) {\\n\\t\\toutline: 1px solid #1467ba;\\n\\t}\\n\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"])[primary]:active) {\\n\\t\\tbackground: #0e4883;\\n\\t}\\n\\n\\t:host([disabled]),\\n\\t:host([aria-disabled=\\\"true\\\"]) {\\n\\t\\tfilter: grayscale(100%);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t:host([disabled]:focus-visible),\\n\\t:host([aria-disabled=\\\"true\\\"]:focus-visible) {\\n\\t\\toutline: 1px dashed #111;\\n\\t}\\n\\n\\t:host(:not([icon])) .icon,\\n\\t:host([icon=\\\"\\\"]) .icon {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t.content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-width: 0px;\\n\\t}\\n\\n\\t.content ::slotted(*) {\\n\\t\\tmargin-left: var(--sd-button-content-padding, 8px);\\n\\t}\\n\\n\\t.content ::slotted(*:last-child) {\\n\\t\\tmargin-right: var(--sd-button-content-padding, 8px);\\n\\t}\\n\\n\\t.icon {\\n\\t\\tmax-height: var(--sd-button-max-icon-size, 32px);\\n\\t\\tmax-width: var(--sd-button-max-icon-size, 32px);\\n\\t}\\n</style>\\n<img class=\\\"icon\\\" />\\n<div class=\\\"content\\\">\\n\\t<slot></slot>\\n</div>\\n\"", "import { ElementBase } from \"@cas-smartdesign/element-base\";\n\nimport { default as htmlTemplate } from \"./button.html?raw\";\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [Button.ID]: Button;\n }\n}\n\nexport class Button extends ElementBase {\n public static readonly ID = \"sd-button\";\n private _image: HTMLImageElement;\n private _isSpaceOrEnterKeyDown = false;\n\n public get imageElement() {\n return this._image;\n }\n\n public get icon(): string {\n return this.getAttribute(\"icon\");\n }\n\n public set icon(icon: string) {\n if (this.icon !== icon) {\n if (icon) {\n this.setAttribute(\"icon\", icon);\n } else {\n this.removeAttribute(\"icon\");\n }\n this.updateIcon();\n }\n }\n\n public get primary(): boolean {\n return this.hasAttribute(\"primary\");\n }\n\n public set primary(primary: boolean) {\n if (primary) {\n this.setAttribute(\"primary\", \"\");\n } else {\n this.removeAttribute(\"primary\");\n }\n }\n\n public get disabled(): boolean {\n return this.getAttribute(\"aria-disabled\") == \"true\";\n }\n\n public set disabled(disabled: boolean) {\n this.setAttribute(\"aria-disabled\", disabled.toString());\n }\n\n static get observedAttributes() {\n return [\"icon\"];\n }\n\n public is(): string {\n return Button.ID;\n }\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 this.addEventListener(\"keydown\", (e) => {\n if (this.isSpaceOrEnter(e)) {\n this._isSpaceOrEnterKeyDown = true;\n e.preventDefault(); // prevent potential scroll-down triggered by space\n }\n });\n this.addEventListener(\"keyup\", (e) => {\n if (this.isSpaceOrEnter(e) && this._isSpaceOrEnterKeyDown == true) {\n this._isSpaceOrEnterKeyDown = false;\n this.click();\n }\n });\n // As Button is not an input element, click is fired even in disabled state\n this.addEventListener(\n \"click\",\n (event) => {\n if (this.disabled || this.hasAttribute(\"disabled\")) {\n event.stopImmediatePropagation();\n return;\n }\n\n const type = this.getAttribute(\"type\")?.toLowerCase()?.trim();\n\n if (type !== \"submit\" && type !== \"reset\") {\n return;\n }\n\n const form = this.closest(\"form\");\n\n if (form && type === \"submit\") {\n form.requestSubmit();\n }\n\n if (form && type === \"reset\") {\n form.reset();\n }\n },\n { capture: true },\n );\n }\n\n private isSpaceOrEnter(event: KeyboardEvent): boolean {\n switch (event.key) {\n case \" \":\n case \"Space\":\n case \"Enter\":\n return true;\n default:\n return false;\n }\n }\n\n public click() {\n if (!this.disabled && !this.hasAttribute(\"disabled\")) {\n super.click();\n }\n }\n\n public connectedCallback() {\n super.connectedCallback();\n\n if (!this.hasAttribute(\"tabIndex\")) {\n this.tabIndex = 0;\n }\n\n this._image = this.shadowRoot.querySelector(\".icon\") as HTMLImageElement;\n\n this.updateIcon();\n if (!this.hasAttribute(\"role\")) {\n this.setAttribute(\"role\", \"button\");\n }\n }\n\n public attributeChangedCallback(): void {\n this.updateIcon();\n }\n\n private updateIcon() {\n if (this._image) {\n const iconSrc = this.getAttribute(\"icon\");\n if (iconSrc) {\n this._image.src = iconSrc;\n }\n }\n }\n}\n\nif (!customElements.get(Button.ID)) {\n customElements.define(Button.ID, Button);\n}\n"],
5
+ "mappings": "mfA8BO,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,UAAeC,CAAY,CA0DpC,aAAc,CACJ,MAAA,EAxDV,KAAQ,uBAAyB,GAyDxB,KAAA,iBAAiB,UAAYC,GAAM,CAChC,KAAK,eAAeA,CAAC,IACrB,KAAK,uBAAyB,GAC9BA,EAAE,eAAe,EACrB,CACH,EACI,KAAA,iBAAiB,QAAUA,GAAM,CAC9B,KAAK,eAAeA,CAAC,GAAK,KAAK,wBAA0B,KACzD,KAAK,uBAAyB,GAC9B,KAAK,MAAM,EACf,CACH,EAEI,KAAA,iBACD,QACCC,GAAU,SACP,GAAI,KAAK,UAAY,KAAK,aAAa,UAAU,EAAG,CAChDA,EAAM,yBAAyB,EAC/B,MACJ,CAEA,IAAMC,GAAOC,GAAAC,EAAA,KAAK,aAAa,MAAM,IAAxB,KAAA,OAAAA,EAA2B,YAAA,IAA3B,KAAA,OAAAD,EAA0C,KAAA,EAEnD,GAAAD,IAAS,UAAYA,IAAS,QAC9B,OAGE,IAAAG,EAAO,KAAK,QAAQ,MAAM,EAE5BA,GAAQH,IAAS,UACjBG,EAAK,cAAc,EAGnBA,GAAQH,IAAS,SACjBG,EAAK,MAAM,CAEnB,EACA,CAAE,QAAS,EAAK,CAAA,CAExB,CA9FA,IAAW,cAAe,CACtB,OAAO,KAAK,MAChB,CAEA,IAAW,MAAe,CACf,OAAA,KAAK,aAAa,MAAM,CACnC,CAEA,IAAW,KAAKC,EAAc,CACtB,KAAK,OAASA,IACVA,EACK,KAAA,aAAa,OAAQA,CAAI,EAE9B,KAAK,gBAAgB,MAAM,EAE/B,KAAK,WAAW,EAExB,CAEA,IAAW,SAAmB,CACnB,OAAA,KAAK,aAAa,SAAS,CACtC,CAEA,IAAW,QAAQC,EAAkB,CAC7BA,EACK,KAAA,aAAa,UAAW,EAAE,EAE/B,KAAK,gBAAgB,SAAS,CAEtC,CAEA,IAAW,UAAoB,CACpB,OAAA,KAAK,aAAa,eAAe,GAAK,MACjD,CAEA,IAAW,SAASC,EAAmB,CACnC,KAAK,aAAa,gBAAiBA,EAAS,SAAU,CAAA,CAC1D,CAEA,WAAW,oBAAqB,CAC5B,MAAO,CAAC,MAAM,CAClB,CAEO,IAAa,CAChB,OAAOV,EAAO,EAClB,CAEU,UAAgC,CAChC,IAAAW,EAAW,SAAS,cAAc,UAAU,EAClD,OAAAA,EAAS,UAAYZ,EACdY,CACX,CA6CQ,eAAeR,EAA+B,CAClD,OAAQA,EAAM,IAAK,CACf,IAAK,IACL,IAAK,QACL,IAAK,QACM,MAAA,GACX,QACW,MAAA,EACf,CACJ,CAEO,OAAQ,CACP,CAAC,KAAK,UAAY,CAAC,KAAK,aAAa,UAAU,GAC/C,MAAM,MAAM,CAEpB,CAEO,mBAAoB,CACvB,MAAM,kBAAkB,EAEnB,KAAK,aAAa,UAAU,IAC7B,KAAK,SAAW,GAGpB,KAAK,OAAS,KAAK,WAAW,cAAc,OAAO,EAEnD,KAAK,WAAW,EACX,KAAK,aAAa,MAAM,GACpB,KAAA,aAAa,OAAQ,QAAQ,CAE1C,CAEO,0BAAiC,CACpC,KAAK,WAAW,CACpB,CAEQ,YAAa,CACjB,GAAI,KAAK,OAAQ,CACP,IAAAS,EAAU,KAAK,aAAa,MAAM,EACpCA,IACA,KAAK,OAAO,IAAMA,EAE1B,CACJ,CACJ,EAhJIZ,EAAuB,GAAK,YADzB,IAAMa,EAANb,EAmJF,eAAe,IAAIa,EAAO,EAAE,GACd,eAAA,OAAOA,EAAO,GAAIA,CAAM",
6
+ "names": ["_ElementBase", "is", "template", "actor", "ElementBase", "htmlTemplate", "_Button", "ElementBase", "e", "event", "type", "_b", "_a", "form", "icon", "primary", "disabled", "template", "iconSrc", "Button"]
7
+ }
@@ -0,0 +1,27 @@
1
+ import { ElementBase } from "@cas-smartdesign/element-base";
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ [Button.ID]: Button;
5
+ }
6
+ }
7
+ export declare class Button extends ElementBase {
8
+ static readonly ID = "sd-button";
9
+ private _image;
10
+ private _isSpaceOrEnterKeyDown;
11
+ get imageElement(): HTMLImageElement;
12
+ get icon(): string;
13
+ set icon(icon: string);
14
+ get primary(): boolean;
15
+ set primary(primary: boolean);
16
+ get disabled(): boolean;
17
+ set disabled(disabled: boolean);
18
+ static get observedAttributes(): string[];
19
+ is(): string;
20
+ protected template(): HTMLTemplateElement;
21
+ constructor();
22
+ private isSpaceOrEnter;
23
+ click(): void;
24
+ connectedCallback(): void;
25
+ attributeChangedCallback(): void;
26
+ private updateIcon;
27
+ }
@@ -0,0 +1,190 @@
1
+ import { ElementBase as o } from "@cas-smartdesign/element-base";
2
+ const d = `<style>
3
+ :host {
4
+ contain: content;
5
+ background: rgba(20, 103, 186, 0);
6
+ color: #1467ba;
7
+ border: none;
8
+ outline: none;
9
+ padding: 0 8px;
10
+ height: 32px;
11
+ cursor: pointer;
12
+ user-select: none;
13
+ display: inline-flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ box-sizing: border-box;
17
+ vertical-align: middle;
18
+ }
19
+
20
+ :host(:focus),
21
+ :host(:not([disabled], [aria-disabled="true"]):hover) {
22
+ background: rgba(20, 103, 186, 0.1);
23
+ }
24
+
25
+ @media (forced-colors: active) {
26
+ :host(:not([disabled], [aria-disabled="true"]):focus-visible) {
27
+ outline: 1px solid;
28
+ }
29
+ :host {
30
+ margin: 1px;
31
+ }
32
+ }
33
+
34
+ :host(:not([disabled], [aria-disabled="true"]):focus-visible) {
35
+ box-shadow: 0 0 0 1px #1467ba inset;
36
+ }
37
+
38
+ :host(:not([disabled], [aria-disabled="true"]):active) {
39
+ background: rgba(20, 103, 186, 0.2);
40
+ }
41
+
42
+ :host([primary]) {
43
+ background: #1467ba;
44
+ color: #fff;
45
+ }
46
+
47
+ :host([primary]:focus),
48
+ :host(:not([disabled], [aria-disabled="true"])[primary]:hover) {
49
+ background: #125da8;
50
+ }
51
+
52
+ :host([primary]:focus-visible) {
53
+ box-shadow: 0 0 0 1px white inset;
54
+ }
55
+
56
+ :host(:not([disabled], [aria-disabled="true"])[primary]:focus-visible) {
57
+ outline: 1px solid #1467ba;
58
+ }
59
+
60
+ :host(:not([disabled], [aria-disabled="true"])[primary]:active) {
61
+ background: #0e4883;
62
+ }
63
+
64
+ :host([disabled]),
65
+ :host([aria-disabled="true"]) {
66
+ filter: grayscale(100%);
67
+ opacity: 0.5;
68
+ cursor: default;
69
+ }
70
+
71
+ :host([disabled]:focus-visible),
72
+ :host([aria-disabled="true"]:focus-visible) {
73
+ outline: 1px dashed #111;
74
+ }
75
+
76
+ :host(:not([icon])) .icon,
77
+ :host([icon=""]) .icon {
78
+ display: none;
79
+ }
80
+
81
+ .content {
82
+ display: flex;
83
+ align-items: center;
84
+ min-width: 0px;
85
+ }
86
+
87
+ .content ::slotted(*) {
88
+ margin-left: var(--sd-button-content-padding, 8px);
89
+ }
90
+
91
+ .content ::slotted(*:last-child) {
92
+ margin-right: var(--sd-button-content-padding, 8px);
93
+ }
94
+
95
+ .icon {
96
+ max-height: var(--sd-button-max-icon-size, 32px);
97
+ max-width: var(--sd-button-max-icon-size, 32px);
98
+ }
99
+ </style>
100
+ <img class="icon" />
101
+ <div class="content">
102
+ <slot></slot>
103
+ </div>
104
+ `, s = class s extends o {
105
+ constructor() {
106
+ super(), this._isSpaceOrEnterKeyDown = !1, this.addEventListener("keydown", (t) => {
107
+ this.isSpaceOrEnter(t) && (this._isSpaceOrEnterKeyDown = !0, t.preventDefault());
108
+ }), this.addEventListener("keyup", (t) => {
109
+ this.isSpaceOrEnter(t) && this._isSpaceOrEnterKeyDown == !0 && (this._isSpaceOrEnterKeyDown = !1, this.click());
110
+ }), this.addEventListener(
111
+ "click",
112
+ (t) => {
113
+ var r, a;
114
+ if (this.disabled || this.hasAttribute("disabled")) {
115
+ t.stopImmediatePropagation();
116
+ return;
117
+ }
118
+ const n = (a = (r = this.getAttribute("type")) == null ? void 0 : r.toLowerCase()) == null ? void 0 : a.trim();
119
+ if (n !== "submit" && n !== "reset")
120
+ return;
121
+ const i = this.closest("form");
122
+ i && n === "submit" && i.requestSubmit(), i && n === "reset" && i.reset();
123
+ },
124
+ { capture: !0 }
125
+ );
126
+ }
127
+ get imageElement() {
128
+ return this._image;
129
+ }
130
+ get icon() {
131
+ return this.getAttribute("icon");
132
+ }
133
+ set icon(t) {
134
+ this.icon !== t && (t ? this.setAttribute("icon", t) : this.removeAttribute("icon"), this.updateIcon());
135
+ }
136
+ get primary() {
137
+ return this.hasAttribute("primary");
138
+ }
139
+ set primary(t) {
140
+ t ? this.setAttribute("primary", "") : this.removeAttribute("primary");
141
+ }
142
+ get disabled() {
143
+ return this.getAttribute("aria-disabled") == "true";
144
+ }
145
+ set disabled(t) {
146
+ this.setAttribute("aria-disabled", t.toString());
147
+ }
148
+ static get observedAttributes() {
149
+ return ["icon"];
150
+ }
151
+ is() {
152
+ return s.ID;
153
+ }
154
+ template() {
155
+ const t = document.createElement("template");
156
+ return t.innerHTML = d, t;
157
+ }
158
+ isSpaceOrEnter(t) {
159
+ switch (t.key) {
160
+ case " ":
161
+ case "Space":
162
+ case "Enter":
163
+ return !0;
164
+ default:
165
+ return !1;
166
+ }
167
+ }
168
+ click() {
169
+ !this.disabled && !this.hasAttribute("disabled") && super.click();
170
+ }
171
+ connectedCallback() {
172
+ super.connectedCallback(), this.hasAttribute("tabIndex") || (this.tabIndex = 0), this._image = this.shadowRoot.querySelector(".icon"), this.updateIcon(), this.hasAttribute("role") || this.setAttribute("role", "button");
173
+ }
174
+ attributeChangedCallback() {
175
+ this.updateIcon();
176
+ }
177
+ updateIcon() {
178
+ if (this._image) {
179
+ const t = this.getAttribute("icon");
180
+ t && (this._image.src = t);
181
+ }
182
+ }
183
+ };
184
+ s.ID = "sd-button";
185
+ let e = s;
186
+ customElements.get(e.ID) || customElements.define(e.ID, e);
187
+ export {
188
+ e as Button
189
+ };
190
+ //# sourceMappingURL=button.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.mjs","sources":["../button.html?raw","../button.ts"],"sourcesContent":["export default \"<style>\\n\\t:host {\\n\\t\\tcontain: content;\\n\\t\\tbackground: rgba(20, 103, 186, 0);\\n\\t\\tcolor: #1467ba;\\n\\t\\tborder: none;\\n\\t\\toutline: none;\\n\\t\\tpadding: 0 8px;\\n\\t\\theight: 32px;\\n\\t\\tcursor: pointer;\\n\\t\\tuser-select: none;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tvertical-align: middle;\\n\\t}\\n\\n\\t:host(:focus),\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"]):hover) {\\n\\t\\tbackground: rgba(20, 103, 186, 0.1);\\n\\t}\\n\\n\\t@media (forced-colors: active) {\\n\\t\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"]):focus-visible) {\\n\\t\\t\\toutline: 1px solid;\\n\\t\\t}\\n\\t\\t:host {\\n\\t\\t\\tmargin: 1px;\\n\\t\\t}\\n\\t}\\n\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"]):focus-visible) {\\n\\t\\tbox-shadow: 0 0 0 1px #1467ba inset;\\n\\t}\\n\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"]):active) {\\n\\t\\tbackground: rgba(20, 103, 186, 0.2);\\n\\t}\\n\\n\\t:host([primary]) {\\n\\t\\tbackground: #1467ba;\\n\\t\\tcolor: #fff;\\n\\t}\\n\\n\\t:host([primary]:focus),\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"])[primary]:hover) {\\n\\t\\tbackground: #125da8;\\n\\t}\\n\\n\\t:host([primary]:focus-visible) {\\n\\t\\tbox-shadow: 0 0 0 1px white inset;\\n\\t}\\n\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"])[primary]:focus-visible) {\\n\\t\\toutline: 1px solid #1467ba;\\n\\t}\\n\\n\\t:host(:not([disabled], [aria-disabled=\\\"true\\\"])[primary]:active) {\\n\\t\\tbackground: #0e4883;\\n\\t}\\n\\n\\t:host([disabled]),\\n\\t:host([aria-disabled=\\\"true\\\"]) {\\n\\t\\tfilter: grayscale(100%);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t:host([disabled]:focus-visible),\\n\\t:host([aria-disabled=\\\"true\\\"]:focus-visible) {\\n\\t\\toutline: 1px dashed #111;\\n\\t}\\n\\n\\t:host(:not([icon])) .icon,\\n\\t:host([icon=\\\"\\\"]) .icon {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t.content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-width: 0px;\\n\\t}\\n\\n\\t.content ::slotted(*) {\\n\\t\\tmargin-left: var(--sd-button-content-padding, 8px);\\n\\t}\\n\\n\\t.content ::slotted(*:last-child) {\\n\\t\\tmargin-right: var(--sd-button-content-padding, 8px);\\n\\t}\\n\\n\\t.icon {\\n\\t\\tmax-height: var(--sd-button-max-icon-size, 32px);\\n\\t\\tmax-width: var(--sd-button-max-icon-size, 32px);\\n\\t}\\n</style>\\n<img class=\\\"icon\\\" />\\n<div class=\\\"content\\\">\\n\\t<slot></slot>\\n</div>\\n\"","import { ElementBase } from \"@cas-smartdesign/element-base\";\n\nimport { default as htmlTemplate } from \"./button.html?raw\";\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [Button.ID]: Button;\n }\n}\n\nexport class Button extends ElementBase {\n public static readonly ID = \"sd-button\";\n private _image: HTMLImageElement;\n private _isSpaceOrEnterKeyDown = false;\n\n public get imageElement() {\n return this._image;\n }\n\n public get icon(): string {\n return this.getAttribute(\"icon\");\n }\n\n public set icon(icon: string) {\n if (this.icon !== icon) {\n if (icon) {\n this.setAttribute(\"icon\", icon);\n } else {\n this.removeAttribute(\"icon\");\n }\n this.updateIcon();\n }\n }\n\n public get primary(): boolean {\n return this.hasAttribute(\"primary\");\n }\n\n public set primary(primary: boolean) {\n if (primary) {\n this.setAttribute(\"primary\", \"\");\n } else {\n this.removeAttribute(\"primary\");\n }\n }\n\n public get disabled(): boolean {\n return this.getAttribute(\"aria-disabled\") == \"true\";\n }\n\n public set disabled(disabled: boolean) {\n this.setAttribute(\"aria-disabled\", disabled.toString());\n }\n\n static get observedAttributes() {\n return [\"icon\"];\n }\n\n public is(): string {\n return Button.ID;\n }\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 this.addEventListener(\"keydown\", (e) => {\n if (this.isSpaceOrEnter(e)) {\n this._isSpaceOrEnterKeyDown = true;\n e.preventDefault(); // prevent potential scroll-down triggered by space\n }\n });\n this.addEventListener(\"keyup\", (e) => {\n if (this.isSpaceOrEnter(e) && this._isSpaceOrEnterKeyDown == true) {\n this._isSpaceOrEnterKeyDown = false;\n this.click();\n }\n });\n // As Button is not an input element, click is fired even in disabled state\n this.addEventListener(\n \"click\",\n (event) => {\n if (this.disabled || this.hasAttribute(\"disabled\")) {\n event.stopImmediatePropagation();\n return;\n }\n\n const type = this.getAttribute(\"type\")?.toLowerCase()?.trim();\n\n if (type !== \"submit\" && type !== \"reset\") {\n return;\n }\n\n const form = this.closest(\"form\");\n\n if (form && type === \"submit\") {\n form.requestSubmit();\n }\n\n if (form && type === \"reset\") {\n form.reset();\n }\n },\n { capture: true },\n );\n }\n\n private isSpaceOrEnter(event: KeyboardEvent): boolean {\n switch (event.key) {\n case \" \":\n case \"Space\":\n case \"Enter\":\n return true;\n default:\n return false;\n }\n }\n\n public click() {\n if (!this.disabled && !this.hasAttribute(\"disabled\")) {\n super.click();\n }\n }\n\n public connectedCallback() {\n super.connectedCallback();\n\n if (!this.hasAttribute(\"tabIndex\")) {\n this.tabIndex = 0;\n }\n\n this._image = this.shadowRoot.querySelector(\".icon\") as HTMLImageElement;\n\n this.updateIcon();\n if (!this.hasAttribute(\"role\")) {\n this.setAttribute(\"role\", \"button\");\n }\n }\n\n public attributeChangedCallback(): void {\n this.updateIcon();\n }\n\n private updateIcon() {\n if (this._image) {\n const iconSrc = this.getAttribute(\"icon\");\n if (iconSrc) {\n this._image.src = iconSrc;\n }\n }\n }\n}\n\nif (!customElements.get(Button.ID)) {\n customElements.define(Button.ID, Button);\n}\n"],"names":["htmlTemplate","_Button","ElementBase","e","event","type","_b","_a","form","icon","primary","disabled","template","iconSrc","Button"],"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;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,UAAeC,EAAY;AAAA,EA0DpC,cAAc;AACJ,aAxDV,KAAQ,yBAAyB,IAyDxB,KAAA,iBAAiB,WAAW,CAACC,MAAM;AAChC,MAAA,KAAK,eAAeA,CAAC,MACrB,KAAK,yBAAyB,IAC9BA,EAAE,eAAe;AAAA,IACrB,CACH,GACI,KAAA,iBAAiB,SAAS,CAACA,MAAM;AAClC,MAAI,KAAK,eAAeA,CAAC,KAAK,KAAK,0BAA0B,OACzD,KAAK,yBAAyB,IAC9B,KAAK,MAAM;AAAA,IACf,CACH,GAEI,KAAA;AAAA,MACD;AAAA,MACA,CAACC,MAAU;;AACP,YAAI,KAAK,YAAY,KAAK,aAAa,UAAU,GAAG;AAChD,UAAAA,EAAM,yBAAyB;AAC/B;AAAA,QACJ;AAEA,cAAMC,KAAOC,KAAAC,IAAA,KAAK,aAAa,MAAM,MAAxB,gBAAAA,EAA2B,kBAA3B,gBAAAD,EAA0C;AAEnD,YAAAD,MAAS,YAAYA,MAAS;AAC9B;AAGE,cAAAG,IAAO,KAAK,QAAQ,MAAM;AAE5B,QAAAA,KAAQH,MAAS,YACjBG,EAAK,cAAc,GAGnBA,KAAQH,MAAS,WACjBG,EAAK,MAAM;AAAA,MAEnB;AAAA,MACA,EAAE,SAAS,GAAK;AAAA,IAAA;AAAA,EAExB;AAAA,EA9FA,IAAW,eAAe;AACtB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAW,OAAe;AACf,WAAA,KAAK,aAAa,MAAM;AAAA,EACnC;AAAA,EAEA,IAAW,KAAKC,GAAc;AACtB,IAAA,KAAK,SAASA,MACVA,IACK,KAAA,aAAa,QAAQA,CAAI,IAE9B,KAAK,gBAAgB,MAAM,GAE/B,KAAK,WAAW;AAAA,EAExB;AAAA,EAEA,IAAW,UAAmB;AACnB,WAAA,KAAK,aAAa,SAAS;AAAA,EACtC;AAAA,EAEA,IAAW,QAAQC,GAAkB;AACjC,IAAIA,IACK,KAAA,aAAa,WAAW,EAAE,IAE/B,KAAK,gBAAgB,SAAS;AAAA,EAEtC;AAAA,EAEA,IAAW,WAAoB;AACpB,WAAA,KAAK,aAAa,eAAe,KAAK;AAAA,EACjD;AAAA,EAEA,IAAW,SAASC,GAAmB;AACnC,SAAK,aAAa,iBAAiBA,EAAS,SAAU,CAAA;AAAA,EAC1D;AAAA,EAEA,WAAW,qBAAqB;AAC5B,WAAO,CAAC,MAAM;AAAA,EAClB;AAAA,EAEO,KAAa;AAChB,WAAOV,EAAO;AAAA,EAClB;AAAA,EAEU,WAAgC;AAChC,UAAAW,IAAW,SAAS,cAAc,UAAU;AAClD,WAAAA,EAAS,YAAYZ,GACdY;AAAA,EACX;AAAA,EA6CQ,eAAeR,GAA+B;AAClD,YAAQA,EAAM,KAAK;AAAA,MACf,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACM,eAAA;AAAA,MACX;AACW,eAAA;AAAA,IACf;AAAA,EACJ;AAAA,EAEO,QAAQ;AACX,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK,aAAa,UAAU,KAC/C,MAAM,MAAM;AAAA,EAEpB;AAAA,EAEO,oBAAoB;AACvB,UAAM,kBAAkB,GAEnB,KAAK,aAAa,UAAU,MAC7B,KAAK,WAAW,IAGpB,KAAK,SAAS,KAAK,WAAW,cAAc,OAAO,GAEnD,KAAK,WAAW,GACX,KAAK,aAAa,MAAM,KACpB,KAAA,aAAa,QAAQ,QAAQ;AAAA,EAE1C;AAAA,EAEO,2BAAiC;AACpC,SAAK,WAAW;AAAA,EACpB;AAAA,EAEQ,aAAa;AACjB,QAAI,KAAK,QAAQ;AACP,YAAAS,IAAU,KAAK,aAAa,MAAM;AACxC,MAAIA,MACA,KAAK,OAAO,MAAMA;AAAA,IAE1B;AAAA,EACJ;AACJ;AAhJIZ,EAAuB,KAAK;AADzB,IAAMa,IAANb;AAmJF,eAAe,IAAIa,EAAO,EAAE,KACd,eAAA,OAAOA,EAAO,IAAIA,CAAM;"}
@@ -0,0 +1 @@
1
+ import{B as r}from"./doc.mjs";const c="./new.svg",e="./new_white.svg";function o(i){const t=document.createElement("span");t.innerText=i;const n=new r;return n.appendChild(t),n.addEventListener("click",()=>{n.primary=!n.primary,n.icon=n.primary?e:c}),n.primary=!0,n.icon=e,document.querySelector("#button-from-source-container").appendChild(n),n}o("Enabled button with icon");o("Disabled button with icon").disabled=!0;
@@ -0,0 +1 @@
1
+ import"./doc.mjs";document.querySelector("#declarative-with-code").addEventListener("click",e=>{e.currentTarget.innerText+="!",console.log("Test!")});
@@ -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,257 @@
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 Mi="modulepreload",Pi=function(i,e){return new URL(i,e).href},Zt={},wn=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=Pi(s,n),s in Zt)return;Zt[s]=!0;const a=s.endsWith(".css"),l=a?'[rel="stylesheet"]':"";if(!!n)for(let b=o.length-1;b>=0;b--){const g=o[b];if(g.href===s&&(!a||g.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${l}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":Mi,a||(h.as="script",h.crossOrigin=""),h.href=s,document.head.appendChild(h),a)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})},Ti=`<style>
2
+ sd-button {
3
+ --sd-button-max-icon-size: 20px;
4
+ }
5
+ sd-button span {
6
+ margin: 8px;
7
+ }
8
+ </style>
9
+ <div id="button-from-source-container"></div>
10
+ `,Ii=`<h3 id="create-and-access-a-button-with-typescript-code.">Create and access a button with typescript code.</h3>
11
+ `,Li=`import { Button } from "@cas-smartdesign/button";
12
+ import "@cas-smartdesign/button";
13
+
14
+ const icon = "./new.svg";
15
+ const iconWhite = "./new_white.svg";
16
+
17
+ function appendButton(caption: string): Button {
18
+ const content = document.createElement("span");
19
+ content.innerText = caption;
20
+ const button = new Button();
21
+ button.appendChild(content);
22
+ button.addEventListener("click", () => {
23
+ button.primary = !button.primary;
24
+ button.icon = button.primary ? iconWhite : icon;
25
+ });
26
+ button.primary = true;
27
+ button.icon = iconWhite;
28
+ document.querySelector("#button-from-source-container").appendChild(button);
29
+ return button;
30
+ }
31
+
32
+ appendButton("Enabled button with icon");
33
+ appendButton("Disabled button with icon").disabled = true;
34
+ `,$i={mainContent:Ti,description:Ii,initializer:{content:Li,type:"typescript",initialize:()=>wn(()=>import("./created_from_source.js"),__vite__mapDeps([]),import.meta.url)}},ji=Object.freeze(Object.defineProperty({__proto__:null,default:$i},Symbol.toStringTag,{value:"Module"})),zi=`<!-- Load button with all dependencies directly -->
35
+ <script src="./button-with-externals.js"><\/script>
36
+ <style>
37
+ sd-button {
38
+ --sd-button-max-icon-size: 20px;
39
+ }
40
+ sd-button span {
41
+ margin: 8px;
42
+ }
43
+ </style>
44
+ <div>
45
+ <sd-button onclick="this.innerText+='!'"> Click me! </sd-button>
46
+ <sd-button aria-disabled="true" onclick="this.innerText+='!'"> Cannot click me! </sd-button>
47
+ <sd-button primary onclick="this.innerText+='!'"> Click me! </sd-button>
48
+ <sd-button disabled primary onclick="this.innerText+='!'"> Cannot click me! </sd-button>
49
+ </div>
50
+ <div>
51
+ <sd-button primary icon="new_white.svg"><span>Button with text and icon</span></sd-button>
52
+ <sd-button primary icon="new_white.svg"></sd-button>
53
+ <sd-button primary disabled icon="new_white.svg"><span>Button with text and icon</span></sd-button>
54
+ <sd-button primary disabled icon="new_white.svg"> </sd-button>
55
+ </div>
56
+ <div>
57
+ <sd-button icon="new.svg"><span>Button with text and icon</span></sd-button>
58
+ <sd-button icon="new.svg"></sd-button>
59
+ <sd-button disabled icon="new.svg"><span>Button with text and icon</span></sd-button>
60
+ <sd-button disabled icon="new.svg"></sd-button>
61
+ </div>
62
+ `,Bi=`<h3 id="create-a-button-element-declaratively.">Create a button element declaratively.</h3>
63
+ `,Di={mainContent:zi,description:Bi},Ui=Object.freeze(Object.defineProperty({__proto__:null,default:Di},Symbol.toStringTag,{value:"Module"})),Fi=`<sd-button id="declarative-with-code" primary> Click me! </sd-button>
64
+ `,Hi=`<h3 id="create-a-button-element-declaratively-then-accessed-from-code.">Create a button element declaratively then accessed from code.</h3>
65
+ `,Wi=`import "@cas-smartdesign/button";
66
+
67
+ document.querySelector("#declarative-with-code").addEventListener("click", (event) => {
68
+ (event.currentTarget as HTMLElement).innerText += "!";
69
+ console.log("Test!");
70
+ });
71
+ `,Gi={mainContent:Fi,description:Hi,initializer:{content:Wi,type:"typescript",initialize:()=>wn(()=>import("./declarative_with_source.js"),__vite__mapDeps([]),import.meta.url)}},Zi=Object.freeze(Object.defineProperty({__proto__:null,default:Gi},Symbol.toStringTag,{value:"Module"})),Ki=`<form method="get">
72
+ <div><input type="text" name="input" value="Some input" /></div>
73
+ <div>
74
+ <sd-button type="submit" primary>Submit</sd-button>
75
+ <sd-button type="reset">Reset</sd-button>
76
+ <sd-button type="submit" disabled primary>Submit</sd-button>
77
+ <sd-button type="reset" disabled>Reset</sd-button>
78
+ </div>
79
+ </form>
80
+ `,qi=`<h3 id="create-a-button-element-and-use-it-in-a-html-form.">Create a button element and use it in a HTML form.</h3>
81
+ `,Vi={mainContent:Ki,description:qi},Ji=Object.freeze(Object.defineProperty({__proto__:null,default:Vi},Symbol.toStringTag,{value:"Module"})),xn=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())}};xn.TEMPLATE_CACHE={};let Xi=xn;const Qi=`<style>
82
+ :host {
83
+ contain: content;
84
+ background: rgba(20, 103, 186, 0);
85
+ color: #1467ba;
86
+ border: none;
87
+ outline: none;
88
+ padding: 0 8px;
89
+ height: 32px;
90
+ cursor: pointer;
91
+ user-select: none;
92
+ display: inline-flex;
93
+ align-items: center;
94
+ justify-content: center;
95
+ box-sizing: border-box;
96
+ vertical-align: middle;
97
+ }
98
+
99
+ :host(:focus),
100
+ :host(:not([disabled], [aria-disabled="true"]):hover) {
101
+ background: rgba(20, 103, 186, 0.1);
102
+ }
103
+
104
+ @media (forced-colors: active) {
105
+ :host(:not([disabled], [aria-disabled="true"]):focus-visible) {
106
+ outline: 1px solid;
107
+ }
108
+ :host {
109
+ margin: 1px;
110
+ }
111
+ }
112
+
113
+ :host(:not([disabled], [aria-disabled="true"]):focus-visible) {
114
+ box-shadow: 0 0 0 1px #1467ba inset;
115
+ }
116
+
117
+ :host(:not([disabled], [aria-disabled="true"]):active) {
118
+ background: rgba(20, 103, 186, 0.2);
119
+ }
120
+
121
+ :host([primary]) {
122
+ background: #1467ba;
123
+ color: #fff;
124
+ }
125
+
126
+ :host([primary]:focus),
127
+ :host(:not([disabled], [aria-disabled="true"])[primary]:hover) {
128
+ background: #125da8;
129
+ }
130
+
131
+ :host([primary]:focus-visible) {
132
+ box-shadow: 0 0 0 1px white inset;
133
+ }
134
+
135
+ :host(:not([disabled], [aria-disabled="true"])[primary]:focus-visible) {
136
+ outline: 1px solid #1467ba;
137
+ }
138
+
139
+ :host(:not([disabled], [aria-disabled="true"])[primary]:active) {
140
+ background: #0e4883;
141
+ }
142
+
143
+ :host([disabled]),
144
+ :host([aria-disabled="true"]) {
145
+ filter: grayscale(100%);
146
+ opacity: 0.5;
147
+ cursor: default;
148
+ }
149
+
150
+ :host([disabled]:focus-visible),
151
+ :host([aria-disabled="true"]:focus-visible) {
152
+ outline: 1px dashed #111;
153
+ }
154
+
155
+ :host(:not([icon])) .icon,
156
+ :host([icon=""]) .icon {
157
+ display: none;
158
+ }
159
+
160
+ .content {
161
+ display: flex;
162
+ align-items: center;
163
+ min-width: 0px;
164
+ }
165
+
166
+ .content ::slotted(*) {
167
+ margin-left: var(--sd-button-content-padding, 8px);
168
+ }
169
+
170
+ .content ::slotted(*:last-child) {
171
+ margin-right: var(--sd-button-content-padding, 8px);
172
+ }
173
+
174
+ .icon {
175
+ max-height: var(--sd-button-max-icon-size, 32px);
176
+ max-width: var(--sd-button-max-icon-size, 32px);
177
+ }
178
+ </style>
179
+ <img class="icon" />
180
+ <div class="content">
181
+ <slot></slot>
182
+ </div>
183
+ `,Ze=class Ze extends Xi{constructor(){super(),this._isSpaceOrEnterKeyDown=!1,this.addEventListener("keydown",e=>{this.isSpaceOrEnter(e)&&(this._isSpaceOrEnterKeyDown=!0,e.preventDefault())}),this.addEventListener("keyup",e=>{this.isSpaceOrEnter(e)&&this._isSpaceOrEnterKeyDown==!0&&(this._isSpaceOrEnterKeyDown=!1,this.click())}),this.addEventListener("click",e=>{var r,o;if(this.disabled||this.hasAttribute("disabled")){e.stopImmediatePropagation();return}const t=(o=(r=this.getAttribute("type"))==null?void 0:r.toLowerCase())==null?void 0:o.trim();if(t!=="submit"&&t!=="reset")return;const n=this.closest("form");n&&t==="submit"&&n.requestSubmit(),n&&t==="reset"&&n.reset()},{capture:!0})}get imageElement(){return this._image}get icon(){return this.getAttribute("icon")}set icon(e){this.icon!==e&&(e?this.setAttribute("icon",e):this.removeAttribute("icon"),this.updateIcon())}get primary(){return this.hasAttribute("primary")}set primary(e){e?this.setAttribute("primary",""):this.removeAttribute("primary")}get disabled(){return this.getAttribute("aria-disabled")=="true"}set disabled(e){this.setAttribute("aria-disabled",e.toString())}static get observedAttributes(){return["icon"]}is(){return Ze.ID}template(){const e=document.createElement("template");return e.innerHTML=Qi,e}isSpaceOrEnter(e){switch(e.key){case" ":case"Space":case"Enter":return!0;default:return!1}}click(){!this.disabled&&!this.hasAttribute("disabled")&&super.click()}connectedCallback(){super.connectedCallback(),this.hasAttribute("tabIndex")||(this.tabIndex=0),this._image=this.shadowRoot.querySelector(".icon"),this.updateIcon(),this.hasAttribute("role")||this.setAttribute("role","button")}attributeChangedCallback(){this.updateIcon()}updateIcon(){if(this._image){const e=this.getAttribute("icon");e&&(this._image.src=e)}}};Ze.ID="sd-button";let de=Ze;customElements.get(de.ID)||customElements.define(de.ID,de);function vn(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function Yi(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 Ct={exports:{}},k=String,En=function(){return{isColorSupported:!1,reset:k,bold:k,dim:k,italic:k,underline:k,inverse:k,hidden:k,strikethrough:k,black:k,red:k,green:k,yellow:k,blue:k,magenta:k,cyan:k,white:k,gray:k,bgBlack:k,bgRed:k,bgGreen:k,bgYellow:k,bgBlue:k,bgMagenta:k,bgCyan:k,bgWhite:k}};Ct.exports=En();Ct.exports.createColors=En;var er=Ct.exports;const tr={},nr=Object.freeze(Object.defineProperty({__proto__:null,default:tr},Symbol.toStringTag,{value:"Module"})),j=Yi(nr);let Kt=er,qt=j,dt=class Sn 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,Sn)}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,a,l;if(e){let{bold:c,gray:h,red:b}=Kt.createColors(!0);a=g=>c(b(g)),l=g=>h(g)}else a=l=c=>c;return n.slice(r,o).map((c,h)=>{let b=r+1+h,g=" "+(" "+b).slice(-s)+" | ";if(b===this.line){let C=l(g.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return a(">")+l(g)+c+`
184
+ `+C+a("^")}return" "+l(g)+c}).join(`
185
+ `)}toString(){let e=this.showSourceCode();return e&&(e=`
186
+
187
+ `+e+`
188
+ `),this.name+": "+this.message+e}};var At=dt;dt.default=dt;var xe={};xe.isClean=Symbol("isClean");xe.my=Symbol("my");const Vt={after:`
189
+ `,beforeClose:`
190
+ `,beforeComment:`
191
+ `,beforeDecl:`
192
+ `,beforeOpen:" ",beforeRule:`
193
+ `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function ir(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(`
194
+ `)){let s=this.raw(e,null,"indent");if(s.length)for(let a=0;a<o;a++)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 a="raw"+ir(n);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.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(`
195
+ `)&&(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(`
196
+ `)&&(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(`
197
+ `)&&(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(`
198
+ `)&&(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(`
199
+ `);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 _n=ft;ft.default=ft;let rr=_n;function pt(i,e){new rr(e).stringify(i)}var Ke=pt;pt.default=pt;let{isClean:Oe,my:sr}=xe,or=At,ar=_n,lr=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[sr]=!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 or(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]===`
200
+ `?(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 ar().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 a=this[s];if(Array.isArray(a))n[s]=a.map(l=>typeof l=="object"&&l.toJSON?l.toJSON(null,t):l);else if(typeof a=="object"&&a.toJSON)n[s]=a.toJSON(null,t);else if(s==="source"){let l=t.get(a.input);l==null&&(l=o,t.set(a.input,o),o++),n[s]={end:a.end,inputId:l,start:a.start}}else n[s]=a}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=lr){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 cr=qe,bt=class extends cr{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 ur="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",hr=(i,e=21)=>(t=e)=>{let n="",r=t;for(;r--;)n+=i[Math.random()*i.length|0];return n},dr=(i=21)=>{let e="",t=i;for(;t--;)e+=ur[Math.random()*64|0];return e};var fr={nanoid:dr,customAlphabet:hr};let{SourceMapConsumer:Jt,SourceMapGenerator:Xt}=j,{existsSync:pr,readFileSync:gr}=j,{dirname:at,join:mr}=j;function br(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=at(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 br(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=at(e),pr(e))return this.mapFile=e,gr(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=mr(at(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:yr,SourceMapGenerator:wr}=j,{fileURLToPath:Qt,pathToFileURL:Ce}=j,{isAbsolute:wt,resolve:xt}=j,{nanoid:xr}=fr,lt=j,Yt=At,vr=kn,ct=Symbol("fromOffsetCache"),Er=!!(yr&&wr),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&&Er){let n=new vr(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 "+xr(6)+">"),this.map&&(this.map.file=this.from)}error(e,t,n,r={}){let o,s,a;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,a=b.col}else s=h.line,a=h.column}else if(!n){let c=this.fromOffset(t);t=c.line,n=c.col}let l=this.origin(t,n,s,a);return l?o=new Yt(e,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,r.plugin):o=new Yt(e,s===void 0?t:{column:n,line:t},s===void 0?n:{column:a,line:s},this.css,this.file,r.plugin),o.input={column:n,endColumn:a,endLine:s,line:t,source:this.css},this.file&&(Ce&&(o.input.url=Ce(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(`
201
+ `);n=new Array(o.length);let s=0;for(let a=0,l=o.length;a<l;a++)n[a]=s,s+=o[a].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 a;typeof n=="number"&&(a=o.originalPositionFor({column:r,line:n}));let l;wt(s.source)?l=Ce(s.source):l=new URL(s.source,this.map.consumer().sourceRoot||Ce(this.map.mapFile));let c={column:s.column,endColumn:a&&a.column,endLine:a&&a.line,line:s.line,url:l.toString()};if(l.protocol==="file:")if(Qt)c.file=Qt(l);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;lt&&lt.registerInput&&lt.registerInput(De);let{SourceMapConsumer:On,SourceMapGenerator:ze}=j,{dirname:Be,relative:Cn,resolve:An,sep:Rn}=j,{pathToFileURL:tn}=j,Sr=Je,_r=!!(On&&ze),kr=!!(Be&&An&&Cn&&Rn),Or=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=`
202
+ `;this.css.includes(`\r
203
+ `)&&(t=`\r
204
+ `),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 On(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(),kr&&_r&&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=ze.fromSourceMap(e)}else this.map=new ze({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 ze({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,(a,l,c)=>{if(this.css+=a,l&&c!=="end"&&(r.generated.line=e,r.generated.column=t-1,l.source&&l.source.start?(r.source=this.sourcePath(l),r.original.line=l.source.start.line,r.original.column=l.source.start.column-1,this.map.addMapping(r)):(r.source=n,r.original.line=1,r.original.column=0,this.map.addMapping(r))),o=a.match(/\n/g),o?(e+=o.length,s=a.lastIndexOf(`
205
+ `),t=a.length-s):t+=a.length,l&&c!=="start"){let h=l.parent||{raws:{}};(!(l.type==="decl"||l.type==="atrule"&&!l.nodes)||l!==h.last||h.raws.semicolon)&&(l.source&&l.source.end?(r.source=this.sourcePath(l),r.original.line=l.source.end.line,r.original.column=l.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(An(n,this.mapOpts.annotation)));let r=Cn(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 Sr(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;Rn==="\\"&&(e=e.replace(/\\/g,"/"));let n=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,n),n}};var Nn=Or;let Cr=qe,vt=class extends Cr{constructor(e){super(e),this.type="comment"}};var Xe=vt;vt.default=vt;let{isClean:Mn,my:Pn}=xe,Tn=Ve,In=Xe,Ar=qe,Ln,Rt,Nt,$n;function jn(i){return i.map(e=>(e.nodes&&(e.nodes=jn(e.nodes)),delete e.source,e))}function zn(i){if(i[Mn]=!1,i.proxyOf.nodes)for(let e of i.proxyOf.nodes)zn(e)}let Z=class Bn extends Ar{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 a of o)this.proxyOf.nodes.splice(n,0,a);let s;for(let a in this.indexes)s=this.indexes[a],n<=s&&(this.indexes[a]=s+o.length);return this.markDirty(),this}normalize(e,t){if(typeof e=="string")e=jn(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 In(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[Pn]||Bn.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Mn]&&zn(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=>{$n=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,In.prototype):i.type==="root"&&Object.setPrototypeOf(i,$n.prototype),i[Pn]=!0,i.nodes&&i.nodes.forEach(e=>{Z.rebuild(e)})};let Rr=ee,Dn,Un,pe=class extends Rr{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Dn(new Un,this,e).stringify()}};pe.registerLazyResult=i=>{Dn=i};pe.registerProcessor=i=>{Un=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 Fn=Et;Et.default=Et;let Nr=Fn,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 Nr(e,t);return this.messages.push(n),n}warnings(){return this.messages.filter(e=>e.type==="warning")}get content(){return this.css}};var Pt=St;St.default=St;const ut=39,nn=34,Ae=92,rn=47,Re=10,ce=32,Ne=12,Me=9,Pe=13,Mr=91,Pr=93,Tr=40,Ir=41,Lr=123,$r=125,jr=59,zr=42,Br=58,Dr=64,Te=/[\t\n\f\r "#'()/;[\\\]{}]/g,Ie=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,Ur=/.[\r\n"'(/\\]/,sn=/[\da-f]/i;var Fr=function(e,t={}){let n=e.css.valueOf(),r=t.ignoreErrors,o,s,a,l,c,h,b,g,C,R,L=n.length,m=0,F=[],H=[];function V(){return m}function $(z){throw e.error("Unclosed "+z,m)}function W(){return H.length===0&&m>=L}function le(z){if(H.length)return H.pop();if(m>=L)return;let P=z?z.ignoreUnclosed:!1;switch(o=n.charCodeAt(m),o){case Re:case ce:case Me:case Pe:case Ne:{s=m;do s+=1,o=n.charCodeAt(s);while(o===ce||o===Re||o===Me||o===Pe||o===Ne);R=["space",n.slice(m,s)],m=s-1;break}case Mr:case Pr:case Lr:case $r:case Br:case jr:case Ir:{let J=String.fromCharCode(o);R=[J,J,m];break}case Tr:{if(g=F.length?F.pop()[1]:"",C=n.charCodeAt(m+1),g==="url"&&C!==ut&&C!==nn&&C!==ce&&C!==Re&&C!==Me&&C!==Ne&&C!==Pe){s=m;do{if(h=!1,s=n.indexOf(")",s+1),s===-1)if(r||P){s=m;break}else $("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),l=n.slice(m,s+1),s===-1||Ur.test(l)?R=["(","(",m]:(R=["brackets",l,m,s],m=s);break}case ut:case nn:{a=o===ut?"'":'"',s=m;do{if(h=!1,s=n.indexOf(a,s+1),s===-1)if(r||P){s=m+1;break}else $("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 Dr:{Te.lastIndex=m+1,Te.test(n),Te.lastIndex===0?s=n.length-1:s=Te.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!==Pe&&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||P?s=n.length:$("comment")),R=["comment",n.slice(m,s+1),m,s],m=s):(Ie.lastIndex=m+1,Ie.test(n),Ie.lastIndex===0?s=n.length-1:s=Ie.lastIndex-2,R=["word",n.slice(m,s+1),m,s],F.push(R),m=s);break}}return m++,R}function ne(z){H.push(z)}return{back:ne,endOfFile:W,nextToken:le,position:V}};let Hn=ee,Ue=class extends Hn{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 Tt=Ue;Ue.default=Ue;Hn.registerAtRule(Ue);let Wn=ee,Gn,Zn,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 Gn(new Zn,this,e).stringify()}};re.registerLazyResult=i=>{Gn=i};re.registerProcessor=i=>{Zn=i};var ve=re;re.default=re;Wn.registerRoot(re);let ge={comma(i){return ge.split(i,[","],!0)},space(i){let e=[" ",`
206
+ `," "];return ge.split(i,e)},split(i,e,t){let n=[],r="",o=!1,s=0,a=!1,l="",c=!1;for(let h of i)c?c=!1:h==="\\"?c=!0:a?h===l&&(a=!1):h==='"'||h==="'"?(a=!0,l=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 Kn=ge;ge.default=ge;let qn=ee,Hr=Kn,Fe=class extends qn{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return Hr.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 It=Fe;Fe.default=Fe;qn.registerRule(Fe);let Wr=Ve,Gr=Fr,Zr=Xe,Kr=Tt,qr=ve,on=It;const an={empty:!0,space:!0};function Vr(i){for(let e=i.length-1;e>=0;e--){let t=i[e],n=t[3]||t[2];if(n)return n}}let Jr=class{constructor(e){this.input=e,this.root=new qr,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 Kr;t.name=e[1].slice(1),t.name===""&&this.unnamedAtrule(t,e),this.init(t,e[2]);let n,r,o,s=!1,a=!1,l=[],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==="{"){a=!0;break}else if(n==="}"){if(l.length>0){for(o=l.length-1,r=l[o];r&&r[0]==="space";)r=l[--o];r&&(t.source.end=this.getPosition(r[3]||r[2]),t.source.end.offset++)}this.end(e);break}else l.push(e);else l.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(t.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(t,"params",l),s&&(e=l[l.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=""),a&&(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,a]of e.entries()){if(n=a,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 Zr;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=Gr(this.input)}decl(e,t){let n=new Wr;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]||Vr(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=[],a;for(;e.length&&(a=e[0][0],!(a!=="space"&&a!=="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 C=h[g][0];if(b.trim().indexOf("!")===0&&C!=="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=[],a=e[1].startsWith("--"),l=[],c=e;for(;c;){if(n=c[0],l.push(c),n==="("||n==="[")o||(o=c),s.push(n==="("?")":"]");else if(a&&r&&n==="{")o||(o=c),s.push("}");else if(s.length===0)if(n===";")if(r){this.decl(l,a);return}else break;else if(n==="{"){this.rule(l);return}else if(n==="}"){this.tokenizer.back(l.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(!a)for(;l.length&&(c=l[l.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(l.pop());this.decl(l,a)}else this.unknownWord(l)}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,a=n.length,l="",c=!0,h,b;for(let g=0;g<a;g+=1)o=n[g],s=o[0],s==="space"&&g===a-1&&!r?c=!1:s==="comment"?(b=n[g-1]?n[g-1][0]:"empty",h=n[g+1]?n[g+1][0]:"empty",!an[b]&&!an[h]?l.slice(-1)===","?c=!1:l+=o[1]:c=!1):l+=o[1];if(!c){let g=n.reduce((C,R)=>C+R[1],"");e.raws[t]={raw:g,value:l}}e[t]=l}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 Xr=Jr;let Qr=ee,Yr=Xr,es=Je;function He(i,e){let t=new es(i,e),n=new Yr(t);try{n.parse()}catch(r){throw r}return n.root}var Lt=He;He.default=He;Qr.registerParse(He);let{isClean:U,my:ts}=xe,ns=Nn,is=Ke,rs=ee,ss=Mt,ln=Pt,os=Lt,as=ve;const ls={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},cs={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},us={Once:!0,postcssPlugin:!0,prepare:!0},se=0;function ue(i){return typeof i=="object"&&typeof i.then=="function"}function Vn(i){let e=!1,t=ls[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=Vn(i),{eventIndex:0,events:e,iterator:0,node:i,visitorIndex:0,visitors:[]}}function _t(i){return i[U]=!1,i.nodes&&i.nodes.forEach(e=>_t(e)),i}let kt={},oe=class Jn{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=_t(t);else if(t instanceof Jn||t instanceof ln)r=_t(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=os;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[ts]&&rs.rebuild(r)}this.result=new ln(e,r,n),this.helpers={...kt,postcss:kt,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(!cs[n]&&/^[A-Z]/.test(n))throw new Error(`Unknown event ${n} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!us[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=is;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let r=new ns(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,a]=r[t.visitorIndex];t.visitorIndex+=1,t.visitorIndex===r.length&&(t.visitors=[],t.visitorIndex=0),this.result.lastPlugin=s;try{return a(n.toProxy(),this.helpers)}catch(l){throw this.handleError(l,n)}}if(t.iterator!==0){let s=t.iterator,a;for(;a=n.nodes[n.indexes[s]];)if(n.indexes[s]+=1,!a[U]){a[U]=!0,e.push(cn(a));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=Vn(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=>{kt=i};var Xn=oe;oe.default=oe;as.registerLazyResult(oe);ss.registerLazyResult(oe);let hs=Nn,ds=Ke,fs=Lt;const ps=Pt;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=ds;this.result=new ps(this._processor,r,this._opts),this.result.css=t;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let a=new hs(o,r,this._opts,t);if(a.isMap()){let[l,c]=a.generate();l&&(this.result.css=l),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=fs;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 gs=Ot;Ot.default=Ot;let ms=gs,bs=Xn,ys=Mt,ws=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 ms(this,e,t):new bs(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var xs=me;me.default=me;ws.registerProcessor(me);ys.registerProcessor(me);let vs=Ve,Es=kn,Ss=Xe,_s=Tt,ks=Je,Os=ve,Cs=It;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__:ks.prototype};o.map&&(o.map={...o.map,__proto__:Es.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 Os(n);if(n.type==="decl")return new vs(n);if(n.type==="rule")return new Cs(n);if(n.type==="comment")return new Ss(n);if(n.type==="atrule")return new _s(n);throw new Error("Unknown node type: "+i.type)}var As=be;be.default=be;var un={};let Rs=At,Qn=Ve,Ns=Xn,Ms=ee,$t=xs,Ps=Ke,Ts=As,Yn=Mt,Is=Fn,ei=Xe,ti=Tt,Ls=Pt,$s=Je,js=Lt,zs=Kn,ni=It,ii=ve,Bs=qe;function E(...i){return i.length===1&&Array.isArray(i[0])&&(i=i[0]),new $t(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:
207
+ https://evilmartians.com/chronicles/postcss-8-plugin-migration`),un.LANG&&un.LANG.startsWith("cn")&&console.warn(e+`: 里面 postcss.plugin 被弃用. 迁移指南:
208
+ https://www.w3ctech.com/topic/2226`));let a=t(...s);return a.postcssPlugin=e,a.postcssVersion=new $t().version,a}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,a,l){return E([r(l)]).process(s,a)},r};E.stringify=Ps;E.parse=js;E.fromJSON=Ts;E.list=zs;E.comment=i=>new ei(i);E.atRule=i=>new ti(i);E.decl=i=>new Qn(i);E.rule=i=>new ni(i);E.root=i=>new ii(i);E.document=i=>new Yn(i);E.CssSyntaxError=Rs;E.Declaration=Qn;E.Container=Ms;E.Processor=$t;E.Document=Yn;E.Comment=ei;E.Warning=Is;E.AtRule=ti;E.Result=Ls;E.Input=$s;E.Rule=ni;E.Root=ii;E.Node=Bs;Ns.registerPostcss(E);var Ds=E;E.default=E;const O=vn(Ds);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 Us=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(a=>{const l=["keyframes","-webkit-keyframes","-moz-keyframes","-o-keyframes"];a.parent&&l.includes(a.parent.name)||(a.selectors=a.selectors.map(c=>e.exclude&&Fs(c,e.exclude)?c:e.transform?e.transform(t,c,n+c,s.source.input.file,a):n+c))})}};function hn(i,e){return e.some(t=>t instanceof RegExp?t.test(i):i.includes(t))}function Fs(i,e){return e.some(t=>t instanceof RegExp?t.test(i):i===t)}const Hs=vn(Us),Ws="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}",Gs="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 Zs(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function ri(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)&&ri(t)}),i}class dn{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function si(i){return i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}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 Ks="</span>",fn=i=>!!i.scope,qs=(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 Vs{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=si(e)}openNode(e){if(!fn(e))return;const t=qs(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){fn(e)&&(this.buffer+=Ks)}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 Js 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 Vs(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function ye(i){return i?typeof i=="string"?i:i.source:null}function oi(i){return te("(?=",i,")")}function Xs(i){return te("(?:",i,")*")}function Qs(i){return te("(?:",i,")?")}function te(...i){return i.map(e=>ye(e)).join("")}function Ys(i){const e=i[i.length-1];return typeof e=="object"&&e.constructor===Object?(i.splice(i.length-1,1),e):{}}function zt(...i){return"("+(Ys(i).capture?"":"?:")+i.map(e=>ye(e)).join("|")+")"}function ai(i){return new RegExp(i.toString()+"|").exec("").length-1}function eo(i,e){const t=i&&i.exec(e);return t&&t.index===0}const to=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([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 a=to.exec(o);if(!a){s+=o;break}s+=o.substring(0,a.index),o=o.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?s+="\\"+String(Number(a[1])+r):(s+=a[0],a[0]==="("&&t++)}return s}).map(n=>`(${n})`).join(e)}const no=/\b\B/,li="[a-zA-Z]\\w*",Dt="[a-zA-Z_]\\w*",ci="\\b\\d+(\\.\\d+)?",ui="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",hi="\\b(0b[01]+)",io="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ro=(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},so={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[we]},oo={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[we]},ao={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=zt("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},lo=Qe("//","$"),co=Qe("/\\*","\\*/"),uo=Qe("#","$"),ho={scope:"number",begin:ci,relevance:0},fo={scope:"number",begin:ui,relevance:0},po={scope:"number",begin:hi,relevance:0},go={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[we,{begin:/\[/,end:/\]/,relevance:0,contains:[we]}]},mo={scope:"title",begin:li,relevance:0},bo={scope:"title",begin:Dt,relevance:0},yo={begin:"\\.\\s*"+Dt,relevance:0},wo=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 Le=Object.freeze({__proto__:null,APOS_STRING_MODE:so,BACKSLASH_ESCAPE:we,BINARY_NUMBER_MODE:po,BINARY_NUMBER_RE:hi,COMMENT:Qe,C_BLOCK_COMMENT_MODE:co,C_LINE_COMMENT_MODE:lo,C_NUMBER_MODE:fo,C_NUMBER_RE:ui,END_SAME_AS_BEGIN:wo,HASH_COMMENT_MODE:uo,IDENT_RE:li,MATCH_NOTHING_RE:no,METHOD_GUARD:yo,NUMBER_MODE:ho,NUMBER_RE:ci,PHRASAL_WORDS_MODE:ao,QUOTE_STRING_MODE:oo,REGEXP_MODE:go,RE_STARTERS_RE:io,SHEBANG:ro,TITLE_MODE:mo,UNDERSCORE_IDENT_RE:Dt,UNDERSCORE_TITLE_MODE:bo});function xo(i,e){i.input[i.index-1]==="."&&e.ignoreMatch()}function vo(i,e){i.className!==void 0&&(i.scope=i.className,delete i.className)}function Eo(i,e){e&&i.beginKeywords&&(i.begin="\\b("+i.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",i.__beforeBegin=xo,i.keywords=i.keywords||i.beginKeywords,delete i.beginKeywords,i.relevance===void 0&&(i.relevance=0))}function So(i,e){Array.isArray(i.illegal)&&(i.illegal=zt(...i.illegal))}function _o(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 ko(i,e){i.relevance===void 0&&(i.relevance=1)}const Oo=(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,oi(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"],Ao="keyword";function di(i,e,t=Ao){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,di(i[o],e,o))}),n;function r(o,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){const l=a.split("|");n[l[0]]=[o,Ro(l[0],l[1])]})}}function Ro(i,e){return e?Number(e):No(i)?0:1}function No(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)},We=new Error;function fi(i,e,{key:t}){let n=0;const r=i[t],o={},s={};for(let a=1;a<=e.length;a++)s[a+n]=r[a],o[a+n]=!0,n+=ai(e[a-1]);i[t]=s,i[t]._emit=o,i[t]._multi=!0}function Mo(i){if(Array.isArray(i.begin)){if(i.skip||i.excludeBegin||i.returnBegin)throw Y("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),We;if(typeof i.beginScope!="object"||i.beginScope===null)throw Y("beginScope must be object"),We;fi(i,i.begin,{key:"beginScope"}),i.begin=Bt(i.begin,{joinWith:""})}}function Po(i){if(Array.isArray(i.end)){if(i.skip||i.excludeEnd||i.returnEnd)throw Y("skip, excludeEnd, returnEnd not compatible with endScope: {}"),We;if(typeof i.endScope!="object"||i.endScope===null)throw Y("endScope must be object"),We;fi(i,i.end,{key:"endScope"}),i.end=Bt(i.end,{joinWith:""})}}function To(i){i.scope&&typeof i.scope=="object"&&i.scope!==null&&(i.beginScope=i.scope,delete i.scope)}function Io(i){To(i),typeof i.beginScope=="string"&&(i.beginScope={_wrap:i.beginScope}),typeof i.endScope=="string"&&(i.endScope={_wrap:i.endScope}),Mo(i),Po(i)}function Lo(i){function e(s,a){return new RegExp(ye(s),"m"+(i.case_insensitive?"i":"")+(i.unicodeRegex?"u":"")+(a?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,a]),this.matchAt+=ai(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const a=this.regexes.map(l=>l[1]);this.matcherRe=e(Bt(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(a);if(!l)return null;const c=l.findIndex((b,g)=>g>0&&b!==void 0),h=this.matchIndexes[c];return l.splice(0,c),Object.assign(l,h)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];const l=new t;return this.rules.slice(a).forEach(([c,h])=>l.addRule(c,h)),l.compile(),this.multiRegexes[a]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,l){this.rules.push([a,l]),l.type==="begin"&&this.count++}exec(a){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let c=l.exec(a);if(this.resumingScanAtSamePosition()&&!(c&&c.index===this.lastIndex)){const h=this.getMatcher(0);h.lastIndex=this.lastIndex+1,c=h.exec(a)}return c&&(this.regexIndex+=c.position+1,this.regexIndex===this.count&&this.considerAll()),c}}function r(s){const a=new n;return s.contains.forEach(l=>a.addRule(l.begin,{rule:l,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){const l=s;if(s.isCompiled)return l;[vo,_o,Io,Oo].forEach(h=>h(s,a)),i.compilerExtensions.forEach(h=>h(s,a)),s.__beforeBegin=null,[Eo,So,ko].forEach(h=>h(s,a)),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=di(s.keywords,i.case_insensitive)),l.keywordPatternRe=e(c,!0),a&&(s.begin||(s.begin=/\B|\b/),l.beginRe=e(l.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(l.endRe=e(l.end)),l.terminatorEnd=ye(l.end)||"",s.endsWithParent&&a.terminatorEnd&&(l.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(l.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(h){return $o(h==="self"?s:h)})),s.contains.forEach(function(h){o(h,l)}),s.starts&&o(s.starts,a),l.matcher=r(l),l}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 pi(i){return i?i.endsWithParent||pi(i.starts):!1}function $o(i){return i.variants&&!i.cachedVariants&&(i.cachedVariants=i.variants.map(function(e){return q(i,{variants:null},e)})),i.cachedVariants?i.cachedVariants:pi(i)?q(i,{starts:i.starts?q(i.starts):null}):Object.isFrozen(i)?q(i):i}var jo="11.9.0";class zo extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const ht=si,bn=q,yn=Symbol("nomatch"),Bo=7,gi=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 a={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Js};function l(u){return a.noHighlightRe.test(u)}function c(u){let f=u.className+" ";f+=u.parentNode?u.parentNode.className:"";const w=a.languageDetectRe.exec(f);if(w){const v=P(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=>l(v)||P(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.
209
+ https://github.com/highlightjs/highlight.js/issues/2277`),A=u,v=f),w===void 0&&(w=!0);const T={code:v,language:A};X("before:highlight",T);const K=T.result?T.result:b(T.language,T.code,w);return K.code=T.code,X("after:highlight",K),K}function b(u,f,w,v){const A=Object.create(null);function T(d,p){return d.keywords[p]}function K(){if(!y.keywords){N.addText(_);return}let d=0;y.keywordPatternRe.lastIndex=0;let p=y.keywordPatternRe.exec(_),x="";for(;p;){x+=_.substring(d,p.index);const S=D.case_insensitive?p[0].toLowerCase():p[0],M=T(y,S);if(M){const[G,Ri]=M;if(N.addText(x),x="",A[S]=(A[S]||0)+1,A[S]<=Bo&&(ke+=Ri),G.startsWith("_"))x+=p[0];else{const Ni=D.classNameAliases[G]||G;B(p[0],Ni)}}else x+=p[0];d=y.keywordPatternRe.lastIndex,p=y.keywordPatternRe.exec(_)}x+=_.substring(d),N.addText(x)}function Se(){if(_==="")return;let d=null;if(typeof y.subLanguage=="string"){if(!e[y.subLanguage]){N.addText(_);return}d=b(y.subLanguage,_,!0,Gt[y.subLanguage]),Gt[y.subLanguage]=d._top}else d=C(_,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(ke+=d.relevance),N.__addSublanguage(d._emitter,d.language)}function I(){y.subLanguage!=null?Se():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):(_=G,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(_,D.classNameAliases[d.beginScope._wrap]||d.beginScope._wrap),_=""):d.beginScope._multi&&(Ut(d.beginScope,p),_="")),y=Object.create(d,{parent:{value:y}}),y}function Ht(d,p,x){let S=eo(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 Ht(d.parent,p,x)}function _i(d){return y.matcher.regexIndex===0?(_+=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 _i(p);return x.skip?_+=p:(x.excludeBegin&&(_+=p),I(),!x.returnBegin&&!x.excludeBegin&&(_=p)),Ft(x,d),x.returnBegin?0:p.length}function Oi(d){const p=d[0],x=f.substring(d.index),S=Ht(y,d,x);if(!S)return yn;const M=y;y.endScope&&y.endScope._wrap?(I(),B(p,y.endScope._wrap)):y.endScope&&y.endScope._multi?(I(),Ut(y.endScope,d)):M.skip?_+=p:(M.returnEnd||M.excludeEnd||(_+=p),I(),M.excludeEnd&&(_=p));do y.scope&&N.closeNode(),!y.skip&&!y.subLanguage&&(ke+=y.relevance),y=y.parent;while(y!==S.parent);return S.starts&&Ft(S.starts,d),M.returnEnd?0:p.length}function Ci(){const d=[];for(let p=y;p!==D;p=p.parent)p.scope&&d.unshift(p.scope);d.forEach(p=>N.openNode(p))}let _e={};function Wt(d,p){const x=p&&p[0];if(_+=d,x==null)return I(),0;if(_e.type==="begin"&&p.type==="end"&&_e.index===p.index&&x===""){if(_+=f.slice(p.index,p.index+1),!r){const S=new Error(`0 width match regex (${u})`);throw S.languageName=u,S.badRule=_e.rule,S}return 1}if(_e=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=Oi(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 _+=x,x.length}const D=P(u);if(!D)throw Y(o.replace("{}",u)),new Error('Unknown language: "'+u+'"');const Ai=Lo(D);let rt="",y=v||Ai;const Gt={},N=new a.__emitter(a);Ci();let _="",ke=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=Wt(p,d);Q=d.index+x}Wt(f.substring(Q))}return N.finalize(),rt=N.toHTML(),{language:u,value:rt,relevance:ke,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 a.__emitter(a)};return f._emitter.addText(u),f}function C(u,f){f=f||a.languages||Object.keys(e);const w=g(u),v=f.filter(P).filter(Ee).map(I=>b(I,u,!1));v.unshift(w);const A=v.sort((I,B)=>{if(I.relevance!==B.relevance)return B.relevance-I.relevance;if(I.language&&B.language){if(P(I.language).supersetOf===B.language)return 1;if(P(B.language).supersetOf===I.language)return-1}return 0}),[T,K]=A,Se=T;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 L(u){let f=null;const w=c(u);if(l(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&&(a.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)),a.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}):C(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){a=bn(a,u)}const F=()=>{$(),ie("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function H(){$(),ie("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let V=!1;function $(){if(document.readyState==="loading"){V=!0;return}document.querySelectorAll(a.cssSelector).forEach(L)}function W(){V&&$()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",W,!1);function le(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 z(){return Object.keys(e)}function P(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=P(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."),L(u)}Object.assign(i,{highlight:h,highlightAuto:C,highlightAll:$,highlightElement:L,highlightBlock:it,configure:m,initHighlighting:F,initHighlightingOnLoad:H,registerLanguage:le,unregisterLanguage:ne,listLanguages:z,getLanguage:P,registerAliases:J,autoDetection:Ee,inherit:bn,addPlugin:tt,removePlugin:nt}),i.debugMode=function(){r=!1},i.safeMode=function(){r=!0},i.versionString=jo,i.regex={concat:te,lookahead:oi,either:zt,optional:Qs,anyNumberOfTimes:Xs};for(const u in Le)typeof Le[u]=="object"&&ri(Le[u]);return Object.assign(i,Le),i},ae=gi({});ae.newInstance=()=>gi({});var Do=ae;ae.HighlightJS=ae;ae.default=ae;const Ye=Zs(Do),Ge="[A-Za-z$_][0-9A-Za-z$_]*",mi=["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"],bi=["true","false","null","undefined","NaN","Infinity"],yi=["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"],wi=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],xi=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],vi=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ei=[].concat(xi,yi,wi);function Uo(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 T=u.input.substring(w);if(A=T.match(/^\s*=/)){f.ignoreMatch();return}if((A=T.match(/^\s+extends\s+/))&&A.index===0){f.ignoreMatch();return}}},a={$pattern:Ge,keyword:mi,literal:bi,built_in:Ei,"variable.language":vi},l="[0-9](_?[0-9])*",c=`\\.(${l})`,h="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",b={className:"number",variants:[{begin:`(\\b(${h})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\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:a,contains:[]},C={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"}},L={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]},H=[i.APOS_STRING_MODE,i.QUOTE_STRING_MODE,C,R,L,m,{match:/\$\d+/},b];g.contains=H.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(H)});const V=[].concat(F,g.contains),$=V.concat([{begin:/\(/,end:/\)/,keywords:a,contains:["self"].concat(V)}]),W={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:$},le={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:{_:[...yi,...wi]}},z={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},P={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[W],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([...xi,"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:/\(\)/},W]},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:[W]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:$,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[i.SHEBANG({label:"shebang",binary:"node",relevance:5}),z,i.APOS_STRING_MODE,i.QUOTE_STRING_MODE,C,R,L,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:a,contains:$}]}]},{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"]}]}]},P,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[W,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:[W]},et,J,le,nt,{match:/\$[(.]/}]}}function Fo(i){const e=Uo(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['"]/},a=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],l={$pattern:Ge,keyword:mi.concat(a),literal:bi,built_in:Ei.concat(n),"variable.language":vi},c={className:"meta",begin:"@"+t},h=(g,C,R)=>{const L=g.contains.findIndex(m=>m.label===C);if(L===-1)throw new Error("can not find mode to replace");g.contains.splice(L,1,R)};Object.assign(e.keywords,l),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 Ho(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:/\)/}),a=i.inherit(i.APOS_STRING_MODE,{className:"string"}),l=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,l,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[o,s,l,a]}]}]},i.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{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 Wo=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_-]*/}}),Go=["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"],Zo=["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"],Ko=["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"],qo=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Vo=["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 Jo(i){const e=i.regex,t=Wo(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_-]*",a=[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:":("+Ko.join("|")+")"},{begin:":(:)?("+qo.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Vo.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{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:Zo.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Go.join("|")+")\\b"}]}}const Si=document.createElement("style");Si.innerText=[Ws,Gs].join(`
210
+ `);document.head.appendChild(Si);Ye.registerLanguage("typescript",Fo);Ye.registerLanguage("html",Ho);Ye.registerLanguage("css",Jo);function Xo(...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 Qo(i,e,t){var n,r,o;const s=e.mainContent,a=fe("div",s);a.id=`example-preview-${t}`;const l=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=Xo(he("Preview",a),he("HTML",$e("html",s)),...c?[he(l??"CSS",$e("css",c))]:[],...e.initializer&&e.initializer.content?[he(e.initializer.label??"TS",$e("typescript",e.initializer.content))]:[],...(e.additionalSources||[]).map(g=>he(g.label,$e(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&&Yo(`#${a.id}`,c),(o=e.initializer)!=null&&o.initialize&&await e.initializer.initialize(a)}function $e(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(`
211
+ `).trim();return i&&i!="raw"&&(t=Ye.highlight(t,{language:i}).value),fe("pre",[fe("code",t)])}function Yo(i,e){const t=document.createElement("style");t.innerHTML=O().use(Hs({prefix:i})).process(e).css,document.head.appendChild(t)}async function ea(i,e=document.body){const t=na(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;Qo(o,s,n++)})}function ta(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 na(i){return i.children?ta(i):i}const ia=`<h1 id="@cas-smartdesign/button">@cas-smartdesign/button</h1>
212
+ <p>A button element which encloses the look and feel of the smartdesign button.</p>
213
+ <h2 id="attributes">Attributes</h2>
214
+ <ul>
215
+ <li><code>icon</code>: string<ul>
216
+ <li>Defines the icon of the button</li>
217
+ </ul>
218
+ </li>
219
+ <li><code>primary</code>: boolean<ul>
220
+ <li>Defines whether if the button is primary</li>
221
+ </ul>
222
+ </li>
223
+ <li><code>disabled</code>: boolean<ul>
224
+ <li>Defines whether if the button is disabled. Note that it uses default disabled attribute, thus blocking pointer/mouse events.</li>
225
+ </ul>
226
+ </li>
227
+ <li><code>type</code>: string<ul>
228
+ <li>Can be set to either <code>submit</code> or <code>reset</code> to make the button act like a HTML form button.</li>
229
+ </ul>
230
+ </li>
231
+ </ul>
232
+ <h2 id="properties">Properties</h2>
233
+ <ul>
234
+ <li><code>disabled</code>: boolean<ul>
235
+ <li>Makes the button looks like it is disabled &amp; also prevents click events but used with a classname so mouse events are still triggered thus allowing for example tooltip usage in all browsers.</li>
236
+ </ul>
237
+ </li>
238
+ </ul>
239
+ <h2 id="css-custom-properties">CSS Custom Properties</h2>
240
+ <ul>
241
+ <li><code>--sd-button-content-padding</code><ul>
242
+ <li>Defines the value of margin-left, margin-right (default is 8px)</li>
243
+ </ul>
244
+ </li>
245
+ <li><code>--sd-button-max-icon-size</code><ul>
246
+ <li>Defines the value of max-width, max-height (default is 32px)</li>
247
+ </ul>
248
+ </li>
249
+ </ul>
250
+ <h2 id="examples">Examples</h2>
251
+ `;document.querySelector("#markdown-container").innerHTML=ia;ea(Object.assign({"./examples/created_from_source/index.ts":ji,"./examples/declarative/index.ts":Ui,"./examples/declarative_with_source/index.ts":Zi,"./examples/html_form/index.ts":Ji}));export{de as B};
252
+ function __vite__mapDeps(indexes) {
253
+ if (!__vite__mapDeps.viteFileDeps) {
254
+ __vite__mapDeps.viteFileDeps = []
255
+ }
256
+ return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
257
+ }
@@ -0,0 +1,29 @@
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
+
16
+ sd-button {
17
+ margin: 8px;
18
+ }
19
+ </style>
20
+ <script type="module" crossorigin src="./doc.mjs"></script>
21
+ <link rel="stylesheet" crossorigin href="./doc.css">
22
+ </head>
23
+
24
+ <body>
25
+ <div class="markdown-body">
26
+ <div id="markdown-container"></div>
27
+ </div>
28
+ </body>
29
+ </html>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
2
+ <g color="#000" fill="#1467ba">
3
+ <path style="marker:none" overflow="visible" d="M0 11h23v1H0z"/>
4
+ <path style="marker:none" overflow="visible" d="M11 23V0h1v23z"/>
5
+ </g>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
2
+ <g color="#000" fill="#fff">
3
+ <path style="marker:none" overflow="visible" d="M0 11h23v1H0z"/>
4
+ <path style="marker:none" overflow="visible" d="M11 23V0h1v23z"/>
5
+ </g>
6
+ </svg>
@@ -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/button",
3
+ "version": "5.0.1",
4
+ "description": "A button element which encloses the look and feel of the smartdesign button",
5
+ "main": "dist/button-with-externals.js",
6
+ "module": "dist/button.mjs",
7
+ "types": "dist/button.d.ts",
8
+ "license": "SEE LICENSE IN LICENSE",
9
+ "dependencies": {
10
+ "@cas-smartdesign/element-base": "^5.0.1"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "npm-third-party-licenses.json"
15
+ ],
16
+ "publishConfig": {
17
+ "registry": "https://registry.npmjs.org/",
18
+ "access": "public"
19
+ },
20
+ "devDependencies": {
21
+ "@cas-smartdesign/license-generator": "^1.6.1",
22
+ "@cas-smartdesign/element-preview": "^0.2.1"
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,28 @@
1
+ # @cas-smartdesign/button
2
+
3
+ A button element which encloses the look and feel of the smartdesign button.
4
+
5
+ ## Attributes
6
+
7
+ - `icon`: string
8
+ - Defines the icon of the button
9
+ - `primary`: boolean
10
+ - Defines whether if the button is primary
11
+ - `disabled`: boolean
12
+ - Defines whether if the button is disabled. Note that it uses default disabled attribute, thus blocking pointer/mouse events.
13
+ - `type`: string
14
+ - Can be set to either `submit` or `reset` to make the button act like a HTML form button.
15
+
16
+ ## Properties
17
+
18
+ - `disabled`: boolean
19
+ - Makes the button looks like it is disabled & also prevents click events but used with a classname so mouse events are still triggered thus allowing for example tooltip usage in all browsers.
20
+
21
+ ## CSS Custom Properties
22
+
23
+ - `--sd-button-content-padding`
24
+ - Defines the value of margin-left, margin-right (default is 8px)
25
+ - `--sd-button-max-icon-size`
26
+ - Defines the value of max-width, max-height (default is 32px)
27
+
28
+ ## Examples