@kumori/aurora-wui-components 0.0.30 → 0.0.32

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.
@@ -1 +1 @@
1
- {"version":3,"file":"axebow-base-card.d.ts","sourceRoot":"","sources":["../../../src/components/cards/axebow-base-card.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,KAAK,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,SAAS,EACT,cAAc,EACd,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,iDAAiD,CAAC;AACzD,OAAO,+BAA+B,CAAC;AACvC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,+BAA+B,CAAC;AACvC,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,+BAA+B,CAAC;AAEvC,qBACa,cAAe,SAAQ,UAAU;IAC5C,MAAM,CAAC,MAAM,4BAmBX;IAEiE,QAAQ,EAAE,QAAQ,CAAa;IACtE,IAAI,SAAM;IACV,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,eAAe,SAAM;IACrB,KAAK,EAAE,SAAS,CAAU;IAC1B,QAAQ,SAAM;IAEf,SAAS,EAAE,aAAa,EAAE,CAAM;IAEhC,UAAU,EAAE,cAAc,EAAE,CAAM;IACjC,kBAAkB,SAAM;IAEzB,WAAW,EAAE,cAAc,EAAE,CAAM;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,YAAY,UAAS;IACtB,UAAU,SAAM;IAChB,gBAAgB,SAAM;IACtB,cAAc,SAAsB;IACnC,aAAa,UAAS;IACtB,WAAW,UAAS;IACpB,UAAU,UAAS;IACnB,UAAU,UAAS;IAErB,SAAS,EAAE,YAAY,EAAE,CAAM;IAC9B,iBAAiB,SAAM;IACtB,UAAU,UAAS;IACpB,aAAa,SAAc;IAE5B,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACrC,iBAAiB,SAAM;IACvB,QAAQ,SAA2B;IAEnC,WAAW,SAAM;IACjB,UAAU,SAAM;IAChB,aAAa,SAAM;IACnB,kBAAkB,SAAoB;IAErC,gBAAgB,UAAS;IACzB,iBAAiB,UAAS;IAC3B,WAAW,SAAY;IACvB,aAAa,SAAoB;IACjC,iBAAiB,SAA0B;IAC3C,iBAAiB,SAAoB;IACrC,QAAQ,SAAS;IACjB,iBAAiB,SAAM;IAEtB,eAAe,UAAS;IAC1B,kBAAkB,EAAE,cAAc,EAAE,CAAM;IACxC,UAAU,UAAS;IACpB,UAAU,SAAW;IACrB,gBAAgB,SAAU;IAE1B,aAAa,SAAe;IAC5B,aAAa,SAAyB;IACtC,YAAY,SAAgD;IAC5D,OAAO,SAAsB;IAC7B,OAAO,SAA+B;IAEtC,IAAI,SAAM;IACV,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;IACtD,gBAAgB,SAA2B;IAEvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAKlC;IAEF,MAAM;CAwIP"}
1
+ {"version":3,"file":"axebow-base-card.d.ts","sourceRoot":"","sources":["../../../src/components/cards/axebow-base-card.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,KAAK,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,SAAS,EACT,cAAc,EACd,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,iDAAiD,CAAC;AACzD,OAAO,+BAA+B,CAAC;AACvC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,+BAA+B,CAAC;AACvC,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,+BAA+B,CAAC;AAEvC,qBACa,cAAe,SAAQ,UAAU;IAC5C,MAAM,CAAC,MAAM,4BAmBX;IAEiE,QAAQ,EAAE,QAAQ,CAAa;IACtE,IAAI,SAAM;IACV,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,eAAe,SAAM;IACrB,KAAK,EAAE,SAAS,CAAU;IAC1B,QAAQ,SAAM;IAEf,SAAS,EAAE,aAAa,EAAE,CAAM;IAEhC,UAAU,EAAE,cAAc,EAAE,CAAM;IACjC,kBAAkB,SAAM;IAEzB,WAAW,EAAE,cAAc,EAAE,CAAM;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,YAAY,UAAS;IACtB,UAAU,SAAM;IAChB,gBAAgB,SAAM;IACtB,cAAc,SAAsB;IACnC,aAAa,UAAS;IACtB,WAAW,UAAS;IACpB,UAAU,UAAS;IACnB,UAAU,UAAS;IAErB,SAAS,EAAE,YAAY,EAAE,CAAM;IAC9B,iBAAiB,SAAM;IACtB,UAAU,UAAS;IACpB,aAAa,SAAc;IAE5B,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACrC,iBAAiB,SAAM;IACvB,QAAQ,SAA2B;IAEnC,WAAW,SAAM;IACjB,UAAU,SAAM;IAChB,aAAa,SAAM;IACnB,kBAAkB,SAAoB;IAErC,gBAAgB,UAAS;IACzB,iBAAiB,UAAS;IAC3B,WAAW,SAAY;IACvB,aAAa,SAAoB;IACjC,iBAAiB,SAA0B;IAC3C,iBAAiB,SAAoB;IACrC,QAAQ,SAAS;IACjB,iBAAiB,SAAM;IAEtB,eAAe,UAAS;IAC1B,kBAAkB,EAAE,cAAc,EAAE,CAAM;IACxC,UAAU,UAAS;IACpB,UAAU,SAAW;IACrB,gBAAgB,SAAU;IAE1B,aAAa,SAAe;IAC5B,aAAa,SAAyB;IACtC,YAAY,SAAgD;IAC5D,OAAO,SAAsB;IAC7B,OAAO,SAA+B;IAEtC,IAAI,SAAM;IACV,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;IACtD,gBAAgB,SAA2B;IAEvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAKlC;IAEF,MAAM;CAyIP"}
@@ -1 +1 @@
1
- {"version":3,"file":"axebow-card-resource-table.d.ts","sourceRoot":"","sources":["../../../../src/components/cards/parts/axebow-card-resource-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,KAAK,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,mCAAmC,CAAC;AAC3C,OAAO,gCAAgC,CAAC;AACxC,OAAO,+BAA+B,CAAC;AAEvC,qBACa,uBAAwB,SAAQ,UAAU;IACrD,MAAM,CAAC,MAAM,4BAGX;IAEyB,IAAI,EAAE,cAAc,EAAE,CAAM;IAC3B,kBAAkB,SAAM;IACxB,QAAQ,EAAE,QAAQ,CAAa;IAC9B,WAAW,UAAS;IACpB,gBAAgB,UAAS;IACzB,iBAAiB,UAAS;IAC3B,WAAW,SAAY;IACvB,aAAa,SAAoB;IACjC,iBAAiB,SAA0B;IAC3C,iBAAiB,SAAoB;IACrC,QAAQ,SAAS;IACjB,iBAAiB,SAAM;IAEnD,OAAO,CAAC,aAAa;IAKrB,MAAM;CAkDP"}
1
+ {"version":3,"file":"axebow-card-resource-table.d.ts","sourceRoot":"","sources":["../../../../src/components/cards/parts/axebow-card-resource-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,KAAK,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,mCAAmC,CAAC;AAC3C,OAAO,gCAAgC,CAAC;AACxC,OAAO,+BAA+B,CAAC;AAEvC,qBACa,uBAAwB,SAAQ,UAAU;IACrD,MAAM,CAAC,MAAM,4BAGX;IAEyB,IAAI,EAAE,cAAc,EAAE,CAAM;IAC3B,kBAAkB,SAAM;IACxB,QAAQ,EAAE,QAAQ,CAAa;IAC9B,WAAW,UAAS;IACpB,gBAAgB,UAAS;IACzB,iBAAiB,UAAS;IAC3B,WAAW,SAAY;IACvB,aAAa,SAAoB;IACjC,iBAAiB,SAA0B;IAC3C,iBAAiB,SAAoB;IACrC,QAAQ,SAAS;IACjB,iBAAiB,SAAM;IAEnD,OAAO,CAAC,aAAa;IAKrB,MAAM;CAqDP"}
@@ -1,8 +1,10 @@
1
1
  import { LitElement } from 'lit';
2
- import { MainStatsType } from '../card.models.js';
2
+ import { CardType, MainStatsType } from '../card.models.js';
3
3
  export declare class AxebowCardStatsRow extends LitElement {
4
4
  static styles: import('lit').CSSResult[];
5
5
  stats: MainStatsType[];
6
+ cardType: CardType;
7
+ private _hasButtons;
6
8
  render(): import('lit-html').TemplateResult<1>;
7
9
  private _handleLabelClick;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"axebow-card-stats-row.d.ts","sourceRoot":"","sources":["../../../../src/components/cards/parts/axebow-card-stats-row.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,KAAK,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,4BAA4B,CAAC;AAEpC,qBACa,kBAAmB,SAAQ,UAAU;IAChD,MAAM,CAAC,MAAM,4BAGX;IAEyB,KAAK,EAAE,aAAa,EAAE,CAAM;IAEvD,MAAM;IAkBN,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"axebow-card-stats-row.d.ts","sourceRoot":"","sources":["../../../../src/components/cards/parts/axebow-card-stats-row.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,KAAK,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,4BAA4B,CAAC;AAEpC,qBACa,kBAAmB,SAAQ,UAAU;IAChD,MAAM,CAAC,MAAM,4BAGX;IAEyB,KAAK,EAAE,aAAa,EAAE,CAAM;IAC3B,QAAQ,EAAE,QAAQ,CAAa;IAE3D,OAAO,CAAC,WAAW;IAInB,MAAM;IAoBN,OAAO,CAAC,iBAAiB;CAK1B"}
package/dist/index.js CHANGED
@@ -634,13 +634,17 @@ var AxebowCardStatsRow = class AxebowCardStatsRow extends LitElement {
634
634
  constructor(..._args) {
635
635
  super(..._args);
636
636
  this.stats = [];
637
+ this.cardType = "account";
637
638
  }
638
639
  static {
639
640
  this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
640
641
  }
642
+ _hasButtons() {
643
+ return this.cardType === "account" || this.cardType === "environment";
644
+ }
641
645
  render() {
642
646
  return html`
643
- <div class="grid grid-cols-3 gap-1 w-91 h-11.25 box-border">
647
+ <div class="grid grid-cols-3 gap-1 w-91 ${this._hasButtons() ? "h-17.25" : "h-11.25"} box-border">
644
648
  ${this.stats.map((stat, index) => html`
645
649
  <axebow-card-stat-item
646
650
  .value=${stat.value}
@@ -662,6 +666,7 @@ var AxebowCardStatsRow = class AxebowCardStatsRow extends LitElement {
662
666
  }
663
667
  };
664
668
  __decorate([property({ type: Array })], AxebowCardStatsRow.prototype, "stats", void 0);
669
+ __decorate([property({ type: String })], AxebowCardStatsRow.prototype, "cardType", void 0);
665
670
  AxebowCardStatsRow = __decorate([customElement("axebow-card-stats-row")], AxebowCardStatsRow);
666
671
  //#endregion
667
672
  //#region src/components/cards/parts/axebow-card-filter-item.ts
@@ -677,7 +682,7 @@ var AxebowCardFilterItem = class AxebowCardFilterItem extends LitElement {
677
682
  render() {
678
683
  return html`
679
684
  <div
680
- class="w-full py-1 px-2 flex justify-between items-center border-t border-(--axebow-light-gray) cursor-pointer hover:bg-(--axebow-light-gray)"
685
+ class="w-full py-1 px-2 flex justify-between items-center cursor-pointer hover:bg-(--axebow-light-gray)"
681
686
  @click=${this._onClick}
682
687
  >
683
688
  <p class="m-0">${this.name}</p>
@@ -815,7 +820,7 @@ var AxebowCardTableHeader = class AxebowCardTableHeader extends LitElement {
815
820
  <p class="w-full p-2 cursor-pointer m-0 hover:bg-(--axebow-light-gray)" @click=${() => this._onSelect("", "all")}>${this.allLabel}</p>
816
821
  ${this.filterRoles.map((role) => html`
817
822
  <div
818
- class="w-full py-1 px-2 flex justify-between items-center border-t border-(--axebow-light-gray) cursor-pointer hover:bg-(--axebow-light-gray)"
823
+ class="w-full py-1 px-2 flex justify-between items-center cursor-pointer hover:bg-(--axebow-light-gray)"
819
824
  @click=${() => this._onSelect(role.name, "role")}
820
825
  >
821
826
  <div class="flex items-center gap-2">
@@ -825,7 +830,7 @@ var AxebowCardTableHeader = class AxebowCardTableHeader extends LitElement {
825
830
  </div>
826
831
  ${role.instances.map((inst) => html`
827
832
  <div
828
- class="w-full py-1 px-2 pl-6 flex justify-between items-center border-t border-(--axebow-light-gray) cursor-pointer hover:bg-(--axebow-light-gray)"
833
+ class="w-full py-1 px-2 pl-6 flex justify-between items-center cursor-pointer hover:bg-(--axebow-light-gray)"
829
834
  @click=${() => this._onSelect(inst.name, "instance")}
830
835
  >
831
836
  <div class="flex items-center gap-2">
@@ -1087,7 +1092,7 @@ var AxebowCardResourceTable = class AxebowCardResourceTable extends LitElement {
1087
1092
  const lastVisible = visibleRows[visibleRows.length - 1];
1088
1093
  return html`
1089
1094
  <div class="w-87 box-border">
1090
- <div class="grid grid-cols-[auto_auto_1fr_auto] gap-x-2 w-87 px-2 box-border border-b border-(--axebow-light-gray)">
1095
+ <div class="grid grid-cols-[auto_auto_1fr_auto] gap-x-2 w-87 px-2 box-border ${showWarning || showAttention || showAction ? "border-b border-(--axebow-light-gray)" : ""}">
1091
1096
  ${this.rows.map((stat) => html`
1092
1097
  <axebow-card-resource-row
1093
1098
  .stat=${stat}
@@ -1097,28 +1102,30 @@ var AxebowCardResourceTable = class AxebowCardResourceTable extends LitElement {
1097
1102
  `)}
1098
1103
  </div>
1099
1104
 
1100
- ${showWarning ? html`<axebow-card-attention-banner
1101
- .invalidCredentials=${true}
1102
- .isPlainRole=${this.isPlainRole}
1103
- .manageLabel=${this.manageLabel}
1104
- .askOwnerLabel=${this.askOwnerLabel}
1105
- .invalidCredsLabel=${this.invalidCredsLabel}
1106
- .limitReachedLabel=${this.limitReachedLabel}
1107
- .andLabel=${this.andLabel}
1108
- ></axebow-card-attention-banner>` : showAttention ? html`<axebow-card-attention-banner
1109
- .cardType=${this.cardType}
1110
- .tableStats=${this.rows}
1111
- .threshold=${this.attentionThreshold}
1105
+ <div class="h-6.5 box-border">
1106
+ ${showWarning ? html`<axebow-card-attention-banner
1107
+ .invalidCredentials=${true}
1112
1108
  .isPlainRole=${this.isPlainRole}
1113
1109
  .manageLabel=${this.manageLabel}
1114
1110
  .askOwnerLabel=${this.askOwnerLabel}
1115
1111
  .invalidCredsLabel=${this.invalidCredsLabel}
1116
1112
  .limitReachedLabel=${this.limitReachedLabel}
1117
1113
  .andLabel=${this.andLabel}
1118
- ></axebow-card-attention-banner>` : showAction ? html`<axebow-card-action-banner .label=${this.actionBannerLabel} @action-click=${() => this.dispatchEvent(new CustomEvent("action-click", {
1114
+ ></axebow-card-attention-banner>` : showAttention ? html`<axebow-card-attention-banner
1115
+ .cardType=${this.cardType}
1116
+ .tableStats=${this.rows}
1117
+ .threshold=${this.attentionThreshold}
1118
+ .isPlainRole=${this.isPlainRole}
1119
+ .manageLabel=${this.manageLabel}
1120
+ .askOwnerLabel=${this.askOwnerLabel}
1121
+ .invalidCredsLabel=${this.invalidCredsLabel}
1122
+ .limitReachedLabel=${this.limitReachedLabel}
1123
+ .andLabel=${this.andLabel}
1124
+ ></axebow-card-attention-banner>` : showAction ? html`<axebow-card-action-banner .label=${this.actionBannerLabel} @action-click=${() => this.dispatchEvent(new CustomEvent("action-click", {
1119
1125
  bubbles: true,
1120
1126
  composed: true
1121
1127
  }))}></axebow-card-action-banner>` : ""}
1128
+ </div>
1122
1129
  </div>
1123
1130
  `;
1124
1131
  }
@@ -1375,6 +1382,7 @@ var AxebowBaseCard = class AxebowBaseCard extends LitElement {
1375
1382
  ` : html`
1376
1383
  <axebow-card-stats-row
1377
1384
  .stats=${this.mainStats}
1385
+ .cardType=${this.cardType}
1378
1386
  @stat-label-click=${(e) => !this.isDeleting && this.dispatchEvent(new CustomEvent("stat-label-click", {
1379
1387
  detail: e.detail,
1380
1388
  bubbles: true,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/styles/axebow-theme.ts","../src/components/axebow-icon/axebow-icon.ts","../src/components/axebow-more-actions/axebow-more-actions.ts","../src/components/cards/parts/axebow-card-cloud-logo.ts","../src/components/cards/parts/axebow-card-version-selector.ts","../src/components/cards/parts/axebow-role-tooltip.ts","../src/components/cards/parts/axebow-card-header.ts","../src/components/cards/parts/axebow-card-stat-item.ts","../src/components/cards/parts/axebow-card-stats-row.ts","../src/components/cards/parts/axebow-card-filter-item.ts","../src/components/cards/parts/axebow-card-filter.ts","../src/components/cards/parts/axebow-card-table-header.ts","../src/components/cards/parts/axebow-card-special-link.ts","../src/components/cards/parts/axebow-card-attention-banner.ts","../src/components/cards/parts/axebow-card-action-banner.ts","../src/components/cards/parts/axebow-card-resource-row.ts","../src/components/cards/parts/axebow-card-resource-table.ts","../src/components/cards/parts/axebow-card-status.ts","../src/components/cards/parts/axebow-card-footer.ts","../src/components/cards/axebow-base-card.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const axebowTheme = css`\n :host, .theme {\n --axebow-primary: var(--color-primary, #34495e);\n --axebow-primary-light: var(--color-primary-light, #b4cded);\n --axebow-tertiary: var(--color-tertiary, #006bff);\n --axebow-success: var(--color-success, #0ecd9a);\n --axebow-secondary: var(--color-secondary, #78787a);\n --axebow-base: var(--color-base, #f0f1f5);\n --axebow-error: var(--color-error, #e93a3a);\n --axebow-white: var(--color-white, #ffffff);\n --axebow-black: var(--color-black, #000000);\n --axebow-warning: var(--color-warning, #f9cf6c);\n --axebow-table-border: var(--color-table-border, #ddd);\n --axebow-gray: var(--color-gray, #8a94ae);\n --axebow-light-gray: var(--color-light-gray, #d9d9d9);\n\n --axebow-clickable-blue: var(--color-clickable-blue, #006bff);\n --axebow-sky-gray: var(--color-sky-gray, #8a94ee);\n --axebow-rich-black: var(--color-rich-black, #0d1821);\n --axebow-anti-flash-white: var(--color-anti-flash-white, #f0f1f5);\n --axebow-strong-gray: var(--color-strong-gray, #78787a);\n\n --axebow-bg-primary: var(--color-bg-primary, #f0f1f5);\n\n --axebow-text-gray: var(--color-text-gray, #78787a);\n\n --axebow-premium-label: var(--color-premium-label, #b9935a33);\n --axebow-premium-text: var(--color-premium-text, #b9935a);\n --axebow-deleting-link: var(--color-deleting-link, #a0a0a0);\n --axebow-border-gray: var(--color-border-gray, #9ca3af);\n font-family: var(--font-sans, \"Open Sans\", sans-serif);\n font-size: var(--text-base, 0.75rem);\n line-height: var(--text-base--line-height, 1rem);\n }\n\n /** Axebow switch */\n sl-switch::part(control) {\n background-color: var(--axebow-light-gray);\n }\n sl-switch[checked]::part(control) {\n background-color: var(--axebow-tertiary);\n }\n sl-switch::part(thumb) {\n background-color: white;\n }\n\n /** Axebow checkbox */\n sl-checkbox[checked]::part(control) {\n background-color: var(--axebow-tertiary);\n border-color: var(--axebow-tertiary);\n }\n\n /** Axebow select and input global focus */\n sl-input:focus-within::part(base),\n sl-select:focus-within::part(combobox) {\n border-color: var(--axebow-black) !important;\n box-shadow: 0 0 0 1px var(--axebow-black) !important;\n }\n sl-select sl-option:hover::part(base) {\n background-color: #e9ecef;\n }\n sl-select {\n --sl-color-primary-50: var(--axebow-tertiary);\n --sl-color-primary-600: var(--axebow-tertiary);\n }\n sl-select sl-option[checked]::part(base),\n sl-select sl-option[current]::part(base),\n sl-select sl-option[aria-selected='true']::part(base) {\n background-color: var(--axebow-tertiary) !important;\n color: white !important;\n }\n\n /** Axebow tab group */\n sl-tab-group {\n --indicator-color: var(--axebow-tertiary);\n }\n sl-tab {\n --sl-font-size-small: var(--text-base); /* 12px */\n }\n sl-tab::part(base) {\n font-size: var(--text-base); /* 12px */\n }\n sl-tab[active]::part(base) {\n color: var(--axebow-tertiary);\n }\n sl-tab:hover::part(base) {\n color: var(--axebow-tertiary);\n }\n`;\n\nexport const STATUS_COLORS = {\n HEALTHY: 'var(--axebow-success)',\n ERROR: 'var(--axebow-error)',\n WARNING: 'var(--axebow-warning)',\n DEFAULT: 'var(--axebow-gray)',\n} as const;\n","import tailwindCss from '../../styles/tailwind.css?inline';\nimport { html, unsafeCSS, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('axebow-icon')\nexport class AxebowIcon extends LitElement {\n @property({ type: String }) iconName = 'home';\n @property({ type: String }) iconColor = 'var(--axebow-primary)';\n @property({ type: Number }) rotate = 0;\n @property({ type: Boolean }) filled = false;\n @property({ type: String }) size: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' = 'medium';\n @property({ type: Number }) marginBottom = 0;\n\n static styles = unsafeCSS(tailwindCss);\n\n render() {\n const filled = \"[font-variation-settings:'FILL'_1,'wght'_400,'GRAD'_0,'opsz'_24]\";\n const outlined = \"[font-variation-settings:'FILL'_0,'wght'_400,'GRAD'_0,'opsz'_24]\";\n return html`\n <span\n class=\"font-[Material_Symbols_Outlined] inline-block align-middle whitespace-nowrap ${this.filled\n ? filled\n : outlined}\"\n style=\"color: ${this.iconColor}; transform: rotate(${this.rotate}deg); font-size: ${this.size === 'xx-small'\n ? 'var(--text-sm)'\n : this.size === 'x-small'\n ? 'var(--text-base)'\n : this.size === 'small'\n ? 'var(--text-lg)'\n : this.size === 'medium'\n ? 'var(--text-2xl)'\n : this.size === 'large'\n ? 'var(--text-4xl)'\n : this.size === 'x-large'\n ? 'var(--text-6xl)'\n : 'var(--text-2xl)'};\n margin-bottom: ${this.size === 'xx-small'\n ? '0'\n : this.size === 'x-small'\n ? '0'\n : this.size === 'small'\n ? '0'\n : this.size === 'medium'\n ? '0'\n : this.size === 'large'\n ? '0.375rem'\n : this.size === 'x-large'\n ? '0.5rem'\n : `${this.marginBottom}px`};\"\n >\n ${this.iconName}\n </span>\n `;\n }\n}\n","import tailwindCss from '../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ActionMenuItem } from './../cards/card.models.js';\nimport '../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-more-actions')\nexport class AxebowMoreActions extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: inline-block; }`,\n ];\n\n @property({ type: Boolean }) open = false;\n @property({ type: String }) placement: 'top' | 'bottom' = 'bottom';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Array }) options: ActionMenuItem[] = [];\n @property({ type: String }) title = '';\n @property({ type: String }) iconName = '';\n @property({ type: Boolean }) openToRight = false;\n @property({ type: String }) closeLabel = 'Close';\n @property({ type: String }) moreActionsLabel = 'More';\n\n @state() private _fixedPos = { top: 0, right: 0 };\n\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleOutsideClick);\n window.addEventListener('scroll', this._handleScroll, true);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('click', this._handleOutsideClick);\n window.removeEventListener('scroll', this._handleScroll, true);\n }\n\n private _handleOutsideClick = (e: MouseEvent) => {\n if (this.open && !this.contains(e.target as Node)) {\n this.open = false;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: false } }));\n }\n };\n\n private _handleScroll = () => {\n if (this.open && this.openToRight) {\n this.open = false;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: false } }));\n }\n };\n\n private _toggle(e: Event) {\n if (this.disabled) return;\n e.stopPropagation();\n if (!this.open && this.openToRight) {\n const btn = this.shadowRoot?.querySelector<HTMLElement>('.trigger');\n if (btn) {\n const rect = btn.getBoundingClientRect();\n this._fixedPos = { top: rect.bottom + 8, right: window.innerWidth - rect.right };\n }\n }\n this.open = !this.open;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: this.open } }));\n }\n\n private _handleSlotClick() {\n this.open = false;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: false } }));\n }\n\n render() {\n const placementClass = this.placement === 'top' ? 'bottom-full mb-2' : 'top-full mt-2';\n const dropdownStyle = this.openToRight\n ? `position:fixed;top:${this._fixedPos.top}px;right:${this._fixedPos.right}px;z-index:1000;`\n : '';\n\n return html`\n <div class=\"relative w-full h-full flex justify-end\">\n <button\n class=\"trigger relative font-semibold text-xs text-(--axebow-tertiary) cursor-pointer py-1 px-2 h-full bg-transparent border-none transition-all duration-200 flex items-center hover:text-[var(--axebow-gray)] hover:bg-[var(--axebow-anti-flash-white)] hover:rounded-lg disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none\"\n ?disabled=${this.disabled}\n @click=${this._toggle}\n >\n ${this.iconName\n ? html`<axebow-icon iconName=${this.iconName} size=\"small\" iconColor=\"var(--axebow-tertiary)\"></axebow-icon>`\n : this.open ? this.closeLabel : (this.title || this.moreActionsLabel)}\n </button>\n ${this.open\n ? html`\n <div\n class=\"absolute right-0 z-10 bg-white border border-(--axebow-gray) rounded-lg shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] p-2 min-w-44 flex flex-col ${placementClass}\"\n style=${dropdownStyle}\n @click=${this._handleSlotClick}\n >\n ${this.options?.length\n ? this.options.map(\n (opt) => html`\n <button\n class=\"flex items-center gap-2 text-left py-1 px-2 cursor-pointer rounded-sm border border-transparent bg-transparent w-full hover:bg-gray-100\"\n @click=${(e: Event) => {\n e.stopPropagation();\n opt.onTap(e);\n this.open = false;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: false } }));\n }}\n @mouseenter=${(e: Event) => ((e.currentTarget as HTMLElement).style.borderColor = `var(--axebow-${opt.type})`)}\n @mouseleave=${(e: Event) => ((e.currentTarget as HTMLElement).style.borderColor = 'transparent')}\n >\n <axebow-icon iconName=${opt.icon} iconColor=\"var(--axebow-${opt.type})\" size=\"small\"></axebow-icon>\n <p class=\"m-0 whitespace-nowrap\" style=\"color:var(--axebow-${opt.type});\">${opt.label}</p>\n </button>\n `\n )\n : html`<slot></slot>`}\n </div>\n `\n : ''}\n </div>\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('axebow-card-cloud-logo')\nexport class AxebowCardCloudLogo extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: contents; }`,\n ];\n\n @property({ type: String }) src: string | null = null;\n @property({ type: String }) size: 'small' | 'large' = 'large';\n\n render() {\n if (!this.src) return html``;\n\n return this.size === 'small'\n ? html`<div class=\"flex items-center justify-center shrink-0\" style=\"height:1.125rem;width:1.125rem;\"><img src=${this.src} class=\"max-h-full max-w-full object-contain\" /></div>`\n : html`<div class=\"flex items-center justify-center shrink-0\" style=\"height:3.125rem;width:3.125rem;\"><img src=${this.src} class=\"max-h-full max-w-full object-contain\" /></div>`;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { RevisionItem } from '../card.models.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-version-selector')\nexport class AxebowCardVersionSelector extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: inline-block; width: auto; max-width: 120px; margin-block: 0.25rem; }\n sl-select {\n --sl-input-background-color: transparent;\n --sl-input-border-color: transparent;\n --sl-input-background-color-focus: transparent;\n --sl-input-border-color-focus: transparent;\n --sl-focus-ring-width: 0px;\n --sl-color-primary-500: var(--axebow-tertiary);\n --sl-color-primary-600: var(--axebow-tertiary);\n --sl-input-spacing-small: 0.1875rem;\n --sl-input-height-small: auto;\n --sl-input-font-size-small: var(--text-base, 0.75rem);\n --sl-font-size-medium: var(--text-base, 0.75rem);\n --sl-spacing-small: 0;\n display: inline-flex !important;\n border: none;\n background: transparent;\n padding: 0;\n margin: 0;\n min-width: 0;\n width: fit-content !important;\n max-width: 120px !important;\n }\n sl-select::part(form-control) {\n display: inline-block;\n width: fit-content;\n border: none;\n background-color: transparent;\n padding: 0;\n min-width: 0;\n }\n sl-select::part(form-control-input) {\n display: inline-block;\n width: fit-content;\n }\n sl-select::part(display-input) { padding: 0; color: var(--axebow-tertiary); font-size: 0.75rem !important; transition: color 0.15s ease; }\n sl-select::part(combobox) {\n padding-inline-start: 0.25rem !important;\n padding-block: 0.125rem !important;\n gap: 0.25rem !important;\n justify-content: flex-start;\n cursor: pointer;\n border: none;\n outline: 1px solid transparent;\n outline-offset: -1px;\n border-radius: 0.375rem;\n background-color: transparent;\n transition: background-color 0.15s ease, outline-color 0.15s ease;\n }\n sl-select[open]::part(combobox) {\n outline-color: var(--axebow-tertiary);\n border-radius: 0.375rem 0.375rem 0 0;\n background-color: white;\n }\n sl-select::part(expand-icon) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 1.125rem;\n height: 1.125rem;\n border: 1px solid var(--axebow-tertiary);\n border-radius: 0.25rem;\n color: var(--axebow-tertiary);\n background-color: transparent;\n transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;\n }\n sl-select::part(listbox) {\n border-color: var(--axebow-tertiary);\n border-top: none;\n border-radius: 0 0 0.375rem 0.375rem;\n box-shadow: none;\n margin-top: -1px;\n }\n sl-option::part(base) { font-size: 0.75rem; padding-inline-start: 0.25rem !important; }\n sl-option::part(checked-icon) { display: none; }\n\n sl-select:hover::part(display-input) { color: var(--axebow-gray); }\n sl-select:hover::part(expand-icon) { color: var(--axebow-gray); border-color: var(--axebow-gray); }\n\n sl-select[open]::part(expand-icon) {\n color: white;\n border-color: var(--axebow-tertiary);\n background-color: var(--axebow-tertiary);\n }\n `,\n ];\n\n @property({ type: Array }) revisions: RevisionItem[] = [];\n @property({ type: String }) displayedRevision = '';\n\n private _formatRevision(id: string): string {\n if (!id) return '';\n const parts = id.split('/');\n return parts[parts.length - 1] ?? id;\n }\n\n render() {\n return html`\n <sl-select size=\"small\" value=${this.displayedRevision} @sl-change=${this._onChange}>\n ${this.revisions.map(\n (rev) => html`\n <sl-option value=${rev.id}>\n ${this._formatRevision(rev.id)}\n ${rev.id !== this.displayedRevision\n ? html`<axebow-icon slot=\"suffix\" iconName=\"update\" iconColor=\"var(--axebow-tertiary)\" size=\"small\"></axebow-icon>`\n : ''}\n </sl-option>\n `\n )}\n </sl-select>\n `;\n }\n\n private _onChange(e: CustomEvent) {\n const revision = (e.target as HTMLSelectElement).value;\n this.dispatchEvent(new CustomEvent('revision-change', { detail: { revision }, bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '@shoelace-style/shoelace/dist/components/tooltip/tooltip.js';\n\n@customElement('axebow-role-tooltip')\nexport class AxebowRoleTooltip extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: contents; }\n sl-tooltip::part(body) {\n background-color: var(--axebow-white);\n color: var(--axebow-primary);\n padding: 1rem;\n border: 3px solid var(--axebow-table-border);\n width: 280px;\n }\n ul {\n margin: 0.5rem 0 0;\n padding-left: 1.2rem;\n list-style: disc;\n }\n li {\n font-size: 0.8rem;\n line-height: 1.5;\n }\n `,\n ];\n\n @property({ type: String }) heading = '';\n @property({ type: Array }) items: string[] = [];\n @property({ type: String }) color = 'var(--axebow-primary)';\n\n render() {\n if (!this.heading) return html``;\n\n return html`\n <sl-tooltip placement=\"right\" hoist>\n <div slot=\"content\">\n <strong>${this.heading}</strong>\n <ul>\n ${this.items.map((item) => html`<li>${item}</li>`)}\n </ul>\n </div>\n <axebow-icon iconName=\"info\" size=\"small\" class=\"cursor-pointer\" iconColor=${this.color}></axebow-icon>\n </sl-tooltip>\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardBadge, CardType, RevisionItem, RoleTooltipContent } from '../card.models.js';\nimport '@shoelace-style/shoelace/dist/components/tooltip/tooltip.js';\nimport '@shoelace-style/shoelace/dist/components/badge/badge.js';\nimport '../../axebow-icon/axebow-icon.js';\nimport './axebow-card-cloud-logo.js';\nimport './axebow-card-version-selector.js';\nimport './axebow-role-tooltip.js';\n\n@customElement('axebow-card-header')\nexport class AxebowCardHeader extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; }\n sl-badge::part(base) { background-color: var(--axebow-secondary); color: white; }\n `,\n ];\n\n @property({ type: String }) logoSrc: string | null = null;\n @property({ type: String }) tenantOrAccount = '';\n @property({ type: String }) name = '';\n @property({ type: String }) badge: CardBadge = 'none';\n @property({ type: String }) subtitle = '';\n @property({ type: String }) cardType: CardType = 'account';\n @property({ type: Array }) revisions: RevisionItem[] = [];\n @property({ type: String }) displayedRevision = '';\n @property({ type: String }) freeIaasLabel = 'Free IaaS';\n @property({ type: String }) freeIaasTitle = 'Free Infrastructure';\n @property({ type: String }) freeIaasDesc = 'This environment uses free infrastructure.';\n @property({ type: String }) haLabel = 'Highly Available';\n @property({ type: String }) haTitle = 'High Availability enabled';\n @property({ type: String }) role = '';\n @property({ type: Object }) roleTooltips: Record<string, RoleTooltipContent> = {};\n @property({ type: String }) roleTooltipColor = 'var(--axebow-primary)';\n\n private _renderBadge() {\n if (this.badge === 'free-iaas') {\n return html`\n <sl-tooltip>\n <div slot=\"content\" style=\"max-width:300px;\">\n <strong>${this.freeIaasTitle}</strong>\n <p style=\"margin-top:0.5rem;\">${this.freeIaasDesc}</p>\n </div>\n <div class=\"flex items-center gap-2 cursor-pointer\">\n <axebow-icon iconName=\"info\" iconColor=\"var(--axebow-gray)\" size=\"small\"></axebow-icon>\n <span class=\"text-(--axebow-rich-black)\">${this.freeIaasLabel}</span>\n </div>\n </sl-tooltip>\n `;\n }\n if (this.badge === 'ha') {\n return html`\n <sl-tooltip content=${this.haTitle}>\n <sl-badge variant=\"neutral\" pill size=\"small\" class=\"cursor-pointer\">${this.haLabel}</sl-badge>\n </sl-tooltip>\n `;\n }\n return html``;\n }\n\n private _headerHeight(): string {\n switch (this.cardType) {\n case 'tenant':\n return '4.5625rem';\n case 'environment':\n return '3.6875rem';\n case 'account':\n case 'runtime':\n default:\n return '4.125rem';\n }\n }\n\n render() {\n const isTenant = this.cardType === 'tenant';\n const isCompact = this.cardType === 'environment' || isTenant;\n const isRuntime = this.cardType === 'runtime';\n const heightStyle = `height:${this._headerHeight()}`;\n\n if (isCompact) {\n return html`\n <div class=\"w-full bg-(--axebow-anti-flash-white) rounded-lg flex flex-col justify-center px-5 py-3 box-border\" style=${heightStyle}>\n <div class=\"flex flex-col flex-1 min-w-0\">\n ${this.tenantOrAccount || this.logoSrc\n ? html`\n <div class=\"flex gap-2 items-center leading-none mt-1\">\n <axebow-card-cloud-logo .src=${this.logoSrc} size=\"small\"></axebow-card-cloud-logo>\n <span class=\"font-semibold text-(--axebow-gray) leading-none\">${this.tenantOrAccount}</span>\n </div>\n `\n : ''}\n <div class=\"flex justify-between items-center\">\n <span class=\"font-bold text-xl text-(--axebow-primary) leading-snug pt-0.5\">${this.name}</span>\n ${this._renderBadge()}\n </div>\n ${this.subtitle\n ? html`\n <div class=\"text-(--axebow-gray) flex items-center gap-1 mt-1\">\n ${this.subtitle}\n ${isTenant && this.roleTooltips[this.role]\n ? html`\n <axebow-role-tooltip\n .heading=${this.roleTooltips[this.role].title}\n .items=${this.roleTooltips[this.role].items}\n color=${this.roleTooltipColor}\n ></axebow-role-tooltip>\n `\n : html`<slot name=\"subtitle-tooltip\"></slot>`}\n </div>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n return html`\n <div class=\"w-full bg-(--axebow-anti-flash-white) rounded-lg flex items-center gap-3 py-2 px-3 box-border\" style=${heightStyle}>\n <axebow-card-cloud-logo .src=${this.logoSrc} size=\"large\"></axebow-card-cloud-logo>\n <div class=\"flex flex-col flex-1 min-w-0 ${isRuntime ? 'justify-center' : ''}\">\n ${!isRuntime && this.tenantOrAccount\n ? html`<span class=\"font-semibold text-(--axebow-gray) leading-none\">${this.tenantOrAccount}</span>`\n : ''}\n <div class=\"flex justify-between items-center ${isRuntime ? 'mt-1.5' : ''}\">\n <span class=\"font-bold text-xl text-(--axebow-primary) leading-snug ${isRuntime ? 'pl-1' : 'pt-0.5'}\">${this.name}</span>\n ${this._renderBadge()}\n </div>\n ${isRuntime\n ? html`\n <div class=\"revision-wrap flex items-center mt-0\">\n <axebow-card-version-selector\n .revisions=${this.revisions}\n .displayedRevision=${this.displayedRevision}\n @revision-change=${this._onRevisionChange}\n ></axebow-card-version-selector>\n </div>\n `\n : this.subtitle\n ? html`<div class=\"text-xs text-(--axebow-gray) flex items-center gap-1 mt-1\">${this.subtitle}<slot name=\"subtitle-tooltip\"></slot></div>`\n : ''}\n </div>\n </div>\n `;\n }\n\n private _onRevisionChange(e: CustomEvent) {\n this.dispatchEvent(new CustomEvent('revision-change', { detail: e.detail, bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('axebow-card-stat-item')\nexport class AxebowCardStatItem extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Number }) value: number = 0;\n @property({ type: String }) title = '';\n @property({ type: String }) label = '';\n @property({ type: Boolean }) active = true;\n\n render() {\n return html`\n <div class=\"flex flex-col items-center justify-start text-center gap-0.5 w-30 h-17.25\">\n <h4 class=\"text-[20px] text-(--axebow-primary) font-bold leading-snug m-0\">${this.value}</h4>\n <p class=\"text-[12px] m-0 leading-snug\">${this.title}</p>\n <div class=\"h-3.5 flex items-center justify-center\">\n ${this.label\n ? html`\n <span\n class=\"text-(--axebow-gray) font-semibold text-[12px] ${this.active ? 'cursor-pointer opacity-100' : 'cursor-not-allowed opacity-50'}\"\n @click=${this._onClick}\n >${this.label}</span>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n private _onClick() {\n if (this.active) {\n this.dispatchEvent(new CustomEvent('label-click', { bubbles: true, composed: true }));\n }\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MainStatsType } from '../card.models.js';\nimport './axebow-card-stat-item.js';\n\n@customElement('axebow-card-stats-row')\nexport class AxebowCardStatsRow extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Array }) stats: MainStatsType[] = [];\n\n render() {\n return html`\n <div class=\"grid grid-cols-3 gap-1 w-91 h-11.25 box-border\">\n ${this.stats.map(\n (stat, index) => html`\n <axebow-card-stat-item\n .value=${stat.value}\n .title=${stat.title}\n .label=${stat.label}\n .active=${stat.active !== false}\n @label-click=${() => this._handleLabelClick(index)}\n ></axebow-card-stat-item>\n `\n )}\n </div>\n `;\n }\n\n private _handleLabelClick(index: number) {\n this.dispatchEvent(\n new CustomEvent('stat-label-click', { detail: { index }, bubbles: true, composed: true })\n );\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-filter-item')\nexport class AxebowCardFilterItem extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: String }) name = '';\n @property({ type: Boolean }) showAttention = false;\n\n render() {\n return html`\n <div\n class=\"w-full py-1 px-2 flex justify-between items-center border-t border-(--axebow-light-gray) cursor-pointer hover:bg-(--axebow-light-gray)\"\n @click=${this._onClick}\n >\n <p class=\"m-0\">${this.name}</p>\n ${this.showAttention\n ? html`<axebow-icon iconName=\"error\" size=\"small\" iconColor=\"var(--axebow-error)\"></axebow-icon>`\n : ''}\n </div>\n `;\n }\n\n private _onClick() {\n this.dispatchEvent(\n new CustomEvent('item-select', { detail: { name: this.name }, bubbles: true, composed: true })\n );\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardFilterItem } from '../card.models.js';\nimport '../../axebow-icon/axebow-icon.js';\nimport './axebow-card-filter-item.js';\n\n@customElement('axebow-card-filter')\nexport class AxebowCardFilter extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Array }) items: CardFilterItem[] = [];\n @property({ type: String }) selected: string | null = null;\n @property({ type: String }) emptyLabel = '';\n @property({ type: String }) emptyActionLabel = '';\n @property({ type: String }) attentionLabel = 'Attention needed';\n @property({ type: Boolean }) showAttention = false;\n @property({ type: Boolean }) opened = false;\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: Boolean }) isDisabled = false;\n\n render() {\n const showEmpty = !this.selected && this.items.length === 0;\n\n return html`\n <div class=\"relative\">\n <div class=\"flex justify-between items-center border-b border-(--axebow-light-gray) w-87 h-7 box-border px-2 cursor-pointer\">\n ${showEmpty\n ? html`\n <p\n class=\"m-0 ${this.isPlainRole || this.isDisabled\n ? 'text-(--axebow-gray) cursor-default opacity-50'\n : 'text-(--axebow-tertiary) cursor-pointer'}\"\n @click=${this.isPlainRole || this.isDisabled ? undefined : this._onEmptyAction}\n >\n ${this.emptyActionLabel}\n </p>\n `\n : html`\n <div\n class=\"flex w-full justify-between items-center ${this.isDisabled ? 'opacity-50 cursor-not-allowed' : ''}\"\n @click=${this.isDisabled ? undefined : this._onToggle}\n >\n <span class=\"text-(--axebow-tertiary)\">${this.selected ?? this.emptyLabel}</span>\n <div class=\"flex items-center gap-2\">\n ${this.showAttention\n ? html`<p class=\"text-(--axebow-error) m-0 text-xs\">${this.attentionLabel}</p>`\n : ''}\n <axebow-icon iconName=\"chevron_right\" rotate=\"90\" iconColor=\"var(--axebow-tertiary)\" size=\"small\"></axebow-icon>\n </div>\n </div>\n `}\n </div>\n\n <div class=\"${this.opened ? '' : 'hidden'} absolute top-full left-0 right-0 z-10 flex flex-col bg-white rounded-b-lg border border-(--axebow-light-gray) shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] max-h-40 overflow-y-auto\">\n <p class=\"w-full p-2 cursor-pointer m-0 hover:bg-(--axebow-light-gray)\" @click=${() => this._onSelect(null)}>${this.emptyLabel}</p>\n ${this.items.map(\n (item) => html`\n <axebow-card-filter-item\n .name=${item.name}\n .showAttention=${item.showAttention}\n @item-select=${(e: CustomEvent) => this._onSelect(e.detail.name)}\n ></axebow-card-filter-item>\n `\n )}\n </div>\n </div>\n `;\n }\n\n private _onToggle() {\n this.dispatchEvent(new CustomEvent('toggle-open', { bubbles: true, composed: true }));\n }\n\n private _onSelect(name: string | null) {\n this.dispatchEvent(new CustomEvent('filter-select', { detail: { name }, bubbles: true, composed: true }));\n }\n\n private _onEmptyAction() {\n this.dispatchEvent(new CustomEvent('empty-action-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { RuntimeFilterRole } from '../card.models.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-table-header')\nexport class AxebowCardTableHeader extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Boolean }) opened = false;\n @property({ type: String }) filterDisplayText = '';\n @property({ type: String }) allLabel = 'All Roles & Instances';\n @property({ type: String }) attentionLabel = 'Attention needed';\n @property({ type: Boolean }) showAttention = false;\n @property({ type: Array }) filterRoles: RuntimeFilterRole[] = [];\n\n render() {\n return html`\n <div class=\"relative\">\n <div\n class=\"flex justify-between items-center border-b border-(--axebow-light-gray) w-87 h-7 box-border px-2 cursor-pointer\"\n @click=${this._onToggle}\n >\n <span class=\"text-(--axebow-tertiary)\">${this.filterDisplayText || this.allLabel}</span>\n <div class=\"flex items-center gap-2\">\n ${this.showAttention ? html`<p class=\"text-(--axebow-error) m-0 text-xs\">${this.attentionLabel}</p>` : ''}\n <axebow-icon iconName=\"chevron_right\" rotate=\"90\" iconColor=\"var(--axebow-tertiary)\" size=\"small\"></axebow-icon>\n </div>\n </div>\n\n <div class=\"${this.opened ? '' : 'hidden'} absolute top-full left-0 right-0 z-10 flex flex-col bg-white rounded-b-lg border border-(--axebow-light-gray) shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] max-h-40 overflow-y-auto\">\n <p class=\"w-full p-2 cursor-pointer m-0 hover:bg-(--axebow-light-gray)\" @click=${() => this._onSelect('', 'all')}>${this.allLabel}</p>\n ${this.filterRoles.map(\n (role) => html`\n <div\n class=\"w-full py-1 px-2 flex justify-between items-center border-t border-(--axebow-light-gray) cursor-pointer hover:bg-(--axebow-light-gray)\"\n @click=${() => this._onSelect(role.name, 'role')}\n >\n <div class=\"flex items-center gap-2\">\n ${role.logo ? html`<img src=${role.logo} class=\"w-5 h-5\" />` : ''}\n <p class=\"m-0\">${role.name}</p>\n </div>\n </div>\n ${role.instances.map(\n (inst) => html`\n <div\n class=\"w-full py-1 px-2 pl-6 flex justify-between items-center border-t border-(--axebow-light-gray) cursor-pointer hover:bg-(--axebow-light-gray)\"\n @click=${() => this._onSelect(inst.name, 'instance')}\n >\n <div class=\"flex items-center gap-2\">\n <axebow-icon iconName=\"subdirectory_arrow_right\" size=\"small\"></axebow-icon>\n <p class=\"m-0\">${inst.name}</p>\n </div>\n ${inst.needsAttention\n ? html`<axebow-icon iconName=\"warning\" iconColor=\"var(--axebow-error)\" size=\"small\"></axebow-icon>`\n : ''}\n </div>\n `\n )}\n `\n )}\n </div>\n </div>\n `;\n }\n\n private _onToggle() {\n this.dispatchEvent(new CustomEvent('toggle-open', { bubbles: true, composed: true }));\n }\n\n private _onSelect(selected: string, type: 'instance' | 'role' | 'all') {\n this.dispatchEvent(new CustomEvent('filter-change', { detail: { selected, type }, bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-special-link')\nexport class AxebowCardSpecialLink extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: inline-flex; }`,\n ];\n\n @property({ type: String }) label = '';\n @property({ type: String }) color = 'var(--axebow-error)';\n @property({ type: String }) icon = 'arrow_forward';\n\n render() {\n return html`\n <span class=\"cursor-pointer\" style=\"color:${this.color};\" @click=${this._onClick}>\n ${this.label}\n <axebow-icon iconName=${this.icon} iconColor=${this.color} size=\"small\"></axebow-icon>\n </span>\n `;\n }\n\n private _onClick() {\n this.dispatchEvent(new CustomEvent('link-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardType, TableStatsType } from '../card.models.js';\nimport './axebow-card-special-link.js';\n\n@customElement('axebow-card-attention-banner')\nexport class AxebowCardAttentionBanner extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; }\n .error-bg { background-color: color-mix(in srgb, var(--axebow-error) 10%, white); }\n `,\n ];\n\n @property({ type: String }) cardType: CardType = 'account';\n @property({ type: Array }) tableStats: TableStatsType[] = [];\n @property({ type: Number }) threshold = 90;\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: Boolean }) invalidCredentials = false;\n @property({ type: String }) manageLabel = 'Manage';\n @property({ type: String }) askOwnerLabel = 'Ask your owner';\n @property({ type: String }) invalidCredsLabel = 'Invalid credentials.';\n @property({ type: String }) limitReachedLabel = 'Limit reached.';\n @property({ type: String }) andLabel = 'and';\n\n private _getExceeded(): string[] {\n const primary = this.tableStats.slice(0, 3).map((r) => r.title);\n return this.tableStats\n .filter((s) => primary.includes(s.title) && s.percentage >= this.threshold)\n .map((s) => s.title);\n }\n\n private _formatList(resources: string[]): string {\n if (resources.length === 1) return resources[0];\n if (resources.length === 2) return `${resources[0]} ${this.andLabel} ${resources[1]}`;\n return `${resources.slice(0, -1).join(', ')} ${this.andLabel} ${resources[resources.length - 1]}`;\n }\n\n render() {\n const exceeded = this._getExceeded();\n if (exceeded.length === 0 && !this.invalidCredentials) return html``;\n\n return html`\n <div class=\"error-bg flex flex-wrap items-center justify-center gap-1 w-87 h-6.5 box-border px-1 text-center overflow-hidden\">\n ${this.isPlainRole\n ? html`<span class=\"text-(--axebow-error)\">${this.askOwnerLabel}</span>`\n : html`\n <p class=\"text-(--axebow-error) m-0\">\n ${this.invalidCredentials\n ? this.invalidCredsLabel\n : `${this.limitReachedLabel} ${this._formatList(exceeded)}.`}\n <axebow-card-special-link\n .label=${this.manageLabel}\n color=\"var(--axebow-error)\"\n @link-click=${this._onManage}\n ></axebow-card-special-link>\n </p>\n `}\n </div>\n `;\n }\n\n private _onManage() {\n this.dispatchEvent(new CustomEvent('manage-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-action-banner')\nexport class AxebowCardActionBanner extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; }\n .tertiary-bg { background-color: color-mix(in srgb, var(--axebow-tertiary) 10%, white); }\n axebow-button::part(label) { color: var(--axebow-tertiary); font-weight: 600; display: flex; align-items: center; gap: 2px; }\n axebow-button::part(base) { padding: 0; height: auto; min-height: unset; }\n `,\n ];\n\n @property({ type: String }) label = 'View details';\n\n render() {\n return html`\n <div class=\"tertiary-bg flex items-center justify-center gap-1 w-87 h-6.5 box-border px-3 text-sm text-center overflow-hidden\">\n <axebow-button variant=\"text\" size=\"small\" @click=${this._onClick}>\n ${this.label}\n <axebow-icon iconName=\"arrow_forward\" iconColor=\"var(--axebow-tertiary)\" size=\"small\"></axebow-icon>\n </axebow-button>\n </div>\n `;\n }\n\n private _onClick() {\n this.dispatchEvent(new CustomEvent('action-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../axebow-icon/axebow-icon.js';\nimport { TableStatsType } from '../card.models.js';\n\n@customElement('axebow-card-resource-row')\nexport class AxebowCardResourceRow extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: contents; }`,\n ];\n\n @property({ type: Object }) stat!: TableStatsType;\n @property({ type: Number }) attentionThreshold = 90;\n @property({ type: Boolean }) isLast = false;\n\n render() {\n const stat = this.stat;\n const showDivider = !stat.hidden && !this.isLast;\n const textClass = stat.isSecondary ? 'text-sm font-normal' : 'text-base font-semibold';\n const barHeightClass = stat.isSecondary ? 'h-2.25' : 'h-2.75';\n const divider = showDivider\n ? html`<div class=\"col-span-4 border-t border-dashed border-(--axebow-light-gray)\"></div>`\n : '';\n\n if (stat.hidden) {\n return html`\n <div class=\"flex items-center w-full h-5.75 box-border\"></div>\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\"></div>\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\"></div>\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\"></div>\n ${divider}\n `;\n }\n\n return html`\n <div class=\"flex items-center w-full h-5.75 box-border\">\n <div class=\"flex items-center gap-1\">\n <axebow-icon iconName=${stat.icon} size=\"small\" rotate=${stat.iconRotation ?? 0}></axebow-icon>\n <span class=\"${textClass}\">${stat.title}</span>\n </div>\n </div>\n\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\">\n <p class=\"${textClass} m-0\">${stat.value ?? '-.-'}</p>\n </div>\n\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\">\n <div class=\"${barHeightClass} w-37.5 bg-(--axebow-light-gray) rounded-md relative overflow-hidden\">\n <div\n class=\"absolute h-full ${stat.percentage >= this.attentionThreshold ? 'bg-(--axebow-error)' : 'bg-(--axebow-gray)'}\"\n style=\"width:${stat.percentage}%;\"\n ></div>\n </div>\n </div>\n\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\">\n <p class=\"${textClass} m-0\">\n ${stat.maxValue ?? '-.-'}<span class=\"font-normal\">${stat.tagValue ?? ''}</span>\n </p>\n </div>\n ${divider}\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardType, TableStatsType } from '../card.models.js';\nimport './axebow-card-attention-banner.js';\nimport './axebow-card-action-banner.js';\nimport './axebow-card-resource-row.js';\n\n@customElement('axebow-card-resource-table')\nexport class AxebowCardResourceTable extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Array }) rows: TableStatsType[] = [];\n @property({ type: Number }) attentionThreshold = 90;\n @property({ type: String }) cardType: CardType = 'account';\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: Boolean }) showActionBanner = false;\n @property({ type: Boolean }) showWarningBanner = false;\n @property({ type: String }) manageLabel = 'Manage';\n @property({ type: String }) askOwnerLabel = 'Ask your owner';\n @property({ type: String }) invalidCredsLabel = 'Invalid credentials.';\n @property({ type: String }) limitReachedLabel = 'Limit reached.';\n @property({ type: String }) andLabel = 'and';\n @property({ type: String }) actionBannerLabel = '';\n\n private _hasAttention(): boolean {\n const primary = this.rows.slice(0, 3).map((r) => r.title);\n return this.rows.some((s) => primary.includes(s.title) && s.percentage >= this.attentionThreshold);\n }\n\n render() {\n const showWarning = !this.isPlainRole && this.showWarningBanner;\n const showAttention = !this.isPlainRole && !showWarning && this.showActionBanner && this._hasAttention();\n const showAction = !this.isPlainRole && !showWarning && this.showActionBanner && !this._hasAttention();\n\n const visibleRows = this.rows.filter((r) => !r.hidden);\n const lastVisible = visibleRows[visibleRows.length - 1];\n\n return html`\n <div class=\"w-87 box-border\">\n <div class=\"grid grid-cols-[auto_auto_1fr_auto] gap-x-2 w-87 px-2 box-border border-b border-(--axebow-light-gray)\">\n ${this.rows.map(\n (stat) => html`\n <axebow-card-resource-row\n .stat=${stat}\n .attentionThreshold=${this.attentionThreshold}\n .isLast=${stat === lastVisible}\n ></axebow-card-resource-row>\n `\n )}\n </div>\n\n ${showWarning\n ? html`<axebow-card-attention-banner\n .invalidCredentials=${true}\n .isPlainRole=${this.isPlainRole}\n .manageLabel=${this.manageLabel}\n .askOwnerLabel=${this.askOwnerLabel}\n .invalidCredsLabel=${this.invalidCredsLabel}\n .limitReachedLabel=${this.limitReachedLabel}\n .andLabel=${this.andLabel}\n ></axebow-card-attention-banner>`\n : showAttention\n ? html`<axebow-card-attention-banner\n .cardType=${this.cardType}\n .tableStats=${this.rows}\n .threshold=${this.attentionThreshold}\n .isPlainRole=${this.isPlainRole}\n .manageLabel=${this.manageLabel}\n .askOwnerLabel=${this.askOwnerLabel}\n .invalidCredsLabel=${this.invalidCredsLabel}\n .limitReachedLabel=${this.limitReachedLabel}\n .andLabel=${this.andLabel}\n ></axebow-card-attention-banner>`\n : showAction\n ? html`<axebow-card-action-banner .label=${this.actionBannerLabel} @action-click=${() => this.dispatchEvent(new CustomEvent('action-click', { bubbles: true, composed: true }))}></axebow-card-action-banner>`\n : ''}\n </div>\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '@shoelace-style/shoelace/dist/components/tooltip/tooltip.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-status')\nexport class AxebowCardStatus extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; flex: 1; min-width: 0; }\n sl-tooltip::part(base) { max-width: none; white-space: normal; word-break: break-word; }\n `,\n ];\n\n @property({ type: String }) statusCode = '';\n @property({ type: String }) statusMessage = '';\n @property({ type: String }) borderColor = '';\n @property({ type: Boolean }) showSpinner = false;\n\n render() {\n if (!this.statusCode) {\n return html`<div class=\"w-full whitespace-nowrap overflow-hidden text-ellipsis\"><slot></slot></div>`;\n }\n\n return html`\n <div class=\"flex items-center gap-1 min-w-0 w-full\">\n ${this.showSpinner ? html`<sl-spinner style=\"--indicator-color:${this.borderColor};\"></sl-spinner>` : ''}\n <p class=\"font-bold m-0 line-clamp-1\" style=\"color:${this.borderColor};\" title=${this.statusCode}>${this.statusCode}</p>\n <sl-tooltip content=${this.statusMessage}>\n <axebow-icon class=\"cursor-pointer shrink-0\" iconColor=${this.borderColor} iconName=\"info\" size=\"small\"></axebow-icon>\n </sl-tooltip>\n </div>\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ActionMenuItem } from '../card.models.js';\nimport './../../axebow-more-actions/axebow-more-actions.js';\nimport './axebow-card-status.js';\n\n@customElement('axebow-card-footer')\nexport class AxebowCardFooter extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Boolean }) isFreeIaaS = false;\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: String }) statusCode = '';\n @property({ type: String }) statusMessage = '';\n @property({ type: String }) borderColor = '';\n @property({ type: Boolean }) showSpinner = false;\n @property({ type: Boolean }) moreActionsOpen = false;\n @property({ type: Array }) moreActionsOptions: ActionMenuItem[] = [];\n @property({ type: String }) closeLabel = 'Close';\n @property({ type: String }) moreActionsLabel = 'More';\n @property({ type: String }) actionLabel = '';\n\n render() {\n const showDropdown = !this.isFreeIaaS && !this.isPlainRole && this.moreActionsOptions.length > 0;\n const showAction = !showDropdown && !!this.actionLabel;\n\n return html`\n <div class=\"flex justify-between items-center relative h-6 gap-2\">\n <axebow-card-status\n .statusCode=${this.statusCode}\n .statusMessage=${this.statusMessage}\n .borderColor=${this.borderColor}\n .showSpinner=${this.showSpinner}\n >\n <slot></slot>\n </axebow-card-status>\n ${showDropdown\n ? html`\n <axebow-more-actions\n class=\"shrink-0 mr-2\"\n placement=\"top\"\n .open=${this.moreActionsOpen}\n .options=${this.moreActionsOptions}\n .closeLabel=${this.closeLabel}\n .moreActionsLabel=${this.moreActionsLabel}\n @toggled=${this._onToggled}\n ></axebow-more-actions>\n `\n : showAction\n ? html`<axebow-button variant=\"text\" size=\"medium\" @click=${this._onAction}>${this.actionLabel}</axebow-button>`\n : ''}\n </div>\n `;\n }\n\n private _onToggled(e: CustomEvent) {\n this.dispatchEvent(\n new CustomEvent('more-actions-toggled', { detail: { open: e.detail.open }, bubbles: true, composed: true })\n );\n }\n\n private _onAction() {\n this.dispatchEvent(new CustomEvent('footer-action-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {\n ActionMenuItem,\n CardBadge,\n CardFilterItem,\n CardType,\n MainStatsType,\n RevisionItem,\n RoleTooltipContent,\n RuntimeFilterRole,\n TableStatsType,\n} from './card.models.js';\nimport './../axebow-more-actions/axebow-more-actions.js';\nimport './parts/axebow-card-header.js';\nimport './parts/axebow-card-stats-row.js';\nimport './parts/axebow-card-filter.js';\nimport './parts/axebow-card-table-header.js';\nimport './parts/axebow-card-resource-table.js';\nimport './parts/axebow-card-footer.js';\n\n@customElement('axebow-base-card')\nexport class AxebowBaseCard extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: inline-block; max-width: 100%; }\n sl-badge::part(base) { background-color: var(--axebow-secondary); color: white; }\n sl-dialog::part(panel) { width: 35vw; min-width: 400px; }\n sl-dialog::part(body) { padding-top: 0; }\n sl-alert::part(base) { border-top: 2px solid var(--axebow-error); }\n sl-range, sl-range:hover {\n --sl-color-primary-600: var(--axebow-tertiary);\n --sl-color-primary-500: var(--axebow-tertiary);\n }\n .deploy-time {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n `,\n ];\n\n @property({ type: String, reflect: true, attribute: 'card-type' }) cardType: CardType = 'account';\n @property({ type: String }) name = '';\n @property({ type: String }) logoSrc: string | null = null;\n @property({ type: String }) tenantOrAccount = '';\n @property({ type: String }) badge: CardBadge = 'none';\n @property({ type: String }) subtitle = '';\n\n @property({ type: Array }) mainStats: MainStatsType[] = [];\n\n @property({ type: Array }) tableStats: TableStatsType[] = [];\n @property({ type: Number }) attentionThreshold = 90;\n\n @property({ type: Array }) filterItems: CardFilterItem[] = [];\n @property({ type: String }) selected: string | null = null;\n @property({ type: Boolean }) filterOpened = false;\n @property({ type: String }) emptyLabel = '';\n @property({ type: String }) emptyActionLabel = '';\n @property({ type: String }) attentionLabel = 'Attention needed';\n @property({ type: Boolean }) showAttention = false;\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: Boolean }) isDeleting = false;\n @property({ type: Boolean }) isDisabled = false;\n\n @property({ type: Array }) revisions: RevisionItem[] = [];\n @property({ type: String }) displayedRevision = '';\n @property({ type: Boolean }) isDeployed = false;\n @property({ type: String }) deployedLabel = 'Deployed';\n\n @property({ type: Array }) filterRoles: RuntimeFilterRole[] = [];\n @property({ type: String }) filterDisplayText = '';\n @property({ type: String }) allLabel = 'All Roles & Instances';\n\n @property({ type: String }) borderColor = '';\n @property({ type: String }) statusCode = '';\n @property({ type: String }) statusMessage = '';\n @property({ type: String }) serviceDetailLabel = 'Service detail';\n\n @property({ type: Boolean }) showActionBanner = false;\n @property({ type: Boolean }) showWarningBanner = false;\n @property({ type: String }) manageLabel = 'Manage';\n @property({ type: String }) askOwnerLabel = 'Ask your owner';\n @property({ type: String }) invalidCredsLabel = 'Invalid credentials.';\n @property({ type: String }) limitReachedLabel = 'Limit reached.';\n @property({ type: String }) andLabel = 'and';\n @property({ type: String }) actionBannerLabel = '';\n\n @property({ type: Boolean }) moreActionsOpen = false;\n @property({ type: Array }) moreActionsOptions: ActionMenuItem[] = [];\n @property({ type: Boolean }) isFreeIaaS = false;\n @property({ type: String }) closeLabel = 'Close';\n @property({ type: String }) moreActionsLabel = 'More';\n\n @property({ type: String }) freeIaasLabel = 'Free IaaS';\n @property({ type: String }) freeIaasTitle = 'Free Infrastructure';\n @property({ type: String }) freeIaasDesc = 'This environment uses free infrastructure.';\n @property({ type: String }) haLabel = 'Highly Available';\n @property({ type: String }) haTitle = 'High Availability enabled';\n\n @property({ type: String }) role = '';\n @property({ type: Object }) roleTooltips: Record<string, RoleTooltipContent> = {};\n @property({ type: String }) roleTooltipColor = 'var(--axebow-primary)';\n\n private static readonly SIZE_CLASSES: Record<CardType, string> = {\n tenant: 'w-95 h-92.25',\n account: 'w-95 h-103.25',\n environment: 'w-95 h-101.5',\n runtime: 'w-95 h-92.5',\n };\n\n render() {\n const isRuntime = this.cardType === 'runtime';\n\n return html`\n <div\n class=\"${AxebowBaseCard.SIZE_CLASSES[this.cardType]} bg-(--axebow-white) rounded-lg px-2 pt-2 pb-4 flex flex-col justify-between gap-2 box-border ${isRuntime ? 'border-t-4' : ''} transition-shadow duration-200 ease-in-out hover:shadow-[0_4px_12px_0_rgba(13,24,33,0.08)] ${this.isDeleting ? 'pointer-events-none cursor-not-allowed grayscale' : ''}\"\n style=${isRuntime ? `border-top-color:${this.borderColor};` : ''}\n ?inert=${this.isDeleting}\n >\n <div class=\"flex flex-col gap-2\">\n <axebow-card-header\n .cardType=${this.cardType}\n .logoSrc=${this.logoSrc}\n .tenantOrAccount=${this.tenantOrAccount}\n .name=${this.name}\n .badge=${this.badge}\n .subtitle=${this.subtitle}\n .revisions=${this.revisions}\n .displayedRevision=${this.displayedRevision}\n .freeIaasLabel=${this.freeIaasLabel}\n .freeIaasTitle=${this.freeIaasTitle}\n .freeIaasDesc=${this.freeIaasDesc}\n .haLabel=${this.haLabel}\n .haTitle=${this.haTitle}\n .role=${this.role}\n .roleTooltips=${this.roleTooltips}\n .roleTooltipColor=${this.roleTooltipColor}\n @revision-change=${(e: CustomEvent) =>\n this.dispatchEvent(new CustomEvent('revision-change', { detail: e.detail, bubbles: true, composed: true }))}\n >\n <slot slot=\"subtitle-tooltip\" name=\"subtitle-tooltip\"></slot>\n </axebow-card-header>\n\n <div class=\"w-full px-2 flex flex-col gap-2\">\n ${isRuntime\n ? html`\n <div class=\"flex flex-row justify-between items-center min-h-10 max-h-10 overflow-hidden\">\n <span class=\"deploy-time text-(--axebow-secondary)\"><slot name=\"time-elapsed\"></slot></span>\n ${this.isDeployed\n ? html`<span class=\"text-(--axebow-secondary) border-2 border-(--axebow-secondary) rounded-lg py-0.5 px-1.5 whitespace-nowrap text-xs\">${this.deployedLabel}</span>`\n : ''}\n </div>\n `\n : html`\n <axebow-card-stats-row\n .stats=${this.mainStats}\n @stat-label-click=${(e: CustomEvent) =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('stat-label-click', { detail: e.detail, bubbles: true, composed: true }))}\n ></axebow-card-stats-row>\n `}\n\n <div class=\"w-full h-full border border-(--axebow-light-gray) rounded-md\">\n ${isRuntime\n ? html`\n <axebow-card-table-header\n .opened=${this.filterOpened}\n .filterDisplayText=${this.filterDisplayText}\n .allLabel=${this.allLabel}\n .attentionLabel=${this.attentionLabel}\n .showAttention=${this.showAttention}\n .filterRoles=${this.filterRoles}\n @toggle-open=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('toggle-filter', { bubbles: true, composed: true }))}\n @filter-change=${(e: CustomEvent) =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('filter-change', { detail: e.detail, bubbles: true, composed: true }))}\n ></axebow-card-table-header>\n `\n : html`\n <axebow-card-filter\n .items=${this.filterItems}\n .selected=${this.selected}\n .emptyLabel=${this.emptyLabel}\n .emptyActionLabel=${this.emptyActionLabel}\n .attentionLabel=${this.attentionLabel}\n .showAttention=${this.showAttention}\n .opened=${this.filterOpened}\n .isPlainRole=${this.isPlainRole}\n .isDisabled=${this.isDeleting || this.isDisabled}\n @filter-select=${(e: CustomEvent) =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('filter-select', { detail: e.detail, bubbles: true, composed: true }))}\n @toggle-open=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('toggle-filter', { bubbles: true, composed: true }))}\n @empty-action-click=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('empty-action-click', { bubbles: true, composed: true }))}\n ></axebow-card-filter>\n `}\n\n <axebow-card-resource-table\n .rows=${this.tableStats}\n .attentionThreshold=${this.attentionThreshold}\n .cardType=${this.cardType}\n .isPlainRole=${this.isPlainRole}\n .showActionBanner=${this.showActionBanner}\n .showWarningBanner=${this.showWarningBanner}\n .manageLabel=${this.manageLabel}\n .askOwnerLabel=${this.askOwnerLabel}\n .invalidCredsLabel=${this.invalidCredsLabel}\n .limitReachedLabel=${this.limitReachedLabel}\n .andLabel=${this.andLabel}\n .actionBannerLabel=${this.actionBannerLabel}\n @manage-click=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('manage-click', { bubbles: true, composed: true }))}\n @action-click=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('action-click', { bubbles: true, composed: true }))}\n ></axebow-card-resource-table>\n </div>\n\n <slot name=\"extra-features\"></slot>\n </div>\n </div>\n\n <axebow-card-footer\n class=\"mb-1 pl-2\"\n .isFreeIaaS=${this.isFreeIaaS}\n .isPlainRole=${this.isPlainRole}\n .statusCode=${isRuntime ? this.statusCode : ''}\n .statusMessage=${isRuntime ? this.statusMessage : ''}\n .borderColor=${this.borderColor}\n .showSpinner=${isRuntime && this.borderColor === 'var(--axebow-gray)'}\n .moreActionsOpen=${this.moreActionsOpen}\n .moreActionsOptions=${isRuntime ? [] : this.moreActionsOptions}\n .closeLabel=${this.closeLabel}\n .moreActionsLabel=${this.moreActionsLabel}\n .actionLabel=${isRuntime ? this.serviceDetailLabel : ''}\n @more-actions-toggled=${(e: CustomEvent) =>\n this.dispatchEvent(new CustomEvent('more-actions-toggled', { detail: e.detail, bubbles: true, composed: true }))}\n @footer-action-click=${() =>\n this.dispatchEvent(new CustomEvent('service-detail-click', { bubbles: true, composed: true }))}\n >\n <slot name=\"status-footer\"></slot>\n </axebow-card-footer>\n\n <slot name=\"dialogs\"></slot>\n </div>\n `;\n }\n}\n"],"mappings":";;;;;AAEA,IAAa,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0F9B,IAAa,gBAAgB;CAC3B,SAAS;CACT,OAAO;CACP,SAAS;CACT,SAAS;AACX;;;;;;;;;;;;;;AC5FO,IAAA,aAAA,MAAM,mBAAmB,WAAW;;;kBACF;mBACC;gBACH;gBACC;cACgE;sBAC3D;;;gBAE3B,UAAU,gBAAW;;CAErC,SAAS;EAGP,OAAO,IAAI;;8FAE+E,KAAK,SACvF,qEACA,mEAAS;wBACG,KAAK,UAAU,sBAAsB,KAAK,OAAO,mBAAmB,KAAK,SAAS,aAC9F,mBACA,KAAK,SAAS,YACZ,qBACA,KAAK,SAAS,UACZ,mBACA,KAAK,SAAS,WACZ,oBACA,KAAK,SAAS,UACZ,oBACA,KAAK,SAAS,YACZ,oBACA,kBAAkB;yBACf,KAAK,SAAS,aAC3B,MACA,KAAK,SAAS,YACZ,MACA,KAAK,SAAS,UACZ,MACA,KAAK,SAAS,WACZ,MACA,KAAK,SAAS,UACZ,aACA,KAAK,SAAS,YACZ,WACA,GAAG,KAAK,aAAa,IAAI;;UAErC,KAAK,SAAS;;;CAGtB;AACF;YAhDG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,WAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,WAAA,WAAA,aAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,WAAA,WAAA,UAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,WAAA,WAAA,UAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,WAAA,WAAA,QAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,WAAA,WAAA,gBAAA,KAAA,CAAA;yBAP3B,cAAc,aAAa,CAAA,GAAA,UAAA;;;ACGrB,IAAA,oBAAA,MAAM,0BAA0B,WAAW;;;cAMZ;mBACsB;kBAClB;iBACe,CAAC;eACpB;kBACG;qBACI;oBACF;0BACM;mBAElB;GAAE,KAAK;GAAG,OAAO;EAAE;8BAcjB,MAAkB;GAC/C,IAAI,KAAK,QAAQ,CAAC,KAAK,SAAS,EAAE,MAAc,GAAG;IACjD,KAAK,OAAO;IACZ,KAAK,cAAc,IAAI,YAAY,WAAW,EAAE,QAAQ,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;GAC5E;EACF;6BAE8B;GAC5B,IAAI,KAAK,QAAQ,KAAK,aAAa;IACjC,KAAK,OAAO;IACZ,KAAK,cAAc,IAAI,YAAY,WAAW,EAAE,QAAQ,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;GAC5E;EACF;;;gBAzCgB,CACd,UAAU,gBAAW,GACrB,GAAG,kCACL;;CAcA,oBAAoB;EAClB,MAAM,kBAAkB;EACxB,SAAS,iBAAiB,SAAS,KAAK,mBAAmB;EAC3D,OAAO,iBAAiB,UAAU,KAAK,eAAe,IAAI;CAC5D;CAEA,uBAAuB;EACrB,MAAM,qBAAqB;EAC3B,SAAS,oBAAoB,SAAS,KAAK,mBAAmB;EAC9D,OAAO,oBAAoB,UAAU,KAAK,eAAe,IAAI;CAC/D;CAgBA,QAAgB,GAAU;EACxB,IAAI,KAAK,UAAU;EACnB,EAAE,gBAAgB;EAClB,IAAI,CAAC,KAAK,QAAQ,KAAK,aAAa;GAClC,MAAM,MAAM,KAAK,YAAY,cAA2B,UAAU;GAClE,IAAI,KAAK;IACP,MAAM,OAAO,IAAI,sBAAsB;IACvC,KAAK,YAAY;KAAE,KAAK,KAAK,SAAS;KAAG,OAAO,OAAO,aAAa,KAAK;IAAM;GACjF;EACF;EACA,KAAK,OAAO,CAAC,KAAK;EAClB,KAAK,cAAc,IAAI,YAAY,WAAW,EAAE,QAAQ,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC,CAAC;CAChF;CAEA,mBAA2B;EACzB,KAAK,OAAO;EACZ,KAAK,cAAc,IAAI,YAAY,WAAW,EAAE,QAAQ,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;CAC5E;CAEA,SAAS;EACP,MAAM,iBAAiB,KAAK,cAAc,QAAQ,qBAAqB;EACvE,MAAM,gBAAgB,KAAK,cACvB,sBAAsB,KAAK,UAAU,IAAI,WAAW,KAAK,UAAU,MAAM,oBACzE;EAEJ,OAAO,IAAI;;;;sBAIO,KAAK,SAAS;mBACjB,KAAK,QAAQ;;YAEpB,KAAK,WACH,IAAI,yBAAyB,KAAK,SAAS,mEAC3C,KAAK,OAAO,KAAK,aAAc,KAAK,SAAS,KAAK,iBAAkB;;UAExE,KAAK,OACH,IAAI;;sKAEsJ,eAAe;wBAC7J,cAAc;yBACb,KAAK,iBAAiB;;kBAE7B,KAAK,SAAS,SACZ,KAAK,QAAQ,KACV,QAAQ,IAAI;;;oCAGC,MAAa;GACrB,EAAE,gBAAgB;GAClB,IAAI,MAAM,CAAC;GACX,KAAK,OAAO;GACZ,KAAK,cAAc,IAAI,YAAY,WAAW,EAAE,QAAQ,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;EAC5E,EAAE;yCACa,MAAc,EAAG,cAA8B,MAAM,cAAc,gBAAgB,IAAI,KAAK,GAAI;yCAChG,MAAc,EAAG,cAA8B,MAAM,cAAc,cAAe;;kDAEzE,IAAI,KAAK,2BAA2B,IAAI,KAAK;uFACR,IAAI,KAAK,MAAM,IAAI,MAAM;;uBAG5F,IACA,IAAI,gBAAgB;;gBAG5B,GAAG;;;CAGb;AACF;YA3GG,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,kBAAA,WAAA,QAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,aAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,kBAAA,WAAA,YAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,kBAAA,WAAA,WAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,SAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,kBAAA,WAAA,eAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,cAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,oBAAA,KAAA,CAAA;YAEzB,MAAM,CAAA,GAAA,kBAAA,WAAA,aAAA,KAAA,CAAA;gCAjBR,cAAc,qBAAqB,CAAA,GAAA,iBAAA;;;ACD7B,IAAA,sBAAA,MAAM,4BAA4B,WAAW;;;aAMD;cACK;;;gBANtC,CACd,UAAU,gBAAW,GACrB,GAAG,8BACL;;CAKA,SAAS;EACP,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI;EAE1B,OAAO,KAAK,SAAS,UACjB,IAAI,2GAA2G,KAAK,IAAI,0DACxH,IAAI,2GAA2G,KAAK,IAAI;CAC9H;AACF;YAVG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,oBAAA,WAAA,OAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,oBAAA,WAAA,QAAA,KAAA,CAAA;kCAR3B,cAAc,wBAAwB,CAAA,GAAA,mBAAA;;;ACGhC,IAAA,4BAAA,MAAM,kCAAkC,WAAW;;;mBA4FD,CAAC;2BACR;;;gBA5FhC,CACd,UAAU,gBAAW,GACrB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuFL;;CAKA,gBAAwB,IAAoB;EAC1C,IAAI,CAAC,IAAI,OAAO;EAChB,MAAM,QAAQ,GAAG,MAAM,GAAG;EAC1B,OAAO,MAAM,MAAM,SAAS,MAAM;CACpC;CAEA,SAAS;EACP,OAAO,IAAI;sCACuB,KAAK,kBAAkB,cAAc,KAAK,UAAU;UAChF,KAAK,UAAU,KACd,QAAQ,IAAI;+BACQ,IAAI,GAAG;gBACtB,KAAK,gBAAgB,IAAI,EAAE,EAAE;gBAC7B,IAAI,OAAO,KAAK,oBACd,IAAI,gHACJ,GAAG;;WAGb,EAAE;;;CAGR;CAEA,UAAkB,GAAgB;EAChC,MAAM,WAAY,EAAE,OAA6B;EACjD,KAAK,cAAc,IAAI,YAAY,mBAAmB;GAAE,QAAQ,EAAE,SAAS;GAAG,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CAChH;AACF;YA9BG,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,0BAAA,WAAA,aAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,0BAAA,WAAA,qBAAA,KAAA,CAAA;wCA9F3B,cAAc,8BAA8B,CAAA,GAAA,yBAAA;;;ACAtC,IAAA,oBAAA,MAAM,0BAA0B,WAAW;;;iBAwBV;eACO,CAAC;eACV;;;gBAzBpB,CACd,UAAU,gBAAW,GACrB,GAAG;;;;;;;;;;;;;;;;;;KAmBL;;CAMA,SAAS;EACP,IAAI,CAAC,KAAK,SAAS,OAAO,IAAI;EAE9B,OAAO,IAAI;;;oBAGK,KAAK,QAAQ;;cAEnB,KAAK,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,EAAE;;;qFAGsB,KAAK,MAAM;;;CAG9F;AACF;YAnBG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,WAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,kBAAA,WAAA,SAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,SAAA,KAAA,CAAA;gCA3B3B,cAAc,qBAAqB,CAAA,GAAA,iBAAA;;;ACO7B,IAAA,mBAAA,MAAM,yBAAyB,WAAW;;;iBASM;yBACP;cACX;eACY;kBACR;kBACU;mBACM,CAAC;2BACR;uBACJ;uBACA;sBACD;iBACL;iBACA;cACH;sBAC4C,CAAC;0BACjC;;;gBAvB/B,CACd,UAAU,gBAAW,GACrB,GAAG;;;KAIL;;CAmBA,eAAuB;EACrB,IAAI,KAAK,UAAU,aACjB,OAAO,IAAI;;;sBAGK,KAAK,cAAc;4CACG,KAAK,aAAa;;;;uDAIP,KAAK,cAAc;;;;EAKtE,IAAI,KAAK,UAAU,MACjB,OAAO,IAAI;8BACa,KAAK,QAAQ;iFACsC,KAAK,QAAQ;;;EAI1F,OAAO,IAAI;CACb;CAEA,gBAAgC;EAC9B,QAAQ,KAAK,UAAb;GACE,KAAK,UACH,OAAO;GACT,KAAK,eACH,OAAO;GAGT,SACE,OAAO;EACX;CACF;CAEA,SAAS;EACP,MAAM,WAAW,KAAK,aAAa;EACnC,MAAM,YAAY,KAAK,aAAa,iBAAiB;EACrD,MAAM,YAAY,KAAK,aAAa;EACpC,MAAM,cAAc,UAAU,KAAK,cAAc;EAEjD,IAAI,WACF,OAAO,IAAI;gIAC+G,YAAY;;cAE9H,KAAK,mBAAmB,KAAK,UAC3B,IAAI;;mDAE+B,KAAK,QAAQ;oFACoB,KAAK,gBAAgB;;oBAGzF,GAAG;;4FAEyE,KAAK,KAAK;gBACtF,KAAK,aAAa,EAAE;;cAEtB,KAAK,WACH,IAAI;;sBAEE,KAAK,SAAS;sBACd,YAAY,KAAK,aAAa,KAAK,QACjC,IAAI;;uCAEW,KAAK,aAAa,KAAK,KAAK,CAAC,MAAM;qCACrC,KAAK,aAAa,KAAK,KAAK,CAAC,MAAM;oCACpC,KAAK,iBAAiB;;4BAGlC,IAAI,wCAAwC;;oBAGpD,GAAG;;;;EAMf,OAAO,IAAI;yHAC0G,YAAY;uCAC9F,KAAK,QAAQ;mDACD,YAAY,mBAAmB,GAAG;YACzE,CAAC,aAAa,KAAK,kBACjB,IAAI,iEAAiE,KAAK,gBAAgB,WAC1F,GAAG;0DACyC,YAAY,WAAW,GAAG;kFACF,YAAY,SAAS,SAAS,IAAI,KAAK,KAAK;cAChH,KAAK,aAAa,EAAE;;YAEtB,YACE,IAAI;;;iCAGe,KAAK,UAAU;yCACP,KAAK,kBAAkB;uCACzB,KAAK,kBAAkB;;;kBAIhD,KAAK,WACH,IAAI,0EAA0E,KAAK,SAAS,+CAC5F,GAAG;;;;CAIjB;CAEA,kBAA0B,GAAgB;EACxC,KAAK,cAAc,IAAI,YAAY,mBAAmB;GAAE,QAAQ,EAAE;GAAQ,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CAC5G;AACF;YAlIG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,WAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,mBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,QAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,SAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,aAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,gBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,WAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,WAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,QAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,gBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,oBAAA,KAAA,CAAA;+BAzB3B,cAAc,oBAAoB,CAAA,GAAA,gBAAA;;;ACN5B,IAAA,qBAAA,MAAM,2BAA2B,WAAW;;;eAML;eACR;eACA;gBACE;;;gBARtB,CACd,UAAU,gBAAW,GACrB,GAAG,2BACL;;CAOA,SAAS;EACP,OAAO,IAAI;;qFAEsE,KAAK,MAAM;kDAC9C,KAAK,MAAM;;YAEjD,KAAK,QACH,IAAI;;0EAEwD,KAAK,SAAS,+BAA+B,gCAAgC;2BAC5H,KAAK,SAAS;mBACtB,KAAK,MAAM;kBAEhB,GAAG;;;;CAIf;CAEA,WAAmB;EACjB,IAAI,KAAK,QACP,KAAK,cAAc,IAAI,YAAY,eAAe;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CAExF;AACF;YA7BG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,mBAAA,WAAA,SAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,mBAAA,WAAA,SAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,mBAAA,WAAA,SAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,mBAAA,WAAA,UAAA,KAAA,CAAA;iCAV5B,cAAc,uBAAuB,CAAA,GAAA,kBAAA;;;ACG/B,IAAA,qBAAA,MAAM,2BAA2B,WAAW;;;eAMG,CAAC;;;gBALrC,CACd,UAAU,gBAAW,GACrB,GAAG,2BACL;;CAIA,SAAS;EACP,OAAO,IAAI;;UAEL,KAAK,MAAM,KACV,MAAM,UAAU,IAAI;;uBAER,KAAK,MAAM;uBACX,KAAK,MAAM;uBACX,KAAK,MAAM;wBACV,KAAK,WAAW,MAAM;mCACX,KAAK,kBAAkB,KAAK,EAAE;;WAGzD,EAAE;;;CAGR;CAEA,kBAA0B,OAAe;EACvC,KAAK,cACH,IAAI,YAAY,oBAAoB;GAAE,QAAQ,EAAE,MAAM;GAAG,SAAS;GAAM,UAAU;EAAK,CAAC,CAC1F;CACF;AACF;YAzBG,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,mBAAA,WAAA,SAAA,KAAA,CAAA;iCAP1B,cAAc,uBAAuB,CAAA,GAAA,kBAAA;;;ACA/B,IAAA,uBAAA,MAAM,6BAA6B,WAAW;;;cAMhB;uBACU;;;gBAN7B,CACd,UAAU,gBAAW,GACrB,GAAG,2BACL;;CAKA,SAAS;EACP,OAAO,IAAI;;;iBAGE,KAAK,SAAS;;yBAEN,KAAK,KAAK;UACzB,KAAK,gBACH,IAAI,8FACJ,GAAG;;;CAGb;CAEA,WAAmB;EACjB,KAAK,cACH,IAAI,YAAY,eAAe;GAAE,QAAQ,EAAE,MAAM,KAAK,KAAK;GAAG,SAAS;GAAM,UAAU;EAAK,CAAC,CAC/F;CACF;AACF;YAtBG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,qBAAA,WAAA,QAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,qBAAA,WAAA,iBAAA,KAAA,CAAA;mCAR5B,cAAc,yBAAyB,CAAA,GAAA,oBAAA;;;ACGjC,IAAA,mBAAA,MAAM,yBAAyB,WAAW;;;eAMM,CAAC;kBACA;oBACb;0BACM;wBACF;uBACA;gBACP;qBACK;oBACD;;;gBAb1B,CACd,UAAU,gBAAW,GACrB,GAAG,2BACL;;CAYA,SAAS;EAGP,OAAO,IAAI;;;YAFO,CAAC,KAAK,YAAY,KAAK,MAAM,WAAW,IAMhD,IAAI;;+BAEa,KAAK,eAAe,KAAK,aAClC,mDACA,0CAA0C;2BACrC,KAAK,eAAe,KAAK,aAAa,KAAA,IAAY,KAAK,eAAe;;oBAE7E,KAAK,iBAAiB;;kBAG5B,IAAI;;oEAEkD,KAAK,aAAa,kCAAkC,GAAG;2BAChG,KAAK,aAAa,KAAA,IAAY,KAAK,UAAU;;2DAEb,KAAK,YAAY,KAAK,WAAW;;sBAEtE,KAAK,gBACH,IAAI,gDAAgD,KAAK,eAAe,QACxE,GAAG;;;;gBAIX;;;sBAGM,KAAK,SAAS,KAAK,SAAS;iGAC+C,KAAK,UAAU,IAAI,EAAE,GAAG,KAAK,WAAW;YAC7H,KAAK,MAAM,KACV,SAAS,IAAI;;wBAEF,KAAK,KAAK;iCACD,KAAK,cAAc;gCACpB,MAAmB,KAAK,UAAU,EAAE,OAAO,IAAI,EAAE;;aAGvE,EAAE;;;;CAIV;CAEA,YAAoB;EAClB,KAAK,cAAc,IAAI,YAAY,eAAe;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACtF;CAEA,UAAkB,MAAqB;EACrC,KAAK,cAAc,IAAI,YAAY,iBAAiB;GAAE,QAAQ,EAAE,KAAK;GAAG,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CAC1G;CAEA,iBAAyB;EACvB,KAAK,cAAc,IAAI,YAAY,sBAAsB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CAC7F;AACF;YAtEG,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,SAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,cAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,oBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,kBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,iBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,UAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,cAAA,KAAA,CAAA;+BAf5B,cAAc,oBAAoB,CAAA,GAAA,gBAAA;;;ACA5B,IAAA,wBAAA,MAAM,8BAA8B,WAAW;;;gBAMd;2BACU;kBACT;wBACM;uBACA;qBACiB,CAAC;;;gBAV/C,CACd,UAAU,gBAAW,GACrB,GAAG,2BACL;;CASA,SAAS;EACP,OAAO,IAAI;;;;mBAII,KAAK,UAAU;;mDAEiB,KAAK,qBAAqB,KAAK,SAAS;;cAE7E,KAAK,gBAAgB,IAAI,gDAAgD,KAAK,eAAe,QAAQ,GAAG;;;;;sBAKhG,KAAK,SAAS,KAAK,SAAS;iGAC+C,KAAK,UAAU,IAAI,KAAK,EAAE,GAAG,KAAK,SAAS;YAChI,KAAK,YAAY,KAChB,SAAS,IAAI;;;+BAGK,KAAK,UAAU,KAAK,MAAM,MAAM,EAAE;;;oBAG7C,KAAK,OAAO,IAAI,YAAY,KAAK,KAAK,uBAAuB,GAAG;mCACjD,KAAK,KAAK;;;gBAG7B,KAAK,UAAU,KACd,SAAS,IAAI;;;mCAGK,KAAK,UAAU,KAAK,MAAM,UAAU,EAAE;;;;uCAIlC,KAAK,KAAK;;sBAE3B,KAAK,iBACH,IAAI,gGACJ,GAAG;;iBAGb,EAAE;aAEN,EAAE;;;;CAIV;CAEA,YAAoB;EAClB,KAAK,cAAc,IAAI,YAAY,eAAe;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACtF;CAEA,UAAkB,UAAkB,MAAmC;EACrE,KAAK,cAAc,IAAI,YAAY,iBAAiB;GAAE,QAAQ;IAAE;IAAU;GAAK;GAAG,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACpH;AACF;YAhEG,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,sBAAA,WAAA,UAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,sBAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,sBAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,sBAAA,WAAA,kBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,sBAAA,WAAA,iBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,sBAAA,WAAA,eAAA,KAAA,CAAA;oCAZ1B,cAAc,0BAA0B,CAAA,GAAA,qBAAA;;;ACAlC,IAAA,wBAAA,MAAM,8BAA8B,WAAW;;;eAMhB;eACA;cACD;;;gBAPnB,CACd,UAAU,gBAAW,GACrB,GAAG,iCACL;;CAMA,SAAS;EACP,OAAO,IAAI;kDACmC,KAAK,MAAM,YAAY,KAAK,SAAS;UAC7E,KAAK,MAAM;gCACW,KAAK,KAAK,aAAa,KAAK,MAAM;;;CAGhE;CAEA,WAAmB;EACjB,KAAK,cAAc,IAAI,YAAY,cAAc;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACrF;AACF;YAhBG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,sBAAA,WAAA,SAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,sBAAA,WAAA,SAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,sBAAA,WAAA,QAAA,KAAA,CAAA;oCAT3B,cAAc,0BAA0B,CAAA,GAAA,qBAAA;;;ACElC,IAAA,4BAAA,MAAM,kCAAkC,WAAW;;;kBASP;oBACS,CAAC;mBACnB;qBACG;4BACO;qBACR;uBACE;2BACI;2BACA;kBACT;;;gBAjBvB,CACd,UAAU,gBAAW,GACrB,GAAG;;;KAIL;;CAaA,eAAiC;EAC/B,MAAM,UAAU,KAAK,WAAW,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK;EAC9D,OAAO,KAAK,WACT,QAAQ,MAAM,QAAQ,SAAS,EAAE,KAAK,KAAK,EAAE,cAAc,KAAK,SAAS,CAAC,CAC1E,KAAK,MAAM,EAAE,KAAK;CACvB;CAEA,YAAoB,WAA6B;EAC/C,IAAI,UAAU,WAAW,GAAG,OAAO,UAAU;EAC7C,IAAI,UAAU,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,GAAG,KAAK,SAAS,GAAG,UAAU;EACjF,OAAO,GAAG,UAAU,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,GAAG,KAAK,SAAS,GAAG,UAAU,UAAU,SAAS;CAC/F;CAEA,SAAS;EACP,MAAM,WAAW,KAAK,aAAa;EACnC,IAAI,SAAS,WAAW,KAAK,CAAC,KAAK,oBAAoB,OAAO,IAAI;EAElE,OAAO,IAAI;;UAEL,KAAK,cACH,IAAI,uCAAuC,KAAK,cAAc,WAC9D,IAAI;;kBAEE,KAAK,qBACH,KAAK,oBACL,GAAG,KAAK,kBAAkB,GAAG,KAAK,YAAY,QAAQ,EAAE,GAAG;;2BAEpD,KAAK,YAAY;;gCAEZ,KAAK,UAAU;;;cAGjC;;;CAGZ;CAEA,YAAoB;EAClB,KAAK,cAAc,IAAI,YAAY,gBAAgB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACvF;AACF;YAnDG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,0BAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,0BAAA,WAAA,cAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,0BAAA,WAAA,aAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,0BAAA,WAAA,eAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,0BAAA,WAAA,sBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,0BAAA,WAAA,eAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,0BAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,0BAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,0BAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,0BAAA,WAAA,YAAA,KAAA,CAAA;wCAnB3B,cAAc,8BAA8B,CAAA,GAAA,yBAAA;;;ACAtC,IAAA,yBAAA,MAAM,+BAA+B,WAAW;;;eAWjB;;;gBAVpB,CACd,UAAU,gBAAW,GACrB,GAAG;;;;;KAML;;CAIA,SAAS;EACP,OAAO,IAAI;;4DAE6C,KAAK,SAAS;YAC9D,KAAK,MAAM;;;;;CAKrB;CAEA,WAAmB;EACjB,KAAK,cAAc,IAAI,YAAY,gBAAgB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACvF;AACF;YAhBG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,uBAAA,WAAA,SAAA,KAAA,CAAA;qCAZ3B,cAAc,2BAA2B,CAAA,GAAA,sBAAA;;;ACEnC,IAAA,wBAAA,MAAM,8BAA8B,WAAW;;;4BAOH;gBACX;;;gBAPtB,CACd,UAAU,gBAAW,GACrB,GAAG,8BACL;;CAMA,SAAS;EACP,MAAM,OAAO,KAAK;EAClB,MAAM,cAAc,CAAC,KAAK,UAAU,CAAC,KAAK;EAC1C,MAAM,YAAY,KAAK,cAAc,wBAAwB;EAC7D,MAAM,iBAAiB,KAAK,cAAc,WAAW;EACrD,MAAM,UAAU,cACZ,IAAI,uFACJ;EAEJ,IAAI,KAAK,QACP,OAAO,IAAI;;;;;UAKP,QAAQ;;EAId,OAAO,IAAI;;;kCAGmB,KAAK,KAAK,uBAAuB,KAAK,gBAAgB,EAAE;yBACjE,UAAU,IAAI,KAAK,MAAM;;;;;oBAK9B,UAAU,QAAQ,KAAK,SAAS,MAAM;;;;sBAIpC,eAAe;;qCAEA,KAAK,cAAc,KAAK,qBAAqB,wBAAwB,qBAAqB;2BACpG,KAAK,WAAW;;;;;;oBAMvB,UAAU;YAClB,KAAK,YAAY,MAAM,4BAA4B,KAAK,YAAY,GAAG;;;QAG3E,QAAQ;;CAEd;AACF;YApDG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,sBAAA,WAAA,QAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,sBAAA,WAAA,sBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,sBAAA,WAAA,UAAA,KAAA,CAAA;oCAT5B,cAAc,0BAA0B,CAAA,GAAA,qBAAA;;;ACGlC,IAAA,0BAAA,MAAM,gCAAgC,WAAW;;;cAMF,CAAC;4BACJ;kBACA;qBACN;0BACK;2BACC;qBACP;uBACE;2BACI;2BACA;kBACT;2BACS;;;gBAhBhC,CACd,UAAU,gBAAW,GACrB,GAAG,2BACL;;CAeA,gBAAiC;EAC/B,MAAM,UAAU,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK;EACxD,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,SAAS,EAAE,KAAK,KAAK,EAAE,cAAc,KAAK,kBAAkB;CACnG;CAEA,SAAS;EACP,MAAM,cAAc,CAAC,KAAK,eAAe,KAAK;EAC9C,MAAM,gBAAgB,CAAC,KAAK,eAAe,CAAC,eAAe,KAAK,oBAAoB,KAAK,cAAc;EACvG,MAAM,aAAa,CAAC,KAAK,eAAe,CAAC,eAAe,KAAK,oBAAoB,CAAC,KAAK,cAAc;EAErG,MAAM,cAAc,KAAK,KAAK,QAAQ,MAAM,CAAC,EAAE,MAAM;EACrD,MAAM,cAAc,YAAY,YAAY,SAAS;EAErD,OAAO,IAAI;;;YAGH,KAAK,KAAK,KACT,SAAS,IAAI;;wBAEF,KAAK;sCACS,KAAK,mBAAmB;0BACpC,SAAS,YAAY;;aAGrC,EAAE;;;UAGF,cACE,IAAI;oCACoB,KAAK;6BACZ,KAAK,YAAY;6BACjB,KAAK,YAAY;+BACf,KAAK,cAAc;mCACf,KAAK,kBAAkB;mCACvB,KAAK,kBAAkB;0BAChC,KAAK,SAAS;gDAE5B,gBACE,IAAI;4BACU,KAAK,SAAS;8BACZ,KAAK,KAAK;6BACX,KAAK,mBAAmB;+BACtB,KAAK,YAAY;+BACjB,KAAK,YAAY;iCACf,KAAK,cAAc;qCACf,KAAK,kBAAkB;qCACvB,KAAK,kBAAkB;4BAChC,KAAK,SAAS;kDAE5B,aACE,IAAI,qCAAqC,KAAK,kBAAkB,uBAAuB,KAAK,cAAc,IAAI,YAAY,gBAAgB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE,iCAC9K,GAAG;;;CAGjB;AACF;YApEG,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,wBAAA,WAAA,QAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,wBAAA,WAAA,sBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,wBAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,wBAAA,WAAA,eAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,wBAAA,WAAA,oBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,wBAAA,WAAA,qBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,wBAAA,WAAA,eAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,wBAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,wBAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,wBAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,wBAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,wBAAA,WAAA,qBAAA,KAAA,CAAA;sCAlB3B,cAAc,4BAA4B,CAAA,GAAA,uBAAA;;;ACDpC,IAAA,mBAAA,MAAM,yBAAyB,WAAW;;;oBASN;uBACG;qBACF;qBACC;;;gBAX3B,CACd,UAAU,gBAAW,GACrB,GAAG;;;KAIL;;CAOA,SAAS;EACP,IAAI,CAAC,KAAK,YACR,OAAO,IAAI;EAGb,OAAO,IAAI;;UAEL,KAAK,cAAc,IAAI,wCAAwC,KAAK,YAAY,oBAAoB,GAAG;6DACpD,KAAK,YAAY,WAAW,KAAK,WAAW,GAAG,KAAK,WAAW;8BAC9F,KAAK,cAAc;mEACkB,KAAK,YAAY;;;;CAIlF;AACF;YApBG,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,cAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;+BAb5B,cAAc,oBAAoB,CAAA,GAAA,gBAAA;;;ACE5B,IAAA,mBAAA,MAAM,yBAAyB,WAAW;;;oBAML;qBACC;oBACF;uBACG;qBACF;qBACC;yBACI;4BACmB,CAAC;oBAC1B;0BACM;qBACL;;;gBAf1B,CACd,UAAU,gBAAW,GACrB,GAAG,2BACL;;CAcA,SAAS;EACP,MAAM,eAAe,CAAC,KAAK,cAAc,CAAC,KAAK,eAAe,KAAK,mBAAmB,SAAS;EAC/F,MAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK;EAE3C,OAAO,IAAI;;;wBAGS,KAAK,WAAW;2BACb,KAAK,cAAc;yBACrB,KAAK,YAAY;yBACjB,KAAK,YAAY;;;;UAIhC,eACE,IAAI;;;;wBAIQ,KAAK,gBAAgB;2BAClB,KAAK,mBAAmB;8BACrB,KAAK,WAAW;oCACV,KAAK,iBAAiB;2BAC/B,KAAK,WAAW;;gBAG/B,aACE,IAAI,sDAAsD,KAAK,UAAU,GAAG,KAAK,YAAY,oBAC7F,GAAG;;;CAGf;CAEA,WAAmB,GAAgB;EACjC,KAAK,cACH,IAAI,YAAY,wBAAwB;GAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK;GAAG,SAAS;GAAM,UAAU;EAAK,CAAC,CAC5G;CACF;CAEA,YAAoB;EAClB,KAAK,cAAc,IAAI,YAAY,uBAAuB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CAC9F;AACF;YAtDG,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,cAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,cAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,iBAAA,WAAA,mBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,sBAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,cAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,oBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;+BAjB3B,cAAc,oBAAoB,CAAA,GAAA,gBAAA;;;;ACgB5B,IAAA,iBAAA,MAAM,uBAAuB,WAAW;;;;;;kBAsB2C;cACrD;iBACkB;yBACP;eACC;kBACR;mBAEiB,CAAC;oBAEC,CAAC;4BACV;qBAEU,CAAC;kBACN;sBACV;oBACH;0BACM;wBACF;uBACA;qBACF;oBACD;oBACA;mBAEa,CAAC;2BACR;oBACN;uBACE;qBAEkB,CAAC;2BACf;kBACT;qBAEG;oBACD;uBACG;4BACK;0BAED;2BACC;qBACP;uBACE;2BACI;2BACA;kBACT;2BACS;yBAED;4BACmB,CAAC;oBACzB;oBACD;0BACM;uBAEH;uBACA;sBACD;iBACL;iBACA;cAEH;sBAC4C,CAAC;0BACjC;;;gBAjF/B,CACd,UAAU,gBAAW,GACrB,GAAG;;;;;;;;;;;;;;;;KAiBL;;;sBAgEiE;GAC/D,QAAQ;GACR,SAAS;GACT,aAAa;GACb,SAAS;EACX;;CAEA,SAAS;EACP,MAAM,YAAY,KAAK,aAAa;EAEpC,OAAO,IAAI;;iCAEiB,aAAa,KAAK,UAAU,gGAAgG,YAAY,eAAe,GAAG,8FAA8F,KAAK,aAAa,qDAAqD,GAAG;gBAClV,YAAY,oBAAoB,KAAK,YAAY,KAAK,GAAG;iBACxD,KAAK,WAAW;;;;wBAIT,KAAK,SAAS;uBACf,KAAK,QAAQ;+BACL,KAAK,gBAAgB;oBAChC,KAAK,KAAK;qBACT,KAAK,MAAM;wBACR,KAAK,SAAS;yBACb,KAAK,UAAU;iCACP,KAAK,kBAAkB;6BAC3B,KAAK,cAAc;6BACnB,KAAK,cAAc;4BACpB,KAAK,aAAa;uBACvB,KAAK,QAAQ;uBACb,KAAK,QAAQ;oBAChB,KAAK,KAAK;4BACF,KAAK,aAAa;gCACd,KAAK,iBAAiB;gCACtB,MAClB,KAAK,cAAc,IAAI,YAAY,mBAAmB;GAAE,QAAQ,EAAE;GAAQ,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;;;;;;cAM5G,YACE,IAAI;;;sBAGE,KAAK,aACH,IAAI,mIAAmI,KAAK,cAAc,WAC1J,GAAG;;oBAGX,IAAI;;6BAES,KAAK,UAAU;yCACH,MACnB,CAAC,KAAK,cAAc,KAAK,cAAc,IAAI,YAAY,oBAAoB;GAAE,QAAQ,EAAE;GAAQ,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;;kBAErI;;;gBAGF,YACE,IAAI;;gCAEU,KAAK,aAAa;2CACP,KAAK,kBAAkB;kCAChC,KAAK,SAAS;wCACR,KAAK,eAAe;uCACrB,KAAK,cAAc;qCACrB,KAAK,YAAY;2CAE9B,CAAC,KAAK,cAAc,KAAK,cAAc,IAAI,YAAY,iBAAiB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;wCAC5F,MAChB,CAAC,KAAK,cAAc,KAAK,cAAc,IAAI,YAAY,iBAAiB;GAAE,QAAQ,EAAE;GAAQ,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;;sBAGpI,IAAI;;+BAES,KAAK,YAAY;kCACd,KAAK,SAAS;oCACZ,KAAK,WAAW;0CACV,KAAK,iBAAiB;wCACxB,KAAK,eAAe;uCACrB,KAAK,cAAc;gCAC1B,KAAK,aAAa;qCACb,KAAK,YAAY;oCAClB,KAAK,cAAc,KAAK,WAAW;wCAC/B,MAChB,CAAC,KAAK,cAAc,KAAK,cAAc,IAAI,YAAY,iBAAiB;GAAE,QAAQ,EAAE;GAAQ,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;2CAE9H,CAAC,KAAK,cAAc,KAAK,cAAc,IAAI,YAAY,iBAAiB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;kDAE5G,CAAC,KAAK,cAAc,KAAK,cAAc,IAAI,YAAY,sBAAsB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;;oBAErH;;;wBAGI,KAAK,WAAW;sCACF,KAAK,mBAAmB;4BAClC,KAAK,SAAS;+BACX,KAAK,YAAY;oCACZ,KAAK,iBAAiB;qCACrB,KAAK,kBAAkB;+BAC7B,KAAK,YAAY;iCACf,KAAK,cAAc;qCACf,KAAK,kBAAkB;qCACvB,KAAK,kBAAkB;4BAChC,KAAK,SAAS;qCACL,KAAK,kBAAkB;sCAE1C,CAAC,KAAK,cAAc,KAAK,cAAc,IAAI,YAAY,gBAAgB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;sCAE3G,CAAC,KAAK,cAAc,KAAK,cAAc,IAAI,YAAY,gBAAgB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;;;;;;;;;;wBAUrG,KAAK,WAAW;yBACf,KAAK,YAAY;wBAClB,YAAY,KAAK,aAAa,GAAG;2BAC9B,YAAY,KAAK,gBAAgB,GAAG;yBACtC,KAAK,YAAY;yBACjB,aAAa,KAAK,gBAAgB,qBAAqB;6BACnD,KAAK,gBAAgB;gCAClB,YAAY,CAAC,IAAI,KAAK,mBAAmB;wBACjD,KAAK,WAAW;8BACV,KAAK,iBAAiB;yBAC3B,YAAY,KAAK,qBAAqB,GAAG;mCAC/B,MACvB,KAAK,cAAc,IAAI,YAAY,wBAAwB;GAAE,QAAQ,EAAE;GAAQ,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;uCAEjH,KAAK,cAAc,IAAI,YAAY,wBAAwB;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,EAAE;;;;;;;;CAQzG;AACF;YA7MG,SAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,WAAW;AAAY,CAAC,CAAA,GAAA,eAAA,WAAA,YAAA,KAAA,CAAA;YAChE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,QAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,WAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,mBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,SAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,YAAA,KAAA,CAAA;YAEzB,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,eAAA,WAAA,aAAA,KAAA,CAAA;YAExB,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,eAAA,WAAA,cAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,sBAAA,KAAA,CAAA;YAEzB,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,eAAA,WAAA,eAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,gBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,cAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,oBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,kBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,iBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,eAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,cAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,cAAA,KAAA,CAAA;YAE1B,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,eAAA,WAAA,aAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,cAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,iBAAA,KAAA,CAAA;YAEzB,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,eAAA,WAAA,eAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,YAAA,KAAA,CAAA;YAEzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,eAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,cAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,sBAAA,KAAA,CAAA;YAEzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,oBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,qBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,eAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,qBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,YAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,qBAAA,KAAA,CAAA;YAEzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,mBAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,eAAA,WAAA,sBAAA,KAAA,CAAA;YACxB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,eAAA,WAAA,cAAA,KAAA,CAAA;YAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,cAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,oBAAA,KAAA,CAAA;YAEzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,iBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,gBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,WAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,WAAA,KAAA,CAAA;YAEzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,QAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,gBAAA,KAAA,CAAA;YACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,eAAA,WAAA,oBAAA,KAAA,CAAA;+CAnF3B,cAAc,kBAAkB,CAAA,GAAA,cAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/styles/axebow-theme.ts","../src/components/axebow-icon/axebow-icon.ts","../src/components/axebow-more-actions/axebow-more-actions.ts","../src/components/cards/parts/axebow-card-cloud-logo.ts","../src/components/cards/parts/axebow-card-version-selector.ts","../src/components/cards/parts/axebow-role-tooltip.ts","../src/components/cards/parts/axebow-card-header.ts","../src/components/cards/parts/axebow-card-stat-item.ts","../src/components/cards/parts/axebow-card-stats-row.ts","../src/components/cards/parts/axebow-card-filter-item.ts","../src/components/cards/parts/axebow-card-filter.ts","../src/components/cards/parts/axebow-card-table-header.ts","../src/components/cards/parts/axebow-card-special-link.ts","../src/components/cards/parts/axebow-card-attention-banner.ts","../src/components/cards/parts/axebow-card-action-banner.ts","../src/components/cards/parts/axebow-card-resource-row.ts","../src/components/cards/parts/axebow-card-resource-table.ts","../src/components/cards/parts/axebow-card-status.ts","../src/components/cards/parts/axebow-card-footer.ts","../src/components/cards/axebow-base-card.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const axebowTheme = css`\n :host, .theme {\n --axebow-primary: var(--color-primary, #34495e);\n --axebow-primary-light: var(--color-primary-light, #b4cded);\n --axebow-tertiary: var(--color-tertiary, #006bff);\n --axebow-success: var(--color-success, #0ecd9a);\n --axebow-secondary: var(--color-secondary, #78787a);\n --axebow-base: var(--color-base, #f0f1f5);\n --axebow-error: var(--color-error, #e93a3a);\n --axebow-white: var(--color-white, #ffffff);\n --axebow-black: var(--color-black, #000000);\n --axebow-warning: var(--color-warning, #f9cf6c);\n --axebow-table-border: var(--color-table-border, #ddd);\n --axebow-gray: var(--color-gray, #8a94ae);\n --axebow-light-gray: var(--color-light-gray, #d9d9d9);\n\n --axebow-clickable-blue: var(--color-clickable-blue, #006bff);\n --axebow-sky-gray: var(--color-sky-gray, #8a94ee);\n --axebow-rich-black: var(--color-rich-black, #0d1821);\n --axebow-anti-flash-white: var(--color-anti-flash-white, #f0f1f5);\n --axebow-strong-gray: var(--color-strong-gray, #78787a);\n\n --axebow-bg-primary: var(--color-bg-primary, #f0f1f5);\n\n --axebow-text-gray: var(--color-text-gray, #78787a);\n\n --axebow-premium-label: var(--color-premium-label, #b9935a33);\n --axebow-premium-text: var(--color-premium-text, #b9935a);\n --axebow-deleting-link: var(--color-deleting-link, #a0a0a0);\n --axebow-border-gray: var(--color-border-gray, #9ca3af);\n font-family: var(--font-sans, \"Open Sans\", sans-serif);\n font-size: var(--text-base, 0.75rem);\n line-height: var(--text-base--line-height, 1rem);\n }\n\n /** Axebow switch */\n sl-switch::part(control) {\n background-color: var(--axebow-light-gray);\n }\n sl-switch[checked]::part(control) {\n background-color: var(--axebow-tertiary);\n }\n sl-switch::part(thumb) {\n background-color: white;\n }\n\n /** Axebow checkbox */\n sl-checkbox[checked]::part(control) {\n background-color: var(--axebow-tertiary);\n border-color: var(--axebow-tertiary);\n }\n\n /** Axebow select and input global focus */\n sl-input:focus-within::part(base),\n sl-select:focus-within::part(combobox) {\n border-color: var(--axebow-black) !important;\n box-shadow: 0 0 0 1px var(--axebow-black) !important;\n }\n sl-select sl-option:hover::part(base) {\n background-color: #e9ecef;\n }\n sl-select {\n --sl-color-primary-50: var(--axebow-tertiary);\n --sl-color-primary-600: var(--axebow-tertiary);\n }\n sl-select sl-option[checked]::part(base),\n sl-select sl-option[current]::part(base),\n sl-select sl-option[aria-selected='true']::part(base) {\n background-color: var(--axebow-tertiary) !important;\n color: white !important;\n }\n\n /** Axebow tab group */\n sl-tab-group {\n --indicator-color: var(--axebow-tertiary);\n }\n sl-tab {\n --sl-font-size-small: var(--text-base); /* 12px */\n }\n sl-tab::part(base) {\n font-size: var(--text-base); /* 12px */\n }\n sl-tab[active]::part(base) {\n color: var(--axebow-tertiary);\n }\n sl-tab:hover::part(base) {\n color: var(--axebow-tertiary);\n }\n`;\n\nexport const STATUS_COLORS = {\n HEALTHY: 'var(--axebow-success)',\n ERROR: 'var(--axebow-error)',\n WARNING: 'var(--axebow-warning)',\n DEFAULT: 'var(--axebow-gray)',\n} as const;\n","import tailwindCss from '../../styles/tailwind.css?inline';\nimport { html, unsafeCSS, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('axebow-icon')\nexport class AxebowIcon extends LitElement {\n @property({ type: String }) iconName = 'home';\n @property({ type: String }) iconColor = 'var(--axebow-primary)';\n @property({ type: Number }) rotate = 0;\n @property({ type: Boolean }) filled = false;\n @property({ type: String }) size: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' = 'medium';\n @property({ type: Number }) marginBottom = 0;\n\n static styles = unsafeCSS(tailwindCss);\n\n render() {\n const filled = \"[font-variation-settings:'FILL'_1,'wght'_400,'GRAD'_0,'opsz'_24]\";\n const outlined = \"[font-variation-settings:'FILL'_0,'wght'_400,'GRAD'_0,'opsz'_24]\";\n return html`\n <span\n class=\"font-[Material_Symbols_Outlined] inline-block align-middle whitespace-nowrap ${this.filled\n ? filled\n : outlined}\"\n style=\"color: ${this.iconColor}; transform: rotate(${this.rotate}deg); font-size: ${this.size === 'xx-small'\n ? 'var(--text-sm)'\n : this.size === 'x-small'\n ? 'var(--text-base)'\n : this.size === 'small'\n ? 'var(--text-lg)'\n : this.size === 'medium'\n ? 'var(--text-2xl)'\n : this.size === 'large'\n ? 'var(--text-4xl)'\n : this.size === 'x-large'\n ? 'var(--text-6xl)'\n : 'var(--text-2xl)'};\n margin-bottom: ${this.size === 'xx-small'\n ? '0'\n : this.size === 'x-small'\n ? '0'\n : this.size === 'small'\n ? '0'\n : this.size === 'medium'\n ? '0'\n : this.size === 'large'\n ? '0.375rem'\n : this.size === 'x-large'\n ? '0.5rem'\n : `${this.marginBottom}px`};\"\n >\n ${this.iconName}\n </span>\n `;\n }\n}\n","import tailwindCss from '../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ActionMenuItem } from './../cards/card.models.js';\nimport '../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-more-actions')\nexport class AxebowMoreActions extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: inline-block; }`,\n ];\n\n @property({ type: Boolean }) open = false;\n @property({ type: String }) placement: 'top' | 'bottom' = 'bottom';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Array }) options: ActionMenuItem[] = [];\n @property({ type: String }) title = '';\n @property({ type: String }) iconName = '';\n @property({ type: Boolean }) openToRight = false;\n @property({ type: String }) closeLabel = 'Close';\n @property({ type: String }) moreActionsLabel = 'More';\n\n @state() private _fixedPos = { top: 0, right: 0 };\n\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleOutsideClick);\n window.addEventListener('scroll', this._handleScroll, true);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('click', this._handleOutsideClick);\n window.removeEventListener('scroll', this._handleScroll, true);\n }\n\n private _handleOutsideClick = (e: MouseEvent) => {\n if (this.open && !this.contains(e.target as Node)) {\n this.open = false;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: false } }));\n }\n };\n\n private _handleScroll = () => {\n if (this.open && this.openToRight) {\n this.open = false;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: false } }));\n }\n };\n\n private _toggle(e: Event) {\n if (this.disabled) return;\n e.stopPropagation();\n if (!this.open && this.openToRight) {\n const btn = this.shadowRoot?.querySelector<HTMLElement>('.trigger');\n if (btn) {\n const rect = btn.getBoundingClientRect();\n this._fixedPos = { top: rect.bottom + 8, right: window.innerWidth - rect.right };\n }\n }\n this.open = !this.open;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: this.open } }));\n }\n\n private _handleSlotClick() {\n this.open = false;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: false } }));\n }\n\n render() {\n const placementClass = this.placement === 'top' ? 'bottom-full mb-2' : 'top-full mt-2';\n const dropdownStyle = this.openToRight\n ? `position:fixed;top:${this._fixedPos.top}px;right:${this._fixedPos.right}px;z-index:1000;`\n : '';\n\n return html`\n <div class=\"relative w-full h-full flex justify-end\">\n <button\n class=\"trigger relative font-semibold text-xs text-(--axebow-tertiary) cursor-pointer py-1 px-2 h-full bg-transparent border-none transition-all duration-200 flex items-center hover:text-[var(--axebow-gray)] hover:bg-[var(--axebow-anti-flash-white)] hover:rounded-lg disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none\"\n ?disabled=${this.disabled}\n @click=${this._toggle}\n >\n ${this.iconName\n ? html`<axebow-icon iconName=${this.iconName} size=\"small\" iconColor=\"var(--axebow-tertiary)\"></axebow-icon>`\n : this.open ? this.closeLabel : (this.title || this.moreActionsLabel)}\n </button>\n ${this.open\n ? html`\n <div\n class=\"absolute right-0 z-10 bg-white border border-(--axebow-gray) rounded-lg shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] p-2 min-w-44 flex flex-col ${placementClass}\"\n style=${dropdownStyle}\n @click=${this._handleSlotClick}\n >\n ${this.options?.length\n ? this.options.map(\n (opt) => html`\n <button\n class=\"flex items-center gap-2 text-left py-1 px-2 cursor-pointer rounded-sm border border-transparent bg-transparent w-full hover:bg-gray-100\"\n @click=${(e: Event) => {\n e.stopPropagation();\n opt.onTap(e);\n this.open = false;\n this.dispatchEvent(new CustomEvent('toggled', { detail: { open: false } }));\n }}\n @mouseenter=${(e: Event) => ((e.currentTarget as HTMLElement).style.borderColor = `var(--axebow-${opt.type})`)}\n @mouseleave=${(e: Event) => ((e.currentTarget as HTMLElement).style.borderColor = 'transparent')}\n >\n <axebow-icon iconName=${opt.icon} iconColor=\"var(--axebow-${opt.type})\" size=\"small\"></axebow-icon>\n <p class=\"m-0 whitespace-nowrap\" style=\"color:var(--axebow-${opt.type});\">${opt.label}</p>\n </button>\n `\n )\n : html`<slot></slot>`}\n </div>\n `\n : ''}\n </div>\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('axebow-card-cloud-logo')\nexport class AxebowCardCloudLogo extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: contents; }`,\n ];\n\n @property({ type: String }) src: string | null = null;\n @property({ type: String }) size: 'small' | 'large' = 'large';\n\n render() {\n if (!this.src) return html``;\n\n return this.size === 'small'\n ? html`<div class=\"flex items-center justify-center shrink-0\" style=\"height:1.125rem;width:1.125rem;\"><img src=${this.src} class=\"max-h-full max-w-full object-contain\" /></div>`\n : html`<div class=\"flex items-center justify-center shrink-0\" style=\"height:3.125rem;width:3.125rem;\"><img src=${this.src} class=\"max-h-full max-w-full object-contain\" /></div>`;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { RevisionItem } from '../card.models.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-version-selector')\nexport class AxebowCardVersionSelector extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: inline-block; width: auto; max-width: 120px; margin-block: 0.25rem; }\n sl-select {\n --sl-input-background-color: transparent;\n --sl-input-border-color: transparent;\n --sl-input-background-color-focus: transparent;\n --sl-input-border-color-focus: transparent;\n --sl-focus-ring-width: 0px;\n --sl-color-primary-500: var(--axebow-tertiary);\n --sl-color-primary-600: var(--axebow-tertiary);\n --sl-input-spacing-small: 0.1875rem;\n --sl-input-height-small: auto;\n --sl-input-font-size-small: var(--text-base, 0.75rem);\n --sl-font-size-medium: var(--text-base, 0.75rem);\n --sl-spacing-small: 0;\n display: inline-flex !important;\n border: none;\n background: transparent;\n padding: 0;\n margin: 0;\n min-width: 0;\n width: fit-content !important;\n max-width: 120px !important;\n }\n sl-select::part(form-control) {\n display: inline-block;\n width: fit-content;\n border: none;\n background-color: transparent;\n padding: 0;\n min-width: 0;\n }\n sl-select::part(form-control-input) {\n display: inline-block;\n width: fit-content;\n }\n sl-select::part(display-input) { padding: 0; color: var(--axebow-tertiary); font-size: 0.75rem !important; transition: color 0.15s ease; }\n sl-select::part(combobox) {\n padding-inline-start: 0.25rem !important;\n padding-block: 0.125rem !important;\n gap: 0.25rem !important;\n justify-content: flex-start;\n cursor: pointer;\n border: none;\n outline: 1px solid transparent;\n outline-offset: -1px;\n border-radius: 0.375rem;\n background-color: transparent;\n transition: background-color 0.15s ease, outline-color 0.15s ease;\n }\n sl-select[open]::part(combobox) {\n outline-color: var(--axebow-tertiary);\n border-radius: 0.375rem 0.375rem 0 0;\n background-color: white;\n }\n sl-select::part(expand-icon) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 1.125rem;\n height: 1.125rem;\n border: 1px solid var(--axebow-tertiary);\n border-radius: 0.25rem;\n color: var(--axebow-tertiary);\n background-color: transparent;\n transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;\n }\n sl-select::part(listbox) {\n border-color: var(--axebow-tertiary);\n border-top: none;\n border-radius: 0 0 0.375rem 0.375rem;\n box-shadow: none;\n margin-top: -1px;\n }\n sl-option::part(base) { font-size: 0.75rem; padding-inline-start: 0.25rem !important; }\n sl-option::part(checked-icon) { display: none; }\n\n sl-select:hover::part(display-input) { color: var(--axebow-gray); }\n sl-select:hover::part(expand-icon) { color: var(--axebow-gray); border-color: var(--axebow-gray); }\n\n sl-select[open]::part(expand-icon) {\n color: white;\n border-color: var(--axebow-tertiary);\n background-color: var(--axebow-tertiary);\n }\n `,\n ];\n\n @property({ type: Array }) revisions: RevisionItem[] = [];\n @property({ type: String }) displayedRevision = '';\n\n private _formatRevision(id: string): string {\n if (!id) return '';\n const parts = id.split('/');\n return parts[parts.length - 1] ?? id;\n }\n\n render() {\n return html`\n <sl-select size=\"small\" value=${this.displayedRevision} @sl-change=${this._onChange}>\n ${this.revisions.map(\n (rev) => html`\n <sl-option value=${rev.id}>\n ${this._formatRevision(rev.id)}\n ${rev.id !== this.displayedRevision\n ? html`<axebow-icon slot=\"suffix\" iconName=\"update\" iconColor=\"var(--axebow-tertiary)\" size=\"small\"></axebow-icon>`\n : ''}\n </sl-option>\n `\n )}\n </sl-select>\n `;\n }\n\n private _onChange(e: CustomEvent) {\n const revision = (e.target as HTMLSelectElement).value;\n this.dispatchEvent(new CustomEvent('revision-change', { detail: { revision }, bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '@shoelace-style/shoelace/dist/components/tooltip/tooltip.js';\n\n@customElement('axebow-role-tooltip')\nexport class AxebowRoleTooltip extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: contents; }\n sl-tooltip::part(body) {\n background-color: var(--axebow-white);\n color: var(--axebow-primary);\n padding: 1rem;\n border: 3px solid var(--axebow-table-border);\n width: 280px;\n }\n ul {\n margin: 0.5rem 0 0;\n padding-left: 1.2rem;\n list-style: disc;\n }\n li {\n font-size: 0.8rem;\n line-height: 1.5;\n }\n `,\n ];\n\n @property({ type: String }) heading = '';\n @property({ type: Array }) items: string[] = [];\n @property({ type: String }) color = 'var(--axebow-primary)';\n\n render() {\n if (!this.heading) return html``;\n\n return html`\n <sl-tooltip placement=\"right\" hoist>\n <div slot=\"content\">\n <strong>${this.heading}</strong>\n <ul>\n ${this.items.map((item) => html`<li>${item}</li>`)}\n </ul>\n </div>\n <axebow-icon iconName=\"info\" size=\"small\" class=\"cursor-pointer\" iconColor=${this.color}></axebow-icon>\n </sl-tooltip>\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardBadge, CardType, RevisionItem, RoleTooltipContent } from '../card.models.js';\nimport '@shoelace-style/shoelace/dist/components/tooltip/tooltip.js';\nimport '@shoelace-style/shoelace/dist/components/badge/badge.js';\nimport '../../axebow-icon/axebow-icon.js';\nimport './axebow-card-cloud-logo.js';\nimport './axebow-card-version-selector.js';\nimport './axebow-role-tooltip.js';\n\n@customElement('axebow-card-header')\nexport class AxebowCardHeader extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; }\n sl-badge::part(base) { background-color: var(--axebow-secondary); color: white; }\n `,\n ];\n\n @property({ type: String }) logoSrc: string | null = null;\n @property({ type: String }) tenantOrAccount = '';\n @property({ type: String }) name = '';\n @property({ type: String }) badge: CardBadge = 'none';\n @property({ type: String }) subtitle = '';\n @property({ type: String }) cardType: CardType = 'account';\n @property({ type: Array }) revisions: RevisionItem[] = [];\n @property({ type: String }) displayedRevision = '';\n @property({ type: String }) freeIaasLabel = 'Free IaaS';\n @property({ type: String }) freeIaasTitle = 'Free Infrastructure';\n @property({ type: String }) freeIaasDesc = 'This environment uses free infrastructure.';\n @property({ type: String }) haLabel = 'Highly Available';\n @property({ type: String }) haTitle = 'High Availability enabled';\n @property({ type: String }) role = '';\n @property({ type: Object }) roleTooltips: Record<string, RoleTooltipContent> = {};\n @property({ type: String }) roleTooltipColor = 'var(--axebow-primary)';\n\n private _renderBadge() {\n if (this.badge === 'free-iaas') {\n return html`\n <sl-tooltip>\n <div slot=\"content\" style=\"max-width:300px;\">\n <strong>${this.freeIaasTitle}</strong>\n <p style=\"margin-top:0.5rem;\">${this.freeIaasDesc}</p>\n </div>\n <div class=\"flex items-center gap-2 cursor-pointer\">\n <axebow-icon iconName=\"info\" iconColor=\"var(--axebow-gray)\" size=\"small\"></axebow-icon>\n <span class=\"text-(--axebow-rich-black)\">${this.freeIaasLabel}</span>\n </div>\n </sl-tooltip>\n `;\n }\n if (this.badge === 'ha') {\n return html`\n <sl-tooltip content=${this.haTitle}>\n <sl-badge variant=\"neutral\" pill size=\"small\" class=\"cursor-pointer\">${this.haLabel}</sl-badge>\n </sl-tooltip>\n `;\n }\n return html``;\n }\n\n private _headerHeight(): string {\n switch (this.cardType) {\n case 'tenant':\n return '4.5625rem';\n case 'environment':\n return '3.6875rem';\n case 'account':\n case 'runtime':\n default:\n return '4.125rem';\n }\n }\n\n render() {\n const isTenant = this.cardType === 'tenant';\n const isCompact = this.cardType === 'environment' || isTenant;\n const isRuntime = this.cardType === 'runtime';\n const heightStyle = `height:${this._headerHeight()}`;\n\n if (isCompact) {\n return html`\n <div class=\"w-full bg-(--axebow-anti-flash-white) rounded-lg flex flex-col justify-center px-5 py-3 box-border\" style=${heightStyle}>\n <div class=\"flex flex-col flex-1 min-w-0\">\n ${this.tenantOrAccount || this.logoSrc\n ? html`\n <div class=\"flex gap-2 items-center leading-none mt-1\">\n <axebow-card-cloud-logo .src=${this.logoSrc} size=\"small\"></axebow-card-cloud-logo>\n <span class=\"font-semibold text-(--axebow-gray) leading-none\">${this.tenantOrAccount}</span>\n </div>\n `\n : ''}\n <div class=\"flex justify-between items-center\">\n <span class=\"font-bold text-xl text-(--axebow-primary) leading-snug pt-0.5\">${this.name}</span>\n ${this._renderBadge()}\n </div>\n ${this.subtitle\n ? html`\n <div class=\"text-(--axebow-gray) flex items-center gap-1 mt-1\">\n ${this.subtitle}\n ${isTenant && this.roleTooltips[this.role]\n ? html`\n <axebow-role-tooltip\n .heading=${this.roleTooltips[this.role].title}\n .items=${this.roleTooltips[this.role].items}\n color=${this.roleTooltipColor}\n ></axebow-role-tooltip>\n `\n : html`<slot name=\"subtitle-tooltip\"></slot>`}\n </div>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n return html`\n <div class=\"w-full bg-(--axebow-anti-flash-white) rounded-lg flex items-center gap-3 py-2 px-3 box-border\" style=${heightStyle}>\n <axebow-card-cloud-logo .src=${this.logoSrc} size=\"large\"></axebow-card-cloud-logo>\n <div class=\"flex flex-col flex-1 min-w-0 ${isRuntime ? 'justify-center' : ''}\">\n ${!isRuntime && this.tenantOrAccount\n ? html`<span class=\"font-semibold text-(--axebow-gray) leading-none\">${this.tenantOrAccount}</span>`\n : ''}\n <div class=\"flex justify-between items-center ${isRuntime ? 'mt-1.5' : ''}\">\n <span class=\"font-bold text-xl text-(--axebow-primary) leading-snug ${isRuntime ? 'pl-1' : 'pt-0.5'}\">${this.name}</span>\n ${this._renderBadge()}\n </div>\n ${isRuntime\n ? html`\n <div class=\"revision-wrap flex items-center mt-0\">\n <axebow-card-version-selector\n .revisions=${this.revisions}\n .displayedRevision=${this.displayedRevision}\n @revision-change=${this._onRevisionChange}\n ></axebow-card-version-selector>\n </div>\n `\n : this.subtitle\n ? html`<div class=\"text-xs text-(--axebow-gray) flex items-center gap-1 mt-1\">${this.subtitle}<slot name=\"subtitle-tooltip\"></slot></div>`\n : ''}\n </div>\n </div>\n `;\n }\n\n private _onRevisionChange(e: CustomEvent) {\n this.dispatchEvent(new CustomEvent('revision-change', { detail: e.detail, bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('axebow-card-stat-item')\nexport class AxebowCardStatItem extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Number }) value: number = 0;\n @property({ type: String }) title = '';\n @property({ type: String }) label = '';\n @property({ type: Boolean }) active = true;\n\n render() {\n return html`\n <div class=\"flex flex-col items-center justify-start text-center gap-0.5 w-30 h-17.25\">\n <h4 class=\"text-[20px] text-(--axebow-primary) font-bold leading-snug m-0\">${this.value}</h4>\n <p class=\"text-[12px] m-0 leading-snug\">${this.title}</p>\n <div class=\"h-3.5 flex items-center justify-center\">\n ${this.label\n ? html`\n <span\n class=\"text-(--axebow-gray) font-semibold text-[12px] ${this.active ? 'cursor-pointer opacity-100' : 'cursor-not-allowed opacity-50'}\"\n @click=${this._onClick}\n >${this.label}</span>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n private _onClick() {\n if (this.active) {\n this.dispatchEvent(new CustomEvent('label-click', { bubbles: true, composed: true }));\n }\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardType, MainStatsType } from '../card.models.js';\nimport './axebow-card-stat-item.js';\n\n@customElement('axebow-card-stats-row')\nexport class AxebowCardStatsRow extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Array }) stats: MainStatsType[] = [];\n @property({ type: String }) cardType: CardType = 'account';\n\n private _hasButtons(): boolean {\n return this.cardType === 'account' || this.cardType === 'environment';\n }\n\n render() {\n const heightClass = this._hasButtons() ? 'h-17.25' : 'h-11.25';\n\n return html`\n <div class=\"grid grid-cols-3 gap-1 w-91 ${heightClass} box-border\">\n ${this.stats.map(\n (stat, index) => html`\n <axebow-card-stat-item\n .value=${stat.value}\n .title=${stat.title}\n .label=${stat.label}\n .active=${stat.active !== false}\n @label-click=${() => this._handleLabelClick(index)}\n ></axebow-card-stat-item>\n `\n )}\n </div>\n `;\n }\n\n private _handleLabelClick(index: number) {\n this.dispatchEvent(\n new CustomEvent('stat-label-click', { detail: { index }, bubbles: true, composed: true })\n );\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-filter-item')\nexport class AxebowCardFilterItem extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: String }) name = '';\n @property({ type: Boolean }) showAttention = false;\n\n render() {\n return html`\n <div\n class=\"w-full py-1 px-2 flex justify-between items-center cursor-pointer hover:bg-(--axebow-light-gray)\"\n @click=${this._onClick}\n >\n <p class=\"m-0\">${this.name}</p>\n ${this.showAttention\n ? html`<axebow-icon iconName=\"error\" size=\"small\" iconColor=\"var(--axebow-error)\"></axebow-icon>`\n : ''}\n </div>\n `;\n }\n\n private _onClick() {\n this.dispatchEvent(\n new CustomEvent('item-select', { detail: { name: this.name }, bubbles: true, composed: true })\n );\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardFilterItem } from '../card.models.js';\nimport '../../axebow-icon/axebow-icon.js';\nimport './axebow-card-filter-item.js';\n\n@customElement('axebow-card-filter')\nexport class AxebowCardFilter extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Array }) items: CardFilterItem[] = [];\n @property({ type: String }) selected: string | null = null;\n @property({ type: String }) emptyLabel = '';\n @property({ type: String }) emptyActionLabel = '';\n @property({ type: String }) attentionLabel = 'Attention needed';\n @property({ type: Boolean }) showAttention = false;\n @property({ type: Boolean }) opened = false;\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: Boolean }) isDisabled = false;\n\n render() {\n const showEmpty = !this.selected && this.items.length === 0;\n\n return html`\n <div class=\"relative\">\n <div class=\"flex justify-between items-center border-b border-(--axebow-light-gray) w-87 h-7 box-border px-2 cursor-pointer\">\n ${showEmpty\n ? html`\n <p\n class=\"m-0 ${this.isPlainRole || this.isDisabled\n ? 'text-(--axebow-gray) cursor-default opacity-50'\n : 'text-(--axebow-tertiary) cursor-pointer'}\"\n @click=${this.isPlainRole || this.isDisabled ? undefined : this._onEmptyAction}\n >\n ${this.emptyActionLabel}\n </p>\n `\n : html`\n <div\n class=\"flex w-full justify-between items-center ${this.isDisabled ? 'opacity-50 cursor-not-allowed' : ''}\"\n @click=${this.isDisabled ? undefined : this._onToggle}\n >\n <span class=\"text-(--axebow-tertiary)\">${this.selected ?? this.emptyLabel}</span>\n <div class=\"flex items-center gap-2\">\n ${this.showAttention\n ? html`<p class=\"text-(--axebow-error) m-0 text-xs\">${this.attentionLabel}</p>`\n : ''}\n <axebow-icon iconName=\"chevron_right\" rotate=\"90\" iconColor=\"var(--axebow-tertiary)\" size=\"small\"></axebow-icon>\n </div>\n </div>\n `}\n </div>\n\n <div class=\"${this.opened ? '' : 'hidden'} absolute top-full left-0 right-0 z-10 flex flex-col bg-white rounded-b-lg border border-(--axebow-light-gray) shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] max-h-40 overflow-y-auto\">\n <p class=\"w-full p-2 cursor-pointer m-0 hover:bg-(--axebow-light-gray)\" @click=${() => this._onSelect(null)}>${this.emptyLabel}</p>\n ${this.items.map(\n (item) => html`\n <axebow-card-filter-item\n .name=${item.name}\n .showAttention=${item.showAttention}\n @item-select=${(e: CustomEvent) => this._onSelect(e.detail.name)}\n ></axebow-card-filter-item>\n `\n )}\n </div>\n </div>\n `;\n }\n\n private _onToggle() {\n this.dispatchEvent(new CustomEvent('toggle-open', { bubbles: true, composed: true }));\n }\n\n private _onSelect(name: string | null) {\n this.dispatchEvent(new CustomEvent('filter-select', { detail: { name }, bubbles: true, composed: true }));\n }\n\n private _onEmptyAction() {\n this.dispatchEvent(new CustomEvent('empty-action-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { RuntimeFilterRole } from '../card.models.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-table-header')\nexport class AxebowCardTableHeader extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Boolean }) opened = false;\n @property({ type: String }) filterDisplayText = '';\n @property({ type: String }) allLabel = 'All Roles & Instances';\n @property({ type: String }) attentionLabel = 'Attention needed';\n @property({ type: Boolean }) showAttention = false;\n @property({ type: Array }) filterRoles: RuntimeFilterRole[] = [];\n\n render() {\n return html`\n <div class=\"relative\">\n <div\n class=\"flex justify-between items-center border-b border-(--axebow-light-gray) w-87 h-7 box-border px-2 cursor-pointer\"\n @click=${this._onToggle}\n >\n <span class=\"text-(--axebow-tertiary)\">${this.filterDisplayText || this.allLabel}</span>\n <div class=\"flex items-center gap-2\">\n ${this.showAttention ? html`<p class=\"text-(--axebow-error) m-0 text-xs\">${this.attentionLabel}</p>` : ''}\n <axebow-icon iconName=\"chevron_right\" rotate=\"90\" iconColor=\"var(--axebow-tertiary)\" size=\"small\"></axebow-icon>\n </div>\n </div>\n\n <div class=\"${this.opened ? '' : 'hidden'} absolute top-full left-0 right-0 z-10 flex flex-col bg-white rounded-b-lg border border-(--axebow-light-gray) shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] max-h-40 overflow-y-auto\">\n <p class=\"w-full p-2 cursor-pointer m-0 hover:bg-(--axebow-light-gray)\" @click=${() => this._onSelect('', 'all')}>${this.allLabel}</p>\n ${this.filterRoles.map(\n (role) => html`\n <div\n class=\"w-full py-1 px-2 flex justify-between items-center cursor-pointer hover:bg-(--axebow-light-gray)\"\n @click=${() => this._onSelect(role.name, 'role')}\n >\n <div class=\"flex items-center gap-2\">\n ${role.logo ? html`<img src=${role.logo} class=\"w-5 h-5\" />` : ''}\n <p class=\"m-0\">${role.name}</p>\n </div>\n </div>\n ${role.instances.map(\n (inst) => html`\n <div\n class=\"w-full py-1 px-2 pl-6 flex justify-between items-center cursor-pointer hover:bg-(--axebow-light-gray)\"\n @click=${() => this._onSelect(inst.name, 'instance')}\n >\n <div class=\"flex items-center gap-2\">\n <axebow-icon iconName=\"subdirectory_arrow_right\" size=\"small\"></axebow-icon>\n <p class=\"m-0\">${inst.name}</p>\n </div>\n ${inst.needsAttention\n ? html`<axebow-icon iconName=\"warning\" iconColor=\"var(--axebow-error)\" size=\"small\"></axebow-icon>`\n : ''}\n </div>\n `\n )}\n `\n )}\n </div>\n </div>\n `;\n }\n\n private _onToggle() {\n this.dispatchEvent(new CustomEvent('toggle-open', { bubbles: true, composed: true }));\n }\n\n private _onSelect(selected: string, type: 'instance' | 'role' | 'all') {\n this.dispatchEvent(new CustomEvent('filter-change', { detail: { selected, type }, bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-special-link')\nexport class AxebowCardSpecialLink extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: inline-flex; }`,\n ];\n\n @property({ type: String }) label = '';\n @property({ type: String }) color = 'var(--axebow-error)';\n @property({ type: String }) icon = 'arrow_forward';\n\n render() {\n return html`\n <span class=\"cursor-pointer\" style=\"color:${this.color};\" @click=${this._onClick}>\n ${this.label}\n <axebow-icon iconName=${this.icon} iconColor=${this.color} size=\"small\"></axebow-icon>\n </span>\n `;\n }\n\n private _onClick() {\n this.dispatchEvent(new CustomEvent('link-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardType, TableStatsType } from '../card.models.js';\nimport './axebow-card-special-link.js';\n\n@customElement('axebow-card-attention-banner')\nexport class AxebowCardAttentionBanner extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; }\n .error-bg { background-color: color-mix(in srgb, var(--axebow-error) 10%, white); }\n `,\n ];\n\n @property({ type: String }) cardType: CardType = 'account';\n @property({ type: Array }) tableStats: TableStatsType[] = [];\n @property({ type: Number }) threshold = 90;\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: Boolean }) invalidCredentials = false;\n @property({ type: String }) manageLabel = 'Manage';\n @property({ type: String }) askOwnerLabel = 'Ask your owner';\n @property({ type: String }) invalidCredsLabel = 'Invalid credentials.';\n @property({ type: String }) limitReachedLabel = 'Limit reached.';\n @property({ type: String }) andLabel = 'and';\n\n private _getExceeded(): string[] {\n const primary = this.tableStats.slice(0, 3).map((r) => r.title);\n return this.tableStats\n .filter((s) => primary.includes(s.title) && s.percentage >= this.threshold)\n .map((s) => s.title);\n }\n\n private _formatList(resources: string[]): string {\n if (resources.length === 1) return resources[0];\n if (resources.length === 2) return `${resources[0]} ${this.andLabel} ${resources[1]}`;\n return `${resources.slice(0, -1).join(', ')} ${this.andLabel} ${resources[resources.length - 1]}`;\n }\n\n render() {\n const exceeded = this._getExceeded();\n if (exceeded.length === 0 && !this.invalidCredentials) return html``;\n\n return html`\n <div class=\"error-bg flex flex-wrap items-center justify-center gap-1 w-87 h-6.5 box-border px-1 text-center overflow-hidden\">\n ${this.isPlainRole\n ? html`<span class=\"text-(--axebow-error)\">${this.askOwnerLabel}</span>`\n : html`\n <p class=\"text-(--axebow-error) m-0\">\n ${this.invalidCredentials\n ? this.invalidCredsLabel\n : `${this.limitReachedLabel} ${this._formatList(exceeded)}.`}\n <axebow-card-special-link\n .label=${this.manageLabel}\n color=\"var(--axebow-error)\"\n @link-click=${this._onManage}\n ></axebow-card-special-link>\n </p>\n `}\n </div>\n `;\n }\n\n private _onManage() {\n this.dispatchEvent(new CustomEvent('manage-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-action-banner')\nexport class AxebowCardActionBanner extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; }\n .tertiary-bg { background-color: color-mix(in srgb, var(--axebow-tertiary) 10%, white); }\n axebow-button::part(label) { color: var(--axebow-tertiary); font-weight: 600; display: flex; align-items: center; gap: 2px; }\n axebow-button::part(base) { padding: 0; height: auto; min-height: unset; }\n `,\n ];\n\n @property({ type: String }) label = 'View details';\n\n render() {\n return html`\n <div class=\"tertiary-bg flex items-center justify-center gap-1 w-87 h-6.5 box-border px-3 text-sm text-center overflow-hidden\">\n <axebow-button variant=\"text\" size=\"small\" @click=${this._onClick}>\n ${this.label}\n <axebow-icon iconName=\"arrow_forward\" iconColor=\"var(--axebow-tertiary)\" size=\"small\"></axebow-icon>\n </axebow-button>\n </div>\n `;\n }\n\n private _onClick() {\n this.dispatchEvent(new CustomEvent('action-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../axebow-icon/axebow-icon.js';\nimport { TableStatsType } from '../card.models.js';\n\n@customElement('axebow-card-resource-row')\nexport class AxebowCardResourceRow extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: contents; }`,\n ];\n\n @property({ type: Object }) stat!: TableStatsType;\n @property({ type: Number }) attentionThreshold = 90;\n @property({ type: Boolean }) isLast = false;\n\n render() {\n const stat = this.stat;\n const showDivider = !stat.hidden && !this.isLast;\n const textClass = stat.isSecondary ? 'text-sm font-normal' : 'text-base font-semibold';\n const barHeightClass = stat.isSecondary ? 'h-2.25' : 'h-2.75';\n const divider = showDivider\n ? html`<div class=\"col-span-4 border-t border-dashed border-(--axebow-light-gray)\"></div>`\n : '';\n\n if (stat.hidden) {\n return html`\n <div class=\"flex items-center w-full h-5.75 box-border\"></div>\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\"></div>\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\"></div>\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\"></div>\n ${divider}\n `;\n }\n\n return html`\n <div class=\"flex items-center w-full h-5.75 box-border\">\n <div class=\"flex items-center gap-1\">\n <axebow-icon iconName=${stat.icon} size=\"small\" rotate=${stat.iconRotation ?? 0}></axebow-icon>\n <span class=\"${textClass}\">${stat.title}</span>\n </div>\n </div>\n\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\">\n <p class=\"${textClass} m-0\">${stat.value ?? '-.-'}</p>\n </div>\n\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\">\n <div class=\"${barHeightClass} w-37.5 bg-(--axebow-light-gray) rounded-md relative overflow-hidden\">\n <div\n class=\"absolute h-full ${stat.percentage >= this.attentionThreshold ? 'bg-(--axebow-error)' : 'bg-(--axebow-gray)'}\"\n style=\"width:${stat.percentage}%;\"\n ></div>\n </div>\n </div>\n\n <div class=\"flex items-center justify-end w-full h-5.75 box-border\">\n <p class=\"${textClass} m-0\">\n ${stat.maxValue ?? '-.-'}<span class=\"font-normal\">${stat.tagValue ?? ''}</span>\n </p>\n </div>\n ${divider}\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { CardType, TableStatsType } from '../card.models.js';\nimport './axebow-card-attention-banner.js';\nimport './axebow-card-action-banner.js';\nimport './axebow-card-resource-row.js';\n\n@customElement('axebow-card-resource-table')\nexport class AxebowCardResourceTable extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Array }) rows: TableStatsType[] = [];\n @property({ type: Number }) attentionThreshold = 90;\n @property({ type: String }) cardType: CardType = 'account';\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: Boolean }) showActionBanner = false;\n @property({ type: Boolean }) showWarningBanner = false;\n @property({ type: String }) manageLabel = 'Manage';\n @property({ type: String }) askOwnerLabel = 'Ask your owner';\n @property({ type: String }) invalidCredsLabel = 'Invalid credentials.';\n @property({ type: String }) limitReachedLabel = 'Limit reached.';\n @property({ type: String }) andLabel = 'and';\n @property({ type: String }) actionBannerLabel = '';\n\n private _hasAttention(): boolean {\n const primary = this.rows.slice(0, 3).map((r) => r.title);\n return this.rows.some((s) => primary.includes(s.title) && s.percentage >= this.attentionThreshold);\n }\n\n render() {\n const showWarning = !this.isPlainRole && this.showWarningBanner;\n const showAttention = !this.isPlainRole && !showWarning && this.showActionBanner && this._hasAttention();\n const showAction = !this.isPlainRole && !showWarning && this.showActionBanner && !this._hasAttention();\n\n const visibleRows = this.rows.filter((r) => !r.hidden);\n const lastVisible = visibleRows[visibleRows.length - 1];\n const showBanner = showWarning || showAttention || showAction;\n\n return html`\n <div class=\"w-87 box-border\">\n <div class=\"grid grid-cols-[auto_auto_1fr_auto] gap-x-2 w-87 px-2 box-border ${showBanner ? 'border-b border-(--axebow-light-gray)' : ''}\">\n ${this.rows.map(\n (stat) => html`\n <axebow-card-resource-row\n .stat=${stat}\n .attentionThreshold=${this.attentionThreshold}\n .isLast=${stat === lastVisible}\n ></axebow-card-resource-row>\n `\n )}\n </div>\n\n <div class=\"h-6.5 box-border\">\n ${showWarning\n ? html`<axebow-card-attention-banner\n .invalidCredentials=${true}\n .isPlainRole=${this.isPlainRole}\n .manageLabel=${this.manageLabel}\n .askOwnerLabel=${this.askOwnerLabel}\n .invalidCredsLabel=${this.invalidCredsLabel}\n .limitReachedLabel=${this.limitReachedLabel}\n .andLabel=${this.andLabel}\n ></axebow-card-attention-banner>`\n : showAttention\n ? html`<axebow-card-attention-banner\n .cardType=${this.cardType}\n .tableStats=${this.rows}\n .threshold=${this.attentionThreshold}\n .isPlainRole=${this.isPlainRole}\n .manageLabel=${this.manageLabel}\n .askOwnerLabel=${this.askOwnerLabel}\n .invalidCredsLabel=${this.invalidCredsLabel}\n .limitReachedLabel=${this.limitReachedLabel}\n .andLabel=${this.andLabel}\n ></axebow-card-attention-banner>`\n : showAction\n ? html`<axebow-card-action-banner .label=${this.actionBannerLabel} @action-click=${() => this.dispatchEvent(new CustomEvent('action-click', { bubbles: true, composed: true }))}></axebow-card-action-banner>`\n : ''}\n </div>\n </div>\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '@shoelace-style/shoelace/dist/components/tooltip/tooltip.js';\nimport '../../axebow-icon/axebow-icon.js';\n\n@customElement('axebow-card-status')\nexport class AxebowCardStatus extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; flex: 1; min-width: 0; }\n sl-tooltip::part(base) { max-width: none; white-space: normal; word-break: break-word; }\n `,\n ];\n\n @property({ type: String }) statusCode = '';\n @property({ type: String }) statusMessage = '';\n @property({ type: String }) borderColor = '';\n @property({ type: Boolean }) showSpinner = false;\n\n render() {\n if (!this.statusCode) {\n return html`<div class=\"w-full whitespace-nowrap overflow-hidden text-ellipsis\"><slot></slot></div>`;\n }\n\n return html`\n <div class=\"flex items-center gap-1 min-w-0 w-full\">\n ${this.showSpinner ? html`<sl-spinner style=\"--indicator-color:${this.borderColor};\"></sl-spinner>` : ''}\n <p class=\"font-bold m-0 line-clamp-1\" style=\"color:${this.borderColor};\" title=${this.statusCode}>${this.statusCode}</p>\n <sl-tooltip content=${this.statusMessage}>\n <axebow-icon class=\"cursor-pointer shrink-0\" iconColor=${this.borderColor} iconName=\"info\" size=\"small\"></axebow-icon>\n </sl-tooltip>\n </div>\n `;\n }\n}\n","import tailwindCss from '../../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ActionMenuItem } from '../card.models.js';\nimport './../../axebow-more-actions/axebow-more-actions.js';\nimport './axebow-card-status.js';\n\n@customElement('axebow-card-footer')\nexport class AxebowCardFooter extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Boolean }) isFreeIaaS = false;\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: String }) statusCode = '';\n @property({ type: String }) statusMessage = '';\n @property({ type: String }) borderColor = '';\n @property({ type: Boolean }) showSpinner = false;\n @property({ type: Boolean }) moreActionsOpen = false;\n @property({ type: Array }) moreActionsOptions: ActionMenuItem[] = [];\n @property({ type: String }) closeLabel = 'Close';\n @property({ type: String }) moreActionsLabel = 'More';\n @property({ type: String }) actionLabel = '';\n\n render() {\n const showDropdown = !this.isFreeIaaS && !this.isPlainRole && this.moreActionsOptions.length > 0;\n const showAction = !showDropdown && !!this.actionLabel;\n\n return html`\n <div class=\"flex justify-between items-center relative h-6 gap-2\">\n <axebow-card-status\n .statusCode=${this.statusCode}\n .statusMessage=${this.statusMessage}\n .borderColor=${this.borderColor}\n .showSpinner=${this.showSpinner}\n >\n <slot></slot>\n </axebow-card-status>\n ${showDropdown\n ? html`\n <axebow-more-actions\n class=\"shrink-0 mr-2\"\n placement=\"top\"\n .open=${this.moreActionsOpen}\n .options=${this.moreActionsOptions}\n .closeLabel=${this.closeLabel}\n .moreActionsLabel=${this.moreActionsLabel}\n @toggled=${this._onToggled}\n ></axebow-more-actions>\n `\n : showAction\n ? html`<axebow-button variant=\"text\" size=\"medium\" @click=${this._onAction}>${this.actionLabel}</axebow-button>`\n : ''}\n </div>\n `;\n }\n\n private _onToggled(e: CustomEvent) {\n this.dispatchEvent(\n new CustomEvent('more-actions-toggled', { detail: { open: e.detail.open }, bubbles: true, composed: true })\n );\n }\n\n private _onAction() {\n this.dispatchEvent(new CustomEvent('footer-action-click', { bubbles: true, composed: true }));\n }\n}\n","import tailwindCss from '../../styles/tailwind.css?inline';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {\n ActionMenuItem,\n CardBadge,\n CardFilterItem,\n CardType,\n MainStatsType,\n RevisionItem,\n RoleTooltipContent,\n RuntimeFilterRole,\n TableStatsType,\n} from './card.models.js';\nimport './../axebow-more-actions/axebow-more-actions.js';\nimport './parts/axebow-card-header.js';\nimport './parts/axebow-card-stats-row.js';\nimport './parts/axebow-card-filter.js';\nimport './parts/axebow-card-table-header.js';\nimport './parts/axebow-card-resource-table.js';\nimport './parts/axebow-card-footer.js';\n\n@customElement('axebow-base-card')\nexport class AxebowBaseCard extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: inline-block; max-width: 100%; }\n sl-badge::part(base) { background-color: var(--axebow-secondary); color: white; }\n sl-dialog::part(panel) { width: 35vw; min-width: 400px; }\n sl-dialog::part(body) { padding-top: 0; }\n sl-alert::part(base) { border-top: 2px solid var(--axebow-error); }\n sl-range, sl-range:hover {\n --sl-color-primary-600: var(--axebow-tertiary);\n --sl-color-primary-500: var(--axebow-tertiary);\n }\n .deploy-time {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n `,\n ];\n\n @property({ type: String, reflect: true, attribute: 'card-type' }) cardType: CardType = 'account';\n @property({ type: String }) name = '';\n @property({ type: String }) logoSrc: string | null = null;\n @property({ type: String }) tenantOrAccount = '';\n @property({ type: String }) badge: CardBadge = 'none';\n @property({ type: String }) subtitle = '';\n\n @property({ type: Array }) mainStats: MainStatsType[] = [];\n\n @property({ type: Array }) tableStats: TableStatsType[] = [];\n @property({ type: Number }) attentionThreshold = 90;\n\n @property({ type: Array }) filterItems: CardFilterItem[] = [];\n @property({ type: String }) selected: string | null = null;\n @property({ type: Boolean }) filterOpened = false;\n @property({ type: String }) emptyLabel = '';\n @property({ type: String }) emptyActionLabel = '';\n @property({ type: String }) attentionLabel = 'Attention needed';\n @property({ type: Boolean }) showAttention = false;\n @property({ type: Boolean }) isPlainRole = false;\n @property({ type: Boolean }) isDeleting = false;\n @property({ type: Boolean }) isDisabled = false;\n\n @property({ type: Array }) revisions: RevisionItem[] = [];\n @property({ type: String }) displayedRevision = '';\n @property({ type: Boolean }) isDeployed = false;\n @property({ type: String }) deployedLabel = 'Deployed';\n\n @property({ type: Array }) filterRoles: RuntimeFilterRole[] = [];\n @property({ type: String }) filterDisplayText = '';\n @property({ type: String }) allLabel = 'All Roles & Instances';\n\n @property({ type: String }) borderColor = '';\n @property({ type: String }) statusCode = '';\n @property({ type: String }) statusMessage = '';\n @property({ type: String }) serviceDetailLabel = 'Service detail';\n\n @property({ type: Boolean }) showActionBanner = false;\n @property({ type: Boolean }) showWarningBanner = false;\n @property({ type: String }) manageLabel = 'Manage';\n @property({ type: String }) askOwnerLabel = 'Ask your owner';\n @property({ type: String }) invalidCredsLabel = 'Invalid credentials.';\n @property({ type: String }) limitReachedLabel = 'Limit reached.';\n @property({ type: String }) andLabel = 'and';\n @property({ type: String }) actionBannerLabel = '';\n\n @property({ type: Boolean }) moreActionsOpen = false;\n @property({ type: Array }) moreActionsOptions: ActionMenuItem[] = [];\n @property({ type: Boolean }) isFreeIaaS = false;\n @property({ type: String }) closeLabel = 'Close';\n @property({ type: String }) moreActionsLabel = 'More';\n\n @property({ type: String }) freeIaasLabel = 'Free IaaS';\n @property({ type: String }) freeIaasTitle = 'Free Infrastructure';\n @property({ type: String }) freeIaasDesc = 'This environment uses free infrastructure.';\n @property({ type: String }) haLabel = 'Highly Available';\n @property({ type: String }) haTitle = 'High Availability enabled';\n\n @property({ type: String }) role = '';\n @property({ type: Object }) roleTooltips: Record<string, RoleTooltipContent> = {};\n @property({ type: String }) roleTooltipColor = 'var(--axebow-primary)';\n\n private static readonly SIZE_CLASSES: Record<CardType, string> = {\n tenant: 'w-95 h-92.25',\n account: 'w-95 h-103.25',\n environment: 'w-95 h-101.5',\n runtime: 'w-95 h-92.5',\n };\n\n render() {\n const isRuntime = this.cardType === 'runtime';\n\n return html`\n <div\n class=\"${AxebowBaseCard.SIZE_CLASSES[this.cardType]} bg-(--axebow-white) rounded-lg px-2 pt-2 pb-4 flex flex-col justify-between gap-2 box-border ${isRuntime ? 'border-t-4' : ''} transition-shadow duration-200 ease-in-out hover:shadow-[0_4px_12px_0_rgba(13,24,33,0.08)] ${this.isDeleting ? 'pointer-events-none cursor-not-allowed grayscale' : ''}\"\n style=${isRuntime ? `border-top-color:${this.borderColor};` : ''}\n ?inert=${this.isDeleting}\n >\n <div class=\"flex flex-col gap-2\">\n <axebow-card-header\n .cardType=${this.cardType}\n .logoSrc=${this.logoSrc}\n .tenantOrAccount=${this.tenantOrAccount}\n .name=${this.name}\n .badge=${this.badge}\n .subtitle=${this.subtitle}\n .revisions=${this.revisions}\n .displayedRevision=${this.displayedRevision}\n .freeIaasLabel=${this.freeIaasLabel}\n .freeIaasTitle=${this.freeIaasTitle}\n .freeIaasDesc=${this.freeIaasDesc}\n .haLabel=${this.haLabel}\n .haTitle=${this.haTitle}\n .role=${this.role}\n .roleTooltips=${this.roleTooltips}\n .roleTooltipColor=${this.roleTooltipColor}\n @revision-change=${(e: CustomEvent) =>\n this.dispatchEvent(new CustomEvent('revision-change', { detail: e.detail, bubbles: true, composed: true }))}\n >\n <slot slot=\"subtitle-tooltip\" name=\"subtitle-tooltip\"></slot>\n </axebow-card-header>\n\n <div class=\"w-full px-2 flex flex-col gap-2\">\n ${isRuntime\n ? html`\n <div class=\"flex flex-row justify-between items-center min-h-10 max-h-10 overflow-hidden\">\n <span class=\"deploy-time text-(--axebow-secondary)\"><slot name=\"time-elapsed\"></slot></span>\n ${this.isDeployed\n ? html`<span class=\"text-(--axebow-secondary) border-2 border-(--axebow-secondary) rounded-lg py-0.5 px-1.5 whitespace-nowrap text-xs\">${this.deployedLabel}</span>`\n : ''}\n </div>\n `\n : html`\n <axebow-card-stats-row\n .stats=${this.mainStats}\n .cardType=${this.cardType}\n @stat-label-click=${(e: CustomEvent) =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('stat-label-click', { detail: e.detail, bubbles: true, composed: true }))}\n ></axebow-card-stats-row>\n `}\n\n <div class=\"w-full h-full border border-(--axebow-light-gray) rounded-md\">\n ${isRuntime\n ? html`\n <axebow-card-table-header\n .opened=${this.filterOpened}\n .filterDisplayText=${this.filterDisplayText}\n .allLabel=${this.allLabel}\n .attentionLabel=${this.attentionLabel}\n .showAttention=${this.showAttention}\n .filterRoles=${this.filterRoles}\n @toggle-open=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('toggle-filter', { bubbles: true, composed: true }))}\n @filter-change=${(e: CustomEvent) =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('filter-change', { detail: e.detail, bubbles: true, composed: true }))}\n ></axebow-card-table-header>\n `\n : html`\n <axebow-card-filter\n .items=${this.filterItems}\n .selected=${this.selected}\n .emptyLabel=${this.emptyLabel}\n .emptyActionLabel=${this.emptyActionLabel}\n .attentionLabel=${this.attentionLabel}\n .showAttention=${this.showAttention}\n .opened=${this.filterOpened}\n .isPlainRole=${this.isPlainRole}\n .isDisabled=${this.isDeleting || this.isDisabled}\n @filter-select=${(e: CustomEvent) =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('filter-select', { detail: e.detail, bubbles: true, composed: true }))}\n @toggle-open=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('toggle-filter', { bubbles: true, composed: true }))}\n @empty-action-click=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('empty-action-click', { bubbles: true, composed: true }))}\n ></axebow-card-filter>\n `}\n\n <axebow-card-resource-table\n .rows=${this.tableStats}\n .attentionThreshold=${this.attentionThreshold}\n .cardType=${this.cardType}\n .isPlainRole=${this.isPlainRole}\n .showActionBanner=${this.showActionBanner}\n .showWarningBanner=${this.showWarningBanner}\n .manageLabel=${this.manageLabel}\n .askOwnerLabel=${this.askOwnerLabel}\n .invalidCredsLabel=${this.invalidCredsLabel}\n .limitReachedLabel=${this.limitReachedLabel}\n .andLabel=${this.andLabel}\n .actionBannerLabel=${this.actionBannerLabel}\n @manage-click=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('manage-click', { bubbles: true, composed: true }))}\n @action-click=${() =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('action-click', { bubbles: true, composed: true }))}\n ></axebow-card-resource-table>\n </div>\n\n <slot name=\"extra-features\"></slot>\n </div>\n </div>\n\n <axebow-card-footer\n class=\"mb-1 pl-2\"\n .isFreeIaaS=${this.isFreeIaaS}\n .isPlainRole=${this.isPlainRole}\n .statusCode=${isRuntime ? this.statusCode : ''}\n .statusMessage=${isRuntime ? this.statusMessage : ''}\n .borderColor=${this.borderColor}\n .showSpinner=${isRuntime && this.borderColor === 'var(--axebow-gray)'}\n .moreActionsOpen=${this.moreActionsOpen}\n .moreActionsOptions=${isRuntime ? [] : this.moreActionsOptions}\n .closeLabel=${this.closeLabel}\n .moreActionsLabel=${this.moreActionsLabel}\n .actionLabel=${isRuntime ? this.serviceDetailLabel : ''}\n @more-actions-toggled=${(e: CustomEvent) =>\n this.dispatchEvent(new CustomEvent('more-actions-toggled', { detail: e.detail, bubbles: true, composed: true }))}\n @footer-action-click=${() =>\n this.dispatchEvent(new CustomEvent('service-detail-click', { bubbles: true, composed: true }))}\n >\n <slot name=\"status-footer\"></slot>\n </axebow-card-footer>\n\n <slot name=\"dialogs\"></slot>\n </div>\n `;\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kumori/aurora-wui-components",
3
- "version": "0.0.30",
3
+ "version": "0.0.32",
4
4
  "description": "Aurora web component library",
5
5
  "license": "ISC",
6
6
  "type": "module",