@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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,mDAAmD,CAAC;AAClE,cAAc,qDAAqD,CAAC;AACpE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wDAAwD,CAAC;AACvE,cAAc,0DAA0D,CAAC;AACzE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/components/aurora-button.ts","../src/styles/aurora-theme.ts","../src/components/cards/aurora-more-actions.ts","../src/components/cards/parts/aurora-card-cloud-logo.ts","../src/components/cards/parts/aurora-card-version-selector.ts","../src/components/cards/parts/aurora-card-header.ts","../src/components/cards/parts/aurora-card-stat-item.ts","../src/components/cards/parts/aurora-card-stats-row.ts","../src/components/cards/parts/aurora-card-filter-item.ts","../src/components/cards/parts/aurora-card-filter.ts","../src/components/cards/parts/aurora-card-table-header.ts","../src/components/cards/parts/aurora-card-special-link.ts","../src/components/cards/parts/aurora-card-attention-banner.ts","../src/components/cards/parts/aurora-card-action-banner.ts","../src/components/cards/parts/aurora-card-resource-row.ts","../src/components/cards/parts/aurora-card-resource-table.ts","../src/components/cards/parts/aurora-card-status.ts","../src/components/cards/parts/aurora-card-footer.ts","../src/components/cards/aurora-base-card.ts"],"sourcesContent":["import { LitElement, css, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('aurora-button')\nexport class AuroraButton extends LitElement {\n static styles = css`\n :host {\n display: inline-block;\n }\n\n button {\n font: inherit;\n cursor: pointer;\n border-radius: 6px;\n border: 1px solid transparent;\n padding: 0.5em 1.2em;\n background-color: var(--aurora-button-bg, #1a1a1a);\n color: var(--aurora-button-color, #ffffff);\n }\n\n button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n `;\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n render() {\n return html`\n <button ?disabled=${this.disabled}>\n <slot></slot>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'aurora-button': AuroraButton;\n }\n}\n","import { css } from 'lit';\n\nexport const auroraTheme = css`\n .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 }\n * {\n font-family: 'Open Sans', sans-serif;\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 { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ActionMenuItem } from './card.types.js';\n\n@customElement('aurora-more-actions')\nexport class AuroraMoreActions 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-[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\"\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-[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}\"\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('aurora-card-cloud-logo')\nexport class AuroraCardCloudLogo 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=\"h-4 w-4\"><img src=${this.src} class=\"max-h-full max-w-full object-contain\" /></div>`\n : 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>`;\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.types.js';\n\n@customElement('aurora-card-version-selector')\nexport class AuroraCardVersionSelector extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; width: 100%; }\n sl-select {\n --sl-input-background-color: transparent;\n --sl-input-border-color: transparent;\n border: none;\n background: transparent;\n padding: 0;\n margin: 0;\n min-width: 0;\n width: 100% !important;\n }\n sl-select::part(base) {\n border: none;\n background-color: transparent;\n padding: 0;\n min-width: 0;\n display: inline-block;\n }\n sl-select::part(display-input) { padding: 0 8px; }\n sl-select::part(combobox) { padding: 0; }\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 style=\"width:100%;\" value=${this.displayedRevision} @sl-change=${this._onChange}>\n ${this.revisions.map((rev) => html`<sl-option value=${rev.id}>${this._formatRevision(rev.id)}</sl-option>`)}\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 { CardBadge, CardType, RevisionItem } from '../card.types.js';\nimport './aurora-card-cloud-logo.js';\nimport './aurora-card-version-selector.js';\n\n@customElement('aurora-card-header')\nexport class AuroraCardHeader 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\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-[var(--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 render() {\n const isTenant = this.cardType === 'tenant';\n const isCompact = this.cardType === 'environment' || isTenant;\n const isRuntime = this.cardType === 'runtime';\n\n if (isCompact) {\n return html`\n <div class=\"w-full bg-[var(--axebow-anti-flash-white)] rounded-md flex flex-col justify-center px-5 py-3 h-[4.5rem]\">\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 <aurora-card-cloud-logo .src=${this.logoSrc} size=\"small\"></aurora-card-cloud-logo>\n <span class=\"font-semibold ${isTenant ? 'text-[var(--axebow-gray)]' : 'text-[var(--axebow-primary)]'} 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-[var(--axebow-primary)] leading-snug pt-0.5\">${this.name}</span>\n ${this._renderBadge()}\n </div>\n ${this.subtitle\n ? html`<div class=\"italic text-[var(--axebow-primary)] flex items-center leading-none\">${this.subtitle}<slot name=\"subtitle-tooltip\"></slot></div>`\n : ''}\n </div>\n </div>\n `;\n }\n\n return html`\n <div class=\"w-full bg-[var(--axebow-anti-flash-white)] rounded-md flex items-center gap-3 py-2 px-3 h-16\">\n <aurora-card-cloud-logo .src=${this.logoSrc} size=\"large\"></aurora-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-[var(--axebow-primary)] leading-none\">${this.tenantOrAccount}</span>`\n : ''}\n <div class=\"flex justify-between items-center\">\n <span class=\"font-bold text-xl text-[var(--axebow-primary)] leading-snug pt-0.5\">${this.name}</span>\n ${this._renderBadge()}\n </div>\n ${isRuntime\n ? html`\n <div class=\"revision-wrap italic text-[var(--axebow-primary)] flex items-center\">\n <aurora-card-version-selector\n .revisions=${this.revisions}\n .displayedRevision=${this.displayedRevision}\n @revision-change=${this._onRevisionChange}\n ></aurora-card-version-selector>\n </div>\n `\n : this.subtitle\n ? html`<div class=\"italic text-[var(--axebow-primary)] flex items-center leading-none\">${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('aurora-card-stat-item')\nexport class AuroraCardStatItem 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 @property({ type: Boolean }) compact = false;\n\n render() {\n return html`\n <div class=\"flex flex-col items-center text-center gap-0.5\">\n <h4 class=\"text-lg text-[var(--axebow-primary)] font-bold leading-snug m-0\">${this.value}</h4>\n <p class=\"m-0 leading-snug\">${this.title}</p>\n <span\n class=\"text-[var(--axebow-gray)] font-semibold text-xs ${this.active ? 'cursor-pointer opacity-100' : 'cursor-not-allowed opacity-50'}\"\n @click=${this._onClick}\n >${this.label}</span>\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.types.js';\nimport './aurora-card-stat-item.js';\n\n@customElement('aurora-card-stats-row')\nexport class AuroraCardStatsRow extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`:host { display: block; }`,\n ];\n\n @property({ type: Array }) stats: MainStatsType[] = [];\n @property({ type: Boolean }) compact = false;\n\n render() {\n return html`\n <div class=\"grid grid-cols-3 gap-1 px-2\">\n ${this.stats.map(\n (stat, index) => html`\n <aurora-card-stat-item\n .value=${stat.value}\n .title=${stat.title}\n .label=${stat.label}\n .active=${stat.active !== false}\n .compact=${this.compact}\n @label-click=${() => this._handleLabelClick(index)}\n ></aurora-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';\n\n@customElement('aurora-card-filter-item')\nexport class AuroraCardFilterItem 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-[var(--axebow-light-gray)] cursor-pointer hover:bg-[var(--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.types.js';\nimport './aurora-card-filter-item.js';\n\n@customElement('aurora-card-filter')\nexport class AuroraCardFilter 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-[var(--axebow-light-gray)] w-full px-2 cursor-pointer h-7\">\n ${showEmpty\n ? html`\n <p\n class=\"m-0 ${this.isPlainRole || this.isDisabled\n ? 'text-[var(--axebow-gray)] cursor-default opacity-50'\n : 'text-[var(--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-[var(--axebow-tertiary)]\">${this.selected ?? this.emptyLabel}</span>\n <div class=\"flex items-center gap-2\">\n ${this.showAttention\n ? html`<p class=\"text-[var(--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-[var(--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-[var(--axebow-light-gray)]\" @click=${() => this._onSelect(null)}>${this.emptyLabel}</p>\n ${this.items.map(\n (item) => html`\n <aurora-card-filter-item\n .name=${item.name}\n .showAttention=${item.showAttention}\n @item-select=${(e: CustomEvent) => this._onSelect(e.detail.name)}\n ></aurora-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.types.js';\n\n@customElement('aurora-card-table-header')\nexport class AuroraCardTableHeader 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-[var(--axebow-light-gray)] w-full px-2 cursor-pointer h-7\"\n @click=${this._onToggle}\n >\n <span class=\"text-[var(--axebow-tertiary)]\">${this.filterDisplayText || this.allLabel}</span>\n <div class=\"flex items-center gap-2\">\n ${this.showAttention ? html`<p class=\"text-[var(--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-[var(--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-[var(--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-[var(--axebow-light-gray)] cursor-pointer hover:bg-[var(--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-[var(--axebow-light-gray)] cursor-pointer hover:bg-[var(--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';\n\n@customElement('aurora-card-special-link')\nexport class AuroraCardSpecialLink 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.types.js';\nimport './aurora-card-special-link.js';\n\n@customElement('aurora-card-attention-banner')\nexport class AuroraCardAttentionBanner 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-full px-1 text-center\">\n ${this.isPlainRole\n ? html`<span class=\"text-[var(--axebow-error)]\">${this.askOwnerLabel}</span>`\n : html`\n <p class=\"text-[var(--axebow-error)] m-0\">\n ${this.invalidCredentials\n ? this.invalidCredsLabel\n : `${this.limitReachedLabel} ${this._formatList(exceeded)}.`}\n <aurora-card-special-link\n .label=${this.manageLabel}\n color=\"var(--axebow-error)\"\n @link-click=${this._onManage}\n ></aurora-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';\n\n@customElement('aurora-card-action-banner')\nexport class AuroraCardActionBanner 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-full px-3 text-sm text-center\">\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 { TableStatsType } from '../card.types.js';\n\n@customElement('aurora-card-resource-row')\nexport class AuroraCardResourceRow 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 borderClass = !stat.hidden && !this.isLast ? 'border-b border-[var(--axebow-light-gray)]' : '';\n\n if (stat.hidden) {\n return html`\n <div class=\"flex items-center w-full px-2 h-8 gap-2 ${borderClass}\"></div>\n <div class=\"flex items-center justify-end w-full px-2 h-8 gap-2 ${borderClass}\"></div>\n <div class=\"flex items-center justify-end w-full px-2 h-8 ${borderClass}\"></div>\n <div class=\"flex items-center justify-end w-full px-2 h-8 gap-2 ${borderClass}\"></div>\n `;\n }\n\n return html`\n <div class=\"flex items-center w-full px-2 h-8 gap-2 ${borderClass}\">\n <div class=\"flex items-center gap-2 ${stat.isSecondary ? 'ml-2' : ''}\">\n <axebow-icon iconName=${stat.icon} size=\"small\" rotate=${stat.iconRotation ?? 0}></axebow-icon>\n <span class=\"text-xs ${stat.isSecondary ? '' : 'font-semibold'}\">${stat.title}</span>\n </div>\n </div>\n\n <div class=\"flex items-center justify-end w-full px-2 h-8 gap-2 ${borderClass}\">\n <p class=\"${stat.isSecondary ? 'font-normal' : 'font-semibold'} m-0\">${stat.value ?? '-.-'}</p>\n </div>\n\n <div class=\"flex items-center justify-end w-full px-2 h-8 ${borderClass}\">\n <div class=\"h-2 w-full bg-[var(--axebow-light-gray)] rounded-md relative overflow-hidden\">\n <div\n class=\"absolute h-full ${stat.percentage >= this.attentionThreshold ? 'bg-[var(--axebow-error)]' : 'bg-[var(--axebow-gray)]'}\"\n style=\"width:${stat.percentage}%;\"\n ></div>\n </div>\n </div>\n\n <div class=\"flex items-center justify-end w-full px-2 h-8 gap-2 ${borderClass}\">\n <p class=\"${stat.isSecondary ? 'font-normal' : 'font-semibold'} m-0\">\n ${stat.maxValue ?? '-.-'}<span class=\"font-normal\">${stat.tagValue ?? ''}</span>\n </p>\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 { CardType, TableStatsType } from '../card.types.js';\nimport './aurora-card-attention-banner.js';\nimport './aurora-card-action-banner.js';\nimport './aurora-card-resource-row.js';\n\n@customElement('aurora-card-resource-table')\nexport class AuroraCardResourceTable 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>\n <div class=\"grid grid-cols-[auto_auto_1fr_auto] border-b border-[var(--axebow-light-gray)]\">\n ${this.rows.map(\n (stat) => html`\n <aurora-card-resource-row\n .stat=${stat}\n .attentionThreshold=${this.attentionThreshold}\n .isLast=${stat === lastVisible}\n ></aurora-card-resource-row>\n `\n )}\n </div>\n\n ${showWarning\n ? html`<aurora-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 ></aurora-card-attention-banner>`\n : showAttention\n ? html`<aurora-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 ></aurora-card-attention-banner>`\n : showAction\n ? html`<aurora-card-action-banner .label=${this.actionBannerLabel} @action-click=${() => this.dispatchEvent(new CustomEvent('action-click', { bubbles: true, composed: true }))}></aurora-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';\n\n@customElement('aurora-card-status')\nexport class AuroraCardStatus 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 text-xs 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.types.js';\nimport '../aurora-more-actions.js';\nimport './aurora-card-status.js';\n\n@customElement('aurora-card-footer')\nexport class AuroraCardFooter 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 text-xs\">\n <aurora-card-status\n .statusCode=${this.statusCode}\n .statusMessage=${this.statusMessage}\n .borderColor=${this.borderColor}\n .showSpinner=${this.showSpinner}\n >\n <slot></slot>\n </aurora-card-status>\n ${showDropdown\n ? html`\n <aurora-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 ></aurora-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 RuntimeFilterRole,\n TableStatsType,\n} from './card.types.js';\nimport './aurora-more-actions.js';\nimport './parts/aurora-card-header.js';\nimport './parts/aurora-card-stats-row.js';\nimport './parts/aurora-card-filter.js';\nimport './parts/aurora-card-table-header.js';\nimport './parts/aurora-card-resource-table.js';\nimport './parts/aurora-card-footer.js';\n\n@customElement('aurora-base-card')\nexport class AuroraBaseCard extends LitElement {\n static styles = [\n unsafeCSS(tailwindCss),\n css`\n :host { display: block; width: 450px; max-width: 100%; }\n :host([card-type='runtime']) { width: 380px; height: 417px; }\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 @property({ type: Boolean }) compact = false;\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 render() {\n const isRuntime = this.cardType === 'runtime';\n\n return html`\n <div\n 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' : ''}\"\n style=${isRuntime ? `border-top-color:${this.borderColor};` : ''}\n ?inert=${this.isDeleting}\n >\n <div class=\"flex flex-col gap-2\">\n <aurora-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 @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 </aurora-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-[var(--axebow-secondary)]\"><slot name=\"time-elapsed\"></slot></span>\n ${this.isDeployed\n ? 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>`\n : ''}\n </div>\n `\n : html`\n <aurora-card-stats-row\n .stats=${this.mainStats}\n .compact=${this.compact}\n @stat-label-click=${(e: CustomEvent) =>\n !this.isDeleting && this.dispatchEvent(new CustomEvent('stat-label-click', { detail: e.detail, bubbles: true, composed: true }))}\n ></aurora-card-stats-row>\n `}\n\n <div class=\"w-full h-full border border-[var(--axebow-light-gray)] rounded-md\">\n ${isRuntime\n ? html`\n <aurora-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 ></aurora-card-table-header>\n `\n : html`\n <aurora-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 ></aurora-card-filter>\n `}\n\n <aurora-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 ></aurora-card-resource-table>\n </div>\n\n <slot name=\"extra-features\"></slot>\n </div>\n </div>\n\n <aurora-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 </aurora-card-footer>\n\n <slot name=\"dialogs\"></slot>\n </div>\n `;\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const auroraTheme: import("lit").CSSResult;
1
+ export declare const auroraTheme: import('lit').CSSResult;
2
2
  export declare const STATUS_COLORS: {
3
3
  readonly HEALTHY: "var(--axebow-success)";
4
4
  readonly ERROR: "var(--axebow-error)";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kumori/aurora-wui-components",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "Aurora WUI - public TypeScript + Lit web component library",
5
5
  "license": "ISC",
6
6
  "type": "module",
@@ -30,8 +30,8 @@
30
30
  },
31
31
  "scripts": {
32
32
  "clean": "rimraf dist",
33
- "build": "npm run clean && tsc -p tsconfig.json",
34
- "watch": "tsc -p tsconfig.json --watch",
33
+ "build": "npm run clean && vite build",
34
+ "watch": "vite build --watch",
35
35
  "lint": "tsc --noEmit",
36
36
  "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage",
37
37
  "test:watch": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --watch",
@@ -42,12 +42,18 @@
42
42
  "lit": "^3.2.1"
43
43
  },
44
44
  "devDependencies": {
45
+ "@tailwindcss/vite": "^4.3.2",
45
46
  "@types/jest": "^29.5.12",
46
47
  "cross-env": "^7.0.3",
47
48
  "jest": "^29.7.0",
48
49
  "jest-environment-jsdom": "^29.7.0",
49
50
  "rimraf": "^5.0.7",
50
51
  "ts-jest": "^29.1.2",
51
- "typescript": "^5.5.4"
52
+ "typescript": "^5.5.4",
53
+ "vite": "^8.1.4",
54
+ "vite-plugin-dts": "^5.0.3"
55
+ },
56
+ "dependencies": {
57
+ "tailwindcss": "^4.3.2"
52
58
  }
53
59
  }
@@ -1,49 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { LitElement, css, html } from 'lit';
8
- import { customElement, property } from 'lit/decorators.js';
9
- let AuroraButton = class AuroraButton extends LitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.disabled = false;
13
- }
14
- render() {
15
- return html `
16
- <button ?disabled=${this.disabled}>
17
- <slot></slot>
18
- </button>
19
- `;
20
- }
21
- };
22
- AuroraButton.styles = css `
23
- :host {
24
- display: inline-block;
25
- }
26
-
27
- button {
28
- font: inherit;
29
- cursor: pointer;
30
- border-radius: 6px;
31
- border: 1px solid transparent;
32
- padding: 0.5em 1.2em;
33
- background-color: var(--aurora-button-bg, #1a1a1a);
34
- color: var(--aurora-button-color, #ffffff);
35
- }
36
-
37
- button:disabled {
38
- cursor: not-allowed;
39
- opacity: 0.5;
40
- }
41
- `;
42
- __decorate([
43
- property({ type: Boolean, reflect: true })
44
- ], AuroraButton.prototype, "disabled", void 0);
45
- AuroraButton = __decorate([
46
- customElement('aurora-button')
47
- ], AuroraButton);
48
- export { AuroraButton };
49
- //# sourceMappingURL=aurora-button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aurora-button.js","sourceRoot":"","sources":["../../src/components/aurora-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGrD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QAuBL,aAAQ,GAAG,KAAK,CAAC;IASnB,CAAC;IAPC,MAAM;QACJ,OAAO,IAAI,CAAA;0BACW,IAAI,CAAC,QAAQ;;;KAGlC,CAAC;IACJ,CAAC;;AA9BM,mBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;GAmBlB,AAnBY,CAmBX;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAC1B;AAvBN,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CAgCxB"}
@@ -1,299 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { LitElement, html, css } from 'lit';
8
- import { customElement, property } from 'lit/decorators.js';
9
- import './aurora-more-actions.js';
10
- import './parts/aurora-card-header.js';
11
- import './parts/aurora-card-stats-row.js';
12
- import './parts/aurora-card-filter.js';
13
- import './parts/aurora-card-resource-table.js';
14
- import './parts/aurora-card-status-bar.js';
15
- let AuroraBaseCard = class AuroraBaseCard extends LitElement {
16
- constructor() {
17
- super(...arguments);
18
- this.cardType = 'account';
19
- this.name = '';
20
- this.logoSrc = null;
21
- this.tenantOrAccount = '';
22
- this.badge = 'none';
23
- this.subtitle = '';
24
- this.mainStats = [];
25
- this.compact = false;
26
- this.tableStats = [];
27
- this.attentionThreshold = 90;
28
- this.filterItems = [];
29
- this.selected = null;
30
- this.filterOpened = false;
31
- this.emptyLabel = '';
32
- this.emptyActionLabel = '';
33
- this.attentionLabel = 'Attention needed';
34
- this.showAttention = false;
35
- this.isPlainRole = false;
36
- this.isDeleting = false;
37
- this.isDisabled = false;
38
- this.showActionBanner = false;
39
- this.showWarningBanner = false;
40
- this.manageLabel = 'Manage';
41
- this.askOwnerLabel = 'Ask your owner';
42
- this.invalidCredsLabel = 'Invalid credentials.';
43
- this.limitReachedLabel = 'Limit reached.';
44
- this.andLabel = 'and';
45
- this.actionBannerLabel = '';
46
- this.moreActionsOpen = false;
47
- this.moreActionsOptions = [];
48
- this.isFreeIaaS = false;
49
- this.closeLabel = 'Close';
50
- this.moreActionsLabel = 'More';
51
- this.freeIaasLabel = 'Free IaaS';
52
- this.freeIaasTitle = 'Free Infrastructure';
53
- this.freeIaasDesc = 'This environment uses free infrastructure.';
54
- this.haLabel = 'Highly Available';
55
- this.haTitle = 'High Availability enabled';
56
- }
57
- render() {
58
- return html `
59
- <div class="card">
60
- <div class="body">
61
- <aurora-card-header
62
- .cardType=${this.cardType}
63
- .logoSrc=${this.logoSrc}
64
- .tenantOrAccount=${this.tenantOrAccount}
65
- .name=${this.name}
66
- .badge=${this.badge}
67
- .subtitle=${this.subtitle}
68
- .freeIaasLabel=${this.freeIaasLabel}
69
- .freeIaasTitle=${this.freeIaasTitle}
70
- .freeIaasDesc=${this.freeIaasDesc}
71
- .haLabel=${this.haLabel}
72
- .haTitle=${this.haTitle}
73
- >
74
- <slot slot="subtitle-tooltip" name="subtitle-tooltip"></slot>
75
- </aurora-card-header>
76
-
77
- <div class="inner">
78
- <aurora-card-stats-row
79
- .stats=${this.mainStats}
80
- .compact=${this.compact}
81
- @stat-label-click=${(e) => !this.isDeleting && this.dispatchEvent(new CustomEvent('stat-label-click', { detail: e.detail, bubbles: true, composed: true }))}
82
- ></aurora-card-stats-row>
83
-
84
- <div class="table-wrap">
85
- <aurora-card-filter
86
- .items=${this.filterItems}
87
- .selected=${this.selected}
88
- .emptyLabel=${this.emptyLabel}
89
- .emptyActionLabel=${this.emptyActionLabel}
90
- .attentionLabel=${this.attentionLabel}
91
- .showAttention=${this.showAttention}
92
- .opened=${this.filterOpened}
93
- .isPlainRole=${this.isPlainRole}
94
- .isDisabled=${this.isDeleting || this.isDisabled}
95
- @filter-select=${(e) => !this.isDeleting && this.dispatchEvent(new CustomEvent('filter-select', { detail: e.detail, bubbles: true, composed: true }))}
96
- @toggle-open=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent('toggle-filter', { bubbles: true, composed: true }))}
97
- @empty-action-click=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent('empty-action-click', { bubbles: true, composed: true }))}
98
- ></aurora-card-filter>
99
-
100
- <aurora-card-resource-table
101
- .rows=${this.tableStats}
102
- .attentionThreshold=${this.attentionThreshold}
103
- .cardType=${this.cardType}
104
- .isPlainRole=${this.isPlainRole}
105
- .showActionBanner=${this.showActionBanner}
106
- .showWarningBanner=${this.showWarningBanner}
107
- .manageLabel=${this.manageLabel}
108
- .askOwnerLabel=${this.askOwnerLabel}
109
- .invalidCredsLabel=${this.invalidCredsLabel}
110
- .limitReachedLabel=${this.limitReachedLabel}
111
- .andLabel=${this.andLabel}
112
- .actionBannerLabel=${this.actionBannerLabel}
113
- @manage-click=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent('manage-click', { bubbles: true, composed: true }))}
114
- @action-click=${() => !this.isDeleting && this.dispatchEvent(new CustomEvent('action-click', { bubbles: true, composed: true }))}
115
- ></aurora-card-resource-table>
116
- </div>
117
-
118
- <slot name="extra-features"></slot>
119
- </div>
120
- </div>
121
-
122
- <aurora-card-status-bar
123
- class="status-bar"
124
- .isFreeIaaS=${this.isFreeIaaS}
125
- .isPlainRole=${this.isPlainRole}
126
- .moreActionsOpen=${this.moreActionsOpen}
127
- .moreActionsOptions=${this.moreActionsOptions}
128
- .closeLabel=${this.closeLabel}
129
- .moreActionsLabel=${this.moreActionsLabel}
130
- @more-actions-toggled=${(e) => this.dispatchEvent(new CustomEvent('more-actions-toggled', { detail: e.detail, bubbles: true, composed: true }))}
131
- >
132
- <slot name="status-footer"></slot>
133
- </aurora-card-status-bar>
134
-
135
- <slot name="dialogs"></slot>
136
- </div>
137
- `;
138
- }
139
- };
140
- AuroraBaseCard.styles = css `
141
- :host { display: block; width: 450px; max-width: 100%; }
142
-
143
- .card {
144
- width: 100%;
145
- background-color: var(--axebow-white);
146
- border-radius: 0.5rem;
147
- padding: 0.5rem 0.5rem 1rem;
148
- display: flex;
149
- flex-direction: column;
150
- justify-content: space-between;
151
- gap: 0.5rem;
152
- height: 100%;
153
- transition: box-shadow 200ms ease-in-out;
154
- }
155
- .card:hover { box-shadow: 0 4px 12px 0 rgba(13,24,33,0.08); }
156
-
157
- .body { display: flex; flex-direction: column; gap: 0.5rem; }
158
-
159
- .inner { width: 100%; padding-inline: 0.5rem; display: flex; flex-direction: column; gap: 0.5rem; }
160
-
161
- .table-wrap {
162
- width: 100%;
163
- height: 100%;
164
- border: 1px solid var(--axebow-light-gray);
165
- border-radius: 0.375rem;
166
- }
167
-
168
- .status-bar { margin-bottom: 0.25rem; padding-left: 0.5rem; }
169
-
170
- sl-badge::part(base) { background-color: var(--axebow-secondary); color: white; }
171
-
172
- sl-dialog::part(panel) { width: 35vw; }
173
- sl-dialog::part(body) { padding-top: 0; }
174
- sl-alert::part(base) { border-top: 2px solid var(--axebow-error); }
175
-
176
- sl-range, sl-range:hover {
177
- --sl-color-primary-600: var(--axebow-tertiary);
178
- --sl-color-primary-500: var(--axebow-tertiary);
179
- }
180
- `;
181
- __decorate([
182
- property({ type: String })
183
- ], AuroraBaseCard.prototype, "cardType", void 0);
184
- __decorate([
185
- property({ type: String })
186
- ], AuroraBaseCard.prototype, "name", void 0);
187
- __decorate([
188
- property({ type: String })
189
- ], AuroraBaseCard.prototype, "logoSrc", void 0);
190
- __decorate([
191
- property({ type: String })
192
- ], AuroraBaseCard.prototype, "tenantOrAccount", void 0);
193
- __decorate([
194
- property({ type: String })
195
- ], AuroraBaseCard.prototype, "badge", void 0);
196
- __decorate([
197
- property({ type: String })
198
- ], AuroraBaseCard.prototype, "subtitle", void 0);
199
- __decorate([
200
- property({ type: Array })
201
- ], AuroraBaseCard.prototype, "mainStats", void 0);
202
- __decorate([
203
- property({ type: Boolean })
204
- ], AuroraBaseCard.prototype, "compact", void 0);
205
- __decorate([
206
- property({ type: Array })
207
- ], AuroraBaseCard.prototype, "tableStats", void 0);
208
- __decorate([
209
- property({ type: Number })
210
- ], AuroraBaseCard.prototype, "attentionThreshold", void 0);
211
- __decorate([
212
- property({ type: Array })
213
- ], AuroraBaseCard.prototype, "filterItems", void 0);
214
- __decorate([
215
- property({ type: String })
216
- ], AuroraBaseCard.prototype, "selected", void 0);
217
- __decorate([
218
- property({ type: Boolean })
219
- ], AuroraBaseCard.prototype, "filterOpened", void 0);
220
- __decorate([
221
- property({ type: String })
222
- ], AuroraBaseCard.prototype, "emptyLabel", void 0);
223
- __decorate([
224
- property({ type: String })
225
- ], AuroraBaseCard.prototype, "emptyActionLabel", void 0);
226
- __decorate([
227
- property({ type: String })
228
- ], AuroraBaseCard.prototype, "attentionLabel", void 0);
229
- __decorate([
230
- property({ type: Boolean })
231
- ], AuroraBaseCard.prototype, "showAttention", void 0);
232
- __decorate([
233
- property({ type: Boolean })
234
- ], AuroraBaseCard.prototype, "isPlainRole", void 0);
235
- __decorate([
236
- property({ type: Boolean })
237
- ], AuroraBaseCard.prototype, "isDeleting", void 0);
238
- __decorate([
239
- property({ type: Boolean })
240
- ], AuroraBaseCard.prototype, "isDisabled", void 0);
241
- __decorate([
242
- property({ type: Boolean })
243
- ], AuroraBaseCard.prototype, "showActionBanner", void 0);
244
- __decorate([
245
- property({ type: Boolean })
246
- ], AuroraBaseCard.prototype, "showWarningBanner", void 0);
247
- __decorate([
248
- property({ type: String })
249
- ], AuroraBaseCard.prototype, "manageLabel", void 0);
250
- __decorate([
251
- property({ type: String })
252
- ], AuroraBaseCard.prototype, "askOwnerLabel", void 0);
253
- __decorate([
254
- property({ type: String })
255
- ], AuroraBaseCard.prototype, "invalidCredsLabel", void 0);
256
- __decorate([
257
- property({ type: String })
258
- ], AuroraBaseCard.prototype, "limitReachedLabel", void 0);
259
- __decorate([
260
- property({ type: String })
261
- ], AuroraBaseCard.prototype, "andLabel", void 0);
262
- __decorate([
263
- property({ type: String })
264
- ], AuroraBaseCard.prototype, "actionBannerLabel", void 0);
265
- __decorate([
266
- property({ type: Boolean })
267
- ], AuroraBaseCard.prototype, "moreActionsOpen", void 0);
268
- __decorate([
269
- property({ type: Array })
270
- ], AuroraBaseCard.prototype, "moreActionsOptions", void 0);
271
- __decorate([
272
- property({ type: Boolean })
273
- ], AuroraBaseCard.prototype, "isFreeIaaS", void 0);
274
- __decorate([
275
- property({ type: String })
276
- ], AuroraBaseCard.prototype, "closeLabel", void 0);
277
- __decorate([
278
- property({ type: String })
279
- ], AuroraBaseCard.prototype, "moreActionsLabel", void 0);
280
- __decorate([
281
- property({ type: String })
282
- ], AuroraBaseCard.prototype, "freeIaasLabel", void 0);
283
- __decorate([
284
- property({ type: String })
285
- ], AuroraBaseCard.prototype, "freeIaasTitle", void 0);
286
- __decorate([
287
- property({ type: String })
288
- ], AuroraBaseCard.prototype, "freeIaasDesc", void 0);
289
- __decorate([
290
- property({ type: String })
291
- ], AuroraBaseCard.prototype, "haLabel", void 0);
292
- __decorate([
293
- property({ type: String })
294
- ], AuroraBaseCard.prototype, "haTitle", void 0);
295
- AuroraBaseCard = __decorate([
296
- customElement('aurora-base-card')
297
- ], AuroraBaseCard);
298
- export { AuroraBaseCard };
299
- //# sourceMappingURL=aurora-base-card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aurora-base-card.js","sourceRoot":"","sources":["../../../src/components/cards/aurora-base-card.ts"],"names":[],"mappings":"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"}