@simai-studio/ui 5.20261020.2008 → 5.20261020.2238

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +4 -4
  2. package/distr/component/admin-menu/css/admin-menu.min.css +1 -1
  3. package/distr/component/badges/css/badges.min.css +1 -1
  4. package/distr/component/badges/js/badges.min.js +1 -1
  5. package/distr/component/context-menu/css/context-menu.min.css +1 -1
  6. package/distr/component/dropdown/css/dropdown.min.css +1 -1
  7. package/distr/component/icon-buttons/css/icon-buttons.min.css +1 -1
  8. package/distr/component/menu/css/menu.min.css +1 -1
  9. package/distr/component/modal/css/modal.min.css +1 -1
  10. package/distr/component/toast/css/toast.min.css +1 -1
  11. package/distr/core/contracts/public-js-api.json +12 -0
  12. package/distr/core/contracts/public-variables.v1.json +7 -0
  13. package/distr/core/contracts/public-variables.v1.schema.json +2 -1
  14. package/distr/core/js/core-rules.js +13 -0
  15. package/distr/core/js/core-rules.min.js +1 -1
  16. package/distr/rule/js/rule.min.js +1 -1
  17. package/distr/rule/rule.json +10 -0
  18. package/distr/smart/avatar/js/avatar.min.js +11 -7
  19. package/distr/smart/avatar/smart.manifest.json +24 -2
  20. package/distr/smart/avatar/template/shared.js +3 -2
  21. package/distr/smart/avatars/js/avatars.min.js +4 -4
  22. package/distr/smart/context-menu/smart.manifest.json +1 -1
  23. package/distr/smart/drawer/css/drawer.min.css +1 -1
  24. package/distr/smart/drawer/smart.manifest.json +1 -1
  25. package/distr/smart/icon-buttons/js/icon-buttons.min.js +15 -11
  26. package/distr/smart/icon-buttons/smart.manifest.json +23 -2
  27. package/distr/smart/icon-buttons/template/default.js +4 -2
  28. package/distr/smart/icons/js/icons.min.js +17 -7
  29. package/distr/smart/icons/smart.manifest.json +26 -5
  30. package/distr/smart/icons/template/default.js +17 -0
  31. package/distr/smart/popover/css/popover.min.css +1 -1
  32. package/distr/smart/popover/smart.manifest.json +1 -1
  33. package/distr/smart/popover/template/default.css +1 -0
  34. package/package-manifest.json +35 -35
  35. package/package.json +4 -4
@@ -662,6 +662,9 @@
662
662
  "relation": [
663
663
  {
664
664
  "name": "avatars"
665
+ },
666
+ {
667
+ "name": "badges"
665
668
  }
666
669
  ],
667
670
  "tags": [
@@ -1112,6 +1115,9 @@
1112
1115
  {
1113
1116
  "name": "pointer-events/default"
1114
1117
  },
1118
+ {
1119
+ "name": "badges"
1120
+ },
1115
1121
  {
1116
1122
  "lazy": true,
1117
1123
  "name": "spinner"
@@ -1129,6 +1135,10 @@
1129
1135
  "relation": [
1130
1136
  {
1131
1137
  "name": "icons"
1138
+ },
1139
+ {
1140
+ "lazy": true,
1141
+ "name": "badges"
1132
1142
  }
1133
1143
  ],
1134
1144
  "tags": [
@@ -1,4 +1,4 @@
1
- (()=>{"use strict";var t={"98e26702f55a"(t,e,a){function i(){const t=globalThis.SF=globalThis.SF||{};return t.__deprecationNotes instanceof Map||Object.defineProperty(t,"__deprecationNotes",{value:new Map,configurable:!0}),t.__deprecationNotes}function r({component:t="",kind:e="attribute",attribute:a="",from:r,to:s=null}={}){if(!r)return;const n=[t,e,a,r].join("|"),l=i(),o=l.get(n);if(o)o.count+=1;else if(l.set(n,{component:t,kind:e,attribute:a,from:r,to:s,count:1}),function(){const t=globalThis.document?.documentElement;return"warn"===t?.dataset?.sfDeprecations||!0===globalThis.SF?.deprecations?.warn}()){const i=t?`${t}: `:"",n="value"===e?`${a}="${r}"`:`${e} ${r}`;globalThis.console?.warn?.(`[SIMAI Framework] ${i}${n} is a legacy name${s?`; write ${s}`:""}. See contracts/changes/journal.json.`)}}if(a.d(e,{id:()=>o}),"undefined"!=typeof globalThis){globalThis.SF=globalThis.SF||{};const t=globalThis.SF.deprecations||{};t.list=function(){return[...i().values()].map(t=>({...t}))},t.clear=function(){i().clear()},t.note=r,globalThis.SF.deprecations=t}const s=Object.freeze(["1/2","1","2"]),n=Object.freeze({"1/3":"1/2",3:"2"}),l=new Set;function o(t,e="field",a="1"){const i=String(t??"").trim().toLowerCase();if(s.includes(i))return i;if(Object.hasOwn(n,i)){const t=n[i];r({component:e,kind:"value",attribute:"size",from:i,to:t});const a=`${e}:${i}`;return l.has(a)||"undefined"==typeof console||(l.add(a),console.warn(`[SIMAI Framework] ${e}: size ${i} is retired for form fields; rendering size ${t}.`)),t}return a}},f92e47b164fa(t,e,a){a.a(t,async(t,e)=>{try{var i=a("fbe0570fcc69"),r=a("98e26702f55a"),s=a("c0c2069e1237"),n=a("602783801435"),l=a("63cd440fc8e3"),o=a("cbce4a5232a6"),c=a("0d662e4d7d63"),d=t([i,s,n,l,c]);[i,s,n,l,c]=d.then?(await d)():d;var u=a.n(i);const h={en:{ariaLabel:"Avatar"},ru:{ariaLabel:"Аватар"}},f={default:n.E,label:l.d,card:s.$};class m extends(u()){static get props(){return{templateName:{attribute:"template",default:"default"},size:{default:"1"},line:{default:""},shape:{default:"circle"},imageUrl:{default:""},imageAlt:{default:""},noWrap:{type:Boolean,default:!1},text:{default:""},status:{default:"none"},ariaLabel:{default:""},title:{default:""},description:{default:""},meta:{default:""},metaIcon:{default:""},cardVariant:{default:"square"},disabled:{type:Boolean,default:!1}}}constructor(){super()}get templateName(){return this.getAttribute("template")||"default"}set templateName(t){this.setAttribute("template",t||"default")}get size(){return this.getAttribute("size")||"1"}get line(){const t=this.getAttribute("line")||"";return t?(0,r.id)(t,"sf-avatar line"):""}set size(t){this.setAttribute("size",t)}get shape(){return this.getAttribute("shape")||"circle"}set shape(t){this.setAttribute("shape",t||"circle")}get imageUrl(){return this.getAttribute("image-url")||""}set imageUrl(t){null!=t&&""!==t?this.setAttribute("image-url",t):this.removeAttribute("image-url")}get imageAlt(){return this.getAttribute("image-alt")||""}set imageAlt(t){null!=t&&""!==t?this.setAttribute("image-alt",t):this.removeAttribute("image-alt")}get text(){return this.getAttribute("text")||""}set text(t){null!=t&&""!==t?this.setAttribute("text",t):this.removeAttribute("text")}get status(){return this.getAttribute("status")||"none"}set status(t){this.setAttribute("status",t||"none")}get ariaLabel(){return this.getAttribute("aria-label")||(0,c.pageText)(h,"ariaLabel",this)}set ariaLabel(t){t?this.setAttribute("aria-label",t):this.removeAttribute("aria-label")}get title(){return this.getAttribute("title")||""}set title(t){t?this.setAttribute("title",t):this.removeAttribute("title")}get description(){return this.getAttribute("description")||""}set description(t){t?this.setAttribute("description",t):this.removeAttribute("description")}get meta(){return this.getAttribute("meta")||""}set meta(t){t?this.setAttribute("meta",t):this.removeAttribute("meta")}get metaIcon(){return this.getAttribute("meta-icon")||""}set metaIcon(t){t?this.setAttribute("meta-icon",t):this.removeAttribute("meta-icon")}get cardVariant(){return this.getAttribute("card-variant")||"square"}set cardVariant(t){this.setAttribute("card-variant",t||"square")}get disabled(){return this.getBooleanAttr("disabled",!1)}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get isImage(){return!!this.imageUrl}get isText(){return!this.isImage&&!!this.displayText}get displayText(){return this.text?this.text:this.isImage?"":(0,o.I)(this.title||(this.hasAttribute("aria-label")?this.ariaLabel:""))}templateContext(){const t=this.getPropsContext();return this.createTemplateContext({...t,ariaLabel:this.getAttribute("aria-label")||(0,c.pageText)(h,"ariaLabel",this),component:this,isImage:this.isImage,isText:this.isText,text:this.displayText,rootClass:this.getRootClass(),rootStyle:this.getRootStyle()})}hasBuiltInTemplate(t=this.templateName){return Object.prototype.hasOwnProperty.call(f,t)}templateRenderer(){return f[this.templateName]||f.default}template(){return this.templateRenderer()(this.templateContext())}resolveUpdateMode(t=[]){const e=["disabled"];return t.length>0&&t.every(t=>e.includes(t))?"dom":"lit"}updateDom(t=[]){const e=this.querySelector(".sf-avatar");return!!e&&(t.includes("aria-label")&&e.setAttribute("aria-label",this.ariaLabel),t.includes("disabled")&&(e.disabled=this.disabled),!0)}get value(){return{template:this.templateName,size:this.size,line:this.line,shape:this.shape,imageUrl:this.imageUrl,imageAlt:this.imageAlt,text:this.text,status:this.status,ariaLabel:this.ariaLabel,title:this.title,description:this.description,meta:this.meta,metaIcon:this.metaIcon,cardVariant:this.cardVariant,disabled:this.disabled}}set value(t){this.setValueAttributes(t)}}m.define("sf-avatar"),e()}catch(t){e(t)}})},c0c2069e1237(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{$:()=>l});var r=a("ddf1cdb42ecc"),s=t([r]),n=s.then?(await s)():s;r=n[0];function l(t){const e=t.cardVariant||"square",a=t.imageAlt||"";return r.html`
1
+ (()=>{"use strict";var t={"7cd0e63a3ed6"(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{BA:()=>p,VI:()=>g});var r=a("0d662e4d7d63"),n=t([r]),s=n.then?(await n)():n;r=s[0];const l={en:{count:"{count} unread",dot:"new"},ru:{count:"{count} непрочитанное|{count} непрочитанных|{count} непрочитанных|{count} непрочитанного",dot:"есть новое"}},o="sf-badge",c=99,d=["zero","one","two","few","many","other"];function u(t){if(null==t)return null;const e=String(t).trim();if(""===e)return null;const a=Number(e);return Number.isFinite(a)?Math.trunc(a):null}function h(t){const e=u(t);return null!==e&&e>=1?e:c}function f(t,e,a="en"){const i=String(t??"").split("|");if(1===i.length)return i[0];try{const t=new Intl.PluralRules(a),r=new Set(t.resolvedOptions().pluralCategories),n=d.filter(t=>r.has(t)).indexOf(t.select(e));return i[Math.min(Math.max(n,0),i.length-1)]}catch{return i[i.length-1]}}function b(t,e){try{return new Intl.NumberFormat(e).format(t)}catch{return String(t)}}function p({count:t,dot:e,cap:a,label:i}={},n=null){const s=u(t),c=!0===(d=e)||!1!==d&&null!=d&&"false"!==String(d).trim().toLowerCase();var d;const p=(0,r.pageLocale)(n),g=String(i??"").trim();if(null!==s){if(s<=0)return{visible:!1,dot:c,text:"",phrase:"",count:s};const t=h(a),e=f(g||(0,r.pageText)(l,"count",n,o),s,p),i=b(s,p),d=e.includes("{count}")?e.replaceAll("{count}",i):`${i} ${e}`.trim();return{visible:!0,dot:c,text:c?"":s>t?`${t}+`:String(s),phrase:d,count:s}}return c?{visible:!0,dot:!0,text:"",phrase:g||(0,r.pageText)(l,"dot",n,o),count:null}:{visible:!1,dot:!1,text:"",phrase:"",count:null}}function g(t,e){const a=String(t??"").trim(),i=String(e??"").trim();return i?a?`${a}, ${i}`:i:a}i()}catch(m){i(m)}})},"98e26702f55a"(t,e,a){function i(){const t=globalThis.SF=globalThis.SF||{};return t.__deprecationNotes instanceof Map||Object.defineProperty(t,"__deprecationNotes",{value:new Map,configurable:!0}),t.__deprecationNotes}function r({component:t="",kind:e="attribute",attribute:a="",from:r,to:n=null}={}){if(!r)return;const s=[t,e,a,r].join("|"),l=i(),o=l.get(s);if(o)o.count+=1;else if(l.set(s,{component:t,kind:e,attribute:a,from:r,to:n,count:1}),function(){const t=globalThis.document?.documentElement;return"warn"===t?.dataset?.sfDeprecations||!0===globalThis.SF?.deprecations?.warn}()){const i=t?`${t}: `:"",s="value"===e?`${a}="${r}"`:`${e} ${r}`;globalThis.console?.warn?.(`[SIMAI Framework] ${i}${s} is a legacy name${n?`; write ${n}`:""}. See contracts/changes/journal.json.`)}}if(a.d(e,{id:()=>o}),"undefined"!=typeof globalThis){globalThis.SF=globalThis.SF||{};const t=globalThis.SF.deprecations||{};t.list=function(){return[...i().values()].map(t=>({...t}))},t.clear=function(){i().clear()},t.note=r,globalThis.SF.deprecations=t}const n=Object.freeze(["1/2","1","2"]),s=Object.freeze({"1/3":"1/2",3:"2"}),l=new Set;function o(t,e="field",a="1"){const i=String(t??"").trim().toLowerCase();if(n.includes(i))return i;if(Object.hasOwn(s,i)){const t=s[i];r({component:e,kind:"value",attribute:"size",from:i,to:t});const a=`${e}:${i}`;return l.has(a)||"undefined"==typeof console||(l.add(a),console.warn(`[SIMAI Framework] ${e}: size ${i} is retired for form fields; rendering size ${t}.`)),t}return a}},f92e47b164fa(t,e,a){a.a(t,async(t,e)=>{try{var i=a("fbe0570fcc69"),r=a("98e26702f55a"),n=a("c0c2069e1237"),s=a("602783801435"),l=a("63cd440fc8e3"),o=a("cbce4a5232a6"),c=a("0d662e4d7d63"),d=a("34addf781b5b"),u=t([i,n,s,l,c,d]);[i,n,s,l,c,d]=u.then?(await u)():u;var h=a.n(i);const f={en:{ariaLabel:"Avatar"},ru:{ariaLabel:"Аватар"}},b={default:s.E,label:l.d,card:n.$};class p extends(h()){static get props(){return{templateName:{attribute:"template",default:"default"},size:{default:"1"},line:{default:""},shape:{default:"circle"},imageUrl:{default:""},imageAlt:{default:""},noWrap:{type:Boolean,default:!1},text:{default:""},status:{default:"none"},ariaLabel:{default:""},title:{default:""},description:{default:""},meta:{default:""},metaIcon:{default:""},cardVariant:{default:"square"},disabled:{type:Boolean,default:!1},badgeCount:{default:""},badgeDot:{type:Boolean,default:!1},badgeCap:{type:Number,default:99},badgeLabel:{default:""}}}constructor(){super()}get templateName(){return this.getAttribute("template")||"default"}set templateName(t){this.setAttribute("template",t||"default")}get size(){return this.getAttribute("size")||"1"}get line(){const t=this.getAttribute("line")||"";return t?(0,r.id)(t,"sf-avatar line"):""}set size(t){this.setAttribute("size",t)}get shape(){return this.getAttribute("shape")||"circle"}set shape(t){this.setAttribute("shape",t||"circle")}get imageUrl(){return this.getAttribute("image-url")||""}set imageUrl(t){null!=t&&""!==t?this.setAttribute("image-url",t):this.removeAttribute("image-url")}get imageAlt(){return this.getAttribute("image-alt")||""}set imageAlt(t){null!=t&&""!==t?this.setAttribute("image-alt",t):this.removeAttribute("image-alt")}get text(){return this.getAttribute("text")||""}set text(t){null!=t&&""!==t?this.setAttribute("text",t):this.removeAttribute("text")}get status(){return this.getAttribute("status")||"none"}set status(t){this.setAttribute("status",t||"none")}get ariaLabel(){return this.getAttribute("aria-label")||(0,c.pageText)(f,"ariaLabel",this)}set ariaLabel(t){t?this.setAttribute("aria-label",t):this.removeAttribute("aria-label")}get title(){return this.getAttribute("title")||""}set title(t){t?this.setAttribute("title",t):this.removeAttribute("title")}get description(){return this.getAttribute("description")||""}set description(t){t?this.setAttribute("description",t):this.removeAttribute("description")}get meta(){return this.getAttribute("meta")||""}set meta(t){t?this.setAttribute("meta",t):this.removeAttribute("meta")}get metaIcon(){return this.getAttribute("meta-icon")||""}set metaIcon(t){t?this.setAttribute("meta-icon",t):this.removeAttribute("meta-icon")}get cardVariant(){return this.getAttribute("card-variant")||"square"}set cardVariant(t){this.setAttribute("card-variant",t||"square")}get disabled(){return this.getBooleanAttr("disabled",!1)}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get isImage(){return!!this.imageUrl}get isText(){return!this.isImage&&!!this.displayText}get displayText(){return this.text?this.text:this.isImage?"":(0,o.I)(this.title||(this.hasAttribute("aria-label")?this.ariaLabel:""))}templateContext(){const t=this.getPropsContext(),e=(0,d.Wd)(this);return this.createTemplateContext({...t,ariaLabel:this.getAttribute("aria-label")||(0,c.pageText)(f,"ariaLabel",this),buttonLabel:(0,d.VI)(this.getAttribute("aria-label")||(0,c.pageText)(f,"ariaLabel",this),e.phrase),badge:e,component:this,isImage:this.isImage,isText:this.isText,text:this.displayText,rootClass:this.getRootClass(),rootStyle:this.getRootStyle()})}hasBuiltInTemplate(t=this.templateName){return Object.prototype.hasOwnProperty.call(b,t)}templateRenderer(){return b[this.templateName]||b.default}template(){return this.templateRenderer()(this.templateContext())}resolveUpdateMode(t=[]){const e=["disabled"];return t.length>0&&t.every(t=>e.includes(t))?"dom":"lit"}updateDom(t=[]){const e=this.querySelector(".sf-avatar");return!!e&&(t.includes("aria-label")&&e.setAttribute("aria-label",(0,d.VI)(this.ariaLabel,(0,d.Wd)(this).phrase)),t.includes("disabled")&&(e.disabled=this.disabled),!0)}get value(){return{template:this.templateName,size:this.size,line:this.line,shape:this.shape,imageUrl:this.imageUrl,imageAlt:this.imageAlt,text:this.text,status:this.status,ariaLabel:this.ariaLabel,title:this.title,description:this.description,meta:this.meta,metaIcon:this.metaIcon,cardVariant:this.cardVariant,disabled:this.disabled,badgeCount:this.getProp("badgeCount"),badgeDot:this.getProp("badgeDot"),badgeCap:this.getProp("badgeCap"),badgeLabel:this.getProp("badgeLabel")}}set value(t){this.setValueAttributes(t)}}p.define("sf-avatar"),e()}catch(t){e(t)}})},c0c2069e1237(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{$:()=>l});var r=a("ddf1cdb42ecc"),n=t([r]),s=n.then?(await n)():n;r=s[0];function l(t){const e=t.cardVariant||"square",a=t.imageAlt||"";return r.html`
2
2
  <div
3
3
  class="sf-avatar-card sf-avatar-card--${e} sf-avatar-card-${e} flex flex-col ${t.rootClass||""}"
4
4
  style=${t.rootStyle||""}
@@ -19,12 +19,12 @@
19
19
  `:""}
20
20
  </div>
21
21
  </div>
22
- `}i()}catch(o){i(o)}})},602783801435(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{E:()=>l});var r=a("4f7ae7ea9e1c"),s=t([r]),n=s.then?(await s)():s;function l(t){return(0,r.KI)(t)}r=n[0],i()}catch(o){i(o)}})},"63cd440fc8e3"(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{d:()=>l});var r=a("ddf1cdb42ecc"),s=a("4f7ae7ea9e1c"),n=t([r,s]);[r,s]=n.then?(await n)():n;function l(t){return r.html`
22
+ `}i()}catch(o){i(o)}})},602783801435(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{E:()=>l});var r=a("4f7ae7ea9e1c"),n=t([r]),s=n.then?(await n)():n;function l(t){return(0,r.KI)(t)}r=s[0],i()}catch(o){i(o)}})},"63cd440fc8e3"(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{d:()=>l});var r=a("ddf1cdb42ecc"),n=a("4f7ae7ea9e1c"),s=t([r,n]);[r,n]=s.then?(await s)():s;function l(t){return r.html`
23
23
  <div
24
24
  class="sf-avatar-label-group sf-avatar-label-group--size-${t.size} flex items-cross-center ${t.rootClass||""}"
25
25
  style=${t.rootStyle||""}
26
26
  >
27
- ${(0,s.KI)(t,{includeRootClass:!1,includeRootStyle:!1})}
27
+ ${(0,n.KI)(t,{includeRootClass:!1,includeRootStyle:!1})}
28
28
  <div class="sf-avatar-label-group-container flex flex-col">
29
29
  ${t.title?r.html`<div class="sf-avatar-label-group-title${t.noWrap?" overflow-hidden wrap-none t-ellipsis":""}">
30
30
  ${t.title}
@@ -34,7 +34,7 @@
34
34
  </div>`:""}
35
35
  </div>
36
36
  </div>
37
- `}i()}catch(o){i(o)}})},"4f7ae7ea9e1c"(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{KI:()=>f});var r=a("ddf1cdb42ecc"),s=t([r]),n=s.then?(await s)():s;r=n[0];function l(t){return r.html`<span aria-hidden="true"
37
+ `}i()}catch(o){i(o)}})},"4f7ae7ea9e1c"(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{KI:()=>f});var r=a("ddf1cdb42ecc"),n=a("34addf781b5b"),s=t([r,n]);[r,n]=s.then?(await s)():s;function l(t){return r.html`<span aria-hidden="true"
38
38
  class="sf-avatar-badge sf-avatar-badge--size-${t.size} sf-avatar-badge--company overflow-hidden flex absolute bottom-0 inline-end-0"
39
39
  >
40
40
  <svg viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -84,10 +84,14 @@
84
84
  <button
85
85
  class="${c(t,e)}"
86
86
  style=${!1===e.includeRootStyle?"":t.rootStyle||""}
87
- aria-label=${t.ariaLabel}
87
+ aria-label=${t.buttonLabel??t.ariaLabel}
88
88
  ?disabled=${t.disabled}
89
89
  type="button"
90
90
  >
91
- ${d(t)} ${h(t)}
91
+ ${d(t)} ${h(t)} ${(0,n.Qj)(t.badge)}
92
92
  </button>
93
- `}i()}catch(m){i(m)}})},cbce4a5232a6(t,e,a){a.d(e,{I:()=>r});const i=new Set(["а","без","в","во","для","до","за","из","из-за","из-под","и","к","ко","между","на","над","о","об","от","по","под","при","про","с","со","у","через","the","a","an","and","for","from","in","of","on","to"]);function r(t="",e={}){const{maxLetters:a=2,skipWords:r=i}=e,s=function(t=""){return String(t||"").trim().split(/[\s/|]+/).map(t=>t.replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu,"")).filter(Boolean)}(t),n=s.filter((t,e)=>0===e||!r.has(String(t).toLowerCase()));return n.length?n.length>1?n.slice(0,a).map(t=>Array.from(t)[0]||"").join("").toUpperCase():Array.from(n[0]).slice(0,1).join("").toUpperCase():""}},ddf1cdb42ecc(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("lit")),{once:!0}))},"0d662e4d7d63"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("page-language"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("page-language")),{once:!0}))},fbe0570fcc69(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("smart-base"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("smart-base")),{once:!0}))}};const e={};function a(i){const r=e[i];if(void 0!==r)return r.exports;const s=e[i]={exports:{}};return t[i](s,s.exports,a),s.exports}(()=>{const t="function"==typeof Symbol,e=t?Symbol("webpack queues"):"__webpack_queues__",i=t?Symbol("webpack exports"):"__webpack_exports__",r=t?Symbol("webpack error"):"__webpack_error__",s=t=>{t?.d<1&&(t.d=1,t.forEach(t=>t.r--),t.forEach(t=>t.r--?t.r++:t()))};a.a=(t,a,n)=>{let l;n&&((l=[]).d=-1);const o=new Set,c=t.exports;let d,u,h;const f=new Promise((t,e)=>{h=e,u=t});f[i]=c,f[e]=t=>(l&&t(l),o.forEach(t),f.catch(t=>{})),t.exports=f;a(t=>{let a;d=(t=>t.map(t=>{if(null!==t&&"object"==typeof t){if(t[e])return t;if(t.then){const a=[];a.d=0,t.then(t=>{n[i]=t,s(a)},t=>{n[r]=t,s(a)});const n={};return n[e]=t=>t(a),n}}const a={};return a[e]=t=>{},a[i]=t,a}))(t);const n=()=>d.map(t=>{if(t[r])throw t[r];return t[i]}),c=new Promise(t=>{a=()=>t(n),a.r=0;const i=t=>t!==l&&!o.has(t)&&(o.add(t),t&&!t.d&&(a.r++,t.push(a)));d.map(t=>t[e](i))});return a.r?c:n()},t=>(t?h(f[r]=t):u(c),s(l))),l?.d<0&&(l.d=0)}})(),a.n=t=>{const e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var r=e[i++],s=e[i++];a.o(t,r)?0===s&&i++:0===s?Object.defineProperty(t,r,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,r,{enumerable:!0,get:s})}else for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);a("f92e47b164fa")})();
93
+ `}i()}catch(b){i(b)}})},"34addf781b5b"(t,e,a){a.a(t,async(t,i)=>{try{a.d(e,{Qj:()=>o,VI:()=>n.VI,Wd:()=>l});var r=a("ddf1cdb42ecc"),n=a("7cd0e63a3ed6"),s=t([r,n]);[r,n]=s.then?(await s)():s;Object.freeze(["badge-count","badge-dot","badge-cap","badge-label"]);function l(t){const e=(0,n.BA)({count:t.getProp?.("badgeCount"),dot:t.getProp?.("badgeDot"),cap:t.getProp?.("badgeCap"),label:t.getProp?.("badgeLabel")},t);return e.visible&&globalThis.SF?.Loader?.ensurePlugin?.("badges"),e}function o(t){return t?.visible?r.html`<span
94
+ class="sf-badge sf-badge--anchored${t.dot?" sf-badge--dot":""}"
95
+ aria-hidden="true"
96
+ title=${t.phrase||r.nothing}
97
+ >${t.text}</span>`:r.nothing}i()}catch(c){i(c)}})},cbce4a5232a6(t,e,a){a.d(e,{I:()=>r});const i=new Set(["а","без","в","во","для","до","за","из","из-за","из-под","и","к","ко","между","на","над","о","об","от","по","под","при","про","с","со","у","через","the","a","an","and","for","from","in","of","on","to"]);function r(t="",e={}){const{maxLetters:a=2,skipWords:r=i}=e,n=function(t=""){return String(t||"").trim().split(/[\s/|]+/).map(t=>t.replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu,"")).filter(Boolean)}(t),s=n.filter((t,e)=>0===e||!r.has(String(t).toLowerCase()));return s.length?s.length>1?s.slice(0,a).map(t=>Array.from(t)[0]||"").join("").toUpperCase():Array.from(s[0]).slice(0,1).join("").toUpperCase():""}},ddf1cdb42ecc(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("lit")),{once:!0}))},"0d662e4d7d63"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("page-language"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("page-language")),{once:!0}))},fbe0570fcc69(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("smart-base"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("smart-base")),{once:!0}))}};const e={};function a(i){const r=e[i];if(void 0!==r)return r.exports;const n=e[i]={exports:{}};return t[i](n,n.exports,a),n.exports}(()=>{const t="function"==typeof Symbol,e=t?Symbol("webpack queues"):"__webpack_queues__",i=t?Symbol("webpack exports"):"__webpack_exports__",r=t?Symbol("webpack error"):"__webpack_error__",n=t=>{t?.d<1&&(t.d=1,t.forEach(t=>t.r--),t.forEach(t=>t.r--?t.r++:t()))};a.a=(t,a,s)=>{let l;s&&((l=[]).d=-1);const o=new Set,c=t.exports;let d,u,h;const f=new Promise((t,e)=>{h=e,u=t});f[i]=c,f[e]=t=>(l&&t(l),o.forEach(t),f.catch(t=>{})),t.exports=f;a(t=>{let a;d=(t=>t.map(t=>{if(null!==t&&"object"==typeof t){if(t[e])return t;if(t.then){const a=[];a.d=0,t.then(t=>{s[i]=t,n(a)},t=>{s[r]=t,n(a)});const s={};return s[e]=t=>t(a),s}}const a={};return a[e]=t=>{},a[i]=t,a}))(t);const s=()=>d.map(t=>{if(t[r])throw t[r];return t[i]}),c=new Promise(t=>{a=()=>t(s),a.r=0;const i=t=>t!==l&&!o.has(t)&&(o.add(t),t&&!t.d&&(a.r++,t.push(a)));d.map(t=>t[e](i))});return a.r?c:s()},t=>(t?h(f[r]=t):u(c),n(l))),l?.d<0&&(l.d=0)}})(),a.n=t=>{const e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var r=e[i++],n=e[i++];a.o(t,r)?0===n&&i++:0===n?Object.defineProperty(t,r,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,r,{enumerable:!0,get:n})}else for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);a("f92e47b164fa")})();
@@ -23,7 +23,9 @@
23
23
  ],
24
24
  "exported_parts": [],
25
25
  "composition": {
26
- "uses": [],
26
+ "uses": [
27
+ "component.badges"
28
+ ],
27
29
  "public_parts": []
28
30
  },
29
31
  "inputs": {
@@ -123,6 +125,26 @@
123
125
  "disabled": {
124
126
  "type": "boolean",
125
127
  "default": false
128
+ },
129
+ "badge-count": {
130
+ "type": "string",
131
+ "default": "",
132
+ "description": "A count on the avatar (simai/ui-source#12): a whole number above 0 shows, 0 or empty hides the badge. Above badge-cap it reads «<cap>+»; the exact number joins the avatar's accessible name («Анна Белова, 3 непрочитанных») and the badge's tooltip. On an anchor of size 1/3 or 1/2 a count is drawn as a dot."
133
+ },
134
+ "badge-dot": {
135
+ "type": "boolean",
136
+ "default": false,
137
+ "description": "A dot on the avatar, a count with no number: something new. Shown when badge-count is not set; with a count, the count is drawn as a dot. Its text equivalent («есть новое» / «new» by default, badge-label to change it) joins the accessible name."
138
+ },
139
+ "badge-cap": {
140
+ "type": "integer",
141
+ "default": 99,
142
+ "description": "The largest count drawn as a number; a larger one reads «<cap>+»."
143
+ },
144
+ "badge-label": {
145
+ "type": "string",
146
+ "default": "",
147
+ "description": "The words the badge adds to the accessible name and its tooltip, in place of the page language's default: for a dot the whole text equivalent; for a count the phrase in plural forms separated by «|» (one|few|many in Russian, one|other in English) with {count} where the number goes."
126
148
  }
127
149
  },
128
150
  "additionalProperties": false
@@ -229,7 +251,7 @@
229
251
  "source_artifacts": [
230
252
  {
231
253
  "path": "src/smart/avatar/index.js",
232
- "sha256": "a1260edefb36506fc80bc1de0872f30b634c3385e9b7f1522323f29fa95212a3"
254
+ "sha256": "150b3582139dbff2ff24788b5e988b3cd4ed6892cb5c0a41cfa937bb1f070b76"
233
255
  }
234
256
  ],
235
257
  "generated_runtime": [
@@ -1,4 +1,5 @@
1
1
  import {html, nothing} from "lit";
2
+ import {renderAnchoredBadge} from "../../../helpers/anchored-badge";
2
3
 
3
4
  function getCompanyBadge(context) {
4
5
  return html`<span aria-hidden="true"
@@ -163,11 +164,11 @@ export function avatarButton(context, options = {}) {
163
164
  <button
164
165
  class="${avatarClasses(context, options)}"
165
166
  style=${options.includeRootStyle === false ? "" : context.rootStyle || ""}
166
- aria-label=${context.ariaLabel}
167
+ aria-label=${context.buttonLabel ?? context.ariaLabel}
167
168
  ?disabled=${context.disabled}
168
169
  type="button"
169
170
  >
170
- ${avatarContent(context)} ${statusBadge(context)}
171
+ ${avatarContent(context)} ${statusBadge(context)} ${renderAnchoredBadge(context.badge)}
171
172
  </button>
172
173
  `;
173
174
  }
@@ -1,4 +1,4 @@
1
- (()=>{"use strict";var e={"4f7ae7ea9e1c"(e,t,a){a.a(e,async(e,r)=>{try{a.d(t,{Od:()=>h,_o:()=>u,vn:()=>c});var i=a("ddf1cdb42ecc"),s=e([i]),n=s.then?(await s)():s;i=n[0];function l(e){return i.html`<span aria-hidden="true"
1
+ (()=>{"use strict";var e={"7cd0e63a3ed6"(e,t,a){a.a(e,async(e,t)=>{try{var r=a("0d662e4d7d63"),i=e([r]);r=(i.then?(await i)():i)[0];t()}catch(e){t(e)}})},"4f7ae7ea9e1c"(e,t,a){a.a(e,async(e,r)=>{try{a.d(t,{Od:()=>h,_o:()=>u,vn:()=>c});var i=a("ddf1cdb42ecc"),s=a("34addf781b5b"),n=e([i,s]);[i,s]=n.then?(await n)():n;function l(e){return i.html`<span aria-hidden="true"
2
2
  class="sf-avatar-badge sf-avatar-badge--size-${e.size} sf-avatar-badge--company overflow-hidden flex absolute bottom-0 inline-end-0"
3
3
  >
4
4
  <svg viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -48,7 +48,7 @@
48
48
  <span class=${(0,s._o)(a)} style=${e.rootStyle||i.nothing}>
49
49
  ${(0,s.vn)(a)} ${(0,s.Od)(a)}
50
50
  </span>
51
- `}function f(e){return e.check?"verified":e.active?"online":"none"}function p(e){return h({size:c(e.roundSize||e.avatarSize),imageUrl:e.imageUrl,status:f(e),rootClass:e.rootClass,rootStyle:e.rootStyle,component:e.component})}function m(e,{size:t,imageUrl:a,title:r,text:s,icon:n}){return i.html`
51
+ `}function f(e){return e.check?"verified":e.active?"online":"none"}function p(e){return h({size:c(e.roundSize||e.avatarSize),imageUrl:e.imageUrl,status:f(e),rootClass:e.rootClass,rootStyle:e.rootStyle,component:e.component})}function g(e,{size:t,imageUrl:a,title:r,text:s,icon:n}){return i.html`
52
52
  <div class=${["sf-avatar-label-group",`sf-avatar-label-group--size-${t}`,"flex","items-cross-center",e.rootClass].filter(Boolean).join(" ")} style=${e.rootStyle||i.nothing}>
53
53
  ${h({size:t,imageUrl:a,component:e.component})}
54
54
  <div class="sf-avatar-label-group-container flex flex-col">
@@ -59,11 +59,11 @@
59
59
  </div>`:i.nothing}
60
60
  </div>
61
61
  </div>
62
- `}function g(e){return m(e,{size:c(e.avatarSize),imageUrl:e.imageUrl,title:e.name,text:e.source,icon:e.source?"link":""})}function v(e){return m(e,{size:c(e.labelSize||e.avatarSize),imageUrl:e.avatarUrl,title:e.labelText,text:e.labelSecondText})}function b(e){const t=c(e.roundSize,"1/2"),a=String(e.avatarsMore??"").trim();return i.html`
62
+ `}function m(e){return g(e,{size:c(e.avatarSize),imageUrl:e.imageUrl,title:e.name,text:e.source,icon:e.source?"link":""})}function v(e){return g(e,{size:c(e.labelSize||e.avatarSize),imageUrl:e.avatarUrl,title:e.labelText,text:e.labelSecondText})}function b(e){const t=c(e.roundSize,"1/2"),a=String(e.avatarsMore??"").trim();return i.html`
63
63
  <div class=${["sf-avatar-group",`sf-avatar-group--size-${d(t)}`,"flex","items-cross-center",e.rootClass].filter(Boolean).join(" ")} style=${e.rootStyle||i.nothing}>
64
64
  <div class="sf-avatar-group-avatars flex">
65
65
  ${e.avatars.map(a=>h({size:t,imageUrl:a.imageUrl||a.image_url,text:a.text||a.initials,component:e.component}))}
66
66
  ${a?h({size:t,text:/^\d+$/u.test(a)?`+${a}`:a,component:e.component}):i.nothing}
67
67
  </div>
68
68
  </div>
69
- `}function x(e){return h({size:u[e.profileSize]||c(e.profileSize,"3"),imageUrl:e.imageUrl,status:"verified",rootClass:e.rootClass,rootStyle:e.rootStyle,component:e.component})}function S(e){switch(e.templateName){case"user":return g(e);case"group":return b(e);case"label":return v(e);case"profile":return x(e);default:return p(e)}}r()}catch(C){r(C)}})},ddf1cdb42ecc(e){e.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit"):new Promise(e=>globalThis.addEventListener("sf-runtime-ready",()=>e(globalThis.SF.runtimeModule("lit")),{once:!0}))},fbe0570fcc69(e){e.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("smart-base"):new Promise(e=>globalThis.addEventListener("sf-runtime-ready",()=>e(globalThis.SF.runtimeModule("smart-base")),{once:!0}))}};const t={};function a(r){const i=t[r];if(void 0!==i)return i.exports;const s=t[r]={exports:{}};return e[r](s,s.exports,a),s.exports}(()=>{const e="function"==typeof Symbol,t=e?Symbol("webpack queues"):"__webpack_queues__",r=e?Symbol("webpack exports"):"__webpack_exports__",i=e?Symbol("webpack error"):"__webpack_error__",s=e=>{e?.d<1&&(e.d=1,e.forEach(e=>e.r--),e.forEach(e=>e.r--?e.r++:e()))};a.a=(e,a,n)=>{let l;n&&((l=[]).d=-1);const o=new Set,u=e.exports;let c,d,h;const f=new Promise((e,t)=>{h=t,d=e});f[r]=u,f[t]=e=>(l&&e(l),o.forEach(e),f.catch(e=>{})),e.exports=f;a(e=>{let a;c=(e=>e.map(e=>{if(null!==e&&"object"==typeof e){if(e[t])return e;if(e.then){const a=[];a.d=0,e.then(e=>{n[r]=e,s(a)},e=>{n[i]=e,s(a)});const n={};return n[t]=e=>e(a),n}}const a={};return a[t]=e=>{},a[r]=e,a}))(e);const n=()=>c.map(e=>{if(e[i])throw e[i];return e[r]}),u=new Promise(e=>{a=()=>e(n),a.r=0;const r=e=>e!==l&&!o.has(e)&&(o.add(e),e&&!e.d&&(a.r++,e.push(a)));c.map(e=>e[t](r))});return a.r?u:n()},e=>(e?h(f[i]=e):d(u),s(l))),l?.d<0&&(l.d=0)}})(),a.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{if(Array.isArray(t))for(var r=0;r<t.length;){var i=t[r++],s=t[r++];a.o(e,i)?0===s&&r++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[r++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)a.o(t,i)&&!a.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);a("d969e7648c73")})();
69
+ `}function x(e){return h({size:u[e.profileSize]||c(e.profileSize,"3"),imageUrl:e.imageUrl,status:"verified",rootClass:e.rootClass,rootStyle:e.rootStyle,component:e.component})}function S(e){switch(e.templateName){case"user":return m(e);case"group":return b(e);case"label":return v(e);case"profile":return x(e);default:return p(e)}}r()}catch(C){r(C)}})},"34addf781b5b"(e,t,a){a.a(e,async(e,t)=>{try{var r=a("ddf1cdb42ecc"),i=a("7cd0e63a3ed6"),s=e([r,i]);[r,i]=s.then?(await s)():s;Object.freeze(["badge-count","badge-dot","badge-cap","badge-label"]);t()}catch(e){t(e)}})},ddf1cdb42ecc(e){e.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit"):new Promise(e=>globalThis.addEventListener("sf-runtime-ready",()=>e(globalThis.SF.runtimeModule("lit")),{once:!0}))},"0d662e4d7d63"(e){e.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("page-language"):new Promise(e=>globalThis.addEventListener("sf-runtime-ready",()=>e(globalThis.SF.runtimeModule("page-language")),{once:!0}))},fbe0570fcc69(e){e.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("smart-base"):new Promise(e=>globalThis.addEventListener("sf-runtime-ready",()=>e(globalThis.SF.runtimeModule("smart-base")),{once:!0}))}};const t={};function a(r){const i=t[r];if(void 0!==i)return i.exports;const s=t[r]={exports:{}};return e[r](s,s.exports,a),s.exports}(()=>{const e="function"==typeof Symbol,t=e?Symbol("webpack queues"):"__webpack_queues__",r=e?Symbol("webpack exports"):"__webpack_exports__",i=e?Symbol("webpack error"):"__webpack_error__",s=e=>{e?.d<1&&(e.d=1,e.forEach(e=>e.r--),e.forEach(e=>e.r--?e.r++:e()))};a.a=(e,a,n)=>{let l;n&&((l=[]).d=-1);const o=new Set,u=e.exports;let c,d,h;const f=new Promise((e,t)=>{h=t,d=e});f[r]=u,f[t]=e=>(l&&e(l),o.forEach(e),f.catch(e=>{})),e.exports=f;a(e=>{let a;c=(e=>e.map(e=>{if(null!==e&&"object"==typeof e){if(e[t])return e;if(e.then){const a=[];a.d=0,e.then(e=>{n[r]=e,s(a)},e=>{n[i]=e,s(a)});const n={};return n[t]=e=>e(a),n}}const a={};return a[t]=e=>{},a[r]=e,a}))(e);const n=()=>c.map(e=>{if(e[i])throw e[i];return e[r]}),u=new Promise(e=>{a=()=>e(n),a.r=0;const r=e=>e!==l&&!o.has(e)&&(o.add(e),e&&!e.d&&(a.r++,e.push(a)));c.map(e=>e[t](r))});return a.r?u:n()},e=>(e?h(f[i]=e):d(u),s(l))),l?.d<0&&(l.d=0)}})(),a.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{if(Array.isArray(t))for(var r=0;r<t.length;){var i=t[r++],s=t[r++];a.o(e,i)?0===s&&r++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[r++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)a.o(t,i)&&!a.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);a("d969e7648c73")})();
@@ -554,7 +554,7 @@
554
554
  },
555
555
  {
556
556
  "path": "src/component/context-menu/scss/_css__context_menu.scss",
557
- "sha256": "ef0c1029e819428e9f79afeff408bdd3fd9600fe7d0946503ceac7d0c047b702"
557
+ "sha256": "ceb4c7f5f9beea5b7369c6238403b43c86b9067fc234068fc1c2371df603c15e"
558
558
  },
559
559
  {
560
560
  "path": "src/component/context-menu/scss/_css__context_menu_custom.scss",
@@ -1 +1 @@
1
- @property --sf-drawer-stack-offset{syntax:"<length>";inherits:true;initial-value:0}@layer sf.components{.sf-drawer{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:var(--sf-z-index-9);z-index:var(--sf-drawer-z-index, var(--sf-z-index-9));pointer-events:none}.sf-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;background:var(--sf-black);background:var(--sf-drawer-overlay-background, var(--sf-black));opacity:var(--sf-opacity-60);opacity:var(--sf-drawer-overlay-opacity, var(--sf-opacity-60));transition:opacity var(--sf-duration-normal) var(--sf-ease-exit)}.sf-drawer.is-open .sf-drawer-overlay{transition-timing-function:var(--sf-ease-enter)}.sf-drawer:not(.is-open) .sf-drawer-overlay{opacity:var(--sf-0)}.sf-drawer.is-open .sf-drawer-overlay{pointer-events:auto}.sf-drawer-overlay[hidden]{display:none !important}.sf-drawer-panel{--sf-drawer-stack-inset: calc(var(--sf-drawer-stack-depth, 0) * var(--sf-drawer-stack-offset));position:fixed;top:0;bottom:0;inset-block:0;display:flex;flex-direction:column;width:min(var(--sf-g2),100vi);width:min(var(--sf-drawer-width, var(--sf-g2)),100vi);max-width:100vi;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overflow:hidden auto;scrollbar-gutter:stable both-edges;pointer-events:auto;border-radius:var(--sf-radius--surface);border-radius:var(--sf-drawer-radius, var(--sf-radius--surface));background:var(--sf-elevation-4--surface);background:var(--sf-drawer-background, var(--sf-elevation-4--surface));--sf-on-surface-variant: var(--sf-on-elevation-4--variant);color:var(--sf-on-surface);color:var(--sf-drawer-color, var(--sf-on-surface));box-shadow:var(--sf-elevation-4--shadow);box-shadow:var(--sf-drawer-shadow, var(--sf-elevation-4--shadow));outline:0;transition:-webkit-transform var(--sf-duration-normal) var(--sf-ease-exit);transition:transform var(--sf-duration-normal) var(--sf-ease-exit);transition:transform var(--sf-duration-normal) var(--sf-ease-exit), -webkit-transform var(--sf-duration-normal) var(--sf-ease-exit)}.sf-drawer[data-sf-drawer-size="1/2"]{--sf-drawer-width: var(--sf-g0)}.sf-drawer[data-sf-drawer-size="2"]{--sf-drawer-width: var(--sf-g5)}.sf-drawer[data-sf-drawer-size=full]{--sf-drawer-width: 100vi;--sf-drawer-radius: var(--sf-0)}.sf-drawer[data-sf-drawer-placement=left] .sf-drawer-panel{left:var(--sf-drawer-stack-inset);border-right:var(--sf-px) solid var(--sf-outline-variant);border-top-left-radius:var(--sf-0);border-bottom-left-radius:var(--sf-0);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-drawer[data-sf-drawer-placement=right] .sf-drawer-panel{right:var(--sf-drawer-stack-inset);border-left:var(--sf-px) solid var(--sf-outline-variant);border-top-right-radius:var(--sf-0);border-bottom-right-radius:var(--sf-0);-webkit-transform:translateX(100%);transform:translateX(100%)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{left:var(--sf-drawer-stack-inset)}@supports not (inset-inline-start: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{left:var(--sf-drawer-stack-inset)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(ltr)){left:var(--sf-drawer-stack-inset)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{right:var(--sf-drawer-stack-inset)}@supports not (inset-inline-start: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{right:var(--sf-drawer-stack-inset)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(rtl)){right:var(--sf-drawer-stack-inset)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-right:var(--sf-px) solid var(--sf-outline-variant)}@supports not (border-inline-end: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-right:var(--sf-px) solid var(--sf-outline-variant)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(ltr)){border-right:var(--sf-px) solid var(--sf-outline-variant)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-left:var(--sf-px) solid var(--sf-outline-variant)}@supports not (border-inline-end: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-left:var(--sf-px) solid var(--sf-outline-variant)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(rtl)){border-left:var(--sf-px) solid var(--sf-outline-variant)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-top-left-radius:var(--sf-0)}@supports not (border-start-start-radius: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-top-left-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(ltr)){border-top-left-radius:var(--sf-0)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-top-right-radius:var(--sf-0)}@supports not (border-start-start-radius: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-top-right-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(rtl)){border-top-right-radius:var(--sf-0)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-bottom-left-radius:var(--sf-0)}@supports not (border-end-start-radius: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-bottom-left-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(ltr)){border-bottom-left-radius:var(--sf-0)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-bottom-right-radius:var(--sf-0)}@supports not (border-end-start-radius: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-bottom-right-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(rtl)){border-bottom-right-radius:var(--sf-0)}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{inset-inline-start:var(--sf-drawer-stack-inset);-webkit-border-end:var(--sf-px) solid var(--sf-outline-variant);border-inline-end:var(--sf-px) solid var(--sf-outline-variant);border-start-start-radius:var(--sf-0);border-end-start-radius:var(--sf-0);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-drawer:not(.is-open)[data-sf-drawer-placement=inline-start]:dir(rtl) .sf-drawer-panel{-webkit-transform:translateX(100%);transform:translateX(100%)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{right:var(--sf-drawer-stack-inset)}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{right:var(--sf-drawer-stack-inset)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(ltr)){right:var(--sf-drawer-stack-inset)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{left:var(--sf-drawer-stack-inset)}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{left:var(--sf-drawer-stack-inset)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(rtl)){left:var(--sf-drawer-stack-inset)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-left:var(--sf-px) solid var(--sf-outline-variant)}@supports not (border-inline-start: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-left:var(--sf-px) solid var(--sf-outline-variant)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(ltr)){border-left:var(--sf-px) solid var(--sf-outline-variant)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-right:var(--sf-px) solid var(--sf-outline-variant)}@supports not (border-inline-start: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-right:var(--sf-px) solid var(--sf-outline-variant)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(rtl)){border-right:var(--sf-px) solid var(--sf-outline-variant)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-top-right-radius:var(--sf-0)}@supports not (border-start-end-radius: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-top-right-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(ltr)){border-top-right-radius:var(--sf-0)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-top-left-radius:var(--sf-0)}@supports not (border-start-end-radius: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-top-left-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(rtl)){border-top-left-radius:var(--sf-0)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-bottom-right-radius:var(--sf-0)}@supports not (border-end-end-radius: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-bottom-right-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(ltr)){border-bottom-right-radius:var(--sf-0)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-bottom-left-radius:var(--sf-0)}@supports not (border-end-end-radius: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-bottom-left-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(rtl)){border-bottom-left-radius:var(--sf-0)}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{inset-inline-end:var(--sf-drawer-stack-inset);-webkit-border-start:var(--sf-px) solid var(--sf-outline-variant);border-inline-start:var(--sf-px) solid var(--sf-outline-variant);border-start-end-radius:var(--sf-0);border-end-end-radius:var(--sf-0);-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-drawer:not(.is-open)[data-sf-drawer-placement=inline-end]:dir(rtl) .sf-drawer-panel{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-drawer.is-open .sf-drawer-panel{transition-timing-function:var(--sf-ease-enter);-webkit-transform:translateX(var(--sf-0));transform:translateX(var(--sf-0))}.sf-drawer-head{position:sticky;top:0;inset-block-start:0;z-index:1;background:inherit;display:flex;align-items:center;justify-content:space-between;gap:var(--sf-space-1);min-height:var(--sf-ui-2--control-height);padding:var(--sf-space-1) var(--sf-space-1) var(--sf-space-1\/2);padding:var(--sf-space-1) var(--sf-drawer-gutter, var(--sf-space-1)) var(--sf-space-1\/2)}.sf-drawer-title{min-width:0;overflow:hidden;color:var(--sf-on-surface);font-size:var(--sf-heading-6--size);line-height:var(--sf-heading-6--height);font-weight:var(--sf-heading--weight);text-overflow:ellipsis;white-space:nowrap}.sf-drawer-body{min-width:0;flex:1 1 auto;min-height:0;min-block-size:0;display:flex;flex-direction:column;padding:var(--sf-space-1\/2) var(--sf-space-1) var(--sf-space-3);padding:var(--sf-space-1\/2) var(--sf-drawer-gutter, var(--sf-space-1)) var(--sf-space-3)}.sf-drawer-body>*{flex:0 0 auto}.sf-drawer-body>:only-child{flex:1 1 auto;min-height:0;min-block-size:0}.sf-drawer-panel[\:not-has\(.sf-drawer-head\)] .sf-drawer-body{padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width))}.sf-drawer-panel[\:not-has\(.sf-drawer-head\)] .sf-drawer-body{padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width))}.sf-drawer-panel[\:not-has\(.sf-drawer-head\)] .sf-drawer-body{padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width))}.sf-drawer-panel:not(:has(.sf-drawer-head)) .sf-drawer-body{padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width))}.sf-drawer-edge{--sf-drawer-edge-inset: calc( var(--sf-drawer-stack-depth, 0) * var(--sf-drawer-stack-offset) + min(var(--sf-drawer-width, var(--sf-g2)), 100vi) + var(--sf-space-1\/2) );position:absolute;top:var(--sf-space-1);inset-block-start:var(--sf-space-1);display:flex;flex-direction:column;gap:var(--sf-space-1);pointer-events:auto;z-index:1}.sf-drawer-edge:empty{display:none}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{left:var(--sf-space-1)}@supports not (inset-inline-start: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{left:var(--sf-space-1)}}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{right:auto}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{right:auto}}.sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge:where(:dir(ltr)){left:var(--sf-space-1);right:auto}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{right:var(--sf-space-1)}@supports not (inset-inline-start: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{right:var(--sf-space-1)}}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{left:auto}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{left:auto}}.sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge:where(:dir(rtl)){right:var(--sf-space-1);left:auto}.sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{inset-inline:var(--sf-space-1) auto;flex-direction:row}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge:where(:dir(ltr)){right:var(--sf-drawer-edge-inset)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge:where(:dir(rtl)){left:var(--sf-drawer-edge-inset)}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{inset-inline-end:var(--sf-drawer-edge-inset)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}@supports not (inset-inline-start: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge:where(:dir(ltr)){left:var(--sf-drawer-edge-inset)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}@supports not (inset-inline-start: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge:where(:dir(rtl)){right:var(--sf-drawer-edge-inset)}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{inset-inline-start:var(--sf-drawer-edge-inset)}.sf-drawer[data-sf-drawer-placement=right] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}.sf-drawer[data-sf-drawer-placement=left] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}.sf-drawer-close--outside{position:static}.sf-drawer[data-sf-drawer-docked=true] .sf-drawer-overlay{display:none}.sf-drawer[data-sf-drawer-docked=true] .sf-drawer-panel{top:0;inset-block-start:0;top:0;top:var(--sf-drawer-dock-block-start, 0);inset-block-start:var(--sf-drawer-dock-block-start, 0);height:auto;border-radius:var(--sf-0);box-shadow:none}[data-sf-overlay-container],[data-sf-drawer-container]{contain:layout}_:-ms-input-placeholder, html:not([dir="rtl"]) [data-sf-drawer-dock-host]{padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-start, var(--sf-0))}@supports not (padding-inline-start: initial){html:not([dir="rtl"]) [data-sf-drawer-dock-host]{padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-start, var(--sf-0))}}[data-sf-drawer-dock-host]:where(:dir(ltr)){padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-start, var(--sf-0))}_:-ms-input-placeholder, [dir="rtl"] [data-sf-drawer-dock-host]{padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-start, var(--sf-0))}@supports not (padding-inline-start: initial){[dir="rtl"] [data-sf-drawer-dock-host]{padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-start, var(--sf-0))}}[data-sf-drawer-dock-host]:where(:dir(rtl)){padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-start, var(--sf-0))}_:-ms-input-placeholder, html:not([dir="rtl"]) [data-sf-drawer-dock-host]{padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-end, var(--sf-0))}@supports not (padding-inline-end: initial){html:not([dir="rtl"]) [data-sf-drawer-dock-host]{padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-end, var(--sf-0))}}[data-sf-drawer-dock-host]:where(:dir(ltr)){padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-end, var(--sf-0))}_:-ms-input-placeholder, [dir="rtl"] [data-sf-drawer-dock-host]{padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-end, var(--sf-0))}@supports not (padding-inline-end: initial){[dir="rtl"] [data-sf-drawer-dock-host]{padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-end, var(--sf-0))}}[data-sf-drawer-dock-host]:where(:dir(rtl)){padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-end, var(--sf-0))}[data-sf-drawer-dock-host]{box-sizing:border-box;-webkit-padding-start:var(--sf-0);padding-inline-start:var(--sf-0);-webkit-padding-start:var(--sf-drawer-dock-inline-start, var(--sf-0));padding-inline-start:var(--sf-drawer-dock-inline-start, var(--sf-0));-webkit-padding-end:var(--sf-0);padding-inline-end:var(--sf-0);-webkit-padding-end:var(--sf-drawer-dock-inline-end, var(--sf-0));padding-inline-end:var(--sf-drawer-dock-inline-end, var(--sf-0));transition:padding var(--sf-duration-normal) var(--sf-animation)}@media(prefers-reduced-motion: reduce){.sf-drawer-overlay,.sf-drawer-panel,[data-sf-drawer-dock-host]{transition:none}}}
1
+ @property --sf-drawer-stack-offset{syntax:"<length>";inherits:true;initial-value:0}@layer sf.components{.sf-drawer{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:var(--sf-z-index-9);z-index:var(--sf-drawer-z-index, var(--sf-z-index-9));pointer-events:none}.sf-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;background:var(--sf-black);background:var(--sf-drawer-overlay-background, var(--sf-black));opacity:var(--sf-opacity-60);opacity:var(--sf-drawer-overlay-opacity, var(--sf-opacity-60));transition:opacity var(--sf-duration-normal) var(--sf-ease-exit)}.sf-drawer.is-open .sf-drawer-overlay{transition-timing-function:var(--sf-ease-enter)}.sf-drawer:not(.is-open) .sf-drawer-overlay{opacity:var(--sf-0)}.sf-drawer.is-open .sf-drawer-overlay{pointer-events:auto}.sf-drawer-overlay[hidden]{display:none !important}.sf-drawer-panel{--sf-drawer-stack-inset: calc(var(--sf-drawer-stack-depth, 0) * var(--sf-drawer-stack-offset));position:fixed;top:0;bottom:0;inset-block:0;display:flex;flex-direction:column;width:min(var(--sf-g2),100vi);width:min(var(--sf-drawer-width, var(--sf-g2)),100vi);max-width:100vi;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overflow:hidden auto;scrollbar-gutter:stable both-edges;pointer-events:auto;border-radius:var(--sf-radius--surface);border-radius:var(--sf-drawer-radius, var(--sf-radius--surface));background:var(--sf-elevation-4--surface);background:var(--sf-drawer-background, var(--sf-elevation-4--surface));--sf-on-surface-variant: var(--sf-on-elevation-4--variant);--sf-badge--surface: var(--sf-drawer-background, var(--sf-elevation-4--surface));color:var(--sf-on-surface);color:var(--sf-drawer-color, var(--sf-on-surface));box-shadow:var(--sf-elevation-4--shadow);box-shadow:var(--sf-drawer-shadow, var(--sf-elevation-4--shadow));outline:0;transition:-webkit-transform var(--sf-duration-normal) var(--sf-ease-exit);transition:transform var(--sf-duration-normal) var(--sf-ease-exit);transition:transform var(--sf-duration-normal) var(--sf-ease-exit), -webkit-transform var(--sf-duration-normal) var(--sf-ease-exit)}.sf-drawer[data-sf-drawer-size="1/2"]{--sf-drawer-width: var(--sf-g0)}.sf-drawer[data-sf-drawer-size="2"]{--sf-drawer-width: var(--sf-g5)}.sf-drawer[data-sf-drawer-size=full]{--sf-drawer-width: 100vi;--sf-drawer-radius: var(--sf-0)}.sf-drawer[data-sf-drawer-placement=left] .sf-drawer-panel{left:var(--sf-drawer-stack-inset);border-right:var(--sf-px) solid var(--sf-outline-variant);border-top-left-radius:var(--sf-0);border-bottom-left-radius:var(--sf-0);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-drawer[data-sf-drawer-placement=right] .sf-drawer-panel{right:var(--sf-drawer-stack-inset);border-left:var(--sf-px) solid var(--sf-outline-variant);border-top-right-radius:var(--sf-0);border-bottom-right-radius:var(--sf-0);-webkit-transform:translateX(100%);transform:translateX(100%)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{left:var(--sf-drawer-stack-inset)}@supports not (inset-inline-start: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{left:var(--sf-drawer-stack-inset)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(ltr)){left:var(--sf-drawer-stack-inset)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{right:var(--sf-drawer-stack-inset)}@supports not (inset-inline-start: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{right:var(--sf-drawer-stack-inset)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(rtl)){right:var(--sf-drawer-stack-inset)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-right:var(--sf-px) solid var(--sf-outline-variant)}@supports not (border-inline-end: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-right:var(--sf-px) solid var(--sf-outline-variant)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(ltr)){border-right:var(--sf-px) solid var(--sf-outline-variant)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-left:var(--sf-px) solid var(--sf-outline-variant)}@supports not (border-inline-end: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-left:var(--sf-px) solid var(--sf-outline-variant)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(rtl)){border-left:var(--sf-px) solid var(--sf-outline-variant)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-top-left-radius:var(--sf-0)}@supports not (border-start-start-radius: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-top-left-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(ltr)){border-top-left-radius:var(--sf-0)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-top-right-radius:var(--sf-0)}@supports not (border-start-start-radius: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-top-right-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(rtl)){border-top-right-radius:var(--sf-0)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-bottom-left-radius:var(--sf-0)}@supports not (border-end-start-radius: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-bottom-left-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(ltr)){border-bottom-left-radius:var(--sf-0)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-bottom-right-radius:var(--sf-0)}@supports not (border-end-start-radius: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{border-bottom-right-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel:where(:dir(rtl)){border-bottom-right-radius:var(--sf-0)}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-panel{inset-inline-start:var(--sf-drawer-stack-inset);-webkit-border-end:var(--sf-px) solid var(--sf-outline-variant);border-inline-end:var(--sf-px) solid var(--sf-outline-variant);border-start-start-radius:var(--sf-0);border-end-start-radius:var(--sf-0);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-drawer:not(.is-open)[data-sf-drawer-placement=inline-start]:dir(rtl) .sf-drawer-panel{-webkit-transform:translateX(100%);transform:translateX(100%)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{right:var(--sf-drawer-stack-inset)}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{right:var(--sf-drawer-stack-inset)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(ltr)){right:var(--sf-drawer-stack-inset)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{left:var(--sf-drawer-stack-inset)}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{left:var(--sf-drawer-stack-inset)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(rtl)){left:var(--sf-drawer-stack-inset)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-left:var(--sf-px) solid var(--sf-outline-variant)}@supports not (border-inline-start: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-left:var(--sf-px) solid var(--sf-outline-variant)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(ltr)){border-left:var(--sf-px) solid var(--sf-outline-variant)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-right:var(--sf-px) solid var(--sf-outline-variant)}@supports not (border-inline-start: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-right:var(--sf-px) solid var(--sf-outline-variant)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(rtl)){border-right:var(--sf-px) solid var(--sf-outline-variant)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-top-right-radius:var(--sf-0)}@supports not (border-start-end-radius: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-top-right-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(ltr)){border-top-right-radius:var(--sf-0)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-top-left-radius:var(--sf-0)}@supports not (border-start-end-radius: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-top-left-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(rtl)){border-top-left-radius:var(--sf-0)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-bottom-right-radius:var(--sf-0)}@supports not (border-end-end-radius: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-bottom-right-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(ltr)){border-bottom-right-radius:var(--sf-0)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-bottom-left-radius:var(--sf-0)}@supports not (border-end-end-radius: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{border-bottom-left-radius:var(--sf-0)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel:where(:dir(rtl)){border-bottom-left-radius:var(--sf-0)}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-panel{inset-inline-end:var(--sf-drawer-stack-inset);-webkit-border-start:var(--sf-px) solid var(--sf-outline-variant);border-inline-start:var(--sf-px) solid var(--sf-outline-variant);border-start-end-radius:var(--sf-0);border-end-end-radius:var(--sf-0);-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-drawer:not(.is-open)[data-sf-drawer-placement=inline-end]:dir(rtl) .sf-drawer-panel{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-drawer.is-open .sf-drawer-panel{transition-timing-function:var(--sf-ease-enter);-webkit-transform:translateX(var(--sf-0));transform:translateX(var(--sf-0))}.sf-drawer-head{position:sticky;top:0;inset-block-start:0;z-index:1;background:inherit;display:flex;align-items:center;justify-content:space-between;gap:var(--sf-space-1);min-height:var(--sf-ui-2--control-height);padding:var(--sf-space-1) var(--sf-space-1) var(--sf-space-1\/2);padding:var(--sf-space-1) var(--sf-drawer-gutter, var(--sf-space-1)) var(--sf-space-1\/2)}.sf-drawer-title{min-width:0;overflow:hidden;color:var(--sf-on-surface);font-size:var(--sf-heading-6--size);line-height:var(--sf-heading-6--height);font-weight:var(--sf-heading--weight);text-overflow:ellipsis;white-space:nowrap}.sf-drawer-body{min-width:0;flex:1 1 auto;min-height:0;min-block-size:0;display:flex;flex-direction:column;padding:var(--sf-space-1\/2) var(--sf-space-1) var(--sf-space-3);padding:var(--sf-space-1\/2) var(--sf-drawer-gutter, var(--sf-space-1)) var(--sf-space-3)}.sf-drawer-body>*{flex:0 0 auto}.sf-drawer-body>:only-child{flex:1 1 auto;min-height:0;min-block-size:0}.sf-drawer-panel[\:not-has\(.sf-drawer-head\)] .sf-drawer-body{padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width))}.sf-drawer-panel[\:not-has\(.sf-drawer-head\)] .sf-drawer-body{padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width))}.sf-drawer-panel[\:not-has\(.sf-drawer-head\)] .sf-drawer-body{padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width))}.sf-drawer-panel:not(:has(.sf-drawer-head)) .sf-drawer-body{padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-top:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-space-1) + var(--sf-scroll-bg-width));padding-bottom:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width));padding-block:calc(var(--sf-drawer-gutter, var(--sf-space-1)) + var(--sf-scroll-bg-width))}.sf-drawer-edge{--sf-drawer-edge-inset: calc( var(--sf-drawer-stack-depth, 0) * var(--sf-drawer-stack-offset) + min(var(--sf-drawer-width, var(--sf-g2)), 100vi) + var(--sf-space-1\/2) );position:absolute;top:var(--sf-space-1);inset-block-start:var(--sf-space-1);display:flex;flex-direction:column;gap:var(--sf-space-1);pointer-events:auto;z-index:1}.sf-drawer-edge:empty{display:none}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{left:var(--sf-space-1)}@supports not (inset-inline-start: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{left:var(--sf-space-1)}}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{right:auto}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{right:auto}}.sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge:where(:dir(ltr)){left:var(--sf-space-1);right:auto}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{right:var(--sf-space-1)}@supports not (inset-inline-start: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{right:var(--sf-space-1)}}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{left:auto}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{left:auto}}.sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge:where(:dir(rtl)){right:var(--sf-space-1);left:auto}.sf-drawer[data-sf-drawer-size=full] .sf-drawer-edge{inset-inline:var(--sf-space-1) auto;flex-direction:row}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge:where(:dir(ltr)){right:var(--sf-drawer-edge-inset)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge:where(:dir(rtl)){left:var(--sf-drawer-edge-inset)}.sf-drawer[data-sf-drawer-placement=inline-end] .sf-drawer-edge{inset-inline-end:var(--sf-drawer-edge-inset)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}@supports not (inset-inline-start: initial){html:not([dir="rtl"]) .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge:where(:dir(ltr)){left:var(--sf-drawer-edge-inset)}_:-ms-input-placeholder, [dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}@supports not (inset-inline-start: initial){[dir="rtl"] .sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge:where(:dir(rtl)){right:var(--sf-drawer-edge-inset)}.sf-drawer[data-sf-drawer-placement=inline-start] .sf-drawer-edge{inset-inline-start:var(--sf-drawer-edge-inset)}.sf-drawer[data-sf-drawer-placement=right] .sf-drawer-edge{right:var(--sf-drawer-edge-inset)}.sf-drawer[data-sf-drawer-placement=left] .sf-drawer-edge{left:var(--sf-drawer-edge-inset)}.sf-drawer-close--outside{position:static}.sf-drawer[data-sf-drawer-docked=true] .sf-drawer-overlay{display:none}.sf-drawer[data-sf-drawer-docked=true] .sf-drawer-panel{top:0;inset-block-start:0;top:0;top:var(--sf-drawer-dock-block-start, 0);inset-block-start:var(--sf-drawer-dock-block-start, 0);height:auto;border-radius:var(--sf-0);box-shadow:none}[data-sf-overlay-container],[data-sf-drawer-container]{contain:layout}_:-ms-input-placeholder, html:not([dir="rtl"]) [data-sf-drawer-dock-host]{padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-start, var(--sf-0))}@supports not (padding-inline-start: initial){html:not([dir="rtl"]) [data-sf-drawer-dock-host]{padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-start, var(--sf-0))}}[data-sf-drawer-dock-host]:where(:dir(ltr)){padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-start, var(--sf-0))}_:-ms-input-placeholder, [dir="rtl"] [data-sf-drawer-dock-host]{padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-start, var(--sf-0))}@supports not (padding-inline-start: initial){[dir="rtl"] [data-sf-drawer-dock-host]{padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-start, var(--sf-0))}}[data-sf-drawer-dock-host]:where(:dir(rtl)){padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-start, var(--sf-0))}_:-ms-input-placeholder, html:not([dir="rtl"]) [data-sf-drawer-dock-host]{padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-end, var(--sf-0))}@supports not (padding-inline-end: initial){html:not([dir="rtl"]) [data-sf-drawer-dock-host]{padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-end, var(--sf-0))}}[data-sf-drawer-dock-host]:where(:dir(ltr)){padding-right:var(--sf-0);padding-right:var(--sf-drawer-dock-inline-end, var(--sf-0))}_:-ms-input-placeholder, [dir="rtl"] [data-sf-drawer-dock-host]{padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-end, var(--sf-0))}@supports not (padding-inline-end: initial){[dir="rtl"] [data-sf-drawer-dock-host]{padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-end, var(--sf-0))}}[data-sf-drawer-dock-host]:where(:dir(rtl)){padding-left:var(--sf-0);padding-left:var(--sf-drawer-dock-inline-end, var(--sf-0))}[data-sf-drawer-dock-host]{box-sizing:border-box;-webkit-padding-start:var(--sf-0);padding-inline-start:var(--sf-0);-webkit-padding-start:var(--sf-drawer-dock-inline-start, var(--sf-0));padding-inline-start:var(--sf-drawer-dock-inline-start, var(--sf-0));-webkit-padding-end:var(--sf-0);padding-inline-end:var(--sf-0);-webkit-padding-end:var(--sf-drawer-dock-inline-end, var(--sf-0));padding-inline-end:var(--sf-drawer-dock-inline-end, var(--sf-0));transition:padding var(--sf-duration-normal) var(--sf-animation)}@media(prefers-reduced-motion: reduce){.sf-drawer-overlay,.sf-drawer-panel,[data-sf-drawer-dock-host]{transition:none}}}
@@ -602,7 +602,7 @@
602
602
  },
603
603
  {
604
604
  "path": "src/smart/drawer/scss/_smart__drawer.scss",
605
- "sha256": "a4beca1986d50810f5054a06d516ea8c06429d62c26b1ce7ce7dd0210783750a"
605
+ "sha256": "9b40a069b6d1f65f130c808bbe98036bdb5734631a00bcf0ac3bac8bae3ec121"
606
606
  },
607
607
  {
608
608
  "path": "src/smart/drawer/rule.js",
@@ -1,14 +1,18 @@
1
- (()=>{"use strict";var t={"50d2a204ba4c"(t,e,s){s.d(e,{le:()=>i});function a(t,e={}){const s=document.createElementNS("http://www.w3.org/2000/svg",t);return Object.entries(e).forEach(([t,e])=>{null!=e&&""!==e&&s.setAttribute(t,String(e))}),s}const n=t=>Math.round(1e3*t)/1e3;function r(t={}){return function({width:t=24,height:e=24,stroke:s=2,dots:r=8,filled:i=3,dotRadius:o=null,direction:l="clockwise",pixel:u=!1}={}){const c=t/2,d=e/2,h=Math.min(t,e)/2,f=Math.max(1,h-s/2),g=a("svg",{class:"sf-loader-svg",viewBox:`0 0 ${t} ${e}`,width:u?t:null,height:u?e:null,"aria-hidden":"true",focusable:"false"}),p={cx:c,cy:d,r:n(f),fill:"none",stroke:"currentColor","stroke-width":s},b=a("circle",{class:"sf-loader-ring-filled",...p,opacity:"0.3"}),m=a("circle",{class:"sf-loader-ring-accent",...p,"stroke-linecap":"round",pathLength:100,"stroke-dasharray":"30 70",transform:`rotate(90 ${c} ${d})`}),y=a("g",{class:"sf-loader-comet",display:"none",transform:`rotate(-90 ${c} ${d})`});for(let t=0;t<10;t+=1){const e=9===t;y.append(a("circle",{class:"sf-loader-comet-segment"+(e?" sf-loader-comet-head":""),...p,"stroke-linecap":e?"round":"butt",pathLength:100,"stroke-dasharray":`${n(4)} ${n(96)}`,"stroke-dashoffset":n(-4*t),opacity:n(((t+1)/10)**1.6)}))}const v=Math.max(3,Math.min(32,Math.floor(Number(r)||8))),A=Math.max(1,Math.min(v,Math.floor(Number(i)||3))),w=Math.min(s,.7*Math.PI*(h-s)/v),S=null==o||""===o?w:Math.max(1,Math.min(Number(o)||w,h/4)),x=Math.max(S,h-S),M=a("g",{class:"sf-loader-dots",display:"none",style:`--sf-loader-dot-count:${v}; --sf-loader-dot-filled:${A};`});for(let t=0;t<v;t+=1){const e=2*Math.PI/v*t-Math.PI/2,s="counterclockwise"===l?t:(v-t)%v;M.append(a("circle",{class:"sf-loader-dot"+(t<A?" sf-loader-dot--active":""),cx:n(c+x*Math.cos(e)),cy:n(d+x*Math.sin(e)),r:n(S),fill:"currentColor",style:`--sf-loader-dot-index:${t}; --sf-loader-dot-step:${s};`}))}return g.append(b,m,y,M),g}({...t,width:24,height:24,stroke:2,dotRadius:null,pixel:!1})}function i({className:t="",overlay:e=!1}={}){const s=document.createElement("span");s.className=["sf-loader-container","sf-loader--infinite",t,t&&e?`${t}--overlay`:""].filter(Boolean).join(" "),s.dataset.sfSpinnerBound="1",s.dataset.infinite="true",s.setAttribute("aria-hidden","true");const a=document.createElement("span");return a.className="sf-loader--loading-indicator",a.append(r()),s.append(a),s}},"2557e7cf84cc"(t,e,s){s.a(t,async(t,e)=>{try{var a=s("fbe0570fcc69"),n=s("7a7da66f4cf1"),r=s("2feae72af89f"),i=t([a,n,r]);[a,n,r]=i.then?(await i)():i;var o=s.n(a);const l=new Set(["template","kind","variant","size","appearance","type","scheme","status","icon","filled","spacing","tightness","radius","segment","root-class","loading","disabled","native-type","aria-label","class","style","id","slot"]);function u(t,e){t?.forwardHostAttributes(e,{exclude:l,transferDataAttributes:!0,storageKey:"__sfIconButtonForwardedDataAttributes",targetStorageKey:"__sfIconButtonAttributeKeys"})}const c=["default","tonal","outline","link","surface","ghost"];class d extends(o()){constructor(){super(),this._attributeObserver=null}static get props(){return{templateName:{attribute:"template",default:"default"},kind:{default:"icon",values:["icon","close"],aliases:["variant"]},size:{default:"1"},appearance:{default:"default",aliases:["type"]},scheme:{default:"primary"},status:{default:"",values:["","error"]},segment:{default:""},icon:{default:"add"},filled:{type:Boolean,default:!1},spacing:{type:String,default:null},tightness:{default:"",values:["","low","high","highest"]},radius:{default:"",values:["","default","square","rounded"]},rootClass:{default:""},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},nativeType:{default:"button"},ariaLabel:{default:""}}}get templateName(){return this.getAttribute("template")||"default"}get size(){return this.getAttribute("size")||"1"}get kind(){return this.getProp("kind")}get variant(){return this.kind}get appearance(){const t=this.getAttribute("appearance")||this.getAttribute("type")||"default";return c.includes(t)?t:"default"}get type(){return this.appearance}get scheme(){return this.getAttribute("scheme")||"primary"}get status(){return this.getAttribute("status")||""}get icon(){return this.getAttribute("icon")||"add"}get segment(){return this.getEnumAttr("segment",["start","middle","end"],"")}get filled(){return this.getBooleanAttr("filled",!1)}get tightness(){return(0,r.resolveControlSpacing)({spacing:this.getAttribute("spacing"),tightness:this.getAttribute("tightness")}).tightness}get spacing(){return(0,r.resolveControlSpacing)({spacing:this.getAttribute("spacing"),tightness:this.getAttribute("tightness")}).spacing}get radius(){return this.getEnumAttr("radius",["default","square","rounded"],"")}get rootClass(){return this.getAttribute("root-class")||""}get loading(){return this.getBooleanAttr("loading",!1)}get disabled(){return this.getBooleanAttr("disabled",!1)}get nativeType(){return this.getAttribute("native-type")||"button"}get ariaLabel(){return this.getAttribute("aria-label")||""}templateContext(){const t=this.getPropsContext();return this.createTemplateContext({...t,type:this.type,variant:this.variant,...(0,r.resolveControlSpacing)({spacing:this.getAttribute("spacing"),tightness:this.getAttribute("tightness")}),component:this})}template(){return(0,n.y)(this.templateContext())}resolveUpdateMode(t=[]){const e=["disabled","aria-label","icon"];return t.length>0&&t.every(t=>e.includes(t))?"dom":"lit"}updateDom(t=[]){const e=this.querySelector(".sf-icon-button");if(!e)return!1;if(t.includes("disabled")&&(e.disabled=this.disabled||this.loading),t.includes("aria-label")&&(this.ariaLabel?e.setAttribute("aria-label",this.ariaLabel):e.removeAttribute("aria-label")),t.includes("icon")){const t=e.querySelector(".sf-icon");t&&(t.textContent=this.icon)}return u(this,e),!0}afterRender(){u(this,this.querySelector(".sf-icon-button")),this._attributeObserver||(this._attributeObserver=this.observeForwardedHostAttributes(()=>this.querySelector(".sf-icon-button"),{exclude:l,transferDataAttributes:!0,storageKey:"__sfIconButtonForwardedDataAttributes",targetStorageKey:"__sfIconButtonAttributeKeys"})._forwardHostAttributeObserver)}get value(){return{template:this.templateName,size:this.size,variant:this.variant,appearance:this.appearance,type:this.type,scheme:this.scheme,status:this.status,icon:this.icon,segment:this.segment,filled:this.filled,tightness:this.tightness,spacing:this.spacing,radius:this.radius,rootClass:this.rootClass,loading:this.loading,disabled:this.disabled,nativeType:this.nativeType,ariaLabel:this.ariaLabel}}setButtonAttributes(t={}){return this.setState({buttonAttributes:t}),this}onClick(t,e){return"function"==typeof t&&this.addEventListener("click",t,e),this}onFocus(t,e){return"function"==typeof t&&this.addEventListener("focusin",t,e),this}onBlur(t,e){return"function"==typeof t&&this.addEventListener("focusout",t,e),this}onMouseEnter(t,e){return"function"==typeof t&&this.addEventListener("mouseenter",t,e),this}onMouseLeave(t,e){return"function"==typeof t&&this.addEventListener("mouseleave",t,e),this}setDisabled(t=!0){return t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this}set value(t){this.setValueAttributes(t)}onDisconnected(){this.disconnectForwardedHostAttributes(),this._attributeObserver=null,super.onDisconnected?.()}}d.define("sf-icon-button"),e()}catch(h){e(h)}})},"7a7da66f4cf1"(t,e,s){s.a(t,async(t,a)=>{try{s.d(e,{y:()=>u});var n=s("ddf1cdb42ecc"),r=s("50d2a204ba4c"),i=t([n]),o=i.then?(await i)():i;n=o[0];const l=new Set(["1/3","1/2","1","2","3"]);function u(t){const{size:e,appearance:s,type:a,scheme:i,status:o,icon:u,segment:c,tightness:d,kind:h,variant:f,radius:g,filled:p,rootClass:b,loading:m,disabled:y,nativeType:v,ariaLabel:A}=t,w=["sf-icon-button",l.has(e||"1")?`sf-icon-button--size-${e||"1"}`:"",`sf-icon-button--${h??f??"icon"}`,`sf-icon-button--${s||a||"default"}`,"flex","items-cross-center",c?`segment-${c}`:"",`sf-icon-button--${o||i||"primary"}`,d?`tightness-${d}`:"",g?`radius-${g}`:"",b,m?"loading sf-icon-button-state-loading":""].filter(Boolean),S=m?(0,r.le)({className:"sf-icon-button-spinner"}):t.component?.hasSlotContent?.("icon")?t.component.getSlotContent("icon"):"close"===(h??f)?n.html`
2
- <sf-close root-class="pointer-event-none" size="${e||"1"}"></sf-close>`:n.html`
3
- <sf-icon filled="${p}" root-class="pointer-event-none" icon="${u}" weight="400" aria-hidden="true"></sf-icon>`;return n.html`
1
+ (()=>{"use strict";var t={"7cd0e63a3ed6"(t,e,n){n.a(t,async(t,a)=>{try{n.d(e,{BA:()=>f,VI:()=>p});var s=n("0d662e4d7d63"),r=t([s]),i=r.then?(await r)():r;s=i[0];const o={en:{count:"{count} unread",dot:"new"},ru:{count:"{count} непрочитанное|{count} непрочитанных|{count} непрочитанных|{count} непрочитанного",dot:"есть новое"}},l="sf-badge",u=99,d=["zero","one","two","few","many","other"];function c(t){if(null==t)return null;const e=String(t).trim();if(""===e)return null;const n=Number(e);return Number.isFinite(n)?Math.trunc(n):null}function h(t){const e=c(t);return null!==e&&e>=1?e:u}function g(t,e,n="en"){const a=String(t??"").split("|");if(1===a.length)return a[0];try{const t=new Intl.PluralRules(n),s=new Set(t.resolvedOptions().pluralCategories),r=d.filter(t=>s.has(t)).indexOf(t.select(e));return a[Math.min(Math.max(r,0),a.length-1)]}catch{return a[a.length-1]}}function b(t,e){try{return new Intl.NumberFormat(e).format(t)}catch{return String(t)}}function f({count:t,dot:e,cap:n,label:a}={},r=null){const i=c(t),u=!0===(d=e)||!1!==d&&null!=d&&"false"!==String(d).trim().toLowerCase();var d;const f=(0,s.pageLocale)(r),p=String(a??"").trim();if(null!==i){if(i<=0)return{visible:!1,dot:u,text:"",phrase:"",count:i};const t=h(n),e=g(p||(0,s.pageText)(o,"count",r,l),i,f),a=b(i,f),d=e.includes("{count}")?e.replaceAll("{count}",a):`${a} ${e}`.trim();return{visible:!0,dot:u,text:u?"":i>t?`${t}+`:String(i),phrase:d,count:i}}return u?{visible:!0,dot:!0,text:"",phrase:p||(0,s.pageText)(o,"dot",r,l),count:null}:{visible:!1,dot:!1,text:"",phrase:"",count:null}}function p(t,e){const n=String(t??"").trim(),a=String(e??"").trim();return a?n?`${n}, ${a}`:a:n}a()}catch(m){a(m)}})},"50d2a204ba4c"(t,e,n){n.d(e,{le:()=>i});function a(t,e={}){const n=document.createElementNS("http://www.w3.org/2000/svg",t);return Object.entries(e).forEach(([t,e])=>{null!=e&&""!==e&&n.setAttribute(t,String(e))}),n}const s=t=>Math.round(1e3*t)/1e3;function r(t={}){return function({width:t=24,height:e=24,stroke:n=2,dots:r=8,filled:i=3,dotRadius:o=null,direction:l="clockwise",pixel:u=!1}={}){const d=t/2,c=e/2,h=Math.min(t,e)/2,g=Math.max(1,h-n/2),b=a("svg",{class:"sf-loader-svg",viewBox:`0 0 ${t} ${e}`,width:u?t:null,height:u?e:null,"aria-hidden":"true",focusable:"false"}),f={cx:d,cy:c,r:s(g),fill:"none",stroke:"currentColor","stroke-width":n},p=a("circle",{class:"sf-loader-ring-filled",...f,opacity:"0.3"}),m=a("circle",{class:"sf-loader-ring-accent",...f,"stroke-linecap":"round",pathLength:100,"stroke-dasharray":"30 70",transform:`rotate(90 ${d} ${c})`}),y=a("g",{class:"sf-loader-comet",display:"none",transform:`rotate(-90 ${d} ${c})`});for(let t=0;t<10;t+=1){const e=9===t;y.append(a("circle",{class:"sf-loader-comet-segment"+(e?" sf-loader-comet-head":""),...f,"stroke-linecap":e?"round":"butt",pathLength:100,"stroke-dasharray":`${s(4)} ${s(96)}`,"stroke-dashoffset":s(-4*t),opacity:s(((t+1)/10)**1.6)}))}const v=Math.max(3,Math.min(32,Math.floor(Number(r)||8))),S=Math.max(1,Math.min(v,Math.floor(Number(i)||3))),w=Math.min(n,.7*Math.PI*(h-n)/v),A=null==o||""===o?w:Math.max(1,Math.min(Number(o)||w,h/4)),x=Math.max(A,h-A),$=a("g",{class:"sf-loader-dots",display:"none",style:`--sf-loader-dot-count:${v}; --sf-loader-dot-filled:${S};`});for(let t=0;t<v;t+=1){const e=2*Math.PI/v*t-Math.PI/2,n="counterclockwise"===l?t:(v-t)%v;$.append(a("circle",{class:"sf-loader-dot"+(t<S?" sf-loader-dot--active":""),cx:s(d+x*Math.cos(e)),cy:s(c+x*Math.sin(e)),r:s(A),fill:"currentColor",style:`--sf-loader-dot-index:${t}; --sf-loader-dot-step:${n};`}))}return b.append(p,m,y,$),b}({...t,width:24,height:24,stroke:2,dotRadius:null,pixel:!1})}function i({className:t="",overlay:e=!1}={}){const n=document.createElement("span");n.className=["sf-loader-container","sf-loader--infinite",t,t&&e?`${t}--overlay`:""].filter(Boolean).join(" "),n.dataset.sfSpinnerBound="1",n.dataset.infinite="true",n.setAttribute("aria-hidden","true");const a=document.createElement("span");return a.className="sf-loader--loading-indicator",a.append(r()),n.append(a),n}},"34addf781b5b"(t,e,n){n.a(t,async(t,a)=>{try{n.d(e,{Qj:()=>u,T0:()=>d,VI:()=>r.VI,Wd:()=>l});var s=n("ddf1cdb42ecc"),r=n("7cd0e63a3ed6"),i=t([s,r]);[s,r]=i.then?(await i)():i;const o=Object.freeze(["badge-count","badge-dot","badge-cap","badge-label"]);function l(t){const e=(0,r.BA)({count:t.getProp?.("badgeCount"),dot:t.getProp?.("badgeDot"),cap:t.getProp?.("badgeCap"),label:t.getProp?.("badgeLabel")},t);return e.visible&&globalThis.SF?.Loader?.ensurePlugin?.("badges"),e}function u(t){return t?.visible?s.html`<span
2
+ class="sf-badge sf-badge--anchored${t.dot?" sf-badge--dot":""}"
3
+ aria-hidden="true"
4
+ title=${t.phrase||s.nothing}
5
+ >${t.text}</span>`:s.nothing}function d(t,e=!0){return t?.visible&&t.phrase?s.html`<span class="sf-badge-anchored-text">${e?", ":""}${t.phrase}</span>`:s.nothing}n.d(e,["Tw",0,o]),a()}catch(c){a(c)}})},"2557e7cf84cc"(t,e,n){n.a(t,async(t,e)=>{try{var a=n("fbe0570fcc69"),s=n("7a7da66f4cf1"),r=n("2feae72af89f"),i=n("34addf781b5b"),o=t([a,s,r,i]);[a,s,r,i]=o.then?(await o)():o;var l=n.n(a);const u=new Set(["template","kind","variant","size","appearance","type","scheme","status","icon","filled","spacing","tightness","radius","segment","root-class","loading","disabled","native-type","aria-label",...i.Tw,"class","style","id","slot"]);function d(t,e){t?.forwardHostAttributes(e,{exclude:u,transferDataAttributes:!0,storageKey:"__sfIconButtonForwardedDataAttributes",targetStorageKey:"__sfIconButtonAttributeKeys"})}const c=["default","tonal","outline","link","surface","ghost"];class h extends(l()){constructor(){super(),this._attributeObserver=null}static get props(){return{templateName:{attribute:"template",default:"default"},kind:{default:"icon",values:["icon","close"],aliases:["variant"]},size:{default:"1"},appearance:{default:"default",aliases:["type"]},scheme:{default:"primary"},status:{default:"",values:["","error"]},segment:{default:""},icon:{default:"add"},filled:{type:Boolean,default:!1},spacing:{type:String,default:null},tightness:{default:"",values:["","low","high","highest"]},radius:{default:"",values:["","default","square","rounded"]},rootClass:{default:""},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},nativeType:{default:"button"},ariaLabel:{default:""},badgeCount:{default:""},badgeDot:{type:Boolean,default:!1},badgeCap:{type:Number,default:99},badgeLabel:{default:""}}}get templateName(){return this.getAttribute("template")||"default"}get size(){return this.getAttribute("size")||"1"}get kind(){return this.getProp("kind")}get variant(){return this.kind}get appearance(){const t=this.getAttribute("appearance")||this.getAttribute("type")||"default";return c.includes(t)?t:"default"}get type(){return this.appearance}get scheme(){return this.getAttribute("scheme")||"primary"}get status(){return this.getAttribute("status")||""}get icon(){return this.getAttribute("icon")||"add"}get segment(){return this.getEnumAttr("segment",["start","middle","end"],"")}get filled(){return this.getBooleanAttr("filled",!1)}get tightness(){return(0,r.resolveControlSpacing)({spacing:this.getAttribute("spacing"),tightness:this.getAttribute("tightness")}).tightness}get spacing(){return(0,r.resolveControlSpacing)({spacing:this.getAttribute("spacing"),tightness:this.getAttribute("tightness")}).spacing}get radius(){return this.getEnumAttr("radius",["default","square","rounded"],"")}get rootClass(){return this.getAttribute("root-class")||""}get loading(){return this.getBooleanAttr("loading",!1)}get disabled(){return this.getBooleanAttr("disabled",!1)}get nativeType(){return this.getAttribute("native-type")||"button"}get ariaLabel(){return this.getAttribute("aria-label")||""}templateContext(){const t=this.getPropsContext();return this.createTemplateContext({...t,type:this.type,variant:this.variant,...(0,r.resolveControlSpacing)({spacing:this.getAttribute("spacing"),tightness:this.getAttribute("tightness")}),badge:this.badgeState?.(),component:this})}badgeState(){return(0,i.Wd)(this)}template(){return(0,s.y)(this.templateContext())}resolveUpdateMode(t=[]){const e=["disabled","aria-label","icon"];return t.length>0&&t.every(t=>e.includes(t))?"dom":"lit"}updateDom(t=[]){const e=this.querySelector(".sf-icon-button");if(!e)return!1;if(t.includes("disabled")&&(e.disabled=this.disabled||this.loading),t.includes("aria-label")&&(this.ariaLabel?e.setAttribute("aria-label",(0,i.VI)(this.ariaLabel,(0,i.Wd)(this).phrase)):e.removeAttribute("aria-label")),t.includes("icon")){const t=e.querySelector(".sf-icon");t&&(t.textContent=this.icon)}return d(this,e),!0}afterRender(){d(this,this.querySelector(".sf-icon-button")),this._attributeObserver||(this._attributeObserver=this.observeForwardedHostAttributes(()=>this.querySelector(".sf-icon-button"),{exclude:u,transferDataAttributes:!0,storageKey:"__sfIconButtonForwardedDataAttributes",targetStorageKey:"__sfIconButtonAttributeKeys"})._forwardHostAttributeObserver)}get value(){return{template:this.templateName,size:this.size,variant:this.variant,appearance:this.appearance,type:this.type,scheme:this.scheme,status:this.status,icon:this.icon,segment:this.segment,filled:this.filled,tightness:this.tightness,spacing:this.spacing,radius:this.radius,rootClass:this.rootClass,loading:this.loading,disabled:this.disabled,nativeType:this.nativeType,ariaLabel:this.ariaLabel,badgeCount:this.getProp("badgeCount"),badgeDot:this.getProp("badgeDot"),badgeCap:this.getProp("badgeCap"),badgeLabel:this.getProp("badgeLabel")}}setButtonAttributes(t={}){return this.setState({buttonAttributes:t}),this}onClick(t,e){return"function"==typeof t&&this.addEventListener("click",t,e),this}onFocus(t,e){return"function"==typeof t&&this.addEventListener("focusin",t,e),this}onBlur(t,e){return"function"==typeof t&&this.addEventListener("focusout",t,e),this}onMouseEnter(t,e){return"function"==typeof t&&this.addEventListener("mouseenter",t,e),this}onMouseLeave(t,e){return"function"==typeof t&&this.addEventListener("mouseleave",t,e),this}setDisabled(t=!0){return t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this}set value(t){this.setValueAttributes(t)}onDisconnected(){this.disconnectForwardedHostAttributes(),this._attributeObserver=null,super.onDisconnected?.()}}h.define("sf-icon-button"),e()}catch(g){e(g)}})},"7a7da66f4cf1"(t,e,n){n.a(t,async(t,a)=>{try{n.d(e,{y:()=>u});var s=n("ddf1cdb42ecc"),r=n("50d2a204ba4c"),i=n("34addf781b5b"),o=t([s,i]);[s,i]=o.then?(await o)():o;const l=new Set(["1/3","1/2","1","2","3"]);function u(t){const{size:e,appearance:n,type:a,scheme:o,status:u,icon:d,segment:c,tightness:h,kind:g,variant:b,radius:f,filled:p,rootClass:m,loading:y,disabled:v,nativeType:S,ariaLabel:w,badge:A}=t,x=["sf-icon-button",l.has(e||"1")?`sf-icon-button--size-${e||"1"}`:"",`sf-icon-button--${g??b??"icon"}`,`sf-icon-button--${n||a||"default"}`,"flex","items-cross-center",c?`segment-${c}`:"",`sf-icon-button--${u||o||"primary"}`,h?`tightness-${h}`:"",f?`radius-${f}`:"",m,y?"loading sf-icon-button-state-loading":""].filter(Boolean),$=y?(0,r.le)({className:"sf-icon-button-spinner"}):t.component?.hasSlotContent?.("icon")?t.component.getSlotContent("icon"):"close"===(g??b)?s.html`
6
+ <sf-close root-class="pointer-event-none" size="${e||"1"}"></sf-close>`:s.html`
7
+ <sf-icon filled="${p}" root-class="pointer-event-none" icon="${d}" weight="400" aria-hidden="true"></sf-icon>`;return s.html`
4
8
  <button
5
- type=${v}
6
- class=${w.join(" ")}
7
- style=${t.rootStyle||n.nothing}
8
- ?disabled=${y||m}
9
- aria-label=${A||n.nothing}
10
- aria-busy=${m?"true":n.nothing}
9
+ type=${S}
10
+ class=${x.join(" ")}
11
+ style=${t.rootStyle||s.nothing}
12
+ ?disabled=${v||y}
13
+ aria-label=${w?(0,i.VI)(w,A?.phrase):s.nothing}
14
+ aria-busy=${y?"true":s.nothing}
11
15
  >
12
- ${S}
16
+ ${$}${(0,i.Qj)(A)}${w?s.nothing:(0,i.T0)(A,!1)}
13
17
  </button>
14
- `}a()}catch(c){a(c)}})},"2feae72af89f"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("control-spacing"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("control-spacing")),{once:!0}))},ddf1cdb42ecc(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("lit")),{once:!0}))},fbe0570fcc69(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("smart-base"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("smart-base")),{once:!0}))}};const e={};function s(a){const n=e[a];if(void 0!==n)return n.exports;const r=e[a]={exports:{}};return t[a](r,r.exports,s),r.exports}(()=>{const t="function"==typeof Symbol,e=t?Symbol("webpack queues"):"__webpack_queues__",a=t?Symbol("webpack exports"):"__webpack_exports__",n=t?Symbol("webpack error"):"__webpack_error__",r=t=>{t?.d<1&&(t.d=1,t.forEach(t=>t.r--),t.forEach(t=>t.r--?t.r++:t()))};s.a=(t,s,i)=>{let o;i&&((o=[]).d=-1);const l=new Set,u=t.exports;let c,d,h;const f=new Promise((t,e)=>{h=e,d=t});f[a]=u,f[e]=t=>(o&&t(o),l.forEach(t),f.catch(t=>{})),t.exports=f;s(t=>{let s;c=(t=>t.map(t=>{if(null!==t&&"object"==typeof t){if(t[e])return t;if(t.then){const s=[];s.d=0,t.then(t=>{i[a]=t,r(s)},t=>{i[n]=t,r(s)});const i={};return i[e]=t=>t(s),i}}const s={};return s[e]=t=>{},s[a]=t,s}))(t);const i=()=>c.map(t=>{if(t[n])throw t[n];return t[a]}),u=new Promise(t=>{s=()=>t(i),s.r=0;const a=t=>t!==o&&!l.has(t)&&(l.add(t),t&&!t.d&&(s.r++,t.push(s)));c.map(t=>t[e](a))});return s.r?u:i()},t=>(t?h(f[n]=t):d(u),r(o))),o?.d<0&&(o.d=0)}})(),s.n=t=>{const e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{if(Array.isArray(e))for(var a=0;a<e.length;){var n=e[a++],r=e[a++];s.o(t,n)?0===r&&a++:0===r?Object.defineProperty(t,n,{enumerable:!0,value:e[a++]}):Object.defineProperty(t,n,{enumerable:!0,get:r})}else for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);s("2557e7cf84cc")})();
18
+ `}a()}catch(d){a(d)}})},"2feae72af89f"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("control-spacing"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("control-spacing")),{once:!0}))},ddf1cdb42ecc(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("lit")),{once:!0}))},"0d662e4d7d63"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("page-language"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("page-language")),{once:!0}))},fbe0570fcc69(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("smart-base"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("smart-base")),{once:!0}))}};const e={};function n(a){const s=e[a];if(void 0!==s)return s.exports;const r=e[a]={exports:{}};return t[a](r,r.exports,n),r.exports}(()=>{const t="function"==typeof Symbol,e=t?Symbol("webpack queues"):"__webpack_queues__",a=t?Symbol("webpack exports"):"__webpack_exports__",s=t?Symbol("webpack error"):"__webpack_error__",r=t=>{t?.d<1&&(t.d=1,t.forEach(t=>t.r--),t.forEach(t=>t.r--?t.r++:t()))};n.a=(t,n,i)=>{let o;i&&((o=[]).d=-1);const l=new Set,u=t.exports;let d,c,h;const g=new Promise((t,e)=>{h=e,c=t});g[a]=u,g[e]=t=>(o&&t(o),l.forEach(t),g.catch(t=>{})),t.exports=g;n(t=>{let n;d=(t=>t.map(t=>{if(null!==t&&"object"==typeof t){if(t[e])return t;if(t.then){const n=[];n.d=0,t.then(t=>{i[a]=t,r(n)},t=>{i[s]=t,r(n)});const i={};return i[e]=t=>t(n),i}}const n={};return n[e]=t=>{},n[a]=t,n}))(t);const i=()=>d.map(t=>{if(t[s])throw t[s];return t[a]}),u=new Promise(t=>{n=()=>t(i),n.r=0;const a=t=>t!==o&&!l.has(t)&&(l.add(t),t&&!t.d&&(n.r++,t.push(n)));d.map(t=>t[e](a))});return n.r?u:i()},t=>(t?h(g[s]=t):c(u),r(o))),o?.d<0&&(o.d=0)}})(),n.n=t=>{const e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{if(Array.isArray(e))for(var a=0;a<e.length;){var s=e[a++],r=e[a++];n.o(t,s)?0===r&&a++:0===r?Object.defineProperty(t,s,{enumerable:!0,value:e[a++]}):Object.defineProperty(t,s,{enumerable:!0,get:r})}else for(var s in e)n.o(e,s)&&!n.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);n("2557e7cf84cc")})();
@@ -25,7 +25,8 @@
25
25
  "component.icon-buttons",
26
26
  "smart.icons",
27
27
  "smart.close",
28
- "component.spinner"
28
+ "component.spinner",
29
+ "component.badges"
29
30
  ],
30
31
  "public_parts": []
31
32
  },
@@ -174,6 +175,26 @@
174
175
  "default": "",
175
176
  "description": "Accessible label."
176
177
  },
178
+ "badge-count": {
179
+ "type": "string",
180
+ "default": "",
181
+ "description": "A count on the icon button (simai/ui-source#12): a whole number above 0 shows, 0 or empty hides the badge. Above badge-cap it reads «<cap>+»; the exact number joins the icon button's accessible name («Анна Белова, 3 непрочитанных») and the badge's tooltip. On an anchor of size 1/3 or 1/2 a count is drawn as a dot."
182
+ },
183
+ "badge-dot": {
184
+ "type": "boolean",
185
+ "default": false,
186
+ "description": "A dot on the icon button, a count with no number: something new. Shown when badge-count is not set; with a count, the count is drawn as a dot. Its text equivalent («есть новое» / «new» by default, badge-label to change it) joins the accessible name."
187
+ },
188
+ "badge-cap": {
189
+ "type": "integer",
190
+ "default": 99,
191
+ "description": "The largest count drawn as a number; a larger one reads «<cap>+»."
192
+ },
193
+ "badge-label": {
194
+ "type": "string",
195
+ "default": "",
196
+ "description": "The words the badge adds to the accessible name and its tooltip, in place of the page language's default: for a dot the whole text equivalent; for a count the phrase in plural forms separated by «|» (one|few|many in Russian, one|other in English) with {count} where the number goes."
197
+ },
177
198
  "variant": {
178
199
  "type": "string",
179
200
  "default": "icon",
@@ -490,7 +511,7 @@
490
511
  "source_artifacts": [
491
512
  {
492
513
  "path": "src/smart/icon-buttons/index.js",
493
- "sha256": "5c1408fd5125c2584f169c6803565bb053da420e5cc2d64daa1673cad72a36ce"
514
+ "sha256": "1635d8937d16e54db7b11368a1188236aa0dce7f705ded18f90836b466afa495"
494
515
  }
495
516
  ],
496
517
  "generated_runtime": [
@@ -1,6 +1,7 @@
1
1
  import {html, nothing} from 'lit';
2
2
  import './default.css';
3
3
  import {createInlineSpinner} from '../../../../component/spinner/js/_spinner-draw';
4
+ import {nameWithBadge, renderAnchoredBadge, renderAnchoredBadgeText} from '../../../helpers/anchored-badge';
4
5
 
5
6
  const ICON_BUTTON_SIZES = new Set(['1/3', '1/2', '1', '2', '3']);
6
7
 
@@ -23,6 +24,7 @@ export function renderIconButtonTemplate(context) {
23
24
  disabled,
24
25
  nativeType,
25
26
  ariaLabel,
27
+ badge,
26
28
  } = context;
27
29
 
28
30
  const rootClasses = [
@@ -65,10 +67,10 @@ export function renderIconButtonTemplate(context) {
65
67
  class=${rootClasses.join(' ')}
66
68
  style=${context.rootStyle || nothing}
67
69
  ?disabled=${disabled || loading}
68
- aria-label=${ariaLabel || nothing}
70
+ aria-label=${ariaLabel ? nameWithBadge(ariaLabel, badge?.phrase) : nothing}
69
71
  aria-busy=${loading ? 'true' : nothing}
70
72
  >
71
- ${iconContent}
73
+ ${iconContent}${renderAnchoredBadge(badge)}${ariaLabel ? nothing : renderAnchoredBadgeText(badge, false)}
72
74
  </button>
73
75
  `;
74
76
  }