@design.estate/dees-catalog 3.49.2 → 3.50.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 (22) hide show
  1. package/dist_bundle/bundle.js +360 -56
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +24 -9
  4. package/dist_ts_web/elements/00group-chart/dees-chart-area/demo.js +22 -44
  5. package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.js +2 -2
  6. package/dist_ts_web/elements/00group-layout/dees-dashboardgrid/dees-dashboardgrid.demo.js +3 -3
  7. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.d.ts +25 -0
  8. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.js +39 -1
  9. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +284 -6
  10. package/dist_ts_web/elements/00group-workspace/dees-workspace-terminal/dees-workspace-terminal.d.ts +1 -1
  11. package/dist_ts_web/elements/00group-workspace/dees-workspace-terminal/dees-workspace-terminal.js +4 -4
  12. package/dist_watch/bundle.js +358 -54
  13. package/dist_watch/bundle.js.map +3 -3
  14. package/package.json +1 -1
  15. package/ts_web/00_commitinfo_data.ts +1 -1
  16. package/ts_web/elements/00group-chart/dees-chart-area/component.ts +29 -13
  17. package/ts_web/elements/00group-chart/dees-chart-area/demo.ts +22 -44
  18. package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.ts +1 -1
  19. package/ts_web/elements/00group-layout/dees-dashboardgrid/dees-dashboardgrid.demo.ts +2 -2
  20. package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.ts +39 -1
  21. package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +296 -3
  22. package/ts_web/elements/00group-workspace/dees-workspace-terminal/dees-workspace-terminal.ts +4 -4
@@ -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
  * {
@@ -150486,15 +150486,37 @@ var demoFunc36 = /* @__PURE__ */ __name(() => {
150486
150486
  lastDataPointTime = 0;
150487
150487
  connectionsLastUpdate = 0;
150488
150488
  }, "randomizeData");
150489
+ const updateButtonStates = /* @__PURE__ */ __name(() => {
150490
+ const allButtons = elementArg.querySelectorAll("dees-button");
150491
+ allButtons.forEach((button) => {
150492
+ const text9 = button.text?.trim();
150493
+ if (text9 === "System Usage") {
150494
+ button.type = currentDataset === "system" ? "highlighted" : "normal";
150495
+ } else if (text9 === "Network Traffic") {
150496
+ button.type = currentDataset === "network" ? "highlighted" : "normal";
150497
+ } else if (text9 === "Sales Data") {
150498
+ button.type = currentDataset === "sales" ? "highlighted" : "normal";
150499
+ }
150500
+ });
150501
+ }, "updateButtonStates");
150489
150502
  const buttons = elementArg.querySelectorAll("dees-button");
150490
150503
  buttons.forEach((button) => {
150491
- const text9 = button.textContent?.trim();
150504
+ const text9 = button.text?.trim();
150492
150505
  if (text9 === "System Usage") {
150493
- button.addEventListener("click", () => switchDataset("system"));
150506
+ button.addEventListener("click", () => {
150507
+ switchDataset("system");
150508
+ updateButtonStates();
150509
+ });
150494
150510
  } else if (text9 === "Network Traffic") {
150495
- button.addEventListener("click", () => switchDataset("network"));
150511
+ button.addEventListener("click", () => {
150512
+ switchDataset("network");
150513
+ updateButtonStates();
150514
+ });
150496
150515
  } else if (text9 === "Sales Data") {
150497
- button.addEventListener("click", () => switchDataset("sales"));
150516
+ button.addEventListener("click", () => {
150517
+ switchDataset("sales");
150518
+ updateButtonStates();
150519
+ });
150498
150520
  } else if (text9 === "Start Live") {
150499
150521
  button.addEventListener("click", () => startRealtime());
150500
150522
  } else if (text9 === "Stop Live") {
@@ -150503,19 +150525,6 @@ var demoFunc36 = /* @__PURE__ */ __name(() => {
150503
150525
  button.addEventListener("click", () => randomizeData());
150504
150526
  }
150505
150527
  });
150506
- const updateButtonStates = /* @__PURE__ */ __name(() => {
150507
- const buttons2 = elementArg.querySelectorAll("dees-button");
150508
- buttons2.forEach((button) => {
150509
- const text9 = button.textContent?.trim();
150510
- if (text9 === "System Usage") {
150511
- button.type = currentDataset === "system" ? "highlighted" : "normal";
150512
- } else if (text9 === "Network Traffic") {
150513
- button.type = currentDataset === "network" ? "highlighted" : "normal";
150514
- } else if (text9 === "Sales Data") {
150515
- button.type = currentDataset === "sales" ? "highlighted" : "normal";
150516
- }
150517
- });
150518
- }, "updateButtonStates");
150519
150528
  chartElement.rollingWindow = TIME_WINDOW;
150520
150529
  chartElement.realtimeMode = false;
150521
150530
  chartElement.yAxisScaling = "percentage";
@@ -150524,24 +150533,6 @@ var demoFunc36 = /* @__PURE__ */ __name(() => {
150524
150533
  setTimeout(() => {
150525
150534
  chartElement.updateTimeWindow();
150526
150535
  }, 100);
150527
- const originalSwitchDataset = switchDataset;
150528
- const switchDatasetWithButtonUpdate = /* @__PURE__ */ __name((name) => {
150529
- originalSwitchDataset(name);
150530
- updateButtonStates();
150531
- }, "switchDatasetWithButtonUpdate");
150532
- buttons.forEach((button) => {
150533
- const text9 = button.textContent?.trim();
150534
- if (text9 === "System Usage") {
150535
- button.removeEventListener("click", () => switchDataset("system"));
150536
- button.addEventListener("click", () => switchDatasetWithButtonUpdate("system"));
150537
- } else if (text9 === "Network Traffic") {
150538
- button.removeEventListener("click", () => switchDataset("network"));
150539
- button.addEventListener("click", () => switchDatasetWithButtonUpdate("network"));
150540
- } else if (text9 === "Sales Data") {
150541
- button.removeEventListener("click", () => switchDataset("sales"));
150542
- button.addEventListener("click", () => switchDatasetWithButtonUpdate("sales"));
150543
- }
150544
- });
150545
150536
  if (connectionsChartElement) {
150546
150537
  const initialConnectionsData = generateInitialData(previousValues.connections, 30, UPDATE_INTERVAL);
150547
150538
  connectionsChartElement.series = [{
@@ -151107,20 +151098,34 @@ var _DeesChartArea = class _DeesChartArea extends (_a53 = DeesElement, _chart_de
151107
151098
  })
151108
151099
  }));
151109
151100
  if (filteredSeries.some((s10) => s10.data.length > 0)) {
151101
+ const isDark = !this.goBright;
151102
+ const options = {
151103
+ series: filteredSeries,
151104
+ xaxis: {
151105
+ min: cutoffTime,
151106
+ max: now2,
151107
+ labels: {
151108
+ format: "HH:mm:ss",
151109
+ datetimeUTC: false,
151110
+ style: {
151111
+ colors: [isDark ? "hsl(0 0% 63.9%)" : "hsl(0 0% 20%)"],
151112
+ fontSize: "12px",
151113
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
151114
+ fontWeight: "400"
151115
+ }
151116
+ },
151117
+ tickAmount: 6
151118
+ }
151119
+ };
151110
151120
  if (this.yAxisScaling === "dynamic") {
151111
151121
  const allValues = filteredSeries.flatMap((s10) => s10.data.map((d5) => d5.y));
151112
151122
  if (allValues.length > 0) {
151113
151123
  const maxValue = Math.max(...allValues);
151114
151124
  const dynamicMax = Math.ceil(maxValue * 1.1);
151115
- await this.chart.updateOptions({
151116
- yaxis: {
151117
- min: 0,
151118
- max: dynamicMax
151119
- }
151120
- }, false, false);
151125
+ options.yaxis = { min: 0, max: dynamicMax };
151121
151126
  }
151122
151127
  }
151123
- await this.chart.updateSeries(filteredSeries, false);
151128
+ await this.chart.updateOptions(options, false, false);
151124
151129
  }
151125
151130
  } else {
151126
151131
  await this.chart.updateSeries(newSeries, animate);
@@ -151419,7 +151424,7 @@ var demoFunc37 = /* @__PURE__ */ __name(() => {
151419
151424
  }, "stopRawSimulation");
151420
151425
  const buttons = elementArg.querySelectorAll("dees-button");
151421
151426
  buttons.forEach((button) => {
151422
- const text9 = button.textContent?.trim();
151427
+ const text9 = button.text?.trim();
151423
151428
  switch (text9) {
151424
151429
  case "Add Structured Log":
151425
151430
  button.addEventListener("click", () => generateRandomLog());
@@ -159521,7 +159526,7 @@ var demoFunc47 = /* @__PURE__ */ __name(() => {
159521
159526
  let widgetCounter = 4;
159522
159527
  const buttons = elementArg.querySelectorAll("dees-button");
159523
159528
  buttons.forEach((button) => {
159524
- const text9 = button.textContent?.trim();
159529
+ const text9 = button.text?.trim();
159525
159530
  switch (text9) {
159526
159531
  case "Toggle Animation":
159527
159532
  button.addEventListener("click", () => {
@@ -159564,7 +159569,7 @@ var demoFunc47 = /* @__PURE__ */ __name(() => {
159564
159569
  case "Toggle Edit Mode":
159565
159570
  button.addEventListener("click", () => {
159566
159571
  grid.editable = !grid.editable;
159567
- button.textContent = grid.editable ? "Lock Grid" : "Unlock Grid";
159572
+ button.text = grid.editable ? "Lock Grid" : "Unlock Grid";
159568
159573
  });
159569
159574
  break;
159570
159575
  case "Reset Layout":
@@ -168333,6 +168338,44 @@ var demoFunc52 = /* @__PURE__ */ __name(() => b2`
168333
168338
  <dees-simple-appdash
168334
168339
  name="My Application"
168335
168340
  terminalSetupCommand="echo 'Welcome to the terminal!'"
168341
+ .globalMessages=${[
168342
+ {
168343
+ id: "update",
168344
+ type: "info",
168345
+ message: "A new version (v3.50.0) is available with performance improvements and bug fixes.",
168346
+ dismissible: true,
168347
+ actions: [
168348
+ {
168349
+ name: "Update Now",
168350
+ iconName: "lucide:download",
168351
+ action: /* @__PURE__ */ __name(() => alert("Updating..."), "action")
168352
+ },
168353
+ {
168354
+ name: "Release Notes",
168355
+ action: /* @__PURE__ */ __name(() => alert("Opening release notes..."), "action")
168356
+ }
168357
+ ]
168358
+ },
168359
+ {
168360
+ id: "maintenance",
168361
+ type: "warning",
168362
+ message: "Scheduled maintenance window: April 5, 2026 02:00\u201306:00 UTC. Some services may be temporarily unavailable.",
168363
+ dismissible: true
168364
+ },
168365
+ {
168366
+ id: "critical",
168367
+ type: "error",
168368
+ message: "Your SSL certificate expires in 3 days. Renew now to avoid service disruption.",
168369
+ dismissible: false,
168370
+ actions: [
168371
+ {
168372
+ name: "Renew Certificate",
168373
+ iconName: "lucide:shieldCheck",
168374
+ action: /* @__PURE__ */ __name(() => alert("Renewing certificate..."), "action")
168375
+ }
168376
+ ]
168377
+ }
168378
+ ]}
168336
168379
  .viewTabs=${[
168337
168380
  {
168338
168381
  name: "Dashboard",
@@ -168365,15 +168408,17 @@ var demoFunc52 = /* @__PURE__ */ __name(() => b2`
168365
168408
  init_dist_ts30();
168366
168409
  init_dees_icon();
168367
168410
  init_theme();
168368
- var _selectedView_dec, _terminalSetupCommand_dec, _viewTabs_dec, _name_dec2, _a89, _DeesSimpleAppDash_decorators, _init92, _name2, _viewTabs, _terminalSetupCommand, _selectedView;
168411
+ var __activeMessages_dec, _selectedView_dec, _globalMessages_dec, _terminalSetupCommand_dec, _viewTabs_dec, _name_dec2, _a89, _DeesSimpleAppDash_decorators, _init92, _name2, _viewTabs, _terminalSetupCommand, _globalMessages, _selectedView, __activeMessages;
168369
168412
  _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) {
168413
+ 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
168414
  constructor() {
168372
168415
  super(...arguments);
168373
168416
  __privateAdd(this, _name2, __runInitializers(_init92, 8, this, "Application Dashboard")), __runInitializers(_init92, 11, this);
168374
168417
  __privateAdd(this, _viewTabs, __runInitializers(_init92, 12, this, [])), __runInitializers(_init92, 15, this);
168375
168418
  __privateAdd(this, _terminalSetupCommand, __runInitializers(_init92, 16, this, `echo "Terminal ready"`)), __runInitializers(_init92, 19, this);
168376
- __privateAdd(this, _selectedView, __runInitializers(_init92, 20, this)), __runInitializers(_init92, 23, this);
168419
+ __privateAdd(this, _globalMessages, __runInitializers(_init92, 20, this, [])), __runInitializers(_init92, 23, this);
168420
+ __privateAdd(this, _selectedView, __runInitializers(_init92, 24, this)), __runInitializers(_init92, 27, this);
168421
+ __privateAdd(this, __activeMessages, __runInitializers(_init92, 28, this, [])), __runInitializers(_init92, 31, this);
168377
168422
  __publicField(this, "currentTerminal", null);
168378
168423
  __publicField(this, "currentView");
168379
168424
  }
@@ -168416,6 +168461,34 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
168416
168461
  </div>
168417
168462
  </div>
168418
168463
  </div>
168464
+ ${this._activeMessages.length > 0 ? b2`
168465
+ <div class="messageBannerArea">
168466
+ ${this._activeMessages.map((msg) => b2`
168467
+ <div
168468
+ class="messageBanner messageBanner-${msg.type}"
168469
+ data-message-id="${msg.id}"
168470
+ >
168471
+ <dees-icon .icon="${this.getMessageIcon(msg)}"></dees-icon>
168472
+ <span class="messageBanner-text">${msg.message}</span>
168473
+ ${msg.actions?.length ? b2`
168474
+ <div class="messageBanner-actions">
168475
+ ${msg.actions.map((a5) => b2`
168476
+ <div class="messageBanner-action" @click=${() => a5.action()}>
168477
+ ${a5.iconName ? b2`<dees-icon .icon="${a5.iconName.includes(":") ? a5.iconName : `lucide:${a5.iconName}`}"></dees-icon>` : ""}
168478
+ <span>${a5.name}</span>
168479
+ </div>
168480
+ `)}
168481
+ </div>
168482
+ ` : ""}
168483
+ ${msg.dismissible !== false ? b2`
168484
+ <div class="messageBanner-dismiss" @click=${() => this.removeMessage(msg.id)}>
168485
+ <dees-icon .icon="${"lucide:x"}"></dees-icon>
168486
+ </div>
168487
+ ` : ""}
168488
+ </div>
168489
+ `)}
168490
+ </div>
168491
+ ` : ""}
168419
168492
  <div class="appcontent">
168420
168493
  <!-- Content goes here -->
168421
168494
  </div>
@@ -168440,6 +168513,71 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
168440
168513
  await this.loadView(viewToLoad);
168441
168514
  }
168442
168515
  }
168516
+ willUpdate(changedProperties) {
168517
+ if (changedProperties.has("globalMessages")) {
168518
+ const propertyIds = new Set(this.globalMessages.map((m6) => m6.id));
168519
+ const existingIds = new Set(this._activeMessages.map((m6) => m6.id));
168520
+ const newMessages = this.globalMessages.filter((m6) => !existingIds.has(m6.id));
168521
+ const previousGlobalMessages = changedProperties.get("globalMessages") || [];
168522
+ const previousIds = new Set(previousGlobalMessages.map((m6) => m6.id));
168523
+ const removedIds = new Set([...previousIds].filter((id) => !propertyIds.has(id)));
168524
+ this._activeMessages = [
168525
+ ...this._activeMessages.filter((m6) => !removedIds.has(m6.id)),
168526
+ ...newMessages
168527
+ ];
168528
+ }
168529
+ }
168530
+ updated(changedProperties) {
168531
+ super.updated(changedProperties);
168532
+ this.updateBannerOffset();
168533
+ }
168534
+ updateBannerOffset() {
168535
+ requestAnimationFrame(() => {
168536
+ const bannerArea = this.shadowRoot?.querySelector(".messageBannerArea");
168537
+ const maincontainer = this.shadowRoot?.querySelector(".maincontainer");
168538
+ const height = bannerArea ? bannerArea.offsetHeight : 0;
168539
+ maincontainer?.style.setProperty("--banner-area-height", `${height}px`);
168540
+ });
168541
+ }
168542
+ getMessageIcon(msg) {
168543
+ if (msg.icon) return msg.icon;
168544
+ const defaults = {
168545
+ info: "lucide:info",
168546
+ success: "lucide:circleCheck",
168547
+ warning: "lucide:triangleAlert",
168548
+ error: "lucide:circleX"
168549
+ };
168550
+ return defaults[msg.type];
168551
+ }
168552
+ addMessage(message2) {
168553
+ const id = message2.id || `msg-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
168554
+ const fullMessage = {
168555
+ dismissible: true,
168556
+ ...message2,
168557
+ id
168558
+ };
168559
+ this._activeMessages = [...this._activeMessages, fullMessage];
168560
+ return id;
168561
+ }
168562
+ removeMessage(id) {
168563
+ const bannerEl = this.shadowRoot?.querySelector(`[data-message-id="${id}"]`);
168564
+ if (bannerEl) {
168565
+ bannerEl.classList.add("dismissing");
168566
+ bannerEl.addEventListener("animationend", () => {
168567
+ this._activeMessages = this._activeMessages.filter((m6) => m6.id !== id);
168568
+ this.dispatchEvent(new CustomEvent("message-dismiss", {
168569
+ detail: { id },
168570
+ bubbles: true,
168571
+ composed: true
168572
+ }));
168573
+ }, { once: true });
168574
+ } else {
168575
+ this._activeMessages = this._activeMessages.filter((m6) => m6.id !== id);
168576
+ }
168577
+ }
168578
+ clearMessages() {
168579
+ this._activeMessages = [];
168580
+ }
168443
168581
  async launchTerminal() {
168444
168582
  const domtools20 = await this.domtoolsPromise;
168445
168583
  if (this.currentTerminal) {
@@ -168454,7 +168592,7 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
168454
168592
  maincontainer.appendChild(terminal);
168455
168593
  terminal.style.position = "absolute";
168456
168594
  terminal.style.zIndex = "10";
168457
- terminal.style.top = "0px";
168595
+ terminal.style.top = "var(--banner-area-height, 0px)";
168458
168596
  terminal.style.left = "240px";
168459
168597
  terminal.style.right = "0px";
168460
168598
  terminal.style.bottom = "24px";
@@ -168462,8 +168600,6 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
168462
168600
  terminal.style.transform = "translateY(8px) scale(0.99)";
168463
168601
  terminal.style.transition = "all 0.25s cubic-bezier(0.4, 0, 0.2, 1)";
168464
168602
  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
168603
  terminal.addEventListener("close", () => this.closeTerminal());
168468
168604
  await domtools20.convenience.smartdelay.delayFor(0);
168469
168605
  terminal.style.opacity = "1";
@@ -168500,11 +168636,15 @@ _init92 = __decoratorStart(_a89);
168500
168636
  _name2 = new WeakMap();
168501
168637
  _viewTabs = new WeakMap();
168502
168638
  _terminalSetupCommand = new WeakMap();
168639
+ _globalMessages = new WeakMap();
168503
168640
  _selectedView = new WeakMap();
168641
+ __activeMessages = new WeakMap();
168504
168642
  __decorateElement(_init92, 4, "name", _name_dec2, _DeesSimpleAppDash, _name2);
168505
168643
  __decorateElement(_init92, 4, "viewTabs", _viewTabs_dec, _DeesSimpleAppDash, _viewTabs);
168506
168644
  __decorateElement(_init92, 4, "terminalSetupCommand", _terminalSetupCommand_dec, _DeesSimpleAppDash, _terminalSetupCommand);
168645
+ __decorateElement(_init92, 4, "globalMessages", _globalMessages_dec, _DeesSimpleAppDash, _globalMessages);
168507
168646
  __decorateElement(_init92, 4, "selectedView", _selectedView_dec, _DeesSimpleAppDash, _selectedView);
168647
+ __decorateElement(_init92, 4, "_activeMessages", __activeMessages_dec, _DeesSimpleAppDash, __activeMessages);
168508
168648
  _DeesSimpleAppDash = __decorateElement(_init92, 0, "DeesSimpleAppDash", _DeesSimpleAppDash_decorators, _DeesSimpleAppDash);
168509
168649
  __name(_DeesSimpleAppDash, "DeesSimpleAppDash");
168510
168650
  // STATIC
@@ -168788,6 +168928,170 @@ __publicField(_DeesSimpleAppDash, "styles", [
168788
168928
  .control.status-terminal dees-icon {
168789
168929
  color: hsl(45 90% 55%);
168790
168930
  }
168931
+
168932
+ /* Global Message Banners */
168933
+ .messageBannerArea {
168934
+ position: absolute;
168935
+ top: 0;
168936
+ left: 240px;
168937
+ right: 0;
168938
+ z-index: 3;
168939
+ display: flex;
168940
+ flex-direction: column;
168941
+ transition: height 0.25s cubic-bezier(0.4, 0, 0.2, 1);
168942
+ }
168943
+
168944
+ .messageBanner {
168945
+ display: flex;
168946
+ align-items: center;
168947
+ gap: 12px;
168948
+ padding: 10px 16px;
168949
+ font-size: 13px;
168950
+ font-family: 'Geist Sans', sans-serif;
168951
+ font-weight: 500;
168952
+ border-bottom: 1px solid ${cssManager.bdTheme("hsl(0 0% 91%)", "hsl(0 0% 13%)")};
168953
+ animation: bannerSlideDown 0.25s cubic-bezier(0.4, 0, 0.2, 1) forwards;
168954
+ }
168955
+
168956
+ .messageBanner.dismissing {
168957
+ animation: bannerSlideUp 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
168958
+ }
168959
+
168960
+ @keyframes bannerSlideDown {
168961
+ from {
168962
+ opacity: 0;
168963
+ transform: translateY(-100%);
168964
+ }
168965
+ to {
168966
+ opacity: 1;
168967
+ transform: translateY(0);
168968
+ }
168969
+ }
168970
+
168971
+ @keyframes bannerSlideUp {
168972
+ from {
168973
+ opacity: 1;
168974
+ transform: translateY(0);
168975
+ }
168976
+ to {
168977
+ opacity: 0;
168978
+ transform: translateY(-100%);
168979
+ }
168980
+ }
168981
+
168982
+ .messageBanner dees-icon {
168983
+ font-size: 16px;
168984
+ flex-shrink: 0;
168985
+ }
168986
+
168987
+ .messageBanner-text {
168988
+ flex: 1;
168989
+ overflow: hidden;
168990
+ text-overflow: ellipsis;
168991
+ white-space: nowrap;
168992
+ }
168993
+
168994
+ .messageBanner-actions {
168995
+ display: flex;
168996
+ align-items: center;
168997
+ gap: 6px;
168998
+ flex-shrink: 0;
168999
+ }
169000
+
169001
+ .messageBanner-action {
169002
+ display: flex;
169003
+ align-items: center;
169004
+ gap: 6px;
169005
+ padding: 4px 12px;
169006
+ border-radius: 4px;
169007
+ cursor: default;
169008
+ font-size: 12px;
169009
+ font-weight: 600;
169010
+ letter-spacing: 0.01em;
169011
+ transition: all 0.15s ease;
169012
+ white-space: nowrap;
169013
+ background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.08)", "hsl(0 0% 100% / 0.1)")};
169014
+ color: inherit;
169015
+ }
169016
+
169017
+ .messageBanner-action:hover {
169018
+ background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.15)", "hsl(0 0% 100% / 0.18)")};
169019
+ }
169020
+
169021
+ .messageBanner-action:active {
169022
+ transform: scale(0.97);
169023
+ }
169024
+
169025
+ .messageBanner-action dees-icon {
169026
+ font-size: 13px;
169027
+ }
169028
+
169029
+ .messageBanner-dismiss {
169030
+ flex-shrink: 0;
169031
+ display: flex;
169032
+ align-items: center;
169033
+ justify-content: center;
169034
+ width: 24px;
169035
+ height: 24px;
169036
+ border-radius: 4px;
169037
+ cursor: default;
169038
+ opacity: 0.5;
169039
+ transition: all 0.15s ease;
169040
+ }
169041
+
169042
+ .messageBanner-dismiss:hover {
169043
+ opacity: 1;
169044
+ background: hsl(0 0% 0% / 0.1);
169045
+ }
169046
+
169047
+ /* Message type: info */
169048
+ .messageBanner-info {
169049
+ background: ${cssManager.bdTheme("hsl(210 100% 97%)", "hsl(210 50% 10%)")};
169050
+ color: ${cssManager.bdTheme("hsl(210 70% 30%)", "hsl(210 70% 80%)")};
169051
+ border-left: 3px solid #0084ff;
169052
+ }
169053
+ .messageBanner-info dees-icon {
169054
+ color: #0084ff;
169055
+ }
169056
+
169057
+ /* Message type: success */
169058
+ .messageBanner-success {
169059
+ background: ${cssManager.bdTheme("hsl(142 70% 97%)", "hsl(142 30% 10%)")};
169060
+ color: ${cssManager.bdTheme("hsl(142 50% 25%)", "hsl(142 50% 80%)")};
169061
+ border-left: 3px solid #22c55e;
169062
+ }
169063
+ .messageBanner-success dees-icon {
169064
+ color: #22c55e;
169065
+ }
169066
+
169067
+ /* Message type: warning */
169068
+ .messageBanner-warning {
169069
+ background: ${cssManager.bdTheme("hsl(38 90% 97%)", "hsl(38 40% 10%)")};
169070
+ color: ${cssManager.bdTheme("hsl(38 60% 25%)", "hsl(38 60% 80%)")};
169071
+ border-left: 3px solid #f59e0b;
169072
+ }
169073
+ .messageBanner-warning dees-icon {
169074
+ color: #f59e0b;
169075
+ }
169076
+
169077
+ /* Message type: error */
169078
+ .messageBanner-error {
169079
+ background: ${cssManager.bdTheme("hsl(0 70% 97%)", "hsl(0 40% 10%)")};
169080
+ color: ${cssManager.bdTheme("hsl(0 60% 30%)", "hsl(0 60% 80%)")};
169081
+ border-left: 3px solid #ef4444;
169082
+ }
169083
+ .messageBanner-error dees-icon {
169084
+ color: #ef4444;
169085
+ }
169086
+
169087
+ .messageBanner-dismiss:hover {
169088
+ background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.08)", "hsl(0 0% 100% / 0.1)")};
169089
+ }
169090
+
169091
+ .appcontent {
169092
+ top: var(--banner-area-height, 0px);
169093
+ height: calc(100% - 24px - var(--banner-area-height, 0px));
169094
+ }
168791
169095
  `
168792
169096
  ]);
168793
169097
  __runInitializers(_init92, 1, _DeesSimpleAppDash);
@@ -174423,7 +174727,7 @@ init_group_runtime();
174423
174727
  // ts_web/00_commitinfo_data.ts
174424
174728
  var commitinfo = {
174425
174729
  name: "@design.estate/dees-catalog",
174426
- version: "3.49.2",
174730
+ version: "3.50.2",
174427
174731
  description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
174428
174732
  };
174429
174733
  export {
@@ -176389,4 +176693,4 @@ ibantools/jsnext/ibantools.js:
176389
176693
  * @preferred
176390
176694
  *)
176391
176695
  */
176392
- //# sourceMappingURL=bundle-1775146154296.js.map
176696
+ //# sourceMappingURL=bundle-1775159010741.js.map
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.49.2',
6
+ version: '3.50.2',
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