@vonage/vivid 5.7.0 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/definition19.cjs +3 -4
- package/bundled/definition19.js +35 -52
- package/bundled/definition8.cjs +1 -1
- package/bundled/definition8.js +1 -1
- package/bundled/listbox.cjs +1 -1
- package/bundled/listbox.js +49 -22
- package/bundled/localized.cjs +1 -1
- package/bundled/localized.js +8 -9
- package/bundled/vivid-element.cjs +1 -1
- package/bundled/vivid-element.js +1 -1
- package/checkbox/definition.cjs +1 -1
- package/checkbox/definition.js +1 -1
- package/contextual-help/definition.cjs +1 -0
- package/contextual-help/definition.js +1 -1
- package/custom-elements.json +217 -251
- package/index.cjs +4 -0
- package/index.js +1 -0
- package/lib/components.d.ts +1 -0
- package/lib/contextual-help/definition.d.ts +2 -0
- package/lib/rich-text-editor/locale.d.ts +0 -1
- package/lib/tag-name-map.d.ts +2 -1
- package/locales/de-DE.cjs +0 -1
- package/locales/de-DE.js +0 -1
- package/locales/en-GB.cjs +0 -1
- package/locales/en-GB.js +0 -1
- package/locales/en-US.cjs +0 -1
- package/locales/en-US.js +0 -1
- package/locales/ja-JP.cjs +0 -1
- package/locales/ja-JP.js +0 -1
- package/locales/zh-CN.cjs +0 -1
- package/locales/zh-CN.js +0 -1
- package/package.json +6 -10
- package/rich-text-editor/definition.cjs +1 -1
- package/rich-text-editor/definition.js +1 -1
- package/rich-text-editor/index.cjs +1 -1
- package/rich-text-editor/index.js +1 -1
- package/select/definition.cjs +27 -15
- package/select/definition.js +27 -15
- package/shared/foundation/listbox/listbox.d.ts +0 -1
- package/tag/definition.cjs +1 -1
- package/tag/definition.js +1 -1
- package/tag/index.cjs +1 -1
- package/tag/index.js +1 -1
- package/unbundled/listbox.cjs +29 -2
- package/unbundled/listbox.js +29 -2
- package/unbundled/vivid-element.cjs +1 -1
- package/unbundled/vivid-element.js +1 -1
- package/vivid.api.json +104 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vonage/vivid",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.8.0",
|
|
4
4
|
"homepage": "https://vivid.deno.dev",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/Vonage/vivid-3/issues"
|
|
@@ -64,8 +64,6 @@
|
|
|
64
64
|
"@playwright/test": "1.57.0",
|
|
65
65
|
"@testing-library/dom": "^8.20.1",
|
|
66
66
|
"@testing-library/user-event": "^14.6.1",
|
|
67
|
-
"@types/jsdom": "^21.1.7",
|
|
68
|
-
"@types/markdown-it": "^13.0.9",
|
|
69
67
|
"@types/node": "^20.19.25",
|
|
70
68
|
"@types/ramda": "^0.30.2",
|
|
71
69
|
"@types/uuid": "^10.0.0",
|
|
@@ -77,8 +75,6 @@
|
|
|
77
75
|
"dialog-polyfill": "^0.5.6",
|
|
78
76
|
"element-internals-polyfill": "^1.3.13",
|
|
79
77
|
"http-server": "^14.1.1",
|
|
80
|
-
"jsdom": "^23.2.0",
|
|
81
|
-
"markdown-it": "^13.0.2",
|
|
82
78
|
"playwright": "1.57.0",
|
|
83
79
|
"sass": "^1.94.2",
|
|
84
80
|
"tsx": "^4.20.6",
|
|
@@ -91,17 +87,17 @@
|
|
|
91
87
|
"vitest-axe": "^0.1.0",
|
|
92
88
|
"vitest-fetch-mock": "^0.4.5",
|
|
93
89
|
"wait-on": "^8.0.5",
|
|
94
|
-
"@repo/cem-analyzer-plugins": "1.0.0",
|
|
95
90
|
"@repo/consts": "1.0.0",
|
|
91
|
+
"@repo/cem-analyzer-plugins": "1.0.0",
|
|
96
92
|
"@repo/eslint-plugin-repo": "1.0.0",
|
|
97
|
-
"@repo/stylelint-config": "1.0.0",
|
|
98
93
|
"@repo/eslint-config": "1.0.0",
|
|
99
94
|
"@repo/shared": "1.0.0",
|
|
100
|
-
"@repo/
|
|
95
|
+
"@repo/stylelint-config": "1.0.0",
|
|
101
96
|
"@repo/tokens": "1.0.0",
|
|
97
|
+
"@repo/styles": "1.0.0",
|
|
102
98
|
"@repo/tools": "1.0.0",
|
|
103
|
-
"@repo/
|
|
104
|
-
"@repo/
|
|
99
|
+
"@repo/typescript-config": "1.0.0",
|
|
100
|
+
"@repo/vitest-config": "1.0.0"
|
|
105
101
|
},
|
|
106
102
|
"customElements": "custom-elements.json",
|
|
107
103
|
"scripts": {
|
|
@@ -15322,7 +15322,7 @@ class RteLinkFeatureImpl extends RteFeatureImpl {
|
|
|
15322
15322
|
className: "link-popover-label",
|
|
15323
15323
|
children: [
|
|
15324
15324
|
createText(ctx, {
|
|
15325
|
-
text: () => ctx.
|
|
15325
|
+
text: () => this.getCurrentLink(ctx.view.state)?.text || ""
|
|
15326
15326
|
})
|
|
15327
15327
|
]
|
|
15328
15328
|
}),
|
|
@@ -15318,7 +15318,7 @@ class RteLinkFeatureImpl extends RteFeatureImpl {
|
|
|
15318
15318
|
className: "link-popover-label",
|
|
15319
15319
|
children: [
|
|
15320
15320
|
createText(ctx, {
|
|
15321
|
-
text: () => ctx.
|
|
15321
|
+
text: () => this.getCurrentLink(ctx.view.state)?.text || ""
|
|
15322
15322
|
})
|
|
15323
15323
|
]
|
|
15324
15324
|
}),
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
exportparts="vvd-theme-alternate"
|
|
17
17
|
>
|
|
18
18
|
<slot></slot>
|
|
19
|
-
</${e}>`};class Fe extends me.VividElement{constructor(){super(...arguments),this.anchorBlocksPopover=!1,this.onAnchorBlockPopoverChanged=()=>{this.anchorBlocksPopover=this.anchorEl?.dataset.blockPopover==="true"||!1},this.requestedOpenState=!1}static setBlockPopover(e,t){e.dataset.blockPopover=t?"true":"false";const n=new CustomEvent("block-popover-changed",{bubbles:!1,composed:!1});e.dispatchEvent(n)}anchorElChanged(e,t){e?.removeEventListener("block-popover-changed",this.onAnchorBlockPopoverChanged),t?.addEventListener("block-popover-changed",this.onAnchorBlockPopoverChanged),this.onAnchorBlockPopoverChanged()}anchorIdChanged(){this.updateAnchor()}updateAnchor(){this.anchorId&&this.isConnected?this.anchorEl=this.getRootNode().getElementById(this.anchorId)||void 0:this.anchorEl=void 0}requestOpenState(e){this.requestedOpenState=e}get open(){return this.requestedOpenState&&!!this.anchorEl&&!this.anchorBlocksPopover}#e;connectedCallback(){super.connectedCallback(),this.updateAnchor(),this.#e=new MutationObserver(e=>{e.some(t=>Array.from(t.addedNodes).some(n=>n instanceof HTMLElement&&n.id===this.anchorId))&&this.updateAnchor()}),this.#e.observe(this.getRootNode(),{childList:!0,subtree:!0})}disconnectedCallback(){super.disconnectedCallback(),this.#e.disconnect()}}Wt([me.observable],Fe.prototype,"offset",2);Wt([me.observable],Fe.prototype,"anchorBlocksPopover",2);Wt([me.observable],Fe.prototype,"anchorEl",2);Wt([me.observable],Fe.prototype,"anchorId",2);Wt([me.observable],Fe.prototype,"requestedOpenState",2);Wt([me.volatile],Fe.prototype,"open",1);const If=me.defineVividComponent("popover",Fe,vf,[Gr.popupDefinition],{}),Rf=".link-popover{display:flex;flex-direction:column;padding:16px;gap:8px;inline-size:450px}.link-popover-header{display:flex;align-items:center;justify-content:space-between}.link-popover-label{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.link-popover-content{display:flex;flex-direction:column;gap:16px}.link,.editor a[href],.link:visited,.editor a[href]:visited{color:var(--vvd-color-cta-600)}.link:hover,.editor a[href]:hover{color:var(--vvd-color-cta-500)}.link:active,.editor a[href]:active{color:var(--vvd-color-cta-400)}.link-action-bar{display:flex;justify-content:end;gap:8px}.link-toolbar-menu{display:flex;flex-direction:column;padding:8px;gap:16px;inline-size:368px}";class pa extends ${constructor(){super(...arguments),this.name="RteLinkFeature",this.removeLink=(e,t)=>{const n=e.tr,i=this.getCurrentLink(e);return n.removeMark(i.start,i.end,e.schema.marks.link),t?.(n.scrollIntoView()),!0}}getStyles(){return[this.contribution(Rf)]}getSchema(){return[this.contribution({marks:{link:{attrs:{href:{validate:"string"}},inclusive:!1,parseDOM:[{tag:"a[href]",getAttrs(e){return{href:e.getAttribute("href")}}}],toDOM(e){const{href:t}=e.attrs;return["a",{href:t},0]}}}})]}getTextblockMarks(){return[this.contribution({markName:"link"})]}getPlugins(e){return[this.contribution(new ce({props:{decorations:t=>{const n=this.getCurrentLink(t);if(n){const i=ie.inline(n.start,n.end,{id:"current-link"});return P.create(t.doc,[i])}return null}},view:t=>{const n=new Pi(t,e,{popupPlacement:"bottom"}),i=e.createComponent(Fe);i.anchorId="current-link";const s=Ne(n,{className:"link-popover",children:[Ne(n,{className:"link-popover-header",children:[Ne(n,{className:"link-popover-label",children:[po(n,{text:()=>n.rte.getLocale().richTextEditor.clickHere})]}),q(n,{icon:"close-line",label:()=>n.rte.getLocale().richTextEditor.close,noTooltip:!0,onClick:()=>{i.requestOpenState(!1)}})]}),Ne(n,{className:"link-popover-content",children:[bf(n,{className:"link",href:()=>this.getCurrentLink(n.view.state)?.href||"",target:"_blank",rel:"noopener",children:[po(n,{text:()=>this.getCurrentLink(n.view.state)?.href||""})]}),Ne(n,{className:"link-action-bar",children:[q(n,{icon:"delete-line",label:()=>n.rte.getLocale().richTextEditor.delete,connotation:"alert",variant:"popover",noTooltip:!0,onClick:()=>{const{state:o,dispatch:l}=n.view;this.removeLink(o,l)}}),q(n,{icon:"edit-line",label:()=>n.rte.getLocale().richTextEditor.edit,variant:"popover",noTooltip:!0,onClick:()=>(this.toolbarMenu.open=!0,i.requestOpenState(!1),!0)})]})]})]});return i.appendChild(s),t.dom.getRootNode().querySelector(".popovers").appendChild(i),{update:o=>{const l=o.state;n.updateBindings();const a=this.getCurrentLink(l);i.requestOpenState(!!a)},destroy:()=>{i.remove()}}}}))]}getToolbarItems(e){const t=i=>{const{from:s,to:o}=i.selection;return s===o?"":i.doc.textBetween(s,o," ")},n=i=>{try{return new URL(i),!0}catch{return!1}};return[this.contribution({section:"insert",render:i=>{const s=fo(i,{label:()=>i.rte.getLocale().richTextEditor.linkText,placeholder:()=>i.rte.getLocale().richTextEditor.linkTextPlaceholder,slot:"header",autofocus:!0,value:()=>this.getCurrentLink(i.view.state)?.text||t(i.view.state)||"",onInput:()=>{a()}}),o=fo(i,{label:()=>i.rte.getLocale().richTextEditor.linkUrl,type:"url",placeholder:()=>i.rte.getLocale().richTextEditor.linkUrlPlaceholder,slot:"header",value:()=>this.getCurrentLink(i.view.state)?.href||"",onInput:()=>{a()}}),l=q(i,{label:()=>i.rte.getLocale().richTextEditor.apply,variant:"popover-primary",disabled:()=>{const h=this.getCurrentLink(i.view.state);return!(h&&h.text.length&&n(h.href))},onClick:()=>{const{state:h,dispatch:u}=i.view;this.insertLink(e,o.value,s.value)(h,u)}}),a=()=>{l.querySelector('[data-vvd-component="button"]').disabled=!(s.value.length&&n(o.value))},c=Fi(i,{label:()=>i.rte.getLocale().richTextEditor.hyperlink,trigger:q(i,{label:()=>i.rte.getLocale().richTextEditor.hyperlink,icon:"link-line"}),children:[Ne(i,{className:"link-toolbar-menu",slot:"header",children:[s,o,Ne(i,{className:"link-action-bar",slot:"header",children:[q(i,{label:()=>i.rte.getLocale().richTextEditor.cancel,variant:"popover",onClick:()=>{this.toolbarMenu.open=!1}}),l]})]})]});return this.toolbarMenu=c.lastElementChild,c}},1)]}getCurrentLink(e){const t=e.selection;if(!(t instanceof O&&t.empty))return null;const{$from:n}=t,s=e.schema.marks.link.isInSet(n.marks());if(!s)return null;const o=n.parent.childAfter(n.parentOffset),l=n.pos-n.parentOffset+o.offset,a=l+o.node.nodeSize;return{text:o.node.text,href:s.attrs.href,start:l,end:a}}insertLink(e,t,n){return(i,s)=>{let{from:o,to:l}=i.selection;const a=i.tr,c=this.getCurrentLink(i);return c&&(o=c.start,l=c.end),a.insertText(n,o,l),a.addMark(o,o+n.length,e.schema.marks.link.create({href:t})),s?.(a.scrollIntoView()),!0}}}const Pf=H(pa),Ff=".toolbar{display:flex;flex-wrap:wrap;align-items:center;padding:4px;background-color:var(--vvd-color-neutral-50);gap:8px}";class ma extends ${constructor(e){super(),this.config=e,this.name="RteToolbarFeature"}getStyles(){return[this.contribution(Ff)]}getPlugins(e){const t=["history","font","text-style","textblock","insert"],n=new Map(t.map(i=>[i,[]]));for(const i of Ft(e.features.flatMap(s=>s.getToolbarItems(e))))n.get(i.section).push(i);return[this.contribution(new ce({view:i=>{const s=new Pi(i,e,{popupPlacement:this.config?.popupDirection==="outward"?"bottom":"top"}),o=i.dom.getRootNode().querySelector(".toolbar");let l=!1;for(const a of t){const c=n.get(a);c.length&&l&&(o.appendChild(ci(s)),l=!1);for(const h of c)o.appendChild(h.render(s)),l=!0}return{update(){s.updateBindings()},destroy(){o.innerHTML=""}}}}))]}}const Lf=H(ma);class zf{constructor(e){this[A]=new Bf(e)}instantiateEditor(e){return new cd(this,e)}}class Bf{constructor(e){const t=s=>s.flatMap(o=>o.getFeatures().flatMap(l=>l===o?o:t([l])));this.features=t(e.map(s=>s[A])),this.featureMap=new Map;for(const s of this.features){const o=s.constructor;if(this.featureMap.has(o))throw new Error(`Duplicate feature: ${o.name}`);this.featureMap.set(o,s)}if(!this.featureMap.has(da))throw new Error("RteBase feature is required");if(this.featureMap.has(pa)&&!this.featureMap.has(ma))throw new Error("RteToolbarFeature is required for RteLinkFeature");this.textblockAttrs=new Cu(Ft(this.features.flatMap(s=>s.getTextblockAttrs()))),this.textblockMarks=new wu(Ft(this.features.flatMap(s=>s.getTextblockMarks())));const n=Ft(this.features.flatMap(s=>s.getSchema(this.textblockAttrs,this.textblockMarks))),i={nodes:{},marks:{}};for(const s of n)Object.assign(i.nodes,s.nodes??{}),Object.assign(i.marks,s.marks??{});for(const s of this.textblockMarks.getReferencedNodeNames())if(!(s in i.nodes))throw new Error(`Unknown node "${s}"`);this.schema=new Xo(i)}}/*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */const{entries:ga,setPrototypeOf:mo,isFrozen:_f,getPrototypeOf:Vf,getOwnPropertyDescriptor:Hf}=Object;let{freeze:de,seal:we,create:hi}=Object,{apply:ui,construct:fi}=typeof Reflect<"u"&&Reflect;de||(de=function(e){return e});we||(we=function(e){return e});ui||(ui=function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];return e.apply(t,i)});fi||(fi=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return new e(...n)});const vn=pe(Array.prototype.forEach),Wf=pe(Array.prototype.lastIndexOf),go=pe(Array.prototype.pop),Kt=pe(Array.prototype.push),Uf=pe(Array.prototype.splice),_n=pe(String.prototype.toLowerCase),Br=pe(String.prototype.toString),_r=pe(String.prototype.match),Gt=pe(String.prototype.replace),qf=pe(String.prototype.indexOf),Jf=pe(String.prototype.trim),Ee=pe(Object.prototype.hasOwnProperty),ae=pe(RegExp.prototype.test),jt=$f(TypeError);function pe(r){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return ui(r,e,n)}}function $f(r){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return fi(r,t)}}function M(r,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:_n;mo&&mo(r,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const s=t(i);s!==i&&(_f(e)||(e[n]=s),i=s)}r[i]=!0}return r}function Kf(r){for(let e=0;e<r.length;e++)Ee(r,e)||(r[e]=null);return r}function Ve(r){const e=hi(null);for(const[t,n]of ga(r))Ee(r,t)&&(Array.isArray(n)?e[t]=Kf(n):n&&typeof n=="object"&&n.constructor===Object?e[t]=Ve(n):e[t]=n);return e}function Yt(r,e){for(;r!==null;){const n=Hf(r,e);if(n){if(n.get)return pe(n.get);if(typeof n.value=="function")return pe(n.value)}r=Vf(r)}function t(){return null}return t}const yo=de(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Vr=de(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Hr=de(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Gf=de(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Wr=de(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),jf=de(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),bo=de(["#text"]),ko=de(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Ur=de(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),So=de(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),In=de(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Yf=we(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Xf=we(/<%[\w\W]*|[\w\W]*%>/gm),Zf=we(/\$\{[\w\W]*/gm),Qf=we(/^data-[\-\w.\u00B7-\uFFFF]+$/),ed=we(/^aria-[\-\w]+$/),ya=we(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),td=we(/^(?:\w+script|data):/i),nd=we(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ba=we(/^html$/i),rd=we(/^[a-z][.\w]*(-[.\w]+)+$/i);var xo=Object.freeze({__proto__:null,ARIA_ATTR:ed,ATTR_WHITESPACE:nd,CUSTOM_ELEMENT:rd,DATA_ATTR:Qf,DOCTYPE_NAME:ba,ERB_EXPR:Xf,IS_ALLOWED_URI:ya,IS_SCRIPT_OR_DATA:td,MUSTACHE_EXPR:Yf,TMPLIT_EXPR:Zf});const Xt={element:1,text:3,progressingInstruction:7,comment:8,document:9},id=function(){return typeof window>"u"?null:window},sd=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));const s="dompurify"+(n?"#"+n:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},To=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ka(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:id();const e=T=>ka(T);if(e.version="3.3.0",e.removed=[],!r||!r.document||r.document.nodeType!==Xt.document||!r.Element)return e.isSupported=!1,e;let{document:t}=r;const n=t,i=n.currentScript,{DocumentFragment:s,HTMLTemplateElement:o,Node:l,Element:a,NodeFilter:c,NamedNodeMap:h=r.NamedNodeMap||r.MozNamedAttrMap,HTMLFormElement:u,DOMParser:f,trustedTypes:p}=r,d=a.prototype,g=Yt(d,"cloneNode"),y=Yt(d,"remove"),C=Yt(d,"nextSibling"),L=Yt(d,"childNodes"),I=Yt(d,"parentNode");if(typeof o=="function"){const T=t.createElement("template");T.content&&T.content.ownerDocument&&(t=T.content.ownerDocument)}let R,Oe="";const{implementation:$e,createNodeIterator:E,createDocumentFragment:B,getElementsByTagName:Q}=t,{importNode:sr}=n;let le=To();e.isSupported=typeof ga=="function"&&typeof I=="function"&&$e&&$e.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:or,ERB_EXPR:lr,TMPLIT_EXPR:ar,DATA_ATTR:va,ARIA_ATTR:Ia,IS_SCRIPT_OR_DATA:Ra,ATTR_WHITESPACE:Bi,CUSTOM_ELEMENT:Pa}=xo;let{IS_ALLOWED_URI:_i}=xo,W=null;const Vi=M({},[...yo,...Vr,...Hr,...Wr,...bo]);let K=null;const Hi=M({},[...ko,...Ur,...So,...In]);let z=Object.seal(hi(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ut=null,cr=null;const St=Object.seal(hi(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Wi=!0,hr=!0,Ui=!1,qi=!0,xt=!1,Sn=!0,st=!1,ur=!1,fr=!1,Tt=!1,xn=!1,Tn=!1,Ji=!0,$i=!1;const Fa="user-content-";let dr=!0,qt=!1,Ct={},wt=null;const Ki=M({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Gi=null;const ji=M({},["audio","video","img","source","image","track"]);let pr=null;const Yi=M({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Cn="http://www.w3.org/1998/Math/MathML",wn="http://www.w3.org/2000/svg",Le="http://www.w3.org/1999/xhtml";let Mt=Le,mr=!1,gr=null;const La=M({},[Cn,wn,Le],Br);let Mn=M({},["mi","mo","mn","ms","mtext"]),On=M({},["annotation-xml"]);const za=M({},["title","style","font","a","script"]);let Jt=null;const Ba=["application/xhtml+xml","text/html"],_a="text/html";let U=null,Ot=null;const Va=t.createElement("form"),Xi=function(m){return m instanceof RegExp||m instanceof Function},yr=function(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Ot&&Ot===m)){if((!m||typeof m!="object")&&(m={}),m=Ve(m),Jt=Ba.indexOf(m.PARSER_MEDIA_TYPE)===-1?_a:m.PARSER_MEDIA_TYPE,U=Jt==="application/xhtml+xml"?Br:_n,W=Ee(m,"ALLOWED_TAGS")?M({},m.ALLOWED_TAGS,U):Vi,K=Ee(m,"ALLOWED_ATTR")?M({},m.ALLOWED_ATTR,U):Hi,gr=Ee(m,"ALLOWED_NAMESPACES")?M({},m.ALLOWED_NAMESPACES,Br):La,pr=Ee(m,"ADD_URI_SAFE_ATTR")?M(Ve(Yi),m.ADD_URI_SAFE_ATTR,U):Yi,Gi=Ee(m,"ADD_DATA_URI_TAGS")?M(Ve(ji),m.ADD_DATA_URI_TAGS,U):ji,wt=Ee(m,"FORBID_CONTENTS")?M({},m.FORBID_CONTENTS,U):Ki,Ut=Ee(m,"FORBID_TAGS")?M({},m.FORBID_TAGS,U):Ve({}),cr=Ee(m,"FORBID_ATTR")?M({},m.FORBID_ATTR,U):Ve({}),Ct=Ee(m,"USE_PROFILES")?m.USE_PROFILES:!1,Wi=m.ALLOW_ARIA_ATTR!==!1,hr=m.ALLOW_DATA_ATTR!==!1,Ui=m.ALLOW_UNKNOWN_PROTOCOLS||!1,qi=m.ALLOW_SELF_CLOSE_IN_ATTR!==!1,xt=m.SAFE_FOR_TEMPLATES||!1,Sn=m.SAFE_FOR_XML!==!1,st=m.WHOLE_DOCUMENT||!1,Tt=m.RETURN_DOM||!1,xn=m.RETURN_DOM_FRAGMENT||!1,Tn=m.RETURN_TRUSTED_TYPE||!1,fr=m.FORCE_BODY||!1,Ji=m.SANITIZE_DOM!==!1,$i=m.SANITIZE_NAMED_PROPS||!1,dr=m.KEEP_CONTENT!==!1,qt=m.IN_PLACE||!1,_i=m.ALLOWED_URI_REGEXP||ya,Mt=m.NAMESPACE||Le,Mn=m.MATHML_TEXT_INTEGRATION_POINTS||Mn,On=m.HTML_INTEGRATION_POINTS||On,z=m.CUSTOM_ELEMENT_HANDLING||{},m.CUSTOM_ELEMENT_HANDLING&&Xi(m.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(z.tagNameCheck=m.CUSTOM_ELEMENT_HANDLING.tagNameCheck),m.CUSTOM_ELEMENT_HANDLING&&Xi(m.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(z.attributeNameCheck=m.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),m.CUSTOM_ELEMENT_HANDLING&&typeof m.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(z.allowCustomizedBuiltInElements=m.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),xt&&(hr=!1),xn&&(Tt=!0),Ct&&(W=M({},bo),K=[],Ct.html===!0&&(M(W,yo),M(K,ko)),Ct.svg===!0&&(M(W,Vr),M(K,Ur),M(K,In)),Ct.svgFilters===!0&&(M(W,Hr),M(K,Ur),M(K,In)),Ct.mathMl===!0&&(M(W,Wr),M(K,So),M(K,In))),m.ADD_TAGS&&(typeof m.ADD_TAGS=="function"?St.tagCheck=m.ADD_TAGS:(W===Vi&&(W=Ve(W)),M(W,m.ADD_TAGS,U))),m.ADD_ATTR&&(typeof m.ADD_ATTR=="function"?St.attributeCheck=m.ADD_ATTR:(K===Hi&&(K=Ve(K)),M(K,m.ADD_ATTR,U))),m.ADD_URI_SAFE_ATTR&&M(pr,m.ADD_URI_SAFE_ATTR,U),m.FORBID_CONTENTS&&(wt===Ki&&(wt=Ve(wt)),M(wt,m.FORBID_CONTENTS,U)),dr&&(W["#text"]=!0),st&&M(W,["html","head","body"]),W.table&&(M(W,["tbody"]),delete Ut.tbody),m.TRUSTED_TYPES_POLICY){if(typeof m.TRUSTED_TYPES_POLICY.createHTML!="function")throw jt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof m.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw jt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');R=m.TRUSTED_TYPES_POLICY,Oe=R.createHTML("")}else R===void 0&&(R=sd(p,i)),R!==null&&typeof Oe=="string"&&(Oe=R.createHTML(""));de&&de(m),Ot=m}},Zi=M({},[...Vr,...Hr,...Gf]),Qi=M({},[...Wr,...jf]),Ha=function(m){let k=I(m);(!k||!k.tagName)&&(k={namespaceURI:Mt,tagName:"template"});const x=_n(m.tagName),v=_n(k.tagName);return gr[m.namespaceURI]?m.namespaceURI===wn?k.namespaceURI===Le?x==="svg":k.namespaceURI===Cn?x==="svg"&&(v==="annotation-xml"||Mn[v]):!!Zi[x]:m.namespaceURI===Cn?k.namespaceURI===Le?x==="math":k.namespaceURI===wn?x==="math"&&On[v]:!!Qi[x]:m.namespaceURI===Le?k.namespaceURI===wn&&!On[v]||k.namespaceURI===Cn&&!Mn[v]?!1:!Qi[x]&&(za[x]||!Zi[x]):!!(Jt==="application/xhtml+xml"&&gr[m.namespaceURI]):!1},Ae=function(m){Kt(e.removed,{element:m});try{I(m).removeChild(m)}catch{y(m)}},ot=function(m,k){try{Kt(e.removed,{attribute:k.getAttributeNode(m),from:k})}catch{Kt(e.removed,{attribute:null,from:k})}if(k.removeAttribute(m),m==="is")if(Tt||xn)try{Ae(k)}catch{}else try{k.setAttribute(m,"")}catch{}},es=function(m){let k=null,x=null;if(fr)m="<remove></remove>"+m;else{const _=_r(m,/^[\r\n\t ]+/);x=_&&_[0]}Jt==="application/xhtml+xml"&&Mt===Le&&(m='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+m+"</body></html>");const v=R?R.createHTML(m):m;if(Mt===Le)try{k=new f().parseFromString(v,Jt)}catch{}if(!k||!k.documentElement){k=$e.createDocument(Mt,"template",null);try{k.documentElement.innerHTML=mr?Oe:v}catch{}}const ee=k.body||k.documentElement;return m&&x&&ee.insertBefore(t.createTextNode(x),ee.childNodes[0]||null),Mt===Le?Q.call(k,st?"html":"body")[0]:st?k.documentElement:ee},ts=function(m){return E.call(m.ownerDocument||m,m,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},br=function(m){return m instanceof u&&(typeof m.nodeName!="string"||typeof m.textContent!="string"||typeof m.removeChild!="function"||!(m.attributes instanceof h)||typeof m.removeAttribute!="function"||typeof m.setAttribute!="function"||typeof m.namespaceURI!="string"||typeof m.insertBefore!="function"||typeof m.hasChildNodes!="function")},ns=function(m){return typeof l=="function"&&m instanceof l};function ze(T,m,k){vn(T,x=>{x.call(e,m,k,Ot)})}const rs=function(m){let k=null;if(ze(le.beforeSanitizeElements,m,null),br(m))return Ae(m),!0;const x=U(m.nodeName);if(ze(le.uponSanitizeElement,m,{tagName:x,allowedTags:W}),Sn&&m.hasChildNodes()&&!ns(m.firstElementChild)&&ae(/<[/\w!]/g,m.innerHTML)&&ae(/<[/\w!]/g,m.textContent)||m.nodeType===Xt.progressingInstruction||Sn&&m.nodeType===Xt.comment&&ae(/<[/\w]/g,m.data))return Ae(m),!0;if(!(St.tagCheck instanceof Function&&St.tagCheck(x))&&(!W[x]||Ut[x])){if(!Ut[x]&&ss(x)&&(z.tagNameCheck instanceof RegExp&&ae(z.tagNameCheck,x)||z.tagNameCheck instanceof Function&&z.tagNameCheck(x)))return!1;if(dr&&!wt[x]){const v=I(m)||m.parentNode,ee=L(m)||m.childNodes;if(ee&&v){const _=ee.length;for(let ge=_-1;ge>=0;--ge){const Be=g(ee[ge],!0);Be.__removalCount=(m.__removalCount||0)+1,v.insertBefore(Be,C(m))}}}return Ae(m),!0}return m instanceof a&&!Ha(m)||(x==="noscript"||x==="noembed"||x==="noframes")&&ae(/<\/no(script|embed|frames)/i,m.innerHTML)?(Ae(m),!0):(xt&&m.nodeType===Xt.text&&(k=m.textContent,vn([or,lr,ar],v=>{k=Gt(k,v," ")}),m.textContent!==k&&(Kt(e.removed,{element:m.cloneNode()}),m.textContent=k)),ze(le.afterSanitizeElements,m,null),!1)},is=function(m,k,x){if(Ji&&(k==="id"||k==="name")&&(x in t||x in Va))return!1;if(!(hr&&!cr[k]&&ae(va,k))){if(!(Wi&&ae(Ia,k))){if(!(St.attributeCheck instanceof Function&&St.attributeCheck(k,m))){if(!K[k]||cr[k]){if(!(ss(m)&&(z.tagNameCheck instanceof RegExp&&ae(z.tagNameCheck,m)||z.tagNameCheck instanceof Function&&z.tagNameCheck(m))&&(z.attributeNameCheck instanceof RegExp&&ae(z.attributeNameCheck,k)||z.attributeNameCheck instanceof Function&&z.attributeNameCheck(k,m))||k==="is"&&z.allowCustomizedBuiltInElements&&(z.tagNameCheck instanceof RegExp&&ae(z.tagNameCheck,x)||z.tagNameCheck instanceof Function&&z.tagNameCheck(x))))return!1}else if(!pr[k]){if(!ae(_i,Gt(x,Bi,""))){if(!((k==="src"||k==="xlink:href"||k==="href")&&m!=="script"&&qf(x,"data:")===0&&Gi[m])){if(!(Ui&&!ae(Ra,Gt(x,Bi,"")))){if(x)return!1}}}}}}}return!0},ss=function(m){return m!=="annotation-xml"&&_r(m,Pa)},ls=function(m){ze(le.beforeSanitizeAttributes,m,null);const{attributes:k}=m;if(!k||br(m))return;const x={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:K,forceKeepAttr:void 0};let v=k.length;for(;v--;){const ee=k[v],{name:_,namespaceURI:ge,value:Be}=ee,Et=U(_),kr=Be;let G=_==="value"?kr:Jf(kr);if(x.attrName=Et,x.attrValue=G,x.keepAttr=!0,x.forceKeepAttr=void 0,ze(le.uponSanitizeAttribute,m,x),G=x.attrValue,$i&&(Et==="id"||Et==="name")&&(ot(_,m),G=Fa+G),Sn&&ae(/((--!?|])>)|<\/(style|title|textarea)/i,G)){ot(_,m);continue}if(Et==="attributename"&&_r(G,"href")){ot(_,m);continue}if(x.forceKeepAttr)continue;if(!x.keepAttr){ot(_,m);continue}if(!qi&&ae(/\/>/i,G)){ot(_,m);continue}xt&&vn([or,lr,ar],cs=>{G=Gt(G,cs," ")});const as=U(m.nodeName);if(!is(as,Et,G)){ot(_,m);continue}if(R&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!ge)switch(p.getAttributeType(as,Et)){case"TrustedHTML":{G=R.createHTML(G);break}case"TrustedScriptURL":{G=R.createScriptURL(G);break}}if(G!==kr)try{ge?m.setAttributeNS(ge,_,G):m.setAttribute(_,G),br(m)?Ae(m):go(e.removed)}catch{ot(_,m)}}ze(le.afterSanitizeAttributes,m,null)},Wa=function T(m){let k=null;const x=ts(m);for(ze(le.beforeSanitizeShadowDOM,m,null);k=x.nextNode();)ze(le.uponSanitizeShadowNode,k,null),rs(k),ls(k),k.content instanceof s&&T(k.content);ze(le.afterSanitizeShadowDOM,m,null)};return e.sanitize=function(T){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},k=null,x=null,v=null,ee=null;if(mr=!T,mr&&(T="<!-->"),typeof T!="string"&&!ns(T))if(typeof T.toString=="function"){if(T=T.toString(),typeof T!="string")throw jt("dirty is not a string, aborting")}else throw jt("toString is not a function");if(!e.isSupported)return T;if(ur||yr(m),e.removed=[],typeof T=="string"&&(qt=!1),qt){if(T.nodeName){const Be=U(T.nodeName);if(!W[Be]||Ut[Be])throw jt("root node is forbidden and cannot be sanitized in-place")}}else if(T instanceof l)k=es("<!---->"),x=k.ownerDocument.importNode(T,!0),x.nodeType===Xt.element&&x.nodeName==="BODY"||x.nodeName==="HTML"?k=x:k.appendChild(x);else{if(!Tt&&!xt&&!st&&T.indexOf("<")===-1)return R&&Tn?R.createHTML(T):T;if(k=es(T),!k)return Tt?null:Tn?Oe:""}k&&fr&&Ae(k.firstChild);const _=ts(qt?T:k);for(;v=_.nextNode();)rs(v),ls(v),v.content instanceof s&&Wa(v.content);if(qt)return T;if(Tt){if(xn)for(ee=B.call(k.ownerDocument);k.firstChild;)ee.appendChild(k.firstChild);else ee=k;return(K.shadowroot||K.shadowrootmode)&&(ee=sr.call(n,ee,!0)),ee}let ge=st?k.outerHTML:k.innerHTML;return st&&W["!doctype"]&&k.ownerDocument&&k.ownerDocument.doctype&&k.ownerDocument.doctype.name&&ae(ba,k.ownerDocument.doctype.name)&&(ge="<!DOCTYPE "+k.ownerDocument.doctype.name+`>
|
|
19
|
+
</${e}>`};class Fe extends me.VividElement{constructor(){super(...arguments),this.anchorBlocksPopover=!1,this.onAnchorBlockPopoverChanged=()=>{this.anchorBlocksPopover=this.anchorEl?.dataset.blockPopover==="true"||!1},this.requestedOpenState=!1}static setBlockPopover(e,t){e.dataset.blockPopover=t?"true":"false";const n=new CustomEvent("block-popover-changed",{bubbles:!1,composed:!1});e.dispatchEvent(n)}anchorElChanged(e,t){e?.removeEventListener("block-popover-changed",this.onAnchorBlockPopoverChanged),t?.addEventListener("block-popover-changed",this.onAnchorBlockPopoverChanged),this.onAnchorBlockPopoverChanged()}anchorIdChanged(){this.updateAnchor()}updateAnchor(){this.anchorId&&this.isConnected?this.anchorEl=this.getRootNode().getElementById(this.anchorId)||void 0:this.anchorEl=void 0}requestOpenState(e){this.requestedOpenState=e}get open(){return this.requestedOpenState&&!!this.anchorEl&&!this.anchorBlocksPopover}#e;connectedCallback(){super.connectedCallback(),this.updateAnchor(),this.#e=new MutationObserver(e=>{e.some(t=>Array.from(t.addedNodes).some(n=>n instanceof HTMLElement&&n.id===this.anchorId))&&this.updateAnchor()}),this.#e.observe(this.getRootNode(),{childList:!0,subtree:!0})}disconnectedCallback(){super.disconnectedCallback(),this.#e.disconnect()}}Wt([me.observable],Fe.prototype,"offset",2);Wt([me.observable],Fe.prototype,"anchorBlocksPopover",2);Wt([me.observable],Fe.prototype,"anchorEl",2);Wt([me.observable],Fe.prototype,"anchorId",2);Wt([me.observable],Fe.prototype,"requestedOpenState",2);Wt([me.volatile],Fe.prototype,"open",1);const If=me.defineVividComponent("popover",Fe,vf,[Gr.popupDefinition],{}),Rf=".link-popover{display:flex;flex-direction:column;padding:16px;gap:8px;inline-size:450px}.link-popover-header{display:flex;align-items:center;justify-content:space-between}.link-popover-label{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.link-popover-content{display:flex;flex-direction:column;gap:16px}.link,.editor a[href],.link:visited,.editor a[href]:visited{color:var(--vvd-color-cta-600)}.link:hover,.editor a[href]:hover{color:var(--vvd-color-cta-500)}.link:active,.editor a[href]:active{color:var(--vvd-color-cta-400)}.link-action-bar{display:flex;justify-content:end;gap:8px}.link-toolbar-menu{display:flex;flex-direction:column;padding:8px;gap:16px;inline-size:368px}";class pa extends ${constructor(){super(...arguments),this.name="RteLinkFeature",this.removeLink=(e,t)=>{const n=e.tr,i=this.getCurrentLink(e);return n.removeMark(i.start,i.end,e.schema.marks.link),t?.(n.scrollIntoView()),!0}}getStyles(){return[this.contribution(Rf)]}getSchema(){return[this.contribution({marks:{link:{attrs:{href:{validate:"string"}},inclusive:!1,parseDOM:[{tag:"a[href]",getAttrs(e){return{href:e.getAttribute("href")}}}],toDOM(e){const{href:t}=e.attrs;return["a",{href:t},0]}}}})]}getTextblockMarks(){return[this.contribution({markName:"link"})]}getPlugins(e){return[this.contribution(new ce({props:{decorations:t=>{const n=this.getCurrentLink(t);if(n){const i=ie.inline(n.start,n.end,{id:"current-link"});return P.create(t.doc,[i])}return null}},view:t=>{const n=new Pi(t,e,{popupPlacement:"bottom"}),i=e.createComponent(Fe);i.anchorId="current-link";const s=Ne(n,{className:"link-popover",children:[Ne(n,{className:"link-popover-header",children:[Ne(n,{className:"link-popover-label",children:[po(n,{text:()=>this.getCurrentLink(n.view.state)?.text||""})]}),q(n,{icon:"close-line",label:()=>n.rte.getLocale().richTextEditor.close,noTooltip:!0,onClick:()=>{i.requestOpenState(!1)}})]}),Ne(n,{className:"link-popover-content",children:[bf(n,{className:"link",href:()=>this.getCurrentLink(n.view.state)?.href||"",target:"_blank",rel:"noopener",children:[po(n,{text:()=>this.getCurrentLink(n.view.state)?.href||""})]}),Ne(n,{className:"link-action-bar",children:[q(n,{icon:"delete-line",label:()=>n.rte.getLocale().richTextEditor.delete,connotation:"alert",variant:"popover",noTooltip:!0,onClick:()=>{const{state:o,dispatch:l}=n.view;this.removeLink(o,l)}}),q(n,{icon:"edit-line",label:()=>n.rte.getLocale().richTextEditor.edit,variant:"popover",noTooltip:!0,onClick:()=>(this.toolbarMenu.open=!0,i.requestOpenState(!1),!0)})]})]})]});return i.appendChild(s),t.dom.getRootNode().querySelector(".popovers").appendChild(i),{update:o=>{const l=o.state;n.updateBindings();const a=this.getCurrentLink(l);i.requestOpenState(!!a)},destroy:()=>{i.remove()}}}}))]}getToolbarItems(e){const t=i=>{const{from:s,to:o}=i.selection;return s===o?"":i.doc.textBetween(s,o," ")},n=i=>{try{return new URL(i),!0}catch{return!1}};return[this.contribution({section:"insert",render:i=>{const s=fo(i,{label:()=>i.rte.getLocale().richTextEditor.linkText,placeholder:()=>i.rte.getLocale().richTextEditor.linkTextPlaceholder,slot:"header",autofocus:!0,value:()=>this.getCurrentLink(i.view.state)?.text||t(i.view.state)||"",onInput:()=>{a()}}),o=fo(i,{label:()=>i.rte.getLocale().richTextEditor.linkUrl,type:"url",placeholder:()=>i.rte.getLocale().richTextEditor.linkUrlPlaceholder,slot:"header",value:()=>this.getCurrentLink(i.view.state)?.href||"",onInput:()=>{a()}}),l=q(i,{label:()=>i.rte.getLocale().richTextEditor.apply,variant:"popover-primary",disabled:()=>{const h=this.getCurrentLink(i.view.state);return!(h&&h.text.length&&n(h.href))},onClick:()=>{const{state:h,dispatch:u}=i.view;this.insertLink(e,o.value,s.value)(h,u)}}),a=()=>{l.querySelector('[data-vvd-component="button"]').disabled=!(s.value.length&&n(o.value))},c=Fi(i,{label:()=>i.rte.getLocale().richTextEditor.hyperlink,trigger:q(i,{label:()=>i.rte.getLocale().richTextEditor.hyperlink,icon:"link-line"}),children:[Ne(i,{className:"link-toolbar-menu",slot:"header",children:[s,o,Ne(i,{className:"link-action-bar",slot:"header",children:[q(i,{label:()=>i.rte.getLocale().richTextEditor.cancel,variant:"popover",onClick:()=>{this.toolbarMenu.open=!1}}),l]})]})]});return this.toolbarMenu=c.lastElementChild,c}},1)]}getCurrentLink(e){const t=e.selection;if(!(t instanceof O&&t.empty))return null;const{$from:n}=t,s=e.schema.marks.link.isInSet(n.marks());if(!s)return null;const o=n.parent.childAfter(n.parentOffset),l=n.pos-n.parentOffset+o.offset,a=l+o.node.nodeSize;return{text:o.node.text,href:s.attrs.href,start:l,end:a}}insertLink(e,t,n){return(i,s)=>{let{from:o,to:l}=i.selection;const a=i.tr,c=this.getCurrentLink(i);return c&&(o=c.start,l=c.end),a.insertText(n,o,l),a.addMark(o,o+n.length,e.schema.marks.link.create({href:t})),s?.(a.scrollIntoView()),!0}}}const Pf=H(pa),Ff=".toolbar{display:flex;flex-wrap:wrap;align-items:center;padding:4px;background-color:var(--vvd-color-neutral-50);gap:8px}";class ma extends ${constructor(e){super(),this.config=e,this.name="RteToolbarFeature"}getStyles(){return[this.contribution(Ff)]}getPlugins(e){const t=["history","font","text-style","textblock","insert"],n=new Map(t.map(i=>[i,[]]));for(const i of Ft(e.features.flatMap(s=>s.getToolbarItems(e))))n.get(i.section).push(i);return[this.contribution(new ce({view:i=>{const s=new Pi(i,e,{popupPlacement:this.config?.popupDirection==="outward"?"bottom":"top"}),o=i.dom.getRootNode().querySelector(".toolbar");let l=!1;for(const a of t){const c=n.get(a);c.length&&l&&(o.appendChild(ci(s)),l=!1);for(const h of c)o.appendChild(h.render(s)),l=!0}return{update(){s.updateBindings()},destroy(){o.innerHTML=""}}}}))]}}const Lf=H(ma);class zf{constructor(e){this[A]=new Bf(e)}instantiateEditor(e){return new cd(this,e)}}class Bf{constructor(e){const t=s=>s.flatMap(o=>o.getFeatures().flatMap(l=>l===o?o:t([l])));this.features=t(e.map(s=>s[A])),this.featureMap=new Map;for(const s of this.features){const o=s.constructor;if(this.featureMap.has(o))throw new Error(`Duplicate feature: ${o.name}`);this.featureMap.set(o,s)}if(!this.featureMap.has(da))throw new Error("RteBase feature is required");if(this.featureMap.has(pa)&&!this.featureMap.has(ma))throw new Error("RteToolbarFeature is required for RteLinkFeature");this.textblockAttrs=new Cu(Ft(this.features.flatMap(s=>s.getTextblockAttrs()))),this.textblockMarks=new wu(Ft(this.features.flatMap(s=>s.getTextblockMarks())));const n=Ft(this.features.flatMap(s=>s.getSchema(this.textblockAttrs,this.textblockMarks))),i={nodes:{},marks:{}};for(const s of n)Object.assign(i.nodes,s.nodes??{}),Object.assign(i.marks,s.marks??{});for(const s of this.textblockMarks.getReferencedNodeNames())if(!(s in i.nodes))throw new Error(`Unknown node "${s}"`);this.schema=new Xo(i)}}/*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */const{entries:ga,setPrototypeOf:mo,isFrozen:_f,getPrototypeOf:Vf,getOwnPropertyDescriptor:Hf}=Object;let{freeze:de,seal:we,create:hi}=Object,{apply:ui,construct:fi}=typeof Reflect<"u"&&Reflect;de||(de=function(e){return e});we||(we=function(e){return e});ui||(ui=function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];return e.apply(t,i)});fi||(fi=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return new e(...n)});const vn=pe(Array.prototype.forEach),Wf=pe(Array.prototype.lastIndexOf),go=pe(Array.prototype.pop),Kt=pe(Array.prototype.push),Uf=pe(Array.prototype.splice),_n=pe(String.prototype.toLowerCase),Br=pe(String.prototype.toString),_r=pe(String.prototype.match),Gt=pe(String.prototype.replace),qf=pe(String.prototype.indexOf),Jf=pe(String.prototype.trim),Ee=pe(Object.prototype.hasOwnProperty),ae=pe(RegExp.prototype.test),jt=$f(TypeError);function pe(r){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return ui(r,e,n)}}function $f(r){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return fi(r,t)}}function M(r,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:_n;mo&&mo(r,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const s=t(i);s!==i&&(_f(e)||(e[n]=s),i=s)}r[i]=!0}return r}function Kf(r){for(let e=0;e<r.length;e++)Ee(r,e)||(r[e]=null);return r}function Ve(r){const e=hi(null);for(const[t,n]of ga(r))Ee(r,t)&&(Array.isArray(n)?e[t]=Kf(n):n&&typeof n=="object"&&n.constructor===Object?e[t]=Ve(n):e[t]=n);return e}function Yt(r,e){for(;r!==null;){const n=Hf(r,e);if(n){if(n.get)return pe(n.get);if(typeof n.value=="function")return pe(n.value)}r=Vf(r)}function t(){return null}return t}const yo=de(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Vr=de(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Hr=de(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Gf=de(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Wr=de(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),jf=de(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),bo=de(["#text"]),ko=de(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Ur=de(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),So=de(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),In=de(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Yf=we(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Xf=we(/<%[\w\W]*|[\w\W]*%>/gm),Zf=we(/\$\{[\w\W]*/gm),Qf=we(/^data-[\-\w.\u00B7-\uFFFF]+$/),ed=we(/^aria-[\-\w]+$/),ya=we(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),td=we(/^(?:\w+script|data):/i),nd=we(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ba=we(/^html$/i),rd=we(/^[a-z][.\w]*(-[.\w]+)+$/i);var xo=Object.freeze({__proto__:null,ARIA_ATTR:ed,ATTR_WHITESPACE:nd,CUSTOM_ELEMENT:rd,DATA_ATTR:Qf,DOCTYPE_NAME:ba,ERB_EXPR:Xf,IS_ALLOWED_URI:ya,IS_SCRIPT_OR_DATA:td,MUSTACHE_EXPR:Yf,TMPLIT_EXPR:Zf});const Xt={element:1,text:3,progressingInstruction:7,comment:8,document:9},id=function(){return typeof window>"u"?null:window},sd=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));const s="dompurify"+(n?"#"+n:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},To=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ka(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:id();const e=T=>ka(T);if(e.version="3.3.0",e.removed=[],!r||!r.document||r.document.nodeType!==Xt.document||!r.Element)return e.isSupported=!1,e;let{document:t}=r;const n=t,i=n.currentScript,{DocumentFragment:s,HTMLTemplateElement:o,Node:l,Element:a,NodeFilter:c,NamedNodeMap:h=r.NamedNodeMap||r.MozNamedAttrMap,HTMLFormElement:u,DOMParser:f,trustedTypes:p}=r,d=a.prototype,g=Yt(d,"cloneNode"),y=Yt(d,"remove"),C=Yt(d,"nextSibling"),L=Yt(d,"childNodes"),I=Yt(d,"parentNode");if(typeof o=="function"){const T=t.createElement("template");T.content&&T.content.ownerDocument&&(t=T.content.ownerDocument)}let R,Oe="";const{implementation:$e,createNodeIterator:E,createDocumentFragment:B,getElementsByTagName:Q}=t,{importNode:sr}=n;let le=To();e.isSupported=typeof ga=="function"&&typeof I=="function"&&$e&&$e.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:or,ERB_EXPR:lr,TMPLIT_EXPR:ar,DATA_ATTR:va,ARIA_ATTR:Ia,IS_SCRIPT_OR_DATA:Ra,ATTR_WHITESPACE:Bi,CUSTOM_ELEMENT:Pa}=xo;let{IS_ALLOWED_URI:_i}=xo,W=null;const Vi=M({},[...yo,...Vr,...Hr,...Wr,...bo]);let K=null;const Hi=M({},[...ko,...Ur,...So,...In]);let z=Object.seal(hi(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ut=null,cr=null;const St=Object.seal(hi(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Wi=!0,hr=!0,Ui=!1,qi=!0,xt=!1,Sn=!0,st=!1,ur=!1,fr=!1,Tt=!1,xn=!1,Tn=!1,Ji=!0,$i=!1;const Fa="user-content-";let dr=!0,qt=!1,Ct={},wt=null;const Ki=M({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Gi=null;const ji=M({},["audio","video","img","source","image","track"]);let pr=null;const Yi=M({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Cn="http://www.w3.org/1998/Math/MathML",wn="http://www.w3.org/2000/svg",Le="http://www.w3.org/1999/xhtml";let Mt=Le,mr=!1,gr=null;const La=M({},[Cn,wn,Le],Br);let Mn=M({},["mi","mo","mn","ms","mtext"]),On=M({},["annotation-xml"]);const za=M({},["title","style","font","a","script"]);let Jt=null;const Ba=["application/xhtml+xml","text/html"],_a="text/html";let U=null,Ot=null;const Va=t.createElement("form"),Xi=function(m){return m instanceof RegExp||m instanceof Function},yr=function(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Ot&&Ot===m)){if((!m||typeof m!="object")&&(m={}),m=Ve(m),Jt=Ba.indexOf(m.PARSER_MEDIA_TYPE)===-1?_a:m.PARSER_MEDIA_TYPE,U=Jt==="application/xhtml+xml"?Br:_n,W=Ee(m,"ALLOWED_TAGS")?M({},m.ALLOWED_TAGS,U):Vi,K=Ee(m,"ALLOWED_ATTR")?M({},m.ALLOWED_ATTR,U):Hi,gr=Ee(m,"ALLOWED_NAMESPACES")?M({},m.ALLOWED_NAMESPACES,Br):La,pr=Ee(m,"ADD_URI_SAFE_ATTR")?M(Ve(Yi),m.ADD_URI_SAFE_ATTR,U):Yi,Gi=Ee(m,"ADD_DATA_URI_TAGS")?M(Ve(ji),m.ADD_DATA_URI_TAGS,U):ji,wt=Ee(m,"FORBID_CONTENTS")?M({},m.FORBID_CONTENTS,U):Ki,Ut=Ee(m,"FORBID_TAGS")?M({},m.FORBID_TAGS,U):Ve({}),cr=Ee(m,"FORBID_ATTR")?M({},m.FORBID_ATTR,U):Ve({}),Ct=Ee(m,"USE_PROFILES")?m.USE_PROFILES:!1,Wi=m.ALLOW_ARIA_ATTR!==!1,hr=m.ALLOW_DATA_ATTR!==!1,Ui=m.ALLOW_UNKNOWN_PROTOCOLS||!1,qi=m.ALLOW_SELF_CLOSE_IN_ATTR!==!1,xt=m.SAFE_FOR_TEMPLATES||!1,Sn=m.SAFE_FOR_XML!==!1,st=m.WHOLE_DOCUMENT||!1,Tt=m.RETURN_DOM||!1,xn=m.RETURN_DOM_FRAGMENT||!1,Tn=m.RETURN_TRUSTED_TYPE||!1,fr=m.FORCE_BODY||!1,Ji=m.SANITIZE_DOM!==!1,$i=m.SANITIZE_NAMED_PROPS||!1,dr=m.KEEP_CONTENT!==!1,qt=m.IN_PLACE||!1,_i=m.ALLOWED_URI_REGEXP||ya,Mt=m.NAMESPACE||Le,Mn=m.MATHML_TEXT_INTEGRATION_POINTS||Mn,On=m.HTML_INTEGRATION_POINTS||On,z=m.CUSTOM_ELEMENT_HANDLING||{},m.CUSTOM_ELEMENT_HANDLING&&Xi(m.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(z.tagNameCheck=m.CUSTOM_ELEMENT_HANDLING.tagNameCheck),m.CUSTOM_ELEMENT_HANDLING&&Xi(m.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(z.attributeNameCheck=m.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),m.CUSTOM_ELEMENT_HANDLING&&typeof m.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(z.allowCustomizedBuiltInElements=m.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),xt&&(hr=!1),xn&&(Tt=!0),Ct&&(W=M({},bo),K=[],Ct.html===!0&&(M(W,yo),M(K,ko)),Ct.svg===!0&&(M(W,Vr),M(K,Ur),M(K,In)),Ct.svgFilters===!0&&(M(W,Hr),M(K,Ur),M(K,In)),Ct.mathMl===!0&&(M(W,Wr),M(K,So),M(K,In))),m.ADD_TAGS&&(typeof m.ADD_TAGS=="function"?St.tagCheck=m.ADD_TAGS:(W===Vi&&(W=Ve(W)),M(W,m.ADD_TAGS,U))),m.ADD_ATTR&&(typeof m.ADD_ATTR=="function"?St.attributeCheck=m.ADD_ATTR:(K===Hi&&(K=Ve(K)),M(K,m.ADD_ATTR,U))),m.ADD_URI_SAFE_ATTR&&M(pr,m.ADD_URI_SAFE_ATTR,U),m.FORBID_CONTENTS&&(wt===Ki&&(wt=Ve(wt)),M(wt,m.FORBID_CONTENTS,U)),dr&&(W["#text"]=!0),st&&M(W,["html","head","body"]),W.table&&(M(W,["tbody"]),delete Ut.tbody),m.TRUSTED_TYPES_POLICY){if(typeof m.TRUSTED_TYPES_POLICY.createHTML!="function")throw jt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof m.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw jt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');R=m.TRUSTED_TYPES_POLICY,Oe=R.createHTML("")}else R===void 0&&(R=sd(p,i)),R!==null&&typeof Oe=="string"&&(Oe=R.createHTML(""));de&&de(m),Ot=m}},Zi=M({},[...Vr,...Hr,...Gf]),Qi=M({},[...Wr,...jf]),Ha=function(m){let k=I(m);(!k||!k.tagName)&&(k={namespaceURI:Mt,tagName:"template"});const x=_n(m.tagName),v=_n(k.tagName);return gr[m.namespaceURI]?m.namespaceURI===wn?k.namespaceURI===Le?x==="svg":k.namespaceURI===Cn?x==="svg"&&(v==="annotation-xml"||Mn[v]):!!Zi[x]:m.namespaceURI===Cn?k.namespaceURI===Le?x==="math":k.namespaceURI===wn?x==="math"&&On[v]:!!Qi[x]:m.namespaceURI===Le?k.namespaceURI===wn&&!On[v]||k.namespaceURI===Cn&&!Mn[v]?!1:!Qi[x]&&(za[x]||!Zi[x]):!!(Jt==="application/xhtml+xml"&&gr[m.namespaceURI]):!1},Ae=function(m){Kt(e.removed,{element:m});try{I(m).removeChild(m)}catch{y(m)}},ot=function(m,k){try{Kt(e.removed,{attribute:k.getAttributeNode(m),from:k})}catch{Kt(e.removed,{attribute:null,from:k})}if(k.removeAttribute(m),m==="is")if(Tt||xn)try{Ae(k)}catch{}else try{k.setAttribute(m,"")}catch{}},es=function(m){let k=null,x=null;if(fr)m="<remove></remove>"+m;else{const _=_r(m,/^[\r\n\t ]+/);x=_&&_[0]}Jt==="application/xhtml+xml"&&Mt===Le&&(m='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+m+"</body></html>");const v=R?R.createHTML(m):m;if(Mt===Le)try{k=new f().parseFromString(v,Jt)}catch{}if(!k||!k.documentElement){k=$e.createDocument(Mt,"template",null);try{k.documentElement.innerHTML=mr?Oe:v}catch{}}const ee=k.body||k.documentElement;return m&&x&&ee.insertBefore(t.createTextNode(x),ee.childNodes[0]||null),Mt===Le?Q.call(k,st?"html":"body")[0]:st?k.documentElement:ee},ts=function(m){return E.call(m.ownerDocument||m,m,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},br=function(m){return m instanceof u&&(typeof m.nodeName!="string"||typeof m.textContent!="string"||typeof m.removeChild!="function"||!(m.attributes instanceof h)||typeof m.removeAttribute!="function"||typeof m.setAttribute!="function"||typeof m.namespaceURI!="string"||typeof m.insertBefore!="function"||typeof m.hasChildNodes!="function")},ns=function(m){return typeof l=="function"&&m instanceof l};function ze(T,m,k){vn(T,x=>{x.call(e,m,k,Ot)})}const rs=function(m){let k=null;if(ze(le.beforeSanitizeElements,m,null),br(m))return Ae(m),!0;const x=U(m.nodeName);if(ze(le.uponSanitizeElement,m,{tagName:x,allowedTags:W}),Sn&&m.hasChildNodes()&&!ns(m.firstElementChild)&&ae(/<[/\w!]/g,m.innerHTML)&&ae(/<[/\w!]/g,m.textContent)||m.nodeType===Xt.progressingInstruction||Sn&&m.nodeType===Xt.comment&&ae(/<[/\w]/g,m.data))return Ae(m),!0;if(!(St.tagCheck instanceof Function&&St.tagCheck(x))&&(!W[x]||Ut[x])){if(!Ut[x]&&ss(x)&&(z.tagNameCheck instanceof RegExp&&ae(z.tagNameCheck,x)||z.tagNameCheck instanceof Function&&z.tagNameCheck(x)))return!1;if(dr&&!wt[x]){const v=I(m)||m.parentNode,ee=L(m)||m.childNodes;if(ee&&v){const _=ee.length;for(let ge=_-1;ge>=0;--ge){const Be=g(ee[ge],!0);Be.__removalCount=(m.__removalCount||0)+1,v.insertBefore(Be,C(m))}}}return Ae(m),!0}return m instanceof a&&!Ha(m)||(x==="noscript"||x==="noembed"||x==="noframes")&&ae(/<\/no(script|embed|frames)/i,m.innerHTML)?(Ae(m),!0):(xt&&m.nodeType===Xt.text&&(k=m.textContent,vn([or,lr,ar],v=>{k=Gt(k,v," ")}),m.textContent!==k&&(Kt(e.removed,{element:m.cloneNode()}),m.textContent=k)),ze(le.afterSanitizeElements,m,null),!1)},is=function(m,k,x){if(Ji&&(k==="id"||k==="name")&&(x in t||x in Va))return!1;if(!(hr&&!cr[k]&&ae(va,k))){if(!(Wi&&ae(Ia,k))){if(!(St.attributeCheck instanceof Function&&St.attributeCheck(k,m))){if(!K[k]||cr[k]){if(!(ss(m)&&(z.tagNameCheck instanceof RegExp&&ae(z.tagNameCheck,m)||z.tagNameCheck instanceof Function&&z.tagNameCheck(m))&&(z.attributeNameCheck instanceof RegExp&&ae(z.attributeNameCheck,k)||z.attributeNameCheck instanceof Function&&z.attributeNameCheck(k,m))||k==="is"&&z.allowCustomizedBuiltInElements&&(z.tagNameCheck instanceof RegExp&&ae(z.tagNameCheck,x)||z.tagNameCheck instanceof Function&&z.tagNameCheck(x))))return!1}else if(!pr[k]){if(!ae(_i,Gt(x,Bi,""))){if(!((k==="src"||k==="xlink:href"||k==="href")&&m!=="script"&&qf(x,"data:")===0&&Gi[m])){if(!(Ui&&!ae(Ra,Gt(x,Bi,"")))){if(x)return!1}}}}}}}return!0},ss=function(m){return m!=="annotation-xml"&&_r(m,Pa)},ls=function(m){ze(le.beforeSanitizeAttributes,m,null);const{attributes:k}=m;if(!k||br(m))return;const x={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:K,forceKeepAttr:void 0};let v=k.length;for(;v--;){const ee=k[v],{name:_,namespaceURI:ge,value:Be}=ee,Et=U(_),kr=Be;let G=_==="value"?kr:Jf(kr);if(x.attrName=Et,x.attrValue=G,x.keepAttr=!0,x.forceKeepAttr=void 0,ze(le.uponSanitizeAttribute,m,x),G=x.attrValue,$i&&(Et==="id"||Et==="name")&&(ot(_,m),G=Fa+G),Sn&&ae(/((--!?|])>)|<\/(style|title|textarea)/i,G)){ot(_,m);continue}if(Et==="attributename"&&_r(G,"href")){ot(_,m);continue}if(x.forceKeepAttr)continue;if(!x.keepAttr){ot(_,m);continue}if(!qi&&ae(/\/>/i,G)){ot(_,m);continue}xt&&vn([or,lr,ar],cs=>{G=Gt(G,cs," ")});const as=U(m.nodeName);if(!is(as,Et,G)){ot(_,m);continue}if(R&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!ge)switch(p.getAttributeType(as,Et)){case"TrustedHTML":{G=R.createHTML(G);break}case"TrustedScriptURL":{G=R.createScriptURL(G);break}}if(G!==kr)try{ge?m.setAttributeNS(ge,_,G):m.setAttribute(_,G),br(m)?Ae(m):go(e.removed)}catch{ot(_,m)}}ze(le.afterSanitizeAttributes,m,null)},Wa=function T(m){let k=null;const x=ts(m);for(ze(le.beforeSanitizeShadowDOM,m,null);k=x.nextNode();)ze(le.uponSanitizeShadowNode,k,null),rs(k),ls(k),k.content instanceof s&&T(k.content);ze(le.afterSanitizeShadowDOM,m,null)};return e.sanitize=function(T){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},k=null,x=null,v=null,ee=null;if(mr=!T,mr&&(T="<!-->"),typeof T!="string"&&!ns(T))if(typeof T.toString=="function"){if(T=T.toString(),typeof T!="string")throw jt("dirty is not a string, aborting")}else throw jt("toString is not a function");if(!e.isSupported)return T;if(ur||yr(m),e.removed=[],typeof T=="string"&&(qt=!1),qt){if(T.nodeName){const Be=U(T.nodeName);if(!W[Be]||Ut[Be])throw jt("root node is forbidden and cannot be sanitized in-place")}}else if(T instanceof l)k=es("<!---->"),x=k.ownerDocument.importNode(T,!0),x.nodeType===Xt.element&&x.nodeName==="BODY"||x.nodeName==="HTML"?k=x:k.appendChild(x);else{if(!Tt&&!xt&&!st&&T.indexOf("<")===-1)return R&&Tn?R.createHTML(T):T;if(k=es(T),!k)return Tt?null:Tn?Oe:""}k&&fr&&Ae(k.firstChild);const _=ts(qt?T:k);for(;v=_.nextNode();)rs(v),ls(v),v.content instanceof s&&Wa(v.content);if(qt)return T;if(Tt){if(xn)for(ee=B.call(k.ownerDocument);k.firstChild;)ee.appendChild(k.firstChild);else ee=k;return(K.shadowroot||K.shadowrootmode)&&(ee=sr.call(n,ee,!0)),ee}let ge=st?k.outerHTML:k.innerHTML;return st&&W["!doctype"]&&k.ownerDocument&&k.ownerDocument.doctype&&k.ownerDocument.doctype.name&&ae(ba,k.ownerDocument.doctype.name)&&(ge="<!DOCTYPE "+k.ownerDocument.doctype.name+`>
|
|
20
20
|
`+ge),xt&&vn([or,lr,ar],Be=>{ge=Gt(ge,Be," ")}),R&&Tn?R.createHTML(ge):ge},e.setConfig=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};yr(T),ur=!0},e.clearConfig=function(){Ot=null,ur=!1},e.isValidAttribute=function(T,m,k){Ot||yr({});const x=U(T),v=U(m);return is(x,v,k)},e.addHook=function(T,m){typeof m=="function"&&Kt(le[T],m)},e.removeHook=function(T,m){if(m!==void 0){const k=Wf(le[T],m);return k===-1?void 0:Uf(le[T],k,1)[0]}return go(le[T])},e.removeHooks=function(T){le[T]=[]},e.removeAllHooks=function(){le=To()},e}var Sa=ka();const Xn=r=>({...r}),od=r=>({nodes:Object.fromEntries(Object.keys(r.nodes).map(e=>[e,(r.nodes[e].spec.parseDOM??[]).map(Xn)])),marks:Object.fromEntries(Object.keys(r.marks).map(e=>[e,(r.marks[e].spec.parseDOM??[]).map(Xn)]))});class xa{constructor(e,t){this[A]=new ld(e[A],t)}parseDocument(e,t){return this[A].parser.parse(this.parseHtml(e,t),{preserveWhitespace:!0}).toJSON()}parseFragment(e,t){return this[A].parser.parseSlice(this.parseHtml(e,t),{preserveWhitespace:!0}).content.toJSON()??[]}parseHtml(e,t){const n=Sa.sanitize(e,{RETURN_DOM:!0}),i=document.createDocumentFragment();return i.appendChild(n),t?.modifyDom?.(i),i}}class ld{constructor(e,t){const n=od(e.schema);t?.modifyParseRules?.(n),this.parser=ad(e.schema,n)}transform(e){return Sa.sanitize(e)}}const ad=(r,{marks:e,nodes:t})=>{const n=[],i=o=>o.priority??50;function s(o){let l=0;for(;l<n.length;l++){const a=n[l];if(i(a)<i(o))break}n.splice(l,0,o)}for(const o in e)e[o]?.forEach(l=>{s(l=Xn(l)),l.mark||l.ignore||l.clearMark||(l.mark=o)});for(const o in t)t[o]?.forEach(l=>{s(l=Xn(l)),l.node||l.ignore||l.mark||(l.node=o)});return new Lt(r,n)};class Ta{constructor(e,t){this[A]=new Li(e[A],t)}serializeDocument(e,t){return this[A].serializeFragment(e.content,t)}serializeFragment(e,t){return this[A].serializeFragment(e,t)}}class Li{constructor(e,t){this.config=e;const n=Li.domSerializersFromSchema(e.schema);Object.assign(n.nodes,t?.serializers?.nodes??{}),Object.assign(n.marks,t?.serializers?.marks??{}),this.serializer=new kt(n.nodes,n.marks)}static domSerializersFromSchema(e){const t={nodes:{},marks:{}};for(const n in e.marks){const i=e.marks[n].spec.toDOM;i&&(t.marks[n]=i)}for(const n in e.nodes){const i=e.nodes[n].spec.serializeToDOM??e.nodes[n].spec.toDOM;i&&(t.nodes[n]=i)}return t.nodes.text=n=>document.createTextNode(n.text),t}serializeFragment(e,t){const n=b.fromJSON(this.config.schema,e),i=this.serializer.serializeFragment(n),s=document.createDocumentFragment();s.appendChild(i),t?.modifyDom?.(s);const o=document.createElement("div");return o.appendChild(s),o.innerHTML}}const Ca=(r,e)=>{const t=r.topNodeType.createAndFill(null,e?b.fromJSON(r,e.content):null);if(!t)throw new Error("Document could not be parsed");return t.check(),t};class cd{constructor(e,t){this.options=t,this[A]=new hd(e,t)}getDocument(){return this[A].state.doc.toJSON()}reset(e){this[A].reset(e)}replaceSelection(e,t){const{state:n,tr:i,schema:s,dispatchTransaction:o}=this[A];i.replaceSelection(new S(b.fromJSON(s,e),0,0)),i.doc.check();const l=i.doc.resolve(i.mapping.map(n.selection.from)),a=i.doc.resolve(i.selection.to),[c,h]=t?.cursorPlacement==="start"?[l,a]:[a,l];t?.selectContent?i.setSelection(n.selection instanceof Z?new Z(i.doc):O.between(h,c)):i.setSelection(O.between(c,c)),o(i)}replaceDocument(e,t){const{state:n,tr:i,schema:s,dispatchTransaction:o}=this[A];i.replaceWith(0,n.doc.content.size,Ca(s,e)),t?.selectContent?i.setSelection(new Z(i.doc)):t?.cursorPlacement==="end"?i.setSelection(O.atEnd(i.doc)):i.setSelection(O.atStart(i.doc)),o(i)}}class hd{constructor(e,t){this.options=t,this.view=null,this.dispatchTransaction=i=>{const s=this.state;return this.state=this.state.apply(i),this.view?.updateState(this.state),s.doc!==this.state.doc&&this.options?.onChange?.(),this.state};const n=e[A];this.config=n,this.schema=n.schema,this.textblockAttrs=n.textblockAttrs,this.features=n.features,this.foreignHtmlParser=t?.foreignHtmlParser??new xa(e),this.foreignHtmlSerializer=t?.foreignHtmlSerializer??new Ta(e),this.styles=new me.ElementStyles(Ft(n.features.flatMap(i=>i.getStyles()))),this.initState(t?.initialDocument)}getFeature(e){const t=this.config.featureMap.get(e);if(!t)throw new Error(`Feature not found: ${e.name}`);return t}initState(e){this.state=It.create({doc:Ca(this.schema,e),schema:this.config.schema,plugins:Ft(this.config.features.flatMap(t=>t.getPlugins(this)))})}reset(e){const t=ln.getState(this.state);this.initState(e),this.updateHostState(t),this.view?.updateState(this.state)}createView(e){this.view=new Kl(e,{state:this.state,dispatchTransaction:this.dispatchTransaction})}destroyViewIfNeeded(){this.view&&(this.view.destroy(),this.view=null)}createComponent(e){return document.createElement(this.hostState().ctx.tagFor(e,!0))}getLocale(){return this.hostState().locale}get tr(){return this.state.tr}hostState(){const e=ln.getState(this.state);if(!e)throw new Error("No host state available");return e}updateHostState(e){this.dispatchTransaction(this.tr.setMeta(ln,e))}}var ud=Object.defineProperty,fd=(r,e,t,n)=>{for(var i=void 0,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=o(e,t,i)||i);return i&&ud(e,t,i),i};class wa extends Ua.WithObservableLocale(me.VividElement){instanceChanged(e){e?.[A].destroyViewIfNeeded(),this._initViewIfNeeded(),e?.[A].styles.removeStylesFrom(this.shadowRoot),this.instance?.[A].styles.addStylesTo(this.shadowRoot)}_initViewIfNeeded(){const e=this.instance?.[A];e&&this.$fastController.isConnected&&!e.view&&(this._syncStateIfNeeded(),e.createView(this._editorEl))}_destroyViewIfNeeded(){this.instance?.[A].destroyViewIfNeeded()}connectedCallback(){super.connectedCallback(),this._initViewIfNeeded()}disconnectedCallback(){super.disconnectedCallback(),this._destroyViewIfNeeded()}localeChanged(){this._syncStateIfNeeded()}_syncStateIfNeeded(){this.instance?.[A].updateHostState({locale:this.locale,ctx:this._ctx})}}fd([me.observable],wa.prototype,"instance");const dd=r=>me.html`<template :_ctx="${()=>r}">
|
|
21
21
|
<div class="rte">
|
|
22
22
|
<div class="editor-viewport" ${hs.ref("editorViewportElement")}>
|
|
@@ -10721,7 +10721,7 @@ class ca extends K {
|
|
|
10721
10721
|
className: "link-popover-label",
|
|
10722
10722
|
children: [
|
|
10723
10723
|
uo(n, {
|
|
10724
|
-
text: () => n.
|
|
10724
|
+
text: () => this.getCurrentLink(n.view.state)?.text || ""
|
|
10725
10725
|
})
|
|
10726
10726
|
]
|
|
10727
10727
|
}),
|
package/select/definition.cjs
CHANGED
|
@@ -124,18 +124,21 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
124
124
|
* @internal
|
|
125
125
|
*/
|
|
126
126
|
checkFirstOption(preserveChecked) {
|
|
127
|
+
const firstSelectableIndex = this.getNextSelectableIndex(0);
|
|
128
|
+
if (firstSelectableIndex === -1) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
127
131
|
if (preserveChecked) {
|
|
128
|
-
/* v8 ignore else -- @preserve */
|
|
129
132
|
if (this.rangeStartIndex === -1) {
|
|
130
|
-
this.rangeStartIndex = this.activeIndex
|
|
133
|
+
this.rangeStartIndex = this.activeIndex;
|
|
131
134
|
}
|
|
132
135
|
this.options.forEach((o, i) => {
|
|
133
|
-
o.checked = fastWebUtilities.inRange(i, this.rangeStartIndex);
|
|
136
|
+
o.checked = fastWebUtilities.inRange(i, firstSelectableIndex, this.rangeStartIndex + 1) && !o.disabled;
|
|
134
137
|
});
|
|
135
138
|
} else {
|
|
136
139
|
this.uncheckAllOptions();
|
|
137
140
|
}
|
|
138
|
-
this.activeIndex =
|
|
141
|
+
this.activeIndex = firstSelectableIndex;
|
|
139
142
|
this.checkActiveIndex();
|
|
140
143
|
}
|
|
141
144
|
/**
|
|
@@ -149,18 +152,23 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
149
152
|
* @internal
|
|
150
153
|
*/
|
|
151
154
|
checkLastOption(preserveChecked) {
|
|
155
|
+
const lastSelectableIndex = this.getPreviousSelectableIndex(
|
|
156
|
+
this.length - 1
|
|
157
|
+
);
|
|
158
|
+
if (lastSelectableIndex === -1) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
152
161
|
if (preserveChecked) {
|
|
153
|
-
/* v8 ignore else -- @preserve */
|
|
154
162
|
if (this.rangeStartIndex === -1) {
|
|
155
163
|
this.rangeStartIndex = this.activeIndex;
|
|
156
164
|
}
|
|
157
165
|
this.options.forEach((o, i) => {
|
|
158
|
-
o.checked = fastWebUtilities.inRange(i, this.rangeStartIndex,
|
|
166
|
+
o.checked = fastWebUtilities.inRange(i, this.rangeStartIndex, lastSelectableIndex + 1) && !o.disabled;
|
|
159
167
|
});
|
|
160
168
|
} else {
|
|
161
169
|
this.uncheckAllOptions();
|
|
162
170
|
}
|
|
163
|
-
this.activeIndex =
|
|
171
|
+
this.activeIndex = lastSelectableIndex;
|
|
164
172
|
this.checkActiveIndex();
|
|
165
173
|
}
|
|
166
174
|
/**
|
|
@@ -174,18 +182,21 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
174
182
|
* @internal
|
|
175
183
|
*/
|
|
176
184
|
checkNextOption(preserveChecked) {
|
|
185
|
+
const nextIndex = this.getNextSelectableIndex(this.activeIndex + 1);
|
|
186
|
+
if (nextIndex === -1) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
177
189
|
if (preserveChecked) {
|
|
178
|
-
/* v8 ignore else -- @preserve */
|
|
179
190
|
if (this.rangeStartIndex === -1) {
|
|
180
191
|
this.rangeStartIndex = this.activeIndex;
|
|
181
192
|
}
|
|
182
193
|
this.options.forEach((o, i) => {
|
|
183
|
-
o.checked = fastWebUtilities.inRange(i, this.rangeStartIndex,
|
|
194
|
+
o.checked = fastWebUtilities.inRange(i, this.rangeStartIndex, nextIndex + 1) && !o.disabled;
|
|
184
195
|
});
|
|
185
196
|
} else {
|
|
186
197
|
this.uncheckAllOptions();
|
|
187
198
|
}
|
|
188
|
-
this.activeIndex
|
|
199
|
+
this.activeIndex = nextIndex;
|
|
189
200
|
this.checkActiveIndex();
|
|
190
201
|
}
|
|
191
202
|
/**
|
|
@@ -199,22 +210,24 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
199
210
|
* @internal
|
|
200
211
|
*/
|
|
201
212
|
checkPreviousOption(preserveChecked) {
|
|
213
|
+
const previousIndex = this.getPreviousSelectableIndex(this.activeIndex - 1);
|
|
214
|
+
if (previousIndex === -1) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
202
217
|
if (preserveChecked) {
|
|
203
|
-
/* v8 ignore else -- @preserve */
|
|
204
218
|
if (this.rangeStartIndex === -1) {
|
|
205
219
|
this.rangeStartIndex = this.activeIndex;
|
|
206
220
|
}
|
|
207
|
-
/* v8 ignore else -- @preserve */
|
|
208
221
|
if (this.checkedOptions.length === 1) {
|
|
209
222
|
this.rangeStartIndex += 1;
|
|
210
223
|
}
|
|
211
224
|
this.options.forEach((o, i) => {
|
|
212
|
-
o.checked = fastWebUtilities.inRange(i,
|
|
225
|
+
o.checked = fastWebUtilities.inRange(i, previousIndex, this.rangeStartIndex + 1) && !o.disabled;
|
|
213
226
|
});
|
|
214
227
|
} else {
|
|
215
228
|
this.uncheckAllOptions();
|
|
216
229
|
}
|
|
217
|
-
this.activeIndex
|
|
230
|
+
this.activeIndex = previousIndex;
|
|
218
231
|
this.checkActiveIndex();
|
|
219
232
|
}
|
|
220
233
|
/**
|
|
@@ -847,7 +860,6 @@ function ifNotFromFeedback(handler) {
|
|
|
847
860
|
const SelectTemplate = (context) => {
|
|
848
861
|
return fastElement.html`
|
|
849
862
|
<template
|
|
850
|
-
class="base"
|
|
851
863
|
${hostSemantics.applyHostSemantics({
|
|
852
864
|
role: "combobox",
|
|
853
865
|
ariaLabel: (x) => x.ariaLabel ?? x.label,
|
package/select/definition.js
CHANGED
|
@@ -120,18 +120,21 @@ class Select extends WithLightDOMFeedback(
|
|
|
120
120
|
* @internal
|
|
121
121
|
*/
|
|
122
122
|
checkFirstOption(preserveChecked) {
|
|
123
|
+
const firstSelectableIndex = this.getNextSelectableIndex(0);
|
|
124
|
+
if (firstSelectableIndex === -1) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
123
127
|
if (preserveChecked) {
|
|
124
|
-
/* v8 ignore else -- @preserve */
|
|
125
128
|
if (this.rangeStartIndex === -1) {
|
|
126
|
-
this.rangeStartIndex = this.activeIndex
|
|
129
|
+
this.rangeStartIndex = this.activeIndex;
|
|
127
130
|
}
|
|
128
131
|
this.options.forEach((o, i) => {
|
|
129
|
-
o.checked = inRange(i, this.rangeStartIndex);
|
|
132
|
+
o.checked = inRange(i, firstSelectableIndex, this.rangeStartIndex + 1) && !o.disabled;
|
|
130
133
|
});
|
|
131
134
|
} else {
|
|
132
135
|
this.uncheckAllOptions();
|
|
133
136
|
}
|
|
134
|
-
this.activeIndex =
|
|
137
|
+
this.activeIndex = firstSelectableIndex;
|
|
135
138
|
this.checkActiveIndex();
|
|
136
139
|
}
|
|
137
140
|
/**
|
|
@@ -145,18 +148,23 @@ class Select extends WithLightDOMFeedback(
|
|
|
145
148
|
* @internal
|
|
146
149
|
*/
|
|
147
150
|
checkLastOption(preserveChecked) {
|
|
151
|
+
const lastSelectableIndex = this.getPreviousSelectableIndex(
|
|
152
|
+
this.length - 1
|
|
153
|
+
);
|
|
154
|
+
if (lastSelectableIndex === -1) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
148
157
|
if (preserveChecked) {
|
|
149
|
-
/* v8 ignore else -- @preserve */
|
|
150
158
|
if (this.rangeStartIndex === -1) {
|
|
151
159
|
this.rangeStartIndex = this.activeIndex;
|
|
152
160
|
}
|
|
153
161
|
this.options.forEach((o, i) => {
|
|
154
|
-
o.checked = inRange(i, this.rangeStartIndex,
|
|
162
|
+
o.checked = inRange(i, this.rangeStartIndex, lastSelectableIndex + 1) && !o.disabled;
|
|
155
163
|
});
|
|
156
164
|
} else {
|
|
157
165
|
this.uncheckAllOptions();
|
|
158
166
|
}
|
|
159
|
-
this.activeIndex =
|
|
167
|
+
this.activeIndex = lastSelectableIndex;
|
|
160
168
|
this.checkActiveIndex();
|
|
161
169
|
}
|
|
162
170
|
/**
|
|
@@ -170,18 +178,21 @@ class Select extends WithLightDOMFeedback(
|
|
|
170
178
|
* @internal
|
|
171
179
|
*/
|
|
172
180
|
checkNextOption(preserveChecked) {
|
|
181
|
+
const nextIndex = this.getNextSelectableIndex(this.activeIndex + 1);
|
|
182
|
+
if (nextIndex === -1) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
173
185
|
if (preserveChecked) {
|
|
174
|
-
/* v8 ignore else -- @preserve */
|
|
175
186
|
if (this.rangeStartIndex === -1) {
|
|
176
187
|
this.rangeStartIndex = this.activeIndex;
|
|
177
188
|
}
|
|
178
189
|
this.options.forEach((o, i) => {
|
|
179
|
-
o.checked = inRange(i, this.rangeStartIndex,
|
|
190
|
+
o.checked = inRange(i, this.rangeStartIndex, nextIndex + 1) && !o.disabled;
|
|
180
191
|
});
|
|
181
192
|
} else {
|
|
182
193
|
this.uncheckAllOptions();
|
|
183
194
|
}
|
|
184
|
-
this.activeIndex
|
|
195
|
+
this.activeIndex = nextIndex;
|
|
185
196
|
this.checkActiveIndex();
|
|
186
197
|
}
|
|
187
198
|
/**
|
|
@@ -195,22 +206,24 @@ class Select extends WithLightDOMFeedback(
|
|
|
195
206
|
* @internal
|
|
196
207
|
*/
|
|
197
208
|
checkPreviousOption(preserveChecked) {
|
|
209
|
+
const previousIndex = this.getPreviousSelectableIndex(this.activeIndex - 1);
|
|
210
|
+
if (previousIndex === -1) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
198
213
|
if (preserveChecked) {
|
|
199
|
-
/* v8 ignore else -- @preserve */
|
|
200
214
|
if (this.rangeStartIndex === -1) {
|
|
201
215
|
this.rangeStartIndex = this.activeIndex;
|
|
202
216
|
}
|
|
203
|
-
/* v8 ignore else -- @preserve */
|
|
204
217
|
if (this.checkedOptions.length === 1) {
|
|
205
218
|
this.rangeStartIndex += 1;
|
|
206
219
|
}
|
|
207
220
|
this.options.forEach((o, i) => {
|
|
208
|
-
o.checked = inRange(i,
|
|
221
|
+
o.checked = inRange(i, previousIndex, this.rangeStartIndex + 1) && !o.disabled;
|
|
209
222
|
});
|
|
210
223
|
} else {
|
|
211
224
|
this.uncheckAllOptions();
|
|
212
225
|
}
|
|
213
|
-
this.activeIndex
|
|
226
|
+
this.activeIndex = previousIndex;
|
|
214
227
|
this.checkActiveIndex();
|
|
215
228
|
}
|
|
216
229
|
/**
|
|
@@ -843,7 +856,6 @@ function ifNotFromFeedback(handler) {
|
|
|
843
856
|
const SelectTemplate = (context) => {
|
|
844
857
|
return html`
|
|
845
858
|
<template
|
|
846
|
-
class="base"
|
|
847
859
|
${applyHostSemantics({
|
|
848
860
|
role: "combobox",
|
|
849
861
|
ariaLabel: (x) => x.ariaLabel ?? x.label,
|
|
@@ -8,7 +8,6 @@ export declare class Listbox extends VividElement {
|
|
|
8
8
|
selectedIndex: number;
|
|
9
9
|
selectedOptions: ListboxOption[];
|
|
10
10
|
static slottedOptionFilter: (n: HTMLElement) => boolean;
|
|
11
|
-
protected getNextSelectableIndex(fromIndex: number): number;
|
|
12
11
|
protected _validSelectedIndex(index: number): number;
|
|
13
12
|
selectFirstOption(): void;
|
|
14
13
|
protected _newDefaultSelectedIndex(prev: ListboxOption[], next: ListboxOption[], currentSelectedIndex: number): number | null;
|
package/tag/definition.cjs
CHANGED
|
@@ -82,7 +82,7 @@ __decorateClass([
|
|
|
82
82
|
fastElement.attr({ mode: "boolean" })
|
|
83
83
|
], Tag.prototype, "selected");
|
|
84
84
|
|
|
85
|
-
const styles = ".base.connotation-cta{--_connotation-color-primary: var(--vvd-tag-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-tag-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-soft: var(--vvd-tag-cta-soft, var(--vvd-color-cta-100));--_connotation-color-contrast: var(--vvd-tag-cta-contrast, var(--vvd-color-cta-800));--_connotation-color-pale: var(--vvd-tag-cta-pale, var(--vvd-color-cta-300));--_connotation-color-fierce: var(--vvd-tag-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-firm: var(--vvd-tag-cta-firm, var(--vvd-color-cta-600));--_connotation-color-firm-all: var(--vvd-tag-cta-firm-all, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-tag-cta-faint, var(--vvd-color-cta-50));--_connotation-color-dim: var(--vvd-tag-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-tag-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tag-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-soft: var(--vvd-tag-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-contrast: var(--vvd-tag-accent-contrast, var(--vvd-color-neutral-800));--_connotation-color-pale: var(--vvd-tag-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-fierce: var(--vvd-tag-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-firm: var(--vvd-tag-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-firm-all: var(--vvd-tag-accent-firm-all, var(--vvd-color-neutral-600));--_connotation-color-faint: var(--vvd-tag-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-dim: var(--vvd-tag-accent-dim, var(--vvd-color-neutral-200))}.base{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-pale)}.base.appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 85%);--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-
|
|
85
|
+
const styles = ".base.connotation-cta{--_connotation-color-primary: var(--vvd-tag-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-tag-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-soft: var(--vvd-tag-cta-soft, var(--vvd-color-cta-100));--_connotation-color-contrast: var(--vvd-tag-cta-contrast, var(--vvd-color-cta-800));--_connotation-color-pale: var(--vvd-tag-cta-pale, var(--vvd-color-cta-300));--_connotation-color-fierce: var(--vvd-tag-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-firm: var(--vvd-tag-cta-firm, var(--vvd-color-cta-600));--_connotation-color-firm-all: var(--vvd-tag-cta-firm-all, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-tag-cta-faint, var(--vvd-color-cta-50));--_connotation-color-dim: var(--vvd-tag-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-tag-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tag-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-soft: var(--vvd-tag-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-contrast: var(--vvd-tag-accent-contrast, var(--vvd-color-neutral-800));--_connotation-color-pale: var(--vvd-tag-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-fierce: var(--vvd-tag-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-firm: var(--vvd-tag-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-firm-all: var(--vvd-tag-accent-firm-all, var(--vvd-color-neutral-600));--_connotation-color-faint: var(--vvd-tag-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-dim: var(--vvd-tag-accent-dim, var(--vvd-color-neutral-200))}.base{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-pale)}.base.appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 85%);--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 75%);--_appearance-color-outline: transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 75%);--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-pale);--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-pale)}.base:active:where(:not(.disabled,:disabled)).appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 65%);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-pale);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-pale)}.base.active:where(:not(.disabled,:disabled)).appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 65%);--_appearance-color-outline: transparent}.base:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.base:disabled.appearance-duotone{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--vvd-color-neutral-100)}.base:disabled.appearance-subtle-light{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.base.disabled.appearance-duotone{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--vvd-color-neutral-100)}.base.disabled.appearance-subtle-light{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: var(--_connotation-color-pale)}.base.selected:where(:not(.disabled,:disabled)).appearance-subtle-light{--_appearance-color-text: var(--vvd-color-canvas);--_appearance-color-fill: var(--_connotation-color-firm);--_appearance-color-outline: transparent}.base{--tag-block-size: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;position:relative;display:inline-flex;box-sizing:border-box;align-items:center;border:none;background-color:var(--_appearance-color-fill);block-size:var(--tag-block-size);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);column-gap:8px;font:var(--vvd-typography-base-bold);max-inline-size:100%;padding-inline:8px;vertical-align:middle}.base:not(.shape-pill){border-radius:4px}.base.shape-pill{border-radius:16px}.base:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{cursor:not-allowed;pointer-events:none}.base.removable{cursor:auto;padding-inline:8px 1px}.label{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis;white-space:nowrap}slot[name=icon]{font-size:calc(var(--tag-block-size) / 1.5);line-height:1}.dismiss-button{position:relative;display:flex;align-items:center;padding:4px;border:none;border-radius:inherit;background-color:var(--_appearance-color-fill);cursor:pointer;inset-inline-start:-4px}.dismiss-button:focus{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}";
|
|
86
86
|
|
|
87
87
|
const getClasses = ({
|
|
88
88
|
connotation,
|
package/tag/definition.js
CHANGED
|
@@ -78,7 +78,7 @@ __decorateClass([
|
|
|
78
78
|
attr({ mode: "boolean" })
|
|
79
79
|
], Tag.prototype, "selected");
|
|
80
80
|
|
|
81
|
-
const styles = ".base.connotation-cta{--_connotation-color-primary: var(--vvd-tag-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-tag-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-soft: var(--vvd-tag-cta-soft, var(--vvd-color-cta-100));--_connotation-color-contrast: var(--vvd-tag-cta-contrast, var(--vvd-color-cta-800));--_connotation-color-pale: var(--vvd-tag-cta-pale, var(--vvd-color-cta-300));--_connotation-color-fierce: var(--vvd-tag-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-firm: var(--vvd-tag-cta-firm, var(--vvd-color-cta-600));--_connotation-color-firm-all: var(--vvd-tag-cta-firm-all, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-tag-cta-faint, var(--vvd-color-cta-50));--_connotation-color-dim: var(--vvd-tag-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-tag-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tag-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-soft: var(--vvd-tag-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-contrast: var(--vvd-tag-accent-contrast, var(--vvd-color-neutral-800));--_connotation-color-pale: var(--vvd-tag-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-fierce: var(--vvd-tag-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-firm: var(--vvd-tag-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-firm-all: var(--vvd-tag-accent-firm-all, var(--vvd-color-neutral-600));--_connotation-color-faint: var(--vvd-tag-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-dim: var(--vvd-tag-accent-dim, var(--vvd-color-neutral-200))}.base{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-pale)}.base.appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 85%);--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-
|
|
81
|
+
const styles = ".base.connotation-cta{--_connotation-color-primary: var(--vvd-tag-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-tag-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-soft: var(--vvd-tag-cta-soft, var(--vvd-color-cta-100));--_connotation-color-contrast: var(--vvd-tag-cta-contrast, var(--vvd-color-cta-800));--_connotation-color-pale: var(--vvd-tag-cta-pale, var(--vvd-color-cta-300));--_connotation-color-fierce: var(--vvd-tag-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-firm: var(--vvd-tag-cta-firm, var(--vvd-color-cta-600));--_connotation-color-firm-all: var(--vvd-tag-cta-firm-all, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-tag-cta-faint, var(--vvd-color-cta-50));--_connotation-color-dim: var(--vvd-tag-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-tag-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tag-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-soft: var(--vvd-tag-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-contrast: var(--vvd-tag-accent-contrast, var(--vvd-color-neutral-800));--_connotation-color-pale: var(--vvd-tag-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-fierce: var(--vvd-tag-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-firm: var(--vvd-tag-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-firm-all: var(--vvd-tag-accent-firm-all, var(--vvd-color-neutral-600));--_connotation-color-faint: var(--vvd-tag-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-dim: var(--vvd-tag-accent-dim, var(--vvd-color-neutral-200))}.base{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base.appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-pale)}.base.appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 85%);--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 75%);--_appearance-color-outline: transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 75%);--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-pale);--_appearance-color-outline: transparent}.base:active:where(:not(.disabled,:disabled)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-pale)}.base:active:where(:not(.disabled,:disabled)).appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 65%);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: var(--_connotation-color-pale);--_appearance-color-outline: transparent}.base.active:where(:not(.disabled,:disabled)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-pale)}.base.active:where(:not(.disabled,:disabled)).appearance-subtle-light{--_appearance-color-text: var(--_connotation-color-contrast);--_appearance-color-fill: color-mix(in srgb, var(--_connotation-color-primary), transparent 65%);--_appearance-color-outline: transparent}.base:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.base:disabled.appearance-duotone{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--vvd-color-neutral-100)}.base:disabled.appearance-subtle-light{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.base.disabled.appearance-duotone{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--vvd-color-neutral-100)}.base.disabled.appearance-subtle-light{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)).appearance-duotone{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: var(--_connotation-color-pale)}.base.selected:where(:not(.disabled,:disabled)).appearance-subtle-light{--_appearance-color-text: var(--vvd-color-canvas);--_appearance-color-fill: var(--_connotation-color-firm);--_appearance-color-outline: transparent}.base{--tag-block-size: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;position:relative;display:inline-flex;box-sizing:border-box;align-items:center;border:none;background-color:var(--_appearance-color-fill);block-size:var(--tag-block-size);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);column-gap:8px;font:var(--vvd-typography-base-bold);max-inline-size:100%;padding-inline:8px;vertical-align:middle}.base:not(.shape-pill){border-radius:4px}.base.shape-pill{border-radius:16px}.base:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{cursor:not-allowed;pointer-events:none}.base.removable{cursor:auto;padding-inline:8px 1px}.label{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis;white-space:nowrap}slot[name=icon]{font-size:calc(var(--tag-block-size) / 1.5);line-height:1}.dismiss-button{position:relative;display:flex;align-items:center;padding:4px;border:none;border-radius:inherit;background-color:var(--_appearance-color-fill);cursor:pointer;inset-inline-start:-4px}.dismiss-button:focus{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}";
|
|
82
82
|
|
|
83
83
|
const getClasses = ({
|
|
84
84
|
connotation,
|