@kumori/aurora-wui-components 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/components/aurora-button.d.ts +2 -2
  2. package/dist/components/cards/aurora-base-card.d.ts +15 -10
  3. package/dist/components/cards/aurora-base-card.d.ts.map +1 -1
  4. package/dist/components/cards/aurora-more-actions.d.ts +2 -2
  5. package/dist/components/cards/aurora-more-actions.d.ts.map +1 -1
  6. package/dist/components/cards/card.types.d.ts +4 -0
  7. package/dist/components/cards/card.types.d.ts.map +1 -1
  8. package/dist/components/cards/parts/aurora-card-action-banner.d.ts +2 -2
  9. package/dist/components/cards/parts/aurora-card-action-banner.d.ts.map +1 -1
  10. package/dist/components/cards/parts/aurora-card-attention-banner.d.ts +4 -4
  11. package/dist/components/cards/parts/aurora-card-attention-banner.d.ts.map +1 -1
  12. package/dist/components/cards/parts/aurora-card-cloud-logo.d.ts +8 -0
  13. package/dist/components/cards/parts/aurora-card-cloud-logo.d.ts.map +1 -0
  14. package/dist/components/cards/parts/aurora-card-filter-item.d.ts +2 -2
  15. package/dist/components/cards/parts/aurora-card-filter-item.d.ts.map +1 -1
  16. package/dist/components/cards/parts/aurora-card-filter.d.ts +2 -3
  17. package/dist/components/cards/parts/aurora-card-filter.d.ts.map +1 -1
  18. package/dist/components/cards/parts/aurora-card-footer.d.ts +20 -0
  19. package/dist/components/cards/parts/aurora-card-footer.d.ts.map +1 -0
  20. package/dist/components/cards/parts/aurora-card-header.d.ts +7 -4
  21. package/dist/components/cards/parts/aurora-card-header.d.ts.map +1 -1
  22. package/dist/components/cards/parts/aurora-card-resource-row.d.ts +10 -0
  23. package/dist/components/cards/parts/aurora-card-resource-row.d.ts.map +1 -0
  24. package/dist/components/cards/parts/aurora-card-resource-table.d.ts +4 -6
  25. package/dist/components/cards/parts/aurora-card-resource-table.d.ts.map +1 -1
  26. package/dist/components/cards/parts/aurora-card-special-link.d.ts +10 -0
  27. package/dist/components/cards/parts/aurora-card-special-link.d.ts.map +1 -0
  28. package/dist/components/cards/parts/aurora-card-stat-item.d.ts +2 -2
  29. package/dist/components/cards/parts/aurora-card-stat-item.d.ts.map +1 -1
  30. package/dist/components/cards/parts/aurora-card-stats-row.d.ts +2 -3
  31. package/dist/components/cards/parts/aurora-card-stats-row.d.ts.map +1 -1
  32. package/dist/components/cards/parts/aurora-card-status.d.ts +10 -0
  33. package/dist/components/cards/parts/aurora-card-status.d.ts.map +1 -0
  34. package/dist/components/cards/parts/aurora-card-table-header.d.ts +15 -0
  35. package/dist/components/cards/parts/aurora-card-table-header.d.ts.map +1 -0
  36. package/dist/components/cards/parts/aurora-card-version-selector.d.ts +11 -0
  37. package/dist/components/cards/parts/aurora-card-version-selector.d.ts.map +1 -0
  38. package/dist/index.d.ts +7 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1336 -15
  41. package/dist/index.js.map +1 -1
  42. package/dist/styles/aurora-theme.d.ts +1 -1
  43. package/package.json +10 -4
  44. package/dist/components/aurora-button.js +0 -49
  45. package/dist/components/aurora-button.js.map +0 -1
  46. package/dist/components/cards/aurora-base-card.js +0 -299
  47. package/dist/components/cards/aurora-base-card.js.map +0 -1
  48. package/dist/components/cards/aurora-more-actions.js +0 -194
  49. package/dist/components/cards/aurora-more-actions.js.map +0 -1
  50. package/dist/components/cards/aurora-runtime-card.d.ts +0 -44
  51. package/dist/components/cards/aurora-runtime-card.d.ts.map +0 -1
  52. package/dist/components/cards/aurora-runtime-card.js +0 -427
  53. package/dist/components/cards/aurora-runtime-card.js.map +0 -1
  54. package/dist/components/cards/card.types.js +0 -2
  55. package/dist/components/cards/card.types.js.map +0 -1
  56. package/dist/components/cards/parts/aurora-card-action-banner.js +0 -61
  57. package/dist/components/cards/parts/aurora-card-action-banner.js.map +0 -1
  58. package/dist/components/cards/parts/aurora-card-attention-banner.js +0 -111
  59. package/dist/components/cards/parts/aurora-card-attention-banner.js.map +0 -1
  60. package/dist/components/cards/parts/aurora-card-filter-item.js +0 -53
  61. package/dist/components/cards/parts/aurora-card-filter-item.js.map +0 -1
  62. package/dist/components/cards/parts/aurora-card-filter.js +0 -168
  63. package/dist/components/cards/parts/aurora-card-filter.js.map +0 -1
  64. package/dist/components/cards/parts/aurora-card-header.js +0 -161
  65. package/dist/components/cards/parts/aurora-card-header.js.map +0 -1
  66. package/dist/components/cards/parts/aurora-card-resource-table.js +0 -210
  67. package/dist/components/cards/parts/aurora-card-resource-table.js.map +0 -1
  68. package/dist/components/cards/parts/aurora-card-stat-item.js +0 -69
  69. package/dist/components/cards/parts/aurora-card-stat-item.js.map +0 -1
  70. package/dist/components/cards/parts/aurora-card-stats-row.js +0 -56
  71. package/dist/components/cards/parts/aurora-card-stats-row.js.map +0 -1
  72. package/dist/components/cards/parts/aurora-card-status-bar.d.ts +0 -15
  73. package/dist/components/cards/parts/aurora-card-status-bar.d.ts.map +0 -1
  74. package/dist/components/cards/parts/aurora-card-status-bar.js +0 -87
  75. package/dist/components/cards/parts/aurora-card-status-bar.js.map +0 -1
  76. package/dist/styles/aurora-theme.js +0 -43
  77. package/dist/styles/aurora-theme.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,16 +1,1337 @@
1
- export * from './components/aurora-button.js';
2
- export * from './styles/aurora-theme.js';
3
- export * from './components/cards/card.types.js';
4
- export * from './components/cards/aurora-more-actions.js';
5
- export * from './components/cards/aurora-base-card.js';
6
- export * from './components/cards/aurora-runtime-card.js';
7
- export * from './components/cards/parts/aurora-card-header.js';
8
- export * from './components/cards/parts/aurora-card-stat-item.js';
9
- export * from './components/cards/parts/aurora-card-stats-row.js';
10
- export * from './components/cards/parts/aurora-card-filter-item.js';
11
- export * from './components/cards/parts/aurora-card-filter.js';
12
- export * from './components/cards/parts/aurora-card-resource-table.js';
13
- export * from './components/cards/parts/aurora-card-attention-banner.js';
14
- export * from './components/cards/parts/aurora-card-action-banner.js';
15
- export * from './components/cards/parts/aurora-card-status-bar.js';
1
+ import { LitElement, css, html, unsafeCSS } from "lit";
2
+ import { customElement, property, state } from "lit/decorators.js";
3
+ //#region \0@oxc-project+runtime@0.139.0/helpers/esm/decorate.js
4
+ function __decorate(decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9
+ }
10
+ //#endregion
11
+ //#region src/components/aurora-button.ts
12
+ var AuroraButton = class AuroraButton extends LitElement {
13
+ constructor(..._args) {
14
+ super(..._args);
15
+ this.disabled = false;
16
+ }
17
+ static {
18
+ this.styles = css`
19
+ :host {
20
+ display: inline-block;
21
+ }
22
+
23
+ button {
24
+ font: inherit;
25
+ cursor: pointer;
26
+ border-radius: 6px;
27
+ border: 1px solid transparent;
28
+ padding: 0.5em 1.2em;
29
+ background-color: var(--aurora-button-bg, #1a1a1a);
30
+ color: var(--aurora-button-color, #ffffff);
31
+ }
32
+
33
+ button:disabled {
34
+ cursor: not-allowed;
35
+ opacity: 0.5;
36
+ }
37
+ `;
38
+ }
39
+ render() {
40
+ return html`
41
+ <button ?disabled=${this.disabled}>
42
+ <slot></slot>
43
+ </button>
44
+ `;
45
+ }
46
+ };
47
+ __decorate([property({
48
+ type: Boolean,
49
+ reflect: true
50
+ })], AuroraButton.prototype, "disabled", void 0);
51
+ AuroraButton = __decorate([customElement("aurora-button")], AuroraButton);
52
+ //#endregion
53
+ //#region src/styles/aurora-theme.ts
54
+ var auroraTheme = css`
55
+ .theme {
56
+ --axebow-primary: var(--color-primary, #34495e);
57
+ --axebow-primary-light: var(--color-primary-light, #b4cded);
58
+ --axebow-tertiary: var(--color-tertiary, #006bff);
59
+ --axebow-success: var(--color-success, #0ecd9a);
60
+ --axebow-secondary: var(--color-secondary, #78787a);
61
+ --axebow-base: var(--color-base, #f0f1f5);
62
+ --axebow-error: var(--color-error, #e93a3a);
63
+ --axebow-white: var(--color-white, #ffffff);
64
+ --axebow-black: var(--color-black, #000000);
65
+ --axebow-warning: var(--color-warning, #f9cf6c);
66
+ --axebow-table-border: var(--color-table-border, #ddd);
67
+ --axebow-gray: var(--color-gray, #8a94ae);
68
+ --axebow-light-gray: var(--color-light-gray, #d9d9d9);
69
+
70
+ --axebow-clickable-blue: var(--color-clickable-blue, #006bff);
71
+ --axebow-sky-gray: var(--color-sky-gray, #8a94ee);
72
+ --axebow-rich-black: var(--color-rich-black, #0d1821);
73
+ --axebow-anti-flash-white: var(--color-anti-flash-white, #f0f1f5);
74
+ --axebow-strong-gray: var(--color-strong-gray, #78787a);
75
+
76
+ --axebow-bg-primary: var(--color-bg-primary, #f0f1f5);
77
+
78
+ --axebow-text-gray: var(--color-text-gray, #78787a);
79
+
80
+ --axebow-premium-label: var(--color-premium-label, #b9935a33);
81
+ --axebow-premium-text: var(--color-premium-text, #b9935a);
82
+ --axebow-deleting-link: var(--color-deleting-link, #a0a0a0);
83
+ --axebow-border-gray: var(--color-border-gray, #9ca3af);
84
+ }
85
+ * {
86
+ font-family: 'Open Sans', sans-serif;
87
+ }
88
+ `;
89
+ var STATUS_COLORS = {
90
+ HEALTHY: "var(--axebow-success)",
91
+ ERROR: "var(--axebow-error)",
92
+ WARNING: "var(--axebow-warning)",
93
+ DEFAULT: "var(--axebow-gray)"
94
+ };
95
+ //#endregion
96
+ //#region src/styles/tailwind.css?inline
97
+ var tailwind_default = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties {\n @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {\n *, :before, :after, ::backdrop {\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-100: oklch(96.7% .003 264.542);\n --color-black: #000;\n --color-white: #fff;\n --spacing: .25rem;\n --text-xs: .75rem;\n --text-xs--line-height: calc(1 / .75);\n --text-sm: .875rem;\n --text-sm--line-height: calc(1.25 / .875);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --font-weight-normal: 400;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --leading-snug: 1.375;\n --radius-sm: .25rem;\n --radius-md: .375rem;\n --radius-lg: .5rem;\n --ease-in-out: cubic-bezier(.4, 0, .2, 1);\n --default-transition-duration: .15s;\n --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n\n@layer base {\n *, :after, :before, ::backdrop {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n ::file-selector-button {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n html, :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n line-height: 1.5;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n\n b, strong {\n font-weight: bolder;\n }\n\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n\n small {\n font-size: 80%;\n }\n\n sub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n\n sub {\n bottom: -.25em;\n }\n\n sup {\n top: -.5em;\n }\n\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n\n :-moz-focusring {\n outline: auto;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n summary {\n display: list-item;\n }\n\n ol, ul, menu {\n list-style: none;\n }\n\n img, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n }\n\n img, video {\n max-width: 100%;\n height: auto;\n }\n\n button, input, select, optgroup, textarea {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n\n ::placeholder {\n opacity: 1;\n }\n\n @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n\n textarea {\n resize: vertical;\n }\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n\n ::-webkit-datetime-edit {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-year-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-month-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-day-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-hour-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-minute-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-second-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-millisecond-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]) {\n appearance: button;\n }\n\n ::file-selector-button {\n appearance: button;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n\n@layer components;\n\n@layer utilities {\n .pointer-events-none {\n pointer-events: none;\n }\n\n .absolute {\n position: absolute;\n }\n\n .relative {\n position: relative;\n }\n\n .static {\n position: static;\n }\n\n .top-full {\n top: 100%;\n }\n\n .right-0 {\n right: 0;\n }\n\n .bottom-full {\n bottom: 100%;\n }\n\n .left-0 {\n left: 0;\n }\n\n .z-10 {\n z-index: 10;\n }\n\n .m-0 {\n margin: 0;\n }\n\n .mt-1 {\n margin-top: var(--spacing);\n }\n\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n\n .mb-1 {\n margin-bottom: var(--spacing);\n }\n\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n\n .box-border {\n box-sizing: border-box;\n }\n\n .line-clamp-1 {\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n\n .h-\\[4\\.5rem\\] {\n height: 4.5rem;\n }\n\n .h-full {\n height: 100%;\n }\n\n .max-h-10 {\n max-height: calc(var(--spacing) * 10);\n }\n\n .max-h-40 {\n max-height: calc(var(--spacing) * 40);\n }\n\n .max-h-full {\n max-height: 100%;\n }\n\n .min-h-10 {\n min-height: calc(var(--spacing) * 10);\n }\n\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n\n .w-full {\n width: 100%;\n }\n\n .max-w-full {\n max-width: 100%;\n }\n\n .min-w-0 {\n min-width: 0;\n }\n\n .min-w-44 {\n min-width: calc(var(--spacing) * 44);\n }\n\n .flex-1 {\n flex: 1;\n }\n\n .shrink-0 {\n flex-shrink: 0;\n }\n\n .transform {\n transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );\n }\n\n .cursor-default {\n cursor: default;\n }\n\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n\n .grid-cols-\\[auto_auto_1fr_auto\\] {\n grid-template-columns: auto auto 1fr auto;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .flex-row {\n flex-direction: row;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .items-center {\n align-items: center;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .gap-0\\.5 {\n gap: calc(var(--spacing) * .5);\n }\n\n .gap-1 {\n gap: var(--spacing);\n }\n\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-y-auto {\n overflow-y: auto;\n }\n\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n\n .rounded-md {\n border-radius: var(--radius-md);\n }\n\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n\n .rounded-b-lg {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n\n .border-t-4 {\n border-top-style: var(--tw-border-style);\n border-top-width: 4px;\n }\n\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n\n .border-\\[var\\(--axebow-gray\\)\\] {\n border-color: var(--axebow-gray);\n }\n\n .border-\\[var\\(--axebow-light-gray\\)\\] {\n border-color: var(--axebow-light-gray);\n }\n\n .border-\\[var\\(--axebow-secondary\\)\\] {\n border-color: var(--axebow-secondary);\n }\n\n .border-transparent {\n border-color: #0000;\n }\n\n .bg-\\[var\\(--axebow-anti-flash-white\\)\\] {\n background-color: var(--axebow-anti-flash-white);\n }\n\n .bg-\\[var\\(--axebow-error\\)\\] {\n background-color: var(--axebow-error);\n }\n\n .bg-\\[var\\(--axebow-gray\\)\\] {\n background-color: var(--axebow-gray);\n }\n\n .bg-\\[var\\(--axebow-light-gray\\)\\] {\n background-color: var(--axebow-light-gray);\n }\n\n .bg-\\[var\\(--axebow-white\\)\\] {\n background-color: var(--axebow-white);\n }\n\n .bg-transparent {\n background-color: #0000;\n }\n\n .bg-white {\n background-color: var(--color-white);\n }\n\n .object-contain {\n object-fit: contain;\n }\n\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n\n .px-1 {\n padding-inline: var(--spacing);\n }\n\n .px-1\\.5 {\n padding-inline: calc(var(--spacing) * 1.5);\n }\n\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * .5);\n }\n\n .py-1 {\n padding-block: var(--spacing);\n }\n\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n\n .pt-0\\.5 {\n padding-top: calc(var(--spacing) * .5);\n }\n\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-left {\n text-align: left;\n }\n\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n\n .leading-snug {\n --tw-leading: var(--leading-snug);\n line-height: var(--leading-snug);\n }\n\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .text-\\[var\\(--axebow-error\\)\\] {\n color: var(--axebow-error);\n }\n\n .text-\\[var\\(--axebow-gray\\)\\] {\n color: var(--axebow-gray);\n }\n\n .text-\\[var\\(--axebow-primary\\)\\] {\n color: var(--axebow-primary);\n }\n\n .text-\\[var\\(--axebow-rich-black\\)\\] {\n color: var(--axebow-rich-black);\n }\n\n .text-\\[var\\(--axebow-secondary\\)\\] {\n color: var(--axebow-secondary);\n }\n\n .text-\\[var\\(--axebow-tertiary\\)\\] {\n color: var(--axebow-tertiary);\n }\n\n .italic {\n font-style: italic;\n }\n\n .opacity-50 {\n opacity: .5;\n }\n\n .opacity-100 {\n opacity: 1;\n }\n\n .shadow-\\[2px_2px_25px_0px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\] {\n --tw-shadow: 2px 2px 25px 0px var(--tw-shadow-color, #0000001a);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );\n }\n\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .duration-200 {\n --tw-duration: .2s;\n transition-duration: .2s;\n }\n\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n\n @media (hover: hover) {\n .hover\\:rounded-lg:hover {\n border-radius: var(--radius-lg);\n }\n\n .hover\\:bg-\\[var\\(--axebow-anti-flash-white\\)\\]:hover {\n background-color: var(--axebow-anti-flash-white);\n }\n\n .hover\\:bg-\\[var\\(--axebow-light-gray\\)\\]:hover {\n background-color: var(--axebow-light-gray);\n }\n\n .hover\\:bg-gray-100:hover {\n background-color: var(--color-gray-100);\n }\n\n .hover\\:text-\\[var\\(--axebow-gray\\)\\]:hover {\n color: var(--axebow-gray);\n }\n\n .hover\\:shadow-\\[0_4px_12px_0_rgba\\(13\\,24\\,33\\,0\\.08\\)\\]:hover {\n --tw-shadow: 0 4px 12px 0 var(--tw-shadow-color, #0d182114);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n\n .disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n }\n\n .disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n }\n\n .disabled\\:opacity-50:disabled {\n opacity: .5;\n }\n}\n\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-leading {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-duration {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ease {\n syntax: \"*\";\n inherits: false\n}\n";
98
+ //#endregion
99
+ //#region src/components/cards/aurora-more-actions.ts
100
+ var AuroraMoreActions = class AuroraMoreActions extends LitElement {
101
+ constructor(..._args) {
102
+ super(..._args);
103
+ this.open = false;
104
+ this.placement = "bottom";
105
+ this.disabled = false;
106
+ this.options = [];
107
+ this.title = "";
108
+ this.iconName = "";
109
+ this.openToRight = false;
110
+ this.closeLabel = "Close";
111
+ this.moreActionsLabel = "More";
112
+ this._fixedPos = {
113
+ top: 0,
114
+ right: 0
115
+ };
116
+ this._handleOutsideClick = (e) => {
117
+ if (this.open && !this.contains(e.target)) {
118
+ this.open = false;
119
+ this.dispatchEvent(new CustomEvent("toggled", { detail: { open: false } }));
120
+ }
121
+ };
122
+ this._handleScroll = () => {
123
+ if (this.open && this.openToRight) {
124
+ this.open = false;
125
+ this.dispatchEvent(new CustomEvent("toggled", { detail: { open: false } }));
126
+ }
127
+ };
128
+ }
129
+ static {
130
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: inline-block; }`];
131
+ }
132
+ connectedCallback() {
133
+ super.connectedCallback();
134
+ document.addEventListener("click", this._handleOutsideClick);
135
+ window.addEventListener("scroll", this._handleScroll, true);
136
+ }
137
+ disconnectedCallback() {
138
+ super.disconnectedCallback();
139
+ document.removeEventListener("click", this._handleOutsideClick);
140
+ window.removeEventListener("scroll", this._handleScroll, true);
141
+ }
142
+ _toggle(e) {
143
+ if (this.disabled) return;
144
+ e.stopPropagation();
145
+ if (!this.open && this.openToRight) {
146
+ const btn = this.shadowRoot?.querySelector(".trigger");
147
+ if (btn) {
148
+ const rect = btn.getBoundingClientRect();
149
+ this._fixedPos = {
150
+ top: rect.bottom + 8,
151
+ right: window.innerWidth - rect.right
152
+ };
153
+ }
154
+ }
155
+ this.open = !this.open;
156
+ this.dispatchEvent(new CustomEvent("toggled", { detail: { open: this.open } }));
157
+ }
158
+ _handleSlotClick() {
159
+ this.open = false;
160
+ this.dispatchEvent(new CustomEvent("toggled", { detail: { open: false } }));
161
+ }
162
+ render() {
163
+ const placementClass = this.placement === "top" ? "bottom-full mb-2" : "top-full mt-2";
164
+ const dropdownStyle = this.openToRight ? `position:fixed;top:${this._fixedPos.top}px;right:${this._fixedPos.right}px;z-index:1000;` : "";
165
+ return html`
166
+ <div class="relative w-full h-full flex justify-end">
167
+ <button
168
+ class="trigger relative font-semibold text-xs text-[var(--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"
169
+ ?disabled=${this.disabled}
170
+ @click=${this._toggle}
171
+ >
172
+ ${this.iconName ? html`<axebow-icon iconName=${this.iconName} size="small" iconColor="var(--axebow-tertiary)"></axebow-icon>` : this.open ? this.closeLabel : this.title || this.moreActionsLabel}
173
+ </button>
174
+ ${this.open ? html`
175
+ <div
176
+ class="absolute right-0 z-10 bg-white border border-[var(--axebow-gray)] rounded-lg shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] p-2 min-w-44 flex flex-col ${placementClass}"
177
+ style=${dropdownStyle}
178
+ @click=${this._handleSlotClick}
179
+ >
180
+ ${this.options?.length ? this.options.map((opt) => html`
181
+ <button
182
+ 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"
183
+ @click=${(e) => {
184
+ e.stopPropagation();
185
+ opt.onTap(e);
186
+ this.open = false;
187
+ this.dispatchEvent(new CustomEvent("toggled", { detail: { open: false } }));
188
+ }}
189
+ @mouseenter=${(e) => e.currentTarget.style.borderColor = `var(--axebow-${opt.type})`}
190
+ @mouseleave=${(e) => e.currentTarget.style.borderColor = "transparent"}
191
+ >
192
+ <axebow-icon iconName=${opt.icon} iconColor="var(--axebow-${opt.type})" size="small"></axebow-icon>
193
+ <p class="m-0 whitespace-nowrap" style="color:var(--axebow-${opt.type});">${opt.label}</p>
194
+ </button>
195
+ `) : html`<slot></slot>`}
196
+ </div>
197
+ ` : ""}
198
+ </div>
199
+ `;
200
+ }
201
+ };
202
+ __decorate([property({ type: Boolean })], AuroraMoreActions.prototype, "open", void 0);
203
+ __decorate([property({ type: String })], AuroraMoreActions.prototype, "placement", void 0);
204
+ __decorate([property({ type: Boolean })], AuroraMoreActions.prototype, "disabled", void 0);
205
+ __decorate([property({ type: Array })], AuroraMoreActions.prototype, "options", void 0);
206
+ __decorate([property({ type: String })], AuroraMoreActions.prototype, "title", void 0);
207
+ __decorate([property({ type: String })], AuroraMoreActions.prototype, "iconName", void 0);
208
+ __decorate([property({ type: Boolean })], AuroraMoreActions.prototype, "openToRight", void 0);
209
+ __decorate([property({ type: String })], AuroraMoreActions.prototype, "closeLabel", void 0);
210
+ __decorate([property({ type: String })], AuroraMoreActions.prototype, "moreActionsLabel", void 0);
211
+ __decorate([state()], AuroraMoreActions.prototype, "_fixedPos", void 0);
212
+ AuroraMoreActions = __decorate([customElement("aurora-more-actions")], AuroraMoreActions);
213
+ //#endregion
214
+ //#region src/components/cards/parts/aurora-card-cloud-logo.ts
215
+ var AuroraCardCloudLogo = class AuroraCardCloudLogo extends LitElement {
216
+ constructor(..._args) {
217
+ super(..._args);
218
+ this.src = null;
219
+ this.size = "large";
220
+ }
221
+ static {
222
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: contents; }`];
223
+ }
224
+ render() {
225
+ if (!this.src) return html``;
226
+ return this.size === "small" ? html`<div class="h-4 w-4"><img src=${this.src} class="max-h-full max-w-full object-contain" /></div>` : html`<div class="h-10 w-10 flex items-center justify-center shrink-0"><img src=${this.src} class="max-h-full max-w-full object-contain" /></div>`;
227
+ }
228
+ };
229
+ __decorate([property({ type: String })], AuroraCardCloudLogo.prototype, "src", void 0);
230
+ __decorate([property({ type: String })], AuroraCardCloudLogo.prototype, "size", void 0);
231
+ AuroraCardCloudLogo = __decorate([customElement("aurora-card-cloud-logo")], AuroraCardCloudLogo);
232
+ //#endregion
233
+ //#region src/components/cards/parts/aurora-card-version-selector.ts
234
+ var AuroraCardVersionSelector = class AuroraCardVersionSelector extends LitElement {
235
+ constructor(..._args) {
236
+ super(..._args);
237
+ this.revisions = [];
238
+ this.displayedRevision = "";
239
+ }
240
+ static {
241
+ this.styles = [unsafeCSS(tailwind_default), css`
242
+ :host { display: block; width: 100%; }
243
+ sl-select {
244
+ --sl-input-background-color: transparent;
245
+ --sl-input-border-color: transparent;
246
+ border: none;
247
+ background: transparent;
248
+ padding: 0;
249
+ margin: 0;
250
+ min-width: 0;
251
+ width: 100% !important;
252
+ }
253
+ sl-select::part(base) {
254
+ border: none;
255
+ background-color: transparent;
256
+ padding: 0;
257
+ min-width: 0;
258
+ display: inline-block;
259
+ }
260
+ sl-select::part(display-input) { padding: 0 8px; }
261
+ sl-select::part(combobox) { padding: 0; }
262
+ `];
263
+ }
264
+ _formatRevision(id) {
265
+ if (!id) return "";
266
+ const parts = id.split("/");
267
+ return parts[parts.length - 1] ?? id;
268
+ }
269
+ render() {
270
+ return html`
271
+ <sl-select style="width:100%;" value=${this.displayedRevision} @sl-change=${this._onChange}>
272
+ ${this.revisions.map((rev) => html`<sl-option value=${rev.id}>${this._formatRevision(rev.id)}</sl-option>`)}
273
+ </sl-select>
274
+ `;
275
+ }
276
+ _onChange(e) {
277
+ const revision = e.target.value;
278
+ this.dispatchEvent(new CustomEvent("revision-change", {
279
+ detail: { revision },
280
+ bubbles: true,
281
+ composed: true
282
+ }));
283
+ }
284
+ };
285
+ __decorate([property({ type: Array })], AuroraCardVersionSelector.prototype, "revisions", void 0);
286
+ __decorate([property({ type: String })], AuroraCardVersionSelector.prototype, "displayedRevision", void 0);
287
+ AuroraCardVersionSelector = __decorate([customElement("aurora-card-version-selector")], AuroraCardVersionSelector);
288
+ //#endregion
289
+ //#region src/components/cards/parts/aurora-card-header.ts
290
+ var AuroraCardHeader = class AuroraCardHeader extends LitElement {
291
+ constructor(..._args) {
292
+ super(..._args);
293
+ this.logoSrc = null;
294
+ this.tenantOrAccount = "";
295
+ this.name = "";
296
+ this.badge = "none";
297
+ this.subtitle = "";
298
+ this.cardType = "account";
299
+ this.revisions = [];
300
+ this.displayedRevision = "";
301
+ this.freeIaasLabel = "Free IaaS";
302
+ this.freeIaasTitle = "Free Infrastructure";
303
+ this.freeIaasDesc = "This environment uses free infrastructure.";
304
+ this.haLabel = "Highly Available";
305
+ this.haTitle = "High Availability enabled";
306
+ }
307
+ static {
308
+ this.styles = [unsafeCSS(tailwind_default), css`
309
+ :host { display: block; }
310
+ sl-badge::part(base) { background-color: var(--axebow-secondary); color: white; }
311
+ `];
312
+ }
313
+ _renderBadge() {
314
+ if (this.badge === "free-iaas") return html`
315
+ <sl-tooltip>
316
+ <div slot="content" style="max-width:300px;">
317
+ <strong>${this.freeIaasTitle}</strong>
318
+ <p style="margin-top:0.5rem;">${this.freeIaasDesc}</p>
319
+ </div>
320
+ <div class="flex items-center gap-2 cursor-pointer">
321
+ <axebow-icon iconName="info" iconColor="var(--axebow-gray)" size="small"></axebow-icon>
322
+ <span class="text-[var(--axebow-rich-black)]">${this.freeIaasLabel}</span>
323
+ </div>
324
+ </sl-tooltip>
325
+ `;
326
+ if (this.badge === "ha") return html`
327
+ <sl-tooltip content=${this.haTitle}>
328
+ <sl-badge variant="neutral" pill size="small" class="cursor-pointer">${this.haLabel}</sl-badge>
329
+ </sl-tooltip>
330
+ `;
331
+ return html``;
332
+ }
333
+ render() {
334
+ const isTenant = this.cardType === "tenant";
335
+ const isCompact = this.cardType === "environment" || isTenant;
336
+ const isRuntime = this.cardType === "runtime";
337
+ if (isCompact) return html`
338
+ <div class="w-full bg-[var(--axebow-anti-flash-white)] rounded-md flex flex-col justify-center px-5 py-3 h-[4.5rem]">
339
+ <div class="flex flex-col flex-1 min-w-0">
340
+ ${this.tenantOrAccount || this.logoSrc ? html`
341
+ <div class="flex gap-2 items-center leading-none mt-1">
342
+ <aurora-card-cloud-logo .src=${this.logoSrc} size="small"></aurora-card-cloud-logo>
343
+ <span class="font-semibold ${isTenant ? "text-[var(--axebow-gray)]" : "text-[var(--axebow-primary)]"} leading-none">${this.tenantOrAccount}</span>
344
+ </div>
345
+ ` : ""}
346
+ <div class="flex justify-between items-center">
347
+ <span class="font-bold text-xl text-[var(--axebow-primary)] leading-snug pt-0.5">${this.name}</span>
348
+ ${this._renderBadge()}
349
+ </div>
350
+ ${this.subtitle ? html`<div class="italic text-[var(--axebow-primary)] flex items-center leading-none">${this.subtitle}<slot name="subtitle-tooltip"></slot></div>` : ""}
351
+ </div>
352
+ </div>
353
+ `;
354
+ return html`
355
+ <div class="w-full bg-[var(--axebow-anti-flash-white)] rounded-md flex items-center gap-3 py-2 px-3 h-16">
356
+ <aurora-card-cloud-logo .src=${this.logoSrc} size="large"></aurora-card-cloud-logo>
357
+ <div class="flex flex-col flex-1 min-w-0 ${isRuntime ? "justify-center" : ""}">
358
+ ${!isRuntime && this.tenantOrAccount ? html`<span class="font-semibold text-[var(--axebow-primary)] leading-none">${this.tenantOrAccount}</span>` : ""}
359
+ <div class="flex justify-between items-center">
360
+ <span class="font-bold text-xl text-[var(--axebow-primary)] leading-snug pt-0.5">${this.name}</span>
361
+ ${this._renderBadge()}
362
+ </div>
363
+ ${isRuntime ? html`
364
+ <div class="revision-wrap italic text-[var(--axebow-primary)] flex items-center">
365
+ <aurora-card-version-selector
366
+ .revisions=${this.revisions}
367
+ .displayedRevision=${this.displayedRevision}
368
+ @revision-change=${this._onRevisionChange}
369
+ ></aurora-card-version-selector>
370
+ </div>
371
+ ` : this.subtitle ? html`<div class="italic text-[var(--axebow-primary)] flex items-center leading-none">${this.subtitle}<slot name="subtitle-tooltip"></slot></div>` : ""}
372
+ </div>
373
+ </div>
374
+ `;
375
+ }
376
+ _onRevisionChange(e) {
377
+ this.dispatchEvent(new CustomEvent("revision-change", {
378
+ detail: e.detail,
379
+ bubbles: true,
380
+ composed: true
381
+ }));
382
+ }
383
+ };
384
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "logoSrc", void 0);
385
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "tenantOrAccount", void 0);
386
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "name", void 0);
387
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "badge", void 0);
388
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "subtitle", void 0);
389
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "cardType", void 0);
390
+ __decorate([property({ type: Array })], AuroraCardHeader.prototype, "revisions", void 0);
391
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "displayedRevision", void 0);
392
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "freeIaasLabel", void 0);
393
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "freeIaasTitle", void 0);
394
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "freeIaasDesc", void 0);
395
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "haLabel", void 0);
396
+ __decorate([property({ type: String })], AuroraCardHeader.prototype, "haTitle", void 0);
397
+ AuroraCardHeader = __decorate([customElement("aurora-card-header")], AuroraCardHeader);
398
+ //#endregion
399
+ //#region src/components/cards/parts/aurora-card-stat-item.ts
400
+ var AuroraCardStatItem = class AuroraCardStatItem extends LitElement {
401
+ constructor(..._args) {
402
+ super(..._args);
403
+ this.value = 0;
404
+ this.title = "";
405
+ this.label = "";
406
+ this.active = true;
407
+ this.compact = false;
408
+ }
409
+ static {
410
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
411
+ }
412
+ render() {
413
+ return html`
414
+ <div class="flex flex-col items-center text-center gap-0.5">
415
+ <h4 class="text-lg text-[var(--axebow-primary)] font-bold leading-snug m-0">${this.value}</h4>
416
+ <p class="m-0 leading-snug">${this.title}</p>
417
+ <span
418
+ class="text-[var(--axebow-gray)] font-semibold text-xs ${this.active ? "cursor-pointer opacity-100" : "cursor-not-allowed opacity-50"}"
419
+ @click=${this._onClick}
420
+ >${this.label}</span>
421
+ </div>
422
+ `;
423
+ }
424
+ _onClick() {
425
+ if (this.active) this.dispatchEvent(new CustomEvent("label-click", {
426
+ bubbles: true,
427
+ composed: true
428
+ }));
429
+ }
430
+ };
431
+ __decorate([property({ type: Number })], AuroraCardStatItem.prototype, "value", void 0);
432
+ __decorate([property({ type: String })], AuroraCardStatItem.prototype, "title", void 0);
433
+ __decorate([property({ type: String })], AuroraCardStatItem.prototype, "label", void 0);
434
+ __decorate([property({ type: Boolean })], AuroraCardStatItem.prototype, "active", void 0);
435
+ __decorate([property({ type: Boolean })], AuroraCardStatItem.prototype, "compact", void 0);
436
+ AuroraCardStatItem = __decorate([customElement("aurora-card-stat-item")], AuroraCardStatItem);
437
+ //#endregion
438
+ //#region src/components/cards/parts/aurora-card-stats-row.ts
439
+ var AuroraCardStatsRow = class AuroraCardStatsRow extends LitElement {
440
+ constructor(..._args) {
441
+ super(..._args);
442
+ this.stats = [];
443
+ this.compact = false;
444
+ }
445
+ static {
446
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
447
+ }
448
+ render() {
449
+ return html`
450
+ <div class="grid grid-cols-3 gap-1 px-2">
451
+ ${this.stats.map((stat, index) => html`
452
+ <aurora-card-stat-item
453
+ .value=${stat.value}
454
+ .title=${stat.title}
455
+ .label=${stat.label}
456
+ .active=${stat.active !== false}
457
+ .compact=${this.compact}
458
+ @label-click=${() => this._handleLabelClick(index)}
459
+ ></aurora-card-stat-item>
460
+ `)}
461
+ </div>
462
+ `;
463
+ }
464
+ _handleLabelClick(index) {
465
+ this.dispatchEvent(new CustomEvent("stat-label-click", {
466
+ detail: { index },
467
+ bubbles: true,
468
+ composed: true
469
+ }));
470
+ }
471
+ };
472
+ __decorate([property({ type: Array })], AuroraCardStatsRow.prototype, "stats", void 0);
473
+ __decorate([property({ type: Boolean })], AuroraCardStatsRow.prototype, "compact", void 0);
474
+ AuroraCardStatsRow = __decorate([customElement("aurora-card-stats-row")], AuroraCardStatsRow);
475
+ //#endregion
476
+ //#region src/components/cards/parts/aurora-card-filter-item.ts
477
+ var AuroraCardFilterItem = class AuroraCardFilterItem extends LitElement {
478
+ constructor(..._args) {
479
+ super(..._args);
480
+ this.name = "";
481
+ this.showAttention = false;
482
+ }
483
+ static {
484
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
485
+ }
486
+ render() {
487
+ return html`
488
+ <div
489
+ class="w-full py-1 px-2 flex justify-between items-center border-t border-[var(--axebow-light-gray)] cursor-pointer hover:bg-[var(--axebow-light-gray)]"
490
+ @click=${this._onClick}
491
+ >
492
+ <p class="m-0">${this.name}</p>
493
+ ${this.showAttention ? html`<axebow-icon iconName="error" size="small" iconColor="var(--axebow-error)"></axebow-icon>` : ""}
494
+ </div>
495
+ `;
496
+ }
497
+ _onClick() {
498
+ this.dispatchEvent(new CustomEvent("item-select", {
499
+ detail: { name: this.name },
500
+ bubbles: true,
501
+ composed: true
502
+ }));
503
+ }
504
+ };
505
+ __decorate([property({ type: String })], AuroraCardFilterItem.prototype, "name", void 0);
506
+ __decorate([property({ type: Boolean })], AuroraCardFilterItem.prototype, "showAttention", void 0);
507
+ AuroraCardFilterItem = __decorate([customElement("aurora-card-filter-item")], AuroraCardFilterItem);
508
+ //#endregion
509
+ //#region src/components/cards/parts/aurora-card-filter.ts
510
+ var AuroraCardFilter = class AuroraCardFilter extends LitElement {
511
+ constructor(..._args) {
512
+ super(..._args);
513
+ this.items = [];
514
+ this.selected = null;
515
+ this.emptyLabel = "";
516
+ this.emptyActionLabel = "";
517
+ this.attentionLabel = "Attention needed";
518
+ this.showAttention = false;
519
+ this.opened = false;
520
+ this.isPlainRole = false;
521
+ this.isDisabled = false;
522
+ }
523
+ static {
524
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
525
+ }
526
+ render() {
527
+ return html`
528
+ <div class="relative">
529
+ <div class="flex justify-between items-center border-b border-[var(--axebow-light-gray)] w-full px-2 cursor-pointer h-7">
530
+ ${!this.selected && this.items.length === 0 ? html`
531
+ <p
532
+ class="m-0 ${this.isPlainRole || this.isDisabled ? "text-[var(--axebow-gray)] cursor-default opacity-50" : "text-[var(--axebow-tertiary)] cursor-pointer"}"
533
+ @click=${this.isPlainRole || this.isDisabled ? void 0 : this._onEmptyAction}
534
+ >
535
+ ${this.emptyActionLabel}
536
+ </p>
537
+ ` : html`
538
+ <div
539
+ class="flex w-full justify-between items-center ${this.isDisabled ? "opacity-50 cursor-not-allowed" : ""}"
540
+ @click=${this.isDisabled ? void 0 : this._onToggle}
541
+ >
542
+ <span class="text-[var(--axebow-tertiary)]">${this.selected ?? this.emptyLabel}</span>
543
+ <div class="flex items-center gap-2">
544
+ ${this.showAttention ? html`<p class="text-[var(--axebow-error)] m-0 text-xs">${this.attentionLabel}</p>` : ""}
545
+ <axebow-icon iconName="chevron_right" rotate="90" iconColor="var(--axebow-tertiary)" size="small"></axebow-icon>
546
+ </div>
547
+ </div>
548
+ `}
549
+ </div>
550
+
551
+ <div class="${this.opened ? "" : "hidden"} absolute top-full left-0 right-0 z-10 flex flex-col bg-white rounded-b-lg border border-[var(--axebow-light-gray)] shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] max-h-40 overflow-y-auto">
552
+ <p class="w-full p-2 cursor-pointer m-0 hover:bg-[var(--axebow-light-gray)]" @click=${() => this._onSelect(null)}>${this.emptyLabel}</p>
553
+ ${this.items.map((item) => html`
554
+ <aurora-card-filter-item
555
+ .name=${item.name}
556
+ .showAttention=${item.showAttention}
557
+ @item-select=${(e) => this._onSelect(e.detail.name)}
558
+ ></aurora-card-filter-item>
559
+ `)}
560
+ </div>
561
+ </div>
562
+ `;
563
+ }
564
+ _onToggle() {
565
+ this.dispatchEvent(new CustomEvent("toggle-open", {
566
+ bubbles: true,
567
+ composed: true
568
+ }));
569
+ }
570
+ _onSelect(name) {
571
+ this.dispatchEvent(new CustomEvent("filter-select", {
572
+ detail: { name },
573
+ bubbles: true,
574
+ composed: true
575
+ }));
576
+ }
577
+ _onEmptyAction() {
578
+ this.dispatchEvent(new CustomEvent("empty-action-click", {
579
+ bubbles: true,
580
+ composed: true
581
+ }));
582
+ }
583
+ };
584
+ __decorate([property({ type: Array })], AuroraCardFilter.prototype, "items", void 0);
585
+ __decorate([property({ type: String })], AuroraCardFilter.prototype, "selected", void 0);
586
+ __decorate([property({ type: String })], AuroraCardFilter.prototype, "emptyLabel", void 0);
587
+ __decorate([property({ type: String })], AuroraCardFilter.prototype, "emptyActionLabel", void 0);
588
+ __decorate([property({ type: String })], AuroraCardFilter.prototype, "attentionLabel", void 0);
589
+ __decorate([property({ type: Boolean })], AuroraCardFilter.prototype, "showAttention", void 0);
590
+ __decorate([property({ type: Boolean })], AuroraCardFilter.prototype, "opened", void 0);
591
+ __decorate([property({ type: Boolean })], AuroraCardFilter.prototype, "isPlainRole", void 0);
592
+ __decorate([property({ type: Boolean })], AuroraCardFilter.prototype, "isDisabled", void 0);
593
+ AuroraCardFilter = __decorate([customElement("aurora-card-filter")], AuroraCardFilter);
594
+ //#endregion
595
+ //#region src/components/cards/parts/aurora-card-table-header.ts
596
+ var AuroraCardTableHeader = class AuroraCardTableHeader extends LitElement {
597
+ constructor(..._args) {
598
+ super(..._args);
599
+ this.opened = false;
600
+ this.filterDisplayText = "";
601
+ this.allLabel = "All Roles & Instances";
602
+ this.attentionLabel = "Attention needed";
603
+ this.showAttention = false;
604
+ this.filterRoles = [];
605
+ }
606
+ static {
607
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
608
+ }
609
+ render() {
610
+ return html`
611
+ <div class="relative">
612
+ <div
613
+ class="flex justify-between items-center border-b border-[var(--axebow-light-gray)] w-full px-2 cursor-pointer h-7"
614
+ @click=${this._onToggle}
615
+ >
616
+ <span class="text-[var(--axebow-tertiary)]">${this.filterDisplayText || this.allLabel}</span>
617
+ <div class="flex items-center gap-2">
618
+ ${this.showAttention ? html`<p class="text-[var(--axebow-error)] m-0 text-xs">${this.attentionLabel}</p>` : ""}
619
+ <axebow-icon iconName="chevron_right" rotate="90" iconColor="var(--axebow-tertiary)" size="small"></axebow-icon>
620
+ </div>
621
+ </div>
622
+
623
+ <div class="${this.opened ? "" : "hidden"} absolute top-full left-0 right-0 z-10 flex flex-col bg-white rounded-b-lg border border-[var(--axebow-light-gray)] shadow-[2px_2px_25px_0px_rgba(0,0,0,0.1)] max-h-40 overflow-y-auto">
624
+ <p class="w-full p-2 cursor-pointer m-0 hover:bg-[var(--axebow-light-gray)]" @click=${() => this._onSelect("", "all")}>${this.allLabel}</p>
625
+ ${this.filterRoles.map((role) => html`
626
+ <div
627
+ class="w-full py-1 px-2 flex justify-between items-center border-t border-[var(--axebow-light-gray)] cursor-pointer hover:bg-[var(--axebow-light-gray)]"
628
+ @click=${() => this._onSelect(role.name, "role")}
629
+ >
630
+ <div class="flex items-center gap-2">
631
+ ${role.logo ? html`<img src=${role.logo} class="w-5 h-5" />` : ""}
632
+ <p class="m-0">${role.name}</p>
633
+ </div>
634
+ </div>
635
+ ${role.instances.map((inst) => html`
636
+ <div
637
+ class="w-full py-1 px-2 pl-6 flex justify-between items-center border-t border-[var(--axebow-light-gray)] cursor-pointer hover:bg-[var(--axebow-light-gray)]"
638
+ @click=${() => this._onSelect(inst.name, "instance")}
639
+ >
640
+ <div class="flex items-center gap-2">
641
+ <axebow-icon iconName="subdirectory_arrow_right" size="small"></axebow-icon>
642
+ <p class="m-0">${inst.name}</p>
643
+ </div>
644
+ ${inst.needsAttention ? html`<axebow-icon iconName="warning" iconColor="var(--axebow-error)" size="small"></axebow-icon>` : ""}
645
+ </div>
646
+ `)}
647
+ `)}
648
+ </div>
649
+ </div>
650
+ `;
651
+ }
652
+ _onToggle() {
653
+ this.dispatchEvent(new CustomEvent("toggle-open", {
654
+ bubbles: true,
655
+ composed: true
656
+ }));
657
+ }
658
+ _onSelect(selected, type) {
659
+ this.dispatchEvent(new CustomEvent("filter-change", {
660
+ detail: {
661
+ selected,
662
+ type
663
+ },
664
+ bubbles: true,
665
+ composed: true
666
+ }));
667
+ }
668
+ };
669
+ __decorate([property({ type: Boolean })], AuroraCardTableHeader.prototype, "opened", void 0);
670
+ __decorate([property({ type: String })], AuroraCardTableHeader.prototype, "filterDisplayText", void 0);
671
+ __decorate([property({ type: String })], AuroraCardTableHeader.prototype, "allLabel", void 0);
672
+ __decorate([property({ type: String })], AuroraCardTableHeader.prototype, "attentionLabel", void 0);
673
+ __decorate([property({ type: Boolean })], AuroraCardTableHeader.prototype, "showAttention", void 0);
674
+ __decorate([property({ type: Array })], AuroraCardTableHeader.prototype, "filterRoles", void 0);
675
+ AuroraCardTableHeader = __decorate([customElement("aurora-card-table-header")], AuroraCardTableHeader);
676
+ //#endregion
677
+ //#region src/components/cards/parts/aurora-card-special-link.ts
678
+ var AuroraCardSpecialLink = class AuroraCardSpecialLink extends LitElement {
679
+ constructor(..._args) {
680
+ super(..._args);
681
+ this.label = "";
682
+ this.color = "var(--axebow-error)";
683
+ this.icon = "arrow_forward";
684
+ }
685
+ static {
686
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: inline-flex; }`];
687
+ }
688
+ render() {
689
+ return html`
690
+ <span class="cursor-pointer" style="color:${this.color};" @click=${this._onClick}>
691
+ ${this.label}
692
+ <axebow-icon iconName=${this.icon} iconColor=${this.color} size="small"></axebow-icon>
693
+ </span>
694
+ `;
695
+ }
696
+ _onClick() {
697
+ this.dispatchEvent(new CustomEvent("link-click", {
698
+ bubbles: true,
699
+ composed: true
700
+ }));
701
+ }
702
+ };
703
+ __decorate([property({ type: String })], AuroraCardSpecialLink.prototype, "label", void 0);
704
+ __decorate([property({ type: String })], AuroraCardSpecialLink.prototype, "color", void 0);
705
+ __decorate([property({ type: String })], AuroraCardSpecialLink.prototype, "icon", void 0);
706
+ AuroraCardSpecialLink = __decorate([customElement("aurora-card-special-link")], AuroraCardSpecialLink);
707
+ //#endregion
708
+ //#region src/components/cards/parts/aurora-card-attention-banner.ts
709
+ var AuroraCardAttentionBanner = class AuroraCardAttentionBanner extends LitElement {
710
+ constructor(..._args) {
711
+ super(..._args);
712
+ this.cardType = "account";
713
+ this.tableStats = [];
714
+ this.threshold = 90;
715
+ this.isPlainRole = false;
716
+ this.invalidCredentials = false;
717
+ this.manageLabel = "Manage";
718
+ this.askOwnerLabel = "Ask your owner";
719
+ this.invalidCredsLabel = "Invalid credentials.";
720
+ this.limitReachedLabel = "Limit reached.";
721
+ this.andLabel = "and";
722
+ }
723
+ static {
724
+ this.styles = [unsafeCSS(tailwind_default), css`
725
+ :host { display: block; }
726
+ .error-bg { background-color: color-mix(in srgb, var(--axebow-error) 10%, white); }
727
+ `];
728
+ }
729
+ _getExceeded() {
730
+ const primary = this.tableStats.slice(0, 3).map((r) => r.title);
731
+ return this.tableStats.filter((s) => primary.includes(s.title) && s.percentage >= this.threshold).map((s) => s.title);
732
+ }
733
+ _formatList(resources) {
734
+ if (resources.length === 1) return resources[0];
735
+ if (resources.length === 2) return `${resources[0]} ${this.andLabel} ${resources[1]}`;
736
+ return `${resources.slice(0, -1).join(", ")} ${this.andLabel} ${resources[resources.length - 1]}`;
737
+ }
738
+ render() {
739
+ const exceeded = this._getExceeded();
740
+ if (exceeded.length === 0 && !this.invalidCredentials) return html``;
741
+ return html`
742
+ <div class="error-bg flex flex-wrap items-center justify-center gap-1 w-full px-1 text-center">
743
+ ${this.isPlainRole ? html`<span class="text-[var(--axebow-error)]">${this.askOwnerLabel}</span>` : html`
744
+ <p class="text-[var(--axebow-error)] m-0">
745
+ ${this.invalidCredentials ? this.invalidCredsLabel : `${this.limitReachedLabel} ${this._formatList(exceeded)}.`}
746
+ <aurora-card-special-link
747
+ .label=${this.manageLabel}
748
+ color="var(--axebow-error)"
749
+ @link-click=${this._onManage}
750
+ ></aurora-card-special-link>
751
+ </p>
752
+ `}
753
+ </div>
754
+ `;
755
+ }
756
+ _onManage() {
757
+ this.dispatchEvent(new CustomEvent("manage-click", {
758
+ bubbles: true,
759
+ composed: true
760
+ }));
761
+ }
762
+ };
763
+ __decorate([property({ type: String })], AuroraCardAttentionBanner.prototype, "cardType", void 0);
764
+ __decorate([property({ type: Array })], AuroraCardAttentionBanner.prototype, "tableStats", void 0);
765
+ __decorate([property({ type: Number })], AuroraCardAttentionBanner.prototype, "threshold", void 0);
766
+ __decorate([property({ type: Boolean })], AuroraCardAttentionBanner.prototype, "isPlainRole", void 0);
767
+ __decorate([property({ type: Boolean })], AuroraCardAttentionBanner.prototype, "invalidCredentials", void 0);
768
+ __decorate([property({ type: String })], AuroraCardAttentionBanner.prototype, "manageLabel", void 0);
769
+ __decorate([property({ type: String })], AuroraCardAttentionBanner.prototype, "askOwnerLabel", void 0);
770
+ __decorate([property({ type: String })], AuroraCardAttentionBanner.prototype, "invalidCredsLabel", void 0);
771
+ __decorate([property({ type: String })], AuroraCardAttentionBanner.prototype, "limitReachedLabel", void 0);
772
+ __decorate([property({ type: String })], AuroraCardAttentionBanner.prototype, "andLabel", void 0);
773
+ AuroraCardAttentionBanner = __decorate([customElement("aurora-card-attention-banner")], AuroraCardAttentionBanner);
774
+ //#endregion
775
+ //#region src/components/cards/parts/aurora-card-action-banner.ts
776
+ var AuroraCardActionBanner = class AuroraCardActionBanner extends LitElement {
777
+ constructor(..._args) {
778
+ super(..._args);
779
+ this.label = "View details";
780
+ }
781
+ static {
782
+ this.styles = [unsafeCSS(tailwind_default), css`
783
+ :host { display: block; }
784
+ .tertiary-bg { background-color: color-mix(in srgb, var(--axebow-tertiary) 10%, white); }
785
+ axebow-button::part(label) { color: var(--axebow-tertiary); font-weight: 600; display: flex; align-items: center; gap: 2px; }
786
+ axebow-button::part(base) { padding: 0; height: auto; min-height: unset; }
787
+ `];
788
+ }
789
+ render() {
790
+ return html`
791
+ <div class="tertiary-bg flex items-center justify-center gap-1 w-full px-3 text-sm text-center">
792
+ <axebow-button variant="text" size="small" @click=${this._onClick}>
793
+ ${this.label}
794
+ <axebow-icon iconName="arrow_forward" iconColor="var(--axebow-tertiary)" size="small"></axebow-icon>
795
+ </axebow-button>
796
+ </div>
797
+ `;
798
+ }
799
+ _onClick() {
800
+ this.dispatchEvent(new CustomEvent("action-click", {
801
+ bubbles: true,
802
+ composed: true
803
+ }));
804
+ }
805
+ };
806
+ __decorate([property({ type: String })], AuroraCardActionBanner.prototype, "label", void 0);
807
+ AuroraCardActionBanner = __decorate([customElement("aurora-card-action-banner")], AuroraCardActionBanner);
808
+ //#endregion
809
+ //#region src/components/cards/parts/aurora-card-resource-row.ts
810
+ var AuroraCardResourceRow = class AuroraCardResourceRow extends LitElement {
811
+ constructor(..._args) {
812
+ super(..._args);
813
+ this.attentionThreshold = 90;
814
+ this.isLast = false;
815
+ }
816
+ static {
817
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: contents; }`];
818
+ }
819
+ render() {
820
+ const stat = this.stat;
821
+ const borderClass = !stat.hidden && !this.isLast ? "border-b border-[var(--axebow-light-gray)]" : "";
822
+ if (stat.hidden) return html`
823
+ <div class="flex items-center w-full px-2 h-8 gap-2 ${borderClass}"></div>
824
+ <div class="flex items-center justify-end w-full px-2 h-8 gap-2 ${borderClass}"></div>
825
+ <div class="flex items-center justify-end w-full px-2 h-8 ${borderClass}"></div>
826
+ <div class="flex items-center justify-end w-full px-2 h-8 gap-2 ${borderClass}"></div>
827
+ `;
828
+ return html`
829
+ <div class="flex items-center w-full px-2 h-8 gap-2 ${borderClass}">
830
+ <div class="flex items-center gap-2 ${stat.isSecondary ? "ml-2" : ""}">
831
+ <axebow-icon iconName=${stat.icon} size="small" rotate=${stat.iconRotation ?? 0}></axebow-icon>
832
+ <span class="text-xs ${stat.isSecondary ? "" : "font-semibold"}">${stat.title}</span>
833
+ </div>
834
+ </div>
835
+
836
+ <div class="flex items-center justify-end w-full px-2 h-8 gap-2 ${borderClass}">
837
+ <p class="${stat.isSecondary ? "font-normal" : "font-semibold"} m-0">${stat.value ?? "-.-"}</p>
838
+ </div>
839
+
840
+ <div class="flex items-center justify-end w-full px-2 h-8 ${borderClass}">
841
+ <div class="h-2 w-full bg-[var(--axebow-light-gray)] rounded-md relative overflow-hidden">
842
+ <div
843
+ class="absolute h-full ${stat.percentage >= this.attentionThreshold ? "bg-[var(--axebow-error)]" : "bg-[var(--axebow-gray)]"}"
844
+ style="width:${stat.percentage}%;"
845
+ ></div>
846
+ </div>
847
+ </div>
848
+
849
+ <div class="flex items-center justify-end w-full px-2 h-8 gap-2 ${borderClass}">
850
+ <p class="${stat.isSecondary ? "font-normal" : "font-semibold"} m-0">
851
+ ${stat.maxValue ?? "-.-"}<span class="font-normal">${stat.tagValue ?? ""}</span>
852
+ </p>
853
+ </div>
854
+ `;
855
+ }
856
+ };
857
+ __decorate([property({ type: Object })], AuroraCardResourceRow.prototype, "stat", void 0);
858
+ __decorate([property({ type: Number })], AuroraCardResourceRow.prototype, "attentionThreshold", void 0);
859
+ __decorate([property({ type: Boolean })], AuroraCardResourceRow.prototype, "isLast", void 0);
860
+ AuroraCardResourceRow = __decorate([customElement("aurora-card-resource-row")], AuroraCardResourceRow);
861
+ //#endregion
862
+ //#region src/components/cards/parts/aurora-card-resource-table.ts
863
+ var AuroraCardResourceTable = class AuroraCardResourceTable extends LitElement {
864
+ constructor(..._args) {
865
+ super(..._args);
866
+ this.rows = [];
867
+ this.attentionThreshold = 90;
868
+ this.cardType = "account";
869
+ this.isPlainRole = false;
870
+ this.showActionBanner = false;
871
+ this.showWarningBanner = false;
872
+ this.manageLabel = "Manage";
873
+ this.askOwnerLabel = "Ask your owner";
874
+ this.invalidCredsLabel = "Invalid credentials.";
875
+ this.limitReachedLabel = "Limit reached.";
876
+ this.andLabel = "and";
877
+ this.actionBannerLabel = "";
878
+ }
879
+ static {
880
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
881
+ }
882
+ _hasAttention() {
883
+ const primary = this.rows.slice(0, 3).map((r) => r.title);
884
+ return this.rows.some((s) => primary.includes(s.title) && s.percentage >= this.attentionThreshold);
885
+ }
886
+ render() {
887
+ const showWarning = !this.isPlainRole && this.showWarningBanner;
888
+ const showAttention = !this.isPlainRole && !showWarning && this.showActionBanner && this._hasAttention();
889
+ const showAction = !this.isPlainRole && !showWarning && this.showActionBanner && !this._hasAttention();
890
+ const visibleRows = this.rows.filter((r) => !r.hidden);
891
+ const lastVisible = visibleRows[visibleRows.length - 1];
892
+ return html`
893
+ <div>
894
+ <div class="grid grid-cols-[auto_auto_1fr_auto] border-b border-[var(--axebow-light-gray)]">
895
+ ${this.rows.map((stat) => html`
896
+ <aurora-card-resource-row
897
+ .stat=${stat}
898
+ .attentionThreshold=${this.attentionThreshold}
899
+ .isLast=${stat === lastVisible}
900
+ ></aurora-card-resource-row>
901
+ `)}
902
+ </div>
903
+
904
+ ${showWarning ? html`<aurora-card-attention-banner
905
+ .invalidCredentials=${true}
906
+ .isPlainRole=${this.isPlainRole}
907
+ .manageLabel=${this.manageLabel}
908
+ .askOwnerLabel=${this.askOwnerLabel}
909
+ .invalidCredsLabel=${this.invalidCredsLabel}
910
+ .limitReachedLabel=${this.limitReachedLabel}
911
+ .andLabel=${this.andLabel}
912
+ ></aurora-card-attention-banner>` : showAttention ? html`<aurora-card-attention-banner
913
+ .cardType=${this.cardType}
914
+ .tableStats=${this.rows}
915
+ .threshold=${this.attentionThreshold}
916
+ .isPlainRole=${this.isPlainRole}
917
+ .manageLabel=${this.manageLabel}
918
+ .askOwnerLabel=${this.askOwnerLabel}
919
+ .invalidCredsLabel=${this.invalidCredsLabel}
920
+ .limitReachedLabel=${this.limitReachedLabel}
921
+ .andLabel=${this.andLabel}
922
+ ></aurora-card-attention-banner>` : showAction ? html`<aurora-card-action-banner .label=${this.actionBannerLabel} @action-click=${() => this.dispatchEvent(new CustomEvent("action-click", {
923
+ bubbles: true,
924
+ composed: true
925
+ }))}></aurora-card-action-banner>` : ""}
926
+ </div>
927
+ `;
928
+ }
929
+ };
930
+ __decorate([property({ type: Array })], AuroraCardResourceTable.prototype, "rows", void 0);
931
+ __decorate([property({ type: Number })], AuroraCardResourceTable.prototype, "attentionThreshold", void 0);
932
+ __decorate([property({ type: String })], AuroraCardResourceTable.prototype, "cardType", void 0);
933
+ __decorate([property({ type: Boolean })], AuroraCardResourceTable.prototype, "isPlainRole", void 0);
934
+ __decorate([property({ type: Boolean })], AuroraCardResourceTable.prototype, "showActionBanner", void 0);
935
+ __decorate([property({ type: Boolean })], AuroraCardResourceTable.prototype, "showWarningBanner", void 0);
936
+ __decorate([property({ type: String })], AuroraCardResourceTable.prototype, "manageLabel", void 0);
937
+ __decorate([property({ type: String })], AuroraCardResourceTable.prototype, "askOwnerLabel", void 0);
938
+ __decorate([property({ type: String })], AuroraCardResourceTable.prototype, "invalidCredsLabel", void 0);
939
+ __decorate([property({ type: String })], AuroraCardResourceTable.prototype, "limitReachedLabel", void 0);
940
+ __decorate([property({ type: String })], AuroraCardResourceTable.prototype, "andLabel", void 0);
941
+ __decorate([property({ type: String })], AuroraCardResourceTable.prototype, "actionBannerLabel", void 0);
942
+ AuroraCardResourceTable = __decorate([customElement("aurora-card-resource-table")], AuroraCardResourceTable);
943
+ //#endregion
944
+ //#region src/components/cards/parts/aurora-card-status.ts
945
+ var AuroraCardStatus = class AuroraCardStatus extends LitElement {
946
+ constructor(..._args) {
947
+ super(..._args);
948
+ this.statusCode = "";
949
+ this.statusMessage = "";
950
+ this.borderColor = "";
951
+ this.showSpinner = false;
952
+ }
953
+ static {
954
+ this.styles = [unsafeCSS(tailwind_default), css`
955
+ :host { display: block; flex: 1; min-width: 0; }
956
+ sl-tooltip::part(base) { max-width: none; white-space: normal; word-break: break-word; }
957
+ `];
958
+ }
959
+ render() {
960
+ if (!this.statusCode) return html`<div class="w-full whitespace-nowrap overflow-hidden text-ellipsis"><slot></slot></div>`;
961
+ return html`
962
+ <div class="flex items-center gap-1 min-w-0 w-full">
963
+ ${this.showSpinner ? html`<sl-spinner style="--indicator-color:${this.borderColor};"></sl-spinner>` : ""}
964
+ <p class="font-bold text-xs m-0 line-clamp-1" style="color:${this.borderColor};" title=${this.statusCode}>${this.statusCode}</p>
965
+ <sl-tooltip content=${this.statusMessage}>
966
+ <axebow-icon class="cursor-pointer shrink-0" iconColor=${this.borderColor} iconName="info" size="small"></axebow-icon>
967
+ </sl-tooltip>
968
+ </div>
969
+ `;
970
+ }
971
+ };
972
+ __decorate([property({ type: String })], AuroraCardStatus.prototype, "statusCode", void 0);
973
+ __decorate([property({ type: String })], AuroraCardStatus.prototype, "statusMessage", void 0);
974
+ __decorate([property({ type: String })], AuroraCardStatus.prototype, "borderColor", void 0);
975
+ __decorate([property({ type: Boolean })], AuroraCardStatus.prototype, "showSpinner", void 0);
976
+ AuroraCardStatus = __decorate([customElement("aurora-card-status")], AuroraCardStatus);
977
+ //#endregion
978
+ //#region src/components/cards/parts/aurora-card-footer.ts
979
+ var AuroraCardFooter = class AuroraCardFooter extends LitElement {
980
+ constructor(..._args) {
981
+ super(..._args);
982
+ this.isFreeIaaS = false;
983
+ this.isPlainRole = false;
984
+ this.statusCode = "";
985
+ this.statusMessage = "";
986
+ this.borderColor = "";
987
+ this.showSpinner = false;
988
+ this.moreActionsOpen = false;
989
+ this.moreActionsOptions = [];
990
+ this.closeLabel = "Close";
991
+ this.moreActionsLabel = "More";
992
+ this.actionLabel = "";
993
+ }
994
+ static {
995
+ this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
996
+ }
997
+ render() {
998
+ const showDropdown = !this.isFreeIaaS && !this.isPlainRole && this.moreActionsOptions.length > 0;
999
+ const showAction = !showDropdown && !!this.actionLabel;
1000
+ return html`
1001
+ <div class="flex justify-between items-center relative h-6 gap-2 text-xs">
1002
+ <aurora-card-status
1003
+ .statusCode=${this.statusCode}
1004
+ .statusMessage=${this.statusMessage}
1005
+ .borderColor=${this.borderColor}
1006
+ .showSpinner=${this.showSpinner}
1007
+ >
1008
+ <slot></slot>
1009
+ </aurora-card-status>
1010
+ ${showDropdown ? html`
1011
+ <aurora-more-actions
1012
+ class="shrink-0 mr-2"
1013
+ placement="top"
1014
+ .open=${this.moreActionsOpen}
1015
+ .options=${this.moreActionsOptions}
1016
+ .closeLabel=${this.closeLabel}
1017
+ .moreActionsLabel=${this.moreActionsLabel}
1018
+ @toggled=${this._onToggled}
1019
+ ></aurora-more-actions>
1020
+ ` : showAction ? html`<axebow-button variant="text" size="medium" @click=${this._onAction}>${this.actionLabel}</axebow-button>` : ""}
1021
+ </div>
1022
+ `;
1023
+ }
1024
+ _onToggled(e) {
1025
+ this.dispatchEvent(new CustomEvent("more-actions-toggled", {
1026
+ detail: { open: e.detail.open },
1027
+ bubbles: true,
1028
+ composed: true
1029
+ }));
1030
+ }
1031
+ _onAction() {
1032
+ this.dispatchEvent(new CustomEvent("footer-action-click", {
1033
+ bubbles: true,
1034
+ composed: true
1035
+ }));
1036
+ }
1037
+ };
1038
+ __decorate([property({ type: Boolean })], AuroraCardFooter.prototype, "isFreeIaaS", void 0);
1039
+ __decorate([property({ type: Boolean })], AuroraCardFooter.prototype, "isPlainRole", void 0);
1040
+ __decorate([property({ type: String })], AuroraCardFooter.prototype, "statusCode", void 0);
1041
+ __decorate([property({ type: String })], AuroraCardFooter.prototype, "statusMessage", void 0);
1042
+ __decorate([property({ type: String })], AuroraCardFooter.prototype, "borderColor", void 0);
1043
+ __decorate([property({ type: Boolean })], AuroraCardFooter.prototype, "showSpinner", void 0);
1044
+ __decorate([property({ type: Boolean })], AuroraCardFooter.prototype, "moreActionsOpen", void 0);
1045
+ __decorate([property({ type: Array })], AuroraCardFooter.prototype, "moreActionsOptions", void 0);
1046
+ __decorate([property({ type: String })], AuroraCardFooter.prototype, "closeLabel", void 0);
1047
+ __decorate([property({ type: String })], AuroraCardFooter.prototype, "moreActionsLabel", void 0);
1048
+ __decorate([property({ type: String })], AuroraCardFooter.prototype, "actionLabel", void 0);
1049
+ AuroraCardFooter = __decorate([customElement("aurora-card-footer")], AuroraCardFooter);
1050
+ //#endregion
1051
+ //#region src/components/cards/aurora-base-card.ts
1052
+ var AuroraBaseCard = class AuroraBaseCard extends LitElement {
1053
+ constructor(..._args) {
1054
+ super(..._args);
1055
+ this.cardType = "account";
1056
+ this.name = "";
1057
+ this.logoSrc = null;
1058
+ this.tenantOrAccount = "";
1059
+ this.badge = "none";
1060
+ this.subtitle = "";
1061
+ this.mainStats = [];
1062
+ this.compact = false;
1063
+ this.tableStats = [];
1064
+ this.attentionThreshold = 90;
1065
+ this.filterItems = [];
1066
+ this.selected = null;
1067
+ this.filterOpened = false;
1068
+ this.emptyLabel = "";
1069
+ this.emptyActionLabel = "";
1070
+ this.attentionLabel = "Attention needed";
1071
+ this.showAttention = false;
1072
+ this.isPlainRole = false;
1073
+ this.isDeleting = false;
1074
+ this.isDisabled = false;
1075
+ this.revisions = [];
1076
+ this.displayedRevision = "";
1077
+ this.isDeployed = false;
1078
+ this.deployedLabel = "Deployed";
1079
+ this.filterRoles = [];
1080
+ this.filterDisplayText = "";
1081
+ this.allLabel = "All Roles & Instances";
1082
+ this.borderColor = "";
1083
+ this.statusCode = "";
1084
+ this.statusMessage = "";
1085
+ this.serviceDetailLabel = "Service detail";
1086
+ this.showActionBanner = false;
1087
+ this.showWarningBanner = false;
1088
+ this.manageLabel = "Manage";
1089
+ this.askOwnerLabel = "Ask your owner";
1090
+ this.invalidCredsLabel = "Invalid credentials.";
1091
+ this.limitReachedLabel = "Limit reached.";
1092
+ this.andLabel = "and";
1093
+ this.actionBannerLabel = "";
1094
+ this.moreActionsOpen = false;
1095
+ this.moreActionsOptions = [];
1096
+ this.isFreeIaaS = false;
1097
+ this.closeLabel = "Close";
1098
+ this.moreActionsLabel = "More";
1099
+ this.freeIaasLabel = "Free IaaS";
1100
+ this.freeIaasTitle = "Free Infrastructure";
1101
+ this.freeIaasDesc = "This environment uses free infrastructure.";
1102
+ this.haLabel = "Highly Available";
1103
+ this.haTitle = "High Availability enabled";
1104
+ }
1105
+ static {
1106
+ this.styles = [unsafeCSS(tailwind_default), css`
1107
+ :host { display: block; width: 450px; max-width: 100%; }
1108
+ :host([card-type='runtime']) { width: 380px; height: 417px; }
1109
+ sl-badge::part(base) { background-color: var(--axebow-secondary); color: white; }
1110
+ sl-dialog::part(panel) { width: 35vw; min-width: 400px; }
1111
+ sl-dialog::part(body) { padding-top: 0; }
1112
+ sl-alert::part(base) { border-top: 2px solid var(--axebow-error); }
1113
+ sl-range, sl-range:hover {
1114
+ --sl-color-primary-600: var(--axebow-tertiary);
1115
+ --sl-color-primary-500: var(--axebow-tertiary);
1116
+ }
1117
+ .deploy-time {
1118
+ display: -webkit-box;
1119
+ -webkit-line-clamp: 2;
1120
+ -webkit-box-orient: vertical;
1121
+ overflow: hidden;
1122
+ }
1123
+ `];
1124
+ }
1125
+ render() {
1126
+ const isRuntime = this.cardType === "runtime";
1127
+ return html`
1128
+ <div
1129
+ class="w-full h-full bg-[var(--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" : ""}"
1130
+ style=${isRuntime ? `border-top-color:${this.borderColor};` : ""}
1131
+ ?inert=${this.isDeleting}
1132
+ >
1133
+ <div class="flex flex-col gap-2">
1134
+ <aurora-card-header
1135
+ .cardType=${this.cardType}
1136
+ .logoSrc=${this.logoSrc}
1137
+ .tenantOrAccount=${this.tenantOrAccount}
1138
+ .name=${this.name}
1139
+ .badge=${this.badge}
1140
+ .subtitle=${this.subtitle}
1141
+ .revisions=${this.revisions}
1142
+ .displayedRevision=${this.displayedRevision}
1143
+ .freeIaasLabel=${this.freeIaasLabel}
1144
+ .freeIaasTitle=${this.freeIaasTitle}
1145
+ .freeIaasDesc=${this.freeIaasDesc}
1146
+ .haLabel=${this.haLabel}
1147
+ .haTitle=${this.haTitle}
1148
+ @revision-change=${(e) => this.dispatchEvent(new CustomEvent("revision-change", {
1149
+ detail: e.detail,
1150
+ bubbles: true,
1151
+ composed: true
1152
+ }))}
1153
+ >
1154
+ <slot slot="subtitle-tooltip" name="subtitle-tooltip"></slot>
1155
+ </aurora-card-header>
1156
+
1157
+ <div class="w-full px-2 flex flex-col gap-2">
1158
+ ${isRuntime ? html`
1159
+ <div class="flex flex-row justify-between items-center min-h-10 max-h-10 overflow-hidden">
1160
+ <span class="deploy-time text-[var(--axebow-secondary)]"><slot name="time-elapsed"></slot></span>
1161
+ ${this.isDeployed ? html`<span class="text-[var(--axebow-secondary)] border-2 border-[var(--axebow-secondary)] rounded-lg py-0.5 px-1.5 whitespace-nowrap text-xs">${this.deployedLabel}</span>` : ""}
1162
+ </div>
1163
+ ` : html`
1164
+ <aurora-card-stats-row
1165
+ .stats=${this.mainStats}
1166
+ .compact=${this.compact}
1167
+ @stat-label-click=${(e) => !this.isDeleting && this.dispatchEvent(new CustomEvent("stat-label-click", {
1168
+ detail: e.detail,
1169
+ bubbles: true,
1170
+ composed: true
1171
+ }))}
1172
+ ></aurora-card-stats-row>
1173
+ `}
1174
+
1175
+ <div class="w-full h-full border border-[var(--axebow-light-gray)] rounded-md">
1176
+ ${isRuntime ? html`
1177
+ <aurora-card-table-header
1178
+ .opened=${this.filterOpened}
1179
+ .filterDisplayText=${this.filterDisplayText}
1180
+ .allLabel=${this.allLabel}
1181
+ .attentionLabel=${this.attentionLabel}
1182
+ .showAttention=${this.showAttention}
1183
+ .filterRoles=${this.filterRoles}
1184
+ @toggle-open=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent("toggle-filter", {
1185
+ bubbles: true,
1186
+ composed: true
1187
+ }))}
1188
+ @filter-change=${(e) => !this.isDeleting && this.dispatchEvent(new CustomEvent("filter-change", {
1189
+ detail: e.detail,
1190
+ bubbles: true,
1191
+ composed: true
1192
+ }))}
1193
+ ></aurora-card-table-header>
1194
+ ` : html`
1195
+ <aurora-card-filter
1196
+ .items=${this.filterItems}
1197
+ .selected=${this.selected}
1198
+ .emptyLabel=${this.emptyLabel}
1199
+ .emptyActionLabel=${this.emptyActionLabel}
1200
+ .attentionLabel=${this.attentionLabel}
1201
+ .showAttention=${this.showAttention}
1202
+ .opened=${this.filterOpened}
1203
+ .isPlainRole=${this.isPlainRole}
1204
+ .isDisabled=${this.isDeleting || this.isDisabled}
1205
+ @filter-select=${(e) => !this.isDeleting && this.dispatchEvent(new CustomEvent("filter-select", {
1206
+ detail: e.detail,
1207
+ bubbles: true,
1208
+ composed: true
1209
+ }))}
1210
+ @toggle-open=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent("toggle-filter", {
1211
+ bubbles: true,
1212
+ composed: true
1213
+ }))}
1214
+ @empty-action-click=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent("empty-action-click", {
1215
+ bubbles: true,
1216
+ composed: true
1217
+ }))}
1218
+ ></aurora-card-filter>
1219
+ `}
1220
+
1221
+ <aurora-card-resource-table
1222
+ .rows=${this.tableStats}
1223
+ .attentionThreshold=${this.attentionThreshold}
1224
+ .cardType=${this.cardType}
1225
+ .isPlainRole=${this.isPlainRole}
1226
+ .showActionBanner=${this.showActionBanner}
1227
+ .showWarningBanner=${this.showWarningBanner}
1228
+ .manageLabel=${this.manageLabel}
1229
+ .askOwnerLabel=${this.askOwnerLabel}
1230
+ .invalidCredsLabel=${this.invalidCredsLabel}
1231
+ .limitReachedLabel=${this.limitReachedLabel}
1232
+ .andLabel=${this.andLabel}
1233
+ .actionBannerLabel=${this.actionBannerLabel}
1234
+ @manage-click=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent("manage-click", {
1235
+ bubbles: true,
1236
+ composed: true
1237
+ }))}
1238
+ @action-click=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent("action-click", {
1239
+ bubbles: true,
1240
+ composed: true
1241
+ }))}
1242
+ ></aurora-card-resource-table>
1243
+ </div>
1244
+
1245
+ <slot name="extra-features"></slot>
1246
+ </div>
1247
+ </div>
1248
+
1249
+ <aurora-card-footer
1250
+ class="mb-1 pl-2"
1251
+ .isFreeIaaS=${this.isFreeIaaS}
1252
+ .isPlainRole=${this.isPlainRole}
1253
+ .statusCode=${isRuntime ? this.statusCode : ""}
1254
+ .statusMessage=${isRuntime ? this.statusMessage : ""}
1255
+ .borderColor=${this.borderColor}
1256
+ .showSpinner=${isRuntime && this.borderColor === "var(--axebow-gray)"}
1257
+ .moreActionsOpen=${this.moreActionsOpen}
1258
+ .moreActionsOptions=${isRuntime ? [] : this.moreActionsOptions}
1259
+ .closeLabel=${this.closeLabel}
1260
+ .moreActionsLabel=${this.moreActionsLabel}
1261
+ .actionLabel=${isRuntime ? this.serviceDetailLabel : ""}
1262
+ @more-actions-toggled=${(e) => this.dispatchEvent(new CustomEvent("more-actions-toggled", {
1263
+ detail: e.detail,
1264
+ bubbles: true,
1265
+ composed: true
1266
+ }))}
1267
+ @footer-action-click=${() => this.dispatchEvent(new CustomEvent("service-detail-click", {
1268
+ bubbles: true,
1269
+ composed: true
1270
+ }))}
1271
+ >
1272
+ <slot name="status-footer"></slot>
1273
+ </aurora-card-footer>
1274
+
1275
+ <slot name="dialogs"></slot>
1276
+ </div>
1277
+ `;
1278
+ }
1279
+ };
1280
+ __decorate([property({
1281
+ type: String,
1282
+ reflect: true,
1283
+ attribute: "card-type"
1284
+ })], AuroraBaseCard.prototype, "cardType", void 0);
1285
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "name", void 0);
1286
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "logoSrc", void 0);
1287
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "tenantOrAccount", void 0);
1288
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "badge", void 0);
1289
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "subtitle", void 0);
1290
+ __decorate([property({ type: Array })], AuroraBaseCard.prototype, "mainStats", void 0);
1291
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "compact", void 0);
1292
+ __decorate([property({ type: Array })], AuroraBaseCard.prototype, "tableStats", void 0);
1293
+ __decorate([property({ type: Number })], AuroraBaseCard.prototype, "attentionThreshold", void 0);
1294
+ __decorate([property({ type: Array })], AuroraBaseCard.prototype, "filterItems", void 0);
1295
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "selected", void 0);
1296
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "filterOpened", void 0);
1297
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "emptyLabel", void 0);
1298
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "emptyActionLabel", void 0);
1299
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "attentionLabel", void 0);
1300
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "showAttention", void 0);
1301
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "isPlainRole", void 0);
1302
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "isDeleting", void 0);
1303
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "isDisabled", void 0);
1304
+ __decorate([property({ type: Array })], AuroraBaseCard.prototype, "revisions", void 0);
1305
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "displayedRevision", void 0);
1306
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "isDeployed", void 0);
1307
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "deployedLabel", void 0);
1308
+ __decorate([property({ type: Array })], AuroraBaseCard.prototype, "filterRoles", void 0);
1309
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "filterDisplayText", void 0);
1310
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "allLabel", void 0);
1311
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "borderColor", void 0);
1312
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "statusCode", void 0);
1313
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "statusMessage", void 0);
1314
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "serviceDetailLabel", void 0);
1315
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "showActionBanner", void 0);
1316
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "showWarningBanner", void 0);
1317
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "manageLabel", void 0);
1318
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "askOwnerLabel", void 0);
1319
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "invalidCredsLabel", void 0);
1320
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "limitReachedLabel", void 0);
1321
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "andLabel", void 0);
1322
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "actionBannerLabel", void 0);
1323
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "moreActionsOpen", void 0);
1324
+ __decorate([property({ type: Array })], AuroraBaseCard.prototype, "moreActionsOptions", void 0);
1325
+ __decorate([property({ type: Boolean })], AuroraBaseCard.prototype, "isFreeIaaS", void 0);
1326
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "closeLabel", void 0);
1327
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "moreActionsLabel", void 0);
1328
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "freeIaasLabel", void 0);
1329
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "freeIaasTitle", void 0);
1330
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "freeIaasDesc", void 0);
1331
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "haLabel", void 0);
1332
+ __decorate([property({ type: String })], AuroraBaseCard.prototype, "haTitle", void 0);
1333
+ AuroraBaseCard = __decorate([customElement("aurora-base-card")], AuroraBaseCard);
1334
+ //#endregion
1335
+ export { AuroraBaseCard, AuroraButton, AuroraCardActionBanner, AuroraCardAttentionBanner, AuroraCardCloudLogo, AuroraCardFilter, AuroraCardFilterItem, AuroraCardFooter, AuroraCardHeader, AuroraCardResourceRow, AuroraCardResourceTable, AuroraCardSpecialLink, AuroraCardStatItem, AuroraCardStatsRow, AuroraCardStatus, AuroraCardTableHeader, AuroraCardVersionSelector, AuroraMoreActions, STATUS_COLORS, auroraTheme };
1336
+
16
1337
  //# sourceMappingURL=index.js.map