@ds-mo/ui 2.10.0 → 2.10.2

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 (104) hide show
  1. package/dist/.build-stamp +1 -1
  2. package/dist/components/ds-app-shell.js +1 -1
  3. package/dist/components/ds-badge.js +1 -1
  4. package/dist/components/ds-bar-nav.js +1 -1
  5. package/dist/components/ds-button-filled.js +1 -1
  6. package/dist/components/ds-button-unfilled-icon.js +1 -1
  7. package/dist/components/ds-card-setting.js +1 -1
  8. package/dist/components/ds-checkbox.js +1 -1
  9. package/dist/components/ds-fade.js +1 -1
  10. package/dist/components/ds-fade.js.map +1 -1
  11. package/dist/components/ds-field.js +1 -1
  12. package/dist/components/ds-field.js.map +1 -1
  13. package/dist/components/ds-header.js +1 -1
  14. package/dist/components/ds-header.js.map +1 -1
  15. package/dist/components/ds-icon.js +1 -1
  16. package/dist/components/ds-input.js +1 -1
  17. package/dist/components/ds-menu.js +1 -1
  18. package/dist/components/ds-modal.js +1 -1
  19. package/dist/components/ds-panel-nav.js +1 -1
  20. package/dist/components/ds-panel-nav.js.map +1 -1
  21. package/dist/components/ds-panel-tools.js +1 -1
  22. package/dist/components/ds-radio-group.js +1 -1
  23. package/dist/components/ds-scrollbar.js +1 -1
  24. package/dist/components/ds-select.js +1 -1
  25. package/dist/components/ds-shell-gradient-picker.js +1 -1
  26. package/dist/components/ds-shell-gradient-swatch.js +1 -1
  27. package/dist/components/ds-slider.js +1 -1
  28. package/dist/components/ds-surface.js +1 -1
  29. package/dist/components/ds-tab-group-nav.js +1 -1
  30. package/dist/components/ds-tab-group.js +1 -1
  31. package/dist/components/ds-table.js +1 -1
  32. package/dist/components/ds-table.js.map +1 -1
  33. package/dist/components/ds-tag.js +1 -1
  34. package/dist/components/ds-text.js +1 -1
  35. package/dist/components/ds-toast-provider.js +1 -1
  36. package/dist/components/ds-toggle.js +1 -1
  37. package/dist/components/ds-tooltip.js +1 -1
  38. package/dist/components/{p-CDNVPM2x.js → p-B46PyZkE.js} +2 -2
  39. package/dist/components/{p-Dul5eGGE.js → p-BOLhoDYO.js} +2 -2
  40. package/dist/components/{p-CKCBqwIw.js → p-BUKwjW6E.js} +2 -2
  41. package/dist/components/{p-CJubWt1F.js → p-BVg6jstc.js} +2 -2
  42. package/dist/components/p-Bz3jyrDV.js +2 -0
  43. package/dist/components/p-Bz3jyrDV.js.map +1 -0
  44. package/dist/components/{p-DnGr8qtq.js → p-ChDonLAn.js} +2 -2
  45. package/dist/components/p-CkFkSpa6.js +2 -0
  46. package/dist/components/p-CkFkSpa6.js.map +1 -0
  47. package/dist/components/{p-evjnuLjj.js → p-CpfTDXDO.js} +2 -2
  48. package/dist/components/{p-Cynjsv-P.js → p-D3Jehaex.js} +2 -2
  49. package/dist/components/{p-w2Wrf0jC.js → p-DnaPMGPJ.js} +2 -2
  50. package/dist/components/p-EK1hOP19.js +2 -0
  51. package/dist/components/p-EK1hOP19.js.map +1 -0
  52. package/dist/lib/components/Icon/icon-cache.d.ts +24 -0
  53. package/dist/lib/components/Menu/menu-placement.d.ts +23 -0
  54. package/dist/lib/components/Menu/menu-position.d.ts +19 -0
  55. package/dist/lib/nav/badge-gradient-ring.d.ts +27 -0
  56. package/dist/lib/nav/chrome-transition.d.ts +24 -0
  57. package/dist/lib/nav/index.d.ts +16 -0
  58. package/dist/lib/nav/index.js +419 -0
  59. package/dist/lib/nav/index.js.map +7 -0
  60. package/dist/lib/nav/nav-chrome.d.ts +9 -0
  61. package/dist/lib/nav/shell-chrome-metrics.d.ts +11 -0
  62. package/dist/lib/nav/shell-gradient-presets.d.ts +20 -0
  63. package/dist/lib/nav/shell-gradient.d.ts +43 -0
  64. package/dist/lib/nav/shell-view-transition.d.ts +23 -0
  65. package/dist/lib/utils/index.d.ts +7 -0
  66. package/dist/lib/utils/index.js +247 -0
  67. package/dist/lib/utils/index.js.map +7 -0
  68. package/dist/lib/utils/resolve-css-length-px.d.ts +7 -0
  69. package/dist/lib/utils/resolve-css-time-ms.d.ts +7 -0
  70. package/dist/lib/utils/scroll-edge-fade.d.ts +32 -0
  71. package/dist/lib/utils/token-defaults.d.ts +33 -0
  72. package/dist/types/components/Fade/Fade.d.ts +13 -15
  73. package/dist/types/components/Fade/index.d.ts +1 -1
  74. package/dist/types/components/PanelNav/PanelNav.d.ts +0 -3
  75. package/dist/types/components.d.ts +6 -28
  76. package/dist/types/nav/index.d.ts +1 -1
  77. package/dist/types/nav/shell-gradient-presets.d.ts +8 -0
  78. package/dist/types/utils/index.d.ts +2 -2
  79. package/dist/types/utils/scroll-edge-fade.d.ts +24 -4
  80. package/package.json +8 -7
  81. package/src/angular/proxies.ts +2 -2
  82. package/src/wc/components/Fade/Fade.tsx +40 -94
  83. package/src/wc/components/Fade/index.ts +1 -1
  84. package/src/wc/components/PanelNav/PanelNav.tsx +2 -20
  85. package/src/wc/components.d.ts +6 -28
  86. package/src/wc/nav/index.ts +1 -0
  87. package/src/wc/nav/shell-gradient-presets.ts +16 -2
  88. package/src/wc/utils/index.ts +10 -1
  89. package/src/wc/utils/scroll-edge-fade.css +6 -4
  90. package/src/wc/utils/scroll-edge-fade.ts +115 -5
  91. package/dist/components/p-0y48zKIF.js +0 -2
  92. package/dist/components/p-0y48zKIF.js.map +0 -1
  93. package/dist/components/p-BFPfyJ8Z.js +0 -2
  94. package/dist/components/p-BFPfyJ8Z.js.map +0 -1
  95. package/dist/components/p-BOpHKDOG.js +0 -2
  96. package/dist/components/p-BOpHKDOG.js.map +0 -1
  97. /package/dist/components/{p-CDNVPM2x.js.map → p-B46PyZkE.js.map} +0 -0
  98. /package/dist/components/{p-Dul5eGGE.js.map → p-BOLhoDYO.js.map} +0 -0
  99. /package/dist/components/{p-CKCBqwIw.js.map → p-BUKwjW6E.js.map} +0 -0
  100. /package/dist/components/{p-CJubWt1F.js.map → p-BVg6jstc.js.map} +0 -0
  101. /package/dist/components/{p-DnGr8qtq.js.map → p-ChDonLAn.js.map} +0 -0
  102. /package/dist/components/{p-evjnuLjj.js.map → p-CpfTDXDO.js.map} +0 -0
  103. /package/dist/components/{p-Cynjsv-P.js.map → p-D3Jehaex.js.map} +0 -0
  104. /package/dist/components/{p-w2Wrf0jC.js.map → p-DnaPMGPJ.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{p as e,H as a,h as i,a as n,t as r}from"./index.js";import{i as d,B as t}from"./p-BFPfyJ8Z.js";const s=()=>`.sc-ds-badge-h{display:inline-flex;align-items:center;justify-content:center;pointer-events:none;vertical-align:middle;--_badge-bg:var(--color-background-bold-brand);--_badge-fg:var(--color-foreground-on-bold-background-primary);--_badge-ring:var(--color-background-secondary);--_badge-ring-width:var(--dimension-stroke-width-018)}.badge__mark.sc-ds-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;color:var(--_badge-fg);background:var(--_badge-bg);box-shadow:0 0 0 var(--_badge-ring-width) var(--_badge-ring);white-space:nowrap}.badge--dot.sc-ds-badge-h .badge__mark.sc-ds-badge{width:var(--dimension-size-075);height:var(--dimension-size-075);border-radius:var(--dimension-radius-half)}.badge--counter.sc-ds-badge-h .badge__mark.sc-ds-badge{width:var(--dimension-size-150);height:var(--dimension-size-150);padding:0;border-radius:var(--dimension-radius-half);font-size:var(--typography-fontsize-xs);line-height:1}.badge--selected.sc-ds-badge-h{--_badge-bg:var(--color-foreground-primary)}.badge--on-gradient-background.sc-ds-badge-h .badge__mark.sc-ds-badge{position:relative;z-index:0;box-shadow:none;isolation:isolate}.badge--on-gradient-background.sc-ds-badge-h .badge__mark.sc-ds-badge::before,.badge--on-gradient-background.sc-ds-badge-h .badge__mark.sc-ds-badge::after{content:'';position:absolute;inset:calc(-1 * var(--_badge-ring-width));border-radius:inherit;box-sizing:border-box;padding:var(--_badge-ring-width);pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);mask-composite:exclude}.badge--on-gradient-background.sc-ds-badge-h .badge__mark.sc-ds-badge::before{z-index:-2;background-color:var(--_badge-ring)}.badge--on-gradient-background.sc-ds-badge-h .badge__mark.sc-ds-badge::after{z-index:-1;background-image:var(--ds-shell-gradient-image, none);background-size:var(--ds-shell-gradient-size, auto);background-position:0 0;background-repeat:no-repeat;background-attachment:fixed;opacity:var(--ds-shell-gradient-opacity, 1)}`;const o={default:"var(--color-background-secondary)",primary:"var(--color-background-primary)",secondary:"var(--color-background-secondary)",medium:"var(--color-background-medium-neutral)",bold:"var(--color-background-bold-neutral)",strong:"var(--color-background-strong-neutral)",navigation:"var(--color-navigation-background)","always-dark":"var(--color-always-dark-background)"};const g=e(class e extends a{constructor(e){super();if(e!==false){this.__registerHost()}this.variant="counter";this.count=0;this.max=9;this.surface="default";this.gradientBackground=false;this.isSelected=false;this.gradientLayoutVersion=0;this.gradientObserver=null;this.gradientWindowListener=null}componentDidLoad(){this.enableShellGradientRingIfNeeded()}disconnectedCallback(){this.unbindGradientRingSync()}gradientBackgroundChanged(){this.bindGradientRingSync()}enableShellGradientRingIfNeeded(){if(!this.gradientBackground&&d(this.el)){this.gradientBackground=true}if(this.gradientBackground){this.bindGradientRingSync()}}bindGradientRingSync(){this.unbindGradientRingSync();if(!this.gradientBackground)return;const e=()=>{this.gradientLayoutVersion+=1};e();this.gradientWindowListener=e;window.addEventListener("resize",e);if(typeof ResizeObserver!=="undefined"){this.gradientObserver=new ResizeObserver(e);this.gradientObserver.observe(this.el);const a=this.el.closest("ds-app-shell");if(a)this.gradientObserver.observe(a);const i=this.el.closest("ds-bar-nav");if(i)this.gradientObserver.observe(i);const n=this.el.closest("ds-panel-nav");if(n)this.gradientObserver.observe(n)}}unbindGradientRingSync(){if(this.gradientWindowListener){window.removeEventListener("resize",this.gradientWindowListener);this.gradientWindowListener=null}this.gradientObserver?.disconnect();this.gradientObserver=null}ringHostStyle(e){const a={"--_badge-ring":e};if(!this.gradientBackground||!d(this.el))return a;a[t]="0 0";return a}render(){const e=this.variant==="dot";if(!e&&this.count===0)return i(n,{style:{display:"none"}});const a=this.count>this.max?"+":String(this.count);const r=this.label??(e?"Notification":String(this.count));const d=this.background??o[this.surface];return i(n,{class:{badge:true,"badge--counter":!e,"badge--dot":e,"badge--selected":this.isSelected,"badge--on-gradient-background":this.gradientBackground},"aria-label":r,style:this.ringHostStyle(d)},i("span",{class:{badge__mark:true,"text-caption-emphasis":!e},"aria-hidden":"true"},!e&&a))}get el(){return this}static get watchers(){return{gradientBackground:[{gradientBackgroundChanged:0}]}}static get style(){return s()}},[2,"ds-badge",{variant:[1],count:[2],max:[2],surface:[1],background:[1],gradientBackground:[516,"gradient-background"],isSelected:[4,"is-selected"],label:[1],gradientLayoutVersion:[32]},undefined,{gradientBackground:[{gradientBackgroundChanged:0}]}]);function c(){if(typeof customElements==="undefined"){return}const e=["ds-badge"];e.forEach((e=>{switch(e){case"ds-badge":if(!customElements.get(r(e))){customElements.define(r(e),g)}break}}))}c();export{g as B,c as d};
2
- //# sourceMappingURL=p-BOpHKDOG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["badgeCss","SURFACE_RING","default","primary","secondary","medium","bold","strong","navigation","Badge","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","count","max","surface","gradientBackground","isSelected","gradientLayoutVersion","gradientObserver","gradientWindowListener","componentDidLoad","enableShellGradientRingIfNeeded","disconnectedCallback","unbindGradientRingSync","gradientBackgroundChanged","bindGradientRingSync","isShellGradientActive","el","update","window","addEventListener","ResizeObserver","observe","shell","closest","bar","panel","removeEventListener","disconnect","ringHostStyle","ring","style","BADGE_GRADIENT_POSITION_VAR","render","isDot","h","Host","display","String","ariaLabel","label","background","class","badge","badge__mark"],"sources":["src/wc/components/Badge/Badge.css?tag=ds-badge&encapsulation=scoped","src/wc/components/Badge/Badge.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n vertical-align: middle;\n\n --_badge-bg: var(--color-background-bold-brand);\n --_badge-fg: var(--color-foreground-on-bold-background-primary);\n --_badge-ring: var(--color-background-secondary);\n --_badge-ring-width: var(--dimension-stroke-width-018);\n}\n\n.badge__mark {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n box-sizing: border-box;\n color: var(--_badge-fg);\n background: var(--_badge-bg);\n box-shadow: 0 0 0 var(--_badge-ring-width) var(--_badge-ring);\n white-space: nowrap;\n}\n\n:host(.badge--dot) .badge__mark {\n width: var(--dimension-size-075);\n height: var(--dimension-size-075);\n border-radius: var(--dimension-radius-half);\n}\n\n:host(.badge--counter) .badge__mark {\n width: var(--dimension-size-150);\n height: var(--dimension-size-150);\n padding: 0;\n border-radius: var(--dimension-radius-half);\n font-size: var(--typography-fontsize-xs);\n line-height: 1;\n}\n\n:host(.badge--selected) {\n --_badge-bg: var(--color-foreground-primary);\n}\n\n/* Shell gradient ring — base fill + wash donut (option 3). */\n:host(.badge--on-gradient-background) .badge__mark {\n position: relative;\n z-index: 0;\n box-shadow: none;\n isolation: isolate;\n}\n\n:host(.badge--on-gradient-background) .badge__mark::before,\n:host(.badge--on-gradient-background) .badge__mark::after {\n content: '';\n position: absolute;\n inset: calc(-1 * var(--_badge-ring-width));\n border-radius: inherit;\n box-sizing: border-box;\n padding: var(--_badge-ring-width);\n pointer-events: none;\n -webkit-mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n}\n\n:host(.badge--on-gradient-background) .badge__mark::before {\n z-index: -2;\n background-color: var(--_badge-ring);\n}\n\n:host(.badge--on-gradient-background) .badge__mark::after {\n z-index: -1;\n background-image: var(--ds-shell-gradient-image, none);\n background-size: var(--ds-shell-gradient-size, auto);\n background-position: 0 0;\n background-repeat: no-repeat;\n background-attachment: fixed;\n opacity: var(--ds-shell-gradient-opacity, 1);\n}\n","import { Component, Prop, Element, State, Watch, h, Host } from '@stencil/core';\nimport {\n BADGE_GRADIENT_POSITION_VAR,\n isShellGradientActive,\n} from '../../nav/badge-gradient-ring';\n\nexport type BadgeVariant = 'counter' | 'dot';\nexport type BadgeSurface =\n | 'default'\n | 'primary'\n | 'secondary'\n | 'medium'\n | 'bold'\n | 'strong'\n | 'navigation'\n | 'always-dark';\n\nconst SURFACE_RING: Record<BadgeSurface, string> = {\n default: 'var(--color-background-secondary)',\n primary: 'var(--color-background-primary)',\n secondary: 'var(--color-background-secondary)',\n medium: 'var(--color-background-medium-neutral)',\n bold: 'var(--color-background-bold-neutral)',\n strong: 'var(--color-background-strong-neutral)',\n navigation: 'var(--color-navigation-background)',\n 'always-dark': 'var(--color-always-dark-background)',\n};\n\n@Component({\n tag: 'ds-badge',\n styleUrl: 'Badge.css',\n scoped: true,\n})\nexport class Badge {\n @Element() el!: HTMLElement;\n\n /** Render as a compact counter or notification dot. */\n @Prop() variant: BadgeVariant = 'counter';\n\n /** Count shown for counter badges. Count 0 hides the badge. */\n @Prop() count: number = 0;\n\n /** Highest count shown before compacting to \"+\". */\n @Prop() max: number = 9;\n\n /** Surface context for the ring around dots. */\n @Prop() surface: BadgeSurface = 'default';\n\n /** Direct ring background override for component-local surfaces. */\n @Prop() background: string | undefined;\n\n /**\n * Ring samples the shell gradient stack (base fill + wash) instead of a flat\n * `box-shadow`. Auto-enabled in `componentDidLoad` under `ds-app-shell[gradient]`;\n * set `gradient-background` to opt in/out explicitly.\n *\n * The attribute must NOT start with `on` — Stencil's setAccessor routes any\n * unknown `on*` member down the event-listener path during attribute\n * reflection, calling addEventListener with a non-listener and throwing.\n */\n @Prop({ attribute: 'gradient-background', reflect: true }) gradientBackground: boolean = false;\n\n /** Deprecated alias for selected counter styling. Prefer context-specific color in the parent. */\n @Prop() isSelected: boolean = false;\n\n /** Accessible label. Defaults to the count as a string. */\n @Prop() label: string | undefined;\n\n /** Bumps on resize/layout so render recomputes gradient ring position. */\n @State() private gradientLayoutVersion = 0;\n\n private gradientObserver: ResizeObserver | null = null;\n private gradientWindowListener: (() => void) | null = null;\n\n componentDidLoad() {\n this.enableShellGradientRingIfNeeded();\n }\n\n disconnectedCallback() {\n this.unbindGradientRingSync();\n }\n\n @Watch('gradientBackground')\n gradientBackgroundChanged() {\n this.bindGradientRingSync();\n }\n\n /** Imperative opt-in avoids Stencil aborting parent render for nested badges. */\n private enableShellGradientRingIfNeeded() {\n if (!this.gradientBackground && isShellGradientActive(this.el)) {\n this.gradientBackground = true;\n }\n\n if (this.gradientBackground) {\n this.bindGradientRingSync();\n }\n }\n\n private bindGradientRingSync() {\n this.unbindGradientRingSync();\n\n if (!this.gradientBackground) return;\n\n const update = () => {\n this.gradientLayoutVersion += 1;\n };\n update();\n\n this.gradientWindowListener = update;\n window.addEventListener('resize', update);\n\n if (typeof ResizeObserver !== 'undefined') {\n this.gradientObserver = new ResizeObserver(update);\n this.gradientObserver.observe(this.el);\n\n const shell = this.el.closest('ds-app-shell');\n if (shell) this.gradientObserver.observe(shell);\n\n const bar = this.el.closest('ds-bar-nav');\n if (bar) this.gradientObserver.observe(bar);\n\n const panel = this.el.closest('ds-panel-nav');\n if (panel) this.gradientObserver.observe(panel);\n }\n }\n\n private unbindGradientRingSync() {\n if (this.gradientWindowListener) {\n window.removeEventListener('resize', this.gradientWindowListener);\n this.gradientWindowListener = null;\n }\n\n this.gradientObserver?.disconnect();\n this.gradientObserver = null;\n }\n\n private ringHostStyle(ring: string): Record<string, string> {\n void this.gradientLayoutVersion;\n\n const style: Record<string, string> = { '--_badge-ring': ring };\n if (!this.gradientBackground || !isShellGradientActive(this.el)) return style;\n\n /* Shell chrome wash uses background-attachment: fixed at viewport origin. */\n style[BADGE_GRADIENT_POSITION_VAR] = '0 0';\n return style;\n }\n\n render() {\n const isDot = this.variant === 'dot';\n\n if (!isDot && this.count === 0) return <Host style={{ display: 'none' }} />;\n\n const display = this.count > this.max ? '+' : String(this.count);\n const ariaLabel = this.label ?? (isDot ? 'Notification' : String(this.count));\n const ring = this.background ?? SURFACE_RING[this.surface];\n\n return (\n <Host\n class={{\n badge: true,\n 'badge--counter': !isDot,\n 'badge--dot': isDot,\n 'badge--selected': this.isSelected,\n 'badge--on-gradient-background': this.gradientBackground,\n }}\n aria-label={ariaLabel}\n style={this.ringHostStyle(ring)}\n >\n <span\n class={{\n 'badge__mark': true,\n 'text-caption-emphasis': !isDot,\n }}\n aria-hidden=\"true\"\n >\n {!isDot && display}\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAW,IAAM,ymECiBvB,MAAMC,EAA6C,CACjDC,QAAS,oCACTC,QAAS,kCACTC,UAAW,oCACXC,OAAQ,yCACRC,KAAM,uCACNC,OAAQ,yCACRC,WAAY,qCACZ,cAAe,uC,MAQJC,EAAKC,EAAA,MAAAD,UAAAE,EALlB,WAAAC,CAAAC,G,4CASUC,KAAAC,QAAwB,UAGxBD,KAAAE,MAAgB,EAGhBF,KAAAG,IAAc,EAGdH,KAAAI,QAAwB,UAc2BJ,KAAAK,mBAA8B,MAGjFL,KAAAM,WAAsB,MAMbN,KAAAO,sBAAwB,EAEjCP,KAAAQ,iBAA0C,KAC1CR,KAAAS,uBAA8C,IA4GvD,CA1GC,gBAAAC,GACEV,KAAKW,iC,CAGP,oBAAAC,GACEZ,KAAKa,wB,CAIP,yBAAAC,GACEd,KAAKe,sB,CAIC,+BAAAJ,GACN,IAAKX,KAAKK,oBAAsBW,EAAsBhB,KAAKiB,IAAK,CAC9DjB,KAAKK,mBAAqB,I,CAG5B,GAAIL,KAAKK,mBAAoB,CAC3BL,KAAKe,sB,EAID,oBAAAA,GACNf,KAAKa,yBAEL,IAAKb,KAAKK,mBAAoB,OAE9B,MAAMa,EAAS,KACblB,KAAKO,uBAAyB,CAAC,EAEjCW,IAEAlB,KAAKS,uBAAyBS,EAC9BC,OAAOC,iBAAiB,SAAUF,GAElC,UAAWG,iBAAmB,YAAa,CACzCrB,KAAKQ,iBAAmB,IAAIa,eAAeH,GAC3ClB,KAAKQ,iBAAiBc,QAAQtB,KAAKiB,IAEnC,MAAMM,EAAQvB,KAAKiB,GAAGO,QAAQ,gBAC9B,GAAID,EAAOvB,KAAKQ,iBAAiBc,QAAQC,GAEzC,MAAME,EAAMzB,KAAKiB,GAAGO,QAAQ,cAC5B,GAAIC,EAAKzB,KAAKQ,iBAAiBc,QAAQG,GAEvC,MAAMC,EAAQ1B,KAAKiB,GAAGO,QAAQ,gBAC9B,GAAIE,EAAO1B,KAAKQ,iBAAiBc,QAAQI,E,EAIrC,sBAAAb,GACN,GAAIb,KAAKS,uBAAwB,CAC/BU,OAAOQ,oBAAoB,SAAU3B,KAAKS,wBAC1CT,KAAKS,uBAAyB,I,CAGhCT,KAAKQ,kBAAkBoB,aACvB5B,KAAKQ,iBAAmB,I,CAGlB,aAAAqB,CAAcC,GAGpB,MAAMC,EAAgC,CAAE,gBAAiBD,GACzD,IAAK9B,KAAKK,qBAAuBW,EAAsBhB,KAAKiB,IAAK,OAAOc,EAGxEA,EAAMC,GAA+B,MACrC,OAAOD,C,CAGT,MAAAE,GACE,MAAMC,EAAQlC,KAAKC,UAAY,MAE/B,IAAKiC,GAASlC,KAAKE,QAAU,EAAG,OAAOiC,EAACC,EAAI,CAACL,MAAO,CAAEM,QAAS,UAE/D,MAAMA,EAAUrC,KAAKE,MAAQF,KAAKG,IAAM,IAAMmC,OAAOtC,KAAKE,OAC1D,MAAMqC,EAAYvC,KAAKwC,QAAUN,EAAQ,eAAiBI,OAAOtC,KAAKE,QACtE,MAAM4B,EAAO9B,KAAKyC,YAActD,EAAaa,KAAKI,SAElD,OACE+B,EAACC,EAAI,CACHM,MAAO,CACLC,MAAO,KACP,kBAAmBT,EACnB,aAAcA,EACd,kBAAmBlC,KAAKM,WACxB,gCAAiCN,KAAKK,oBACvC,aACWkC,EACZR,MAAO/B,KAAK6B,cAAcC,IAE1BK,EAAA,QACEO,MAAO,CACLE,YAAe,KACf,yBAA0BV,GAC3B,cACW,SAEVA,GAASG,G","ignoreList":[]}