@design.estate/dees-catalog 4.0.3 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +233 -5
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.js +8 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.d.ts +12 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +257 -7
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.ts +7 -0
- package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +238 -2
package/dist_bundle/bundle.js
CHANGED
|
@@ -173551,15 +173551,40 @@ var DeesHarnessContentBlocks = _DeesHarnessContentBlocks;
|
|
|
173551
173551
|
init_dist_ts25();
|
|
173552
173552
|
init_theme();
|
|
173553
173553
|
init_dees_icon();
|
|
173554
|
-
var _outputExpanded_dec, _expanded_dec2, _toolRegistry_dec, _call_dec, _a79, _DeesHarnessToolCard_decorators, _init80, _call, _toolRegistry, _expanded2, _outputExpanded;
|
|
173554
|
+
var _returnFlash_dec, _maximized_dec, _bodyOverflowing_dec, _bodyCapPx_dec, _outputExpanded_dec, _expanded_dec2, _toolRegistry_dec, _call_dec, _a79, _DeesHarnessToolCard_decorators, _init80, _call, _toolRegistry, _expanded2, _outputExpanded, _bodyCapPx, _bodyOverflowing, _maximized, _returnFlash;
|
|
173555
173555
|
_DeesHarnessToolCard_decorators = [customElement("dees-harness-tool-card")];
|
|
173556
|
-
var _DeesHarnessToolCard = class _DeesHarnessToolCard extends (_a79 = DeesElement, _call_dec = [n5({ attribute: false })], _toolRegistry_dec = [n5({ attribute: false })], _expanded_dec2 = [r5()], _outputExpanded_dec = [r5()], _a79) {
|
|
173556
|
+
var _DeesHarnessToolCard = class _DeesHarnessToolCard extends (_a79 = DeesElement, _call_dec = [n5({ attribute: false })], _toolRegistry_dec = [n5({ attribute: false })], _expanded_dec2 = [r5()], _outputExpanded_dec = [r5()], _bodyCapPx_dec = [n5({ type: Number })], _bodyOverflowing_dec = [r5()], _maximized_dec = [r5()], _returnFlash_dec = [r5()], _a79) {
|
|
173557
173557
|
constructor() {
|
|
173558
173558
|
super(...arguments);
|
|
173559
173559
|
__privateAdd(this, _call, __runInitializers(_init80, 8, this, { id: "", name: "", status: "pending" })), __runInitializers(_init80, 11, this);
|
|
173560
173560
|
__privateAdd(this, _toolRegistry, __runInitializers(_init80, 12, this, DeesHarnessToolRegistry.default)), __runInitializers(_init80, 15, this);
|
|
173561
173561
|
__privateAdd(this, _expanded2, __runInitializers(_init80, 16, this)), __runInitializers(_init80, 19, this);
|
|
173562
173562
|
__privateAdd(this, _outputExpanded, __runInitializers(_init80, 20, this, false)), __runInitializers(_init80, 23, this);
|
|
173563
|
+
__privateAdd(this, _bodyCapPx, __runInitializers(_init80, 24, this, 360)), __runInitializers(_init80, 27, this);
|
|
173564
|
+
__privateAdd(this, _bodyOverflowing, __runInitializers(_init80, 28, this, false)), __runInitializers(_init80, 31, this);
|
|
173565
|
+
__privateAdd(this, _maximized, __runInitializers(_init80, 32, this, false)), __runInitializers(_init80, 35, this);
|
|
173566
|
+
__privateAdd(this, _returnFlash, __runInitializers(_init80, 36, this, false)), __runInitializers(_init80, 39, this);
|
|
173567
|
+
__publicField(this, "bodyResizeObserver", null);
|
|
173568
|
+
__publicField(this, "observedBodyInner", null);
|
|
173569
|
+
__publicField(this, "openFullscreen", /* @__PURE__ */ __name(() => {
|
|
173570
|
+
this.maximized = true;
|
|
173571
|
+
window.addEventListener("keydown", this.handleFullscreenKeydown);
|
|
173572
|
+
}, "openFullscreen"));
|
|
173573
|
+
__publicField(this, "closeFullscreen", /* @__PURE__ */ __name(() => {
|
|
173574
|
+
window.removeEventListener("keydown", this.handleFullscreenKeydown);
|
|
173575
|
+
if (!this.maximized) return;
|
|
173576
|
+
this.maximized = false;
|
|
173577
|
+
this.returnFlash = true;
|
|
173578
|
+
requestAnimationFrame(() => {
|
|
173579
|
+
this.scrollIntoView({ block: "center", behavior: "smooth" });
|
|
173580
|
+
});
|
|
173581
|
+
}, "closeFullscreen"));
|
|
173582
|
+
__publicField(this, "handleFullscreenKeydown", /* @__PURE__ */ __name((event) => {
|
|
173583
|
+
if (event.key === "Escape") {
|
|
173584
|
+
event.preventDefault();
|
|
173585
|
+
this.closeFullscreen();
|
|
173586
|
+
}
|
|
173587
|
+
}, "handleFullscreenKeydown"));
|
|
173563
173588
|
}
|
|
173564
173589
|
get descriptor() {
|
|
173565
173590
|
return this.toolRegistry.resolve(this.enrichedCall);
|
|
@@ -173585,7 +173610,13 @@ var _DeesHarnessToolCard = class _DeesHarnessToolCard extends (_a79 = DeesElemen
|
|
|
173585
173610
|
const statusTone = call.isError ? "error" : call.status === "completed" ? "success" : call.status;
|
|
173586
173611
|
const duration = harnessFormatDuration(call.startedAt, call.finishedAt);
|
|
173587
173612
|
return b2`
|
|
173588
|
-
<div class="harness-card status-${call.isError ? "error" : call.status} ${descriptor.destructive ? "destructive" : ""}"
|
|
173613
|
+
<div class="harness-card status-${call.isError ? "error" : call.status} ${descriptor.destructive ? "destructive" : ""} ${this.returnFlash ? "returnFlash" : ""}"
|
|
173614
|
+
@animationend=${(event) => {
|
|
173615
|
+
if (event.animationName === "harness-card-return-flash") {
|
|
173616
|
+
this.returnFlash = false;
|
|
173617
|
+
}
|
|
173618
|
+
}}
|
|
173619
|
+
>
|
|
173589
173620
|
<button
|
|
173590
173621
|
class="header"
|
|
173591
173622
|
type="button"
|
|
@@ -173609,10 +173640,63 @@ var _DeesHarnessToolCard = class _DeesHarnessToolCard extends (_a79 = DeesElemen
|
|
|
173609
173640
|
</span>
|
|
173610
173641
|
</span>
|
|
173611
173642
|
</button>
|
|
173612
|
-
${this.isOpen
|
|
173643
|
+
${this.isOpen && !this.maximized ? b2`
|
|
173644
|
+
<div
|
|
173645
|
+
class="bodyClipFrame ${this.bodyOverflowing ? "capped" : ""}"
|
|
173646
|
+
style=${`max-height: ${this.bodyCapPx}px;`}
|
|
173647
|
+
>
|
|
173648
|
+
<div class="body bodyInner">${this.renderBody(call)}</div>
|
|
173649
|
+
</div>
|
|
173650
|
+
${this.bodyOverflowing ? b2`
|
|
173651
|
+
<button class="maximizeBar" type="button" @click=${this.openFullscreen}>
|
|
173652
|
+
<dees-icon icon="lucide:Maximize2" iconSize="12"></dees-icon>
|
|
173653
|
+
Show everything
|
|
173654
|
+
</button>
|
|
173655
|
+
` : ""}
|
|
173656
|
+
` : ""}
|
|
173613
173657
|
</div>
|
|
173658
|
+
${this.maximized ? b2`
|
|
173659
|
+
<div class="fullscreenLayer" @click=${(event) => {
|
|
173660
|
+
if (event.target === event.currentTarget) this.closeFullscreen();
|
|
173661
|
+
}}>
|
|
173662
|
+
<div class="fullscreenPanel">
|
|
173663
|
+
<header class="fullscreenHeader">
|
|
173664
|
+
<dees-icon .icon=${descriptor.icon} iconSize="15"></dees-icon>
|
|
173665
|
+
<span class="fullscreenTitle">${label}${subtitle ? ` \xB7 ${subtitle}` : ""}</span>
|
|
173666
|
+
<button class="fullscreenClose" type="button" @click=${this.closeFullscreen}>
|
|
173667
|
+
<dees-icon icon="lucide:Minimize2" iconSize="15"></dees-icon>
|
|
173668
|
+
</button>
|
|
173669
|
+
</header>
|
|
173670
|
+
<div class="fullscreenBody">${this.renderBody(call)}</div>
|
|
173671
|
+
</div>
|
|
173672
|
+
</div>
|
|
173673
|
+
` : ""}
|
|
173614
173674
|
`;
|
|
173615
173675
|
}
|
|
173676
|
+
updated(changedProperties) {
|
|
173677
|
+
super.updated(changedProperties);
|
|
173678
|
+
const bodyInner = this.shadowRoot?.querySelector(".bodyInner") ?? null;
|
|
173679
|
+
if (bodyInner === this.observedBodyInner) return;
|
|
173680
|
+
this.bodyResizeObserver?.disconnect();
|
|
173681
|
+
this.observedBodyInner = bodyInner;
|
|
173682
|
+
if (!bodyInner) {
|
|
173683
|
+
this.bodyOverflowing = false;
|
|
173684
|
+
return;
|
|
173685
|
+
}
|
|
173686
|
+
this.bodyResizeObserver ??= new ResizeObserver(() => {
|
|
173687
|
+
const inner = this.observedBodyInner;
|
|
173688
|
+
if (!inner) return;
|
|
173689
|
+
this.bodyOverflowing = inner.scrollHeight > this.bodyCapPx + 24;
|
|
173690
|
+
});
|
|
173691
|
+
this.bodyResizeObserver.observe(bodyInner);
|
|
173692
|
+
}
|
|
173693
|
+
async disconnectedCallback() {
|
|
173694
|
+
window.removeEventListener("keydown", this.handleFullscreenKeydown);
|
|
173695
|
+
this.bodyResizeObserver?.disconnect();
|
|
173696
|
+
this.bodyResizeObserver = null;
|
|
173697
|
+
this.observedBodyInner = null;
|
|
173698
|
+
await super.disconnectedCallback();
|
|
173699
|
+
}
|
|
173616
173700
|
renderMcpBadges(call) {
|
|
173617
173701
|
if (!call.mcp) return b2``;
|
|
173618
173702
|
const annotations = call.mcp.annotations;
|
|
@@ -173691,10 +173775,18 @@ _call = new WeakMap();
|
|
|
173691
173775
|
_toolRegistry = new WeakMap();
|
|
173692
173776
|
_expanded2 = new WeakMap();
|
|
173693
173777
|
_outputExpanded = new WeakMap();
|
|
173778
|
+
_bodyCapPx = new WeakMap();
|
|
173779
|
+
_bodyOverflowing = new WeakMap();
|
|
173780
|
+
_maximized = new WeakMap();
|
|
173781
|
+
_returnFlash = new WeakMap();
|
|
173694
173782
|
__decorateElement(_init80, 4, "call", _call_dec, _DeesHarnessToolCard, _call);
|
|
173695
173783
|
__decorateElement(_init80, 4, "toolRegistry", _toolRegistry_dec, _DeesHarnessToolCard, _toolRegistry);
|
|
173696
173784
|
__decorateElement(_init80, 4, "expanded", _expanded_dec2, _DeesHarnessToolCard, _expanded2);
|
|
173697
173785
|
__decorateElement(_init80, 4, "outputExpanded", _outputExpanded_dec, _DeesHarnessToolCard, _outputExpanded);
|
|
173786
|
+
__decorateElement(_init80, 4, "bodyCapPx", _bodyCapPx_dec, _DeesHarnessToolCard, _bodyCapPx);
|
|
173787
|
+
__decorateElement(_init80, 4, "bodyOverflowing", _bodyOverflowing_dec, _DeesHarnessToolCard, _bodyOverflowing);
|
|
173788
|
+
__decorateElement(_init80, 4, "maximized", _maximized_dec, _DeesHarnessToolCard, _maximized);
|
|
173789
|
+
__decorateElement(_init80, 4, "returnFlash", _returnFlash_dec, _DeesHarnessToolCard, _returnFlash);
|
|
173698
173790
|
_DeesHarnessToolCard = __decorateElement(_init80, 0, "DeesHarnessToolCard", _DeesHarnessToolCard_decorators, _DeesHarnessToolCard);
|
|
173699
173791
|
__name(_DeesHarnessToolCard, "DeesHarnessToolCard");
|
|
173700
173792
|
__publicField(_DeesHarnessToolCard, "demo", demoFunc55);
|
|
@@ -173825,6 +173917,135 @@ __publicField(_DeesHarnessToolCard, "styles", [
|
|
|
173825
173917
|
dees-dataview-codebox {
|
|
173826
173918
|
font-family: var(--dees-font-family);
|
|
173827
173919
|
}
|
|
173920
|
+
|
|
173921
|
+
/* Three body modes: collapsed (no body), normal (content fits the
|
|
173922
|
+
cap), capped (content taller than the cap clips behind a fade and
|
|
173923
|
+
offers fullscreen). */
|
|
173924
|
+
.bodyClipFrame {
|
|
173925
|
+
position: relative;
|
|
173926
|
+
overflow: hidden;
|
|
173927
|
+
}
|
|
173928
|
+
|
|
173929
|
+
.bodyClipFrame.capped::after {
|
|
173930
|
+
content: '';
|
|
173931
|
+
position: absolute;
|
|
173932
|
+
left: 0;
|
|
173933
|
+
right: 0;
|
|
173934
|
+
bottom: 0;
|
|
173935
|
+
height: 44px;
|
|
173936
|
+
background: linear-gradient(to bottom, transparent, var(--dees-color-bg-primary));
|
|
173937
|
+
pointer-events: none;
|
|
173938
|
+
}
|
|
173939
|
+
|
|
173940
|
+
.maximizeBar {
|
|
173941
|
+
display: flex;
|
|
173942
|
+
align-items: center;
|
|
173943
|
+
justify-content: center;
|
|
173944
|
+
gap: var(--dees-spacing-xs);
|
|
173945
|
+
width: 100%;
|
|
173946
|
+
padding: var(--dees-spacing-xs) var(--dees-spacing-md);
|
|
173947
|
+
border: 0;
|
|
173948
|
+
border-top: 1px solid var(--dees-color-border-subtle);
|
|
173949
|
+
background: transparent;
|
|
173950
|
+
color: var(--dees-color-link);
|
|
173951
|
+
cursor: pointer;
|
|
173952
|
+
font-family: inherit;
|
|
173953
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
173954
|
+
}
|
|
173955
|
+
|
|
173956
|
+
.maximizeBar:hover {
|
|
173957
|
+
background: var(--dees-color-hover);
|
|
173958
|
+
color: var(--dees-color-link-hover);
|
|
173959
|
+
}
|
|
173960
|
+
|
|
173961
|
+
.fullscreenLayer {
|
|
173962
|
+
position: fixed;
|
|
173963
|
+
inset: 0;
|
|
173964
|
+
z-index: 4000;
|
|
173965
|
+
display: grid;
|
|
173966
|
+
place-items: center;
|
|
173967
|
+
padding: 4vh 3vw;
|
|
173968
|
+
background: color-mix(in srgb, var(--dees-color-bg-primary) 55%, transparent);
|
|
173969
|
+
backdrop-filter: blur(6px);
|
|
173970
|
+
}
|
|
173971
|
+
|
|
173972
|
+
.fullscreenPanel {
|
|
173973
|
+
display: flex;
|
|
173974
|
+
flex-direction: column;
|
|
173975
|
+
width: min(1200px, 100%);
|
|
173976
|
+
height: 100%;
|
|
173977
|
+
min-height: 0;
|
|
173978
|
+
border: 1px solid var(--dees-color-border-default);
|
|
173979
|
+
border-radius: var(--dees-radius-lg);
|
|
173980
|
+
background: var(--dees-color-bg-primary);
|
|
173981
|
+
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
|
|
173982
|
+
overflow: hidden;
|
|
173983
|
+
}
|
|
173984
|
+
|
|
173985
|
+
.fullscreenHeader {
|
|
173986
|
+
display: flex;
|
|
173987
|
+
flex: 0 0 auto;
|
|
173988
|
+
align-items: center;
|
|
173989
|
+
gap: var(--dees-spacing-sm);
|
|
173990
|
+
padding: var(--dees-spacing-sm) var(--dees-spacing-md);
|
|
173991
|
+
border-bottom: 1px solid var(--dees-color-border-subtle);
|
|
173992
|
+
}
|
|
173993
|
+
|
|
173994
|
+
.fullscreenTitle {
|
|
173995
|
+
min-width: 0;
|
|
173996
|
+
overflow: hidden;
|
|
173997
|
+
text-overflow: ellipsis;
|
|
173998
|
+
white-space: nowrap;
|
|
173999
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
174000
|
+
font-weight: 650;
|
|
174001
|
+
}
|
|
174002
|
+
|
|
174003
|
+
.fullscreenClose {
|
|
174004
|
+
display: grid;
|
|
174005
|
+
place-items: center;
|
|
174006
|
+
margin-left: auto;
|
|
174007
|
+
padding: 6px;
|
|
174008
|
+
border: 0;
|
|
174009
|
+
border-radius: var(--dees-radius-md);
|
|
174010
|
+
background: transparent;
|
|
174011
|
+
color: var(--dees-color-text-secondary);
|
|
174012
|
+
cursor: pointer;
|
|
174013
|
+
}
|
|
174014
|
+
|
|
174015
|
+
.fullscreenClose:hover {
|
|
174016
|
+
background: var(--dees-color-hover);
|
|
174017
|
+
color: var(--dees-color-text-primary);
|
|
174018
|
+
}
|
|
174019
|
+
|
|
174020
|
+
.fullscreenBody {
|
|
174021
|
+
flex: 1;
|
|
174022
|
+
min-height: 0;
|
|
174023
|
+
overflow: auto;
|
|
174024
|
+
padding: var(--dees-spacing-md);
|
|
174025
|
+
scrollbar-width: thin;
|
|
174026
|
+
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
174027
|
+
}
|
|
174028
|
+
|
|
174029
|
+
/* Locates the card after minimizing: a brief highlight pulse. */
|
|
174030
|
+
.harness-card.returnFlash {
|
|
174031
|
+
animation: harness-card-return-flash 1.4s var(--dees-ease-standard);
|
|
174032
|
+
}
|
|
174033
|
+
|
|
174034
|
+
@keyframes harness-card-return-flash {
|
|
174035
|
+
0%, 55% {
|
|
174036
|
+
box-shadow: 0 0 0 2px var(--dees-color-accent-primary);
|
|
174037
|
+
}
|
|
174038
|
+
100% {
|
|
174039
|
+
box-shadow: 0 0 0 0 transparent;
|
|
174040
|
+
}
|
|
174041
|
+
}
|
|
174042
|
+
|
|
174043
|
+
@media (prefers-reduced-motion: reduce) {
|
|
174044
|
+
.harness-card.returnFlash {
|
|
174045
|
+
animation: none;
|
|
174046
|
+
box-shadow: 0 0 0 2px var(--dees-color-accent-primary);
|
|
174047
|
+
}
|
|
174048
|
+
}
|
|
173828
174049
|
`
|
|
173829
174050
|
]);
|
|
173830
174051
|
__runInitializers(_init80, 1, _DeesHarnessToolCard);
|
|
@@ -174067,6 +174288,13 @@ __publicField(_DeesHarnessMessage, "styles", [
|
|
|
174067
174288
|
boundary instead of widening the whole conversation; scrollable
|
|
174068
174289
|
payload blocks inside keep their own horizontal scrollbars. */
|
|
174069
174290
|
overflow-x: clip;
|
|
174291
|
+
/* Virtualized rendering: cards outside the viewport skip style,
|
|
174292
|
+
layout, and paint entirely and re-render when scrolled back —
|
|
174293
|
+
state and DOM stay, so expansion and selection survive. The
|
|
174294
|
+
'auto' keyword keeps the last rendered size as the placeholder,
|
|
174295
|
+
holding the scrollbar steady. */
|
|
174296
|
+
content-visibility: auto;
|
|
174297
|
+
contain-intrinsic-size: auto 96px;
|
|
174070
174298
|
font-family: var(--dees-font-family);
|
|
174071
174299
|
/* entry: new boxes make space for themselves while fading in.
|
|
174072
174300
|
A keyframes animation (not a transition) so the parent tree's
|
|
@@ -199045,7 +199273,7 @@ init_group_runtime();
|
|
|
199045
199273
|
// ts_web/00_commitinfo_data.ts
|
|
199046
199274
|
var commitinfo = {
|
|
199047
199275
|
name: "@design.estate/dees-catalog",
|
|
199048
|
-
version: "4.0
|
|
199276
|
+
version: "4.1.0",
|
|
199049
199277
|
description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
|
|
199050
199278
|
};
|
|
199051
199279
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '4.0
|
|
6
|
+
version: '4.1.0',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
|
|
@@ -141,6 +141,13 @@ let DeesHarnessMessage = (() => {
|
|
|
141
141
|
boundary instead of widening the whole conversation; scrollable
|
|
142
142
|
payload blocks inside keep their own horizontal scrollbars. */
|
|
143
143
|
overflow-x: clip;
|
|
144
|
+
/* Virtualized rendering: cards outside the viewport skip style,
|
|
145
|
+
layout, and paint entirely and re-render when scrolled back —
|
|
146
|
+
state and DOM stay, so expansion and selection survive. The
|
|
147
|
+
'auto' keyword keeps the last rendered size as the placeholder,
|
|
148
|
+
holding the scrollbar steady. */
|
|
149
|
+
content-visibility: auto;
|
|
150
|
+
contain-intrinsic-size: auto 96px;
|
|
144
151
|
font-family: var(--dees-font-family);
|
|
145
152
|
/* entry: new boxes make space for themselves while fading in.
|
|
146
153
|
A keyframes animation (not a transition) so the parent tree's
|
|
@@ -554,4 +561,4 @@ let DeesHarnessMessage = (() => {
|
|
|
554
561
|
return DeesHarnessMessage = _classThis;
|
|
555
562
|
})();
|
|
556
563
|
export { DeesHarnessMessage };
|
|
557
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1tZXNzYWdlL2RlZXMtaGFybmVzcy1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8scURBQXFELENBQUM7QUFDN0QsT0FBTyxxREFBcUQsQ0FBQztBQUM3RCxPQUFPLDhDQUE4QyxDQUFDO0FBUXRELE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBRXBDOzs7OztHQUtHO0lBRVUsa0JBQWtCOzRCQUQ5QixhQUFhLENBQUMsc0JBQXNCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQ0FBbkIsU0FBUSxXQUFXOzs7O21DQUloRCxR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
|
|
564
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1tZXNzYWdlL2RlZXMtaGFybmVzcy1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8scURBQXFELENBQUM7QUFDN0QsT0FBTyxxREFBcUQsQ0FBQztBQUM3RCxPQUFPLDhDQUE4QyxDQUFDO0FBUXRELE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBRXBDOzs7OztHQUtHO0lBRVUsa0JBQWtCOzRCQUQ5QixhQUFhLENBQUMsc0JBQXNCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQ0FBbkIsU0FBUSxXQUFXOzs7O21DQUloRCxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7b0NBRzlCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzt5Q0FHM0IsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO2tEQUkzQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7d0NBRzNCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt5Q0FROUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO2dEQUc5QixLQUFLLEVBQUU7WUF2QlIsMEtBQVMsT0FBTyw2QkFBUCxPQUFPLHlGQUEwRTtZQUcxRiw2S0FBUyxRQUFRLDZCQUFSLFFBQVEsMkZBQWlCO1lBR2xDLDRMQUFTLGFBQWEsNkJBQWIsYUFBYSxxR0FBa0I7WUFJeEMsdU5BQVMsc0JBQXNCLDZCQUF0QixzQkFBc0IsdUhBQWlCO1lBR2hELHlMQUFTLFlBQVksNkJBQVosWUFBWSxtR0FBNEQ7WUFRakYsNExBQVMsYUFBYSw2QkFBYixhQUFhLHFHQUFrQjtZQUd4QyxpTkFBUyxvQkFBb0IsNkJBQXBCLG9CQUFvQixtSEFBYztZQTdCN0MsNktBcWRDOzs7O1FBcGRRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUcxQywyRUFBb0MsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUM7UUFBMUYsSUFBUyxPQUFPLDZDQUEwRTtRQUExRixJQUFTLE9BQU8sbURBQTBFO1FBRzFGLG1JQUE2QixJQUFJLEdBQUM7UUFBbEMsSUFBUyxRQUFRLDhDQUFpQjtRQUFsQyxJQUFTLFFBQVEsb0RBQWlCO1FBR2xDLDhJQUFrQyxLQUFLLEdBQUM7UUFBeEMsSUFBUyxhQUFhLG1EQUFrQjtRQUF4QyxJQUFTLGFBQWEseURBQWtCO1FBSXhDLHFLQUEyQyxJQUFJLEdBQUM7UUFGaEQsd0VBQXdFO1FBRXhFLElBQVMsc0JBQXNCLDREQUFpQjtRQUFoRCxJQUFTLHNCQUFzQixrRUFBaUI7UUFHaEQsMEpBQWlELHVCQUF1QixDQUFDLE9BQU8sR0FBQztRQUFqRixJQUFTLFlBQVksa0RBQTREO1FBQWpGLElBQVMsWUFBWSx3REFBNEQ7UUFRakYsa0pBQWtDLEtBQUssR0FBQztRQU54Qzs7OztXQUlHO1FBRUgsSUFBUyxhQUFhLG1EQUFrQjtRQUF4QyxJQUFTLGFBQWEseURBQWtCO1FBR3hDLGlLQUF3QyxFQUFFLEdBQUM7UUFBM0MsSUFBUyxvQkFBb0IsMERBQWM7UUFBM0MsSUFBUyxvQkFBb0IsZ0VBQWM7UUFFcEMsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixrQkFBa0I7WUFDbEIsVUFBVSxDQUFDLGFBQWE7WUFDeEIsY0FBYztZQUNkLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FxTUY7WUFDRCwrREFBK0Q7WUFDL0QsbUJBQW1CO1lBQ25CLGlCQUFpQjtTQUNsQixDQUFDO1FBRU0sa0JBQWtCLHNFQUFHLENBQUMsRUFBQztRQUN2QixjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLHVCQUF1QixHQUF5QyxJQUFJLENBQUM7UUFDckUsV0FBVyxHQUFtQixJQUFJLENBQUM7UUFFM0MsSUFBVyxjQUFjO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO1FBQ3BFLENBQUM7UUFFRCw2RUFBNkU7UUFFN0UsZ0VBQWdFO1FBQ3pELGVBQWUsQ0FBQyxLQUFhO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxzREFBc0Q7UUFDL0Msb0JBQW9CLENBQUMsTUFBYyxFQUFFLEtBQWEsRUFBRSxTQUFrQjtZQUMzRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQy9FLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsd0VBQXdFO1lBQ3hFLEtBQUssTUFBTSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ2pHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDO1FBRUQsdUNBQXVDO1FBQ2hDLFlBQVksQ0FBQyxNQUFjLEVBQUUsT0FBZ0I7WUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQ2xGLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxNQUFNLGdCQUFnQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDakcsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ25DLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELGlFQUFpRTtRQUMxRCxTQUFTLENBQUMsS0FBcUIsRUFBRSxLQUFjO1lBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLEtBQUs7Z0JBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3RDLElBQUksS0FBSztnQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBRUQsNEVBQTRFO1FBRXJFLE1BQU07WUFDWCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzdCLHdFQUF3RTtZQUN4RSx1RUFBdUU7WUFDdkUsSUFDRSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU07bUJBQ3BCLE9BQU8sQ0FBQyxRQUFRO21CQUNoQixDQUFDLE9BQU8sQ0FBQyxJQUFJO21CQUNiLENBQUMsT0FBTyxDQUFDLEtBQUs7bUJBQ2QsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU07bUJBQzFCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQy9CLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUE7d0NBQ3VCLE9BQU8sQ0FBQyxRQUFRLGtCQUFrQixJQUFJLENBQUMsWUFBWTtPQUNwRixDQUFDO1lBQ0osQ0FBQztZQUNELE1BQU0sU0FBUyxHQUFHLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFBOzRCQUNhLFNBQVMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDL0QsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYTtnQkFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQTs7a0JBRUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLDJCQUEyQixPQUFPLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7a0JBQ3pFLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLFNBQVM7b0JBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUEsMkJBQTJCLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUztvQkFDdEYsQ0FBQyxDQUFDLEVBQUU7O2FBRVQ7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7VUFDSixPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU07Z0JBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUE7OzBEQUUwQyxPQUFPLENBQUMsU0FBUzs7YUFFOUQ7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7VUFDSixPQUFPLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtVQUM5RSxPQUFPLENBQUMsUUFBUTtnQkFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQSxpQ0FBaUMsT0FBTyxDQUFDLFFBQVEsa0JBQWtCLElBQUksQ0FBQyxZQUFZLDRCQUE0QjtnQkFDdEgsQ0FBQyxDQUFDLEVBQUU7VUFDSixJQUFJLENBQUMsVUFBVSxFQUFFO1VBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSwwQkFBMEIsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1VBQ3hFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVztnQkFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQTs7d0JBRVEsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsVUFBVSxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVc7O2FBRXBIO2dCQUNILENBQUMsQ0FBQyxFQUFFOztLQUVULENBQUM7UUFDSixDQUFDO1FBRU8sVUFBVTtZQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLDJEQUEyRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsRUFBRSxDQUFDO1lBQ3RHLENBQUM7WUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYzttQkFDcEMsSUFBSSxDQUFDLG9CQUFvQjttQkFDekIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDO21CQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDcEMsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxJQUFJLENBQUE7cUNBQ29CLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7VUFDaEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxFQUFFO09BQzlELENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUE7K0JBQ2dCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQ3BHLENBQUM7UUFDSixDQUFDO1FBRU8saUJBQWlCLENBQUMsV0FBaUM7WUFDekQsT0FBTyxJQUFJLENBQUE7O1VBRUwsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUMvQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxVQUFVLENBQUMsVUFBVTtvQkFDbkUsQ0FBQyxDQUFDLFFBQVEsVUFBVSxDQUFDLFNBQVMsV0FBVyxVQUFVLENBQUMsVUFBVSxFQUFFO29CQUNoRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLE9BQU8sSUFBSSxDQUFBOztnQkFFTCxRQUFRO29CQUNSLENBQUMsQ0FBQyxJQUFJLENBQUEsb0NBQW9DLFFBQVEsUUFBUSxVQUFVLENBQUMsSUFBSSxLQUFLO29CQUM5RSxDQUFDLENBQUMsSUFBSSxDQUFBLGdHQUFnRzs7b0RBRWxFLFVBQVUsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLElBQUk7O29CQUVsRSxVQUFVLENBQUMsU0FBUyxJQUFJLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7O1dBSTdILENBQUM7WUFDSixDQUFDLENBQUM7O0tBRUwsQ0FBQztRQUNKLENBQUM7UUFFRCw0RUFBNEU7UUFFckUsWUFBWSxDQUFDLGlCQUFtQztZQUNyRCxLQUFLLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO1FBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBbUM7WUFDdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDdkQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsY0FBYztnQkFBRSxPQUFPO1lBQ3RELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0I7b0JBQUUsT0FBTztnQkFDekMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQzlCLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUVPLHNCQUFzQjtZQUM1QixJQUFJLElBQUksQ0FBQyx1QkFBdUI7Z0JBQUUsT0FBTztZQUN6QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztnQkFDcEMsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUVPLEtBQUssQ0FBQyxhQUFhO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQ3hDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuRixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsa0JBQWtCO2dCQUFFLE9BQU87WUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7WUFDcEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUMxQixNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztRQUVELDRFQUE0RTtRQUNwRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsS0FBYTtZQUM3QyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUM3QixJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFjLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUNoRixDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNoRixDQUFDO1lBQ0QsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGtCQUFrQjtnQkFBRSxPQUFPO1lBQzlDLEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3RFLElBQUksQ0FBQztvQkFDSCxNQUFNLFdBQVcsR0FBRyxhQUFhO3dCQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUU7NEJBQ3hELFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDOzRCQUMxQixjQUFjLEVBQUUsSUFBSTt5QkFDckIsQ0FBQyxDQUFDLEtBQUs7d0JBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDO29CQUN4RSxXQUFXLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztvQkFDcEMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO2dCQUMzQyxDQUFDO2dCQUFDLE1BQU0sQ0FBQztvQkFDUCxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7Z0JBQzNDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVNLEtBQUssQ0FBQyxvQkFBb0I7WUFDL0IsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztnQkFDakMsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1lBQ3RDLENBQUM7WUFDRCxNQUFNLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JDLENBQUM7O1lBcGRVLHVEQUFrQjs7Ozs7U0FBbEIsa0JBQWtCIn0=
|
package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.d.ts
CHANGED
|
@@ -23,12 +23,24 @@ export declare class DeesHarnessToolCard extends DeesElement {
|
|
|
23
23
|
accessor toolRegistry: DeesHarnessToolRegistry;
|
|
24
24
|
accessor expanded: boolean | undefined;
|
|
25
25
|
accessor outputExpanded: boolean;
|
|
26
|
+
/** Body height cap; content beyond it clips and offers fullscreen. */
|
|
27
|
+
accessor bodyCapPx: number;
|
|
28
|
+
accessor bodyOverflowing: boolean;
|
|
29
|
+
accessor maximized: boolean;
|
|
30
|
+
accessor returnFlash: boolean;
|
|
31
|
+
private bodyResizeObserver;
|
|
32
|
+
private observedBodyInner;
|
|
26
33
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
27
34
|
private get descriptor();
|
|
28
35
|
/** call with mcp meta derived from the name when the adapter didn't set it */
|
|
29
36
|
private get enrichedCall();
|
|
30
37
|
get isOpen(): boolean;
|
|
31
38
|
render(): TemplateResult;
|
|
39
|
+
private readonly openFullscreen;
|
|
40
|
+
private readonly closeFullscreen;
|
|
41
|
+
private readonly handleFullscreenKeydown;
|
|
42
|
+
updated(changedProperties: Map<PropertyKey, unknown>): void;
|
|
43
|
+
disconnectedCallback(): Promise<void>;
|
|
32
44
|
private renderMcpBadges;
|
|
33
45
|
private renderBody;
|
|
34
46
|
private createHelpers;
|
package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js
CHANGED
|
@@ -67,6 +67,18 @@ let DeesHarnessToolCard = (() => {
|
|
|
67
67
|
let _outputExpanded_decorators;
|
|
68
68
|
let _outputExpanded_initializers = [];
|
|
69
69
|
let _outputExpanded_extraInitializers = [];
|
|
70
|
+
let _bodyCapPx_decorators;
|
|
71
|
+
let _bodyCapPx_initializers = [];
|
|
72
|
+
let _bodyCapPx_extraInitializers = [];
|
|
73
|
+
let _bodyOverflowing_decorators;
|
|
74
|
+
let _bodyOverflowing_initializers = [];
|
|
75
|
+
let _bodyOverflowing_extraInitializers = [];
|
|
76
|
+
let _maximized_decorators;
|
|
77
|
+
let _maximized_initializers = [];
|
|
78
|
+
let _maximized_extraInitializers = [];
|
|
79
|
+
let _returnFlash_decorators;
|
|
80
|
+
let _returnFlash_initializers = [];
|
|
81
|
+
let _returnFlash_extraInitializers = [];
|
|
70
82
|
var DeesHarnessToolCard = class extends _classSuper {
|
|
71
83
|
static { _classThis = this; }
|
|
72
84
|
static {
|
|
@@ -75,10 +87,18 @@ let DeesHarnessToolCard = (() => {
|
|
|
75
87
|
_toolRegistry_decorators = [property({ attribute: false })];
|
|
76
88
|
_expanded_decorators = [state()];
|
|
77
89
|
_outputExpanded_decorators = [state()];
|
|
90
|
+
_bodyCapPx_decorators = [property({ type: Number })];
|
|
91
|
+
_bodyOverflowing_decorators = [state()];
|
|
92
|
+
_maximized_decorators = [state()];
|
|
93
|
+
_returnFlash_decorators = [state()];
|
|
78
94
|
__esDecorate(this, null, _call_decorators, { kind: "accessor", name: "call", static: false, private: false, access: { has: obj => "call" in obj, get: obj => obj.call, set: (obj, value) => { obj.call = value; } }, metadata: _metadata }, _call_initializers, _call_extraInitializers);
|
|
79
95
|
__esDecorate(this, null, _toolRegistry_decorators, { kind: "accessor", name: "toolRegistry", static: false, private: false, access: { has: obj => "toolRegistry" in obj, get: obj => obj.toolRegistry, set: (obj, value) => { obj.toolRegistry = value; } }, metadata: _metadata }, _toolRegistry_initializers, _toolRegistry_extraInitializers);
|
|
80
96
|
__esDecorate(this, null, _expanded_decorators, { kind: "accessor", name: "expanded", static: false, private: false, access: { has: obj => "expanded" in obj, get: obj => obj.expanded, set: (obj, value) => { obj.expanded = value; } }, metadata: _metadata }, _expanded_initializers, _expanded_extraInitializers);
|
|
81
97
|
__esDecorate(this, null, _outputExpanded_decorators, { kind: "accessor", name: "outputExpanded", static: false, private: false, access: { has: obj => "outputExpanded" in obj, get: obj => obj.outputExpanded, set: (obj, value) => { obj.outputExpanded = value; } }, metadata: _metadata }, _outputExpanded_initializers, _outputExpanded_extraInitializers);
|
|
98
|
+
__esDecorate(this, null, _bodyCapPx_decorators, { kind: "accessor", name: "bodyCapPx", static: false, private: false, access: { has: obj => "bodyCapPx" in obj, get: obj => obj.bodyCapPx, set: (obj, value) => { obj.bodyCapPx = value; } }, metadata: _metadata }, _bodyCapPx_initializers, _bodyCapPx_extraInitializers);
|
|
99
|
+
__esDecorate(this, null, _bodyOverflowing_decorators, { kind: "accessor", name: "bodyOverflowing", static: false, private: false, access: { has: obj => "bodyOverflowing" in obj, get: obj => obj.bodyOverflowing, set: (obj, value) => { obj.bodyOverflowing = value; } }, metadata: _metadata }, _bodyOverflowing_initializers, _bodyOverflowing_extraInitializers);
|
|
100
|
+
__esDecorate(this, null, _maximized_decorators, { kind: "accessor", name: "maximized", static: false, private: false, access: { has: obj => "maximized" in obj, get: obj => obj.maximized, set: (obj, value) => { obj.maximized = value; } }, metadata: _metadata }, _maximized_initializers, _maximized_extraInitializers);
|
|
101
|
+
__esDecorate(this, null, _returnFlash_decorators, { kind: "accessor", name: "returnFlash", static: false, private: false, access: { has: obj => "returnFlash" in obj, get: obj => obj.returnFlash, set: (obj, value) => { obj.returnFlash = value; } }, metadata: _metadata }, _returnFlash_initializers, _returnFlash_extraInitializers);
|
|
82
102
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
83
103
|
DeesHarnessToolCard = _classThis = _classDescriptor.value;
|
|
84
104
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -97,6 +117,21 @@ let DeesHarnessToolCard = (() => {
|
|
|
97
117
|
#outputExpanded_accessor_storage = (__runInitializers(this, _expanded_extraInitializers), __runInitializers(this, _outputExpanded_initializers, false));
|
|
98
118
|
get outputExpanded() { return this.#outputExpanded_accessor_storage; }
|
|
99
119
|
set outputExpanded(value) { this.#outputExpanded_accessor_storage = value; }
|
|
120
|
+
#bodyCapPx_accessor_storage = (__runInitializers(this, _outputExpanded_extraInitializers), __runInitializers(this, _bodyCapPx_initializers, 360));
|
|
121
|
+
/** Body height cap; content beyond it clips and offers fullscreen. */
|
|
122
|
+
get bodyCapPx() { return this.#bodyCapPx_accessor_storage; }
|
|
123
|
+
set bodyCapPx(value) { this.#bodyCapPx_accessor_storage = value; }
|
|
124
|
+
#bodyOverflowing_accessor_storage = (__runInitializers(this, _bodyCapPx_extraInitializers), __runInitializers(this, _bodyOverflowing_initializers, false));
|
|
125
|
+
get bodyOverflowing() { return this.#bodyOverflowing_accessor_storage; }
|
|
126
|
+
set bodyOverflowing(value) { this.#bodyOverflowing_accessor_storage = value; }
|
|
127
|
+
#maximized_accessor_storage = (__runInitializers(this, _bodyOverflowing_extraInitializers), __runInitializers(this, _maximized_initializers, false));
|
|
128
|
+
get maximized() { return this.#maximized_accessor_storage; }
|
|
129
|
+
set maximized(value) { this.#maximized_accessor_storage = value; }
|
|
130
|
+
#returnFlash_accessor_storage = (__runInitializers(this, _maximized_extraInitializers), __runInitializers(this, _returnFlash_initializers, false));
|
|
131
|
+
get returnFlash() { return this.#returnFlash_accessor_storage; }
|
|
132
|
+
set returnFlash(value) { this.#returnFlash_accessor_storage = value; }
|
|
133
|
+
bodyResizeObserver = (__runInitializers(this, _returnFlash_extraInitializers), null);
|
|
134
|
+
observedBodyInner = null;
|
|
100
135
|
static styles = [
|
|
101
136
|
themeDefaultStyles,
|
|
102
137
|
cssManager.defaultStyles,
|
|
@@ -223,6 +258,135 @@ let DeesHarnessToolCard = (() => {
|
|
|
223
258
|
dees-dataview-codebox {
|
|
224
259
|
font-family: var(--dees-font-family);
|
|
225
260
|
}
|
|
261
|
+
|
|
262
|
+
/* Three body modes: collapsed (no body), normal (content fits the
|
|
263
|
+
cap), capped (content taller than the cap clips behind a fade and
|
|
264
|
+
offers fullscreen). */
|
|
265
|
+
.bodyClipFrame {
|
|
266
|
+
position: relative;
|
|
267
|
+
overflow: hidden;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.bodyClipFrame.capped::after {
|
|
271
|
+
content: '';
|
|
272
|
+
position: absolute;
|
|
273
|
+
left: 0;
|
|
274
|
+
right: 0;
|
|
275
|
+
bottom: 0;
|
|
276
|
+
height: 44px;
|
|
277
|
+
background: linear-gradient(to bottom, transparent, var(--dees-color-bg-primary));
|
|
278
|
+
pointer-events: none;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.maximizeBar {
|
|
282
|
+
display: flex;
|
|
283
|
+
align-items: center;
|
|
284
|
+
justify-content: center;
|
|
285
|
+
gap: var(--dees-spacing-xs);
|
|
286
|
+
width: 100%;
|
|
287
|
+
padding: var(--dees-spacing-xs) var(--dees-spacing-md);
|
|
288
|
+
border: 0;
|
|
289
|
+
border-top: 1px solid var(--dees-color-border-subtle);
|
|
290
|
+
background: transparent;
|
|
291
|
+
color: var(--dees-color-link);
|
|
292
|
+
cursor: pointer;
|
|
293
|
+
font-family: inherit;
|
|
294
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.maximizeBar:hover {
|
|
298
|
+
background: var(--dees-color-hover);
|
|
299
|
+
color: var(--dees-color-link-hover);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.fullscreenLayer {
|
|
303
|
+
position: fixed;
|
|
304
|
+
inset: 0;
|
|
305
|
+
z-index: 4000;
|
|
306
|
+
display: grid;
|
|
307
|
+
place-items: center;
|
|
308
|
+
padding: 4vh 3vw;
|
|
309
|
+
background: color-mix(in srgb, var(--dees-color-bg-primary) 55%, transparent);
|
|
310
|
+
backdrop-filter: blur(6px);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.fullscreenPanel {
|
|
314
|
+
display: flex;
|
|
315
|
+
flex-direction: column;
|
|
316
|
+
width: min(1200px, 100%);
|
|
317
|
+
height: 100%;
|
|
318
|
+
min-height: 0;
|
|
319
|
+
border: 1px solid var(--dees-color-border-default);
|
|
320
|
+
border-radius: var(--dees-radius-lg);
|
|
321
|
+
background: var(--dees-color-bg-primary);
|
|
322
|
+
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
|
|
323
|
+
overflow: hidden;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.fullscreenHeader {
|
|
327
|
+
display: flex;
|
|
328
|
+
flex: 0 0 auto;
|
|
329
|
+
align-items: center;
|
|
330
|
+
gap: var(--dees-spacing-sm);
|
|
331
|
+
padding: var(--dees-spacing-sm) var(--dees-spacing-md);
|
|
332
|
+
border-bottom: 1px solid var(--dees-color-border-subtle);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
.fullscreenTitle {
|
|
336
|
+
min-width: 0;
|
|
337
|
+
overflow: hidden;
|
|
338
|
+
text-overflow: ellipsis;
|
|
339
|
+
white-space: nowrap;
|
|
340
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
341
|
+
font-weight: 650;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.fullscreenClose {
|
|
345
|
+
display: grid;
|
|
346
|
+
place-items: center;
|
|
347
|
+
margin-left: auto;
|
|
348
|
+
padding: 6px;
|
|
349
|
+
border: 0;
|
|
350
|
+
border-radius: var(--dees-radius-md);
|
|
351
|
+
background: transparent;
|
|
352
|
+
color: var(--dees-color-text-secondary);
|
|
353
|
+
cursor: pointer;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.fullscreenClose:hover {
|
|
357
|
+
background: var(--dees-color-hover);
|
|
358
|
+
color: var(--dees-color-text-primary);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.fullscreenBody {
|
|
362
|
+
flex: 1;
|
|
363
|
+
min-height: 0;
|
|
364
|
+
overflow: auto;
|
|
365
|
+
padding: var(--dees-spacing-md);
|
|
366
|
+
scrollbar-width: thin;
|
|
367
|
+
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/* Locates the card after minimizing: a brief highlight pulse. */
|
|
371
|
+
.harness-card.returnFlash {
|
|
372
|
+
animation: harness-card-return-flash 1.4s var(--dees-ease-standard);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
@keyframes harness-card-return-flash {
|
|
376
|
+
0%, 55% {
|
|
377
|
+
box-shadow: 0 0 0 2px var(--dees-color-accent-primary);
|
|
378
|
+
}
|
|
379
|
+
100% {
|
|
380
|
+
box-shadow: 0 0 0 0 transparent;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
@media (prefers-reduced-motion: reduce) {
|
|
385
|
+
.harness-card.returnFlash {
|
|
386
|
+
animation: none;
|
|
387
|
+
box-shadow: 0 0 0 2px var(--dees-color-accent-primary);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
226
390
|
`,
|
|
227
391
|
];
|
|
228
392
|
get descriptor() {
|
|
@@ -253,7 +417,13 @@ let DeesHarnessToolCard = (() => {
|
|
|
253
417
|
const statusTone = call.isError ? 'error' : call.status === 'completed' ? 'success' : call.status;
|
|
254
418
|
const duration = harnessFormatDuration(call.startedAt, call.finishedAt);
|
|
255
419
|
return html `
|
|
256
|
-
<div class="harness-card status-${call.isError ? 'error' : call.status} ${descriptor.destructive ? 'destructive' : ''}"
|
|
420
|
+
<div class="harness-card status-${call.isError ? 'error' : call.status} ${descriptor.destructive ? 'destructive' : ''} ${this.returnFlash ? 'returnFlash' : ''}"
|
|
421
|
+
@animationend=${(event) => {
|
|
422
|
+
if (event.animationName === 'harness-card-return-flash') {
|
|
423
|
+
this.returnFlash = false;
|
|
424
|
+
}
|
|
425
|
+
}}
|
|
426
|
+
>
|
|
257
427
|
<button
|
|
258
428
|
class="header"
|
|
259
429
|
type="button"
|
|
@@ -277,10 +447,94 @@ let DeesHarnessToolCard = (() => {
|
|
|
277
447
|
</span>
|
|
278
448
|
</span>
|
|
279
449
|
</button>
|
|
280
|
-
${this.isOpen
|
|
450
|
+
${this.isOpen && !this.maximized
|
|
451
|
+
? html `
|
|
452
|
+
<div
|
|
453
|
+
class="bodyClipFrame ${this.bodyOverflowing ? 'capped' : ''}"
|
|
454
|
+
style=${`max-height: ${this.bodyCapPx}px;`}
|
|
455
|
+
>
|
|
456
|
+
<div class="body bodyInner">${this.renderBody(call)}</div>
|
|
457
|
+
</div>
|
|
458
|
+
${this.bodyOverflowing
|
|
459
|
+
? html `
|
|
460
|
+
<button class="maximizeBar" type="button" @click=${this.openFullscreen}>
|
|
461
|
+
<dees-icon icon="lucide:Maximize2" iconSize="12"></dees-icon>
|
|
462
|
+
Show everything
|
|
463
|
+
</button>
|
|
464
|
+
`
|
|
465
|
+
: ''}
|
|
466
|
+
`
|
|
467
|
+
: ''}
|
|
281
468
|
</div>
|
|
469
|
+
${this.maximized
|
|
470
|
+
? html `
|
|
471
|
+
<div class="fullscreenLayer" @click=${(event) => {
|
|
472
|
+
if (event.target === event.currentTarget)
|
|
473
|
+
this.closeFullscreen();
|
|
474
|
+
}}>
|
|
475
|
+
<div class="fullscreenPanel">
|
|
476
|
+
<header class="fullscreenHeader">
|
|
477
|
+
<dees-icon .icon=${descriptor.icon} iconSize="15"></dees-icon>
|
|
478
|
+
<span class="fullscreenTitle">${label}${subtitle ? ` · ${subtitle}` : ''}</span>
|
|
479
|
+
<button class="fullscreenClose" type="button" @click=${this.closeFullscreen}>
|
|
480
|
+
<dees-icon icon="lucide:Minimize2" iconSize="15"></dees-icon>
|
|
481
|
+
</button>
|
|
482
|
+
</header>
|
|
483
|
+
<div class="fullscreenBody">${this.renderBody(call)}</div>
|
|
484
|
+
</div>
|
|
485
|
+
</div>
|
|
486
|
+
`
|
|
487
|
+
: ''}
|
|
282
488
|
`;
|
|
283
489
|
}
|
|
490
|
+
openFullscreen = () => {
|
|
491
|
+
this.maximized = true;
|
|
492
|
+
window.addEventListener('keydown', this.handleFullscreenKeydown);
|
|
493
|
+
};
|
|
494
|
+
closeFullscreen = () => {
|
|
495
|
+
window.removeEventListener('keydown', this.handleFullscreenKeydown);
|
|
496
|
+
if (!this.maximized)
|
|
497
|
+
return;
|
|
498
|
+
this.maximized = false;
|
|
499
|
+
// The flash locates the card the user was just reading in fullscreen.
|
|
500
|
+
this.returnFlash = true;
|
|
501
|
+
requestAnimationFrame(() => {
|
|
502
|
+
this.scrollIntoView({ block: 'center', behavior: 'smooth' });
|
|
503
|
+
});
|
|
504
|
+
};
|
|
505
|
+
handleFullscreenKeydown = (event) => {
|
|
506
|
+
if (event.key === 'Escape') {
|
|
507
|
+
event.preventDefault();
|
|
508
|
+
this.closeFullscreen();
|
|
509
|
+
}
|
|
510
|
+
};
|
|
511
|
+
updated(changedProperties) {
|
|
512
|
+
super.updated(changedProperties);
|
|
513
|
+
const bodyInner = this.shadowRoot?.querySelector('.bodyInner') ?? null;
|
|
514
|
+
if (bodyInner === this.observedBodyInner)
|
|
515
|
+
return;
|
|
516
|
+
this.bodyResizeObserver?.disconnect();
|
|
517
|
+
this.observedBodyInner = bodyInner;
|
|
518
|
+
if (!bodyInner) {
|
|
519
|
+
this.bodyOverflowing = false;
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
this.bodyResizeObserver ??= new ResizeObserver(() => {
|
|
523
|
+
const inner = this.observedBodyInner;
|
|
524
|
+
if (!inner)
|
|
525
|
+
return;
|
|
526
|
+
// small slack so a few px never trigger the cap chrome
|
|
527
|
+
this.bodyOverflowing = inner.scrollHeight > this.bodyCapPx + 24;
|
|
528
|
+
});
|
|
529
|
+
this.bodyResizeObserver.observe(bodyInner);
|
|
530
|
+
}
|
|
531
|
+
async disconnectedCallback() {
|
|
532
|
+
window.removeEventListener('keydown', this.handleFullscreenKeydown);
|
|
533
|
+
this.bodyResizeObserver?.disconnect();
|
|
534
|
+
this.bodyResizeObserver = null;
|
|
535
|
+
this.observedBodyInner = null;
|
|
536
|
+
await super.disconnectedCallback();
|
|
537
|
+
}
|
|
284
538
|
renderMcpBadges(call) {
|
|
285
539
|
if (!call.mcp)
|
|
286
540
|
return html ``;
|
|
@@ -357,10 +611,6 @@ let DeesHarnessToolCard = (() => {
|
|
|
357
611
|
`,
|
|
358
612
|
};
|
|
359
613
|
}
|
|
360
|
-
constructor() {
|
|
361
|
-
super(...arguments);
|
|
362
|
-
__runInitializers(this, _outputExpanded_extraInitializers);
|
|
363
|
-
}
|
|
364
614
|
static {
|
|
365
615
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
366
616
|
}
|
|
@@ -368,4 +618,4 @@ let DeesHarnessToolCard = (() => {
|
|
|
368
618
|
return DeesHarnessToolCard = _classThis;
|
|
369
619
|
})();
|
|
370
620
|
export { DeesHarnessToolCard };
|
|
371
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC9kZWVzLWhhcm5lc3MtdG9vbC1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsWUFBWSxHQUdiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9FLE9BQU8sK0RBQStELENBQUM7QUFDdkUsT0FBTyx1RUFBdUUsQ0FBQztBQUMvRSxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sOENBQThDLENBQUM7QUFRdEQ7Ozs7O0dBS0c7SUFFVSxtQkFBbUI7NEJBRC9CLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7Ozs7O21DQUFuQixTQUFRLFdBQVc7Ozs7Z0NBSWpELFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt3Q0FHOUIsUUFBUSxDQUFD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
|
|
621
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC9kZWVzLWhhcm5lc3MtdG9vbC1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsWUFBWSxHQUdiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9FLE9BQU8sK0RBQStELENBQUM7QUFDdkUsT0FBTyx1RUFBdUUsQ0FBQztBQUMvRSxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sOENBQThDLENBQUM7QUFRdEQ7Ozs7O0dBS0c7SUFFVSxtQkFBbUI7NEJBRC9CLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21DQUFuQixTQUFRLFdBQVc7Ozs7Z0NBSWpELFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt3Q0FH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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '4.0
|
|
6
|
+
version: '4.1.0',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|
|
@@ -81,6 +81,13 @@ export class DeesHarnessMessage extends DeesElement {
|
|
|
81
81
|
boundary instead of widening the whole conversation; scrollable
|
|
82
82
|
payload blocks inside keep their own horizontal scrollbars. */
|
|
83
83
|
overflow-x: clip;
|
|
84
|
+
/* Virtualized rendering: cards outside the viewport skip style,
|
|
85
|
+
layout, and paint entirely and re-render when scrolled back —
|
|
86
|
+
state and DOM stay, so expansion and selection survive. The
|
|
87
|
+
'auto' keyword keeps the last rendered size as the placeholder,
|
|
88
|
+
holding the scrollbar steady. */
|
|
89
|
+
content-visibility: auto;
|
|
90
|
+
contain-intrinsic-size: auto 96px;
|
|
84
91
|
font-family: var(--dees-font-family);
|
|
85
92
|
/* entry: new boxes make space for themselves while fading in.
|
|
86
93
|
A keyframes animation (not a transition) so the parent tree's
|
|
@@ -54,6 +54,22 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
54
54
|
@state()
|
|
55
55
|
accessor outputExpanded: boolean = false;
|
|
56
56
|
|
|
57
|
+
/** Body height cap; content beyond it clips and offers fullscreen. */
|
|
58
|
+
@property({ type: Number })
|
|
59
|
+
accessor bodyCapPx: number = 360;
|
|
60
|
+
|
|
61
|
+
@state()
|
|
62
|
+
accessor bodyOverflowing: boolean = false;
|
|
63
|
+
|
|
64
|
+
@state()
|
|
65
|
+
accessor maximized: boolean = false;
|
|
66
|
+
|
|
67
|
+
@state()
|
|
68
|
+
accessor returnFlash: boolean = false;
|
|
69
|
+
|
|
70
|
+
private bodyResizeObserver: ResizeObserver | null = null;
|
|
71
|
+
private observedBodyInner: Element | null = null;
|
|
72
|
+
|
|
57
73
|
public static styles = [
|
|
58
74
|
themeDefaultStyles,
|
|
59
75
|
cssManager.defaultStyles,
|
|
@@ -180,6 +196,135 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
180
196
|
dees-dataview-codebox {
|
|
181
197
|
font-family: var(--dees-font-family);
|
|
182
198
|
}
|
|
199
|
+
|
|
200
|
+
/* Three body modes: collapsed (no body), normal (content fits the
|
|
201
|
+
cap), capped (content taller than the cap clips behind a fade and
|
|
202
|
+
offers fullscreen). */
|
|
203
|
+
.bodyClipFrame {
|
|
204
|
+
position: relative;
|
|
205
|
+
overflow: hidden;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.bodyClipFrame.capped::after {
|
|
209
|
+
content: '';
|
|
210
|
+
position: absolute;
|
|
211
|
+
left: 0;
|
|
212
|
+
right: 0;
|
|
213
|
+
bottom: 0;
|
|
214
|
+
height: 44px;
|
|
215
|
+
background: linear-gradient(to bottom, transparent, var(--dees-color-bg-primary));
|
|
216
|
+
pointer-events: none;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.maximizeBar {
|
|
220
|
+
display: flex;
|
|
221
|
+
align-items: center;
|
|
222
|
+
justify-content: center;
|
|
223
|
+
gap: var(--dees-spacing-xs);
|
|
224
|
+
width: 100%;
|
|
225
|
+
padding: var(--dees-spacing-xs) var(--dees-spacing-md);
|
|
226
|
+
border: 0;
|
|
227
|
+
border-top: 1px solid var(--dees-color-border-subtle);
|
|
228
|
+
background: transparent;
|
|
229
|
+
color: var(--dees-color-link);
|
|
230
|
+
cursor: pointer;
|
|
231
|
+
font-family: inherit;
|
|
232
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.maximizeBar:hover {
|
|
236
|
+
background: var(--dees-color-hover);
|
|
237
|
+
color: var(--dees-color-link-hover);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.fullscreenLayer {
|
|
241
|
+
position: fixed;
|
|
242
|
+
inset: 0;
|
|
243
|
+
z-index: 4000;
|
|
244
|
+
display: grid;
|
|
245
|
+
place-items: center;
|
|
246
|
+
padding: 4vh 3vw;
|
|
247
|
+
background: color-mix(in srgb, var(--dees-color-bg-primary) 55%, transparent);
|
|
248
|
+
backdrop-filter: blur(6px);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.fullscreenPanel {
|
|
252
|
+
display: flex;
|
|
253
|
+
flex-direction: column;
|
|
254
|
+
width: min(1200px, 100%);
|
|
255
|
+
height: 100%;
|
|
256
|
+
min-height: 0;
|
|
257
|
+
border: 1px solid var(--dees-color-border-default);
|
|
258
|
+
border-radius: var(--dees-radius-lg);
|
|
259
|
+
background: var(--dees-color-bg-primary);
|
|
260
|
+
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
|
|
261
|
+
overflow: hidden;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.fullscreenHeader {
|
|
265
|
+
display: flex;
|
|
266
|
+
flex: 0 0 auto;
|
|
267
|
+
align-items: center;
|
|
268
|
+
gap: var(--dees-spacing-sm);
|
|
269
|
+
padding: var(--dees-spacing-sm) var(--dees-spacing-md);
|
|
270
|
+
border-bottom: 1px solid var(--dees-color-border-subtle);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.fullscreenTitle {
|
|
274
|
+
min-width: 0;
|
|
275
|
+
overflow: hidden;
|
|
276
|
+
text-overflow: ellipsis;
|
|
277
|
+
white-space: nowrap;
|
|
278
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
279
|
+
font-weight: 650;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.fullscreenClose {
|
|
283
|
+
display: grid;
|
|
284
|
+
place-items: center;
|
|
285
|
+
margin-left: auto;
|
|
286
|
+
padding: 6px;
|
|
287
|
+
border: 0;
|
|
288
|
+
border-radius: var(--dees-radius-md);
|
|
289
|
+
background: transparent;
|
|
290
|
+
color: var(--dees-color-text-secondary);
|
|
291
|
+
cursor: pointer;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.fullscreenClose:hover {
|
|
295
|
+
background: var(--dees-color-hover);
|
|
296
|
+
color: var(--dees-color-text-primary);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.fullscreenBody {
|
|
300
|
+
flex: 1;
|
|
301
|
+
min-height: 0;
|
|
302
|
+
overflow: auto;
|
|
303
|
+
padding: var(--dees-spacing-md);
|
|
304
|
+
scrollbar-width: thin;
|
|
305
|
+
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/* Locates the card after minimizing: a brief highlight pulse. */
|
|
309
|
+
.harness-card.returnFlash {
|
|
310
|
+
animation: harness-card-return-flash 1.4s var(--dees-ease-standard);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
@keyframes harness-card-return-flash {
|
|
314
|
+
0%, 55% {
|
|
315
|
+
box-shadow: 0 0 0 2px var(--dees-color-accent-primary);
|
|
316
|
+
}
|
|
317
|
+
100% {
|
|
318
|
+
box-shadow: 0 0 0 0 transparent;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
@media (prefers-reduced-motion: reduce) {
|
|
323
|
+
.harness-card.returnFlash {
|
|
324
|
+
animation: none;
|
|
325
|
+
box-shadow: 0 0 0 2px var(--dees-color-accent-primary);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
183
328
|
`,
|
|
184
329
|
];
|
|
185
330
|
|
|
@@ -210,7 +355,13 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
210
355
|
const statusTone = call.isError ? 'error' : call.status === 'completed' ? 'success' : call.status;
|
|
211
356
|
const duration = harnessFormatDuration(call.startedAt, call.finishedAt);
|
|
212
357
|
return html`
|
|
213
|
-
<div class="harness-card status-${call.isError ? 'error' : call.status} ${descriptor.destructive ? 'destructive' : ''}"
|
|
358
|
+
<div class="harness-card status-${call.isError ? 'error' : call.status} ${descriptor.destructive ? 'destructive' : ''} ${this.returnFlash ? 'returnFlash' : ''}"
|
|
359
|
+
@animationend=${(event: AnimationEvent) => {
|
|
360
|
+
if (event.animationName === 'harness-card-return-flash') {
|
|
361
|
+
this.returnFlash = false;
|
|
362
|
+
}
|
|
363
|
+
}}
|
|
364
|
+
>
|
|
214
365
|
<button
|
|
215
366
|
class="header"
|
|
216
367
|
type="button"
|
|
@@ -234,11 +385,96 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
234
385
|
</span>
|
|
235
386
|
</span>
|
|
236
387
|
</button>
|
|
237
|
-
${this.isOpen
|
|
388
|
+
${this.isOpen && !this.maximized
|
|
389
|
+
? html`
|
|
390
|
+
<div
|
|
391
|
+
class="bodyClipFrame ${this.bodyOverflowing ? 'capped' : ''}"
|
|
392
|
+
style=${`max-height: ${this.bodyCapPx}px;`}
|
|
393
|
+
>
|
|
394
|
+
<div class="body bodyInner">${this.renderBody(call)}</div>
|
|
395
|
+
</div>
|
|
396
|
+
${this.bodyOverflowing
|
|
397
|
+
? html`
|
|
398
|
+
<button class="maximizeBar" type="button" @click=${this.openFullscreen}>
|
|
399
|
+
<dees-icon icon="lucide:Maximize2" iconSize="12"></dees-icon>
|
|
400
|
+
Show everything
|
|
401
|
+
</button>
|
|
402
|
+
`
|
|
403
|
+
: ''}
|
|
404
|
+
`
|
|
405
|
+
: ''}
|
|
238
406
|
</div>
|
|
407
|
+
${this.maximized
|
|
408
|
+
? html`
|
|
409
|
+
<div class="fullscreenLayer" @click=${(event: Event) => {
|
|
410
|
+
if (event.target === event.currentTarget) this.closeFullscreen();
|
|
411
|
+
}}>
|
|
412
|
+
<div class="fullscreenPanel">
|
|
413
|
+
<header class="fullscreenHeader">
|
|
414
|
+
<dees-icon .icon=${descriptor.icon} iconSize="15"></dees-icon>
|
|
415
|
+
<span class="fullscreenTitle">${label}${subtitle ? ` · ${subtitle}` : ''}</span>
|
|
416
|
+
<button class="fullscreenClose" type="button" @click=${this.closeFullscreen}>
|
|
417
|
+
<dees-icon icon="lucide:Minimize2" iconSize="15"></dees-icon>
|
|
418
|
+
</button>
|
|
419
|
+
</header>
|
|
420
|
+
<div class="fullscreenBody">${this.renderBody(call)}</div>
|
|
421
|
+
</div>
|
|
422
|
+
</div>
|
|
423
|
+
`
|
|
424
|
+
: ''}
|
|
239
425
|
`;
|
|
240
426
|
}
|
|
241
427
|
|
|
428
|
+
private readonly openFullscreen = (): void => {
|
|
429
|
+
this.maximized = true;
|
|
430
|
+
window.addEventListener('keydown', this.handleFullscreenKeydown);
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
private readonly closeFullscreen = (): void => {
|
|
434
|
+
window.removeEventListener('keydown', this.handleFullscreenKeydown);
|
|
435
|
+
if (!this.maximized) return;
|
|
436
|
+
this.maximized = false;
|
|
437
|
+
// The flash locates the card the user was just reading in fullscreen.
|
|
438
|
+
this.returnFlash = true;
|
|
439
|
+
requestAnimationFrame(() => {
|
|
440
|
+
this.scrollIntoView({ block: 'center', behavior: 'smooth' });
|
|
441
|
+
});
|
|
442
|
+
};
|
|
443
|
+
|
|
444
|
+
private readonly handleFullscreenKeydown = (event: KeyboardEvent): void => {
|
|
445
|
+
if (event.key === 'Escape') {
|
|
446
|
+
event.preventDefault();
|
|
447
|
+
this.closeFullscreen();
|
|
448
|
+
}
|
|
449
|
+
};
|
|
450
|
+
|
|
451
|
+
public updated(changedProperties: Map<PropertyKey, unknown>): void {
|
|
452
|
+
super.updated(changedProperties);
|
|
453
|
+
const bodyInner = this.shadowRoot?.querySelector('.bodyInner') ?? null;
|
|
454
|
+
if (bodyInner === this.observedBodyInner) return;
|
|
455
|
+
this.bodyResizeObserver?.disconnect();
|
|
456
|
+
this.observedBodyInner = bodyInner;
|
|
457
|
+
if (!bodyInner) {
|
|
458
|
+
this.bodyOverflowing = false;
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
this.bodyResizeObserver ??= new ResizeObserver(() => {
|
|
462
|
+
const inner = this.observedBodyInner;
|
|
463
|
+
if (!inner) return;
|
|
464
|
+
// small slack so a few px never trigger the cap chrome
|
|
465
|
+
this.bodyOverflowing = inner.scrollHeight > this.bodyCapPx + 24;
|
|
466
|
+
});
|
|
467
|
+
this.bodyResizeObserver.observe(bodyInner);
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
public async disconnectedCallback(): Promise<void> {
|
|
471
|
+
window.removeEventListener('keydown', this.handleFullscreenKeydown);
|
|
472
|
+
this.bodyResizeObserver?.disconnect();
|
|
473
|
+
this.bodyResizeObserver = null;
|
|
474
|
+
this.observedBodyInner = null;
|
|
475
|
+
await super.disconnectedCallback();
|
|
476
|
+
}
|
|
477
|
+
|
|
242
478
|
private renderMcpBadges(call: IHarnessToolCall): TemplateResult {
|
|
243
479
|
if (!call.mcp) return html``;
|
|
244
480
|
const annotations = call.mcp.annotations;
|