@design.estate/dees-catalog 3.49.2 → 3.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +310 -11
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.d.ts +25 -0
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.js +39 -1
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +284 -6
- package/dist_ts_web/elements/00group-workspace/dees-workspace-terminal/dees-workspace-terminal.d.ts +1 -1
- package/dist_ts_web/elements/00group-workspace/dees-workspace-terminal/dees-workspace-terminal.js +4 -4
- package/dist_watch/bundle.js +308 -9
- package/dist_watch/bundle.js.map +3 -3
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.ts +39 -1
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +296 -3
- package/ts_web/elements/00group-workspace/dees-workspace-terminal/dees-workspace-terminal.ts +4 -4
package/dist_bundle/bundle.js
CHANGED
|
@@ -111535,11 +111535,11 @@ var init_dees_workspace_terminal = __esm({
|
|
|
111535
111535
|
i`
|
|
111536
111536
|
:host {
|
|
111537
111537
|
background: ${cssManager.bdTheme("#ffffff", "#000000")};
|
|
111538
|
-
position: absolute;
|
|
111539
|
-
height: 100%;
|
|
111540
|
-
width: 100%;
|
|
111541
111538
|
display: flex;
|
|
111542
111539
|
flex-direction: row;
|
|
111540
|
+
box-sizing: border-box;
|
|
111541
|
+
height: 100%;
|
|
111542
|
+
width: 100%;
|
|
111543
111543
|
}
|
|
111544
111544
|
|
|
111545
111545
|
* {
|
|
@@ -168333,6 +168333,44 @@ var demoFunc52 = /* @__PURE__ */ __name(() => b2`
|
|
|
168333
168333
|
<dees-simple-appdash
|
|
168334
168334
|
name="My Application"
|
|
168335
168335
|
terminalSetupCommand="echo 'Welcome to the terminal!'"
|
|
168336
|
+
.globalMessages=${[
|
|
168337
|
+
{
|
|
168338
|
+
id: "update",
|
|
168339
|
+
type: "info",
|
|
168340
|
+
message: "A new version (v3.50.0) is available with performance improvements and bug fixes.",
|
|
168341
|
+
dismissible: true,
|
|
168342
|
+
actions: [
|
|
168343
|
+
{
|
|
168344
|
+
name: "Update Now",
|
|
168345
|
+
iconName: "lucide:download",
|
|
168346
|
+
action: /* @__PURE__ */ __name(() => alert("Updating..."), "action")
|
|
168347
|
+
},
|
|
168348
|
+
{
|
|
168349
|
+
name: "Release Notes",
|
|
168350
|
+
action: /* @__PURE__ */ __name(() => alert("Opening release notes..."), "action")
|
|
168351
|
+
}
|
|
168352
|
+
]
|
|
168353
|
+
},
|
|
168354
|
+
{
|
|
168355
|
+
id: "maintenance",
|
|
168356
|
+
type: "warning",
|
|
168357
|
+
message: "Scheduled maintenance window: April 5, 2026 02:00\u201306:00 UTC. Some services may be temporarily unavailable.",
|
|
168358
|
+
dismissible: true
|
|
168359
|
+
},
|
|
168360
|
+
{
|
|
168361
|
+
id: "critical",
|
|
168362
|
+
type: "error",
|
|
168363
|
+
message: "Your SSL certificate expires in 3 days. Renew now to avoid service disruption.",
|
|
168364
|
+
dismissible: false,
|
|
168365
|
+
actions: [
|
|
168366
|
+
{
|
|
168367
|
+
name: "Renew Certificate",
|
|
168368
|
+
iconName: "lucide:shieldCheck",
|
|
168369
|
+
action: /* @__PURE__ */ __name(() => alert("Renewing certificate..."), "action")
|
|
168370
|
+
}
|
|
168371
|
+
]
|
|
168372
|
+
}
|
|
168373
|
+
]}
|
|
168336
168374
|
.viewTabs=${[
|
|
168337
168375
|
{
|
|
168338
168376
|
name: "Dashboard",
|
|
@@ -168365,15 +168403,17 @@ var demoFunc52 = /* @__PURE__ */ __name(() => b2`
|
|
|
168365
168403
|
init_dist_ts30();
|
|
168366
168404
|
init_dees_icon();
|
|
168367
168405
|
init_theme();
|
|
168368
|
-
var _selectedView_dec, _terminalSetupCommand_dec, _viewTabs_dec, _name_dec2, _a89, _DeesSimpleAppDash_decorators, _init92, _name2, _viewTabs, _terminalSetupCommand, _selectedView;
|
|
168406
|
+
var __activeMessages_dec, _selectedView_dec, _globalMessages_dec, _terminalSetupCommand_dec, _viewTabs_dec, _name_dec2, _a89, _DeesSimpleAppDash_decorators, _init92, _name2, _viewTabs, _terminalSetupCommand, _globalMessages, _selectedView, __activeMessages;
|
|
168369
168407
|
_DeesSimpleAppDash_decorators = [customElement("dees-simple-appdash")];
|
|
168370
|
-
var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _name_dec2 = [n5()], _viewTabs_dec = [n5({ type: Array })], _terminalSetupCommand_dec = [n5({ type: String })], _selectedView_dec = [r5()], _a89) {
|
|
168408
|
+
var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _name_dec2 = [n5()], _viewTabs_dec = [n5({ type: Array })], _terminalSetupCommand_dec = [n5({ type: String })], _globalMessages_dec = [n5({ type: Array })], _selectedView_dec = [r5()], __activeMessages_dec = [r5()], _a89) {
|
|
168371
168409
|
constructor() {
|
|
168372
168410
|
super(...arguments);
|
|
168373
168411
|
__privateAdd(this, _name2, __runInitializers(_init92, 8, this, "Application Dashboard")), __runInitializers(_init92, 11, this);
|
|
168374
168412
|
__privateAdd(this, _viewTabs, __runInitializers(_init92, 12, this, [])), __runInitializers(_init92, 15, this);
|
|
168375
168413
|
__privateAdd(this, _terminalSetupCommand, __runInitializers(_init92, 16, this, `echo "Terminal ready"`)), __runInitializers(_init92, 19, this);
|
|
168376
|
-
__privateAdd(this,
|
|
168414
|
+
__privateAdd(this, _globalMessages, __runInitializers(_init92, 20, this, [])), __runInitializers(_init92, 23, this);
|
|
168415
|
+
__privateAdd(this, _selectedView, __runInitializers(_init92, 24, this)), __runInitializers(_init92, 27, this);
|
|
168416
|
+
__privateAdd(this, __activeMessages, __runInitializers(_init92, 28, this, [])), __runInitializers(_init92, 31, this);
|
|
168377
168417
|
__publicField(this, "currentTerminal", null);
|
|
168378
168418
|
__publicField(this, "currentView");
|
|
168379
168419
|
}
|
|
@@ -168416,6 +168456,34 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
|
|
|
168416
168456
|
</div>
|
|
168417
168457
|
</div>
|
|
168418
168458
|
</div>
|
|
168459
|
+
${this._activeMessages.length > 0 ? b2`
|
|
168460
|
+
<div class="messageBannerArea">
|
|
168461
|
+
${this._activeMessages.map((msg) => b2`
|
|
168462
|
+
<div
|
|
168463
|
+
class="messageBanner messageBanner-${msg.type}"
|
|
168464
|
+
data-message-id="${msg.id}"
|
|
168465
|
+
>
|
|
168466
|
+
<dees-icon .icon="${this.getMessageIcon(msg)}"></dees-icon>
|
|
168467
|
+
<span class="messageBanner-text">${msg.message}</span>
|
|
168468
|
+
${msg.actions?.length ? b2`
|
|
168469
|
+
<div class="messageBanner-actions">
|
|
168470
|
+
${msg.actions.map((a5) => b2`
|
|
168471
|
+
<div class="messageBanner-action" @click=${() => a5.action()}>
|
|
168472
|
+
${a5.iconName ? b2`<dees-icon .icon="${a5.iconName.includes(":") ? a5.iconName : `lucide:${a5.iconName}`}"></dees-icon>` : ""}
|
|
168473
|
+
<span>${a5.name}</span>
|
|
168474
|
+
</div>
|
|
168475
|
+
`)}
|
|
168476
|
+
</div>
|
|
168477
|
+
` : ""}
|
|
168478
|
+
${msg.dismissible !== false ? b2`
|
|
168479
|
+
<div class="messageBanner-dismiss" @click=${() => this.removeMessage(msg.id)}>
|
|
168480
|
+
<dees-icon .icon="${"lucide:x"}"></dees-icon>
|
|
168481
|
+
</div>
|
|
168482
|
+
` : ""}
|
|
168483
|
+
</div>
|
|
168484
|
+
`)}
|
|
168485
|
+
</div>
|
|
168486
|
+
` : ""}
|
|
168419
168487
|
<div class="appcontent">
|
|
168420
168488
|
<!-- Content goes here -->
|
|
168421
168489
|
</div>
|
|
@@ -168440,6 +168508,71 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
|
|
|
168440
168508
|
await this.loadView(viewToLoad);
|
|
168441
168509
|
}
|
|
168442
168510
|
}
|
|
168511
|
+
willUpdate(changedProperties) {
|
|
168512
|
+
if (changedProperties.has("globalMessages")) {
|
|
168513
|
+
const propertyIds = new Set(this.globalMessages.map((m6) => m6.id));
|
|
168514
|
+
const existingIds = new Set(this._activeMessages.map((m6) => m6.id));
|
|
168515
|
+
const newMessages = this.globalMessages.filter((m6) => !existingIds.has(m6.id));
|
|
168516
|
+
const previousGlobalMessages = changedProperties.get("globalMessages") || [];
|
|
168517
|
+
const previousIds = new Set(previousGlobalMessages.map((m6) => m6.id));
|
|
168518
|
+
const removedIds = new Set([...previousIds].filter((id) => !propertyIds.has(id)));
|
|
168519
|
+
this._activeMessages = [
|
|
168520
|
+
...this._activeMessages.filter((m6) => !removedIds.has(m6.id)),
|
|
168521
|
+
...newMessages
|
|
168522
|
+
];
|
|
168523
|
+
}
|
|
168524
|
+
}
|
|
168525
|
+
updated(changedProperties) {
|
|
168526
|
+
super.updated(changedProperties);
|
|
168527
|
+
this.updateBannerOffset();
|
|
168528
|
+
}
|
|
168529
|
+
updateBannerOffset() {
|
|
168530
|
+
requestAnimationFrame(() => {
|
|
168531
|
+
const bannerArea = this.shadowRoot?.querySelector(".messageBannerArea");
|
|
168532
|
+
const maincontainer = this.shadowRoot?.querySelector(".maincontainer");
|
|
168533
|
+
const height = bannerArea ? bannerArea.offsetHeight : 0;
|
|
168534
|
+
maincontainer?.style.setProperty("--banner-area-height", `${height}px`);
|
|
168535
|
+
});
|
|
168536
|
+
}
|
|
168537
|
+
getMessageIcon(msg) {
|
|
168538
|
+
if (msg.icon) return msg.icon;
|
|
168539
|
+
const defaults = {
|
|
168540
|
+
info: "lucide:info",
|
|
168541
|
+
success: "lucide:circleCheck",
|
|
168542
|
+
warning: "lucide:triangleAlert",
|
|
168543
|
+
error: "lucide:circleX"
|
|
168544
|
+
};
|
|
168545
|
+
return defaults[msg.type];
|
|
168546
|
+
}
|
|
168547
|
+
addMessage(message2) {
|
|
168548
|
+
const id = message2.id || `msg-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
168549
|
+
const fullMessage = {
|
|
168550
|
+
dismissible: true,
|
|
168551
|
+
...message2,
|
|
168552
|
+
id
|
|
168553
|
+
};
|
|
168554
|
+
this._activeMessages = [...this._activeMessages, fullMessage];
|
|
168555
|
+
return id;
|
|
168556
|
+
}
|
|
168557
|
+
removeMessage(id) {
|
|
168558
|
+
const bannerEl = this.shadowRoot?.querySelector(`[data-message-id="${id}"]`);
|
|
168559
|
+
if (bannerEl) {
|
|
168560
|
+
bannerEl.classList.add("dismissing");
|
|
168561
|
+
bannerEl.addEventListener("animationend", () => {
|
|
168562
|
+
this._activeMessages = this._activeMessages.filter((m6) => m6.id !== id);
|
|
168563
|
+
this.dispatchEvent(new CustomEvent("message-dismiss", {
|
|
168564
|
+
detail: { id },
|
|
168565
|
+
bubbles: true,
|
|
168566
|
+
composed: true
|
|
168567
|
+
}));
|
|
168568
|
+
}, { once: true });
|
|
168569
|
+
} else {
|
|
168570
|
+
this._activeMessages = this._activeMessages.filter((m6) => m6.id !== id);
|
|
168571
|
+
}
|
|
168572
|
+
}
|
|
168573
|
+
clearMessages() {
|
|
168574
|
+
this._activeMessages = [];
|
|
168575
|
+
}
|
|
168443
168576
|
async launchTerminal() {
|
|
168444
168577
|
const domtools20 = await this.domtoolsPromise;
|
|
168445
168578
|
if (this.currentTerminal) {
|
|
@@ -168454,7 +168587,7 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
|
|
|
168454
168587
|
maincontainer.appendChild(terminal);
|
|
168455
168588
|
terminal.style.position = "absolute";
|
|
168456
168589
|
terminal.style.zIndex = "10";
|
|
168457
|
-
terminal.style.top = "0px";
|
|
168590
|
+
terminal.style.top = "var(--banner-area-height, 0px)";
|
|
168458
168591
|
terminal.style.left = "240px";
|
|
168459
168592
|
terminal.style.right = "0px";
|
|
168460
168593
|
terminal.style.bottom = "24px";
|
|
@@ -168462,8 +168595,6 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
|
|
|
168462
168595
|
terminal.style.transform = "translateY(8px) scale(0.99)";
|
|
168463
168596
|
terminal.style.transition = "all 0.25s cubic-bezier(0.4, 0, 0.2, 1)";
|
|
168464
168597
|
terminal.style.boxShadow = "0 25px 50px -12px rgb(0 0 0 / 0.5), 0 0 0 1px rgb(255 255 255 / 0.05)";
|
|
168465
|
-
terminal.style.maxWidth = `calc(${maincontainer.clientWidth}px -240px)`;
|
|
168466
|
-
terminal.style.maxHeight = `calc(${maincontainer.clientHeight}px - 24px)`;
|
|
168467
168598
|
terminal.addEventListener("close", () => this.closeTerminal());
|
|
168468
168599
|
await domtools20.convenience.smartdelay.delayFor(0);
|
|
168469
168600
|
terminal.style.opacity = "1";
|
|
@@ -168500,11 +168631,15 @@ _init92 = __decoratorStart(_a89);
|
|
|
168500
168631
|
_name2 = new WeakMap();
|
|
168501
168632
|
_viewTabs = new WeakMap();
|
|
168502
168633
|
_terminalSetupCommand = new WeakMap();
|
|
168634
|
+
_globalMessages = new WeakMap();
|
|
168503
168635
|
_selectedView = new WeakMap();
|
|
168636
|
+
__activeMessages = new WeakMap();
|
|
168504
168637
|
__decorateElement(_init92, 4, "name", _name_dec2, _DeesSimpleAppDash, _name2);
|
|
168505
168638
|
__decorateElement(_init92, 4, "viewTabs", _viewTabs_dec, _DeesSimpleAppDash, _viewTabs);
|
|
168506
168639
|
__decorateElement(_init92, 4, "terminalSetupCommand", _terminalSetupCommand_dec, _DeesSimpleAppDash, _terminalSetupCommand);
|
|
168640
|
+
__decorateElement(_init92, 4, "globalMessages", _globalMessages_dec, _DeesSimpleAppDash, _globalMessages);
|
|
168507
168641
|
__decorateElement(_init92, 4, "selectedView", _selectedView_dec, _DeesSimpleAppDash, _selectedView);
|
|
168642
|
+
__decorateElement(_init92, 4, "_activeMessages", __activeMessages_dec, _DeesSimpleAppDash, __activeMessages);
|
|
168508
168643
|
_DeesSimpleAppDash = __decorateElement(_init92, 0, "DeesSimpleAppDash", _DeesSimpleAppDash_decorators, _DeesSimpleAppDash);
|
|
168509
168644
|
__name(_DeesSimpleAppDash, "DeesSimpleAppDash");
|
|
168510
168645
|
// STATIC
|
|
@@ -168788,6 +168923,170 @@ __publicField(_DeesSimpleAppDash, "styles", [
|
|
|
168788
168923
|
.control.status-terminal dees-icon {
|
|
168789
168924
|
color: hsl(45 90% 55%);
|
|
168790
168925
|
}
|
|
168926
|
+
|
|
168927
|
+
/* Global Message Banners */
|
|
168928
|
+
.messageBannerArea {
|
|
168929
|
+
position: absolute;
|
|
168930
|
+
top: 0;
|
|
168931
|
+
left: 240px;
|
|
168932
|
+
right: 0;
|
|
168933
|
+
z-index: 3;
|
|
168934
|
+
display: flex;
|
|
168935
|
+
flex-direction: column;
|
|
168936
|
+
transition: height 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
168937
|
+
}
|
|
168938
|
+
|
|
168939
|
+
.messageBanner {
|
|
168940
|
+
display: flex;
|
|
168941
|
+
align-items: center;
|
|
168942
|
+
gap: 12px;
|
|
168943
|
+
padding: 10px 16px;
|
|
168944
|
+
font-size: 13px;
|
|
168945
|
+
font-family: 'Geist Sans', sans-serif;
|
|
168946
|
+
font-weight: 500;
|
|
168947
|
+
border-bottom: 1px solid ${cssManager.bdTheme("hsl(0 0% 91%)", "hsl(0 0% 13%)")};
|
|
168948
|
+
animation: bannerSlideDown 0.25s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
168949
|
+
}
|
|
168950
|
+
|
|
168951
|
+
.messageBanner.dismissing {
|
|
168952
|
+
animation: bannerSlideUp 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
168953
|
+
}
|
|
168954
|
+
|
|
168955
|
+
@keyframes bannerSlideDown {
|
|
168956
|
+
from {
|
|
168957
|
+
opacity: 0;
|
|
168958
|
+
transform: translateY(-100%);
|
|
168959
|
+
}
|
|
168960
|
+
to {
|
|
168961
|
+
opacity: 1;
|
|
168962
|
+
transform: translateY(0);
|
|
168963
|
+
}
|
|
168964
|
+
}
|
|
168965
|
+
|
|
168966
|
+
@keyframes bannerSlideUp {
|
|
168967
|
+
from {
|
|
168968
|
+
opacity: 1;
|
|
168969
|
+
transform: translateY(0);
|
|
168970
|
+
}
|
|
168971
|
+
to {
|
|
168972
|
+
opacity: 0;
|
|
168973
|
+
transform: translateY(-100%);
|
|
168974
|
+
}
|
|
168975
|
+
}
|
|
168976
|
+
|
|
168977
|
+
.messageBanner dees-icon {
|
|
168978
|
+
font-size: 16px;
|
|
168979
|
+
flex-shrink: 0;
|
|
168980
|
+
}
|
|
168981
|
+
|
|
168982
|
+
.messageBanner-text {
|
|
168983
|
+
flex: 1;
|
|
168984
|
+
overflow: hidden;
|
|
168985
|
+
text-overflow: ellipsis;
|
|
168986
|
+
white-space: nowrap;
|
|
168987
|
+
}
|
|
168988
|
+
|
|
168989
|
+
.messageBanner-actions {
|
|
168990
|
+
display: flex;
|
|
168991
|
+
align-items: center;
|
|
168992
|
+
gap: 6px;
|
|
168993
|
+
flex-shrink: 0;
|
|
168994
|
+
}
|
|
168995
|
+
|
|
168996
|
+
.messageBanner-action {
|
|
168997
|
+
display: flex;
|
|
168998
|
+
align-items: center;
|
|
168999
|
+
gap: 6px;
|
|
169000
|
+
padding: 4px 12px;
|
|
169001
|
+
border-radius: 4px;
|
|
169002
|
+
cursor: default;
|
|
169003
|
+
font-size: 12px;
|
|
169004
|
+
font-weight: 600;
|
|
169005
|
+
letter-spacing: 0.01em;
|
|
169006
|
+
transition: all 0.15s ease;
|
|
169007
|
+
white-space: nowrap;
|
|
169008
|
+
background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.08)", "hsl(0 0% 100% / 0.1)")};
|
|
169009
|
+
color: inherit;
|
|
169010
|
+
}
|
|
169011
|
+
|
|
169012
|
+
.messageBanner-action:hover {
|
|
169013
|
+
background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.15)", "hsl(0 0% 100% / 0.18)")};
|
|
169014
|
+
}
|
|
169015
|
+
|
|
169016
|
+
.messageBanner-action:active {
|
|
169017
|
+
transform: scale(0.97);
|
|
169018
|
+
}
|
|
169019
|
+
|
|
169020
|
+
.messageBanner-action dees-icon {
|
|
169021
|
+
font-size: 13px;
|
|
169022
|
+
}
|
|
169023
|
+
|
|
169024
|
+
.messageBanner-dismiss {
|
|
169025
|
+
flex-shrink: 0;
|
|
169026
|
+
display: flex;
|
|
169027
|
+
align-items: center;
|
|
169028
|
+
justify-content: center;
|
|
169029
|
+
width: 24px;
|
|
169030
|
+
height: 24px;
|
|
169031
|
+
border-radius: 4px;
|
|
169032
|
+
cursor: default;
|
|
169033
|
+
opacity: 0.5;
|
|
169034
|
+
transition: all 0.15s ease;
|
|
169035
|
+
}
|
|
169036
|
+
|
|
169037
|
+
.messageBanner-dismiss:hover {
|
|
169038
|
+
opacity: 1;
|
|
169039
|
+
background: hsl(0 0% 0% / 0.1);
|
|
169040
|
+
}
|
|
169041
|
+
|
|
169042
|
+
/* Message type: info */
|
|
169043
|
+
.messageBanner-info {
|
|
169044
|
+
background: ${cssManager.bdTheme("hsl(210 100% 97%)", "hsl(210 50% 10%)")};
|
|
169045
|
+
color: ${cssManager.bdTheme("hsl(210 70% 30%)", "hsl(210 70% 80%)")};
|
|
169046
|
+
border-left: 3px solid #0084ff;
|
|
169047
|
+
}
|
|
169048
|
+
.messageBanner-info dees-icon {
|
|
169049
|
+
color: #0084ff;
|
|
169050
|
+
}
|
|
169051
|
+
|
|
169052
|
+
/* Message type: success */
|
|
169053
|
+
.messageBanner-success {
|
|
169054
|
+
background: ${cssManager.bdTheme("hsl(142 70% 97%)", "hsl(142 30% 10%)")};
|
|
169055
|
+
color: ${cssManager.bdTheme("hsl(142 50% 25%)", "hsl(142 50% 80%)")};
|
|
169056
|
+
border-left: 3px solid #22c55e;
|
|
169057
|
+
}
|
|
169058
|
+
.messageBanner-success dees-icon {
|
|
169059
|
+
color: #22c55e;
|
|
169060
|
+
}
|
|
169061
|
+
|
|
169062
|
+
/* Message type: warning */
|
|
169063
|
+
.messageBanner-warning {
|
|
169064
|
+
background: ${cssManager.bdTheme("hsl(38 90% 97%)", "hsl(38 40% 10%)")};
|
|
169065
|
+
color: ${cssManager.bdTheme("hsl(38 60% 25%)", "hsl(38 60% 80%)")};
|
|
169066
|
+
border-left: 3px solid #f59e0b;
|
|
169067
|
+
}
|
|
169068
|
+
.messageBanner-warning dees-icon {
|
|
169069
|
+
color: #f59e0b;
|
|
169070
|
+
}
|
|
169071
|
+
|
|
169072
|
+
/* Message type: error */
|
|
169073
|
+
.messageBanner-error {
|
|
169074
|
+
background: ${cssManager.bdTheme("hsl(0 70% 97%)", "hsl(0 40% 10%)")};
|
|
169075
|
+
color: ${cssManager.bdTheme("hsl(0 60% 30%)", "hsl(0 60% 80%)")};
|
|
169076
|
+
border-left: 3px solid #ef4444;
|
|
169077
|
+
}
|
|
169078
|
+
.messageBanner-error dees-icon {
|
|
169079
|
+
color: #ef4444;
|
|
169080
|
+
}
|
|
169081
|
+
|
|
169082
|
+
.messageBanner-dismiss:hover {
|
|
169083
|
+
background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.08)", "hsl(0 0% 100% / 0.1)")};
|
|
169084
|
+
}
|
|
169085
|
+
|
|
169086
|
+
.appcontent {
|
|
169087
|
+
top: var(--banner-area-height, 0px);
|
|
169088
|
+
height: calc(100% - 24px - var(--banner-area-height, 0px));
|
|
169089
|
+
}
|
|
168791
169090
|
`
|
|
168792
169091
|
]);
|
|
168793
169092
|
__runInitializers(_init92, 1, _DeesSimpleAppDash);
|
|
@@ -174423,7 +174722,7 @@ init_group_runtime();
|
|
|
174423
174722
|
// ts_web/00_commitinfo_data.ts
|
|
174424
174723
|
var commitinfo = {
|
|
174425
174724
|
name: "@design.estate/dees-catalog",
|
|
174426
|
-
version: "3.
|
|
174725
|
+
version: "3.50.1",
|
|
174427
174726
|
description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
|
|
174428
174727
|
};
|
|
174429
174728
|
export {
|
|
@@ -176389,4 +176688,4 @@ ibantools/jsnext/ibantools.js:
|
|
|
176389
176688
|
* @preferred
|
|
176390
176689
|
*)
|
|
176391
176690
|
*/
|
|
176392
|
-
//# sourceMappingURL=bundle-
|
|
176691
|
+
//# sourceMappingURL=bundle-1775157226225.js.map
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '3.
|
|
6
|
+
version: '3.50.1',
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
|
|
@@ -11,16 +11,41 @@ export interface IView {
|
|
|
11
11
|
iconName?: string;
|
|
12
12
|
element: DeesElement['constructor']['prototype'];
|
|
13
13
|
}
|
|
14
|
+
export type TGlobalMessageType = 'info' | 'success' | 'warning' | 'error';
|
|
15
|
+
export interface IGlobalMessageAction {
|
|
16
|
+
name: string;
|
|
17
|
+
iconName?: string;
|
|
18
|
+
action: () => void | Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface IGlobalMessage {
|
|
21
|
+
id: string;
|
|
22
|
+
type: TGlobalMessageType;
|
|
23
|
+
message: string;
|
|
24
|
+
dismissible?: boolean;
|
|
25
|
+
icon?: string;
|
|
26
|
+
actions?: IGlobalMessageAction[];
|
|
27
|
+
}
|
|
14
28
|
export declare class DeesSimpleAppDash extends DeesElement {
|
|
15
29
|
static demo: () => TemplateResult<1>;
|
|
16
30
|
static demoGroups: string[];
|
|
17
31
|
accessor name: string;
|
|
18
32
|
accessor viewTabs: IView[];
|
|
19
33
|
accessor terminalSetupCommand: string;
|
|
34
|
+
accessor globalMessages: IGlobalMessage[];
|
|
20
35
|
accessor selectedView: IView;
|
|
36
|
+
accessor _activeMessages: IGlobalMessage[];
|
|
21
37
|
static styles: CSSResult[];
|
|
22
38
|
render(): TemplateResult;
|
|
23
39
|
firstUpdated(_changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
|
|
40
|
+
willUpdate(changedProperties: Map<string, unknown>): void;
|
|
41
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
42
|
+
private updateBannerOffset;
|
|
43
|
+
private getMessageIcon;
|
|
44
|
+
addMessage(message: Omit<IGlobalMessage, 'id'> & {
|
|
45
|
+
id?: string;
|
|
46
|
+
}): string;
|
|
47
|
+
removeMessage(id: string): void;
|
|
48
|
+
clearMessages(): void;
|
|
24
49
|
currentTerminal: DeesWorkspaceTerminal | null;
|
|
25
50
|
launchTerminal(): Promise<DeesWorkspaceTerminal | undefined>;
|
|
26
51
|
private closeTerminal;
|
|
@@ -338,6 +338,44 @@ export const demoFunc = () => html `
|
|
|
338
338
|
<dees-simple-appdash
|
|
339
339
|
name="My Application"
|
|
340
340
|
terminalSetupCommand="echo 'Welcome to the terminal!'"
|
|
341
|
+
.globalMessages=${[
|
|
342
|
+
{
|
|
343
|
+
id: 'update',
|
|
344
|
+
type: 'info',
|
|
345
|
+
message: 'A new version (v3.50.0) is available with performance improvements and bug fixes.',
|
|
346
|
+
dismissible: true,
|
|
347
|
+
actions: [
|
|
348
|
+
{
|
|
349
|
+
name: 'Update Now',
|
|
350
|
+
iconName: 'lucide:download',
|
|
351
|
+
action: () => alert('Updating...'),
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
name: 'Release Notes',
|
|
355
|
+
action: () => alert('Opening release notes...'),
|
|
356
|
+
},
|
|
357
|
+
],
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
id: 'maintenance',
|
|
361
|
+
type: 'warning',
|
|
362
|
+
message: 'Scheduled maintenance window: April 5, 2026 02:00–06:00 UTC. Some services may be temporarily unavailable.',
|
|
363
|
+
dismissible: true,
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
id: 'critical',
|
|
367
|
+
type: 'error',
|
|
368
|
+
message: 'Your SSL certificate expires in 3 days. Renew now to avoid service disruption.',
|
|
369
|
+
dismissible: false,
|
|
370
|
+
actions: [
|
|
371
|
+
{
|
|
372
|
+
name: 'Renew Certificate',
|
|
373
|
+
iconName: 'lucide:shieldCheck',
|
|
374
|
+
action: () => alert('Renewing certificate...'),
|
|
375
|
+
},
|
|
376
|
+
],
|
|
377
|
+
},
|
|
378
|
+
]}
|
|
341
379
|
.viewTabs=${[
|
|
342
380
|
{
|
|
343
381
|
name: 'Dashboard',
|
|
@@ -365,4 +403,4 @@ export const demoFunc = () => html `
|
|
|
365
403
|
></dees-simple-appdash>
|
|
366
404
|
</div>
|
|
367
405
|
`;
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
406
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zaW1wbGUtYXBwZGFzaC5kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtc2ltcGxlL2RlZXMtc2ltcGxlLWFwcGRhc2gvZGVlcy1zaW1wbGUtYXBwZGFzaC5kZW1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhHLE9BQU8sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyx3REFBd0QsQ0FBQztBQUNoRSxPQUFPLGdFQUFnRSxDQUFDO0FBQ3hFLE9BQU8sZ0VBQWdFLENBQUM7QUFDeEUsT0FBTyxvRUFBb0UsQ0FBQztBQUM1RSxPQUFPLHlEQUF5RCxDQUFDO0FBQ2pFLE9BQU8seURBQXlELENBQUM7QUFHakUsOEJBQThCO0lBRXhCLGlCQUFpQjs0QkFEdEIsYUFBYSxDQUFDLHFCQUFxQixDQUFDOzs7O3NCQUNMLFdBQVc7aUNBQW5CLFNBQVEsV0FBVzs7OztZQUEzQyw2S0FxR0M7Ozs7UUFwR0MsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNkLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7OztpQkFPVSxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7Ozs7O0tBSzlDO1NBQ0YsQ0FBQztRQUVNLFVBQVUsR0FBaUI7WUFDakM7Z0JBQ0UsRUFBRSxFQUFFLE9BQU87Z0JBQ1gsS0FBSyxFQUFFLGNBQWM7Z0JBQ3JCLEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxTQUFTO2dCQUNmLFdBQVcsRUFBRSxxQkFBcUI7Z0JBQ2xDLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0Us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
|