@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
  * {
@@ -155825,15 +155825,37 @@ var demoFunc36 = /* @__PURE__ */ __name(() => {
155825
155825
  lastDataPointTime = 0;
155826
155826
  connectionsLastUpdate = 0;
155827
155827
  }, "randomizeData");
155828
+ const updateButtonStates = /* @__PURE__ */ __name(() => {
155829
+ const allButtons = elementArg.querySelectorAll("dees-button");
155830
+ allButtons.forEach((button) => {
155831
+ const text9 = button.text?.trim();
155832
+ if (text9 === "System Usage") {
155833
+ button.type = currentDataset === "system" ? "highlighted" : "normal";
155834
+ } else if (text9 === "Network Traffic") {
155835
+ button.type = currentDataset === "network" ? "highlighted" : "normal";
155836
+ } else if (text9 === "Sales Data") {
155837
+ button.type = currentDataset === "sales" ? "highlighted" : "normal";
155838
+ }
155839
+ });
155840
+ }, "updateButtonStates");
155828
155841
  const buttons = elementArg.querySelectorAll("dees-button");
155829
155842
  buttons.forEach((button) => {
155830
- const text9 = button.textContent?.trim();
155843
+ const text9 = button.text?.trim();
155831
155844
  if (text9 === "System Usage") {
155832
- button.addEventListener("click", () => switchDataset("system"));
155845
+ button.addEventListener("click", () => {
155846
+ switchDataset("system");
155847
+ updateButtonStates();
155848
+ });
155833
155849
  } else if (text9 === "Network Traffic") {
155834
- button.addEventListener("click", () => switchDataset("network"));
155850
+ button.addEventListener("click", () => {
155851
+ switchDataset("network");
155852
+ updateButtonStates();
155853
+ });
155835
155854
  } else if (text9 === "Sales Data") {
155836
- button.addEventListener("click", () => switchDataset("sales"));
155855
+ button.addEventListener("click", () => {
155856
+ switchDataset("sales");
155857
+ updateButtonStates();
155858
+ });
155837
155859
  } else if (text9 === "Start Live") {
155838
155860
  button.addEventListener("click", () => startRealtime());
155839
155861
  } else if (text9 === "Stop Live") {
@@ -155842,19 +155864,6 @@ var demoFunc36 = /* @__PURE__ */ __name(() => {
155842
155864
  button.addEventListener("click", () => randomizeData());
155843
155865
  }
155844
155866
  });
155845
- const updateButtonStates = /* @__PURE__ */ __name(() => {
155846
- const buttons2 = elementArg.querySelectorAll("dees-button");
155847
- buttons2.forEach((button) => {
155848
- const text9 = button.textContent?.trim();
155849
- if (text9 === "System Usage") {
155850
- button.type = currentDataset === "system" ? "highlighted" : "normal";
155851
- } else if (text9 === "Network Traffic") {
155852
- button.type = currentDataset === "network" ? "highlighted" : "normal";
155853
- } else if (text9 === "Sales Data") {
155854
- button.type = currentDataset === "sales" ? "highlighted" : "normal";
155855
- }
155856
- });
155857
- }, "updateButtonStates");
155858
155867
  chartElement.rollingWindow = TIME_WINDOW;
155859
155868
  chartElement.realtimeMode = false;
155860
155869
  chartElement.yAxisScaling = "percentage";
@@ -155863,24 +155872,6 @@ var demoFunc36 = /* @__PURE__ */ __name(() => {
155863
155872
  setTimeout(() => {
155864
155873
  chartElement.updateTimeWindow();
155865
155874
  }, 100);
155866
- const originalSwitchDataset = switchDataset;
155867
- const switchDatasetWithButtonUpdate = /* @__PURE__ */ __name((name) => {
155868
- originalSwitchDataset(name);
155869
- updateButtonStates();
155870
- }, "switchDatasetWithButtonUpdate");
155871
- buttons.forEach((button) => {
155872
- const text9 = button.textContent?.trim();
155873
- if (text9 === "System Usage") {
155874
- button.removeEventListener("click", () => switchDataset("system"));
155875
- button.addEventListener("click", () => switchDatasetWithButtonUpdate("system"));
155876
- } else if (text9 === "Network Traffic") {
155877
- button.removeEventListener("click", () => switchDataset("network"));
155878
- button.addEventListener("click", () => switchDatasetWithButtonUpdate("network"));
155879
- } else if (text9 === "Sales Data") {
155880
- button.removeEventListener("click", () => switchDataset("sales"));
155881
- button.addEventListener("click", () => switchDatasetWithButtonUpdate("sales"));
155882
- }
155883
- });
155884
155875
  if (connectionsChartElement) {
155885
155876
  const initialConnectionsData = generateInitialData(previousValues.connections, 30, UPDATE_INTERVAL);
155886
155877
  connectionsChartElement.series = [{
@@ -156446,20 +156437,34 @@ var _DeesChartArea = class _DeesChartArea extends (_a53 = DeesElement, _chart_de
156446
156437
  })
156447
156438
  }));
156448
156439
  if (filteredSeries.some((s10) => s10.data.length > 0)) {
156440
+ const isDark = !this.goBright;
156441
+ const options = {
156442
+ series: filteredSeries,
156443
+ xaxis: {
156444
+ min: cutoffTime,
156445
+ max: now2,
156446
+ labels: {
156447
+ format: "HH:mm:ss",
156448
+ datetimeUTC: false,
156449
+ style: {
156450
+ colors: [isDark ? "hsl(0 0% 63.9%)" : "hsl(0 0% 20%)"],
156451
+ fontSize: "12px",
156452
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
156453
+ fontWeight: "400"
156454
+ }
156455
+ },
156456
+ tickAmount: 6
156457
+ }
156458
+ };
156449
156459
  if (this.yAxisScaling === "dynamic") {
156450
156460
  const allValues = filteredSeries.flatMap((s10) => s10.data.map((d5) => d5.y));
156451
156461
  if (allValues.length > 0) {
156452
156462
  const maxValue = Math.max(...allValues);
156453
156463
  const dynamicMax = Math.ceil(maxValue * 1.1);
156454
- await this.chart.updateOptions({
156455
- yaxis: {
156456
- min: 0,
156457
- max: dynamicMax
156458
- }
156459
- }, false, false);
156464
+ options.yaxis = { min: 0, max: dynamicMax };
156460
156465
  }
156461
156466
  }
156462
- await this.chart.updateSeries(filteredSeries, false);
156467
+ await this.chart.updateOptions(options, false, false);
156463
156468
  }
156464
156469
  } else {
156465
156470
  await this.chart.updateSeries(newSeries, animate);
@@ -156758,7 +156763,7 @@ var demoFunc37 = /* @__PURE__ */ __name(() => {
156758
156763
  }, "stopRawSimulation");
156759
156764
  const buttons = elementArg.querySelectorAll("dees-button");
156760
156765
  buttons.forEach((button) => {
156761
- const text9 = button.textContent?.trim();
156766
+ const text9 = button.text?.trim();
156762
156767
  switch (text9) {
156763
156768
  case "Add Structured Log":
156764
156769
  button.addEventListener("click", () => generateRandomLog());
@@ -164860,7 +164865,7 @@ var demoFunc47 = /* @__PURE__ */ __name(() => {
164860
164865
  let widgetCounter = 4;
164861
164866
  const buttons = elementArg.querySelectorAll("dees-button");
164862
164867
  buttons.forEach((button) => {
164863
- const text9 = button.textContent?.trim();
164868
+ const text9 = button.text?.trim();
164864
164869
  switch (text9) {
164865
164870
  case "Toggle Animation":
164866
164871
  button.addEventListener("click", () => {
@@ -164903,7 +164908,7 @@ var demoFunc47 = /* @__PURE__ */ __name(() => {
164903
164908
  case "Toggle Edit Mode":
164904
164909
  button.addEventListener("click", () => {
164905
164910
  grid.editable = !grid.editable;
164906
- button.textContent = grid.editable ? "Lock Grid" : "Unlock Grid";
164911
+ button.text = grid.editable ? "Lock Grid" : "Unlock Grid";
164907
164912
  });
164908
164913
  break;
164909
164914
  case "Reset Layout":
@@ -173672,6 +173677,44 @@ var demoFunc52 = /* @__PURE__ */ __name(() => b2`
173672
173677
  <dees-simple-appdash
173673
173678
  name="My Application"
173674
173679
  terminalSetupCommand="echo 'Welcome to the terminal!'"
173680
+ .globalMessages=${[
173681
+ {
173682
+ id: "update",
173683
+ type: "info",
173684
+ message: "A new version (v3.50.0) is available with performance improvements and bug fixes.",
173685
+ dismissible: true,
173686
+ actions: [
173687
+ {
173688
+ name: "Update Now",
173689
+ iconName: "lucide:download",
173690
+ action: /* @__PURE__ */ __name(() => alert("Updating..."), "action")
173691
+ },
173692
+ {
173693
+ name: "Release Notes",
173694
+ action: /* @__PURE__ */ __name(() => alert("Opening release notes..."), "action")
173695
+ }
173696
+ ]
173697
+ },
173698
+ {
173699
+ id: "maintenance",
173700
+ type: "warning",
173701
+ message: "Scheduled maintenance window: April 5, 2026 02:00\u201306:00 UTC. Some services may be temporarily unavailable.",
173702
+ dismissible: true
173703
+ },
173704
+ {
173705
+ id: "critical",
173706
+ type: "error",
173707
+ message: "Your SSL certificate expires in 3 days. Renew now to avoid service disruption.",
173708
+ dismissible: false,
173709
+ actions: [
173710
+ {
173711
+ name: "Renew Certificate",
173712
+ iconName: "lucide:shieldCheck",
173713
+ action: /* @__PURE__ */ __name(() => alert("Renewing certificate..."), "action")
173714
+ }
173715
+ ]
173716
+ }
173717
+ ]}
173675
173718
  .viewTabs=${[
173676
173719
  {
173677
173720
  name: "Dashboard",
@@ -173704,15 +173747,17 @@ var demoFunc52 = /* @__PURE__ */ __name(() => b2`
173704
173747
  init_dist_ts30();
173705
173748
  init_dees_icon();
173706
173749
  init_theme();
173707
- var _selectedView_dec, _terminalSetupCommand_dec, _viewTabs_dec, _name_dec2, _a89, _DeesSimpleAppDash_decorators, _init92, _name2, _viewTabs, _terminalSetupCommand, _selectedView;
173750
+ var __activeMessages_dec, _selectedView_dec, _globalMessages_dec, _terminalSetupCommand_dec, _viewTabs_dec, _name_dec2, _a89, _DeesSimpleAppDash_decorators, _init92, _name2, _viewTabs, _terminalSetupCommand, _globalMessages, _selectedView, __activeMessages;
173708
173751
  _DeesSimpleAppDash_decorators = [customElement("dees-simple-appdash")];
173709
- var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _name_dec2 = [n5()], _viewTabs_dec = [n5({ type: Array })], _terminalSetupCommand_dec = [n5({ type: String })], _selectedView_dec = [r5()], _a89) {
173752
+ 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) {
173710
173753
  constructor() {
173711
173754
  super(...arguments);
173712
173755
  __privateAdd(this, _name2, __runInitializers(_init92, 8, this, "Application Dashboard")), __runInitializers(_init92, 11, this);
173713
173756
  __privateAdd(this, _viewTabs, __runInitializers(_init92, 12, this, [])), __runInitializers(_init92, 15, this);
173714
173757
  __privateAdd(this, _terminalSetupCommand, __runInitializers(_init92, 16, this, `echo "Terminal ready"`)), __runInitializers(_init92, 19, this);
173715
- __privateAdd(this, _selectedView, __runInitializers(_init92, 20, this)), __runInitializers(_init92, 23, this);
173758
+ __privateAdd(this, _globalMessages, __runInitializers(_init92, 20, this, [])), __runInitializers(_init92, 23, this);
173759
+ __privateAdd(this, _selectedView, __runInitializers(_init92, 24, this)), __runInitializers(_init92, 27, this);
173760
+ __privateAdd(this, __activeMessages, __runInitializers(_init92, 28, this, [])), __runInitializers(_init92, 31, this);
173716
173761
  __publicField(this, "currentTerminal", null);
173717
173762
  __publicField(this, "currentView");
173718
173763
  }
@@ -173755,6 +173800,34 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
173755
173800
  </div>
173756
173801
  </div>
173757
173802
  </div>
173803
+ ${this._activeMessages.length > 0 ? b2`
173804
+ <div class="messageBannerArea">
173805
+ ${this._activeMessages.map((msg) => b2`
173806
+ <div
173807
+ class="messageBanner messageBanner-${msg.type}"
173808
+ data-message-id="${msg.id}"
173809
+ >
173810
+ <dees-icon .icon="${this.getMessageIcon(msg)}"></dees-icon>
173811
+ <span class="messageBanner-text">${msg.message}</span>
173812
+ ${msg.actions?.length ? b2`
173813
+ <div class="messageBanner-actions">
173814
+ ${msg.actions.map((a5) => b2`
173815
+ <div class="messageBanner-action" @click=${() => a5.action()}>
173816
+ ${a5.iconName ? b2`<dees-icon .icon="${a5.iconName.includes(":") ? a5.iconName : `lucide:${a5.iconName}`}"></dees-icon>` : ""}
173817
+ <span>${a5.name}</span>
173818
+ </div>
173819
+ `)}
173820
+ </div>
173821
+ ` : ""}
173822
+ ${msg.dismissible !== false ? b2`
173823
+ <div class="messageBanner-dismiss" @click=${() => this.removeMessage(msg.id)}>
173824
+ <dees-icon .icon="${"lucide:x"}"></dees-icon>
173825
+ </div>
173826
+ ` : ""}
173827
+ </div>
173828
+ `)}
173829
+ </div>
173830
+ ` : ""}
173758
173831
  <div class="appcontent">
173759
173832
  <!-- Content goes here -->
173760
173833
  </div>
@@ -173779,6 +173852,71 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
173779
173852
  await this.loadView(viewToLoad);
173780
173853
  }
173781
173854
  }
173855
+ willUpdate(changedProperties) {
173856
+ if (changedProperties.has("globalMessages")) {
173857
+ const propertyIds = new Set(this.globalMessages.map((m6) => m6.id));
173858
+ const existingIds = new Set(this._activeMessages.map((m6) => m6.id));
173859
+ const newMessages = this.globalMessages.filter((m6) => !existingIds.has(m6.id));
173860
+ const previousGlobalMessages = changedProperties.get("globalMessages") || [];
173861
+ const previousIds = new Set(previousGlobalMessages.map((m6) => m6.id));
173862
+ const removedIds = new Set([...previousIds].filter((id) => !propertyIds.has(id)));
173863
+ this._activeMessages = [
173864
+ ...this._activeMessages.filter((m6) => !removedIds.has(m6.id)),
173865
+ ...newMessages
173866
+ ];
173867
+ }
173868
+ }
173869
+ updated(changedProperties) {
173870
+ super.updated(changedProperties);
173871
+ this.updateBannerOffset();
173872
+ }
173873
+ updateBannerOffset() {
173874
+ requestAnimationFrame(() => {
173875
+ const bannerArea = this.shadowRoot?.querySelector(".messageBannerArea");
173876
+ const maincontainer = this.shadowRoot?.querySelector(".maincontainer");
173877
+ const height = bannerArea ? bannerArea.offsetHeight : 0;
173878
+ maincontainer?.style.setProperty("--banner-area-height", `${height}px`);
173879
+ });
173880
+ }
173881
+ getMessageIcon(msg) {
173882
+ if (msg.icon) return msg.icon;
173883
+ const defaults = {
173884
+ info: "lucide:info",
173885
+ success: "lucide:circleCheck",
173886
+ warning: "lucide:triangleAlert",
173887
+ error: "lucide:circleX"
173888
+ };
173889
+ return defaults[msg.type];
173890
+ }
173891
+ addMessage(message2) {
173892
+ const id = message2.id || `msg-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
173893
+ const fullMessage = {
173894
+ dismissible: true,
173895
+ ...message2,
173896
+ id
173897
+ };
173898
+ this._activeMessages = [...this._activeMessages, fullMessage];
173899
+ return id;
173900
+ }
173901
+ removeMessage(id) {
173902
+ const bannerEl = this.shadowRoot?.querySelector(`[data-message-id="${id}"]`);
173903
+ if (bannerEl) {
173904
+ bannerEl.classList.add("dismissing");
173905
+ bannerEl.addEventListener("animationend", () => {
173906
+ this._activeMessages = this._activeMessages.filter((m6) => m6.id !== id);
173907
+ this.dispatchEvent(new CustomEvent("message-dismiss", {
173908
+ detail: { id },
173909
+ bubbles: true,
173910
+ composed: true
173911
+ }));
173912
+ }, { once: true });
173913
+ } else {
173914
+ this._activeMessages = this._activeMessages.filter((m6) => m6.id !== id);
173915
+ }
173916
+ }
173917
+ clearMessages() {
173918
+ this._activeMessages = [];
173919
+ }
173782
173920
  async launchTerminal() {
173783
173921
  const domtools20 = await this.domtoolsPromise;
173784
173922
  if (this.currentTerminal) {
@@ -173793,7 +173931,7 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
173793
173931
  maincontainer.appendChild(terminal);
173794
173932
  terminal.style.position = "absolute";
173795
173933
  terminal.style.zIndex = "10";
173796
- terminal.style.top = "0px";
173934
+ terminal.style.top = "var(--banner-area-height, 0px)";
173797
173935
  terminal.style.left = "240px";
173798
173936
  terminal.style.right = "0px";
173799
173937
  terminal.style.bottom = "24px";
@@ -173801,8 +173939,6 @@ var _DeesSimpleAppDash = class _DeesSimpleAppDash extends (_a89 = DeesElement, _
173801
173939
  terminal.style.transform = "translateY(8px) scale(0.99)";
173802
173940
  terminal.style.transition = "all 0.25s cubic-bezier(0.4, 0, 0.2, 1)";
173803
173941
  terminal.style.boxShadow = "0 25px 50px -12px rgb(0 0 0 / 0.5), 0 0 0 1px rgb(255 255 255 / 0.05)";
173804
- terminal.style.maxWidth = `calc(${maincontainer.clientWidth}px -240px)`;
173805
- terminal.style.maxHeight = `calc(${maincontainer.clientHeight}px - 24px)`;
173806
173942
  terminal.addEventListener("close", () => this.closeTerminal());
173807
173943
  await domtools20.convenience.smartdelay.delayFor(0);
173808
173944
  terminal.style.opacity = "1";
@@ -173839,11 +173975,15 @@ _init92 = __decoratorStart(_a89);
173839
173975
  _name2 = new WeakMap();
173840
173976
  _viewTabs = new WeakMap();
173841
173977
  _terminalSetupCommand = new WeakMap();
173978
+ _globalMessages = new WeakMap();
173842
173979
  _selectedView = new WeakMap();
173980
+ __activeMessages = new WeakMap();
173843
173981
  __decorateElement(_init92, 4, "name", _name_dec2, _DeesSimpleAppDash, _name2);
173844
173982
  __decorateElement(_init92, 4, "viewTabs", _viewTabs_dec, _DeesSimpleAppDash, _viewTabs);
173845
173983
  __decorateElement(_init92, 4, "terminalSetupCommand", _terminalSetupCommand_dec, _DeesSimpleAppDash, _terminalSetupCommand);
173984
+ __decorateElement(_init92, 4, "globalMessages", _globalMessages_dec, _DeesSimpleAppDash, _globalMessages);
173846
173985
  __decorateElement(_init92, 4, "selectedView", _selectedView_dec, _DeesSimpleAppDash, _selectedView);
173986
+ __decorateElement(_init92, 4, "_activeMessages", __activeMessages_dec, _DeesSimpleAppDash, __activeMessages);
173847
173987
  _DeesSimpleAppDash = __decorateElement(_init92, 0, "DeesSimpleAppDash", _DeesSimpleAppDash_decorators, _DeesSimpleAppDash);
173848
173988
  __name(_DeesSimpleAppDash, "DeesSimpleAppDash");
173849
173989
  // STATIC
@@ -174127,6 +174267,170 @@ __publicField(_DeesSimpleAppDash, "styles", [
174127
174267
  .control.status-terminal dees-icon {
174128
174268
  color: hsl(45 90% 55%);
174129
174269
  }
174270
+
174271
+ /* Global Message Banners */
174272
+ .messageBannerArea {
174273
+ position: absolute;
174274
+ top: 0;
174275
+ left: 240px;
174276
+ right: 0;
174277
+ z-index: 3;
174278
+ display: flex;
174279
+ flex-direction: column;
174280
+ transition: height 0.25s cubic-bezier(0.4, 0, 0.2, 1);
174281
+ }
174282
+
174283
+ .messageBanner {
174284
+ display: flex;
174285
+ align-items: center;
174286
+ gap: 12px;
174287
+ padding: 10px 16px;
174288
+ font-size: 13px;
174289
+ font-family: 'Geist Sans', sans-serif;
174290
+ font-weight: 500;
174291
+ border-bottom: 1px solid ${cssManager.bdTheme("hsl(0 0% 91%)", "hsl(0 0% 13%)")};
174292
+ animation: bannerSlideDown 0.25s cubic-bezier(0.4, 0, 0.2, 1) forwards;
174293
+ }
174294
+
174295
+ .messageBanner.dismissing {
174296
+ animation: bannerSlideUp 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
174297
+ }
174298
+
174299
+ @keyframes bannerSlideDown {
174300
+ from {
174301
+ opacity: 0;
174302
+ transform: translateY(-100%);
174303
+ }
174304
+ to {
174305
+ opacity: 1;
174306
+ transform: translateY(0);
174307
+ }
174308
+ }
174309
+
174310
+ @keyframes bannerSlideUp {
174311
+ from {
174312
+ opacity: 1;
174313
+ transform: translateY(0);
174314
+ }
174315
+ to {
174316
+ opacity: 0;
174317
+ transform: translateY(-100%);
174318
+ }
174319
+ }
174320
+
174321
+ .messageBanner dees-icon {
174322
+ font-size: 16px;
174323
+ flex-shrink: 0;
174324
+ }
174325
+
174326
+ .messageBanner-text {
174327
+ flex: 1;
174328
+ overflow: hidden;
174329
+ text-overflow: ellipsis;
174330
+ white-space: nowrap;
174331
+ }
174332
+
174333
+ .messageBanner-actions {
174334
+ display: flex;
174335
+ align-items: center;
174336
+ gap: 6px;
174337
+ flex-shrink: 0;
174338
+ }
174339
+
174340
+ .messageBanner-action {
174341
+ display: flex;
174342
+ align-items: center;
174343
+ gap: 6px;
174344
+ padding: 4px 12px;
174345
+ border-radius: 4px;
174346
+ cursor: default;
174347
+ font-size: 12px;
174348
+ font-weight: 600;
174349
+ letter-spacing: 0.01em;
174350
+ transition: all 0.15s ease;
174351
+ white-space: nowrap;
174352
+ background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.08)", "hsl(0 0% 100% / 0.1)")};
174353
+ color: inherit;
174354
+ }
174355
+
174356
+ .messageBanner-action:hover {
174357
+ background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.15)", "hsl(0 0% 100% / 0.18)")};
174358
+ }
174359
+
174360
+ .messageBanner-action:active {
174361
+ transform: scale(0.97);
174362
+ }
174363
+
174364
+ .messageBanner-action dees-icon {
174365
+ font-size: 13px;
174366
+ }
174367
+
174368
+ .messageBanner-dismiss {
174369
+ flex-shrink: 0;
174370
+ display: flex;
174371
+ align-items: center;
174372
+ justify-content: center;
174373
+ width: 24px;
174374
+ height: 24px;
174375
+ border-radius: 4px;
174376
+ cursor: default;
174377
+ opacity: 0.5;
174378
+ transition: all 0.15s ease;
174379
+ }
174380
+
174381
+ .messageBanner-dismiss:hover {
174382
+ opacity: 1;
174383
+ background: hsl(0 0% 0% / 0.1);
174384
+ }
174385
+
174386
+ /* Message type: info */
174387
+ .messageBanner-info {
174388
+ background: ${cssManager.bdTheme("hsl(210 100% 97%)", "hsl(210 50% 10%)")};
174389
+ color: ${cssManager.bdTheme("hsl(210 70% 30%)", "hsl(210 70% 80%)")};
174390
+ border-left: 3px solid #0084ff;
174391
+ }
174392
+ .messageBanner-info dees-icon {
174393
+ color: #0084ff;
174394
+ }
174395
+
174396
+ /* Message type: success */
174397
+ .messageBanner-success {
174398
+ background: ${cssManager.bdTheme("hsl(142 70% 97%)", "hsl(142 30% 10%)")};
174399
+ color: ${cssManager.bdTheme("hsl(142 50% 25%)", "hsl(142 50% 80%)")};
174400
+ border-left: 3px solid #22c55e;
174401
+ }
174402
+ .messageBanner-success dees-icon {
174403
+ color: #22c55e;
174404
+ }
174405
+
174406
+ /* Message type: warning */
174407
+ .messageBanner-warning {
174408
+ background: ${cssManager.bdTheme("hsl(38 90% 97%)", "hsl(38 40% 10%)")};
174409
+ color: ${cssManager.bdTheme("hsl(38 60% 25%)", "hsl(38 60% 80%)")};
174410
+ border-left: 3px solid #f59e0b;
174411
+ }
174412
+ .messageBanner-warning dees-icon {
174413
+ color: #f59e0b;
174414
+ }
174415
+
174416
+ /* Message type: error */
174417
+ .messageBanner-error {
174418
+ background: ${cssManager.bdTheme("hsl(0 70% 97%)", "hsl(0 40% 10%)")};
174419
+ color: ${cssManager.bdTheme("hsl(0 60% 30%)", "hsl(0 60% 80%)")};
174420
+ border-left: 3px solid #ef4444;
174421
+ }
174422
+ .messageBanner-error dees-icon {
174423
+ color: #ef4444;
174424
+ }
174425
+
174426
+ .messageBanner-dismiss:hover {
174427
+ background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.08)", "hsl(0 0% 100% / 0.1)")};
174428
+ }
174429
+
174430
+ .appcontent {
174431
+ top: var(--banner-area-height, 0px);
174432
+ height: calc(100% - 24px - var(--banner-area-height, 0px));
174433
+ }
174130
174434
  `
174131
174435
  ]);
174132
174436
  __runInitializers(_init92, 1, _DeesSimpleAppDash);