@kumori/aurora-wui-components 0.0.296 → 0.0.297-dev4393.17

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 (83) hide show
  1. package/dist/components/axebow-border-container/axebow-border-container.d.ts +11 -0
  2. package/dist/components/axebow-border-container/axebow-border-container.d.ts.map +1 -0
  3. package/dist/components/axebow-boxed-input/axebow-boxed-input.d.ts +31 -0
  4. package/dist/components/axebow-boxed-input/axebow-boxed-input.d.ts.map +1 -0
  5. package/dist/components/axebow-call-to-action-feature/axebow-call-to-action-feature.d.ts +9 -1
  6. package/dist/components/axebow-call-to-action-feature/axebow-call-to-action-feature.d.ts.map +1 -1
  7. package/dist/components/axebow-call-to-action-row/axebow-call-to-action-row.d.ts +1 -0
  8. package/dist/components/axebow-call-to-action-row/axebow-call-to-action-row.d.ts.map +1 -1
  9. package/dist/components/axebow-call-to-action-row/call-to-action-notification.d.ts +44 -0
  10. package/dist/components/axebow-call-to-action-row/call-to-action-notification.d.ts.map +1 -0
  11. package/dist/components/axebow-carousel/axebow-carousel.d.ts +25 -0
  12. package/dist/components/axebow-carousel/axebow-carousel.d.ts.map +1 -0
  13. package/dist/components/axebow-copy-icon/axebow-copy-icon.d.ts +20 -0
  14. package/dist/components/axebow-copy-icon/axebow-copy-icon.d.ts.map +1 -0
  15. package/dist/components/axebow-cta-dialog/axebow-cta-dialog.d.ts +2 -1
  16. package/dist/components/axebow-cta-dialog/axebow-cta-dialog.d.ts.map +1 -1
  17. package/dist/components/axebow-delete-data-popup/axebow-delete-data-popup.d.ts +35 -0
  18. package/dist/components/axebow-delete-data-popup/axebow-delete-data-popup.d.ts.map +1 -0
  19. package/dist/components/axebow-empty-state/axebow-empty-state.d.ts.map +1 -1
  20. package/dist/components/axebow-expandable-header/axebow-expandable-header.d.ts.map +1 -1
  21. package/dist/components/axebow-header/axebow-header.d.ts +0 -3
  22. package/dist/components/axebow-header/axebow-header.d.ts.map +1 -1
  23. package/dist/components/axebow-header/parts/axebow-header-actions.d.ts +0 -4
  24. package/dist/components/axebow-header/parts/axebow-header-actions.d.ts.map +1 -1
  25. package/dist/components/axebow-hyperlink-switch/axebow-hyperlink-switch.d.ts +20 -0
  26. package/dist/components/axebow-hyperlink-switch/axebow-hyperlink-switch.d.ts.map +1 -0
  27. package/dist/components/axebow-instances-table/axebow-instances-table.d.ts.map +1 -1
  28. package/dist/components/axebow-learning-center/axebow-learning-center.d.ts +17 -0
  29. package/dist/components/axebow-learning-center/axebow-learning-center.d.ts.map +1 -0
  30. package/dist/components/axebow-manage-hyperlinks/axebow-manage-hyperlinks.d.ts +5 -0
  31. package/dist/components/axebow-manage-hyperlinks/axebow-manage-hyperlinks.d.ts.map +1 -1
  32. package/dist/components/axebow-mobile-warning-banner/axebow-mobile-warning-banner.d.ts +11 -0
  33. package/dist/components/axebow-mobile-warning-banner/axebow-mobile-warning-banner.d.ts.map +1 -0
  34. package/dist/components/axebow-modal/axebow-modal.d.ts +3 -0
  35. package/dist/components/axebow-modal/axebow-modal.d.ts.map +1 -1
  36. package/dist/components/axebow-observability-container/axebow-observability-container.d.ts.map +1 -1
  37. package/dist/components/axebow-page-actions/axebow-page-actions.d.ts +20 -0
  38. package/dist/components/axebow-page-actions/axebow-page-actions.d.ts.map +1 -0
  39. package/dist/components/axebow-paginated-table/axebow-paginated-table.d.ts +22 -0
  40. package/dist/components/axebow-paginated-table/axebow-paginated-table.d.ts.map +1 -0
  41. package/dist/components/axebow-pem-dialog/axebow-pem-dialog.d.ts +29 -0
  42. package/dist/components/axebow-pem-dialog/axebow-pem-dialog.d.ts.map +1 -0
  43. package/dist/components/axebow-pill/axebow-pill.d.ts.map +1 -1
  44. package/dist/components/axebow-plan-providers-modal/axebow-plan-providers-modal.d.ts +16 -0
  45. package/dist/components/axebow-plan-providers-modal/axebow-plan-providers-modal.d.ts.map +1 -0
  46. package/dist/components/axebow-premium-plan-popup/axebow-premium-plan-popup.d.ts +30 -0
  47. package/dist/components/axebow-premium-plan-popup/axebow-premium-plan-popup.d.ts.map +1 -0
  48. package/dist/components/axebow-refresh-period-panel/axebow-refresh-period-panel.d.ts.map +1 -1
  49. package/dist/components/axebow-tenant-card/axebow-tenant-card.d.ts +5 -0
  50. package/dist/components/axebow-tenant-card/axebow-tenant-card.d.ts.map +1 -1
  51. package/dist/components/axebow-tenant-resource-table/axebow-tenant-resource-table.d.ts +4 -0
  52. package/dist/components/axebow-tenant-resource-table/axebow-tenant-resource-table.d.ts.map +1 -1
  53. package/dist/components/axebow-ul/axebow-ul.d.ts +8 -0
  54. package/dist/components/axebow-ul/axebow-ul.d.ts.map +1 -0
  55. package/dist/components/axebow-white-container/axebow-white-container.d.ts +9 -0
  56. package/dist/components/axebow-white-container/axebow-white-container.d.ts.map +1 -0
  57. package/dist/components/cards/axebow-base-card.d.ts +6 -0
  58. package/dist/components/cards/axebow-base-card.d.ts.map +1 -1
  59. package/dist/components/cards/card.models.d.ts +3 -0
  60. package/dist/components/cards/card.models.d.ts.map +1 -1
  61. package/dist/components/cards/parts/axebow-card-footer.d.ts +3 -0
  62. package/dist/components/cards/parts/axebow-card-footer.d.ts.map +1 -1
  63. package/dist/components/cards/parts/axebow-card-header.d.ts.map +1 -1
  64. package/dist/components/cards/parts/axebow-card-stat-item.d.ts +5 -0
  65. package/dist/components/cards/parts/axebow-card-stat-item.d.ts.map +1 -1
  66. package/dist/components/cards/parts/axebow-card-stats-row.d.ts +1 -1
  67. package/dist/components/cards/parts/axebow-card-stats-row.d.ts.map +1 -1
  68. package/dist/components/cards/parts/axebow-card-status.d.ts +5 -0
  69. package/dist/components/cards/parts/axebow-card-status.d.ts.map +1 -1
  70. package/dist/components/cards/parts/axebow-card-version-selector.d.ts.map +1 -1
  71. package/dist/components/usage-chart/usage-chart.d.ts +15 -0
  72. package/dist/components/usage-chart/usage-chart.d.ts.map +1 -0
  73. package/dist/components/wizard-page-layout/wizard-page-layout.d.ts +22 -0
  74. package/dist/components/wizard-page-layout/wizard-page-layout.d.ts.map +1 -0
  75. package/dist/index.d.ts +18 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +2822 -358
  78. package/dist/index.js.map +1 -1
  79. package/dist/playground/schemas/axebow-call-to-action-feature.schema.d.ts.map +1 -1
  80. package/dist/playground/schemas/axebow-hyperlink-switch.schema.d.ts +3 -0
  81. package/dist/playground/schemas/axebow-hyperlink-switch.schema.d.ts.map +1 -0
  82. package/dist/playground/schemas/axebow-manage-hyperlinks.schema.d.ts.map +1 -1
  83. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -218,7 +218,7 @@ var STATUS_COLORS = {
218
218
  };
219
219
  //#endregion
220
220
  //#region src/styles/tailwind.css?inline
221
- 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-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\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-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: 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-outline-style: solid;\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-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n\n@layer theme {\n :root, :host {\n --font-sans: \"Open Sans\", sans-serif;\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% .013 17.38);\n --color-red-100: oklch(93.6% .032 17.717);\n --color-red-300: oklch(80.8% .114 19.571);\n --color-red-800: oklch(44.4% .177 26.899);\n --color-yellow-600: oklch(68.1% .162 75.834);\n --color-yellow-800: oklch(47.6% .114 61.907);\n --color-green-50: oklch(98.2% .018 155.826);\n --color-green-200: oklch(92.5% .084 155.995);\n --color-green-600: oklch(62.7% .194 149.214);\n --color-green-800: oklch(44.8% .119 151.328);\n --color-sky-50: oklch(97.7% .013 236.62);\n --color-sky-100: oklch(95.1% .026 236.824);\n --color-blue-50: oklch(97% .014 254.604);\n --color-blue-100: oklch(93.2% .032 255.585);\n --color-blue-200: oklch(88.2% .059 254.128);\n --color-blue-500: oklch(62.3% .214 259.815);\n --color-blue-600: oklch(54.6% .245 262.881);\n --color-blue-800: oklch(42.4% .199 265.638);\n --color-gray-50: oklch(98.5% .002 247.839);\n --color-gray-100: oklch(96.7% .003 264.542);\n --color-gray-200: oklch(92.8% .006 264.531);\n --color-gray-300: oklch(87.2% .01 258.338);\n --color-gray-400: oklch(70.7% .022 261.325);\n --color-gray-500: oklch(55.1% .027 264.364);\n --color-gray-600: oklch(44.6% .03 256.802);\n --color-gray-700: oklch(37.3% .034 259.733);\n --color-black: #000;\n --color-white: #fff;\n --spacing: .25rem;\n --text-xs: .625rem;\n --text-xs--line-height: .875rem;\n --text-sm: .75rem;\n --text-sm--line-height: 1rem;\n --text-base: .875rem;\n --text-base--line-height: 1.25rem;\n --text-lg: 1.125rem;\n --text-lg--line-height: 1.75rem;\n --text-xl: 1.25rem;\n --text-xl--line-height: 1.75rem;\n --text-3xl: 1.875rem;\n --text-5xl: 3rem;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-black: 900;\n --tracking-wider: .05em;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-relaxed: 1.625;\n --radius-sm: .25rem;\n --radius-md: .375rem;\n --radius-lg: .5rem;\n --radius-xl: .75rem;\n --ease-out: cubic-bezier(0, 0, .2, 1);\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 --text-md: 1rem;\n --text-md--line-height: 1.5rem;\n --spacing-18: 4.5rem;\n --spacing-30: 7.5rem;\n --spacing-38: 9.5rem;\n --spacing-43: 10.75rem;\n --spacing-50: 12.5rem;\n --spacing-75: 18.75rem;\n --spacing-100: 25rem;\n --spacing-120: 30rem;\n --spacing-150: 37.5rem;\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-auto {\n pointer-events: auto;\n }\n\n .pointer-events-none {\n pointer-events: none;\n }\n\n .visible {\n visibility: visible;\n }\n\n .absolute {\n position: absolute;\n }\n\n .fixed {\n position: fixed;\n }\n\n .relative {\n position: relative;\n }\n\n .static {\n position: static;\n }\n\n .sticky {\n position: sticky;\n }\n\n .-top-2\\.25 {\n top: calc(var(--spacing) * -2.25);\n }\n\n .top-0 {\n top: 0;\n }\n\n .top-1 {\n top: var(--spacing);\n }\n\n .top-1\\/2 {\n top: 50%;\n }\n\n .top-3 {\n top: calc(var(--spacing) * 3);\n }\n\n .top-25 {\n top: calc(var(--spacing) * 25);\n }\n\n .top-\\[-7px\\] {\n top: -7px;\n }\n\n .top-\\[0\\.9375rem\\] {\n top: .9375rem;\n }\n\n .top-full {\n top: 100%;\n }\n\n .-right-2\\.25 {\n right: calc(var(--spacing) * -2.25);\n }\n\n .right-0 {\n right: 0;\n }\n\n .right-0\\.5 {\n right: calc(var(--spacing) * .5);\n }\n\n .right-1 {\n right: var(--spacing);\n }\n\n .right-1\\.5 {\n right: calc(var(--spacing) * 1.5);\n }\n\n .right-3 {\n right: calc(var(--spacing) * 3);\n }\n\n .bottom-0 {\n bottom: 0;\n }\n\n .bottom-0\\.5 {\n bottom: calc(var(--spacing) * .5);\n }\n\n .bottom-full {\n bottom: 100%;\n }\n\n .left-0 {\n left: 0;\n }\n\n .left-1\\/2 {\n left: 50%;\n }\n\n .left-\\[-7px\\] {\n left: -7px;\n }\n\n .left-\\[3\\.625rem\\] {\n left: 3.625rem;\n }\n\n .left-\\[calc\\(100\\%\\+10px\\)\\] {\n left: calc(100% + 10px);\n }\n\n .z-5 {\n z-index: 5;\n }\n\n .z-10 {\n z-index: 10;\n }\n\n .z-50 {\n z-index: 50;\n }\n\n .z-2000 {\n z-index: 2000;\n }\n\n .z-2001 {\n z-index: 2001;\n }\n\n .z-9999 {\n z-index: 9999;\n }\n\n .row-1 {\n grid-row: 1;\n }\n\n .row-2 {\n grid-row: 2;\n }\n\n .container {\n width: 100%;\n }\n\n @media (min-width: 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n\n @media (min-width: 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n\n @media (min-width: 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n\n @media (min-width: 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n\n @media (min-width: 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n\n .m-0 {\n margin: 0;\n }\n\n .mx-2 {\n margin-inline: calc(var(--spacing) * 2);\n }\n\n .mx-6 {\n margin-inline: calc(var(--spacing) * 6);\n }\n\n .mx-12 {\n margin-inline: calc(var(--spacing) * 12);\n }\n\n .mx-auto {\n margin-inline: auto;\n }\n\n .my-0\\.5 {\n margin-block: calc(var(--spacing) * .5);\n }\n\n .my-1\\.5 {\n margin-block: calc(var(--spacing) * 1.5);\n }\n\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n\n .my-4 {\n margin-block: calc(var(--spacing) * 4);\n }\n\n .ms-auto {\n margin-inline-start: auto;\n }\n\n .mt-0 {\n margin-top: 0;\n }\n\n .mt-1 {\n margin-top: var(--spacing);\n }\n\n .mt-1\\.5 {\n margin-top: calc(var(--spacing) * 1.5);\n }\n\n .mt-1\\.75 {\n margin-top: calc(var(--spacing) * 1.75);\n }\n\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n\n .mt-2\\.25 {\n margin-top: calc(var(--spacing) * 2.25);\n }\n\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n\n .mt-4\\.5 {\n margin-top: calc(var(--spacing) * 4.5);\n }\n\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n\n .mt-6\\.75 {\n margin-top: calc(var(--spacing) * 6.75);\n }\n\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n\n .mr-0\\.5 {\n margin-right: calc(var(--spacing) * .5);\n }\n\n .mr-1 {\n margin-right: var(--spacing);\n }\n\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n\n .mr-4 {\n margin-right: calc(var(--spacing) * 4);\n }\n\n .mr-8 {\n margin-right: calc(var(--spacing) * 8);\n }\n\n .mb-1 {\n margin-bottom: var(--spacing);\n }\n\n .mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n }\n\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n\n .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n\n .mb-6\\.5 {\n margin-bottom: calc(var(--spacing) * 6.5);\n }\n\n .mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n }\n\n .ml-0\\.5 {\n margin-left: calc(var(--spacing) * .5);\n }\n\n .ml-1 {\n margin-left: var(--spacing);\n }\n\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n\n .ml-12 {\n margin-left: calc(var(--spacing) * 12);\n }\n\n .ml-\\[0\\.5rem\\] {\n margin-left: .5rem;\n }\n\n .ml-\\[1\\.265625rem\\] {\n margin-left: 1.26563rem;\n }\n\n .ml-auto {\n margin-left: auto;\n }\n\n .box-border {\n box-sizing: border-box;\n }\n\n .box-content {\n box-sizing: content-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 .line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n }\n\n .line-clamp-11 {\n -webkit-line-clamp: 11;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n }\n\n .block {\n display: block;\n }\n\n .contents {\n display: contents;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .inline {\n display: inline;\n }\n\n .inline-block {\n display: inline-block;\n }\n\n .inline-flex {\n display: inline-flex;\n }\n\n .table {\n display: table;\n }\n\n .aspect-square {\n aspect-ratio: 1;\n }\n\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n\n .h-2\\.25 {\n height: calc(var(--spacing) * 2.25);\n }\n\n .h-2\\.75 {\n height: calc(var(--spacing) * 2.75);\n }\n\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n\n .h-4\\.5 {\n height: calc(var(--spacing) * 4.5);\n }\n\n .h-4\\.25 {\n height: calc(var(--spacing) * 4.25);\n }\n\n .h-4\\.75 {\n height: calc(var(--spacing) * 4.75);\n }\n\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n\n .h-5\\.5 {\n height: calc(var(--spacing) * 5.5);\n }\n\n .h-5\\.25 {\n height: calc(var(--spacing) * 5.25);\n }\n\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n\n .h-6\\.75 {\n height: calc(var(--spacing) * 6.75);\n }\n\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n\n .h-7\\.5 {\n height: calc(var(--spacing) * 7.5);\n }\n\n .h-7\\.25 {\n height: calc(var(--spacing) * 7.25);\n }\n\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n\n .h-8\\.75 {\n height: calc(var(--spacing) * 8.75);\n }\n\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n\n .h-9\\.5 {\n height: calc(var(--spacing) * 9.5);\n }\n\n .h-9\\.75 {\n height: calc(var(--spacing) * 9.75);\n }\n\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n\n .h-10\\.5 {\n height: calc(var(--spacing) * 10.5);\n }\n\n .h-10\\.25 {\n height: calc(var(--spacing) * 10.25);\n }\n\n .h-11 {\n height: calc(var(--spacing) * 11);\n }\n\n .h-11\\.5 {\n height: calc(var(--spacing) * 11.5);\n }\n\n .h-11\\.25 {\n height: calc(var(--spacing) * 11.25);\n }\n\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n\n .h-12\\.5 {\n height: calc(var(--spacing) * 12.5);\n }\n\n .h-12\\.25 {\n height: calc(var(--spacing) * 12.25);\n }\n\n .h-12\\.75 {\n height: calc(var(--spacing) * 12.75);\n }\n\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n\n .h-14\\.25 {\n height: calc(var(--spacing) * 14.25);\n }\n\n .h-15\\.5 {\n height: calc(var(--spacing) * 15.5);\n }\n\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n\n .h-17\\.75 {\n height: calc(var(--spacing) * 17.75);\n }\n\n .h-19\\.75 {\n height: calc(var(--spacing) * 19.75);\n }\n\n .h-20 {\n height: calc(var(--spacing) * 20);\n }\n\n .h-20\\.75 {\n height: calc(var(--spacing) * 20.75);\n }\n\n .h-21\\.25 {\n height: calc(var(--spacing) * 21.25);\n }\n\n .h-22\\.75 {\n height: calc(var(--spacing) * 22.75);\n }\n\n .h-32\\.25 {\n height: calc(var(--spacing) * 32.25);\n }\n\n .h-40\\.75 {\n height: calc(var(--spacing) * 40.75);\n }\n\n .h-45\\.5 {\n height: calc(var(--spacing) * 45.5);\n }\n\n .h-49\\.5 {\n height: calc(var(--spacing) * 49.5);\n }\n\n .h-52\\.75 {\n height: calc(var(--spacing) * 52.75);\n }\n\n .h-57\\.5 {\n height: calc(var(--spacing) * 57.5);\n }\n\n .h-77\\.25 {\n height: calc(var(--spacing) * 77.25);\n }\n\n .h-79 {\n height: calc(var(--spacing) * 79);\n }\n\n .h-83\\.25 {\n height: calc(var(--spacing) * 83.25);\n }\n\n .h-89\\.25 {\n height: calc(var(--spacing) * 89.25);\n }\n\n .h-102\\.25 {\n height: calc(var(--spacing) * 102.25);\n }\n\n .h-106\\.5 {\n height: calc(var(--spacing) * 106.5);\n }\n\n .h-112 {\n height: calc(var(--spacing) * 112);\n }\n\n .h-113\\.25 {\n height: calc(var(--spacing) * 113.25);\n }\n\n .h-\\[8\\.26375rem\\] {\n height: 8.26375rem;\n }\n\n .h-auto {\n height: auto;\n }\n\n .h-fit {\n height: fit-content;\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-px {\n height: 1px;\n }\n\n .h-screen {\n height: 100vh;\n }\n\n .max-h-40 {\n max-height: calc(var(--spacing) * 40);\n }\n\n .max-h-48 {\n max-height: calc(var(--spacing) * 48);\n }\n\n .max-h-75 {\n max-height: var(--spacing-75);\n }\n\n .max-h-111 {\n max-height: calc(var(--spacing) * 111);\n }\n\n .max-h-\\[40vh\\] {\n max-height: 40vh;\n }\n\n .max-h-full {\n max-height: 100%;\n }\n\n .min-h-0 {\n min-height: 0;\n }\n\n .min-h-5 {\n min-height: calc(var(--spacing) * 5);\n }\n\n .min-h-9 {\n min-height: calc(var(--spacing) * 9);\n }\n\n .min-h-12 {\n min-height: calc(var(--spacing) * 12);\n }\n\n .min-h-14 {\n min-height: calc(var(--spacing) * 14);\n }\n\n .min-h-19 {\n min-height: calc(var(--spacing) * 19);\n }\n\n .min-h-35 {\n min-height: calc(var(--spacing) * 35);\n }\n\n .w-1\\.75 {\n width: calc(var(--spacing) * 1.75);\n }\n\n .w-1\\/3 {\n width: 33.3333%;\n }\n\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n\n .w-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n }\n\n .w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n }\n\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n\n .w-4\\.5 {\n width: calc(var(--spacing) * 4.5);\n }\n\n .w-4\\.25 {\n width: calc(var(--spacing) * 4.25);\n }\n\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n\n .w-7 {\n width: calc(var(--spacing) * 7);\n }\n\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n\n .w-9\\.5 {\n width: calc(var(--spacing) * 9.5);\n }\n\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n\n .w-10\\.5 {\n width: calc(var(--spacing) * 10.5);\n }\n\n .w-11\\.5 {\n width: calc(var(--spacing) * 11.5);\n }\n\n .w-11\\.25 {\n width: calc(var(--spacing) * 11.25);\n }\n\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n\n .w-12\\.5 {\n width: calc(var(--spacing) * 12.5);\n }\n\n .w-12\\.75 {\n width: calc(var(--spacing) * 12.75);\n }\n\n .w-15\\.5 {\n width: calc(var(--spacing) * 15.5);\n }\n\n .w-15\\.25 {\n width: calc(var(--spacing) * 15.25);\n }\n\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n\n .w-17 {\n width: calc(var(--spacing) * 17);\n }\n\n .w-18 {\n width: var(--spacing-18);\n }\n\n .w-18\\.5 {\n width: calc(var(--spacing) * 18.5);\n }\n\n .w-18\\.75 {\n width: calc(var(--spacing) * 18.75);\n }\n\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n\n .w-20\\.5 {\n width: calc(var(--spacing) * 20.5);\n }\n\n .w-21\\.5 {\n width: calc(var(--spacing) * 21.5);\n }\n\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n\n .w-24\\.75 {\n width: calc(var(--spacing) * 24.75);\n }\n\n .w-25 {\n width: calc(var(--spacing) * 25);\n }\n\n .w-25\\.5 {\n width: calc(var(--spacing) * 25.5);\n }\n\n .w-25\\.25 {\n width: calc(var(--spacing) * 25.25);\n }\n\n .w-26\\.25 {\n width: calc(var(--spacing) * 26.25);\n }\n\n .w-27 {\n width: calc(var(--spacing) * 27);\n }\n\n .w-27\\.5 {\n width: calc(var(--spacing) * 27.5);\n }\n\n .w-28\\.25 {\n width: calc(var(--spacing) * 28.25);\n }\n\n .w-30 {\n width: var(--spacing-30);\n }\n\n .w-30\\.75 {\n width: calc(var(--spacing) * 30.75);\n }\n\n .w-33\\.25 {\n width: calc(var(--spacing) * 33.25);\n }\n\n .w-34\\.25 {\n width: calc(var(--spacing) * 34.25);\n }\n\n .w-35 {\n width: calc(var(--spacing) * 35);\n }\n\n .w-36 {\n width: calc(var(--spacing) * 36);\n }\n\n .w-37 {\n width: calc(var(--spacing) * 37);\n }\n\n .w-38\\.5 {\n width: calc(var(--spacing) * 38.5);\n }\n\n .w-39\\.5 {\n width: calc(var(--spacing) * 39.5);\n }\n\n .w-41 {\n width: calc(var(--spacing) * 41);\n }\n\n .w-41\\.75 {\n width: calc(var(--spacing) * 41.75);\n }\n\n .w-42 {\n width: calc(var(--spacing) * 42);\n }\n\n .w-45 {\n width: calc(var(--spacing) * 45);\n }\n\n .w-47\\.75 {\n width: calc(var(--spacing) * 47.75);\n }\n\n .w-48 {\n width: calc(var(--spacing) * 48);\n }\n\n .w-48\\.5 {\n width: calc(var(--spacing) * 48.5);\n }\n\n .w-53 {\n width: calc(var(--spacing) * 53);\n }\n\n .w-53\\.25 {\n width: calc(var(--spacing) * 53.25);\n }\n\n .w-53\\.75 {\n width: calc(var(--spacing) * 53.75);\n }\n\n .w-56\\.5 {\n width: calc(var(--spacing) * 56.5);\n }\n\n .w-57\\.5 {\n width: calc(var(--spacing) * 57.5);\n }\n\n .w-60\\.5 {\n width: calc(var(--spacing) * 60.5);\n }\n\n .w-62\\.5 {\n width: calc(var(--spacing) * 62.5);\n }\n\n .w-63\\.5 {\n width: calc(var(--spacing) * 63.5);\n }\n\n .w-66 {\n width: calc(var(--spacing) * 66);\n }\n\n .w-68 {\n width: calc(var(--spacing) * 68);\n }\n\n .w-70 {\n width: calc(var(--spacing) * 70);\n }\n\n .w-70\\.5 {\n width: calc(var(--spacing) * 70.5);\n }\n\n .w-71 {\n width: calc(var(--spacing) * 71);\n }\n\n .w-74\\.75 {\n width: calc(var(--spacing) * 74.75);\n }\n\n .w-87 {\n width: calc(var(--spacing) * 87);\n }\n\n .w-88\\.5 {\n width: calc(var(--spacing) * 88.5);\n }\n\n .w-91 {\n width: calc(var(--spacing) * 91);\n }\n\n .w-92 {\n width: calc(var(--spacing) * 92);\n }\n\n .w-95 {\n width: calc(var(--spacing) * 95);\n }\n\n .w-99\\.75 {\n width: calc(var(--spacing) * 99.75);\n }\n\n .w-100 {\n width: var(--spacing-100);\n }\n\n .w-100\\.5 {\n width: calc(var(--spacing) * 100.5);\n }\n\n .w-102 {\n width: calc(var(--spacing) * 102);\n }\n\n .w-120 {\n width: var(--spacing-120);\n }\n\n .w-120\\.75 {\n width: calc(var(--spacing) * 120.75);\n }\n\n .w-121 {\n width: calc(var(--spacing) * 121);\n }\n\n .w-127\\.75 {\n width: calc(var(--spacing) * 127.75);\n }\n\n .w-130\\.25 {\n width: calc(var(--spacing) * 130.25);\n }\n\n .w-131 {\n width: calc(var(--spacing) * 131);\n }\n\n .w-139 {\n width: calc(var(--spacing) * 139);\n }\n\n .w-140\\.75 {\n width: calc(var(--spacing) * 140.75);\n }\n\n .w-144\\.75 {\n width: calc(var(--spacing) * 144.75);\n }\n\n .w-148\\.75 {\n width: calc(var(--spacing) * 148.75);\n }\n\n .w-186\\.5 {\n width: calc(var(--spacing) * 186.5);\n }\n\n .w-186\\.25 {\n width: calc(var(--spacing) * 186.25);\n }\n\n .w-194\\.25 {\n width: calc(var(--spacing) * 194.25);\n }\n\n .w-198\\.25 {\n width: calc(var(--spacing) * 198.25);\n }\n\n .w-270 {\n width: calc(var(--spacing) * 270);\n }\n\n .w-282 {\n width: calc(var(--spacing) * 282);\n }\n\n .w-286 {\n width: calc(var(--spacing) * 286);\n }\n\n .w-293\\.5 {\n width: calc(var(--spacing) * 293.5);\n }\n\n .w-\\[22\\.833125rem\\] {\n width: 22.8331rem;\n }\n\n .w-\\[calc\\(100\\%-10px\\)\\] {\n width: calc(100% - 10px);\n }\n\n .w-auto {\n width: auto;\n }\n\n .w-fit {\n width: fit-content;\n }\n\n .w-full {\n width: 100%;\n }\n\n .w-px {\n width: 1px;\n }\n\n .max-w-36 {\n max-width: calc(var(--spacing) * 36);\n }\n\n .max-w-38 {\n max-width: var(--spacing-38);\n }\n\n .max-w-43 {\n max-width: var(--spacing-43);\n }\n\n .max-w-44 {\n max-width: calc(var(--spacing) * 44);\n }\n\n .max-w-51\\.5 {\n max-width: calc(var(--spacing) * 51.5);\n }\n\n .max-w-65 {\n max-width: calc(var(--spacing) * 65);\n }\n\n .max-w-95 {\n max-width: calc(var(--spacing) * 95);\n }\n\n .max-w-194\\.25 {\n max-width: calc(var(--spacing) * 194.25);\n }\n\n .max-w-\\[33\\.125rem\\] {\n max-width: 33.125rem;\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-4 {\n min-width: calc(var(--spacing) * 4);\n }\n\n .min-w-10 {\n min-width: calc(var(--spacing) * 10);\n }\n\n .min-w-20 {\n min-width: calc(var(--spacing) * 20);\n }\n\n .min-w-30 {\n min-width: var(--spacing-30);\n }\n\n .min-w-32 {\n min-width: calc(var(--spacing) * 32);\n }\n\n .min-w-36 {\n min-width: calc(var(--spacing) * 36);\n }\n\n .min-w-44 {\n min-width: calc(var(--spacing) * 44);\n }\n\n .min-w-50 {\n min-width: var(--spacing-50);\n }\n\n .min-w-53\\.25 {\n min-width: calc(var(--spacing) * 53.25);\n }\n\n .min-w-55 {\n min-width: calc(var(--spacing) * 55);\n }\n\n .min-w-160 {\n min-width: calc(var(--spacing) * 160);\n }\n\n .min-w-\\[8\\.2rem\\] {\n min-width: 8.2rem;\n }\n\n .min-w-fit {\n min-width: fit-content;\n }\n\n .min-w-full {\n min-width: 100%;\n }\n\n .flex-1 {\n flex: 1;\n }\n\n .flex-shrink {\n flex-shrink: 1;\n }\n\n .shrink-0 {\n flex-shrink: 0;\n }\n\n .border-collapse {\n border-collapse: collapse;\n }\n\n .-translate-x-1 {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .scale-\\[1\\.02\\] {\n scale: 1.02;\n }\n\n .rotate-180 {\n rotate: 180deg;\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-grab {\n cursor: grab;\n }\n\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .cursor-text {\n cursor: text;\n }\n\n .touch-none {\n touch-action: none;\n }\n\n .resize {\n resize: both;\n }\n\n .appearance-none {\n appearance: none;\n }\n\n .grid-cols-\\[7\\.5rem_7\\.5rem_7\\.5rem\\] {\n grid-template-columns: 7.5rem 7.5rem 7.5rem;\n }\n\n .grid-cols-\\[minmax\\(4\\.875rem\\,auto\\)_auto_1fr_auto\\] {\n grid-template-columns: minmax(4.875rem, 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-baseline {\n align-items: baseline;\n }\n\n .items-center {\n align-items: center;\n }\n\n .items-end {\n align-items: flex-end;\n }\n\n .items-start {\n align-items: flex-start;\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 {\n gap: 0;\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-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n\n .gap-1\\.25 {\n gap: calc(var(--spacing) * 1.25);\n }\n\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n\n .gap-2\\.25 {\n gap: calc(var(--spacing) * 2.25);\n }\n\n .gap-2\\.75 {\n gap: calc(var(--spacing) * 2.75);\n }\n\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .gap-8\\.75 {\n gap: calc(var(--spacing) * 8.75);\n }\n\n .gap-12 {\n gap: calc(var(--spacing) * 12);\n }\n\n .gap-19 {\n gap: calc(var(--spacing) * 19);\n }\n\n .gap-\\[0\\.625rem\\] {\n gap: .625rem;\n }\n\n .gap-\\[0\\.53125rem\\] {\n gap: .53125rem;\n }\n\n .gap-\\[2\\%\\] {\n gap: 2%;\n }\n\n .gap-px {\n gap: 1px;\n }\n\n :where(.space-y-1 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));\n margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-2 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-3 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n .gap-x-2 {\n column-gap: calc(var(--spacing) * 2);\n }\n\n .gap-x-4 {\n column-gap: calc(var(--spacing) * 4);\n }\n\n .gap-x-6 {\n column-gap: calc(var(--spacing) * 6);\n }\n\n .gap-y-1 {\n row-gap: var(--spacing);\n }\n\n .self-end {\n align-self: flex-end;\n }\n\n .self-start {\n align-self: flex-start;\n }\n\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .overflow-auto {\n overflow: auto;\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-visible {\n overflow: visible;\n }\n\n .overflow-x-auto {\n overflow-x: auto;\n }\n\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .overflow-y-auto {\n overflow-y: auto;\n }\n\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n\n .rounded {\n border-radius: .25rem;\n }\n\n .rounded-full {\n border-radius: 3.40282e38px;\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-none {\n border-radius: 0;\n }\n\n .rounded-none\\! {\n border-radius: 0 !important;\n }\n\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n\n .rounded-t-lg {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n }\n\n .rounded-t-xl {\n border-top-left-radius: var(--radius-xl);\n border-top-right-radius: var(--radius-xl);\n }\n\n .rounded-l-xl {\n border-top-left-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n\n .rounded-tl-xl {\n border-top-left-radius: var(--radius-xl);\n }\n\n .rounded-r-md {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .rounded-tr-xl {\n border-top-right-radius: var(--radius-xl);\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 .rounded-b-md {\n border-bottom-right-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .rounded-b-xl {\n border-bottom-right-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n\n .border-x {\n border-inline-style: var(--tw-border-style);\n border-inline-width: 1px;\n }\n\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n\n .border-t-0 {\n border-top-style: var(--tw-border-style);\n border-top-width: 0;\n }\n\n .border-t-4 {\n border-top-style: var(--tw-border-style);\n border-top-width: 4px;\n }\n\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n\n .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0;\n }\n\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .border-b-0 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0;\n }\n\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n\n .border-l-0 {\n border-left-style: var(--tw-border-style);\n border-left-width: 0;\n }\n\n .border-l-4 {\n border-left-style: var(--tw-border-style);\n border-left-width: 4px;\n }\n\n .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n\n .border-\\(--axebow-border-gray\\) {\n border-color: var(--axebow-border-gray);\n }\n\n .border-\\(--axebow-dark-yellow\\) {\n border-color: var(--axebow-dark-yellow);\n }\n\n .border-\\(--axebow-error-border\\) {\n border-color: var(--axebow-error-border);\n }\n\n .border-\\(--axebow-gray\\) {\n border-color: var(--axebow-gray);\n }\n\n .border-\\(--axebow-light-gray\\) {\n border-color: var(--axebow-light-gray);\n }\n\n .border-\\(--axebow-premium-text\\) {\n border-color: var(--axebow-premium-text);\n }\n\n .border-\\(--axebow-primary\\) {\n border-color: var(--axebow-primary);\n }\n\n .border-\\(--axebow-table-border\\) {\n border-color: var(--axebow-table-border);\n }\n\n .border-\\(--axebow-table-header-border\\) {\n border-color: var(--axebow-table-header-border);\n }\n\n .border-\\(--axebow-tertiary\\) {\n border-color: var(--axebow-tertiary);\n }\n\n .border-\\[\\#0ECD9A80\\] {\n border-color: #0ecd9a80;\n }\n\n .border-\\[\\#344966\\] {\n border-color: #344966;\n }\n\n .border-\\[\\#DBDDE4\\] {\n border-color: #dbdde4;\n }\n\n .border-\\[var\\(--axebow-error\\)\\] {\n border-color: var(--axebow-error);\n }\n\n .border-\\[var\\(--axebow-gray\\)\\] {\n border-color: var(--axebow-gray);\n }\n\n .border-\\[var\\(--axebow-tertiary\\)\\] {\n border-color: var(--axebow-tertiary);\n }\n\n .border-black {\n border-color: var(--color-black);\n }\n\n .border-black\\/10 {\n border-color: #0000001a;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-black\\/10 {\n border-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n\n .border-blue-200 {\n border-color: var(--color-blue-200);\n }\n\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n\n .border-gray-500 {\n border-color: var(--color-gray-500);\n }\n\n .border-green-200 {\n border-color: var(--color-green-200);\n }\n\n .border-transparent {\n border-color: #0000;\n }\n\n .border-white {\n border-color: var(--color-white);\n }\n\n .bg-\\(--axebow-anti-flash-white\\) {\n background-color: var(--axebow-anti-flash-white);\n }\n\n .bg-\\(--axebow-base\\) {\n background-color: var(--axebow-base);\n }\n\n .bg-\\(--axebow-error\\) {\n background-color: var(--axebow-error);\n }\n\n .bg-\\(--axebow-error-bg\\) {\n background-color: var(--axebow-error-bg);\n }\n\n .bg-\\(--axebow-gray\\) {\n background-color: var(--axebow-gray);\n }\n\n .bg-\\(--axebow-light-gray\\), .bg-\\(--axebow-light-gray\\)\\/80 {\n background-color: var(--axebow-light-gray);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-\\(--axebow-light-gray\\)\\/80 {\n background-color: color-mix(in oklab, var(--axebow-light-gray) 80%, transparent);\n }\n }\n\n .bg-\\(--axebow-primary\\) {\n background-color: var(--axebow-primary);\n }\n\n .bg-\\(--axebow-primary-light\\) {\n background-color: var(--axebow-primary-light);\n }\n\n .bg-\\(--axebow-success\\) {\n background-color: var(--axebow-success);\n }\n\n .bg-\\(--axebow-tertiary\\), .bg-\\(--axebow-tertiary\\)\\/15 {\n background-color: var(--axebow-tertiary);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-\\(--axebow-tertiary\\)\\/15 {\n background-color: color-mix(in oklab, var(--axebow-tertiary) 15%, transparent);\n }\n }\n\n .bg-\\(--axebow-warning\\) {\n background-color: var(--axebow-warning);\n }\n\n .bg-\\(--axebow-warning-bg\\) {\n background-color: var(--axebow-warning-bg);\n }\n\n .bg-\\(--axebow-white\\) {\n background-color: var(--axebow-white);\n }\n\n .bg-\\[\\#0ECD9A1A\\] {\n background-color: #0ecd9a1a;\n }\n\n .bg-\\[\\#006BFF\\] {\n background-color: #006bff;\n }\n\n .bg-\\[\\#78787A1A\\] {\n background-color: #78787a1a;\n }\n\n .bg-\\[\\#C7DCFA\\] {\n background-color: #c7dcfa;\n }\n\n .bg-\\[\\#F0F1F5\\] {\n background-color: #f0f1f5;\n }\n\n .bg-\\[\\#F3FDFA\\] {\n background-color: #f3fdfa;\n }\n\n .bg-blue-50 {\n background-color: var(--color-blue-50);\n }\n\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .bg-gray-50\\/50 {\n background-color: #f9fafb80;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-50\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent);\n }\n }\n\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n\n .bg-green-50 {\n background-color: var(--color-green-50);\n }\n\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n\n .bg-sky-50 {\n background-color: var(--color-sky-50);\n }\n\n .bg-sky-100 {\n background-color: var(--color-sky-100);\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 .object-cover {\n object-fit: cover;\n }\n\n .p-0 {\n padding: 0;\n }\n\n .p-1 {\n padding: var(--spacing);\n }\n\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n\n .p-3\\.25 {\n padding: calc(var(--spacing) * 3.25);\n }\n\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .px-0\\.5 {\n padding-inline: calc(var(--spacing) * .5);\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-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\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-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .py-1\\.25 {\n padding-block: calc(var(--spacing) * 1.25);\n }\n\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n\n .py-2\\.75 {\n padding-block: calc(var(--spacing) * 2.75);\n }\n\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n\n .py-3\\.25 {\n padding-block: calc(var(--spacing) * 3.25);\n }\n\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n\n .py-4\\.75 {\n padding-block: calc(var(--spacing) * 4.75);\n }\n\n .py-8 {\n padding-block: calc(var(--spacing) * 8);\n }\n\n .py-px {\n padding-block: 1px;\n }\n\n .ps-4 {\n padding-inline-start: calc(var(--spacing) * 4);\n }\n\n .ps-8 {\n padding-inline-start: calc(var(--spacing) * 8);\n }\n\n .pe-4 {\n padding-inline-end: calc(var(--spacing) * 4);\n }\n\n .pt-0\\.5 {\n padding-top: calc(var(--spacing) * .5);\n }\n\n .pt-1 {\n padding-top: var(--spacing);\n }\n\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n\n .pt-3 {\n padding-top: calc(var(--spacing) * 3);\n }\n\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n\n .pt-6 {\n padding-top: calc(var(--spacing) * 6);\n }\n\n .pt-8 {\n padding-top: calc(var(--spacing) * 8);\n }\n\n .pt-px {\n padding-top: 1px;\n }\n\n .pr-1 {\n padding-right: var(--spacing);\n }\n\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n\n .pr-3\\.25 {\n padding-right: calc(var(--spacing) * 3.25);\n }\n\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n\n .pr-4\\.5 {\n padding-right: calc(var(--spacing) * 4.5);\n }\n\n .pr-5 {\n padding-right: calc(var(--spacing) * 5);\n }\n\n .pr-14 {\n padding-right: calc(var(--spacing) * 14);\n }\n\n .pb-0 {\n padding-bottom: 0;\n }\n\n .pb-1 {\n padding-bottom: var(--spacing);\n }\n\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n\n .pb-3\\.5 {\n padding-bottom: calc(var(--spacing) * 3.5);\n }\n\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n\n .pb-6 {\n padding-bottom: calc(var(--spacing) * 6);\n }\n\n .pl-1 {\n padding-left: var(--spacing);\n }\n\n .pl-1\\.5 {\n padding-left: calc(var(--spacing) * 1.5);\n }\n\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n\n .pl-4\\.25 {\n padding-left: calc(var(--spacing) * 4.25);\n }\n\n .pl-5 {\n padding-left: calc(var(--spacing) * 5);\n }\n\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n\n .pl-8 {\n padding-left: calc(var(--spacing) * 8);\n }\n\n .pl-11\\.75 {\n padding-left: calc(var(--spacing) * 11.75);\n }\n\n .pl-px {\n padding-left: 1px;\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-left {\n text-align: left;\n }\n\n .text-right {\n text-align: right;\n }\n\n .text-start {\n text-align: start;\n }\n\n .align-middle {\n vertical-align: middle;\n }\n\n .font-\\[Material_Symbols_Outlined\\] {\n font-family: Material Symbols Outlined;\n }\n\n .font-\\[inherit\\] {\n font-family: inherit;\n }\n\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\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-md {\n font-size: var(--text-md);\n line-height: var(--tw-leading, var(--text-md--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 .text-\\[0\\.9375rem\\] {\n font-size: .9375rem;\n }\n\n .text-\\[1\\.25rem\\] {\n font-size: 1.25rem;\n }\n\n .text-\\[18px\\] {\n font-size: 18px;\n }\n\n .leading-3 {\n --tw-leading: calc(var(--spacing) * 3);\n line-height: calc(var(--spacing) * 3);\n }\n\n .leading-3\\.5 {\n --tw-leading: calc(var(--spacing) * 3.5);\n line-height: calc(var(--spacing) * 3.5);\n }\n\n .leading-4\\.25 {\n --tw-leading: calc(var(--spacing) * 4.25);\n line-height: calc(var(--spacing) * 4.25);\n }\n\n .leading-\\[1\\.1875rem\\] {\n --tw-leading: 1.1875rem;\n line-height: 1.1875rem;\n }\n\n .leading-\\[1\\.21875rem\\] {\n --tw-leading: 1.21875rem;\n line-height: 1.21875rem;\n }\n\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n\n .leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: var(--leading-relaxed);\n }\n\n .leading-snug {\n --tw-leading: var(--leading-snug);\n line-height: var(--leading-snug);\n }\n\n .leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n }\n\n .font-black {\n --tw-font-weight: var(--font-weight-black);\n font-weight: var(--font-weight-black);\n }\n\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n\n .font-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n }\n\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\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 .tracking-wider {\n --tw-tracking: var(--tracking-wider);\n letter-spacing: var(--tracking-wider);\n }\n\n .wrap-break-word {\n overflow-wrap: break-word;\n }\n\n .break-all {\n word-break: break-all;\n }\n\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n\n .whitespace-normal {\n white-space: normal;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .text-\\(--axebow-anti-flash-white\\) {\n color: var(--axebow-anti-flash-white);\n }\n\n .text-\\(--axebow-black\\) {\n color: var(--axebow-black);\n }\n\n .text-\\(--axebow-error\\) {\n color: var(--axebow-error);\n }\n\n .text-\\(--axebow-gray\\) {\n color: var(--axebow-gray);\n }\n\n .text-\\(--axebow-primary\\) {\n color: var(--axebow-primary);\n }\n\n .text-\\(--axebow-rich-black\\) {\n color: var(--axebow-rich-black);\n }\n\n .text-\\(--axebow-secondary\\) {\n color: var(--axebow-secondary);\n }\n\n .text-\\(--axebow-strong-gray\\) {\n color: var(--axebow-strong-gray);\n }\n\n .text-\\(--axebow-success\\) {\n color: var(--axebow-success);\n }\n\n .text-\\(--axebow-tertiary\\) {\n color: var(--axebow-tertiary);\n }\n\n .text-\\(--axebow-text-gray\\) {\n color: var(--axebow-text-gray);\n }\n\n .text-\\[\\#8A94AE\\] {\n color: #8a94ae;\n }\n\n .text-\\[\\#78787A\\] {\n color: #78787a;\n }\n\n .text-\\[\\#344966\\] {\n color: #344966;\n }\n\n .text-\\[\\#E93A3A\\] {\n color: #e93a3a;\n }\n\n .text-\\[var\\(--axebow-error\\)\\] {\n color: var(--axebow-error);\n }\n\n .text-black {\n color: var(--color-black);\n }\n\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n\n .text-blue-800 {\n color: var(--color-blue-800);\n }\n\n .text-gray-300 {\n color: var(--color-gray-300);\n }\n\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n\n .text-green-600 {\n color: var(--color-green-600);\n }\n\n .text-green-800 {\n color: var(--color-green-800);\n }\n\n .text-inherit {\n color: inherit;\n }\n\n .text-red-800 {\n color: var(--color-red-800);\n }\n\n .text-white {\n color: var(--color-white);\n }\n\n .text-yellow-600 {\n color: var(--color-yellow-600);\n }\n\n .text-yellow-800 {\n color: var(--color-yellow-800);\n }\n\n .capitalize {\n text-transform: capitalize;\n }\n\n .uppercase {\n text-transform: uppercase;\n }\n\n .italic {\n font-style: italic;\n }\n\n .not-italic {\n font-style: normal;\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n .decoration-\\(--axebow-error\\) {\n -webkit-text-decoration-color: var(--axebow-error);\n -webkit-text-decoration-color: var(--axebow-error);\n text-decoration-color: var(--axebow-error);\n }\n\n .placeholder-gray-400::placeholder {\n color: var(--color-gray-400);\n }\n\n .opacity-0 {\n opacity: 0;\n }\n\n .opacity-50 {\n opacity: .5;\n }\n\n .opacity-60 {\n opacity: .6;\n }\n\n .opacity-70 {\n opacity: .7;\n }\n\n .opacity-100 {\n opacity: 1;\n }\n\n .shadow-\\[0_-8px_8px_-8px_rgba\\(13\\,24\\,33\\,0\\.15\\)\\] {\n --tw-shadow: 0 -8px 8px -8px var(--tw-shadow-color, #0d182126);\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 .shadow-\\[0_2px_6px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\] {\n --tw-shadow: 0 2px 6px var(--tw-shadow-color, #0003);\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 .shadow-\\[0_4px_12px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\] {\n --tw-shadow: 0 4px 12px 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 .shadow-\\[0_6px_16px_rgba\\(13\\,24\\,33\\,0\\.18\\)\\] {\n --tw-shadow: 0 6px 16px var(--tw-shadow-color, #0d18212e);\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 .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 .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px 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 .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px 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 .shadow-none {\n --tw-shadow: 0 0 #0000;\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 .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px 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 .axebow-shadow-hover {\n transition: box-shadow .2s ease-in-out;\n }\n\n .axebow-shadow-hover:hover {\n box-shadow: 0 4px 12px #0d182114;\n }\n\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n\n .blur {\n --tw-blur: blur(8px);\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 .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 .filter {\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 .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );\n backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );\n }\n\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;\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-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-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\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-opacity {\n transition-property: opacity;\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 .transition-transform {\n transition-property: transform, translate, scale, rotate;\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 .delay-100 {\n transition-delay: .1s;\n }\n\n .duration-120 {\n --tw-duration: .12s;\n transition-duration: .12s;\n }\n\n .duration-150 {\n --tw-duration: .15s;\n transition-duration: .15s;\n }\n\n .duration-200 {\n --tw-duration: .2s;\n transition-duration: .2s;\n }\n\n .duration-300 {\n --tw-duration: .3s;\n transition-duration: .3s;\n }\n\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n\n .\\[font-variation-settings\\:\\'FILL\\'_0\\,\\'wght\\'_400\\,\\'GRAD\\'_0\\,\\'opsz\\'_24\\] {\n font-variation-settings: \"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24;\n }\n\n .\\[font-variation-settings\\:\\'FILL\\'_1\\,\\'wght\\'_400\\,\\'GRAD\\'_0\\,\\'opsz\\'_24\\] {\n font-variation-settings: \"FILL\" 1,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24;\n }\n\n .\\[font\\:inherit\\] {\n font: inherit;\n }\n\n @media (hover: hover) {\n .group-hover\\:pointer-events-auto:is(:where(.group):hover *) {\n pointer-events: auto;\n }\n\n .group-hover\\:translate-x-0:is(:where(.group):hover *) {\n --tw-translate-x: 0;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .group-hover\\:rotate-15:is(:where(.group):hover *) {\n rotate: 15deg;\n }\n\n .group-hover\\:font-semibold:is(:where(.group):hover *) {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .group-hover\\:text-\\(--axebow-gray\\):is(:where(.group):hover *) {\n color: var(--axebow-gray);\n }\n\n .group-hover\\:text-\\(--axebow-primary\\):is(:where(.group):hover *) {\n color: var(--axebow-primary);\n }\n\n .group-hover\\:opacity-100:is(:where(.group):hover *) {\n opacity: 1;\n }\n }\n\n .last\\:border-b-0:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0;\n }\n\n .focus-within\\:border-black:focus-within {\n border-color: var(--color-black);\n }\n\n .focus-within\\:border-blue-500:focus-within {\n border-color: var(--color-blue-500);\n }\n\n .focus-within\\:ring-2:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\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 .focus-within\\:ring-blue-100:focus-within {\n --tw-ring-color: var(--color-blue-100);\n }\n\n @media (hover: hover) {\n .hover\\:scale-105:hover {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n\n .hover\\:border-\\(--axebow-gray\\):hover {\n border-color: var(--axebow-gray);\n }\n\n .hover\\:border-\\(--axebow-tertiary\\):hover, .hover\\:border-\\[var\\(--axebow-tertiary\\)\\]:hover {\n border-color: var(--axebow-tertiary);\n }\n\n .hover\\:border-red-300:hover {\n border-color: var(--color-red-300);\n }\n\n .hover\\:bg-\\(--axebow-anti-flash-white\\):hover {\n background-color: var(--axebow-anti-flash-white);\n }\n\n .hover\\:bg-\\(--axebow-base\\):hover {\n background-color: var(--axebow-base);\n }\n\n .hover\\:bg-\\(--axebow-gray\\):hover {\n background-color: var(--axebow-gray);\n }\n\n .hover\\:bg-\\(--axebow-light-gray\\):hover {\n background-color: var(--axebow-light-gray);\n }\n\n .hover\\:bg-\\(--axebow-primary\\):hover {\n background-color: var(--axebow-primary);\n }\n\n .hover\\:bg-\\[var\\(--axebow-anti-flash-white\\)\\]:hover {\n background-color: var(--axebow-anti-flash-white);\n }\n\n .hover\\:bg-gray-50:hover {\n background-color: var(--color-gray-50);\n }\n\n .hover\\:bg-gray-100:hover {\n background-color: var(--color-gray-100);\n }\n\n .hover\\:bg-gray-200:hover {\n background-color: var(--color-gray-200);\n }\n\n .hover\\:bg-red-50:hover {\n background-color: var(--color-red-50);\n }\n\n .hover\\:bg-white:hover {\n background-color: var(--color-white);\n }\n\n .hover\\:font-semibold:hover {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .hover\\:text-\\(--axebow-error\\):hover {\n color: var(--axebow-error);\n }\n\n .hover\\:text-\\(--axebow-gray\\):hover {\n color: var(--axebow-gray);\n }\n\n .hover\\:text-\\(--axebow-primary\\):hover {\n color: var(--axebow-primary);\n }\n\n .hover\\:text-\\(--axebow-tertiary\\):hover {\n color: var(--axebow-tertiary);\n }\n\n .hover\\:text-black:hover {\n color: var(--color-black);\n }\n\n .hover\\:text-gray-700:hover {\n color: var(--color-gray-700);\n }\n\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n\n .hover\\:opacity-80:hover {\n opacity: .8;\n }\n\n .hover\\:opacity-100:hover {\n opacity: 1;\n }\n\n .hover\\:shadow-\\[0_2px_6px_rgba\\(13\\,24\\,33\\,0\\.14\\)\\]:hover {\n --tw-shadow: 0 2px 6px var(--tw-shadow-color, #0d182124);\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 .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 .focus\\:outline-2:focus {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n\n .focus\\:outline-offset-1:focus {\n outline-offset: 1px;\n }\n\n .focus\\:outline-blue-500:focus {\n outline-color: var(--color-blue-500);\n }\n\n .focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n .focus-visible\\:ring-2:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\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 .focus-visible\\:ring-\\[\\#006BFF\\]:focus-visible {\n --tw-ring-color: #006bff;\n }\n\n .focus-visible\\:outline-2:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n\n .focus-visible\\:outline-\\(--axebow-tertiary\\):focus-visible {\n outline-color: var(--axebow-tertiary);\n }\n\n .active\\:cursor-grabbing:active {\n cursor: grabbing;\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 @media (min-width: 48rem) {\n .md\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n }\n\n @media (min-width: 64rem) {\n .lg\\:sticky {\n position: sticky;\n }\n\n .lg\\:block {\n display: block;\n }\n\n .lg\\:flex {\n display: flex;\n }\n\n .lg\\:hidden {\n display: none;\n }\n\n .lg\\:inline {\n display: inline;\n }\n\n .lg\\:min-h-\\(--card-height\\) {\n min-height: var(--card-height);\n }\n\n .lg\\:min-h-\\[calc\\(100vh-7\\.25rem\\)\\] {\n min-height: calc(100vh - 7.25rem);\n }\n\n .lg\\:w-\\(--card-width\\) {\n width: var(--card-width);\n }\n\n .lg\\:min-w-150 {\n min-width: var(--spacing-150);\n }\n\n .lg\\:cursor-default {\n cursor: default;\n }\n\n .lg\\:rounded-md {\n border-radius: var(--radius-md);\n }\n\n .lg\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .lg\\:text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n\n .lg\\:text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n\n .lg\\:shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px 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}\n\n:host {\n font-family: var(--font-sans);\n font-size: var(--text-base);\n line-height: var(--text-base--line-height);\n --font-sans: \"Open Sans\", sans-serif;\n --text-xs: .625rem;\n --text-xs--line-height: .875rem;\n --text-sm: .75rem;\n --text-sm--line-height: 1rem;\n --text-base: .875rem;\n --text-base--line-height: 1.25rem;\n --text-md: 1rem;\n --text-md--line-height: 1.5rem;\n --text-lg: 1.125rem;\n --text-lg--line-height: 1.75rem;\n --text-xl: 1.25rem;\n --text-xl--line-height: 1.75rem;\n --text-2xl: 1.5rem;\n --text-2xl--line-height: 2rem;\n --text-3xl: 1.875rem;\n --text-3xl--line-height: 2.25rem;\n --text-4xl: 2.25rem;\n --text-4xl--line-height: 2.5rem;\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --text-8xl: 4.625rem;\n --text-8xl--line-height: 1;\n --text-9xl: 6.125rem;\n --text-9xl--line-height: 1;\n}\n\n:root {\n --sl-font-sans: \"Open Sans\", sans-serif;\n --sl-font-size-2x-small: var(--text-xs);\n --sl-font-size-x-small: var(--text-xs);\n --sl-font-size-small: var(--text-sm);\n --sl-font-size-medium: var(--text-base);\n --sl-font-size-large: var(--text-md);\n --sl-font-size-x-large: var(--text-lg);\n --sl-font-size-2x-large: var(--text-xl);\n --sl-font-size-3x-large: var(--text-3xl);\n --sl-font-size-4x-large: var(--text-5xl);\n --sl-input-font-size-small: var(--text-sm);\n --sl-input-font-size-medium: var(--text-base);\n --sl-input-font-size-large: var(--text-md);\n --sl-button-font-size-small: var(--text-sm);\n --sl-button-font-size-medium: var(--text-base);\n --sl-button-font-size-large: var(--text-md);\n --sl-tooltip-font-size: var(--text-base);\n}\n\nbutton, input, select, textarea {\n font-family: inherit;\n font-size: inherit;\n}\n\ninput, select, textarea, sl-menu-item::part(label), sl-option::part(label) {\n font-size: var(--text-base);\n}\n\n:root {\n --axebow-scrollbar-line-color: var(--axebow-tertiary, #e51c8e);\n --axebow-scrollbar-track-color: #f0f1f5;\n --axebow-scrollbar-thumb-color: #cbd5e1;\n --axebow-scrollbar-thumb-hover-color: #94a3b8;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar {\n border-left: 2px solid var(--axebow-scrollbar-line-color);\n width: 11px;\n height: 11px;\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar {\n border-left: 2px solid var(--axebow-scrollbar-line-color);\n width: 11px;\n height: 11px;\n}\n\nsl-menu::part(base)::-webkit-scrollbar {\n border-left: 2px solid var(--axebow-scrollbar-line-color);\n width: 11px;\n height: 11px;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar-button {\n display: none;\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar-button {\n display: none;\n}\n\nsl-menu::part(base)::-webkit-scrollbar-button {\n display: none;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar-track {\n background-color: var(--axebow-scrollbar-track-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar-track {\n background-color: var(--axebow-scrollbar-track-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-menu::part(base)::-webkit-scrollbar-track {\n background-color: var(--axebow-scrollbar-track-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar-thumb {\n background-color: var(--axebow-scrollbar-thumb-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar-thumb {\n background-color: var(--axebow-scrollbar-thumb-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-menu::part(base)::-webkit-scrollbar-thumb {\n background-color: var(--axebow-scrollbar-thumb-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar-thumb:hover {\n background-color: var(--axebow-scrollbar-thumb-hover-color);\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar-thumb:hover {\n background-color: var(--axebow-scrollbar-thumb-hover-color);\n}\n\nsl-menu::part(base)::-webkit-scrollbar-thumb:hover {\n background-color: var(--axebow-scrollbar-thumb-hover-color);\n}\n\nsl-select::part(listbox), sl-dropdown::part(panel), sl-menu::part(base) {\n scrollbar-width: thin;\n scrollbar-color: var(--axebow-scrollbar-thumb-color) transparent;\n}\n\nsl-select::part(listbox), sl-select::part(menu) {\n width: max-content !important;\n min-width: 100% !important;\n max-width: 90vw !important;\n}\n\n:root, sl-input::part(base), sl-select::part(combobox), sl-textarea::part(base) {\n --sl-input-focus-ring-color: transparent;\n --sl-input-border-color-focus: var(--axebow-black, #000);\n --sl-focus-ring-color: transparent;\n}\n\nsl-input:focus-within::part(base), sl-select:focus-within::part(combobox), sl-textarea:focus-within::part(base) {\n border-color: var(--axebow-black, #000) !important;\n box-shadow: none !important;\n outline: none !important;\n}\n\n.axebow-blue-button::part(base) {\n background-color: var(--axebow-tertiary);\n}\n\n.info-container-page {\n flex-wrap: wrap;\n display: flex;\n}\n\nsl-divider {\n background: var(--axebow-light-gray);\n height: 1px;\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.axebow-shadow {\n box-shadow: 2px 2px 25px #0000001a;\n}\n\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\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-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\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-tracking {\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-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\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-backdrop-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-sepia {\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\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n";
221
+ 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-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\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-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: 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-outline-style: solid;\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-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n\n@layer theme {\n :root, :host {\n --font-sans: \"Open Sans\", sans-serif;\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% .013 17.38);\n --color-red-100: oklch(93.6% .032 17.717);\n --color-red-300: oklch(80.8% .114 19.571);\n --color-red-800: oklch(44.4% .177 26.899);\n --color-yellow-600: oklch(68.1% .162 75.834);\n --color-yellow-800: oklch(47.6% .114 61.907);\n --color-green-50: oklch(98.2% .018 155.826);\n --color-green-200: oklch(92.5% .084 155.995);\n --color-green-600: oklch(62.7% .194 149.214);\n --color-green-800: oklch(44.8% .119 151.328);\n --color-sky-50: oklch(97.7% .013 236.62);\n --color-sky-100: oklch(95.1% .026 236.824);\n --color-blue-50: oklch(97% .014 254.604);\n --color-blue-100: oklch(93.2% .032 255.585);\n --color-blue-200: oklch(88.2% .059 254.128);\n --color-blue-500: oklch(62.3% .214 259.815);\n --color-blue-600: oklch(54.6% .245 262.881);\n --color-blue-800: oklch(42.4% .199 265.638);\n --color-gray-50: oklch(98.5% .002 247.839);\n --color-gray-100: oklch(96.7% .003 264.542);\n --color-gray-200: oklch(92.8% .006 264.531);\n --color-gray-300: oklch(87.2% .01 258.338);\n --color-gray-400: oklch(70.7% .022 261.325);\n --color-gray-500: oklch(55.1% .027 264.364);\n --color-gray-600: oklch(44.6% .03 256.802);\n --color-gray-700: oklch(37.3% .034 259.733);\n --color-black: #000;\n --color-white: #fff;\n --spacing: .25rem;\n --text-xs: .625rem;\n --text-xs--line-height: .875rem;\n --text-sm: .75rem;\n --text-sm--line-height: 1rem;\n --text-base: .875rem;\n --text-base--line-height: 1.25rem;\n --text-lg: 1.125rem;\n --text-lg--line-height: 1.75rem;\n --text-xl: 1.25rem;\n --text-xl--line-height: 1.75rem;\n --text-3xl: 1.875rem;\n --text-5xl: 3rem;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-black: 900;\n --tracking-wider: .05em;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-relaxed: 1.625;\n --radius-sm: .25rem;\n --radius-md: .375rem;\n --radius-lg: .5rem;\n --radius-xl: .75rem;\n --ease-out: cubic-bezier(0, 0, .2, 1);\n --ease-in-out: cubic-bezier(.4, 0, .2, 1);\n --animate-spin: spin 1s linear infinite;\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 --text-md: 1rem;\n --text-md--line-height: 1.5rem;\n --spacing-18: 4.5rem;\n --spacing-30: 7.5rem;\n --spacing-38: 9.5rem;\n --spacing-43: 10.75rem;\n --spacing-50: 12.5rem;\n --spacing-75: 18.75rem;\n --spacing-100: 25rem;\n --spacing-120: 30rem;\n --spacing-150: 37.5rem;\n --spacing-750: 187.5rem;\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-auto {\n pointer-events: auto;\n }\n\n .pointer-events-none {\n pointer-events: none;\n }\n\n .visible {\n visibility: visible;\n }\n\n .absolute {\n position: absolute;\n }\n\n .fixed {\n position: fixed;\n }\n\n .relative {\n position: relative;\n }\n\n .static {\n position: static;\n }\n\n .sticky {\n position: sticky;\n }\n\n .-top-2\\.25 {\n top: calc(var(--spacing) * -2.25);\n }\n\n .top-0 {\n top: 0;\n }\n\n .top-1 {\n top: var(--spacing);\n }\n\n .top-1\\/2 {\n top: 50%;\n }\n\n .top-3 {\n top: calc(var(--spacing) * 3);\n }\n\n .top-25 {\n top: calc(var(--spacing) * 25);\n }\n\n .top-\\[-7px\\] {\n top: -7px;\n }\n\n .top-\\[0\\.9375rem\\] {\n top: .9375rem;\n }\n\n .top-full {\n top: 100%;\n }\n\n .-right-2\\.25 {\n right: calc(var(--spacing) * -2.25);\n }\n\n .right-0 {\n right: 0;\n }\n\n .right-0\\.5 {\n right: calc(var(--spacing) * .5);\n }\n\n .right-1 {\n right: var(--spacing);\n }\n\n .right-1\\.5 {\n right: calc(var(--spacing) * 1.5);\n }\n\n .right-3 {\n right: calc(var(--spacing) * 3);\n }\n\n .bottom-0 {\n bottom: 0;\n }\n\n .bottom-0\\.5 {\n bottom: calc(var(--spacing) * .5);\n }\n\n .bottom-full {\n bottom: 100%;\n }\n\n .left-0 {\n left: 0;\n }\n\n .left-1\\/2 {\n left: 50%;\n }\n\n .left-\\[-7px\\] {\n left: -7px;\n }\n\n .left-\\[3\\.625rem\\] {\n left: 3.625rem;\n }\n\n .left-\\[calc\\(100\\%\\+10px\\)\\] {\n left: calc(100% + 10px);\n }\n\n .z-5 {\n z-index: 5;\n }\n\n .z-10 {\n z-index: 10;\n }\n\n .z-50 {\n z-index: 50;\n }\n\n .z-2000 {\n z-index: 2000;\n }\n\n .z-2001 {\n z-index: 2001;\n }\n\n .z-9999 {\n z-index: 9999;\n }\n\n .row-1 {\n grid-row: 1;\n }\n\n .row-2 {\n grid-row: 2;\n }\n\n .container {\n width: 100%;\n }\n\n @media (min-width: 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n\n @media (min-width: 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n\n @media (min-width: 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n\n @media (min-width: 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n\n @media (min-width: 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n\n .m-0 {\n margin: 0;\n }\n\n .mx-2 {\n margin-inline: calc(var(--spacing) * 2);\n }\n\n .mx-3 {\n margin-inline: calc(var(--spacing) * 3);\n }\n\n .mx-6 {\n margin-inline: calc(var(--spacing) * 6);\n }\n\n .mx-12 {\n margin-inline: calc(var(--spacing) * 12);\n }\n\n .mx-auto {\n margin-inline: auto;\n }\n\n .my-0\\.5 {\n margin-block: calc(var(--spacing) * .5);\n }\n\n .my-1\\.5 {\n margin-block: calc(var(--spacing) * 1.5);\n }\n\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n\n .my-4 {\n margin-block: calc(var(--spacing) * 4);\n }\n\n .ms-auto {\n margin-inline-start: auto;\n }\n\n .mt-0 {\n margin-top: 0;\n }\n\n .mt-1 {\n margin-top: var(--spacing);\n }\n\n .mt-1\\.5 {\n margin-top: calc(var(--spacing) * 1.5);\n }\n\n .mt-1\\.75 {\n margin-top: calc(var(--spacing) * 1.75);\n }\n\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n\n .mt-2\\.25 {\n margin-top: calc(var(--spacing) * 2.25);\n }\n\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n\n .mt-4\\.5 {\n margin-top: calc(var(--spacing) * 4.5);\n }\n\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n\n .mt-6\\.75 {\n margin-top: calc(var(--spacing) * 6.75);\n }\n\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n\n .mt-auto {\n margin-top: auto;\n }\n\n .mr-0\\.5 {\n margin-right: calc(var(--spacing) * .5);\n }\n\n .mr-1 {\n margin-right: var(--spacing);\n }\n\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n\n .mr-3 {\n margin-right: calc(var(--spacing) * 3);\n }\n\n .mr-4 {\n margin-right: calc(var(--spacing) * 4);\n }\n\n .mr-6 {\n margin-right: calc(var(--spacing) * 6);\n }\n\n .mr-7 {\n margin-right: calc(var(--spacing) * 7);\n }\n\n .mr-8 {\n margin-right: calc(var(--spacing) * 8);\n }\n\n .mr-10 {\n margin-right: calc(var(--spacing) * 10);\n }\n\n .mb-1 {\n margin-bottom: var(--spacing);\n }\n\n .mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n }\n\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n\n .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n\n .mb-6\\.5 {\n margin-bottom: calc(var(--spacing) * 6.5);\n }\n\n .mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n }\n\n .ml-0\\.5 {\n margin-left: calc(var(--spacing) * .5);\n }\n\n .ml-1 {\n margin-left: var(--spacing);\n }\n\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n\n .ml-12 {\n margin-left: calc(var(--spacing) * 12);\n }\n\n .ml-\\[0\\.5rem\\] {\n margin-left: .5rem;\n }\n\n .ml-\\[1\\.265625rem\\] {\n margin-left: 1.26563rem;\n }\n\n .ml-auto {\n margin-left: auto;\n }\n\n .box-border {\n box-sizing: border-box;\n }\n\n .box-content {\n box-sizing: content-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 .line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n }\n\n .line-clamp-3 {\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n }\n\n .line-clamp-11 {\n -webkit-line-clamp: 11;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n }\n\n .block {\n display: block;\n }\n\n .contents {\n display: contents;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .inline {\n display: inline;\n }\n\n .inline-block {\n display: inline-block;\n }\n\n .inline-flex {\n display: inline-flex;\n }\n\n .table {\n display: table;\n }\n\n .aspect-square {\n aspect-ratio: 1;\n }\n\n .h-1\\.5 {\n height: calc(var(--spacing) * 1.5);\n }\n\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n\n .h-2\\.25 {\n height: calc(var(--spacing) * 2.25);\n }\n\n .h-2\\.75 {\n height: calc(var(--spacing) * 2.75);\n }\n\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n\n .h-4\\.5 {\n height: calc(var(--spacing) * 4.5);\n }\n\n .h-4\\.25 {\n height: calc(var(--spacing) * 4.25);\n }\n\n .h-4\\.75 {\n height: calc(var(--spacing) * 4.75);\n }\n\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n\n .h-5\\.5 {\n height: calc(var(--spacing) * 5.5);\n }\n\n .h-5\\.25 {\n height: calc(var(--spacing) * 5.25);\n }\n\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n\n .h-6\\.75 {\n height: calc(var(--spacing) * 6.75);\n }\n\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n\n .h-7\\.5 {\n height: calc(var(--spacing) * 7.5);\n }\n\n .h-7\\.25 {\n height: calc(var(--spacing) * 7.25);\n }\n\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n\n .h-8\\.75 {\n height: calc(var(--spacing) * 8.75);\n }\n\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n\n .h-9\\.5 {\n height: calc(var(--spacing) * 9.5);\n }\n\n .h-9\\.75 {\n height: calc(var(--spacing) * 9.75);\n }\n\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n\n .h-10\\.5 {\n height: calc(var(--spacing) * 10.5);\n }\n\n .h-10\\.25 {\n height: calc(var(--spacing) * 10.25);\n }\n\n .h-11 {\n height: calc(var(--spacing) * 11);\n }\n\n .h-11\\.5 {\n height: calc(var(--spacing) * 11.5);\n }\n\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n\n .h-12\\.5 {\n height: calc(var(--spacing) * 12.5);\n }\n\n .h-12\\.25 {\n height: calc(var(--spacing) * 12.25);\n }\n\n .h-12\\.75 {\n height: calc(var(--spacing) * 12.75);\n }\n\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n\n .h-14\\.25 {\n height: calc(var(--spacing) * 14.25);\n }\n\n .h-15\\.5 {\n height: calc(var(--spacing) * 15.5);\n }\n\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n\n .h-17\\.75 {\n height: calc(var(--spacing) * 17.75);\n }\n\n .h-19\\.75 {\n height: calc(var(--spacing) * 19.75);\n }\n\n .h-20 {\n height: calc(var(--spacing) * 20);\n }\n\n .h-20\\.75 {\n height: calc(var(--spacing) * 20.75);\n }\n\n .h-21\\.25 {\n height: calc(var(--spacing) * 21.25);\n }\n\n .h-22\\.75 {\n height: calc(var(--spacing) * 22.75);\n }\n\n .h-32\\.25 {\n height: calc(var(--spacing) * 32.25);\n }\n\n .h-40\\.75 {\n height: calc(var(--spacing) * 40.75);\n }\n\n .h-45\\.5 {\n height: calc(var(--spacing) * 45.5);\n }\n\n .h-49\\.5 {\n height: calc(var(--spacing) * 49.5);\n }\n\n .h-52\\.75 {\n height: calc(var(--spacing) * 52.75);\n }\n\n .h-57\\.5 {\n height: calc(var(--spacing) * 57.5);\n }\n\n .h-77\\.25 {\n height: calc(var(--spacing) * 77.25);\n }\n\n .h-79 {\n height: calc(var(--spacing) * 79);\n }\n\n .h-83\\.25 {\n height: calc(var(--spacing) * 83.25);\n }\n\n .h-89\\.25 {\n height: calc(var(--spacing) * 89.25);\n }\n\n .h-102\\.25 {\n height: calc(var(--spacing) * 102.25);\n }\n\n .h-106\\.5 {\n height: calc(var(--spacing) * 106.5);\n }\n\n .h-112 {\n height: calc(var(--spacing) * 112);\n }\n\n .h-113\\.25 {\n height: calc(var(--spacing) * 113.25);\n }\n\n .h-\\[2\\.125rem\\] {\n height: 2.125rem;\n }\n\n .h-\\[8\\.26375rem\\] {\n height: 8.26375rem;\n }\n\n .h-auto {\n height: auto;\n }\n\n .h-fit {\n height: fit-content;\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-px {\n height: 1px;\n }\n\n .h-screen {\n height: 100vh;\n }\n\n .max-h-12 {\n max-height: calc(var(--spacing) * 12);\n }\n\n .max-h-30 {\n max-height: var(--spacing-30);\n }\n\n .max-h-40 {\n max-height: calc(var(--spacing) * 40);\n }\n\n .max-h-48 {\n max-height: calc(var(--spacing) * 48);\n }\n\n .max-h-75 {\n max-height: var(--spacing-75);\n }\n\n .max-h-111 {\n max-height: calc(var(--spacing) * 111);\n }\n\n .max-h-750 {\n max-height: var(--spacing-750);\n }\n\n .max-h-\\[40vh\\] {\n max-height: 40vh;\n }\n\n .max-h-full {\n max-height: 100%;\n }\n\n .min-h-0 {\n min-height: 0;\n }\n\n .min-h-5 {\n min-height: calc(var(--spacing) * 5);\n }\n\n .min-h-9 {\n min-height: calc(var(--spacing) * 9);\n }\n\n .min-h-12 {\n min-height: calc(var(--spacing) * 12);\n }\n\n .min-h-14 {\n min-height: calc(var(--spacing) * 14);\n }\n\n .min-h-19 {\n min-height: calc(var(--spacing) * 19);\n }\n\n .min-h-35 {\n min-height: calc(var(--spacing) * 35);\n }\n\n .w-1\\.5 {\n width: calc(var(--spacing) * 1.5);\n }\n\n .w-1\\.75 {\n width: calc(var(--spacing) * 1.75);\n }\n\n .w-1\\/3 {\n width: 33.3333%;\n }\n\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n\n .w-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n }\n\n .w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n }\n\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n\n .w-4\\.5 {\n width: calc(var(--spacing) * 4.5);\n }\n\n .w-4\\.25 {\n width: calc(var(--spacing) * 4.25);\n }\n\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n\n .w-7 {\n width: calc(var(--spacing) * 7);\n }\n\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n\n .w-9\\.5 {\n width: calc(var(--spacing) * 9.5);\n }\n\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n\n .w-10\\.5 {\n width: calc(var(--spacing) * 10.5);\n }\n\n .w-11\\.5 {\n width: calc(var(--spacing) * 11.5);\n }\n\n .w-11\\.25 {\n width: calc(var(--spacing) * 11.25);\n }\n\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n\n .w-12\\.5 {\n width: calc(var(--spacing) * 12.5);\n }\n\n .w-12\\.75 {\n width: calc(var(--spacing) * 12.75);\n }\n\n .w-15\\.5 {\n width: calc(var(--spacing) * 15.5);\n }\n\n .w-15\\.25 {\n width: calc(var(--spacing) * 15.25);\n }\n\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n\n .w-17 {\n width: calc(var(--spacing) * 17);\n }\n\n .w-18 {\n width: var(--spacing-18);\n }\n\n .w-18\\.5 {\n width: calc(var(--spacing) * 18.5);\n }\n\n .w-18\\.75 {\n width: calc(var(--spacing) * 18.75);\n }\n\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n\n .w-20\\.5 {\n width: calc(var(--spacing) * 20.5);\n }\n\n .w-21\\.5 {\n width: calc(var(--spacing) * 21.5);\n }\n\n .w-22\\.25 {\n width: calc(var(--spacing) * 22.25);\n }\n\n .w-23\\.5 {\n width: calc(var(--spacing) * 23.5);\n }\n\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n\n .w-24\\.75 {\n width: calc(var(--spacing) * 24.75);\n }\n\n .w-25 {\n width: calc(var(--spacing) * 25);\n }\n\n .w-25\\.5 {\n width: calc(var(--spacing) * 25.5);\n }\n\n .w-25\\.25 {\n width: calc(var(--spacing) * 25.25);\n }\n\n .w-26\\.25 {\n width: calc(var(--spacing) * 26.25);\n }\n\n .w-27 {\n width: calc(var(--spacing) * 27);\n }\n\n .w-27\\.5 {\n width: calc(var(--spacing) * 27.5);\n }\n\n .w-28\\.25 {\n width: calc(var(--spacing) * 28.25);\n }\n\n .w-30 {\n width: var(--spacing-30);\n }\n\n .w-30\\.75 {\n width: calc(var(--spacing) * 30.75);\n }\n\n .w-33\\.25 {\n width: calc(var(--spacing) * 33.25);\n }\n\n .w-34\\.25 {\n width: calc(var(--spacing) * 34.25);\n }\n\n .w-35 {\n width: calc(var(--spacing) * 35);\n }\n\n .w-36 {\n width: calc(var(--spacing) * 36);\n }\n\n .w-37 {\n width: calc(var(--spacing) * 37);\n }\n\n .w-38 {\n width: var(--spacing-38);\n }\n\n .w-38\\.5 {\n width: calc(var(--spacing) * 38.5);\n }\n\n .w-39\\.5 {\n width: calc(var(--spacing) * 39.5);\n }\n\n .w-41 {\n width: calc(var(--spacing) * 41);\n }\n\n .w-41\\.75 {\n width: calc(var(--spacing) * 41.75);\n }\n\n .w-42 {\n width: calc(var(--spacing) * 42);\n }\n\n .w-44 {\n width: calc(var(--spacing) * 44);\n }\n\n .w-45 {\n width: calc(var(--spacing) * 45);\n }\n\n .w-47\\.75 {\n width: calc(var(--spacing) * 47.75);\n }\n\n .w-48 {\n width: calc(var(--spacing) * 48);\n }\n\n .w-48\\.5 {\n width: calc(var(--spacing) * 48.5);\n }\n\n .w-53 {\n width: calc(var(--spacing) * 53);\n }\n\n .w-53\\.25 {\n width: calc(var(--spacing) * 53.25);\n }\n\n .w-53\\.75 {\n width: calc(var(--spacing) * 53.75);\n }\n\n .w-56\\.5 {\n width: calc(var(--spacing) * 56.5);\n }\n\n .w-57\\.5 {\n width: calc(var(--spacing) * 57.5);\n }\n\n .w-58\\.75 {\n width: calc(var(--spacing) * 58.75);\n }\n\n .w-60\\.5 {\n width: calc(var(--spacing) * 60.5);\n }\n\n .w-62\\.5 {\n width: calc(var(--spacing) * 62.5);\n }\n\n .w-63\\.5 {\n width: calc(var(--spacing) * 63.5);\n }\n\n .w-66 {\n width: calc(var(--spacing) * 66);\n }\n\n .w-68 {\n width: calc(var(--spacing) * 68);\n }\n\n .w-70 {\n width: calc(var(--spacing) * 70);\n }\n\n .w-70\\.5 {\n width: calc(var(--spacing) * 70.5);\n }\n\n .w-71 {\n width: calc(var(--spacing) * 71);\n }\n\n .w-74\\.75 {\n width: calc(var(--spacing) * 74.75);\n }\n\n .w-87 {\n width: calc(var(--spacing) * 87);\n }\n\n .w-88\\.5 {\n width: calc(var(--spacing) * 88.5);\n }\n\n .w-91 {\n width: calc(var(--spacing) * 91);\n }\n\n .w-92 {\n width: calc(var(--spacing) * 92);\n }\n\n .w-95 {\n width: calc(var(--spacing) * 95);\n }\n\n .w-99\\.75 {\n width: calc(var(--spacing) * 99.75);\n }\n\n .w-100 {\n width: var(--spacing-100);\n }\n\n .w-100\\.5 {\n width: calc(var(--spacing) * 100.5);\n }\n\n .w-102 {\n width: calc(var(--spacing) * 102);\n }\n\n .w-120 {\n width: var(--spacing-120);\n }\n\n .w-120\\.75 {\n width: calc(var(--spacing) * 120.75);\n }\n\n .w-121 {\n width: calc(var(--spacing) * 121);\n }\n\n .w-127\\.75 {\n width: calc(var(--spacing) * 127.75);\n }\n\n .w-130\\.25 {\n width: calc(var(--spacing) * 130.25);\n }\n\n .w-131 {\n width: calc(var(--spacing) * 131);\n }\n\n .w-139 {\n width: calc(var(--spacing) * 139);\n }\n\n .w-140\\.75 {\n width: calc(var(--spacing) * 140.75);\n }\n\n .w-144\\.75 {\n width: calc(var(--spacing) * 144.75);\n }\n\n .w-148\\.75 {\n width: calc(var(--spacing) * 148.75);\n }\n\n .w-186\\.5 {\n width: calc(var(--spacing) * 186.5);\n }\n\n .w-186\\.25 {\n width: calc(var(--spacing) * 186.25);\n }\n\n .w-194\\.25 {\n width: calc(var(--spacing) * 194.25);\n }\n\n .w-198\\.25 {\n width: calc(var(--spacing) * 198.25);\n }\n\n .w-270 {\n width: calc(var(--spacing) * 270);\n }\n\n .w-282 {\n width: calc(var(--spacing) * 282);\n }\n\n .w-286 {\n width: calc(var(--spacing) * 286);\n }\n\n .w-293\\.5 {\n width: calc(var(--spacing) * 293.5);\n }\n\n .w-\\[22\\.833125rem\\] {\n width: 22.8331rem;\n }\n\n .w-\\[calc\\(100\\%-10px\\)\\] {\n width: calc(100% - 10px);\n }\n\n .w-auto {\n width: auto;\n }\n\n .w-fit {\n width: fit-content;\n }\n\n .w-full {\n width: 100%;\n }\n\n .w-px {\n width: 1px;\n }\n\n .max-w-12 {\n max-width: calc(var(--spacing) * 12);\n }\n\n .max-w-36 {\n max-width: calc(var(--spacing) * 36);\n }\n\n .max-w-38 {\n max-width: var(--spacing-38);\n }\n\n .max-w-43 {\n max-width: var(--spacing-43);\n }\n\n .max-w-44 {\n max-width: calc(var(--spacing) * 44);\n }\n\n .max-w-51\\.5 {\n max-width: calc(var(--spacing) * 51.5);\n }\n\n .max-w-65 {\n max-width: calc(var(--spacing) * 65);\n }\n\n .max-w-95 {\n max-width: calc(var(--spacing) * 95);\n }\n\n .max-w-194\\.25 {\n max-width: calc(var(--spacing) * 194.25);\n }\n\n .max-w-\\[33\\.125rem\\] {\n max-width: 33.125rem;\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-4 {\n min-width: calc(var(--spacing) * 4);\n }\n\n .min-w-10 {\n min-width: calc(var(--spacing) * 10);\n }\n\n .min-w-20 {\n min-width: calc(var(--spacing) * 20);\n }\n\n .min-w-30 {\n min-width: var(--spacing-30);\n }\n\n .min-w-32 {\n min-width: calc(var(--spacing) * 32);\n }\n\n .min-w-36 {\n min-width: calc(var(--spacing) * 36);\n }\n\n .min-w-44 {\n min-width: calc(var(--spacing) * 44);\n }\n\n .min-w-50 {\n min-width: var(--spacing-50);\n }\n\n .min-w-53\\.25 {\n min-width: calc(var(--spacing) * 53.25);\n }\n\n .min-w-55 {\n min-width: calc(var(--spacing) * 55);\n }\n\n .min-w-160 {\n min-width: calc(var(--spacing) * 160);\n }\n\n .min-w-\\[8\\.2rem\\] {\n min-width: 8.2rem;\n }\n\n .min-w-fit {\n min-width: fit-content;\n }\n\n .min-w-full {\n min-width: 100%;\n }\n\n .flex-1 {\n flex: 1;\n }\n\n .flex-shrink {\n flex-shrink: 1;\n }\n\n .flex-shrink-0, .shrink-0 {\n flex-shrink: 0;\n }\n\n .flex-grow, .grow {\n flex-grow: 1;\n }\n\n .border-collapse {\n border-collapse: collapse;\n }\n\n .origin-center {\n transform-origin: center;\n }\n\n .-translate-x-1 {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .scale-\\[1\\.02\\] {\n scale: 1.02;\n }\n\n .rotate-180 {\n rotate: 180deg;\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 .animate-spin {\n animation: var(--animate-spin);\n }\n\n .cursor-default {\n cursor: default;\n }\n\n .cursor-grab {\n cursor: grab;\n }\n\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .cursor-text {\n cursor: text;\n }\n\n .touch-none {\n touch-action: none;\n }\n\n .resize {\n resize: both;\n }\n\n .resize-none {\n resize: none;\n }\n\n .list-none {\n list-style-type: none;\n }\n\n .appearance-none {\n appearance: none;\n }\n\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n\n .grid-cols-\\[minmax\\(4\\.875rem\\,auto\\)_auto_1fr_auto\\] {\n grid-template-columns: minmax(4.875rem, auto) auto 1fr auto;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .flex-row {\n flex-direction: row;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .items-baseline {\n align-items: baseline;\n }\n\n .items-center {\n align-items: center;\n }\n\n .items-end {\n align-items: flex-end;\n }\n\n .items-start {\n align-items: flex-start;\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 .justify-start {\n justify-content: flex-start;\n }\n\n .gap-0 {\n gap: 0;\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-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n\n .gap-1\\.25 {\n gap: calc(var(--spacing) * 1.25);\n }\n\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n\n .gap-2\\.25 {\n gap: calc(var(--spacing) * 2.25);\n }\n\n .gap-2\\.75 {\n gap: calc(var(--spacing) * 2.75);\n }\n\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .gap-8\\.75 {\n gap: calc(var(--spacing) * 8.75);\n }\n\n .gap-12 {\n gap: calc(var(--spacing) * 12);\n }\n\n .gap-19 {\n gap: calc(var(--spacing) * 19);\n }\n\n .gap-\\[0\\.625rem\\] {\n gap: .625rem;\n }\n\n .gap-\\[0\\.53125rem\\] {\n gap: .53125rem;\n }\n\n .gap-\\[2\\%\\] {\n gap: 2%;\n }\n\n .gap-\\[4\\%\\] {\n gap: 4%;\n }\n\n .gap-px {\n gap: 1px;\n }\n\n :where(.space-y-1 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));\n margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-2 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-3 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n .gap-x-2 {\n column-gap: calc(var(--spacing) * 2);\n }\n\n .gap-x-4 {\n column-gap: calc(var(--spacing) * 4);\n }\n\n .gap-x-6 {\n column-gap: calc(var(--spacing) * 6);\n }\n\n .gap-y-1 {\n row-gap: var(--spacing);\n }\n\n .self-end {\n align-self: flex-end;\n }\n\n .self-start {\n align-self: flex-start;\n }\n\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .overflow-auto {\n overflow: auto;\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-visible {\n overflow: visible;\n }\n\n .overflow-x-auto {\n overflow-x: auto;\n }\n\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .overflow-y-auto {\n overflow-y: auto;\n }\n\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n\n .rounded {\n border-radius: .25rem;\n }\n\n .rounded-full {\n border-radius: 3.40282e38px;\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-none {\n border-radius: 0;\n }\n\n .rounded-none\\! {\n border-radius: 0 !important;\n }\n\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n\n .rounded-t-lg {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n }\n\n .rounded-t-xl {\n border-top-left-radius: var(--radius-xl);\n border-top-right-radius: var(--radius-xl);\n }\n\n .rounded-l-xl {\n border-top-left-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n\n .rounded-tl-xl {\n border-top-left-radius: var(--radius-xl);\n }\n\n .rounded-r-md {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .rounded-tr-xl {\n border-top-right-radius: var(--radius-xl);\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 .rounded-b-md {\n border-bottom-right-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .rounded-b-xl {\n border-bottom-right-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n\n .border-x {\n border-inline-style: var(--tw-border-style);\n border-inline-width: 1px;\n }\n\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n\n .border-t-0 {\n border-top-style: var(--tw-border-style);\n border-top-width: 0;\n }\n\n .border-t-4 {\n border-top-style: var(--tw-border-style);\n border-top-width: 4px;\n }\n\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n\n .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0;\n }\n\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .border-b-0 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0;\n }\n\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n\n .border-l-0 {\n border-left-style: var(--tw-border-style);\n border-left-width: 0;\n }\n\n .border-l-4 {\n border-left-style: var(--tw-border-style);\n border-left-width: 4px;\n }\n\n .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n\n .border-\\(--axebow-border-gray\\) {\n border-color: var(--axebow-border-gray);\n }\n\n .border-\\(--axebow-dark-yellow\\) {\n border-color: var(--axebow-dark-yellow);\n }\n\n .border-\\(--axebow-error-border\\) {\n border-color: var(--axebow-error-border);\n }\n\n .border-\\(--axebow-gray\\) {\n border-color: var(--axebow-gray);\n }\n\n .border-\\(--axebow-light-gray\\) {\n border-color: var(--axebow-light-gray);\n }\n\n .border-\\(--axebow-premium-text\\) {\n border-color: var(--axebow-premium-text);\n }\n\n .border-\\(--axebow-primary\\) {\n border-color: var(--axebow-primary);\n }\n\n .border-\\(--axebow-table-border\\) {\n border-color: var(--axebow-table-border);\n }\n\n .border-\\(--axebow-table-header-border\\) {\n border-color: var(--axebow-table-header-border);\n }\n\n .border-\\(--axebow-tertiary\\) {\n border-color: var(--axebow-tertiary);\n }\n\n .border-\\(--axebow-white\\) {\n border-color: var(--axebow-white);\n }\n\n .border-\\[\\#0ECD9A80\\] {\n border-color: #0ecd9a80;\n }\n\n .border-\\[\\#344966\\] {\n border-color: #344966;\n }\n\n .border-\\[\\#DBDDE4\\] {\n border-color: #dbdde4;\n }\n\n .border-\\[var\\(--axebow-error\\)\\] {\n border-color: var(--axebow-error);\n }\n\n .border-\\[var\\(--axebow-gray\\)\\] {\n border-color: var(--axebow-gray);\n }\n\n .border-\\[var\\(--axebow-tertiary\\)\\] {\n border-color: var(--axebow-tertiary);\n }\n\n .border-black {\n border-color: var(--color-black);\n }\n\n .border-black\\/10 {\n border-color: #0000001a;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-black\\/10 {\n border-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n\n .border-blue-200 {\n border-color: var(--color-blue-200);\n }\n\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n\n .border-gray-500 {\n border-color: var(--color-gray-500);\n }\n\n .border-green-200 {\n border-color: var(--color-green-200);\n }\n\n .border-transparent {\n border-color: #0000;\n }\n\n .border-white {\n border-color: var(--color-white);\n }\n\n .bg-\\(--axebow-anti-flash-white\\) {\n background-color: var(--axebow-anti-flash-white);\n }\n\n .bg-\\(--axebow-base\\) {\n background-color: var(--axebow-base);\n }\n\n .bg-\\(--axebow-error\\) {\n background-color: var(--axebow-error);\n }\n\n .bg-\\(--axebow-error-bg\\) {\n background-color: var(--axebow-error-bg);\n }\n\n .bg-\\(--axebow-error-light\\) {\n background-color: var(--axebow-error-light);\n }\n\n .bg-\\(--axebow-gray\\) {\n background-color: var(--axebow-gray);\n }\n\n .bg-\\(--axebow-light-gray\\), .bg-\\(--axebow-light-gray\\)\\/80 {\n background-color: var(--axebow-light-gray);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-\\(--axebow-light-gray\\)\\/80 {\n background-color: color-mix(in oklab, var(--axebow-light-gray) 80%, transparent);\n }\n }\n\n .bg-\\(--axebow-primary\\) {\n background-color: var(--axebow-primary);\n }\n\n .bg-\\(--axebow-primary-light\\) {\n background-color: var(--axebow-primary-light);\n }\n\n .bg-\\(--axebow-success\\) {\n background-color: var(--axebow-success);\n }\n\n .bg-\\(--axebow-tertiary\\), .bg-\\(--axebow-tertiary\\)\\/15 {\n background-color: var(--axebow-tertiary);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-\\(--axebow-tertiary\\)\\/15 {\n background-color: color-mix(in oklab, var(--axebow-tertiary) 15%, transparent);\n }\n }\n\n .bg-\\(--axebow-warning\\) {\n background-color: var(--axebow-warning);\n }\n\n .bg-\\(--axebow-warning-bg\\) {\n background-color: var(--axebow-warning-bg);\n }\n\n .bg-\\(--axebow-white\\) {\n background-color: var(--axebow-white);\n }\n\n .bg-\\[\\#0ECD9A1A\\] {\n background-color: #0ecd9a1a;\n }\n\n .bg-\\[\\#006BFF\\] {\n background-color: #006bff;\n }\n\n .bg-\\[\\#78787A1A\\] {\n background-color: #78787a1a;\n }\n\n .bg-\\[\\#C7DCFA\\] {\n background-color: #c7dcfa;\n }\n\n .bg-\\[\\#F0F1F5\\] {\n background-color: #f0f1f5;\n }\n\n .bg-\\[\\#F3FDFA\\] {\n background-color: #f3fdfa;\n }\n\n .bg-blue-50 {\n background-color: var(--color-blue-50);\n }\n\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .bg-gray-50\\/50 {\n background-color: #f9fafb80;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-50\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent);\n }\n }\n\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n\n .bg-green-50 {\n background-color: var(--color-green-50);\n }\n\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n\n .bg-sky-50 {\n background-color: var(--color-sky-50);\n }\n\n .bg-sky-100 {\n background-color: var(--color-sky-100);\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 .object-cover {\n object-fit: cover;\n }\n\n .p-0 {\n padding: 0;\n }\n\n .p-1 {\n padding: var(--spacing);\n }\n\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n\n .p-3\\.25 {\n padding: calc(var(--spacing) * 3.25);\n }\n\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n\n .px-0\\.5 {\n padding-inline: calc(var(--spacing) * .5);\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-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\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-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .py-1\\.25 {\n padding-block: calc(var(--spacing) * 1.25);\n }\n\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n\n .py-2\\.75 {\n padding-block: calc(var(--spacing) * 2.75);\n }\n\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n\n .py-3\\.25 {\n padding-block: calc(var(--spacing) * 3.25);\n }\n\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n\n .py-4\\.75 {\n padding-block: calc(var(--spacing) * 4.75);\n }\n\n .py-8 {\n padding-block: calc(var(--spacing) * 8);\n }\n\n .py-\\[0\\.71875rem\\] {\n padding-block: .71875rem;\n }\n\n .py-px {\n padding-block: 1px;\n }\n\n .ps-4 {\n padding-inline-start: calc(var(--spacing) * 4);\n }\n\n .ps-8 {\n padding-inline-start: calc(var(--spacing) * 8);\n }\n\n .pe-4 {\n padding-inline-end: calc(var(--spacing) * 4);\n }\n\n .pt-0\\.5 {\n padding-top: calc(var(--spacing) * .5);\n }\n\n .pt-1 {\n padding-top: var(--spacing);\n }\n\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n\n .pt-3 {\n padding-top: calc(var(--spacing) * 3);\n }\n\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n\n .pt-6 {\n padding-top: calc(var(--spacing) * 6);\n }\n\n .pt-8 {\n padding-top: calc(var(--spacing) * 8);\n }\n\n .pt-11\\.75 {\n padding-top: calc(var(--spacing) * 11.75);\n }\n\n .pt-px {\n padding-top: 1px;\n }\n\n .pr-1 {\n padding-right: var(--spacing);\n }\n\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n\n .pr-3\\.25 {\n padding-right: calc(var(--spacing) * 3.25);\n }\n\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n\n .pr-4\\.5 {\n padding-right: calc(var(--spacing) * 4.5);\n }\n\n .pr-5 {\n padding-right: calc(var(--spacing) * 5);\n }\n\n .pr-14 {\n padding-right: calc(var(--spacing) * 14);\n }\n\n .pb-0 {\n padding-bottom: 0;\n }\n\n .pb-1 {\n padding-bottom: var(--spacing);\n }\n\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n\n .pb-3\\.5 {\n padding-bottom: calc(var(--spacing) * 3.5);\n }\n\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n\n .pb-6 {\n padding-bottom: calc(var(--spacing) * 6);\n }\n\n .pl-1 {\n padding-left: var(--spacing);\n }\n\n .pl-1\\.5 {\n padding-left: calc(var(--spacing) * 1.5);\n }\n\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n\n .pl-4\\.25 {\n padding-left: calc(var(--spacing) * 4.25);\n }\n\n .pl-5 {\n padding-left: calc(var(--spacing) * 5);\n }\n\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n\n .pl-8 {\n padding-left: calc(var(--spacing) * 8);\n }\n\n .pl-11\\.75 {\n padding-left: calc(var(--spacing) * 11.75);\n }\n\n .pl-px {\n padding-left: 1px;\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-left {\n text-align: left;\n }\n\n .text-right {\n text-align: right;\n }\n\n .text-start {\n text-align: start;\n }\n\n .align-middle {\n vertical-align: middle;\n }\n\n .font-\\[Material_Symbols_Outlined\\] {\n font-family: Material Symbols Outlined;\n }\n\n .font-\\[inherit\\] {\n font-family: inherit;\n }\n\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\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-md {\n font-size: var(--text-md);\n line-height: var(--tw-leading, var(--text-md--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 .text-\\[0\\.9375rem\\] {\n font-size: .9375rem;\n }\n\n .text-\\[1\\.25rem\\] {\n font-size: 1.25rem;\n }\n\n .text-\\[18px\\] {\n font-size: 18px;\n }\n\n .leading-3\\.5 {\n --tw-leading: calc(var(--spacing) * 3.5);\n line-height: calc(var(--spacing) * 3.5);\n }\n\n .leading-4\\.25 {\n --tw-leading: calc(var(--spacing) * 4.25);\n line-height: calc(var(--spacing) * 4.25);\n }\n\n .leading-\\[1\\.0625rem\\] {\n --tw-leading: 1.0625rem;\n line-height: 1.0625rem;\n }\n\n .leading-\\[1\\.1875rem\\] {\n --tw-leading: 1.1875rem;\n line-height: 1.1875rem;\n }\n\n .leading-\\[1\\.21875rem\\] {\n --tw-leading: 1.21875rem;\n line-height: 1.21875rem;\n }\n\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n\n .leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: var(--leading-relaxed);\n }\n\n .leading-snug {\n --tw-leading: var(--leading-snug);\n line-height: var(--leading-snug);\n }\n\n .leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n }\n\n .font-black {\n --tw-font-weight: var(--font-weight-black);\n font-weight: var(--font-weight-black);\n }\n\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n\n .font-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n }\n\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\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 .tracking-wider {\n --tw-tracking: var(--tracking-wider);\n letter-spacing: var(--tracking-wider);\n }\n\n .wrap-break-word {\n overflow-wrap: break-word;\n }\n\n .break-all {\n word-break: break-all;\n }\n\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n\n .whitespace-normal {\n white-space: normal;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .text-\\(--axebow-anti-flash-white\\) {\n color: var(--axebow-anti-flash-white);\n }\n\n .text-\\(--axebow-black\\) {\n color: var(--axebow-black);\n }\n\n .text-\\(--axebow-error\\) {\n color: var(--axebow-error);\n }\n\n .text-\\(--axebow-gray\\) {\n color: var(--axebow-gray);\n }\n\n .text-\\(--axebow-primary\\) {\n color: var(--axebow-primary);\n }\n\n .text-\\(--axebow-rich-black\\) {\n color: var(--axebow-rich-black);\n }\n\n .text-\\(--axebow-secondary\\) {\n color: var(--axebow-secondary);\n }\n\n .text-\\(--axebow-strong-gray\\) {\n color: var(--axebow-strong-gray);\n }\n\n .text-\\(--axebow-success\\) {\n color: var(--axebow-success);\n }\n\n .text-\\(--axebow-tertiary\\) {\n color: var(--axebow-tertiary);\n }\n\n .text-\\(--axebow-text-gray\\) {\n color: var(--axebow-text-gray);\n }\n\n .text-\\(--hyperlink-color\\) {\n color: var(--hyperlink-color);\n }\n\n .text-\\[\\#8A94AE\\] {\n color: #8a94ae;\n }\n\n .text-\\[\\#78787A\\] {\n color: #78787a;\n }\n\n .text-\\[\\#344966\\] {\n color: #344966;\n }\n\n .text-\\[\\#E93A3A\\] {\n color: #e93a3a;\n }\n\n .text-\\[var\\(--axebow-clickable-blue\\)\\] {\n color: var(--axebow-clickable-blue);\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-black {\n color: var(--color-black);\n }\n\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n\n .text-blue-800 {\n color: var(--color-blue-800);\n }\n\n .text-gray-300 {\n color: var(--color-gray-300);\n }\n\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n\n .text-green-600 {\n color: var(--color-green-600);\n }\n\n .text-green-800 {\n color: var(--color-green-800);\n }\n\n .text-inherit {\n color: inherit;\n }\n\n .text-red-800 {\n color: var(--color-red-800);\n }\n\n .text-white {\n color: var(--color-white);\n }\n\n .text-yellow-600 {\n color: var(--color-yellow-600);\n }\n\n .text-yellow-800 {\n color: var(--color-yellow-800);\n }\n\n .capitalize {\n text-transform: capitalize;\n }\n\n .uppercase {\n text-transform: uppercase;\n }\n\n .italic {\n font-style: italic;\n }\n\n .not-italic {\n font-style: normal;\n }\n\n .no-underline {\n text-decoration-line: none;\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n .decoration-\\(--axebow-error\\) {\n -webkit-text-decoration-color: var(--axebow-error);\n -webkit-text-decoration-color: var(--axebow-error);\n text-decoration-color: var(--axebow-error);\n }\n\n .placeholder-gray-400::placeholder {\n color: var(--color-gray-400);\n }\n\n .accent-\\(--axebow-tertiary\\) {\n accent-color: var(--axebow-tertiary);\n }\n\n .opacity-0 {\n opacity: 0;\n }\n\n .opacity-50 {\n opacity: .5;\n }\n\n .opacity-60 {\n opacity: .6;\n }\n\n .opacity-70 {\n opacity: .7;\n }\n\n .opacity-100 {\n opacity: 1;\n }\n\n .shadow-\\[0_-8px_8px_-8px_rgba\\(13\\,24\\,33\\,0\\.15\\)\\] {\n --tw-shadow: 0 -8px 8px -8px var(--tw-shadow-color, #0d182126);\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 .shadow-\\[0_2px_6px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\] {\n --tw-shadow: 0 2px 6px var(--tw-shadow-color, #0003);\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 .shadow-\\[0_4px_12px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\] {\n --tw-shadow: 0 4px 12px 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 .shadow-\\[0_6px_16px_rgba\\(13\\,24\\,33\\,0\\.18\\)\\] {\n --tw-shadow: 0 6px 16px var(--tw-shadow-color, #0d18212e);\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 .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 .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px 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 .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px 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 .shadow-none {\n --tw-shadow: 0 0 #0000;\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 .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px 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 .axebow-shadow-hover {\n transition: box-shadow .2s ease-in-out;\n }\n\n .axebow-shadow-hover:hover {\n box-shadow: 0 4px 12px #0d182114;\n }\n\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n\n .blur {\n --tw-blur: blur(8px);\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 .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 .filter {\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 .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );\n backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );\n }\n\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;\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-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-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\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-opacity {\n transition-property: opacity;\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 .transition-transform {\n transition-property: transform, translate, scale, rotate;\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 .delay-100 {\n transition-delay: .1s;\n }\n\n .duration-120 {\n --tw-duration: .12s;\n transition-duration: .12s;\n }\n\n .duration-150 {\n --tw-duration: .15s;\n transition-duration: .15s;\n }\n\n .duration-200 {\n --tw-duration: .2s;\n transition-duration: .2s;\n }\n\n .duration-300 {\n --tw-duration: .3s;\n transition-duration: .3s;\n }\n\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n\n .\\[font-variation-settings\\:\\'FILL\\'_0\\,\\'wght\\'_400\\,\\'GRAD\\'_0\\,\\'opsz\\'_24\\] {\n font-variation-settings: \"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24;\n }\n\n .\\[font-variation-settings\\:\\'FILL\\'_1\\,\\'wght\\'_400\\,\\'GRAD\\'_0\\,\\'opsz\\'_24\\] {\n font-variation-settings: \"FILL\" 1,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24;\n }\n\n @media (hover: hover) {\n .group-hover\\:pointer-events-auto:is(:where(.group):hover *) {\n pointer-events: auto;\n }\n\n .group-hover\\:translate-x-0:is(:where(.group):hover *) {\n --tw-translate-x: 0;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .group-hover\\:rotate-15:is(:where(.group):hover *) {\n rotate: 15deg;\n }\n\n .group-hover\\:font-semibold:is(:where(.group):hover *) {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .group-hover\\:text-\\(--axebow-gray\\):is(:where(.group):hover *) {\n color: var(--axebow-gray);\n }\n\n .group-hover\\:text-\\(--axebow-primary\\):is(:where(.group):hover *) {\n color: var(--axebow-primary);\n }\n\n .group-hover\\:opacity-100:is(:where(.group):hover *) {\n opacity: 1;\n }\n }\n\n .last\\:border-b-0:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0;\n }\n\n .focus-within\\:border-black:focus-within {\n border-color: var(--color-black);\n }\n\n .focus-within\\:border-blue-500:focus-within {\n border-color: var(--color-blue-500);\n }\n\n .focus-within\\:ring-2:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\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 .focus-within\\:ring-blue-100:focus-within {\n --tw-ring-color: var(--color-blue-100);\n }\n\n @media (hover: hover) {\n .hover\\:-translate-y-1:hover {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .hover\\:scale-105:hover {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n\n .hover\\:scale-110:hover {\n --tw-scale-x: 110%;\n --tw-scale-y: 110%;\n --tw-scale-z: 110%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n\n .hover\\:border-\\(--axebow-gray\\):hover {\n border-color: var(--axebow-gray);\n }\n\n .hover\\:border-\\(--axebow-tertiary\\):hover, .hover\\:border-\\[var\\(--axebow-tertiary\\)\\]:hover {\n border-color: var(--axebow-tertiary);\n }\n\n .hover\\:border-red-300:hover {\n border-color: var(--color-red-300);\n }\n\n .hover\\:bg-\\(--axebow-anti-flash-white\\):hover {\n background-color: var(--axebow-anti-flash-white);\n }\n\n .hover\\:bg-\\(--axebow-base\\):hover {\n background-color: var(--axebow-base);\n }\n\n .hover\\:bg-\\(--axebow-gray\\):hover {\n background-color: var(--axebow-gray);\n }\n\n .hover\\:bg-\\(--axebow-light-gray\\):hover {\n background-color: var(--axebow-light-gray);\n }\n\n .hover\\:bg-\\(--axebow-primary\\):hover {\n background-color: var(--axebow-primary);\n }\n\n .hover\\:bg-\\[var\\(--axebow-anti-flash-white\\)\\]:hover {\n background-color: var(--axebow-anti-flash-white);\n }\n\n .hover\\:bg-gray-50:hover {\n background-color: var(--color-gray-50);\n }\n\n .hover\\:bg-gray-100:hover {\n background-color: var(--color-gray-100);\n }\n\n .hover\\:bg-gray-200:hover {\n background-color: var(--color-gray-200);\n }\n\n .hover\\:bg-red-50:hover {\n background-color: var(--color-red-50);\n }\n\n .hover\\:bg-white:hover {\n background-color: var(--color-white);\n }\n\n .hover\\:font-semibold:hover {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .hover\\:text-\\(--axebow-error\\):hover {\n color: var(--axebow-error);\n }\n\n .hover\\:text-\\(--axebow-gray\\):hover {\n color: var(--axebow-gray);\n }\n\n .hover\\:text-\\(--axebow-primary\\):hover {\n color: var(--axebow-primary);\n }\n\n .hover\\:text-\\(--axebow-tertiary\\):hover {\n color: var(--axebow-tertiary);\n }\n\n .hover\\:text-black:hover {\n color: var(--color-black);\n }\n\n .hover\\:text-gray-700:hover {\n color: var(--color-gray-700);\n }\n\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n\n .hover\\:opacity-80:hover {\n opacity: .8;\n }\n\n .hover\\:opacity-100:hover {\n opacity: 1;\n }\n\n .hover\\:shadow-\\[0_2px_6px_rgba\\(13\\,24\\,33\\,0\\.14\\)\\]:hover {\n --tw-shadow: 0 2px 6px var(--tw-shadow-color, #0d182124);\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 .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 .focus\\:outline-2:focus {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n\n .focus\\:outline-offset-1:focus {\n outline-offset: 1px;\n }\n\n .focus\\:outline-blue-500:focus {\n outline-color: var(--color-blue-500);\n }\n\n .focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n .focus-visible\\:ring-2:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\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 .focus-visible\\:ring-\\[\\#006BFF\\]:focus-visible {\n --tw-ring-color: #006bff;\n }\n\n .focus-visible\\:outline-2:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n\n .focus-visible\\:outline-\\(--axebow-tertiary\\):focus-visible {\n outline-color: var(--axebow-tertiary);\n }\n\n .active\\:scale-95:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n\n .active\\:cursor-grabbing:active {\n cursor: grabbing;\n }\n\n @media (hover: hover) {\n .enabled\\:hover\\:text-\\(--hyperlink-hover-color\\):enabled:hover {\n color: var(--hyperlink-hover-color);\n }\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 @media not all and (min-width: 46.875rem) {\n .max-\\[46\\.875rem\\]\\:gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .max-\\[46\\.875rem\\]\\:text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n\n @media (min-width: 40rem) {\n .sm\\:max-h-56 {\n max-height: calc(var(--spacing) * 56);\n }\n\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .sm\\:px-1 {\n padding-inline: var(--spacing);\n }\n\n .sm\\:text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n }\n\n @media (min-width: 48rem) {\n .md\\:max-h-75 {\n max-height: var(--spacing-75);\n }\n\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n\n .md\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n }\n\n @media (min-width: 64rem) {\n .lg\\:sticky {\n position: sticky;\n }\n\n .lg\\:block {\n display: block;\n }\n\n .lg\\:flex {\n display: flex;\n }\n\n .lg\\:hidden {\n display: none;\n }\n\n .lg\\:inline {\n display: inline;\n }\n\n .lg\\:min-h-\\(--card-height\\) {\n min-height: var(--card-height);\n }\n\n .lg\\:min-h-\\[calc\\(100vh-7\\.25rem\\)\\] {\n min-height: calc(100vh - 7.25rem);\n }\n\n .lg\\:w-\\(--card-width\\) {\n width: var(--card-width);\n }\n\n .lg\\:w-194\\.5 {\n width: calc(var(--spacing) * 194.5);\n }\n\n .lg\\:w-auto {\n width: auto;\n }\n\n .lg\\:min-w-150 {\n min-width: var(--spacing-150);\n }\n\n .lg\\:cursor-default {\n cursor: default;\n }\n\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .lg\\:flex-row {\n flex-direction: row;\n }\n\n .lg\\:gap-7\\.75 {\n gap: calc(var(--spacing) * 7.75);\n }\n\n .lg\\:rounded-md {\n border-radius: var(--radius-md);\n }\n\n .lg\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .lg\\:text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n\n .lg\\:text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n\n .lg\\:text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n\n .lg\\:shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px 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}\n\n:host {\n font-family: var(--font-sans);\n font-size: var(--text-base);\n line-height: var(--text-base--line-height);\n --font-sans: \"Open Sans\", sans-serif;\n --text-xs: .625rem;\n --text-xs--line-height: .875rem;\n --text-sm: .75rem;\n --text-sm--line-height: 1rem;\n --text-base: .875rem;\n --text-base--line-height: 1.25rem;\n --text-md: 1rem;\n --text-md--line-height: 1.5rem;\n --text-lg: 1.125rem;\n --text-lg--line-height: 1.75rem;\n --text-xl: 1.25rem;\n --text-xl--line-height: 1.75rem;\n --text-2xl: 1.5rem;\n --text-2xl--line-height: 2rem;\n --text-3xl: 1.875rem;\n --text-3xl--line-height: 2.25rem;\n --text-4xl: 2.25rem;\n --text-4xl--line-height: 2.5rem;\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --text-8xl: 4.625rem;\n --text-8xl--line-height: 1;\n --text-9xl: 6.125rem;\n --text-9xl--line-height: 1;\n}\n\n:root {\n --sl-font-sans: \"Open Sans\", sans-serif;\n --sl-font-size-2x-small: var(--text-xs);\n --sl-font-size-x-small: var(--text-xs);\n --sl-font-size-small: var(--text-sm);\n --sl-font-size-medium: var(--text-base);\n --sl-font-size-large: var(--text-md);\n --sl-font-size-x-large: var(--text-lg);\n --sl-font-size-2x-large: var(--text-xl);\n --sl-font-size-3x-large: var(--text-3xl);\n --sl-font-size-4x-large: var(--text-5xl);\n --sl-input-font-size-small: var(--text-sm);\n --sl-input-font-size-medium: var(--text-base);\n --sl-input-font-size-large: var(--text-md);\n --sl-button-font-size-small: var(--text-sm);\n --sl-button-font-size-medium: var(--text-base);\n --sl-button-font-size-large: var(--text-md);\n --sl-tooltip-font-size: var(--text-base);\n}\n\nbutton, input, select, textarea {\n font-family: inherit;\n font-size: inherit;\n}\n\ninput, select, textarea, sl-menu-item::part(label), sl-option::part(label) {\n font-size: var(--text-base);\n}\n\n:root {\n --axebow-scrollbar-line-color: var(--axebow-tertiary, #e51c8e);\n --axebow-scrollbar-track-color: #f0f1f5;\n --axebow-scrollbar-thumb-color: #cbd5e1;\n --axebow-scrollbar-thumb-hover-color: #94a3b8;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar {\n border-left: 2px solid var(--axebow-scrollbar-line-color);\n width: 11px;\n height: 11px;\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar {\n border-left: 2px solid var(--axebow-scrollbar-line-color);\n width: 11px;\n height: 11px;\n}\n\nsl-menu::part(base)::-webkit-scrollbar {\n border-left: 2px solid var(--axebow-scrollbar-line-color);\n width: 11px;\n height: 11px;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar-button {\n display: none;\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar-button {\n display: none;\n}\n\nsl-menu::part(base)::-webkit-scrollbar-button {\n display: none;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar-track {\n background-color: var(--axebow-scrollbar-track-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar-track {\n background-color: var(--axebow-scrollbar-track-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-menu::part(base)::-webkit-scrollbar-track {\n background-color: var(--axebow-scrollbar-track-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar-thumb {\n background-color: var(--axebow-scrollbar-thumb-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar-thumb {\n background-color: var(--axebow-scrollbar-thumb-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-menu::part(base)::-webkit-scrollbar-thumb {\n background-color: var(--axebow-scrollbar-thumb-color);\n background-clip: padding-box;\n border: 2px solid #0000;\n border-left-width: 3px;\n border-radius: 9999px;\n}\n\nsl-select::part(listbox)::-webkit-scrollbar-thumb:hover {\n background-color: var(--axebow-scrollbar-thumb-hover-color);\n}\n\nsl-dropdown::part(panel)::-webkit-scrollbar-thumb:hover {\n background-color: var(--axebow-scrollbar-thumb-hover-color);\n}\n\nsl-menu::part(base)::-webkit-scrollbar-thumb:hover {\n background-color: var(--axebow-scrollbar-thumb-hover-color);\n}\n\nsl-select::part(listbox), sl-dropdown::part(panel), sl-menu::part(base) {\n scrollbar-width: thin;\n scrollbar-color: var(--axebow-scrollbar-thumb-color) transparent;\n}\n\nsl-select::part(listbox), sl-select::part(menu) {\n width: max-content !important;\n min-width: 100% !important;\n max-width: 90vw !important;\n}\n\n:root, sl-input::part(base), sl-select::part(combobox), sl-textarea::part(base) {\n --sl-input-focus-ring-color: transparent;\n --sl-input-border-color-focus: var(--axebow-black, #000);\n --sl-focus-ring-color: transparent;\n}\n\nsl-input:focus-within::part(base), sl-select:focus-within::part(combobox), sl-textarea:focus-within::part(base) {\n border-color: var(--axebow-black, #000) !important;\n box-shadow: none !important;\n outline: none !important;\n}\n\n.axebow-blue-button::part(base) {\n background-color: var(--axebow-tertiary);\n}\n\n.info-container-page {\n flex-wrap: wrap;\n display: flex;\n}\n\nsl-divider {\n background: var(--axebow-light-gray);\n height: 1px;\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.axebow-shadow {\n box-shadow: 2px 2px 25px #0000001a;\n}\n\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\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-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\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-tracking {\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-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\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-backdrop-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-sepia {\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\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n";
222
222
  //#endregion
223
223
  //#region \0@oxc-project+runtime@0.139.0/helpers/esm/decorate.js
224
224
  function __decorate(decorators, target, key, desc) {
@@ -594,7 +594,7 @@ var AxebowButton = class AxebowButton extends LitElement {
594
594
  this._guardDisabledClick = (event) => {
595
595
  if (this.disabled || this.loading) {
596
596
  event.preventDefault();
597
- event.stopPropagation();
597
+ event.stopImmediatePropagation();
598
598
  }
599
599
  };
600
600
  this.addEventListener("click", this._guardDisabledClick, { capture: true });
@@ -1637,12 +1637,9 @@ var AxebowHeaderActions = class AxebowHeaderActions extends LitElement {
1637
1637
  this.onLogout = () => {};
1638
1638
  this.notificationsLabel = "";
1639
1639
  this.notifications = [];
1640
- this.actionNeededNotifications = [];
1641
1640
  this.myNotificationsTabLabel = "";
1642
- this.actionNeededTabLabel = "";
1643
1641
  this.noNotificationsLabel = "";
1644
1642
  this.noUnreadNotificationsLabel = "";
1645
- this.noActionNotificationsLabel = "";
1646
1643
  this.showUnreadOnlyLabel = "";
1647
1644
  this.onLabel = "";
1648
1645
  this.offLabel = "";
@@ -1710,10 +1707,9 @@ var AxebowHeaderActions = class AxebowHeaderActions extends LitElement {
1710
1707
  </div>
1711
1708
  <sl-tab-group class="bg-white rounded-md w-120 text-base">
1712
1709
  <sl-tab slot="nav" panel="my_notifications">${this.myNotificationsTabLabel}</sl-tab>
1713
- <sl-tab slot="nav" panel="action_needed">${this.actionNeededTabLabel}</sl-tab>
1714
1710
 
1715
1711
  <sl-tab-panel class="bg-gray-100" name="my_notifications">
1716
- <div class="flex flex-col gap-2 px-4 max-h-[40vh] overflow-auto w-full">
1712
+ <div class="flex flex-col gap-2 px-4 pb-4 max-h-[40vh] overflow-auto w-full">
1717
1713
  ${this.notifications.length === 0 ? this.renderEmptyState(this.noNotificationsLabel) : html`
1718
1714
  <div class="flex flex-col text-black gap-4">
1719
1715
  <div class="flex justify-between items-center flex-wrap gap-4">
@@ -1736,15 +1732,6 @@ var AxebowHeaderActions = class AxebowHeaderActions extends LitElement {
1736
1732
  `}
1737
1733
  </div>
1738
1734
  </sl-tab-panel>
1739
- <sl-tab-panel class="bg-gray-100" name="action_needed">
1740
- <div class="flex flex-col gap-2 px-4 max-h-[40vh] overflow-auto w-full">
1741
- ${this.actionNeededNotifications.length === 0 ? this.renderEmptyState(this.noActionNotificationsLabel) : html`
1742
- <div class="flex flex-col text-black gap-4">
1743
- ${this.actionNeededNotifications.map((item) => this.renderNotificationCard(item))}
1744
- </div>
1745
- `}
1746
- </div>
1747
- </sl-tab-panel>
1748
1735
  </sl-tab-group>
1749
1736
  </sl-dropdown>
1750
1737
  <sl-dropdown class="shrink-0">
@@ -1828,12 +1815,9 @@ __decorate([property({ type: String })], AxebowHeaderActions.prototype, "logoutL
1828
1815
  __decorate([property({ attribute: false })], AxebowHeaderActions.prototype, "onLogout", void 0);
1829
1816
  __decorate([property({ type: String })], AxebowHeaderActions.prototype, "notificationsLabel", void 0);
1830
1817
  __decorate([property({ type: Array })], AxebowHeaderActions.prototype, "notifications", void 0);
1831
- __decorate([property({ type: Array })], AxebowHeaderActions.prototype, "actionNeededNotifications", void 0);
1832
1818
  __decorate([property({ type: String })], AxebowHeaderActions.prototype, "myNotificationsTabLabel", void 0);
1833
- __decorate([property({ type: String })], AxebowHeaderActions.prototype, "actionNeededTabLabel", void 0);
1834
1819
  __decorate([property({ type: String })], AxebowHeaderActions.prototype, "noNotificationsLabel", void 0);
1835
1820
  __decorate([property({ type: String })], AxebowHeaderActions.prototype, "noUnreadNotificationsLabel", void 0);
1836
- __decorate([property({ type: String })], AxebowHeaderActions.prototype, "noActionNotificationsLabel", void 0);
1837
1821
  __decorate([property({ type: String })], AxebowHeaderActions.prototype, "showUnreadOnlyLabel", void 0);
1838
1822
  __decorate([property({ type: String })], AxebowHeaderActions.prototype, "onLabel", void 0);
1839
1823
  __decorate([property({ type: String })], AxebowHeaderActions.prototype, "offLabel", void 0);
@@ -1865,12 +1849,9 @@ var AxebowHeader = class AxebowHeader extends LitElement {
1865
1849
  this.onLogout = () => {};
1866
1850
  this.notificationsLabel = "";
1867
1851
  this.notifications = [];
1868
- this.actionNeededNotifications = [];
1869
1852
  this.myNotificationsTabLabel = "";
1870
- this.actionNeededTabLabel = "";
1871
1853
  this.noNotificationsLabel = "";
1872
1854
  this.noUnreadNotificationsLabel = "";
1873
- this.noActionNotificationsLabel = "";
1874
1855
  this.showUnreadOnlyLabel = "";
1875
1856
  this.onLabel = "";
1876
1857
  this.offLabel = "";
@@ -1918,12 +1899,9 @@ var AxebowHeader = class AxebowHeader extends LitElement {
1918
1899
  .onLogout=${this.onLogout}
1919
1900
  .notificationsLabel=${this.notificationsLabel}
1920
1901
  .notifications=${this.notifications}
1921
- .actionNeededNotifications=${this.actionNeededNotifications}
1922
1902
  .myNotificationsTabLabel=${this.myNotificationsTabLabel}
1923
- .actionNeededTabLabel=${this.actionNeededTabLabel}
1924
1903
  .noNotificationsLabel=${this.noNotificationsLabel}
1925
1904
  .noUnreadNotificationsLabel=${this.noUnreadNotificationsLabel}
1926
- .noActionNotificationsLabel=${this.noActionNotificationsLabel}
1927
1905
  .showUnreadOnlyLabel=${this.showUnreadOnlyLabel}
1928
1906
  .onLabel=${this.onLabel}
1929
1907
  .offLabel=${this.offLabel}
@@ -1957,12 +1935,9 @@ __decorate([property({ type: String })], AxebowHeader.prototype, "logoutLabel",
1957
1935
  __decorate([property({ attribute: false })], AxebowHeader.prototype, "onLogout", void 0);
1958
1936
  __decorate([property({ type: String })], AxebowHeader.prototype, "notificationsLabel", void 0);
1959
1937
  __decorate([property({ type: Array })], AxebowHeader.prototype, "notifications", void 0);
1960
- __decorate([property({ type: Array })], AxebowHeader.prototype, "actionNeededNotifications", void 0);
1961
1938
  __decorate([property({ type: String })], AxebowHeader.prototype, "myNotificationsTabLabel", void 0);
1962
- __decorate([property({ type: String })], AxebowHeader.prototype, "actionNeededTabLabel", void 0);
1963
1939
  __decorate([property({ type: String })], AxebowHeader.prototype, "noNotificationsLabel", void 0);
1964
1940
  __decorate([property({ type: String })], AxebowHeader.prototype, "noUnreadNotificationsLabel", void 0);
1965
- __decorate([property({ type: String })], AxebowHeader.prototype, "noActionNotificationsLabel", void 0);
1966
1941
  __decorate([property({ type: String })], AxebowHeader.prototype, "showUnreadOnlyLabel", void 0);
1967
1942
  __decorate([property({ type: String })], AxebowHeader.prototype, "onLabel", void 0);
1968
1943
  __decorate([property({ type: String })], AxebowHeader.prototype, "offLabel", void 0);
@@ -4538,7 +4513,11 @@ var AxebowManageHyperlinks = class AxebowManageHyperlinks extends LitElement {
4538
4513
  this.text = "";
4539
4514
  this.icon = "";
4540
4515
  this.color = "";
4516
+ this.hoverColor = "";
4517
+ this.fontSize = "0.875rem";
4541
4518
  this.iconColor = "";
4519
+ this.iconSize = "sm";
4520
+ this.iconSpin = false;
4542
4521
  this.disabled = false;
4543
4522
  this.reverse = false;
4544
4523
  }
@@ -4547,16 +4526,6 @@ var AxebowManageHyperlinks = class AxebowManageHyperlinks extends LitElement {
4547
4526
  :host {
4548
4527
  display: inline-block;
4549
4528
  }
4550
- button:hover:not(:disabled) {
4551
- color: var(--axebow-gray) !important;
4552
- }
4553
- :host([reverse]) button {
4554
- color: var(--hyperlink-reverse-color, var(--axebow-primary-light, #b4cded));
4555
- }
4556
- :host([reverse]) button:hover:not(:disabled),
4557
- button.reverse:hover:not(:disabled) {
4558
- color: var(--axebow-tertiary, #006bff) !important;
4559
- }
4560
4529
  `];
4561
4530
  }
4562
4531
  _handleClick(e) {
@@ -4565,6 +4534,7 @@ var AxebowManageHyperlinks = class AxebowManageHyperlinks extends LitElement {
4565
4534
  e.stopPropagation();
4566
4535
  return;
4567
4536
  }
4537
+ this.onClick?.(e);
4568
4538
  this.dispatchEvent(new CustomEvent("hyperlink-click", {
4569
4539
  bubbles: true,
4570
4540
  composed: true,
@@ -4572,19 +4542,24 @@ var AxebowManageHyperlinks = class AxebowManageHyperlinks extends LitElement {
4572
4542
  }));
4573
4543
  }
4574
4544
  render() {
4575
- const defaultColor = this.reverse ? "var(--hyperlink-reverse-color, var(--axebow-primary-light))" : "var(--axebow-tertiary)";
4576
- const buttonColor = this.color || defaultColor;
4545
+ const defaultColor = this.reverse ? "var(--hyperlink-reverse-color, var(--axebow-primary-light, #b4cded))" : "var(--axebow-tertiary)";
4546
+ const defaultHoverColor = this.reverse ? "var(--axebow-tertiary, #006bff)" : "var(--axebow-gray)";
4577
4547
  const iconColorProp = this.iconColor || "currentColor";
4578
4548
  return html`
4579
4549
  <button
4580
4550
  type="button"
4581
4551
  ?disabled=${this.disabled}
4582
4552
  @click=${this._handleClick}
4583
- style="color: ${buttonColor};"
4584
- class="inline-flex items-center gap-1.5 bg-transparent border-none p-0 cursor-pointer font-semibold text-sm focus:outline-none transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${this.reverse ? "reverse" : ""}"
4553
+ style="--hyperlink-color: ${this.color || defaultColor}; --hyperlink-hover-color: ${this.hoverColor || defaultHoverColor}; font-size: ${this.fontSize};"
4554
+ class="inline-flex items-center gap-1.5 bg-transparent border-none p-0 cursor-pointer font-semibold text-(--hyperlink-color) enabled:hover:text-(--hyperlink-hover-color) focus:outline-none transition-colors disabled:opacity-50 disabled:cursor-not-allowed"
4585
4555
  >
4586
4556
  <span>${this.text}</span>
4587
- ${this.icon ? html`<axebow-icon iconName="${this.icon}" iconColor="${iconColorProp}" size="sm"></axebow-icon>` : ""}
4557
+ ${this.icon ? html`<axebow-icon
4558
+ iconName="${this.icon}"
4559
+ iconColor="${iconColorProp}"
4560
+ size="${this.iconSize}"
4561
+ class="${this.iconSpin ? "animate-spin" : ""}"
4562
+ ></axebow-icon>` : ""}
4588
4563
  </button>
4589
4564
  `;
4590
4565
  }
@@ -4592,12 +4567,17 @@ var AxebowManageHyperlinks = class AxebowManageHyperlinks extends LitElement {
4592
4567
  __decorate([property({ type: String })], AxebowManageHyperlinks.prototype, "text", void 0);
4593
4568
  __decorate([property({ type: String })], AxebowManageHyperlinks.prototype, "icon", void 0);
4594
4569
  __decorate([property({ type: String })], AxebowManageHyperlinks.prototype, "color", void 0);
4570
+ __decorate([property({ type: String })], AxebowManageHyperlinks.prototype, "hoverColor", void 0);
4571
+ __decorate([property({ type: String })], AxebowManageHyperlinks.prototype, "fontSize", void 0);
4595
4572
  __decorate([property({ type: String })], AxebowManageHyperlinks.prototype, "iconColor", void 0);
4573
+ __decorate([property({ type: String })], AxebowManageHyperlinks.prototype, "iconSize", void 0);
4574
+ __decorate([property({ type: Boolean })], AxebowManageHyperlinks.prototype, "iconSpin", void 0);
4596
4575
  __decorate([property({ type: Boolean })], AxebowManageHyperlinks.prototype, "disabled", void 0);
4597
4576
  __decorate([property({
4598
4577
  type: Boolean,
4599
4578
  reflect: true
4600
4579
  })], AxebowManageHyperlinks.prototype, "reverse", void 0);
4580
+ __decorate([property({ attribute: false })], AxebowManageHyperlinks.prototype, "onClick", void 0);
4601
4581
  AxebowManageHyperlinks = __decorate([customElement("axebow-manage-hyperlinks")], AxebowManageHyperlinks);
4602
4582
  //#endregion
4603
4583
  //#region src/components/axebow-modals-confirmation/axebow-modals-confirmation.ts
@@ -5873,6 +5853,35 @@ __decorate([property({ type: String })], AxebowMoreActions.prototype, "fixedHeig
5873
5853
  __decorate([state()], AxebowMoreActions.prototype, "_fixedPos", void 0);
5874
5854
  AxebowMoreActions = __decorate([customElement("axebow-more-actions")], AxebowMoreActions);
5875
5855
  //#endregion
5856
+ //#region src/components/axebow-badge/axebow-badge.ts
5857
+ var AxebowBadge = class AxebowBadge extends LitElement {
5858
+ constructor(..._args) {
5859
+ super(..._args);
5860
+ this.bgColor = "var(--axebow-base)";
5861
+ this.textColor = "var(--axebow-secondary)";
5862
+ }
5863
+ static {
5864
+ this.styles = [unsafeCSS(tailwind_default), css`
5865
+ :host {
5866
+ display: inline-block;
5867
+ }
5868
+ `];
5869
+ }
5870
+ render() {
5871
+ return html`
5872
+ <div
5873
+ class="inline-flex items-center justify-center h-4 box-border px-2 py-px rounded border border-solid text-xs leading-none font-semibold whitespace-nowrap"
5874
+ style="background-color: ${this.bgColor}; color: ${this.textColor}; border-color: ${this.textColor};"
5875
+ >
5876
+ <slot></slot>
5877
+ </div>
5878
+ `;
5879
+ }
5880
+ };
5881
+ __decorate([property({ type: String })], AxebowBadge.prototype, "bgColor", void 0);
5882
+ __decorate([property({ type: String })], AxebowBadge.prototype, "textColor", void 0);
5883
+ AxebowBadge = __decorate([customElement("axebow-badge")], AxebowBadge);
5884
+ //#endregion
5876
5885
  //#region src/components/cards/parts/axebow-card-cloud-logo.ts
5877
5886
  var AxebowCardCloudLogo = class AxebowCardCloudLogo extends LitElement {
5878
5887
  constructor(..._args) {
@@ -5904,8 +5913,10 @@ var AxebowCardVersionSelector = class AxebowCardVersionSelector extends LitEleme
5904
5913
  this.styles = [unsafeCSS(tailwind_default), css`
5905
5914
  :host {
5906
5915
  display: inline-block;
5907
- width: auto;
5908
- max-width: var(--axebow-card-version-selector-max-width, 120px);
5916
+ box-sizing: border-box;
5917
+ width: 7.8125rem;
5918
+ height: 1.5625rem;
5919
+ max-width: var(--axebow-card-version-selector-max-width, none);
5909
5920
  margin-block: 0.25rem;
5910
5921
  }
5911
5922
  sl-select {
@@ -5921,31 +5932,40 @@ var AxebowCardVersionSelector = class AxebowCardVersionSelector extends LitEleme
5921
5932
  --sl-input-font-size-small: var(--text-base, 0.75rem);
5922
5933
  --sl-font-size-medium: var(--text-base, 0.75rem);
5923
5934
  --sl-spacing-small: 0;
5924
- display: inline-flex !important;
5935
+ display: block !important;
5925
5936
  border: none;
5926
5937
  background: transparent;
5927
5938
  padding: 0;
5928
5939
  margin: 0;
5929
5940
  min-width: 0;
5930
- width: fit-content !important;
5931
- max-width: var(--axebow-card-version-selector-max-width, 120px) !important;
5941
+ width: 100% !important;
5942
+ height: 100%;
5943
+ }
5944
+ sl-select[open] {
5945
+ --axebow-card-version-selector-open-width: 8.1875rem;
5946
+ width: var(--axebow-card-version-selector-open-width) !important;
5932
5947
  }
5933
5948
  sl-select::part(form-control) {
5934
- display: inline-block;
5935
- width: fit-content;
5949
+ display: block;
5950
+ width: 100%;
5951
+ height: 100%;
5936
5952
  border: none;
5937
5953
  background-color: transparent;
5938
5954
  padding: 0;
5939
5955
  min-width: 0;
5940
5956
  }
5941
5957
  sl-select::part(form-control-input) {
5942
- display: inline-block;
5943
- width: fit-content;
5958
+ display: block;
5959
+ width: 100%;
5960
+ height: 100%;
5944
5961
  }
5945
5962
  sl-select::part(display-input) { padding: 0; color: var(--axebow-tertiary); font-size: var(--axebow-card-version-selector-font-size, 0.75rem) !important; transition: color 0.15s ease; }
5946
5963
  sl-select::part(combobox) {
5947
- padding-inline-start: 0.25rem !important;
5948
- padding-block: 0.125rem !important;
5964
+ box-sizing: border-box;
5965
+ width: 100%;
5966
+ height: 1.5625rem;
5967
+ min-height: 1.5625rem;
5968
+ padding: 0.25rem !important;
5949
5969
  gap: 0.25rem !important;
5950
5970
  justify-content: flex-start;
5951
5971
  cursor: pointer;
@@ -5957,6 +5977,7 @@ var AxebowCardVersionSelector = class AxebowCardVersionSelector extends LitEleme
5957
5977
  transition: background-color 0.15s ease;
5958
5978
  }
5959
5979
  sl-select[open]::part(combobox) {
5980
+ width: var(--axebow-card-version-selector-open-width);
5960
5981
  outline-color: var(--axebow-tertiary);
5961
5982
  border-radius: 0.375rem 0.375rem 0 0;
5962
5983
  background-color: white;
@@ -5966,8 +5987,8 @@ var AxebowCardVersionSelector = class AxebowCardVersionSelector extends LitEleme
5966
5987
  align-items: center;
5967
5988
  justify-content: center;
5968
5989
  box-sizing: border-box;
5969
- width: 1.125rem;
5970
- height: 1.125rem;
5990
+ width: 1.0625rem;
5991
+ height: 1.0625rem;
5971
5992
  border: 1px solid var(--axebow-tertiary);
5972
5993
  border-radius: 0.25rem;
5973
5994
  color: var(--axebow-tertiary);
@@ -5980,9 +6001,19 @@ var AxebowCardVersionSelector = class AxebowCardVersionSelector extends LitEleme
5980
6001
  border-radius: 0 0 0.375rem 0.375rem;
5981
6002
  box-shadow: none;
5982
6003
  margin-top: -1px;
5983
- width: var(--axebow-card-version-selector-listbox-width) !important;
6004
+ box-sizing: border-box;
6005
+ width: var(--axebow-card-version-selector-open-width, 8.1875rem);
6006
+ padding: 0;
6007
+ max-height: calc(6.25rem + 0.0625rem);
6008
+ overflow-y: auto;
6009
+ }
6010
+ sl-option::part(base) {
6011
+ box-sizing: border-box;
6012
+ height: 1.5625rem;
6013
+ font-size: 0.75rem;
6014
+ padding-block: 0;
6015
+ padding-inline-start: 0.25rem !important;
5984
6016
  }
5985
- sl-option::part(base) { font-size: 0.75rem; padding-inline-start: 0.25rem !important; }
5986
6017
  sl-option::part(checked-icon) { display: none; }
5987
6018
 
5988
6019
  sl-select:hover:not([open])::part(display-input) { color: var(--axebow-gray); }
@@ -5997,13 +6028,8 @@ var AxebowCardVersionSelector = class AxebowCardVersionSelector extends LitEleme
5997
6028
  }
5998
6029
  updated(changed) {
5999
6030
  super.updated(changed);
6000
- if (changed.has("maxWidth")) if (this.maxWidth) {
6001
- this.style.setProperty("--axebow-card-version-selector-max-width", this.maxWidth);
6002
- this.style.setProperty("--axebow-card-version-selector-listbox-width", this.maxWidth);
6003
- } else {
6004
- this.style.removeProperty("--axebow-card-version-selector-max-width");
6005
- this.style.removeProperty("--axebow-card-version-selector-listbox-width");
6006
- }
6031
+ if (changed.has("maxWidth")) if (this.maxWidth) this.style.setProperty("--axebow-card-version-selector-max-width", this.maxWidth);
6032
+ else this.style.removeProperty("--axebow-card-version-selector-max-width");
6007
6033
  if (changed.has("fontSize")) if (this.fontSize) this.style.setProperty("--axebow-card-version-selector-font-size", this.fontSize);
6008
6034
  else this.style.removeProperty("--axebow-card-version-selector-font-size");
6009
6035
  }
@@ -6114,7 +6140,7 @@ var AxebowCardHeader = class AxebowCardHeader extends LitElement {
6114
6140
  static {
6115
6141
  this.styles = [unsafeCSS(tailwind_default), css`
6116
6142
  :host { display: block; }
6117
- sl-badge::part(base) { background-color: var(--axebow-secondary); color: white; }
6143
+ sl-badge::part(base) { background-color: var(--axebow-primary); color: white; }
6118
6144
  `];
6119
6145
  }
6120
6146
  _renderBadge() {
@@ -6146,7 +6172,8 @@ var AxebowCardHeader = class AxebowCardHeader extends LitElement {
6146
6172
  }
6147
6173
  render() {
6148
6174
  const isTenant = this.cardType === "tenant";
6149
- const isCompact = this.cardType === "environment" || isTenant;
6175
+ const isEnvironment = this.cardType === "environment";
6176
+ const isCompact = isEnvironment || isTenant;
6150
6177
  const isRuntime = this.cardType === "runtime";
6151
6178
  const heightStyle = `height:${this._headerHeight()}`;
6152
6179
  if (isCompact) return html`
@@ -6159,7 +6186,9 @@ var AxebowCardHeader = class AxebowCardHeader extends LitElement {
6159
6186
  </div>
6160
6187
  ` : ""}
6161
6188
  <div class="flex justify-between items-center">
6162
- <span class="font-bold text-lg text-(--axebow-primary) leading-snug pt-0.5">${this.name}</span>
6189
+ ${isEnvironment ? html`<div class="w-58.75 h-5.5 flex items-center">
6190
+ <span class="font-bold text-lg text-(--axebow-primary) leading-snug pt-0.5 truncate">${this.name}</span>
6191
+ </div>` : html`<span class="font-bold text-lg text-(--axebow-primary) leading-snug pt-0.5">${this.name}</span>`}
6163
6192
  ${this._renderBadge()}
6164
6193
  </div>
6165
6194
  ${this.subtitle ? html`
@@ -6233,14 +6262,32 @@ var AxebowCardStatItem = class AxebowCardStatItem extends LitElement {
6233
6262
  this.title = "";
6234
6263
  this.label = "";
6235
6264
  this.active = true;
6265
+ this.ctaCount = 0;
6266
+ this.ctaIconName = "info";
6267
+ this.ctaIconColor = "var(--axebow-error)";
6268
+ this.tall = false;
6236
6269
  }
6237
6270
  static {
6238
6271
  this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
6239
6272
  }
6240
6273
  render() {
6241
6274
  return html`
6242
- <div class="flex flex-col items-center justify-center text-center w-30">
6243
- <h4 class="text-[18px] leading-none text-(--axebow-primary) font-bold m-0 whitespace-nowrap">${this.value}</h4>
6275
+ <div class="flex flex-col items-start justify-center text-left w-23.5 ${this.tall ? "h-17.75" : "h-11.5"}">
6276
+ <div class="flex items-center gap-1">
6277
+ <h4 class="text-[18px] leading-none text-(--axebow-primary) font-bold m-0 whitespace-nowrap">${this.value}</h4>
6278
+ ${this.ctaCount > 0 ? html`
6279
+ <span
6280
+ class="flex items-center gap-0.5 cursor-pointer"
6281
+ style="color: ${this.ctaIconColor};"
6282
+ @click=${this._onCtaClick}
6283
+ >
6284
+ <div class="w-5 h-5 shrink-0 flex items-center justify-center">
6285
+ <axebow-icon iconName=${this.ctaIconName} iconColor=${this.ctaIconColor} size="md"></axebow-icon>
6286
+ </div>
6287
+ <span class="text-base font-semibold leading-none whitespace-nowrap">${this.ctaCount}</span>
6288
+ </span>
6289
+ ` : ""}
6290
+ </div>
6244
6291
  <p class="mt-2 text-base leading-none m-0 whitespace-nowrap">${this.title}</p>
6245
6292
  <div class="mt-1.75 h-3.5 leading-none">
6246
6293
  ${this.label ? html`
@@ -6259,11 +6306,21 @@ var AxebowCardStatItem = class AxebowCardStatItem extends LitElement {
6259
6306
  composed: true
6260
6307
  }));
6261
6308
  }
6309
+ _onCtaClick() {
6310
+ this.dispatchEvent(new CustomEvent("cta-click", {
6311
+ bubbles: true,
6312
+ composed: true
6313
+ }));
6314
+ }
6262
6315
  };
6263
6316
  __decorate([property({ type: Number })], AxebowCardStatItem.prototype, "value", void 0);
6264
6317
  __decorate([property({ type: String })], AxebowCardStatItem.prototype, "title", void 0);
6265
6318
  __decorate([property({ type: String })], AxebowCardStatItem.prototype, "label", void 0);
6266
6319
  __decorate([property({ type: Boolean })], AxebowCardStatItem.prototype, "active", void 0);
6320
+ __decorate([property({ type: Number })], AxebowCardStatItem.prototype, "ctaCount", void 0);
6321
+ __decorate([property({ type: String })], AxebowCardStatItem.prototype, "ctaIconName", void 0);
6322
+ __decorate([property({ type: String })], AxebowCardStatItem.prototype, "ctaIconColor", void 0);
6323
+ __decorate([property({ type: Boolean })], AxebowCardStatItem.prototype, "tall", void 0);
6267
6324
  AxebowCardStatItem = __decorate([customElement("axebow-card-stat-item")], AxebowCardStatItem);
6268
6325
  //#endregion
6269
6326
  //#region src/components/cards/parts/axebow-card-stats-row.ts
@@ -6276,21 +6333,29 @@ var AxebowCardStatsRow = class AxebowCardStatsRow extends LitElement {
6276
6333
  static {
6277
6334
  this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
6278
6335
  }
6279
- _hasButtons() {
6280
- return this.cardType === "account" || this.cardType === "environment" || this.cardType === "tenant";
6281
- }
6282
6336
  render() {
6337
+ const isEnvironment = this.cardType === "environment";
6338
+ const firstGap = isEnvironment ? "mr-6" : "mr-4";
6339
+ const secondGap = isEnvironment ? "mr-7" : "mr-10";
6283
6340
  return html`
6284
- <div class="grid grid-cols-[7.5rem_7.5rem_7.5rem] items-center gap-0.5 w-91 ${this._hasButtons() ? "h-17.75" : "h-11.25"} box-border">
6285
- ${this.stats.map((stat, index) => html`
6341
+ <div class="flex flex-row items-center mx-2 box-border">
6342
+ ${this.stats.map((stat, index) => {
6343
+ return html`
6286
6344
  <axebow-card-stat-item
6345
+ class=${index === 0 && this.stats.length > 1 ? firstGap : index === 1 && this.stats.length > 2 ? secondGap : ""}
6346
+ .tall=${index === 0}
6287
6347
  .value=${stat.value}
6288
6348
  .title=${stat.title}
6289
6349
  .label=${stat.label}
6290
6350
  .active=${stat.active !== false}
6351
+ .ctaCount=${stat.ctaCount ?? 0}
6352
+ .ctaIconName=${stat.ctaIconName ?? "info"}
6353
+ .ctaIconColor=${stat.ctaIconColor ?? "var(--axebow-error)"}
6291
6354
  @label-click=${() => this._handleLabelClick(index)}
6355
+ @cta-click=${() => this._handleCtaClick(index)}
6292
6356
  ></axebow-card-stat-item>
6293
- `)}
6357
+ `;
6358
+ })}
6294
6359
  </div>
6295
6360
  `;
6296
6361
  }
@@ -6301,6 +6366,13 @@ var AxebowCardStatsRow = class AxebowCardStatsRow extends LitElement {
6301
6366
  composed: true
6302
6367
  }));
6303
6368
  }
6369
+ _handleCtaClick(index) {
6370
+ this.dispatchEvent(new CustomEvent("stat-cta-click", {
6371
+ detail: { index },
6372
+ bubbles: true,
6373
+ composed: true
6374
+ }));
6375
+ }
6304
6376
  };
6305
6377
  __decorate([property({ type: Array })], AxebowCardStatsRow.prototype, "stats", void 0);
6306
6378
  __decorate([property({ type: String })], AxebowCardStatsRow.prototype, "cardType", void 0);
@@ -6702,6 +6774,9 @@ var AxebowCardStatus = class AxebowCardStatus extends LitElement {
6702
6774
  this.statusMessage = "";
6703
6775
  this.borderColor = "";
6704
6776
  this.showSpinner = false;
6777
+ this.ctaText = "";
6778
+ this.ctaIconName = "info";
6779
+ this.ctaIconColor = "var(--axebow-error)";
6705
6780
  }
6706
6781
  static {
6707
6782
  this.styles = [unsafeCSS(tailwind_default), css`
@@ -6711,22 +6786,54 @@ var AxebowCardStatus = class AxebowCardStatus extends LitElement {
6711
6786
  `];
6712
6787
  }
6713
6788
  render() {
6789
+ if (this.ctaText) return html`
6790
+ <div
6791
+ class="flex items-center gap-1 min-w-0 w-full text-base whitespace-nowrap cursor-pointer"
6792
+ style="color: ${this.ctaIconColor};"
6793
+ role="button"
6794
+ tabindex="0"
6795
+ @click=${this._onCtaClick}
6796
+ @keydown=${this._onCtaKeydown}
6797
+ >
6798
+ <div class="w-5 h-5 shrink-0 flex items-center justify-center">
6799
+ <axebow-icon iconName=${this.ctaIconName} iconColor=${this.ctaIconColor} size="md"></axebow-icon>
6800
+ </div>
6801
+ <p class="m-0 truncate">${this.ctaText}</p>
6802
+ </div>
6803
+ `;
6714
6804
  if (!this.statusCode) return html`<div class="w-full whitespace-nowrap overflow-hidden text-ellipsis"><slot></slot></div>`;
6715
6805
  return html`
6716
6806
  <div class="flex items-center gap-1 min-w-0 w-full">
6717
- ${this.showSpinner ? html`<sl-spinner style="--indicator-color:${this.borderColor};"></sl-spinner>` : ""}
6718
- <p class="font-bold m-0 line-clamp-1" style="color:${this.borderColor};" title=${this.statusCode}>${this.statusCode}</p>
6719
6807
  <axebow-tooltip content=${this.statusMessage}>
6720
- <axebow-icon class="cursor-pointer shrink-0" iconColor=${this.borderColor} iconName="info" size="md"></axebow-icon>
6808
+ <div class="w-5 h-5 shrink-0 flex items-center justify-center">
6809
+ <axebow-icon class="cursor-pointer" iconColor=${this.borderColor} iconName="info" size="md"></axebow-icon>
6810
+ </div>
6721
6811
  </axebow-tooltip>
6812
+ <p class="font-bold m-0 line-clamp-1" style="color:${this.borderColor};" title=${this.statusCode}>${this.statusCode}</p>
6813
+ ${this.showSpinner ? html`<sl-spinner style="--indicator-color:${this.borderColor};"></sl-spinner>` : ""}
6722
6814
  </div>
6723
6815
  `;
6724
6816
  }
6817
+ _onCtaClick() {
6818
+ this.dispatchEvent(new CustomEvent("cta-click", {
6819
+ bubbles: true,
6820
+ composed: true
6821
+ }));
6822
+ }
6823
+ _onCtaKeydown(e) {
6824
+ if (e.key === "Enter" || e.key === " ") {
6825
+ e.preventDefault();
6826
+ this._onCtaClick();
6827
+ }
6828
+ }
6725
6829
  };
6726
6830
  __decorate([property({ type: String })], AxebowCardStatus.prototype, "statusCode", void 0);
6727
6831
  __decorate([property({ type: String })], AxebowCardStatus.prototype, "statusMessage", void 0);
6728
6832
  __decorate([property({ type: String })], AxebowCardStatus.prototype, "borderColor", void 0);
6729
6833
  __decorate([property({ type: Boolean })], AxebowCardStatus.prototype, "showSpinner", void 0);
6834
+ __decorate([property({ type: String })], AxebowCardStatus.prototype, "ctaText", void 0);
6835
+ __decorate([property({ type: String })], AxebowCardStatus.prototype, "ctaIconName", void 0);
6836
+ __decorate([property({ type: String })], AxebowCardStatus.prototype, "ctaIconColor", void 0);
6730
6837
  AxebowCardStatus = __decorate([customElement("axebow-card-status")], AxebowCardStatus);
6731
6838
  //#endregion
6732
6839
  //#region src/components/cards/parts/axebow-card-footer.ts
@@ -6744,6 +6851,9 @@ var AxebowCardFooter = class AxebowCardFooter extends LitElement {
6744
6851
  this.closeLabel = "Close";
6745
6852
  this.moreActionsLabel = "More";
6746
6853
  this.actionLabel = "";
6854
+ this.ctaText = "";
6855
+ this.ctaIconName = "info";
6856
+ this.ctaIconColor = "var(--axebow-error)";
6747
6857
  }
6748
6858
  static {
6749
6859
  this.styles = [unsafeCSS(tailwind_default), css`:host { display: block; }`];
@@ -6758,6 +6868,9 @@ var AxebowCardFooter = class AxebowCardFooter extends LitElement {
6758
6868
  .statusMessage=${this.statusMessage}
6759
6869
  .borderColor=${this.borderColor}
6760
6870
  .showSpinner=${this.showSpinner}
6871
+ .ctaText=${this.ctaText}
6872
+ .ctaIconName=${this.ctaIconName}
6873
+ .ctaIconColor=${this.ctaIconColor}
6761
6874
  >
6762
6875
  <slot></slot>
6763
6876
  </axebow-card-status>
@@ -6810,6 +6923,9 @@ __decorate([property({ type: Array })], AxebowCardFooter.prototype, "moreActions
6810
6923
  __decorate([property({ type: String })], AxebowCardFooter.prototype, "closeLabel", void 0);
6811
6924
  __decorate([property({ type: String })], AxebowCardFooter.prototype, "moreActionsLabel", void 0);
6812
6925
  __decorate([property({ type: String })], AxebowCardFooter.prototype, "actionLabel", void 0);
6926
+ __decorate([property({ type: String })], AxebowCardFooter.prototype, "ctaText", void 0);
6927
+ __decorate([property({ type: String })], AxebowCardFooter.prototype, "ctaIconName", void 0);
6928
+ __decorate([property({ type: String })], AxebowCardFooter.prototype, "ctaIconColor", void 0);
6813
6929
  AxebowCardFooter = __decorate([customElement("axebow-card-footer")], AxebowCardFooter);
6814
6930
  //#endregion
6815
6931
  //#region src/components/cards/axebow-base-card.ts
@@ -6850,6 +6966,12 @@ var AxebowBaseCard = class AxebowBaseCard extends LitElement {
6850
6966
  this.statusCode = "";
6851
6967
  this.statusMessage = "";
6852
6968
  this.serviceDetailLabel = "Service detail";
6969
+ this.ctaText = "";
6970
+ this.ctaIconName = "info";
6971
+ this.ctaIconColor = "var(--axebow-error)";
6972
+ this.ctaBadgeLabel = "";
6973
+ this.ctaBadgeBgColor = "var(--axebow-base)";
6974
+ this.ctaBadgeTextColor = "var(--axebow-secondary)";
6853
6975
  this.showActionBanner = false;
6854
6976
  this.showWarningBanner = false;
6855
6977
  this.manageLabel = "Manage";
@@ -6938,9 +7060,9 @@ var AxebowBaseCard = class AxebowBaseCard extends LitElement {
6938
7060
 
6939
7061
  <div class="w-full flex flex-col gap-2">
6940
7062
  ${isRuntime ? html`
6941
- <div class="flex flex-row justify-between items-center h-6.75 overflow-hidden">
7063
+ <div class="flex flex-row justify-between items-center h-6.75 overflow-hidden px-2 py-[0.71875rem]">
6942
7064
  <span class="deploy-time text-(--axebow-black) pl-2"><slot name="time-elapsed"></slot></span>
6943
- ${this.isDeployed ? html`<div class="pr-2"><span class="inline-flex items-center justify-center w-15.5 h-4 box-border border border-[#0ECD9A80] text-(--axebow-success) bg-[#F3FDFA] rounded whitespace-nowrap text-xs">${this.deployedLabel}</span></div>` : ""}
7065
+ ${this.ctaBadgeLabel ? html`<axebow-badge bgColor=${this.ctaBadgeBgColor} textColor=${this.ctaBadgeTextColor}>${this.ctaBadgeLabel}</axebow-badge>` : this.isDeployed ? html`<div class="pr-2"><span class="inline-flex items-center justify-center w-15.5 h-4 box-border border border-[#0ECD9A80] text-(--axebow-success) bg-[#F3FDFA] rounded whitespace-nowrap text-xs">${this.deployedLabel}</span></div>` : ""}
6944
7066
  </div>
6945
7067
  ` : html`
6946
7068
  <axebow-card-stats-row
@@ -6950,6 +7072,11 @@ var AxebowBaseCard = class AxebowBaseCard extends LitElement {
6950
7072
  detail: e.detail,
6951
7073
  bubbles: true,
6952
7074
  composed: true
7075
+ }))}
7076
+ @stat-cta-click=${(e) => !this.isDeleting && this.dispatchEvent(new CustomEvent("stat-cta-click", {
7077
+ detail: e.detail,
7078
+ bubbles: true,
7079
+ composed: true
6953
7080
  }))}
6954
7081
  ></axebow-card-stats-row>
6955
7082
  `}
@@ -7045,6 +7172,9 @@ var AxebowBaseCard = class AxebowBaseCard extends LitElement {
7045
7172
  .closeLabel=${this.closeLabel}
7046
7173
  .moreActionsLabel=${this.moreActionsLabel}
7047
7174
  .actionLabel=${isRuntime ? this.serviceDetailLabel : ""}
7175
+ .ctaText=${this.ctaText}
7176
+ .ctaIconName=${this.ctaIconName}
7177
+ .ctaIconColor=${this.ctaIconColor}
7048
7178
  @more-actions-toggled=${(e) => this.dispatchEvent(new CustomEvent("more-actions-toggled", {
7049
7179
  detail: e.detail,
7050
7180
  bubbles: true,
@@ -7097,6 +7227,12 @@ __decorate([property({ type: String })], AxebowBaseCard.prototype, "borderColor"
7097
7227
  __decorate([property({ type: String })], AxebowBaseCard.prototype, "statusCode", void 0);
7098
7228
  __decorate([property({ type: String })], AxebowBaseCard.prototype, "statusMessage", void 0);
7099
7229
  __decorate([property({ type: String })], AxebowBaseCard.prototype, "serviceDetailLabel", void 0);
7230
+ __decorate([property({ type: String })], AxebowBaseCard.prototype, "ctaText", void 0);
7231
+ __decorate([property({ type: String })], AxebowBaseCard.prototype, "ctaIconName", void 0);
7232
+ __decorate([property({ type: String })], AxebowBaseCard.prototype, "ctaIconColor", void 0);
7233
+ __decorate([property({ type: String })], AxebowBaseCard.prototype, "ctaBadgeLabel", void 0);
7234
+ __decorate([property({ type: String })], AxebowBaseCard.prototype, "ctaBadgeBgColor", void 0);
7235
+ __decorate([property({ type: String })], AxebowBaseCard.prototype, "ctaBadgeTextColor", void 0);
7100
7236
  __decorate([property({ type: Boolean })], AxebowBaseCard.prototype, "showActionBanner", void 0);
7101
7237
  __decorate([property({ type: Boolean })], AxebowBaseCard.prototype, "showWarningBanner", void 0);
7102
7238
  __decorate([property({ type: String })], AxebowBaseCard.prototype, "manageLabel", void 0);
@@ -7844,20 +7980,16 @@ var AxebowPill = class AxebowPill extends LitElement {
7844
7980
  height: 100%;
7845
7981
  }
7846
7982
  .pill {
7847
- transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
7983
+ transition: background-color 0.2s ease-in-out;
7848
7984
  }
7849
7985
  .pill:hover {
7850
- background-color: white !important;
7986
+ background-color: var(--axebow-base) !important;
7851
7987
  --axebow-icon-color: var(--axebow-primary) !important;
7852
7988
  --hyperlink-reverse-color: var(--axebow-tertiary, #006bff) !important;
7853
- box-shadow: 0 8px 20px -4px rgba(13, 24, 33, 0.12);
7854
7989
  }
7855
7990
  .pill:hover p {
7856
7991
  color: var(--axebow-primary) !important;
7857
7992
  }
7858
- .pill:hover img {
7859
- filter: brightness(0.2);
7860
- }
7861
7993
  `];
7862
7994
  }
7863
7995
  render() {
@@ -8677,9 +8809,18 @@ var AxebowTenantResourceTable = class AxebowTenantResourceTable extends LitEleme
8677
8809
  }
8678
8810
  _toggle(id) {
8679
8811
  const next = new Set(this._expanded);
8680
- if (next.has(id)) next.delete(id);
8681
- else next.add(id);
8812
+ const willExpand = !next.has(id);
8813
+ if (willExpand) next.add(id);
8814
+ else next.delete(id);
8682
8815
  this._expanded = next;
8816
+ this.dispatchEvent(new CustomEvent("row-toggle", {
8817
+ detail: {
8818
+ id,
8819
+ expanded: willExpand
8820
+ },
8821
+ bubbles: true,
8822
+ composed: true
8823
+ }));
8683
8824
  }
8684
8825
  get _activeLabels() {
8685
8826
  const title = this.labels?.rowTitle ?? this.labels?.accountsEnv ?? DEFAULT_LABELS.rowTitle;
@@ -8753,13 +8894,21 @@ var AxebowTenantResourceTable = class AxebowTenantResourceTable extends LitEleme
8753
8894
  }
8754
8895
  _renderStatusIcon(icon) {
8755
8896
  if (!icon) return "";
8756
- const iconEl = icon.spinner ? html`<sl-spinner style="font-size: 0.85rem; --indicator-color: var(--axebow-tertiary);"></sl-spinner>` : html`<axebow-icon
8757
- iconName=${icon.iconName}
8758
- iconColor=${icon.iconColor}
8759
- size="md"
8760
- class="cursor-pointer shrink-0"
8761
- ></axebow-icon>`;
8762
- return icon.tooltip ? html`<axebow-tooltip content=${icon.tooltip}>${iconEl}</axebow-tooltip>` : iconEl;
8897
+ const content = html`
8898
+ <div
8899
+ class="flex items-center gap-1 shrink-0 cursor-pointer"
8900
+ @click=${icon.onClick ? (e) => {
8901
+ e.stopPropagation();
8902
+ icon.onClick();
8903
+ } : null}
8904
+ >
8905
+ <div class="w-5 h-5 shrink-0 flex items-center justify-center">
8906
+ ${icon.spinner ? html`<sl-spinner style="font-size: 0.85rem; --indicator-color: var(--axebow-tertiary);"></sl-spinner>` : html`<axebow-icon iconName=${icon.iconName} iconColor=${icon.iconColor} size="md"></axebow-icon>`}
8907
+ </div>
8908
+ ${icon.label ? html`<span class="text-sm font-semibold" style="color: ${icon.iconColor};">: ${icon.label}</span>` : ""}
8909
+ </div>
8910
+ `;
8911
+ return icon.tooltip ? html`<axebow-tooltip content=${icon.tooltip}>${content}</axebow-tooltip>` : content;
8763
8912
  }
8764
8913
  _renderTableRow(row, index) {
8765
8914
  const children = row.subRows ?? row.environments;
@@ -8785,7 +8934,10 @@ var AxebowTenantResourceTable = class AxebowTenantResourceTable extends LitEleme
8785
8934
  ></axebow-icon>
8786
8935
  ` : ""}
8787
8936
  ${row.logoUrl ? html`<img src=${row.logoUrl} alt="logo" class="w-5 h-5 object-contain shrink-0" />` : ""}
8788
- <span class="truncate">${row.name}</span>
8937
+ <div class="w-38 min-w-0 h-[2.125rem] flex items-center">
8938
+ <span class="line-clamp-2 wrap-break-word leading-[1.0625rem]">${row.name}</span>
8939
+ </div>
8940
+ ${this._renderStatusIcon(row.ctaIcon)}
8789
8941
  ${this._renderStatusIcon(row.statusIcon)}
8790
8942
  <span class="flex-1"></span>
8791
8943
  ${this._renderStatusIcon(row.warningIcon)}
@@ -8842,7 +8994,10 @@ var AxebowTenantResourceTable = class AxebowTenantResourceTable extends LitEleme
8842
8994
  class="shrink-0 pl-8"
8843
8995
  ></axebow-icon>
8844
8996
  ${subRow.logoUrl ? html`<img src=${subRow.logoUrl} class="w-5 h-5 object-contain shrink-0" />` : ""}
8845
- <span class="font-normal text-gray-700 truncate">${subRow.name}</span>
8997
+ <div class="w-44 min-w-0 h-[2.125rem] flex items-center">
8998
+ <span class="font-normal text-gray-700 line-clamp-2 wrap-break-word leading-[1.0625rem]">${subRow.name}</span>
8999
+ </div>
9000
+ ${this._renderStatusIcon(subRow.ctaIcon)}
8846
9001
  <span class="flex-1"></span>
8847
9002
  ${this._renderStatusIcon(subRow.warningIcon)}
8848
9003
  </div>
@@ -8865,7 +9020,10 @@ var AxebowTenantResourceTable = class AxebowTenantResourceTable extends LitEleme
8865
9020
  fixedWidth="9.9375rem"
8866
9021
  fixedHeight="2rem"
8867
9022
  ?disabled=${actionBtnDisabled}
8868
- @click=${() => onActionBtn?.()}
9023
+ @click=${() => {
9024
+ if (actionBtnDisabled) return;
9025
+ onActionBtn?.();
9026
+ }}
8869
9027
  >
8870
9028
  ${actionBtnLabel}
8871
9029
  </axebow-button>` : ""}
@@ -9229,6 +9387,116 @@ __decorate([property({ type: String })], AxebowServiceDetailHeader.prototype, "a
9229
9387
  __decorate([property({ type: String })], AxebowServiceDetailHeader.prototype, "deployLabel", void 0);
9230
9388
  AxebowServiceDetailHeader = __decorate([customElement("axebow-service-detail-header")], AxebowServiceDetailHeader);
9231
9389
  //#endregion
9390
+ //#region src/components/axebow-call-to-action-row/axebow-call-to-action-row.ts
9391
+ var CRITICALITY_STYLES = {
9392
+ critical: {
9393
+ bg: "var(--axebow-critical-bg)",
9394
+ color: "var(--axebow-error)",
9395
+ iconName: "error"
9396
+ },
9397
+ high: {
9398
+ bg: "var(--axebow-high-bg)",
9399
+ color: "var(--axebow-dark-yellow)",
9400
+ iconName: "warning"
9401
+ },
9402
+ low: {
9403
+ bg: "var(--axebow-base)",
9404
+ color: "var(--axebow-secondary)",
9405
+ iconName: "info"
9406
+ }
9407
+ };
9408
+ var AxebowCallToActionRow = class AxebowCallToActionRow extends LitElement {
9409
+ constructor(..._args) {
9410
+ super(..._args);
9411
+ this.criticality = "low";
9412
+ this.heading = "";
9413
+ this.badgeLabel = "";
9414
+ this.description = "";
9415
+ this.buttons = [];
9416
+ this.lowNoteText = "";
9417
+ this.count = 1;
9418
+ }
9419
+ static {
9420
+ this.styles = [
9421
+ unsafeCSS(tailwind_default),
9422
+ axebowTheme,
9423
+ css`
9424
+ :host {
9425
+ display: block;
9426
+ width: 100%;
9427
+ }
9428
+ `
9429
+ ];
9430
+ }
9431
+ render() {
9432
+ const { bg, color, iconName } = CRITICALITY_STYLES[this.criticality] ?? CRITICALITY_STYLES.low;
9433
+ return html`
9434
+ <div class="w-full box-border border-t border-solid border-(--axebow-table-header-border) bg-white p-4 flex flex-row items-center gap-4">
9435
+ <div class="w-10 h-10 rounded-md shrink-0 flex items-center justify-center" style="background-color: ${bg};">
9436
+ <div class="w-6 h-6 flex items-center justify-center">
9437
+ <axebow-icon iconName=${iconName} iconColor=${color} size="2xl"></axebow-icon>
9438
+ </div>
9439
+ </div>
9440
+
9441
+ <div class="flex-1 min-w-0 flex flex-col gap-1">
9442
+ <div class="w-full flex flex-row items-center gap-2">
9443
+ <span class="text-base font-semibold truncate">${this.heading}</span>
9444
+ ${this.badgeLabel ? html`<axebow-badge bgColor=${bg} textColor=${color}>${this.badgeLabel}</axebow-badge>` : ""}
9445
+ ${this.count > 1 ? html`<div
9446
+ class="w-5 h-5 shrink-0 rounded-full flex items-center justify-center text-sm font-semibold"
9447
+ style="background-color: ${bg}; color: ${color};"
9448
+ >
9449
+ ${this.count}
9450
+ </div>` : ""}
9451
+ </div>
9452
+ <div class="w-full text-(--axebow-gray)">${this.description}</div>
9453
+ </div>
9454
+
9455
+ ${this.criticality === "low" ? this._renderLowNote() : this._renderButtons()}
9456
+ </div>
9457
+ `;
9458
+ }
9459
+ _renderLowNote() {
9460
+ return html`
9461
+ <div
9462
+ class="w-91 h-11 shrink-0 box-border rounded-md py-1 px-3 flex items-center text-(--axebow-gray)"
9463
+ style="background-color: var(--axebow-base);"
9464
+ >
9465
+ ${this.lowNoteText}
9466
+ </div>
9467
+ `;
9468
+ }
9469
+ _renderButtons() {
9470
+ if (!this.buttons.length) return "";
9471
+ return html`
9472
+ <div class="flex flex-row items-center gap-4 shrink-0">
9473
+ ${this.buttons.map((button) => html`
9474
+ <axebow-button
9475
+ variant=${button.variant ?? "primary"}
9476
+ ?outline=${button.outline ?? false}
9477
+ @click=${() => button.onClick?.()}
9478
+ >
9479
+ ${button.label}
9480
+ ${button.iconName ? html`<axebow-icon
9481
+ slot="suffix"
9482
+ iconName=${button.iconName}
9483
+ iconColor=${button.iconColor ?? "currentColor"}
9484
+ ></axebow-icon>` : ""}
9485
+ </axebow-button>
9486
+ `)}
9487
+ </div>
9488
+ `;
9489
+ }
9490
+ };
9491
+ __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "criticality", void 0);
9492
+ __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "heading", void 0);
9493
+ __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "badgeLabel", void 0);
9494
+ __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "description", void 0);
9495
+ __decorate([property({ type: Array })], AxebowCallToActionRow.prototype, "buttons", void 0);
9496
+ __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "lowNoteText", void 0);
9497
+ __decorate([property({ type: Number })], AxebowCallToActionRow.prototype, "count", void 0);
9498
+ AxebowCallToActionRow = __decorate([customElement("axebow-call-to-action-row")], AxebowCallToActionRow);
9499
+ //#endregion
9232
9500
  //#region src/components/axebow-tenant-card/axebow-tenant-card.ts
9233
9501
  var AxebowTenantCard = class AxebowTenantCard extends LitElement {
9234
9502
  constructor(..._args) {
@@ -9251,6 +9519,9 @@ var AxebowTenantCard = class AxebowTenantCard extends LitElement {
9251
9519
  this.invitedNoticeText = "";
9252
9520
  this.showNoAccountsWarning = false;
9253
9521
  this.noAccountsWarningText = "";
9522
+ this.showCallToActionIssues = false;
9523
+ this.callToActionIssuesText = "";
9524
+ this.callToActionCriticality = "low";
9254
9525
  this.contentState = "table";
9255
9526
  this.invitationText = "";
9256
9527
  this.emptyTextPrefix = "";
@@ -9267,6 +9538,13 @@ var AxebowTenantCard = class AxebowTenantCard extends LitElement {
9267
9538
  display: block;
9268
9539
  width: 100%;
9269
9540
  }
9541
+ .create-account-button::part(base):hover {
9542
+ background-color: var(--axebow-base);
9543
+ color: var(--axebow-gray);
9544
+ width: 7.8125rem;
9545
+ height: 2rem;
9546
+ border-radius: 0.375rem;
9547
+ }
9270
9548
  `];
9271
9549
  }
9272
9550
  _renderPlanBadge() {
@@ -9302,6 +9580,7 @@ var AxebowTenantCard = class AxebowTenantCard extends LitElement {
9302
9580
  return html`
9303
9581
  <div class="flex items-center gap-4">
9304
9582
  ${this.showCreateAccount ? html`<axebow-button
9583
+ class="create-account-button"
9305
9584
  variant="text"
9306
9585
  fixedWidth="7.8125rem"
9307
9586
  fixedHeight="2rem"
@@ -9329,11 +9608,10 @@ var AxebowTenantCard = class AxebowTenantCard extends LitElement {
9329
9608
  <div class="w-full h-14.25 rounded-md bg-(--axebow-base) flex items-center justify-center text-center px-4 box-border">
9330
9609
  <span class="text-base">
9331
9610
  ${this.emptyTextPrefix}
9332
- <span
9333
- class="text-(--axebow-tertiary) font-bold cursor-pointer hover:underline"
9334
- @click=${() => this.onEmptyCreateAccount?.()}
9335
- >${this.emptyCreateAccountLabel}</span
9336
- >
9611
+ <axebow-manage-hyperlinks
9612
+ .text=${this.emptyCreateAccountLabel}
9613
+ .onClick=${() => this.onEmptyCreateAccount?.()}
9614
+ ></axebow-manage-hyperlinks>
9337
9615
  ${this.emptyTextSuffix}
9338
9616
  </span>
9339
9617
  </div>
@@ -9381,10 +9659,23 @@ var AxebowTenantCard = class AxebowTenantCard extends LitElement {
9381
9659
  </span>
9382
9660
  `)}
9383
9661
  </div>
9384
- ${this.showInvitedNotice ? html`<span class="text-base text-black">${this.invitedNoticeText}</span>` : this.showNoAccountsWarning ? html`<span class="flex items-center gap-1 text-base text-black">
9385
- <axebow-icon iconName="warning" iconColor="var(--axebow-warning)" size="md"></axebow-icon>
9386
- ${this.noAccountsWarningText}
9387
- </span>` : ""}
9662
+ ${this.showInvitedNotice ? html`<span class="text-base text-black">${this.invitedNoticeText}</span>` : this.showCallToActionIssues ? html`<span
9663
+ class="flex items-center gap-1 text-base cursor-pointer"
9664
+ style="color: ${CRITICALITY_STYLES[this.callToActionCriticality].color};"
9665
+ @click=${() => this.onCallToActionClick?.()}
9666
+ >
9667
+ <div class="w-5 h-5 shrink-0 flex items-center justify-center">
9668
+ <axebow-icon
9669
+ iconName=${CRITICALITY_STYLES[this.callToActionCriticality].iconName}
9670
+ iconColor=${CRITICALITY_STYLES[this.callToActionCriticality].color}
9671
+ size="md"
9672
+ ></axebow-icon>
9673
+ </div>
9674
+ ${this.callToActionIssuesText}
9675
+ </span>` : this.showNoAccountsWarning ? html`<span class="flex items-center gap-1 text-base text-black">
9676
+ <axebow-icon iconName="warning" iconColor="var(--axebow-warning)" size="md"></axebow-icon>
9677
+ ${this.noAccountsWarningText}
9678
+ </span>` : ""}
9388
9679
  </div>
9389
9680
 
9390
9681
  <div class="w-full">
@@ -9417,6 +9708,10 @@ __decorate([property({ type: Boolean })], AxebowTenantCard.prototype, "showInvit
9417
9708
  __decorate([property({ type: String })], AxebowTenantCard.prototype, "invitedNoticeText", void 0);
9418
9709
  __decorate([property({ type: Boolean })], AxebowTenantCard.prototype, "showNoAccountsWarning", void 0);
9419
9710
  __decorate([property({ type: String })], AxebowTenantCard.prototype, "noAccountsWarningText", void 0);
9711
+ __decorate([property({ type: Boolean })], AxebowTenantCard.prototype, "showCallToActionIssues", void 0);
9712
+ __decorate([property({ type: String })], AxebowTenantCard.prototype, "callToActionIssuesText", void 0);
9713
+ __decorate([property({ type: String })], AxebowTenantCard.prototype, "callToActionCriticality", void 0);
9714
+ __decorate([property({ attribute: false })], AxebowTenantCard.prototype, "onCallToActionClick", void 0);
9420
9715
  __decorate([property({ type: String })], AxebowTenantCard.prototype, "contentState", void 0);
9421
9716
  __decorate([property({ type: String })], AxebowTenantCard.prototype, "invitationText", void 0);
9422
9717
  __decorate([property({ type: String })], AxebowTenantCard.prototype, "emptyTextPrefix", void 0);
@@ -9668,41 +9963,90 @@ __decorate([state()], AxebowCarouselSelectorTenant.prototype, "_slidesPerPage",
9668
9963
  __decorate([query("sl-carousel")], AxebowCarouselSelectorTenant.prototype, "_carouselEl", void 0);
9669
9964
  AxebowCarouselSelectorTenant = __decorate([customElement("axebow-carousel-selector-tenant")], AxebowCarouselSelectorTenant);
9670
9965
  //#endregion
9671
- //#region src/components/axebow-expandable-header/axebow-expandable-header.ts
9672
- var AxebowExpandableHeader = class AxebowExpandableHeader extends LitElement {
9966
+ //#region src/components/axebow-hyperlink-switch/axebow-hyperlink-switch.ts
9967
+ var AxebowHyperlinkSwitch = class AxebowHyperlinkSwitch extends LitElement {
9673
9968
  constructor(..._args) {
9674
9969
  super(..._args);
9675
- this.title = "";
9676
- this.expanded = false;
9677
- this.stateLabel = "";
9678
- this.tooltipContent = "";
9970
+ this.text = "";
9971
+ this.checked = false;
9972
+ this.color = "var(--axebow-tertiary)";
9973
+ this.hoverColor = "var(--axebow-gray)";
9974
+ this.fontSize = "0.875rem";
9679
9975
  }
9680
9976
  static {
9681
9977
  this.styles = [unsafeCSS(tailwind_default), css`
9682
9978
  :host {
9683
- display: block;
9979
+ display: inline-block;
9684
9980
  }
9685
9981
  `];
9982
+ }
9983
+ _renderSwitch() {
9984
+ const toggle = html`<axebow-switch
9985
+ width=${ifDefined(this.switchWidth)}
9986
+ height=${ifDefined(this.switchHeight)}
9987
+ .checked=${this.checked}
9988
+ .onChange=${(checked) => this.onChange?.(checked)}
9989
+ ></axebow-switch>`;
9990
+ return this.switchWidth && this.switchHeight ? html`<div class="shrink-0 overflow-hidden" style="width: ${this.switchWidth}; height: ${this.switchHeight};">
9991
+ ${toggle}
9992
+ </div>` : toggle;
9686
9993
  }
9687
9994
  render() {
9688
9995
  return html`
9689
- <axebow-divider margin="0"></axebow-divider>
9690
- <div
9691
- class="flex items-center gap-2 flex-wrap pt-4"
9692
- style="padding-bottom: ${this.expanded ? "1.09375rem" : "1rem"};"
9693
- >
9694
- <h3 class="text-base font-semibold text-(--axebow-tertiary) hover:text-(--axebow-gray) cursor-pointer m-0">
9695
- ${this.title}
9696
- </h3>
9697
- <div class="w-10 h-5 shrink-0 overflow-hidden">
9698
- <axebow-switch
9699
- width="2.5rem"
9700
- height="1.25rem"
9701
- .checked=${this.expanded}
9702
- .onChange=${(checked) => this.onToggle?.(checked)}
9703
- >
9704
- </axebow-switch>
9705
- </div>
9996
+ <div class="inline-flex items-center gap-2">
9997
+ <axebow-manage-hyperlinks
9998
+ class="${this.checked ? "" : "opacity-50"}"
9999
+ .text=${this.text}
10000
+ .color=${this.checked ? this.color : "var(--axebow-gray)"}
10001
+ .hoverColor=${this.checked ? this.hoverColor : "var(--axebow-gray)"}
10002
+ .fontSize=${this.fontSize}
10003
+ .onClick=${() => this.onChange?.(!this.checked)}
10004
+ ></axebow-manage-hyperlinks>
10005
+ ${this._renderSwitch()}
10006
+ </div>
10007
+ `;
10008
+ }
10009
+ };
10010
+ __decorate([property({ type: String })], AxebowHyperlinkSwitch.prototype, "text", void 0);
10011
+ __decorate([property({ type: Boolean })], AxebowHyperlinkSwitch.prototype, "checked", void 0);
10012
+ __decorate([property({ type: String })], AxebowHyperlinkSwitch.prototype, "color", void 0);
10013
+ __decorate([property({ type: String })], AxebowHyperlinkSwitch.prototype, "hoverColor", void 0);
10014
+ __decorate([property({ type: String })], AxebowHyperlinkSwitch.prototype, "fontSize", void 0);
10015
+ __decorate([property({ type: String })], AxebowHyperlinkSwitch.prototype, "switchWidth", void 0);
10016
+ __decorate([property({ type: String })], AxebowHyperlinkSwitch.prototype, "switchHeight", void 0);
10017
+ __decorate([property({ attribute: false })], AxebowHyperlinkSwitch.prototype, "onChange", void 0);
10018
+ AxebowHyperlinkSwitch = __decorate([customElement("axebow-hyperlink-switch")], AxebowHyperlinkSwitch);
10019
+ //#endregion
10020
+ //#region src/components/axebow-expandable-header/axebow-expandable-header.ts
10021
+ var AxebowExpandableHeader = class AxebowExpandableHeader extends LitElement {
10022
+ constructor(..._args) {
10023
+ super(..._args);
10024
+ this.title = "";
10025
+ this.expanded = false;
10026
+ this.stateLabel = "";
10027
+ this.tooltipContent = "";
10028
+ }
10029
+ static {
10030
+ this.styles = [unsafeCSS(tailwind_default), css`
10031
+ :host {
10032
+ display: block;
10033
+ }
10034
+ `];
10035
+ }
10036
+ render() {
10037
+ return html`
10038
+ <axebow-divider margin="0"></axebow-divider>
10039
+ <div
10040
+ class="flex items-center gap-2 flex-wrap pt-4"
10041
+ style="padding-bottom: ${this.expanded ? "1.09375rem" : "1rem"};"
10042
+ >
10043
+ <axebow-hyperlink-switch
10044
+ .text=${this.title}
10045
+ .checked=${this.expanded}
10046
+ switchWidth="2.5rem"
10047
+ switchHeight="1.25rem"
10048
+ .onChange=${(checked) => this.onToggle?.(checked)}
10049
+ ></axebow-hyperlink-switch>
9706
10050
  <span class="text-sm text-(--axebow-gray) italic">${this.stateLabel}</span>
9707
10051
  <axebow-tooltip content="${this.tooltipContent}">
9708
10052
  <axebow-icon iconName="help" iconColor="var(--axebow-primary)" size="md" filled></axebow-icon>
@@ -10414,23 +10758,6 @@ var AxebowRefreshPeriodPanel = class AxebowRefreshPeriodPanel extends LitElement
10414
10758
  :host {
10415
10759
  display: block;
10416
10760
  }
10417
- .refresh-spin {
10418
- animation: spin 1s linear infinite;
10419
- }
10420
- @keyframes spin {
10421
- from {
10422
- transform: rotate(0deg);
10423
- }
10424
- to {
10425
- transform: rotate(360deg);
10426
- }
10427
- }
10428
- .refresh-now-button {
10429
- transition: color 0.15s ease;
10430
- }
10431
- .refresh-now-button:hover:not([disabled]) {
10432
- color: var(--axebow-gray);
10433
- }
10434
10761
  `
10435
10762
  ];
10436
10763
  }
@@ -10465,19 +10792,15 @@ var AxebowRefreshPeriodPanel = class AxebowRefreshPeriodPanel extends LitElement
10465
10792
  `)}
10466
10793
  </sl-menu>
10467
10794
  </sl-dropdown>
10468
- <button
10469
- class="refresh-now-button text-(--axebow-tertiary) flex items-center gap-2 cursor-pointer ${this.isManualRefreshing ? "opacity-70" : ""}"
10470
- @click=${this._handleRefreshNow}
10471
- ?disabled=${this.isManualRefreshing}
10472
- >
10473
- <p class="font-bold">${this.refreshNowLabel}</p>
10474
- <axebow-icon
10475
- iconName="cached"
10476
- size="3xl"
10477
- iconColor="currentColor"
10478
- class="${this.isManualRefreshing ? "refresh-spin" : ""}"
10479
- ></axebow-icon>
10480
- </button>
10795
+ <div class="${this.isManualRefreshing ? "opacity-70 pointer-events-none" : ""}">
10796
+ <axebow-manage-hyperlinks
10797
+ .text=${this.refreshNowLabel}
10798
+ icon="cached"
10799
+ iconSize="3xl"
10800
+ .iconSpin=${this.isManualRefreshing}
10801
+ .onClick=${this._handleRefreshNow}
10802
+ ></axebow-manage-hyperlinks>
10803
+ </div>
10481
10804
  </div>
10482
10805
  </div>
10483
10806
  `;
@@ -12912,14 +13235,6 @@ var AxebowInstancesTable = class AxebowInstancesTable extends LitElement {
12912
13235
  :host {
12913
13236
  display: block;
12914
13237
  }
12915
- .restart-button::part(base) {
12916
- color: var(--axebow-tertiary);
12917
- font-size: 0.875rem !important;
12918
- }
12919
- .restart-button::part(base):hover {
12920
- color: var(--axebow-error);
12921
- background-color: white;
12922
- }
12923
13238
  .reboot-all-button::part(base) {
12924
13239
  color: var(--axebow-error);
12925
13240
  background-color: transparent;
@@ -13023,18 +13338,16 @@ var AxebowInstancesTable = class AxebowInstancesTable extends LitElement {
13023
13338
  ${this._renderProgressCell(instance.cpu)} ${this._renderProgressCell(instance.memory)}
13024
13339
  ${this._renderStorageCell(instance.storageLabel, instance.usage)}
13025
13340
  <div class="w-25.5 h-4.25 box-border flex items-center">
13026
- <axebow-button
13027
- class="restart-button"
13028
- variant="text"
13029
- fixedWidth="5.5625rem"
13030
- fixedHeight="1.0625rem"
13031
- @click="${(e) => {
13341
+ <div class="w-22.25 h-4.25 flex items-center justify-center">
13342
+ <axebow-manage-hyperlinks
13343
+ .text=${this.rebootLabel}
13344
+ .hoverColor=${"var(--axebow-error)"}
13345
+ .onClick=${(e) => {
13032
13346
  e.stopPropagation();
13033
13347
  this._requestReboot(instance.name);
13034
- }}"
13035
- >
13036
- ${this.rebootLabel}
13037
- </axebow-button>
13348
+ }}
13349
+ ></axebow-manage-hyperlinks>
13350
+ </div>
13038
13351
  </div>
13039
13352
  </div>
13040
13353
  ${this._isInstanceExpanded(instance.id) && instance.containers.length > 0 ? instance.containers.map((container) => html`
@@ -13427,10 +13740,11 @@ var AxebowObservabilityContainer = class AxebowObservabilityContainer extends Li
13427
13740
  _renderToggle(label, checked, onLabel, offLabel, onChange) {
13428
13741
  return html`
13429
13742
  <div class="flex items-center gap-2">
13430
- <p class="m-0 text-(--axebow-tertiary) font-bold cursor-pointer" @click=${() => onChange(!checked)}>
13431
- ${label}
13432
- </p>
13433
- <axebow-switch .checked=${checked} .onChange=${(checked) => onChange(checked)}></axebow-switch>
13743
+ <axebow-hyperlink-switch
13744
+ .text=${label}
13745
+ .checked=${checked}
13746
+ .onChange=${(checked) => onChange(checked)}
13747
+ ></axebow-hyperlink-switch>
13434
13748
  <p class="m-0 italic text-gray-400">${checked ? onLabel : offLabel}</p>
13435
13749
  </div>
13436
13750
  `;
@@ -13664,11 +13978,10 @@ var AxebowEmptyState = class AxebowEmptyState extends LitElement {
13664
13978
  ${Boolean(this.messageBefore || this.actionText || this.messageAfter) ? html`
13665
13979
  <span class="text-(--axebow-secondary) font-normal">
13666
13980
  ${this.messageBefore ? html`${this.messageBefore} ` : ""}
13667
- ${this.actionText ? html`<button
13668
- type="button"
13669
- class="p-0 m-0 border-0 bg-transparent cursor-pointer [font:inherit] text-(--axebow-tertiary) hover:underline"
13670
- @click=${this._handleActionClick}
13671
- >${this.actionText}</button>` : ""}
13981
+ ${this.actionText ? html`<axebow-manage-hyperlinks
13982
+ .text=${this.actionText}
13983
+ .onClick=${(e) => this._handleActionClick(e)}
13984
+ ></axebow-manage-hyperlinks>` : ""}
13672
13985
  ${this.messageAfter ? html` ${this.messageAfter}` : ""}
13673
13986
  </span>
13674
13987
  ` : html`<span class="text-(--axebow-secondary) font-normal">${this.message}</span>`}
@@ -13694,6 +14007,7 @@ var AxebowModal = class AxebowModal extends LitElement {
13694
14007
  this.height = "calc(100% - 2rem)";
13695
14008
  this.title = "";
13696
14009
  this.description = "";
14010
+ this.closeIconName = "close";
13697
14011
  this._hasFooterSlotContent = false;
13698
14012
  this._isScrollLocked = false;
13699
14013
  }
@@ -13804,8 +14118,12 @@ var AxebowModal = class AxebowModal extends LitElement {
13804
14118
  ${this.description ? html`<p class="text-(--axebow-gray) mt-1 m-0">${this.description}</p>` : ""}
13805
14119
  <slot name="description"></slot>
13806
14120
 
13807
- <div class="close-button" @click=${this._handleClose}>
13808
- <axebow-icon iconName="close" size="xl"></axebow-icon>
14121
+ <div
14122
+ class="close-button"
14123
+ style=${ifDefined(this.closeButtonSize ? `width: ${this.closeButtonSize}; height: ${this.closeButtonSize}; padding: 0;` : void 0)}
14124
+ @click=${this._handleClose}
14125
+ >
14126
+ <axebow-icon iconName=${this.closeIconName} iconColor=${ifDefined(this.closeIconColor)} size="xl"></axebow-icon>
13809
14127
  </div>
13810
14128
  </div>
13811
14129
  ` : ""}
@@ -13833,148 +14151,80 @@ __decorate([property()], AxebowModal.prototype, "maxHeight", void 0);
13833
14151
  __decorate([property()], AxebowModal.prototype, "height", void 0);
13834
14152
  __decorate([property()], AxebowModal.prototype, "title", void 0);
13835
14153
  __decorate([property()], AxebowModal.prototype, "description", void 0);
14154
+ __decorate([property()], AxebowModal.prototype, "closeIconName", void 0);
14155
+ __decorate([property()], AxebowModal.prototype, "closeIconColor", void 0);
14156
+ __decorate([property()], AxebowModal.prototype, "closeButtonSize", void 0);
13836
14157
  __decorate([state()], AxebowModal.prototype, "_hasFooterSlotContent", void 0);
13837
14158
  AxebowModal = __decorate([customElement("axebow-modal")], AxebowModal);
13838
14159
  //#endregion
13839
- //#region src/components/axebow-badge/axebow-badge.ts
13840
- var AxebowBadge = class AxebowBadge extends LitElement {
13841
- constructor(..._args) {
13842
- super(..._args);
13843
- this.bgColor = "var(--axebow-base)";
13844
- this.textColor = "var(--axebow-secondary)";
13845
- }
13846
- static {
13847
- this.styles = [unsafeCSS(tailwind_default), css`
13848
- :host {
13849
- display: inline-block;
13850
- }
13851
- `];
13852
- }
13853
- render() {
13854
- return html`
13855
- <div
13856
- class="inline-flex items-center justify-center px-2 py-px rounded border border-solid text-xs leading-3 font-semibold whitespace-nowrap"
13857
- style="background-color: ${this.bgColor}; color: ${this.textColor}; border-color: ${this.textColor};"
13858
- >
13859
- <slot></slot>
13860
- </div>
13861
- `;
13862
- }
13863
- };
13864
- __decorate([property({ type: String })], AxebowBadge.prototype, "bgColor", void 0);
13865
- __decorate([property({ type: String })], AxebowBadge.prototype, "textColor", void 0);
13866
- AxebowBadge = __decorate([customElement("axebow-badge")], AxebowBadge);
13867
- //#endregion
13868
- //#region src/components/axebow-call-to-action-row/axebow-call-to-action-row.ts
13869
- var CRITICALITY_STYLES = {
13870
- critical: {
13871
- bg: "var(--axebow-critical-bg)",
13872
- color: "var(--axebow-error)",
13873
- iconName: "error"
13874
- },
13875
- high: {
13876
- bg: "var(--axebow-high-bg)",
13877
- color: "var(--axebow-dark-yellow)",
13878
- iconName: "warning"
13879
- },
13880
- low: {
13881
- bg: "var(--axebow-base)",
13882
- color: "var(--axebow-secondary)",
13883
- iconName: "info"
13884
- }
13885
- };
13886
- var AxebowCallToActionRow = class AxebowCallToActionRow extends LitElement {
13887
- constructor(..._args) {
13888
- super(..._args);
13889
- this.criticality = "low";
13890
- this.heading = "";
13891
- this.badgeLabel = "";
13892
- this.description = "";
13893
- this.buttons = [];
13894
- this.lowNoteText = "";
13895
- }
13896
- static {
13897
- this.styles = [
13898
- unsafeCSS(tailwind_default),
13899
- axebowTheme,
13900
- css`
13901
- :host {
13902
- display: block;
13903
- width: 100%;
13904
- }
13905
- `
13906
- ];
13907
- }
13908
- render() {
13909
- const { bg, color, iconName } = CRITICALITY_STYLES[this.criticality] ?? CRITICALITY_STYLES.low;
13910
- return html`
13911
- <div class="w-full bg-white p-4 flex flex-row items-center gap-4">
13912
- <div class="w-10 h-10 rounded-md shrink-0 flex items-center justify-center" style="background-color: ${bg};">
13913
- <div class="w-6 h-6 flex items-center justify-center">
13914
- <axebow-icon iconName=${iconName} iconColor=${color} size="2xl"></axebow-icon>
13915
- </div>
13916
- </div>
13917
-
13918
- <div class="flex-1 min-w-0 flex flex-col gap-1">
13919
- <div class="w-full flex flex-row items-center gap-2">
13920
- <span class="text-base font-semibold truncate">${this.heading}</span>
13921
- ${this.badgeLabel ? html`<axebow-badge bgColor=${bg} textColor=${color}>${this.badgeLabel}</axebow-badge>` : ""}
13922
- </div>
13923
- <div class="w-full text-(--axebow-gray)">${this.description}</div>
13924
- </div>
13925
-
13926
- ${this.criticality === "low" ? this._renderLowNote() : this._renderButtons()}
13927
- </div>
13928
- `;
13929
- }
13930
- _renderLowNote() {
13931
- return html`
13932
- <div
13933
- class="w-91 h-11 shrink-0 box-border rounded-md py-1 px-3 flex items-center text-(--axebow-gray)"
13934
- style="background-color: var(--axebow-base);"
13935
- >
13936
- ${this.lowNoteText}
13937
- </div>
13938
- `;
13939
- }
13940
- _renderButtons() {
13941
- if (!this.buttons.length) return "";
13942
- return html`
13943
- <div class="flex flex-row items-center gap-4 shrink-0">
13944
- ${this.buttons.map((button) => html`
13945
- <axebow-button
13946
- variant=${button.variant ?? "primary"}
13947
- ?outline=${button.outline ?? false}
13948
- @click=${() => button.onClick?.()}
13949
- >
13950
- ${button.label}
13951
- ${button.iconName ? html`<axebow-icon
13952
- slot="suffix"
13953
- iconName=${button.iconName}
13954
- iconColor=${button.iconColor ?? "currentColor"}
13955
- ></axebow-icon>` : ""}
13956
- </axebow-button>
13957
- `)}
13958
- </div>
13959
- `;
13960
- }
14160
+ //#region src/components/axebow-call-to-action-row/call-to-action-notification.ts
14161
+ var DEFAULT_LOW_NOTE_TEXT = "No action needed";
14162
+ var BUTTON_TYPE_TO_VARIANT = {
14163
+ primary: "primary",
14164
+ secondary: "tertiary",
14165
+ text: "text"
13961
14166
  };
13962
- __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "criticality", void 0);
13963
- __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "heading", void 0);
13964
- __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "badgeLabel", void 0);
13965
- __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "description", void 0);
13966
- __decorate([property({ type: Array })], AxebowCallToActionRow.prototype, "buttons", void 0);
13967
- __decorate([property({ type: String })], AxebowCallToActionRow.prototype, "lowNoteText", void 0);
13968
- AxebowCallToActionRow = __decorate([customElement("axebow-call-to-action-row")], AxebowCallToActionRow);
14167
+ function getHighestCriticality(notifications) {
14168
+ if (notifications.some((n) => n.criticality === "critical")) return "critical";
14169
+ if (notifications.some((n) => n.criticality === "high")) return "high";
14170
+ return "low";
14171
+ }
14172
+ function getCtaHeading(notification) {
14173
+ return (notification.info_content?.code || notification.subtype).replace(/-/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
14174
+ }
14175
+ function getCtaDescription(notification) {
14176
+ return notification.info_content?.message ?? "";
14177
+ }
14178
+ function getCtaBadgeLabel(notification) {
14179
+ return notification.criticality.charAt(0).toUpperCase() + notification.criticality.slice(1);
14180
+ }
14181
+ function groupCallToActionNotifications(notifications) {
14182
+ const groups = /* @__PURE__ */ new Map();
14183
+ notifications.forEach((notification) => {
14184
+ const key = `${notification.criticality}|${getCtaHeading(notification)}|${getCtaDescription(notification)}`;
14185
+ const existing = groups.get(key);
14186
+ if (existing) existing.count += 1;
14187
+ else groups.set(key, {
14188
+ notification,
14189
+ count: 1
14190
+ });
14191
+ });
14192
+ return [...groups.values()];
14193
+ }
14194
+ function buildCtaButtons(notification, dispatch) {
14195
+ return (notification.actions ?? []).map((action) => ({
14196
+ label: action.label,
14197
+ variant: BUTTON_TYPE_TO_VARIANT[action.buttonType] ?? "primary",
14198
+ outline: action.outlined,
14199
+ iconName: action.icon,
14200
+ iconColor: action.iconColor,
14201
+ onClick: () => dispatch({
14202
+ notification,
14203
+ action
14204
+ })
14205
+ }));
14206
+ }
13969
14207
  //#endregion
13970
14208
  //#region src/components/axebow-call-to-action-feature/axebow-call-to-action-feature.ts
14209
+ var _AxebowCallToActionFeature;
13971
14210
  var AxebowCallToActionFeature = class AxebowCallToActionFeature extends LitElement {
14211
+ static {
14212
+ _AxebowCallToActionFeature = this;
14213
+ }
13972
14214
  constructor(..._args) {
13973
14215
  super(..._args);
13974
- this.notifications = [];
14216
+ this.callToActions = [];
13975
14217
  this.actionNeededLabel = "Action needed";
14218
+ this.noActionsLabel = "No action needed!";
13976
14219
  this.lastUpdatedText = "";
13977
14220
  this.expanded = false;
14221
+ this.refreshing = false;
14222
+ }
14223
+ static {
14224
+ this.REFRESH_DURATION_MS = 2500;
14225
+ }
14226
+ static {
14227
+ this.REFRESH_SKELETON_ROWS = 4;
13978
14228
  }
13979
14229
  static {
13980
14230
  this.styles = [
@@ -13985,64 +14235,111 @@ var AxebowCallToActionFeature = class AxebowCallToActionFeature extends LitEleme
13985
14235
  display: block;
13986
14236
  width: 100%;
13987
14237
  }
14238
+
14239
+ @keyframes cta-skeleton-pulse {
14240
+ 0%,
14241
+ 100% {
14242
+ opacity: 1;
14243
+ }
14244
+ 50% {
14245
+ opacity: 0.4;
14246
+ }
14247
+ }
14248
+
14249
+ .cta-skeleton-bar {
14250
+ animation: cta-skeleton-pulse 1.5s ease-in-out infinite;
14251
+ }
13988
14252
  `
13989
14253
  ];
13990
14254
  }
13991
14255
  get _highestCriticality() {
13992
- if (this.notifications.some((n) => n?.criticality === "critical")) return "critical";
13993
- if (this.notifications.some((n) => n?.criticality === "high")) return "high";
13994
- return "low";
14256
+ return getHighestCriticality(this.callToActions);
13995
14257
  }
13996
14258
  _toggle() {
14259
+ if (this.callToActions.length === 0) return;
13997
14260
  this.expanded = !this.expanded;
13998
14261
  }
14262
+ _handleRefresh() {
14263
+ if (this.refreshing) return;
14264
+ this.refreshing = true;
14265
+ setTimeout(() => {
14266
+ this.refreshing = false;
14267
+ }, _AxebowCallToActionFeature.REFRESH_DURATION_MS);
14268
+ }
14269
+ _renderSkeletonRow() {
14270
+ return html`
14271
+ <div
14272
+ class="w-full box-border border-t border-solid border-(--axebow-table-header-border) bg-white p-4 flex flex-row items-center gap-4"
14273
+ >
14274
+ <div
14275
+ class="cta-skeleton-bar w-10 h-10 rounded-md shrink-0"
14276
+ style="background-color: var(--axebow-base);"
14277
+ ></div>
14278
+ <div class="flex-1 min-w-0 flex flex-col gap-2">
14279
+ <div class="cta-skeleton-bar h-4 rounded" style="background-color: var(--axebow-base); width: 40%;"></div>
14280
+ <div class="cta-skeleton-bar h-3 rounded" style="background-color: var(--axebow-base); width: 70%;"></div>
14281
+ </div>
14282
+ </div>
14283
+ `;
14284
+ }
13999
14285
  render() {
14000
14286
  const { color: criticalityColor, iconName } = CRITICALITY_STYLES[this._highestCriticality];
14001
14287
  const chevronIconName = this.expanded ? "keyboard_arrow_down" : "chevron_right";
14288
+ const hasCallToActions = this.callToActions.length > 0;
14002
14289
  return html`
14003
- <div class="w-full flex flex-col">
14290
+ <div class="w-full box-border border border-solid border-(--axebow-table-header-border) rounded-lg overflow-hidden flex flex-col">
14004
14291
  <div
14005
14292
  class="w-full box-border py-3 px-5 flex flex-row items-center justify-between"
14006
- style="background-color: ${this.expanded ? "var(--axebow-base)" : "var(--axebow-white)"};"
14293
+ style="background-color: ${this.expanded || this.refreshing ? "var(--axebow-base)" : "var(--axebow-white)"};"
14007
14294
  >
14008
14295
  <div class="flex flex-row items-center gap-2">
14009
- <axebow-icon iconName=${iconName} iconColor=${criticalityColor} size="2xl"></axebow-icon>
14010
- <span class="text-base font-semibold">${this.actionNeededLabel}</span>
14296
+ ${hasCallToActions ? html`<axebow-icon iconName=${iconName} iconColor=${criticalityColor} size="2xl"></axebow-icon>` : ""}
14297
+ <span class="text-base font-semibold">${hasCallToActions ? this.actionNeededLabel : this.noActionsLabel}</span>
14011
14298
  <div
14012
14299
  class="w-6 h-6 shrink-0 rounded-full flex items-center justify-center"
14013
- style="background-color: ${this.expanded ? "var(--axebow-white)" : "var(--axebow-base)"};"
14300
+ style="background-color: ${hasCallToActions ? this.expanded ? "var(--axebow-white)" : "var(--axebow-base)" : "#0ECD9A"};"
14014
14301
  >
14015
- <span class="text-base">${this.notifications.length}</span>
14302
+ <span class="text-base" style="color: ${hasCallToActions ? "inherit" : "var(--axebow-white)"};">${this.callToActions.length}</span>
14016
14303
  </div>
14017
14304
  </div>
14018
14305
 
14019
14306
  <div class="flex flex-row items-center gap-3">
14020
14307
  <span class="text-sm text-(--axebow-gray) whitespace-nowrap">${this.lastUpdatedText}</span>
14021
14308
  <div
14022
- class="w-7 h-7 shrink-0 rounded-md border border-solid flex items-center justify-center"
14309
+ class="w-7 h-7 shrink-0 rounded-md border border-solid flex items-center justify-center cursor-pointer"
14023
14310
  style="border-color: var(--axebow-gray);"
14311
+ @click=${() => this._handleRefresh()}
14024
14312
  >
14025
- <axebow-icon iconName="undo" iconColor="var(--axebow-gray)" size="md"></axebow-icon>
14026
- </div>
14027
- <div
14028
- class="w-5 h-5 shrink-0 flex items-center justify-center cursor-pointer"
14029
- @click=${() => this._toggle()}
14030
- >
14031
- <axebow-icon iconName=${chevronIconName} iconColor="var(--axebow-tertiary)" size="md"></axebow-icon>
14313
+ <axebow-icon iconName="refresh" iconColor="var(--axebow-gray)" size="md"></axebow-icon>
14032
14314
  </div>
14315
+ ${hasCallToActions ? html`
14316
+ <div class="w-5 h-5 shrink-0 flex items-center justify-center cursor-pointer" @click=${() => this._toggle()}>
14317
+ <axebow-icon iconName=${chevronIconName} iconColor="var(--axebow-tertiary)" size="md"></axebow-icon>
14318
+ </div>
14319
+ ` : ""}
14033
14320
  </div>
14034
14321
  </div>
14035
14322
 
14036
- ${this.expanded ? html`
14323
+ ${this.refreshing ? html`
14324
+ <div class="w-full flex flex-col">
14325
+ ${Array.from({ length: _AxebowCallToActionFeature.REFRESH_SKELETON_ROWS }, () => this._renderSkeletonRow())}
14326
+ </div>
14327
+ ` : ""}
14328
+ ${!this.refreshing && this.expanded && hasCallToActions ? html`
14037
14329
  <div class="w-full flex flex-col">
14038
- ${this.notifications.map((notification) => html`
14330
+ ${groupCallToActionNotifications(this.callToActions).map(({ notification, count }) => html`
14039
14331
  <axebow-call-to-action-row
14040
- criticality=${ifDefined(notification?.criticality)}
14041
- heading=${ifDefined(notification?.heading)}
14042
- badgeLabel=${ifDefined(notification?.badgeLabel)}
14043
- description=${ifDefined(notification?.description)}
14044
- lowNoteText=${ifDefined(notification?.lowNoteText)}
14045
- .buttons=${notification?.buttons ?? []}
14332
+ criticality=${notification.criticality}
14333
+ heading=${getCtaHeading(notification)}
14334
+ badgeLabel=${getCtaBadgeLabel(notification)}
14335
+ description=${getCtaDescription(notification)}
14336
+ lowNoteText=${DEFAULT_LOW_NOTE_TEXT}
14337
+ count=${count}
14338
+ .buttons=${buildCtaButtons(notification, (detail) => this.dispatchEvent(new CustomEvent("cta-action", {
14339
+ detail,
14340
+ bubbles: true,
14341
+ composed: true
14342
+ })))}
14046
14343
  ></axebow-call-to-action-row>
14047
14344
  `)}
14048
14345
  </div>
@@ -14051,11 +14348,13 @@ var AxebowCallToActionFeature = class AxebowCallToActionFeature extends LitEleme
14051
14348
  `;
14052
14349
  }
14053
14350
  };
14054
- __decorate([property({ type: Array })], AxebowCallToActionFeature.prototype, "notifications", void 0);
14351
+ __decorate([property({ type: Array })], AxebowCallToActionFeature.prototype, "callToActions", void 0);
14055
14352
  __decorate([property({ type: String })], AxebowCallToActionFeature.prototype, "actionNeededLabel", void 0);
14353
+ __decorate([property({ type: String })], AxebowCallToActionFeature.prototype, "noActionsLabel", void 0);
14056
14354
  __decorate([property({ type: String })], AxebowCallToActionFeature.prototype, "lastUpdatedText", void 0);
14057
14355
  __decorate([state()], AxebowCallToActionFeature.prototype, "expanded", void 0);
14058
- AxebowCallToActionFeature = __decorate([customElement("axebow-call-to-action-feature")], AxebowCallToActionFeature);
14356
+ __decorate([state()], AxebowCallToActionFeature.prototype, "refreshing", void 0);
14357
+ AxebowCallToActionFeature = _AxebowCallToActionFeature = __decorate([customElement("axebow-call-to-action-feature")], AxebowCallToActionFeature);
14059
14358
  //#endregion
14060
14359
  //#region src/components/axebow-cta-dialog/axebow-cta-dialog.ts
14061
14360
  var AxebowCtaDialog = class AxebowCtaDialog extends LitElement {
@@ -14083,24 +14382,32 @@ var AxebowCtaDialog = class AxebowCtaDialog extends LitElement {
14083
14382
  title=${this.dialogTitle}
14084
14383
  width="76.25rem"
14085
14384
  maxWidth="100%"
14086
- height="auto"
14385
+ height="40.625rem"
14386
+ closeIconName="cancel"
14387
+ closeIconColor="#8A94AE"
14388
+ closeButtonSize="1.5rem"
14087
14389
  @close=${() => this._handleClose()}
14088
14390
  >
14089
14391
  <div class="flex flex-col gap-2 p-6">
14090
- ${this.notifications.map((notification) => html`
14392
+ ${groupCallToActionNotifications(this.notifications).map(({ notification, count }) => html`
14091
14393
  <axebow-call-to-action-row
14092
- criticality=${ifDefined(notification?.criticality)}
14093
- heading=${ifDefined(notification?.heading)}
14094
- badgeLabel=${ifDefined(notification?.badgeLabel)}
14095
- description=${ifDefined(notification?.description)}
14096
- lowNoteText=${ifDefined(notification?.lowNoteText)}
14097
- .buttons=${notification?.buttons ?? []}
14394
+ criticality=${notification.criticality}
14395
+ heading=${getCtaHeading(notification)}
14396
+ badgeLabel=${getCtaBadgeLabel(notification)}
14397
+ description=${getCtaDescription(notification)}
14398
+ lowNoteText=${DEFAULT_LOW_NOTE_TEXT}
14399
+ count=${count}
14400
+ .buttons=${buildCtaButtons(notification, (detail) => this.dispatchEvent(new CustomEvent("cta-action", {
14401
+ detail,
14402
+ bubbles: true,
14403
+ composed: true
14404
+ })))}
14098
14405
  ></axebow-call-to-action-row>
14099
14406
  `)}
14100
14407
  </div>
14101
14408
 
14102
14409
  <div slot="footer" class="flex items-center justify-end p-4">
14103
- <axebow-button variant="primary" @click=${() => this._handleClose()}>${this.goBackLabel}</axebow-button>
14410
+ <axebow-button variant="primary" outline @click=${() => this._handleClose()}>${this.goBackLabel}</axebow-button>
14104
14411
  </div>
14105
14412
  </axebow-modal>
14106
14413
  `;
@@ -14116,6 +14423,2163 @@ __decorate([property({ type: Array })], AxebowCtaDialog.prototype, "notification
14116
14423
  __decorate([property({ attribute: false })], AxebowCtaDialog.prototype, "onClose", void 0);
14117
14424
  AxebowCtaDialog = __decorate([customElement("axebow-cta-dialog")], AxebowCtaDialog);
14118
14425
  //#endregion
14119
- export { AxebowActionsFooter, AxebowAdjustmentResourcesCounter, AxebowAlert, AxebowBadge, AxebowBanner, AxebowBaseCard, AxebowBoxSection, AxebowBreadcrumbHeader, AxebowButton, AxebowCallToActionFeature, AxebowCallToActionRow, AxebowCardActionBanner, AxebowCardAttentionBanner, AxebowCardCloudLogo, AxebowCardFilter, AxebowCardFilterItem, AxebowCardFooter, AxebowCardHeader, AxebowCardResourceRow, AxebowCardResourceTable, AxebowCardSpecialLink, AxebowCardStatItem, AxebowCardStatsRow, AxebowCardStatus, AxebowCardTableHeader, AxebowCardVersionSelector, AxebowCarouselInput, AxebowCarouselSelectorItem, AxebowCarouselSelectorTenant, AxebowChannelConfigPanel, AxebowCheckboxInput, AxebowCollaboratorsDialog, AxebowCopyBox, AxebowCtaDialog, AxebowDeployCard, AxebowDeploySummary, AxebowDialog, AxebowDivider, AxebowDragDropUploadFile, AxebowDraggableService, AxebowEmptyState, AxebowExpandableCard, AxebowExpandableHeader, AxebowFilterBar, AxebowFooter, AxebowFormPanelField, AxebowGettingStartedCard, AxebowGraph, AxebowHeader, AxebowHelpBubble, AxebowIcon, AxebowInfrastructureCard, AxebowInput, AxebowInputBase, AxebowInstancesTable, AxebowLimitsCounter, AxebowManageHyperlinks, AxebowMarketplaceCard, AxebowModal, AxebowModalsConfirmation, AxebowMoreActions, AxebowNumberCard, AxebowNumbersSection, AxebowNumericInput, AxebowObservabilityContainer, AxebowPill, AxebowPlanSelectField, AxebowProgressBar, AxebowPromotionDropdown, AxebowProvidersInput, AxebowQuickTipButton, AxebowQuickTipSection, AxebowRefreshPeriodPanel, AxebowRegistrySelector, AxebowResourceBar, AxebowResourceBoxForm, AxebowResourceCard, AxebowResourceLimitInput, AxebowResourceLimitsPanel, AxebowResourcesCounter, AxebowRoleCard, AxebowRoleContainerDropdown, AxebowRoleTooltip, AxebowRuntimeZipDialog, AxebowSearch, AxebowSearchBarFilters, AxebowSelectInput, AxebowSelectInputWithDivider, AxebowSelectorCard, AxebowSelectorSlider, AxebowServiceDetailHeader, AxebowServicesPanel, AxebowSidebar, AxebowStatus, AxebowStepHeader, AxebowSummaryCard, AxebowSummaryFlavors, AxebowSummaryKeyValue, AxebowSummaryLimits, AxebowSummaryStep, AxebowSummaryStepHeader, AxebowSwitch, AxebowSwitchInput, AxebowTabSelector, AxebowTabsSubmenu, AxebowTagsInput, AxebowTenantCard, AxebowTenantResourceTable, AxebowTenantsTable, AxebowTextInput, AxebowTimeRangePanel, AxebowTooltip, AxebowUndeployCard, AxebowUnderlineTabSelector, AxebowUsageTooltip, CRITICALITY_STYLES, CustomHomePageBody, DEFAULT_ADD_DIALOG_LABELS, DeployModalComponent, DeployModalFooter, DeployModalHeader, DeployPageBody, STATUS_COLORS, TableChart, axebowTheme, buildAddButton, buildExternalNodeContent, buildMainNodeContent, createElement, createIcon };
14426
+ //#region src/components/axebow-ul/axebow-ul.ts
14427
+ var AxebowUl = class AxebowUl extends LitElement {
14428
+ constructor(..._args) {
14429
+ super(..._args);
14430
+ this._items = [];
14431
+ }
14432
+ static {
14433
+ this.styles = [
14434
+ unsafeCSS(tailwind_default),
14435
+ axebowTheme,
14436
+ css`
14437
+ ::slotted(*) {
14438
+ display: none !important;
14439
+ }
14440
+ `
14441
+ ];
14442
+ }
14443
+ _handleSlotChange(e) {
14444
+ const slot = e.target;
14445
+ this._items = slot.assignedElements({ flatten: true }).filter((el) => el.tagName === "LI").map((el) => el.innerHTML);
14446
+ }
14447
+ render() {
14448
+ return html`
14449
+ <slot @slotchange=${this._handleSlotChange}></slot>
14450
+ <ul class="list-none mt-2 mb-4 ml-2">
14451
+ ${this._items.map((item) => html`
14452
+ <li class="flex items-center gap-2">
14453
+ <span class="block shrink-0 w-1.5 h-1.5 rounded-full bg-(--axebow-gray)"></span>
14454
+ ${unsafeHTML(item)}
14455
+ </li>
14456
+ `)}
14457
+ </ul>
14458
+ `;
14459
+ }
14460
+ };
14461
+ __decorate([state()], AxebowUl.prototype, "_items", void 0);
14462
+ AxebowUl = __decorate([customElement("axebow-ul")], AxebowUl);
14463
+ //#endregion
14464
+ //#region src/components/axebow-border-container/axebow-border-container.ts
14465
+ var AxebowBorderContainer = class AxebowBorderContainer extends LitElement {
14466
+ constructor(..._args) {
14467
+ super(..._args);
14468
+ this.error = false;
14469
+ this.disabled = false;
14470
+ this.label = "";
14471
+ this.required = false;
14472
+ this.compact = false;
14473
+ }
14474
+ static {
14475
+ this.styles = css`
14476
+ :host {
14477
+ display: block;
14478
+ width: 100%;
14479
+ }
14480
+ .container {
14481
+ border: 1px solid #e2e8f0;
14482
+ border-radius: 0.375rem;
14483
+ padding: 0.375rem 0.625rem;
14484
+ background-color: #fff;
14485
+ transition:
14486
+ border-color 0.2s ease,
14487
+ background-color 0.2s ease;
14488
+ display: flex;
14489
+ flex-direction: column;
14490
+ gap: 0.125rem;
14491
+ }
14492
+ .container.compact {
14493
+ width: 14.625rem;
14494
+ height: 2.9375rem;
14495
+ box-sizing: border-box;
14496
+ padding: 0.375rem 0.5rem;
14497
+ justify-content: flex-start;
14498
+ gap: 0.125rem;
14499
+ }
14500
+ ::slotted(*) {
14501
+ margin: 0;
14502
+ }
14503
+ .container:focus-within:not(.disabled) {
14504
+ border-color: var(--axebow-primary);
14505
+ }
14506
+ .container.error {
14507
+ border-color: var(--axebow-error);
14508
+ }
14509
+ .container.disabled {
14510
+ background-color: var(--axebow-anti-flash-white);
14511
+ }
14512
+ .label {
14513
+ font-size: 0.75rem;
14514
+ color: var(--axebow-gray);
14515
+ font-weight: 500;
14516
+ line-height: 1;
14517
+ user-select: none;
14518
+ display: flex;
14519
+ align-items: center;
14520
+ gap: 0.125rem;
14521
+ }
14522
+ .asterisk {
14523
+ color: var(--axebow-error);
14524
+ }
14525
+ `;
14526
+ }
14527
+ render() {
14528
+ return html`
14529
+ <div
14530
+ class="container ${this.compact ? "compact" : ""} ${this.error ? "error" : ""} ${this.disabled ? "disabled" : ""}"
14531
+ >
14532
+ ${this.label || this.required ? html`
14533
+ <div class="label">${this.required ? html`<span class="asterisk">*</span>` : ""} ${this.label}</div>
14534
+ ` : ""}
14535
+ <slot></slot>
14536
+ </div>
14537
+ `;
14538
+ }
14539
+ };
14540
+ __decorate([property({ type: Boolean })], AxebowBorderContainer.prototype, "error", void 0);
14541
+ __decorate([property({ type: Boolean })], AxebowBorderContainer.prototype, "disabled", void 0);
14542
+ __decorate([property({ type: String })], AxebowBorderContainer.prototype, "label", void 0);
14543
+ __decorate([property({ type: Boolean })], AxebowBorderContainer.prototype, "required", void 0);
14544
+ __decorate([property({ type: Boolean })], AxebowBorderContainer.prototype, "compact", void 0);
14545
+ AxebowBorderContainer = __decorate([customElement("axebow-border-container")], AxebowBorderContainer);
14546
+ //#endregion
14547
+ //#region src/components/axebow-copy-icon/axebow-copy-icon.ts
14548
+ var AxebowCopyIcon = class AxebowCopyIcon extends LitElement {
14549
+ constructor(..._args) {
14550
+ super(..._args);
14551
+ this.value = "";
14552
+ this.label = "";
14553
+ this.showText = false;
14554
+ this.iconName = "content_copy";
14555
+ this.successIconName = "verified";
14556
+ this.iconColor = "var(--axebow-tertiary)";
14557
+ this.successIconColor = "var(--axebow-success)";
14558
+ this.size = "small";
14559
+ this.containerClass = "cursor-pointer flex items-center gap-1 h-full";
14560
+ this.successContainerClass = "";
14561
+ this.copyTooltip = "";
14562
+ this.copiedText = "";
14563
+ this.copied = false;
14564
+ }
14565
+ static {
14566
+ this.styles = [
14567
+ unsafeCSS(tailwind_default),
14568
+ axebowTheme,
14569
+ css`
14570
+ :host {
14571
+ display: flex;
14572
+ height: 100%;
14573
+ align-items: center;
14574
+ gap: 0.25rem;
14575
+ }
14576
+ `
14577
+ ];
14578
+ }
14579
+ handleCopy(e) {
14580
+ if (this.copied || !this.value) return;
14581
+ e.stopPropagation();
14582
+ this.copied = true;
14583
+ this.dispatchEvent(new CustomEvent("axebow-copy", {
14584
+ bubbles: true,
14585
+ composed: true,
14586
+ detail: {
14587
+ value: this.value,
14588
+ label: this.label
14589
+ }
14590
+ }));
14591
+ setTimeout(() => {
14592
+ this.copied = false;
14593
+ }, 2e3);
14594
+ }
14595
+ render() {
14596
+ return html`
14597
+ <div
14598
+ class="h-full ${this.copied ? this.successContainerClass || this.containerClass : this.containerClass}"
14599
+ title="${this.copyTooltip}"
14600
+ @click=${this.handleCopy}
14601
+ >
14602
+ <axebow-icon
14603
+ iconName=${this.copied ? this.successIconName : this.iconName}
14604
+ iconColor=${this.copied ? this.successIconColor : this.iconColor}
14605
+ size=${this.size}
14606
+ ></axebow-icon>
14607
+ ${this.showText && this.copied ? html`<span class="text-sm transition-opacity duration-300" style="color: ${this.successIconColor}"
14608
+ >${this.copiedText}</span
14609
+ >` : ""}
14610
+ </div>
14611
+ `;
14612
+ }
14613
+ };
14614
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "value", void 0);
14615
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "label", void 0);
14616
+ __decorate([property({ type: Boolean })], AxebowCopyIcon.prototype, "showText", void 0);
14617
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "iconName", void 0);
14618
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "successIconName", void 0);
14619
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "iconColor", void 0);
14620
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "successIconColor", void 0);
14621
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "size", void 0);
14622
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "containerClass", void 0);
14623
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "successContainerClass", void 0);
14624
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "copyTooltip", void 0);
14625
+ __decorate([property({ type: String })], AxebowCopyIcon.prototype, "copiedText", void 0);
14626
+ __decorate([state()], AxebowCopyIcon.prototype, "copied", void 0);
14627
+ AxebowCopyIcon = __decorate([customElement("axebow-copy-icon")], AxebowCopyIcon);
14628
+ //#endregion
14629
+ //#region src/components/axebow-page-actions/axebow-page-actions.ts
14630
+ var AxebowPageActions = class AxebowPageActions extends LitElement {
14631
+ constructor(..._args) {
14632
+ super(..._args);
14633
+ this.actions = [];
14634
+ this.gap = "0.75rem";
14635
+ this._hoveredIndex = -1;
14636
+ }
14637
+ static {
14638
+ this.styles = [unsafeCSS(tailwind_default)];
14639
+ }
14640
+ handleActionClick(index) {
14641
+ const action = this.actions[index];
14642
+ if (action && typeof action.onClick === "function") action.onClick();
14643
+ }
14644
+ render() {
14645
+ if (this.actions.length === 0) return html``;
14646
+ return html`
14647
+ <div class="flex flex-wrap items-center" style="gap: ${this.gap};">
14648
+ ${this.actions.map((action, i) => {
14649
+ const outlined = this.actions.length > 1 && i > 0;
14650
+ const isHovered = this._hoveredIndex === i;
14651
+ const iconColor = action.iconColor ?? (outlined ? isHovered ? "var(--axebow-gray)" : "var(--axebow-tertiary)" : "white");
14652
+ return html`
14653
+ <axebow-button
14654
+ variant="primary"
14655
+ ?outline=${outlined}
14656
+ .disabled=${!!action.disabled}
14657
+ fixedWidth=${ifDefined(this.buttonWidth)}
14658
+ fixedHeight=${ifDefined(this.buttonHeight)}
14659
+ @click=${() => this.handleActionClick(i)}
14660
+ @mouseenter=${() => this._hoveredIndex = i}
14661
+ @mouseleave=${() => this._hoveredIndex = -1}
14662
+ >
14663
+ ${action.title}
14664
+ ${action.iconName ? html`<axebow-icon
14665
+ slot="suffix"
14666
+ iconName="${action.iconName}"
14667
+ iconColor="${iconColor}"
14668
+ size="${action.iconSize ?? "medium"}"
14669
+ ></axebow-icon>` : ""}
14670
+ </axebow-button>
14671
+ `;
14672
+ })}
14673
+ </div>
14674
+ `;
14675
+ }
14676
+ };
14677
+ __decorate([property({ type: Array })], AxebowPageActions.prototype, "actions", void 0);
14678
+ __decorate([property({ type: String })], AxebowPageActions.prototype, "buttonWidth", void 0);
14679
+ __decorate([property({ type: String })], AxebowPageActions.prototype, "buttonHeight", void 0);
14680
+ __decorate([property({ type: String })], AxebowPageActions.prototype, "gap", void 0);
14681
+ __decorate([state()], AxebowPageActions.prototype, "_hoveredIndex", void 0);
14682
+ AxebowPageActions = __decorate([customElement("axebow-page-actions")], AxebowPageActions);
14683
+ //#endregion
14684
+ //#region src/components/axebow-mobile-warning-banner/axebow-mobile-warning-banner.ts
14685
+ var AxebowMobileWarningBanner = class AxebowMobileWarningBanner extends LitElement {
14686
+ constructor(..._args) {
14687
+ super(..._args);
14688
+ this.show = false;
14689
+ this.heading = "";
14690
+ this.message = "";
14691
+ this.closeAriaLabel = "";
14692
+ }
14693
+ static {
14694
+ this.styles = [unsafeCSS(tailwind_default), css`
14695
+ :host {
14696
+ display: block;
14697
+ }
14698
+
14699
+ .banner-container {
14700
+ position: fixed;
14701
+ top: 80px;
14702
+ left: 0;
14703
+ right: 0;
14704
+ z-index: 9999;
14705
+ padding: 1rem;
14706
+ background: linear-gradient(135deg, #fbbf24 0%, var(--axebow-warning) 100%);
14707
+ box-shadow:
14708
+ 0 4px 6px -1px rgba(0, 0, 0, 0.1),
14709
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
14710
+ animation: slideDown 0.3s ease-out;
14711
+ }
14712
+
14713
+ @keyframes slideDown {
14714
+ from {
14715
+ transform: translateY(-100%);
14716
+ opacity: 0;
14717
+ }
14718
+ to {
14719
+ transform: translateY(0);
14720
+ opacity: 1;
14721
+ }
14722
+ }
14723
+
14724
+ .banner-content {
14725
+ max-width: 1200px;
14726
+ margin: 0 auto;
14727
+ display: flex;
14728
+ align-items: center;
14729
+ gap: 1rem;
14730
+ }
14731
+
14732
+ .icon-container {
14733
+ flex-shrink: 0;
14734
+ width: 2rem;
14735
+ height: 2rem;
14736
+ background: rgba(255, 255, 255, 0.9);
14737
+ border-radius: 50%;
14738
+ display: flex;
14739
+ align-items: center;
14740
+ justify-content: center;
14741
+ }
14742
+
14743
+ .message-container {
14744
+ flex: 1;
14745
+ color: white;
14746
+ }
14747
+
14748
+ .message-title {
14749
+ font-weight: 600;
14750
+ font-size: 1rem;
14751
+ margin-bottom: 0.25rem;
14752
+ }
14753
+
14754
+ .message-text {
14755
+ font-size: 0.875rem;
14756
+ opacity: 0.95;
14757
+ }
14758
+
14759
+ .close-button {
14760
+ flex-shrink: 0;
14761
+ background: rgba(255, 255, 255, 0.2);
14762
+ border: none;
14763
+ border-radius: 0.375rem;
14764
+ padding: 0.5rem;
14765
+ cursor: pointer;
14766
+ transition: all 0.2s;
14767
+ display: flex;
14768
+ align-items: center;
14769
+ justify-content: center;
14770
+ color: white;
14771
+ }
14772
+
14773
+ .close-button:hover {
14774
+ background: rgba(255, 255, 255, 0.3);
14775
+ }
14776
+
14777
+ .close-button:active {
14778
+ transform: scale(0.95);
14779
+ }
14780
+ `];
14781
+ }
14782
+ handleClose() {
14783
+ this.show = false;
14784
+ this.dispatchEvent(new CustomEvent("close", {
14785
+ bubbles: true,
14786
+ composed: true
14787
+ }));
14788
+ }
14789
+ render() {
14790
+ if (!this.show) return html``;
14791
+ return html`
14792
+ <div class="banner-container">
14793
+ <div class="banner-content">
14794
+ <div class="icon-container">
14795
+ <axebow-icon iconName="warning" iconColor="var(--axebow-warning)" size="md"></axebow-icon>
14796
+ </div>
14797
+ <div class="message-container">
14798
+ <div class="message-title">${this.heading}</div>
14799
+ <div class="message-text">${this.message}</div>
14800
+ </div>
14801
+ <button class="close-button" @click=${this.handleClose} aria-label="${this.closeAriaLabel}">
14802
+ <axebow-icon iconName="close" iconColor="white" size="md"></axebow-icon>
14803
+ </button>
14804
+ </div>
14805
+ </div>
14806
+ `;
14807
+ }
14808
+ };
14809
+ __decorate([property({ type: Boolean })], AxebowMobileWarningBanner.prototype, "show", void 0);
14810
+ __decorate([property({ type: String })], AxebowMobileWarningBanner.prototype, "heading", void 0);
14811
+ __decorate([property({ type: String })], AxebowMobileWarningBanner.prototype, "message", void 0);
14812
+ __decorate([property({ type: String })], AxebowMobileWarningBanner.prototype, "closeAriaLabel", void 0);
14813
+ AxebowMobileWarningBanner = __decorate([customElement("axebow-mobile-warning-banner")], AxebowMobileWarningBanner);
14814
+ //#endregion
14815
+ //#region src/components/axebow-boxed-input/axebow-boxed-input.ts
14816
+ var AxebowBoxedInput = class AxebowBoxedInput extends LitElement {
14817
+ constructor(..._args) {
14818
+ super(..._args);
14819
+ this.required = false;
14820
+ this.label = "";
14821
+ this.type = "input";
14822
+ this.options = [];
14823
+ this.value = "";
14824
+ this.disabled = false;
14825
+ this.clearable = true;
14826
+ this.compact = false;
14827
+ this.password = false;
14828
+ this.showPlaceholder = true;
14829
+ this.bordered = false;
14830
+ this.copyable = false;
14831
+ this.noTypeSelectedText = "";
14832
+ this.showPassword = false;
14833
+ }
14834
+ static {
14835
+ this.styles = [
14836
+ unsafeCSS(tailwind_default),
14837
+ axebowTheme,
14838
+ css`
14839
+ sl-select::part(listbox) {
14840
+ max-height: 200px;
14841
+ overflow-y: auto;
14842
+ scrollbar-width: thin;
14843
+ }
14844
+ .compact-mode sl-select::part(combobox) {
14845
+ background-color: transparent !important;
14846
+ }
14847
+
14848
+ .boxed-container:focus-within {
14849
+ border-color: black !important;
14850
+ box-shadow: 0 0 0 1px black !important;
14851
+ }
14852
+
14853
+ .boxed-container sl-select:focus-within::part(combobox),
14854
+ .boxed-container sl-select::part(combobox) {
14855
+ border-color: transparent !important;
14856
+ box-shadow: none !important;
14857
+ }
14858
+
14859
+ .boxed-container-bordered {
14860
+ border: 1px solid var(--axebow-border-gray) !important;
14861
+ transition:
14862
+ border-color 0.15s ease,
14863
+ box-shadow 0.15s ease;
14864
+ }
14865
+
14866
+ .boxed-container-bordered:focus-within {
14867
+ border-color: black !important;
14868
+ box-shadow: 0 0 0 1px black !important;
14869
+ }
14870
+
14871
+ .boxed-container-bordered sl-select:focus-within::part(combobox),
14872
+ .boxed-container-bordered sl-select::part(combobox) {
14873
+ border-color: transparent !important;
14874
+ box-shadow: none !important;
14875
+ }
14876
+
14877
+ textarea {
14878
+ line-height: 1.5;
14879
+ }
14880
+
14881
+ textarea::-webkit-scrollbar {
14882
+ width: 8px;
14883
+ }
14884
+
14885
+ textarea::-webkit-scrollbar-track {
14886
+ background: #f1f1f1;
14887
+ border-radius: 0.25rem;
14888
+ }
14889
+
14890
+ textarea::-webkit-scrollbar-thumb {
14891
+ background: #888;
14892
+ border-radius: 0.25rem;
14893
+ }
14894
+
14895
+ textarea::-webkit-scrollbar-thumb:hover {
14896
+ background: #555;
14897
+ }
14898
+ `
14899
+ ];
14900
+ }
14901
+ updated(changedProperties) {
14902
+ super.updated(changedProperties);
14903
+ if (changedProperties.has("value") && this.type === "textarea") this.adjustTextareaHeight();
14904
+ }
14905
+ adjustTextareaHeight() {
14906
+ const textarea = this.shadowRoot?.querySelector("textarea");
14907
+ if (textarea) {
14908
+ const maxHeight = 120;
14909
+ textarea.style.height = "auto";
14910
+ const newHeight = Math.min(textarea.scrollHeight, maxHeight);
14911
+ textarea.style.height = `${newHeight}px`;
14912
+ }
14913
+ }
14914
+ renderActions(icons) {
14915
+ if (!icons.length) return html``;
14916
+ return html` <div class="flex items-center gap-1 pr-3 shrink-0">${icons}</div> `;
14917
+ }
14918
+ get _showCopyAction() {
14919
+ return !!(this.onCopy || this.copyable);
14920
+ }
14921
+ render() {
14922
+ const disabledStyles = this.disabled ? " opacity-70 cursor-not-allowed" : "";
14923
+ const borderClass = this.bordered ? "boxed-container-bordered" : "boxed-container";
14924
+ const checkboxInput = `flex flex-col rounded-lg border border-gray-300 mx-2 mb-4 items-start justify-between ${borderClass} transition-all` + disabledStyles;
14925
+ const checkboxInputTall = checkboxInput + " py-2";
14926
+ const checkboxInputNormal = checkboxInput + " h-14";
14927
+ const textareaInput = `flex flex-col rounded-lg border border-gray-300 mx-2 mb-4 items-start justify-start gap-2 ${borderClass} transition-all` + disabledStyles;
14928
+ const label = "flex flex-row w-full px-4 gap-2 mt-2";
14929
+ switch (this.type) {
14930
+ case "input": {
14931
+ const actions = [];
14932
+ if (this.password) actions.push(html`
14933
+ <div @click=${() => this.showPassword = !this.showPassword} class="cursor-pointer flex items-center">
14934
+ <axebow-icon
14935
+ iconName="visibility${this.showPassword ? "_off" : ""}"
14936
+ iconColor="var(--axebow-tertiary)"
14937
+ ></axebow-icon>
14938
+ </div>
14939
+ `);
14940
+ if (this._showCopyAction) actions.push(html`
14941
+ <slot
14942
+ name="copy-action"
14943
+ @click=${(e) => e.preventDefault()}
14944
+ @mousedown=${(e) => e.preventDefault()}
14945
+ ></slot>
14946
+ `);
14947
+ if (this.compact) return html`
14948
+ <div part="base" style="${`display:flex; align-items:center; border-radius: 0.375rem; border:1px solid var(--boxed-input-border-color, #d1d5db); width:100%; padding:0 12px; height:var(--sl-input-height-medium,40px); box-sizing:border-box;${this.disabled ? " opacity:0.7; cursor:not-allowed;" : ""}`}">
14949
+ <input
14950
+ type=${this.password && !this.showPassword ? "password" : "text"}
14951
+ .value=${this.value}
14952
+ ?disabled=${this.disabled}
14953
+ @input=${this.handleInputChange}
14954
+ @change=${this.handleInputChange}
14955
+ style="flex:1; border:none; outline:none; background:transparent; font-size:0.875rem; cursor:${this.disabled ? "not-allowed" : "auto"};"
14956
+ placeholder="${this.showPlaceholder && this.label ? `Enter ${this.label.toLowerCase()}` : ""}"
14957
+ maxlength="${this.maxlength || 255}"
14958
+ />
14959
+ ${this.renderActions(actions)}
14960
+ </div>
14961
+ `;
14962
+ return html`
14963
+ <div class="${this.bordered ? checkboxInputTall : checkboxInputNormal}">
14964
+ <div class="${label}">
14965
+ ${this.required ? html`<span class="text-(--axebow-error)">*</span>` : ""}
14966
+ <span class="text-(--axebow-gray)"> ${this.label}</span>
14967
+ </div>
14968
+ <div class="flex flex-row items-center w-full pl-4 ${this.bordered && this.password ? "pb-1" : ""}">
14969
+ <input
14970
+ type=${this.password && !this.showPassword ? "password" : "text"}
14971
+ .value=${this.value}
14972
+ ?disabled=${this.disabled}
14973
+ @input=${this.handleInputChange}
14974
+ @change=${this.handleInputChange}
14975
+ style="flex: 1; border: none; outline: none; background: transparent; font-size: var(--font-base)"
14976
+ class="${this.disabled ? "cursor-not-allowed" : ""}"
14977
+ placeholder="${this.showPlaceholder ? `Enter ${this.label.toLowerCase()}` : ""}"
14978
+ maxlength="${this.maxlength || 255}"
14979
+ />
14980
+ ${this.renderActions(actions)}
14981
+ </div>
14982
+ </div>
14983
+ `;
14984
+ }
14985
+ case "textarea": return html`
14986
+ <div class="${textareaInput}">
14987
+ <div class="${label}">
14988
+ ${this.required ? html`<span class="text-(--axebow-error)">*</span>` : ""}
14989
+ <span class="text-(--axebow-gray)"> ${this.label}</span>
14990
+ </div>
14991
+ <div class="flex flex-col w-full px-4 mb-2">
14992
+ <textarea
14993
+ .value=${this.value}
14994
+ ?disabled=${this.disabled}
14995
+ @input=${this.handleTextareaChange}
14996
+ class="w-full border-none outline-none bg-transparent resize-none max-h-30 overflow-y-auto text-sm p-0 ${this.disabled ? "cursor-not-allowed" : ""}"
14997
+ placeholder="${this.showPlaceholder ? `Enter ${this.label.toLowerCase()}` : ""}"
14998
+ ></textarea>
14999
+ </div>
15000
+ </div>
15001
+ `;
15002
+ case "checkbox": return html`
15003
+ <div class="${this.bordered ? checkboxInputTall : checkboxInputNormal}">
15004
+ <div class="${label}">
15005
+ ${this.required ? html`<span class="text-(--axebow-error)">*</span>` : ""}
15006
+ <span class="text-(--axebow-gray)"> ${this.label}</span>
15007
+ </div>
15008
+ <div class="flex flex-row gap-4 w-full pl-4 pr-3 ${this.bordered && this.password ? "pb-1" : ""}">
15009
+ ${this.options.map((option) => html`
15010
+ <sl-checkbox
15011
+ size="medium"
15012
+ ?disabled=${this.disabled}
15013
+ ?checked=${option === this.value}
15014
+ @sl-change=${this.handleCheckboxChange}
15015
+ class="${this.disabled ? "cursor-not-allowed" : ""}"
15016
+ >${option}</sl-checkbox
15017
+ >
15018
+ `)}
15019
+ </div>
15020
+ </div>
15021
+ `;
15022
+ case "select":
15023
+ if (this.compact) return html`
15024
+ <div class="flex flex-col mx-3 my-2 compact-mode ${disabledStyles}">
15025
+ <div class="flex flex-row gap-2 mb-1 pl-1">
15026
+ ${this.required ? html`<span class="text-(--axebow-error)">*</span>` : ""}
15027
+ <span class="text-(--axebow-gray)">${this.label}</span>
15028
+ </div>
15029
+ <div class="w-full mx-auto">
15030
+ <sl-select
15031
+ value=${this.value}
15032
+ @sl-change=${this.handleSelectChange}
15033
+ ?clearable=${this.clearable}
15034
+ ?disabled=${this.disabled}
15035
+ class="${this.disabled ? "cursor-not-allowed" : ""}"
15036
+ >
15037
+ ${this._showCopyAction && this.value ? html`
15038
+ <div
15039
+ slot="suffix"
15040
+ class="flex items-center justify-center p-1 cursor-pointer transition-transform duration-200 ease-in-out hover:scale-110 active:scale-95"
15041
+ @click=${(e) => e.stopPropagation()}
15042
+ @mousedown=${(e) => e.stopPropagation()}
15043
+ @pointerdown=${(e) => e.stopPropagation()}
15044
+ >
15045
+ <slot name="copy-action"></slot>
15046
+ </div>
15047
+ ` : ""}
15048
+ ${this.options.map((option) => html`<sl-option value=${option}>${option}</sl-option>`)}
15049
+ </sl-select>
15050
+ </div>
15051
+ </div>
15052
+ `;
15053
+ if (this.bordered) return html`
15054
+ <div
15055
+ class="flex flex-col rounded-lg mx-2 mb-4 items-start justify-center px-4 py-1 ${borderClass} transition-all${disabledStyles}"
15056
+ >
15057
+ <div class="flex flex-row gap-2 mt-1">
15058
+ ${this.required ? html`<span class="text-(--axebow-error)">*</span>` : ""}
15059
+ <span class="text-(--axebow-gray)">${this.label}</span>
15060
+ </div>
15061
+ <sl-select
15062
+ value=${this.value}
15063
+ @sl-change=${this.handleSelectChange}
15064
+ ?clearable=${this.clearable}
15065
+ ?disabled=${this.disabled}
15066
+ class="w-full mb-1 ${this.disabled ? "cursor-not-allowed" : ""}"
15067
+ >
15068
+ ${this._showCopyAction && this.value ? html`
15069
+ <div
15070
+ slot="suffix"
15071
+ class="flex items-center justify-center p-1 cursor-pointer transition-transform duration-200 ease-in-out hover:scale-110 active:scale-95"
15072
+ @click=${(e) => e.stopPropagation()}
15073
+ @mousedown=${(e) => e.stopPropagation()}
15074
+ @pointerdown=${(e) => e.stopPropagation()}
15075
+ >
15076
+ <slot name="copy-action"></slot>
15077
+ </div>
15078
+ ` : ""}
15079
+ ${this.options.map((option) => html`<sl-option value=${option}>${option}</sl-option>`)}
15080
+ </sl-select>
15081
+ </div>
15082
+ `;
15083
+ return html`
15084
+ <div
15085
+ class="flex flex-col rounded-lg border border-(--axebow-light-gray) mx-2 mb-4 h-16 items-start justify-between transition-all ${disabledStyles}"
15086
+ >
15087
+ <div class="${label}">
15088
+ ${this.required ? html`<span class="text-(--axebow-error)">*</span>` : ""}
15089
+ <span class="text-(--axebow-gray)"> ${this.label}</span>
15090
+ </div>
15091
+ <div class="mb-2 w-full px-4">
15092
+ <sl-select
15093
+ value=${this.value}
15094
+ @sl-change=${this.handleSelectChange}
15095
+ filled
15096
+ ?clearable=${this.clearable}
15097
+ ?disabled=${this.disabled}
15098
+ class="${this.disabled ? "cursor-not-allowed" : ""}"
15099
+ >
15100
+ ${this.options.map((option) => html`<sl-option value=${option}>${option}</sl-option>`)}
15101
+ </sl-select>
15102
+ </div>
15103
+ </div>
15104
+ `;
15105
+ case "cert": {
15106
+ const certActions = [html`<axebow-icon iconName="close" iconColor="black" class="cursor-pointer"></axebow-icon>`, html`<axebow-icon iconName="cloud" iconColor="var(--axebow-tertiary)" class="cursor-pointer"></axebow-icon>`];
15107
+ if (this._showCopyAction) certActions.push(html`
15108
+ <slot
15109
+ name="copy-action"
15110
+ @click=${(e) => e.preventDefault()}
15111
+ @mousedown=${(e) => e.preventDefault()}
15112
+ ></slot>
15113
+ `);
15114
+ return html`
15115
+ <div class="${checkboxInputNormal}">
15116
+ <div class="${label}">
15117
+ ${this.required ? html`<span class="text-(--axebow-error)">*</span>` : ""}
15118
+ <span class="text-(--axebow-gray)"> ${this.label}</span>
15119
+ </div>
15120
+ <div class="flex flex-row items-center w-full pl-4">
15121
+ <p class="flex-1 truncate">${this.value}</p>
15122
+ ${this.renderActions(certActions)}
15123
+ </div>
15124
+ </div>
15125
+ `;
15126
+ }
15127
+ default: return html`<p>${this.noTypeSelectedText}</p>`;
15128
+ }
15129
+ }
15130
+ handleCheckboxChange(e) {
15131
+ if (this.disabled) return;
15132
+ const selectedValue = e.target.textContent?.trim() ?? "";
15133
+ this.value = selectedValue;
15134
+ if (this.onChange) this.onChange(selectedValue);
15135
+ }
15136
+ handleSelectChange(e) {
15137
+ if (this.disabled) return;
15138
+ const selectedValue = e.target.value;
15139
+ this.value = selectedValue;
15140
+ if (this.onChange) this.onChange(selectedValue);
15141
+ }
15142
+ handleInputChange(e) {
15143
+ if (this.disabled) return;
15144
+ const newValue = e.target.value;
15145
+ this.value = newValue;
15146
+ if (this.onChange) this.onChange(newValue);
15147
+ }
15148
+ handleTextareaChange(e) {
15149
+ if (this.disabled) return;
15150
+ const target = e.target;
15151
+ const newValue = target.value;
15152
+ const maxHeight = 120;
15153
+ target.style.height = "auto";
15154
+ const newHeight = Math.min(target.scrollHeight, maxHeight);
15155
+ target.style.height = `${newHeight}px`;
15156
+ this.value = newValue;
15157
+ if (this.onChange) this.onChange(newValue);
15158
+ }
15159
+ };
15160
+ __decorate([property({ type: Boolean })], AxebowBoxedInput.prototype, "required", void 0);
15161
+ __decorate([property({ type: String })], AxebowBoxedInput.prototype, "label", void 0);
15162
+ __decorate([property({ type: String })], AxebowBoxedInput.prototype, "type", void 0);
15163
+ __decorate([property({ attribute: false })], AxebowBoxedInput.prototype, "options", void 0);
15164
+ __decorate([property({ type: String })], AxebowBoxedInput.prototype, "value", void 0);
15165
+ __decorate([property({ type: Number })], AxebowBoxedInput.prototype, "maxlength", void 0);
15166
+ __decorate([property({ attribute: false })], AxebowBoxedInput.prototype, "onChange", void 0);
15167
+ __decorate([property({ attribute: false })], AxebowBoxedInput.prototype, "onCopy", void 0);
15168
+ __decorate([property({
15169
+ type: Boolean,
15170
+ attribute: false
15171
+ })], AxebowBoxedInput.prototype, "disabled", void 0);
15172
+ __decorate([property({ type: Boolean })], AxebowBoxedInput.prototype, "clearable", void 0);
15173
+ __decorate([property({ type: Boolean })], AxebowBoxedInput.prototype, "compact", void 0);
15174
+ __decorate([property({ type: Boolean })], AxebowBoxedInput.prototype, "password", void 0);
15175
+ __decorate([property({ type: Boolean })], AxebowBoxedInput.prototype, "showPlaceholder", void 0);
15176
+ __decorate([property({ type: Boolean })], AxebowBoxedInput.prototype, "bordered", void 0);
15177
+ __decorate([property({ type: Boolean })], AxebowBoxedInput.prototype, "copyable", void 0);
15178
+ __decorate([property({ type: String })], AxebowBoxedInput.prototype, "noTypeSelectedText", void 0);
15179
+ __decorate([state()], AxebowBoxedInput.prototype, "showPassword", void 0);
15180
+ AxebowBoxedInput = __decorate([customElement("axebow-boxed-input")], AxebowBoxedInput);
15181
+ //#endregion
15182
+ //#region src/components/axebow-pem-dialog/axebow-pem-dialog.ts
15183
+ var AxebowPemDialog = class AxebowPemDialog extends LitElement {
15184
+ constructor(..._args) {
15185
+ super(..._args);
15186
+ this.open = false;
15187
+ this.title = "";
15188
+ this.placeholder = "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----";
15189
+ this.value = "";
15190
+ this.fileName = "";
15191
+ this.noteText = "";
15192
+ this.fileContentLabel = "";
15193
+ this.downloadTooltip = "";
15194
+ this.copyLabel = "";
15195
+ this.copyTooltip = "";
15196
+ this.copiedText = "";
15197
+ this.orUploadText = "";
15198
+ this.acceptedFormatText = "";
15199
+ this.saveLabel = "";
15200
+ this.goBackLabel = "";
15201
+ this._internalValue = "";
15202
+ this._internalFileName = "";
15203
+ }
15204
+ static {
15205
+ this.styles = [unsafeCSS(tailwind_default), axebowTheme];
15206
+ }
15207
+ willUpdate(changed) {
15208
+ const dialogJustOpened = changed.has("open") && this.open;
15209
+ if (changed.has("value") || dialogJustOpened) this._internalValue = this.value;
15210
+ if (changed.has("fileName") || dialogJustOpened) this._internalFileName = this.fileName;
15211
+ }
15212
+ get _hasContent() {
15213
+ return !!this._internalValue;
15214
+ }
15215
+ _handleConfirm() {
15216
+ this.dispatchEvent(new CustomEvent("pem-confirm", {
15217
+ detail: {
15218
+ value: this._internalValue,
15219
+ fileName: this._internalFileName
15220
+ },
15221
+ bubbles: true,
15222
+ composed: true
15223
+ }));
15224
+ }
15225
+ _handleClose() {
15226
+ this.dispatchEvent(new CustomEvent("pem-close", {
15227
+ bubbles: true,
15228
+ composed: true
15229
+ }));
15230
+ }
15231
+ _handleDownload() {
15232
+ const blob = new Blob([this._internalValue], { type: "text/plain" });
15233
+ const url = URL.createObjectURL(blob);
15234
+ const a = document.createElement("a");
15235
+ a.href = url;
15236
+ a.download = this._internalFileName || "certificate.pem";
15237
+ a.click();
15238
+ URL.revokeObjectURL(url);
15239
+ }
15240
+ async _handleFileUpload(e) {
15241
+ const input = e.target;
15242
+ const file = input.files?.[0];
15243
+ if (!file) return;
15244
+ this._internalFileName = file.name;
15245
+ this._internalValue = (await file.text()).trim();
15246
+ input.value = "";
15247
+ this.requestUpdate();
15248
+ }
15249
+ render() {
15250
+ return html`
15251
+ <axebow-dialog
15252
+ .open=${this.open}
15253
+ dialogTitle=${this.title}
15254
+ type="custom"
15255
+ canClose
15256
+ .onClose=${() => this._handleClose()}
15257
+ >
15258
+ <div slot="body" class="flex flex-col gap-4" style="min-width: 420px;">
15259
+ <p class="text-sm m-0">${this.noteText}</p>
15260
+ <div class="flex flex-col gap-1">
15261
+ <div class="flex flex-row justify-between items-center">
15262
+ <div class="flex items-center gap-1">
15263
+ <span class="text-[var(--axebow-error)] text-sm">*</span>
15264
+ <span class="text-sm font-bold">${this.fileContentLabel}</span>
15265
+ </div>
15266
+ ${this._hasContent ? html`
15267
+ <div class="flex items-center gap-2">
15268
+ <div
15269
+ class="cursor-pointer flex items-center gap-1"
15270
+ title="${this.downloadTooltip}"
15271
+ @click=${this._handleDownload}
15272
+ >
15273
+ <axebow-icon
15274
+ iconName="download_for_offline"
15275
+ iconColor="var(--axebow-tertiary)"
15276
+ size="md"
15277
+ ></axebow-icon>
15278
+ </div>
15279
+ <axebow-copy-icon
15280
+ .value=${this._internalValue}
15281
+ label="${this.copyLabel}"
15282
+ copyTooltip="${this.copyTooltip}"
15283
+ copiedText="${this.copiedText}"
15284
+ ></axebow-copy-icon>
15285
+ </div>
15286
+ ` : ""}
15287
+ </div>
15288
+ <textarea
15289
+ .value=${live(this._internalValue)}
15290
+ @input=${(e) => {
15291
+ this._internalValue = e.target.value;
15292
+ }}
15293
+ rows="8"
15294
+ placeholder=${this.placeholder}
15295
+ style="font-family: monospace; font-size: 0.75rem; border: 1px solid var(--axebow-border-gray); border-radius: 0.375rem; padding: 8px; resize: vertical; outline: none; width: 100%; box-sizing: border-box; transition: border-color 0.15s; background-color: white; color: black;"
15296
+ @focus=${(e) => {
15297
+ e.target.style.borderColor = "black";
15298
+ }}
15299
+ @blur=${(e) => {
15300
+ e.target.style.borderColor = "var(--axebow-border-gray)";
15301
+ }}
15302
+ ></textarea>
15303
+ </div>
15304
+ <span class="text-sm font-bold">${this.orUploadText}</span>
15305
+
15306
+ <div class="flex items-center justify-between gap-3">
15307
+ <label
15308
+ class="flex items-center gap-2 cursor-pointer px-3 py-1.5 rounded-lg transition-colors"
15309
+ style="border: 1px solid var(--axebow-border-gray); background: white;"
15310
+ @mouseenter=${(e) => {
15311
+ e.currentTarget.style.borderColor = "black";
15312
+ }}
15313
+ @mouseleave=${(e) => {
15314
+ e.currentTarget.style.borderColor = "var(--axebow-border-gray)";
15315
+ }}
15316
+ >
15317
+ <axebow-icon iconName="cloud_upload" iconColor="var(--axebow-tertiary)" size="md"></axebow-icon>
15318
+ <span
15319
+ class="text-sm ${this._internalFileName ? "text-black" : "text-[var(--axebow-gray)]"}"
15320
+ style="white-space: nowrap;"
15321
+ >
15322
+ ${this._internalFileName ? this._internalFileName : this.acceptedFormatText}
15323
+ </span>
15324
+ <input
15325
+ type="file"
15326
+ accept=".pem,.crt,.key,.cer"
15327
+ style="display: none;"
15328
+ @change=${this._handleFileUpload}
15329
+ />
15330
+ </label>
15331
+
15332
+ <div class="flex items-center gap-2">
15333
+ <axebow-button
15334
+ variant="primary"
15335
+ size="medium"
15336
+ ?disabled=${!this._hasContent}
15337
+ @click=${this._handleConfirm}
15338
+ >
15339
+ ${this.saveLabel}
15340
+ </axebow-button>
15341
+ <axebow-button variant="primary" outline size="medium" @click=${this._handleClose}
15342
+ >${this.goBackLabel}</axebow-button
15343
+ >
15344
+ </div>
15345
+ </div>
15346
+ </div>
15347
+ </axebow-dialog>
15348
+ `;
15349
+ }
15350
+ };
15351
+ __decorate([property({ type: Boolean })], AxebowPemDialog.prototype, "open", void 0);
15352
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "title", void 0);
15353
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "placeholder", void 0);
15354
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "value", void 0);
15355
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "fileName", void 0);
15356
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "noteText", void 0);
15357
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "fileContentLabel", void 0);
15358
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "downloadTooltip", void 0);
15359
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "copyLabel", void 0);
15360
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "copyTooltip", void 0);
15361
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "copiedText", void 0);
15362
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "orUploadText", void 0);
15363
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "acceptedFormatText", void 0);
15364
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "saveLabel", void 0);
15365
+ __decorate([property({ type: String })], AxebowPemDialog.prototype, "goBackLabel", void 0);
15366
+ __decorate([state()], AxebowPemDialog.prototype, "_internalValue", void 0);
15367
+ __decorate([state()], AxebowPemDialog.prototype, "_internalFileName", void 0);
15368
+ AxebowPemDialog = __decorate([customElement("axebow-pem-dialog")], AxebowPemDialog);
15369
+ //#endregion
15370
+ //#region src/components/axebow-plan-providers-modal/axebow-plan-providers-modal.ts
15371
+ var AxebowPlanProvidersModal = class AxebowPlanProvidersModal extends LitElement {
15372
+ constructor(..._args) {
15373
+ super(..._args);
15374
+ this.plansProviders = [];
15375
+ this.open = false;
15376
+ this.title = "";
15377
+ this.description = "";
15378
+ this.createPlanLabel = "";
15379
+ this.selectedPlanProvider = null;
15380
+ }
15381
+ static {
15382
+ this.styles = [unsafeCSS(tailwind_default), axebowTheme];
15383
+ }
15384
+ _handleSelect(providerName) {
15385
+ this.selectedPlanProvider = providerName;
15386
+ }
15387
+ _handleClose() {
15388
+ this.open = false;
15389
+ this.selectedPlanProvider = null;
15390
+ this.dispatchEvent(new CustomEvent("close"));
15391
+ }
15392
+ _handleConfirm() {
15393
+ if (!this.selectedPlanProvider) return;
15394
+ this.dispatchEvent(new CustomEvent("confirm", { detail: { providerName: this.selectedPlanProvider } }));
15395
+ this._handleClose();
15396
+ }
15397
+ render() {
15398
+ return html`
15399
+ <axebow-modals-confirmation
15400
+ .open=${this.open}
15401
+ severity="Neutral"
15402
+ intent="Decisional"
15403
+ popUpTittle="${this.title}"
15404
+ .showIconOnTitle=${false}
15405
+ .showForm=${true}
15406
+ .showFooter=${true}
15407
+ .showSecondaryCTA=${false}
15408
+ .showPrimaryCTA=${true}
15409
+ primaryButtonText="${this.createPlanLabel}"
15410
+ .primaryButtonDisabled=${!this.selectedPlanProvider}
15411
+ .canClose=${true}
15412
+ @axebow-close=${() => this._handleClose()}
15413
+ @axebow-confirm=${() => this._handleConfirm()}
15414
+ >
15415
+ <div slot="form" class="flex flex-col gap-4">
15416
+ <p class="m-0 text-black">${unsafeHTML(this.description)}</p>
15417
+ <div class="flex flex-col gap-3">
15418
+ ${this.plansProviders.map((provider) => html`
15419
+ <label class="flex items-center gap-2 cursor-pointer">
15420
+ <input
15421
+ type="radio"
15422
+ name="planProvider"
15423
+ value="${provider.name}"
15424
+ .checked=${this.selectedPlanProvider === provider.name}
15425
+ @change=${() => this._handleSelect(provider.name)}
15426
+ class="accent-(--axebow-tertiary) w-4 h-4"
15427
+ />
15428
+ <span class="font-semibold">${provider.name}</span>
15429
+ </label>
15430
+ `)}
15431
+ </div>
15432
+ </div>
15433
+ </axebow-modals-confirmation>
15434
+ `;
15435
+ }
15436
+ };
15437
+ __decorate([property({ type: Array })], AxebowPlanProvidersModal.prototype, "plansProviders", void 0);
15438
+ __decorate([property({
15439
+ type: Boolean,
15440
+ reflect: true
15441
+ })], AxebowPlanProvidersModal.prototype, "open", void 0);
15442
+ __decorate([property({ type: String })], AxebowPlanProvidersModal.prototype, "title", void 0);
15443
+ __decorate([property({ type: String })], AxebowPlanProvidersModal.prototype, "description", void 0);
15444
+ __decorate([property({ type: String })], AxebowPlanProvidersModal.prototype, "createPlanLabel", void 0);
15445
+ __decorate([state()], AxebowPlanProvidersModal.prototype, "selectedPlanProvider", void 0);
15446
+ AxebowPlanProvidersModal = __decorate([customElement("axebow-plan-providers-modal")], AxebowPlanProvidersModal);
15447
+ //#endregion
15448
+ //#region src/components/axebow-delete-data-popup/axebow-delete-data-popup.ts
15449
+ var AxebowDeleteDataPopup = class AxebowDeleteDataPopup extends LitElement {
15450
+ constructor(..._args) {
15451
+ super(..._args);
15452
+ this.open = false;
15453
+ this.title = "";
15454
+ this.description = "";
15455
+ this.icon = "";
15456
+ this.iconColor = "danger";
15457
+ this.validationPlaceholder = "";
15458
+ this.validationLabel = "";
15459
+ this.validationHelpText = "";
15460
+ this.buttonVariant = "danger";
15461
+ this.buttonLabel = "";
15462
+ this.canCancel = true;
15463
+ this.cancelLabel = "";
15464
+ this.typePrefixText = "";
15465
+ this.typeSuffixText = "";
15466
+ this._inputValue = "";
15467
+ }
15468
+ static {
15469
+ this.styles = [
15470
+ unsafeCSS(tailwind_default),
15471
+ axebowTheme,
15472
+ css`
15473
+ :host {
15474
+ display: block;
15475
+ }
15476
+ axebow-input {
15477
+ width: 100%;
15478
+ }
15479
+ `
15480
+ ];
15481
+ }
15482
+ _handleInput(e) {
15483
+ const target = e.target;
15484
+ this._inputValue = target?.value ?? "";
15485
+ }
15486
+ get _isDeleteEnabled() {
15487
+ if (!this.validationValue) return true;
15488
+ return this._inputValue === this.validationValue;
15489
+ }
15490
+ _handleClose() {
15491
+ this._inputValue = "";
15492
+ this.onClose?.();
15493
+ this.dispatchEvent(new CustomEvent("close", {
15494
+ bubbles: true,
15495
+ composed: true
15496
+ }));
15497
+ }
15498
+ _handleConfirm() {
15499
+ this.onDelete?.();
15500
+ this._handleClose();
15501
+ }
15502
+ get _iconColorVar() {
15503
+ switch (this.iconColor) {
15504
+ case "warning": return "var(--axebow-warning)";
15505
+ case "primary": return "var(--axebow-tertiary)";
15506
+ case "success": return "var(--axebow-success)";
15507
+ case "danger": return "var(--axebow-error)";
15508
+ default: return "var(--axebow-primary)";
15509
+ }
15510
+ }
15511
+ render() {
15512
+ const isDestructive = this.buttonVariant === "danger";
15513
+ const severity = isDestructive ? "Destructive" : "Neutral";
15514
+ const confirmIcon = this.icon || (isDestructive ? "error" : "info");
15515
+ return html`
15516
+ <axebow-modals-confirmation
15517
+ .open=${this.open}
15518
+ severity=${severity}
15519
+ intent="Decisional"
15520
+ .popUpTittle=${this.title}
15521
+ textBody=""
15522
+ iconName=${confirmIcon}
15523
+ iconColor=${this._iconColorVar}
15524
+ .showForm=${false}
15525
+ .showFooter=${true}
15526
+ .showSecondaryCTA=${this.canCancel}
15527
+ .showPrimaryCTA=${true}
15528
+ .secondaryButtonText=${this.cancelLabel}
15529
+ .primaryButtonText=${this.buttonLabel}
15530
+ .primaryButtonDisabled=${!this._isDeleteEnabled}
15531
+ .canClose=${true}
15532
+ .entityName=${this.validationValue || "item"}
15533
+ @axebow-close=${() => this._handleClose()}
15534
+ @axebow-cancel=${() => this._handleClose()}
15535
+ @axebow-confirm=${() => this._handleConfirm()}
15536
+ >
15537
+ <div slot="body" class="flex flex-col gap-4">
15538
+ <slot>
15539
+ ${this.description ? html`<p class="m-0 text-black font-normal leading-relaxed">${this.description}</p>` : ""}
15540
+ </slot>
15541
+ ${this.validationValue ? html`
15542
+ <div class="flex flex-col gap-2">
15543
+ <label class="font-semibold text-black m-0 flex items-center gap-1">
15544
+ <span class="text-[#E93A3A] font-bold">*</span>
15545
+ <p>
15546
+ ${this.typePrefixText}<span class="text-[#344966] font-bold">${this.validationValue}</span
15547
+ >${this.typeSuffixText}
15548
+ </p>
15549
+ </label>
15550
+ <axebow-input
15551
+ controlType="input"
15552
+ ?compact=${true}
15553
+ .placeholder=${this.validationPlaceholder || this.validationValue}
15554
+ .value=${this._inputValue}
15555
+ .callback=${(e) => this._handleInput(e)}
15556
+ @keydown=${(e) => {
15557
+ if (e.key === "Enter" && this._isDeleteEnabled) this._handleConfirm();
15558
+ }}
15559
+ ></axebow-input>
15560
+ </div>
15561
+ ` : ""}
15562
+ </div>
15563
+ </axebow-modals-confirmation>
15564
+ `;
15565
+ }
15566
+ };
15567
+ __decorate([property({ type: Boolean })], AxebowDeleteDataPopup.prototype, "open", void 0);
15568
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "title", void 0);
15569
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "description", void 0);
15570
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "icon", void 0);
15571
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "iconColor", void 0);
15572
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "validationValue", void 0);
15573
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "validationPlaceholder", void 0);
15574
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "validationLabel", void 0);
15575
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "validationHelpText", void 0);
15576
+ __decorate([property({ type: Function })], AxebowDeleteDataPopup.prototype, "onDelete", void 0);
15577
+ __decorate([property({ type: Function })], AxebowDeleteDataPopup.prototype, "onClose", void 0);
15578
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "buttonVariant", void 0);
15579
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "buttonLabel", void 0);
15580
+ __decorate([property({ type: Boolean })], AxebowDeleteDataPopup.prototype, "canCancel", void 0);
15581
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "cancelLabel", void 0);
15582
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "typePrefixText", void 0);
15583
+ __decorate([property({ type: String })], AxebowDeleteDataPopup.prototype, "typeSuffixText", void 0);
15584
+ __decorate([state()], AxebowDeleteDataPopup.prototype, "_inputValue", void 0);
15585
+ AxebowDeleteDataPopup = __decorate([customElement("axebow-delete-data-popup")], AxebowDeleteDataPopup);
15586
+ //#endregion
15587
+ //#region src/components/axebow-learning-center/axebow-learning-center.ts
15588
+ var AxebowLearningCenter = class AxebowLearningCenter extends LitElement {
15589
+ static {
15590
+ this.styles = [unsafeCSS(tailwind_default), css`
15591
+ sl-carousel {
15592
+ --slide-gap: 4px;
15593
+ }
15594
+ marketplace-card {
15595
+ transition: transform 0.3s ease;
15596
+ }
15597
+ .marketplace-carousel::part(base) {
15598
+ min-height: 320px;
15599
+ gap: 0 4px;
15600
+ }
15601
+
15602
+ @media (max-width: 767px) {
15603
+ sl-carousel {
15604
+ --slide-gap: 8px;
15605
+ }
15606
+ sl-card::part(body) {
15607
+ padding: 0;
15608
+ }
15609
+ }
15610
+ `];
15611
+ }
15612
+ constructor() {
15613
+ super();
15614
+ this.items = [];
15615
+ this.highlightedComponentsLabel = "";
15616
+ this.marketplaceLabel = "";
15617
+ this.expanded = false;
15618
+ this.slidesPerPage = 3.2;
15619
+ this.resizeHandler = () => {
15620
+ this.updateCarouselSettings();
15621
+ };
15622
+ }
15623
+ connectedCallback() {
15624
+ super.connectedCallback();
15625
+ this.updateCarouselSettings();
15626
+ window.addEventListener("resize", this.resizeHandler);
15627
+ }
15628
+ disconnectedCallback() {
15629
+ super.disconnectedCallback();
15630
+ window.removeEventListener("resize", this.resizeHandler);
15631
+ }
15632
+ updateCarouselSettings() {
15633
+ const width = window.innerWidth;
15634
+ let newSlidesPerPage;
15635
+ if (width >= 1536) newSlidesPerPage = 3.2;
15636
+ else if (width >= 1280) newSlidesPerPage = 2.7;
15637
+ else if (width >= 1024) newSlidesPerPage = 2.2;
15638
+ else if (width >= 768) newSlidesPerPage = 1.8;
15639
+ else if (width >= 640) newSlidesPerPage = 1.3;
15640
+ else newSlidesPerPage = 1.1;
15641
+ if (this.slidesPerPage !== newSlidesPerPage) this.slidesPerPage = newSlidesPerPage;
15642
+ }
15643
+ render() {
15644
+ return html`
15645
+ <sl-card class="w-full mb-4 rounded-sm flex flex-col gap-2">
15646
+ <div class="flex items-center gap-4 max-[46.875rem]:gap-2 p-4 ${this.expanded ? "pb-0" : ""}">
15647
+ <axebow-icon
15648
+ class="rounded-sm cursor-pointer flex-shrink-0"
15649
+ iconName="expand_all"
15650
+ iconColor="var(--axebow-tertiary)"
15651
+ @click="${() => this.expanded = !this.expanded}"
15652
+ ></axebow-icon>
15653
+ <p
15654
+ class="text-[var(--axebow-primary)] font-bold text-base sm:text-lg lg:text-xl max-[46.875rem]:text-sm leading-tight"
15655
+ >
15656
+ ${this.highlightedComponentsLabel}
15657
+ <span class="text-[var(--axebow-clickable-blue)] font-medium">@</span>
15658
+ ${this.marketplaceLabel}
15659
+ </p>
15660
+ <axebow-icon iconName="deployed_code" class="ml-auto flex-shrink-0" size="xl"></axebow-icon>
15661
+ </div>
15662
+ ${this.expanded ? html`
15663
+ <sl-carousel
15664
+ class="marketplace-carousel w-full"
15665
+ navigation
15666
+ slides-per-page="${this.slidesPerPage}"
15667
+ slides-per-move="1"
15668
+ >
15669
+ ${this.items.map((item) => html`
15670
+ <sl-carousel-item class="flex justify-center items-center px-0.5 sm:px-1">
15671
+ <marketplace-card .item=${item} class="block w-full origin-center"></marketplace-card>
15672
+ </sl-carousel-item>
15673
+ `)}
15674
+ </sl-carousel>
15675
+ ` : html``}
15676
+ </sl-card>
15677
+ `;
15678
+ }
15679
+ };
15680
+ __decorate([property({ attribute: false })], AxebowLearningCenter.prototype, "items", void 0);
15681
+ __decorate([property({ type: String })], AxebowLearningCenter.prototype, "highlightedComponentsLabel", void 0);
15682
+ __decorate([property({ type: String })], AxebowLearningCenter.prototype, "marketplaceLabel", void 0);
15683
+ __decorate([state()], AxebowLearningCenter.prototype, "expanded", void 0);
15684
+ __decorate([state()], AxebowLearningCenter.prototype, "slidesPerPage", void 0);
15685
+ AxebowLearningCenter = __decorate([customElement("axebow-learning-center")], AxebowLearningCenter);
15686
+ //#endregion
15687
+ //#region src/components/axebow-paginated-table/axebow-paginated-table.ts
15688
+ var AxebowPaginatedTable = class AxebowPaginatedTable extends LitElement {
15689
+ constructor(..._args) {
15690
+ super(..._args);
15691
+ this.data = [];
15692
+ this.rowsPerPage = 10;
15693
+ this.invoiceLabel = "";
15694
+ this.downloadLabel = "";
15695
+ this.currentPage = 1;
15696
+ }
15697
+ static {
15698
+ this.styles = css`
15699
+ table {
15700
+ width: 100%;
15701
+ border-collapse: collapse;
15702
+ margin-bottom: 20px;
15703
+ }
15704
+
15705
+ th,
15706
+ td {
15707
+ padding: 8px;
15708
+ text-align: center;
15709
+ }
15710
+
15711
+ th {
15712
+ background-color: #f4f4f4;
15713
+ }
15714
+
15715
+ .pagination {
15716
+ display: flex;
15717
+ justify-content: center;
15718
+ list-style-type: none;
15719
+ padding: 0;
15720
+ }
15721
+
15722
+ .pagination li {
15723
+ margin: 0 5px;
15724
+ }
15725
+
15726
+ .pagination button {
15727
+ padding: 8px 12px;
15728
+ border: 1px solid #ddd;
15729
+ background-color: #fff;
15730
+ cursor: pointer;
15731
+ }
15732
+
15733
+ .pagination button.active {
15734
+ background-color: #007bff;
15735
+ color: #fff;
15736
+ border-color: #007bff;
15737
+ }
15738
+
15739
+ .pagination button:hover:not(.active) {
15740
+ background-color: #ddd;
15741
+ }
15742
+ .invoice-container {
15743
+ width: 100%;
15744
+ display: flex;
15745
+ gap: 32px;
15746
+ align-items: center;
15747
+ }
15748
+ .invoice-card {
15749
+ width: 100%;
15750
+ }
15751
+ .axebow-secondary-blue {
15752
+ color: var(--axebow-tertiary);
15753
+ }
15754
+ .invoice-info-header {
15755
+ display: flex;
15756
+ flex-direction: row;
15757
+ gap: 4px;
15758
+ flex-grow: 1;
15759
+ color: var(--axebow-black);
15760
+ }
15761
+ .download-button {
15762
+ margin-left: auto;
15763
+ }
15764
+ .invoice-info {
15765
+ display: flex;
15766
+ flex-direction: column;
15767
+ gap: 8px;
15768
+ color: var(--axebow-secondary);
15769
+ }
15770
+ `;
15771
+ }
15772
+ get paginatedData() {
15773
+ const start = (this.currentPage - 1) * this.rowsPerPage;
15774
+ const end = start + this.rowsPerPage;
15775
+ return this.data.slice(start, end);
15776
+ }
15777
+ get totalPages() {
15778
+ return Math.ceil(this.data.length / this.rowsPerPage);
15779
+ }
15780
+ goToPage(page) {
15781
+ if (page >= 1 && page <= this.totalPages) {
15782
+ this.currentPage = page;
15783
+ this.requestUpdate();
15784
+ }
15785
+ }
15786
+ render() {
15787
+ return html`
15788
+ <table>
15789
+ <thead></thead>
15790
+ <tbody>
15791
+ ${this.paginatedData.map((item) => html`
15792
+ <tr>
15793
+ <sl-card class="invoice-card">
15794
+ <div class="invoice-container">
15795
+ <sl-icon-button name="gear" class="axebow-secondary-blue"></sl-icon-button>
15796
+ <div class="invoice-info">
15797
+ <div class="invoice-info-header">
15798
+ <span><span class="font-semibold">${item.customerName}</span></span>
15799
+ <span>|</span>
15800
+ <span><span class="font-semibold">CIF: ${item.customerCif}</span></span>
15801
+ <span>|</span>
15802
+ <span class="axebow-secondary-blue">${this.invoiceLabel} ${item.invoiceNumber}</span>
15803
+ <span><span class="font-semibold">(${item.invoiceAmount} €)</span></span>
15804
+ </div>
15805
+ <span>${item.invoiceDocument}</span>
15806
+ <span>${item.invoiceDate}</span>
15807
+ </div>
15808
+ <axebow-button variant="primary" outline class="download-button"
15809
+ >${this.downloadLabel}</axebow-button
15810
+ >
15811
+ </div>
15812
+ </sl-card>
15813
+ </tr>
15814
+ `)}
15815
+ </tbody>
15816
+ </table>
15817
+ <ul class="pagination">
15818
+ ${Array.from({ length: this.totalPages }, (_, i) => i + 1).map((page) => html`
15819
+ <li>
15820
+ <button class=${page === this.currentPage ? "active" : ""} @click=${() => this.goToPage(page)}>
15821
+ ${page}
15822
+ </button>
15823
+ </li>
15824
+ `)}
15825
+ </ul>
15826
+ `;
15827
+ }
15828
+ };
15829
+ __decorate([property({ type: Array })], AxebowPaginatedTable.prototype, "data", void 0);
15830
+ __decorate([property({ type: Number })], AxebowPaginatedTable.prototype, "rowsPerPage", void 0);
15831
+ __decorate([property({ type: String })], AxebowPaginatedTable.prototype, "invoiceLabel", void 0);
15832
+ __decorate([property({ type: String })], AxebowPaginatedTable.prototype, "downloadLabel", void 0);
15833
+ __decorate([state()], AxebowPaginatedTable.prototype, "currentPage", void 0);
15834
+ AxebowPaginatedTable = __decorate([customElement("axebow-paginated-table")], AxebowPaginatedTable);
15835
+ //#endregion
15836
+ //#region src/components/axebow-carousel/axebow-carousel.ts
15837
+ var AxebowCarousel = class AxebowCarousel extends LitElement {
15838
+ constructor(..._args) {
15839
+ super(..._args);
15840
+ this.data = [
15841
+ {
15842
+ title: "Slide 1",
15843
+ content: "Slide 1 content",
15844
+ logo: "logo1"
15845
+ },
15846
+ {
15847
+ title: "Slide 2",
15848
+ content: "Slide 2 content",
15849
+ logo: "logo2"
15850
+ },
15851
+ {
15852
+ title: "Slide 3",
15853
+ content: "Slide 3 content",
15854
+ logo: "logo3"
15855
+ }
15856
+ ];
15857
+ this.type = "basic";
15858
+ this.numSlides = 3;
15859
+ this.title = "";
15860
+ this.deployLabel = "";
15861
+ this.learnMoreLabel = "";
15862
+ }
15863
+ static {
15864
+ this.styles = [axebowTheme, css`
15865
+ :host {
15866
+ display: block;
15867
+ }
15868
+
15869
+ sl-carousel {
15870
+ --slide-spacing: 8px;
15871
+ --pagination-spacing: 8px;
15872
+ }
15873
+
15874
+ @media (max-width: 1200px) {
15875
+ sl-carousel {
15876
+ --slide-spacing: 6px;
15877
+ --pagination-spacing: 6px;
15878
+ }
15879
+ }
15880
+
15881
+ @media (max-width: 480px) {
15882
+ sl-carousel {
15883
+ --slide-spacing: 4px;
15884
+ --pagination-spacing: 4px;
15885
+ }
15886
+ }
15887
+ `];
15888
+ }
15889
+ render() {
15890
+ return html`
15891
+ <div>
15892
+ <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4">
15893
+ <sl-carousel navigation slides-per-page="${this.numSlides}" slides-per-move="1">
15894
+ ${this.data.map((item) => html`
15895
+ <sl-carousel-item class="py-2">
15896
+ <sl-card
15897
+ class="w-full h-auto flex flex-col justify-between bg-(--axebow-white) rounded-lg overflow-hidden transition-transform hover:-translate-y-1 max-h-750 md:max-h-75 sm:max-h-56"
15898
+ >
15899
+ <div class="flex items-center mb-4">
15900
+ <img
15901
+ src="${item.logo}"
15902
+ class="max-h-12 max-w-12 mr-3 rounded"
15903
+ alt="${item.title} logo"
15904
+ />
15905
+ <div class="flex flex-col justify-between w-full">
15906
+ <h3 class="font-bold text-(--axebow-black)">${item.title}</h3>
15907
+ ${this.type === "extra" ? html` <div
15908
+ class="flex justify-between items-center text-sm text-(--axebow-secondary) mt-1 w-full"
15909
+ >
15910
+ <div class="flex items-center">
15911
+ <axebow-icon
15912
+ iconName="memory"
15913
+ iconColor="var(--axebow-secondary)"
15914
+ size="md"
15915
+ class="mr-1"
15916
+ ></axebow-icon>
15917
+ <span class="mr-2">${item.cpu || "N/A"} |</span>
15918
+ <axebow-icon
15919
+ iconName="memory_alt"
15920
+ rotate="90"
15921
+ iconColor="var(--axebow-secondary)"
15922
+ size="md"
15923
+ class="mr-1"
15924
+ ></axebow-icon>
15925
+ <span class="mr-2">${item.storage || "N/A"}</span>
15926
+ </div>
15927
+ <span
15928
+ class="bg-(--axebow-base) rounded px-2 py-0.5 text-sm text-(--axebow-secondary) border border-(--axebow-white) ml-auto"
15929
+ >${item.version || "v0.0.0"}</span
15930
+ >
15931
+ </div>` : ""}
15932
+ </div>
15933
+ </div>
15934
+
15935
+ <div
15936
+ class="text-sm text-(--axebow-secondary) mb-4 text-left min-h-12 overflow-hidden text-ellipsis line-clamp-3 grow"
15937
+ >
15938
+ ${item.content}
15939
+ </div>
15940
+ <div class="flex justify-between items-center">
15941
+ <axebow-button
15942
+ variant="text"
15943
+ class="flex items-center text-(--axebow-secondary) text-base bg-transparent border-none p-0 mt-auto"
15944
+ @click=${() => this.dispatchEvent(new CustomEvent("deploy", {
15945
+ detail: { name: item.title },
15946
+ bubbles: true,
15947
+ composed: true
15948
+ }))}
15949
+ >
15950
+ <axebow-icon
15951
+ iconName="sound_sampler"
15952
+ slot="prefix"
15953
+ iconColor="var(--axebow-tertiary)"
15954
+ size="md"
15955
+ class="mr-2 text-xl align-middle shrink-0"
15956
+ ></axebow-icon>
15957
+ ${this.deployLabel}
15958
+ </axebow-button>
15959
+ <a href="#" class="text-(--axebow-tertiary) no-underline hover:underline"
15960
+ >${this.learnMoreLabel}</a
15961
+ >
15962
+ </div>
15963
+ </sl-card>
15964
+ </sl-carousel-item>
15965
+ `)}
15966
+ </sl-carousel>
15967
+ </div>
15968
+ </div>
15969
+ `;
15970
+ }
15971
+ };
15972
+ __decorate([property({ type: Array })], AxebowCarousel.prototype, "data", void 0);
15973
+ __decorate([property({ type: String })], AxebowCarousel.prototype, "type", void 0);
15974
+ __decorate([property({ type: Number })], AxebowCarousel.prototype, "numSlides", void 0);
15975
+ __decorate([property({ type: String })], AxebowCarousel.prototype, "title", void 0);
15976
+ __decorate([property({ type: String })], AxebowCarousel.prototype, "deployLabel", void 0);
15977
+ __decorate([property({ type: String })], AxebowCarousel.prototype, "learnMoreLabel", void 0);
15978
+ AxebowCarousel = __decorate([customElement("axebow-carousel")], AxebowCarousel);
15979
+ //#endregion
15980
+ //#region src/components/wizard-page-layout/wizard-page-layout.ts
15981
+ var zoomLayoutStyles = css`
15982
+ .zoom-page-container {
15983
+ box-sizing: border-box;
15984
+ width: 100%;
15985
+ padding-inline-start: calc(max(0.938rem, (100% - 73.5rem * var(--zoom, 1)) * 0.5 - 2.5rem));
15986
+ padding-inline-end: calc(max(6rem, (100% - 73.5rem * var(--zoom, 1)) * 0.5 + 2.5rem));
15987
+ }
15988
+
15989
+ .zoom-page-container.no-sidebar {
15990
+ padding-inline-start: calc(max(6rem, (100% - 73.5rem * var(--zoom, 1)) * 0.5));
15991
+ padding-inline-end: calc(max(6rem, (100% - 73.5rem * var(--zoom, 1)) * 0.5));
15992
+ }
15993
+
15994
+ .zoom-container {
15995
+ width: 73.5rem;
15996
+ zoom: var(--zoom, 1);
15997
+ }
15998
+ `;
15999
+ var WizardPageLayout = class WizardPageLayout extends LitElement {
16000
+ constructor(..._args) {
16001
+ super(..._args);
16002
+ this.mainPage = "";
16003
+ this.secondaryPages = [];
16004
+ this.showRequiredField = true;
16005
+ this.requiredFieldLabel = "";
16006
+ this.minHeight = "100%";
16007
+ this.zoomLevel = 1;
16008
+ this.hasSummary = true;
16009
+ this.showDivider = true;
16010
+ this.gapClass = "gap-[4%] lg:gap-7.75";
16011
+ this.contentColumnClass = "lg:w-194.5";
16012
+ this.errorMessage = "";
16013
+ }
16014
+ static {
16015
+ this.styles = [
16016
+ unsafeCSS(tailwind_default),
16017
+ axebowTheme,
16018
+ zoomLayoutStyles,
16019
+ css`
16020
+ :host {
16021
+ display: block;
16022
+ width: 100%;
16023
+ }
16024
+ `
16025
+ ];
16026
+ }
16027
+ render() {
16028
+ return html`
16029
+ <div class="zoom-page-container no-sidebar" style="--zoom: ${this.zoomLevel};">
16030
+ <div class="zoom-container flex flex-col" style="min-height: ${this.minHeight};">
16031
+ ${this.hasSummary ? html`
16032
+ <div class="flex w-full ${this.gapClass} lg:flex-row flex-col-reverse relative flex-1">
16033
+ <div
16034
+ class="w-full ${this.hasSummary ? this.contentColumnClass : ""} transition-all duration-300 flex flex-col flex-1 justify-between"
16035
+ >
16036
+ <div>
16037
+ <axebow-breadcrumb-header
16038
+ ?showSecondaryPages=${this.secondaryPages.length > 0}
16039
+ .secondaryPages=${this.secondaryPages}
16040
+ mainPage=${this.mainPage}
16041
+ ?showRequiredField=${this.showRequiredField}
16042
+ requiredFieldLabel=${this.requiredFieldLabel}
16043
+ paddingBottom="1rem"
16044
+ .onHomeClick=${this.onHomeClick}
16045
+ ></axebow-breadcrumb-header>
16046
+
16047
+ ${this.showDivider ? html`<axebow-divider margin="0"></axebow-divider>` : ""}
16048
+ ${this.errorMessage ? html`
16049
+ <div
16050
+ class="flex items-center gap-2 p-3 rounded-md bg-(--axebow-error-light) text-(--axebow-error)"
16051
+ >
16052
+ <sl-icon name="exclamation-circle"></sl-icon>
16053
+ <span>${this.errorMessage}</span>
16054
+ </div>
16055
+ ` : ""}
16056
+
16057
+ <div class="flex-1">
16058
+ <slot name="content"></slot>
16059
+ </div>
16060
+ </div>
16061
+
16062
+ <slot name="footer"></slot>
16063
+ </div>
16064
+
16065
+ <div class="w-full lg:w-auto flex flex-col flex-1 h-full pt-11.75">
16066
+ <slot name="summary"></slot>
16067
+ </div>
16068
+ </div>
16069
+ ` : html`
16070
+ <div class="flex flex-col flex-1 pb-0 justify-between">
16071
+ <div>
16072
+ <axebow-breadcrumb-header
16073
+ ?showSecondaryPages=${this.secondaryPages.length > 0}
16074
+ .secondaryPages=${this.secondaryPages}
16075
+ mainPage=${this.mainPage}
16076
+ ?showRequiredField=${this.showRequiredField}
16077
+ requiredFieldLabel=${this.requiredFieldLabel}
16078
+ paddingBottom="1rem"
16079
+ .onHomeClick=${this.onHomeClick}
16080
+ ></axebow-breadcrumb-header>
16081
+
16082
+ ${this.showDivider ? html`<axebow-divider margin="0"></axebow-divider>` : ""}
16083
+ ${this.errorMessage ? html`
16084
+ <div
16085
+ class="flex items-center gap-2 p-3 rounded-md bg-(--axebow-error-light) text-(--axebow-error)"
16086
+ >
16087
+ <sl-icon name="exclamation-circle"></sl-icon>
16088
+ <span>${this.errorMessage}</span>
16089
+ </div>
16090
+ ` : ""}
16091
+
16092
+ <div class="flex-1">
16093
+ <slot name="content"></slot>
16094
+ </div>
16095
+ </div>
16096
+
16097
+ <slot name="footer"></slot>
16098
+ </div>
16099
+ `}
16100
+ </div>
16101
+
16102
+ <slot name="dialogs"></slot>
16103
+ </div>
16104
+ `;
16105
+ }
16106
+ };
16107
+ __decorate([property({ type: String })], WizardPageLayout.prototype, "mainPage", void 0);
16108
+ __decorate([property({ type: Array })], WizardPageLayout.prototype, "secondaryPages", void 0);
16109
+ __decorate([property({ type: Boolean })], WizardPageLayout.prototype, "showRequiredField", void 0);
16110
+ __decorate([property({ type: String })], WizardPageLayout.prototype, "requiredFieldLabel", void 0);
16111
+ __decorate([property({ attribute: false })], WizardPageLayout.prototype, "onHomeClick", void 0);
16112
+ __decorate([property({ type: String })], WizardPageLayout.prototype, "minHeight", void 0);
16113
+ __decorate([property({ type: Number })], WizardPageLayout.prototype, "zoomLevel", void 0);
16114
+ __decorate([property({ type: Boolean })], WizardPageLayout.prototype, "hasSummary", void 0);
16115
+ __decorate([property({ type: Boolean })], WizardPageLayout.prototype, "showDivider", void 0);
16116
+ __decorate([property({ type: String })], WizardPageLayout.prototype, "gapClass", void 0);
16117
+ __decorate([property({ type: String })], WizardPageLayout.prototype, "contentColumnClass", void 0);
16118
+ __decorate([property({ type: String })], WizardPageLayout.prototype, "errorMessage", void 0);
16119
+ WizardPageLayout = __decorate([customElement("wizard-page-layout")], WizardPageLayout);
16120
+ //#endregion
16121
+ //#region src/components/axebow-premium-plan-popup/axebow-premium-plan-popup.ts
16122
+ var AxebowPremiumPlanPopup = class AxebowPremiumPlanPopup extends LitElement {
16123
+ constructor(..._args) {
16124
+ super(..._args);
16125
+ this.open = false;
16126
+ this.price = 6;
16127
+ this.greatChoiceLabel = "";
16128
+ this.premiumPlanLabel = "";
16129
+ this.whatBestSuitsLabel = "";
16130
+ this.perVcpuMonthLabel = "";
16131
+ this.basedOnUsageLabel = "";
16132
+ this.allPremiumFeaturesLabel = "";
16133
+ this.credentialsWithLabel = "";
16134
+ this.noVcpuLimitsLabel = "";
16135
+ this.deployInLabel = "";
16136
+ this.ownEnvironmentsLabel = "";
16137
+ this.unlimitedLabel = "";
16138
+ this.privateContainersLabel = "";
16139
+ this.iaasBudgetLabel = "";
16140
+ this.featureLabel = "";
16141
+ this.draftsLabel = "";
16142
+ this.support247Label = "";
16143
+ this.withSlaLabel = "";
16144
+ this.continueLabel = "";
16145
+ this.anotherTimeLabel = "";
16146
+ }
16147
+ static {
16148
+ this.styles = css`
16149
+ sl-dialog::part(panel) {
16150
+ border-radius: 0.375rem;
16151
+ background-color: var(--axebow-success);
16152
+ height: 80vh;
16153
+ min-width: 300px;
16154
+ max-width: 90%;
16155
+ overflow: hidden;
16156
+ padding: 0 1rem;
16157
+ margin: 0;
16158
+ }
16159
+
16160
+ sl-dialog::part(header) {
16161
+ text-align: center;
16162
+ color: white;
16163
+ padding: 0.15rem 1rem;
16164
+ margin: 0;
16165
+ }
16166
+
16167
+ sl-dialog::part(body) {
16168
+ padding: 0;
16169
+ margin: 0;
16170
+ }
16171
+
16172
+ sl-dialog::part(footer) {
16173
+ display: flex;
16174
+ flex-direction: column;
16175
+ gap: 0.25rem;
16176
+ padding: 1rem;
16177
+ }
16178
+
16179
+ .plan-summary {
16180
+ width: 100%;
16181
+ height: 100%;
16182
+ margin: 0;
16183
+ padding: 0;
16184
+ }
16185
+
16186
+ .plan-summary h2 {
16187
+ font-size: 1.25rem;
16188
+ margin: 0;
16189
+ }
16190
+
16191
+ .price-container {
16192
+ display: flex;
16193
+ align-items: baseline;
16194
+ margin: 0.5rem 0;
16195
+ }
16196
+
16197
+ .price-container h1 {
16198
+ margin: 0;
16199
+ font-size: 2.5rem;
16200
+ margin-right: 0.5rem;
16201
+ }
16202
+
16203
+ .price-info h3 {
16204
+ margin: 0;
16205
+ }
16206
+
16207
+ .text-with-icon {
16208
+ display: flex;
16209
+ align-items: center;
16210
+ margin: 0.5rem 0;
16211
+ }
16212
+
16213
+ .text-with-icon p {
16214
+ margin-top: 0;
16215
+ margin-bottom: 0;
16216
+ }
16217
+
16218
+ .text-with-icon axebow-icon {
16219
+ margin-right: 0.5rem;
16220
+ }
16221
+
16222
+ .popup-button {
16223
+ width: 50%;
16224
+ }
16225
+
16226
+ .popup-buttons {
16227
+ display: flex;
16228
+ flex-direction: column;
16229
+ gap: 1rem;
16230
+ align-items: center;
16231
+ }
16232
+ `;
16233
+ }
16234
+ render() {
16235
+ return html`
16236
+ <sl-dialog
16237
+ label="${this.greatChoiceLabel}"
16238
+ ?open=${this.open}
16239
+ @sl-after-hide=${this._onDialogClosed}
16240
+ @sl-request-close=${this._onRequestClose}
16241
+ class="summary"
16242
+ >
16243
+ <sl-card class="plan-summary">
16244
+ <h2>${this.premiumPlanLabel}</h2>
16245
+ <p>${this.whatBestSuitsLabel}</p>
16246
+
16247
+ <div class="price-container">
16248
+ <h1>${this.price},00</h1>
16249
+ <div class="price-info">
16250
+ <h3>${this.perVcpuMonthLabel}</h3>
16251
+ <p>${this.basedOnUsageLabel}</p>
16252
+ </div>
16253
+ </div>
16254
+
16255
+ <div class="text-with-icon">
16256
+ <axebow-icon iconName="verified" iconColor="var(--axebow-tertiary)" size="md"></axebow-icon>
16257
+ <h3>${this.allPremiumFeaturesLabel}</h3>
16258
+ </div>
16259
+
16260
+ <div class="text-with-icon">
16261
+ <axebow-icon iconName="verified" iconColor="var(--axebow-gray)" size="md"></axebow-icon>
16262
+ <p>
16263
+ ${this.credentialsWithLabel}
16264
+ <span class="font-semibold">${this.noVcpuLimitsLabel}</span>
16265
+ </p>
16266
+ </div>
16267
+
16268
+ <div class="text-with-icon">
16269
+ <axebow-icon iconName="verified" iconColor="var(--axebow-gray)" size="md"></axebow-icon>
16270
+ <p>
16271
+ ${this.deployInLabel}
16272
+ <span class="font-semibold">${this.ownEnvironmentsLabel}</span>.
16273
+ </p>
16274
+ </div>
16275
+
16276
+ <div class="text-with-icon">
16277
+ <axebow-icon iconName="verified" iconColor="var(--axebow-gray)" size="md"></axebow-icon>
16278
+ <p>
16279
+ <span class="font-semibold">${this.unlimitedLabel}</span> ${this.privateContainersLabel}
16280
+ </p>
16281
+ </div>
16282
+
16283
+ <div class="text-with-icon">
16284
+ <axebow-icon iconName="verified" iconColor="var(--axebow-gray)" size="md"></axebow-icon>
16285
+ <p><span class="font-semibold">${this.iaasBudgetLabel}</span> ${this.featureLabel}</p>
16286
+ </div>
16287
+
16288
+ <div class="text-with-icon">
16289
+ <axebow-icon iconName="verified" iconColor="var(--axebow-gray)" size="md"></axebow-icon>
16290
+ <p><span class="font-semibold">${this.unlimitedLabel}</span> ${this.draftsLabel}</p>
16291
+ </div>
16292
+
16293
+ <div class="text-with-icon">
16294
+ <axebow-icon iconName="verified" iconColor="var(--axebow-gray)" size="md"></axebow-icon>
16295
+ <p><span class="font-semibold">${this.support247Label}</span> ${this.withSlaLabel}</p>
16296
+ </div>
16297
+ <div class="popup-buttons">
16298
+ <axebow-button class="popup-button" variant="primary" @click=${this._closeDialog}>
16299
+ ${this.continueLabel}
16300
+ </axebow-button>
16301
+ <axebow-button class="popup-button" variant="default" @click=${this._closeDialog}>
16302
+ ${this.anotherTimeLabel}
16303
+ </axebow-button>
16304
+ </div>
16305
+ </sl-card>
16306
+ </sl-dialog>
16307
+ `;
16308
+ }
16309
+ _onRequestClose() {
16310
+ this._closeDialog();
16311
+ }
16312
+ _closeDialog() {
16313
+ this.open = false;
16314
+ this.dispatchEvent(new CustomEvent("dialog-closed", {
16315
+ detail: { open: this.open },
16316
+ bubbles: true,
16317
+ composed: true
16318
+ }));
16319
+ }
16320
+ _onDialogClosed() {}
16321
+ };
16322
+ __decorate([property({
16323
+ type: Boolean,
16324
+ reflect: true
16325
+ })], AxebowPremiumPlanPopup.prototype, "open", void 0);
16326
+ __decorate([property({ type: Number })], AxebowPremiumPlanPopup.prototype, "price", void 0);
16327
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "greatChoiceLabel", void 0);
16328
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "premiumPlanLabel", void 0);
16329
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "whatBestSuitsLabel", void 0);
16330
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "perVcpuMonthLabel", void 0);
16331
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "basedOnUsageLabel", void 0);
16332
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "allPremiumFeaturesLabel", void 0);
16333
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "credentialsWithLabel", void 0);
16334
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "noVcpuLimitsLabel", void 0);
16335
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "deployInLabel", void 0);
16336
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "ownEnvironmentsLabel", void 0);
16337
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "unlimitedLabel", void 0);
16338
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "privateContainersLabel", void 0);
16339
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "iaasBudgetLabel", void 0);
16340
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "featureLabel", void 0);
16341
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "draftsLabel", void 0);
16342
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "support247Label", void 0);
16343
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "withSlaLabel", void 0);
16344
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "continueLabel", void 0);
16345
+ __decorate([property({ type: String })], AxebowPremiumPlanPopup.prototype, "anotherTimeLabel", void 0);
16346
+ AxebowPremiumPlanPopup = __decorate([customElement("axebow-premium-plan-popup")], AxebowPremiumPlanPopup);
16347
+ //#endregion
16348
+ //#region src/components/usage-chart/usage-chart.ts
16349
+ var COLOR_PALETTE = [
16350
+ {
16351
+ borderColor: "#4F46E5",
16352
+ backgroundColor: "rgba(79, 70, 229, 0.1)"
16353
+ },
16354
+ {
16355
+ borderColor: "#F97316",
16356
+ backgroundColor: "rgba(249, 115, 22, 0.1)"
16357
+ },
16358
+ {
16359
+ borderColor: "#10B981",
16360
+ backgroundColor: "rgba(16, 185, 129, 0.1)"
16361
+ },
16362
+ {
16363
+ borderColor: "#8B5CF6",
16364
+ backgroundColor: "rgba(139, 92, 246, 0.1)"
16365
+ },
16366
+ {
16367
+ borderColor: "#EF4444",
16368
+ backgroundColor: "rgba(239, 68, 68, 0.1)"
16369
+ }
16370
+ ];
16371
+ function generateHslColor(index) {
16372
+ const hue = index * 137.508 % 360;
16373
+ const saturation = 70 + index % 3 * 10;
16374
+ const lightness = 45 + index % 2 * 10;
16375
+ return {
16376
+ borderColor: `hsl(${hue}, ${saturation}%, ${lightness}%)`,
16377
+ backgroundColor: `hsla(${hue}, ${saturation}%, ${lightness}%, 0.1)`
16378
+ };
16379
+ }
16380
+ function getColorForDataset(index) {
16381
+ return index < COLOR_PALETTE.length ? COLOR_PALETTE[index] : generateHslColor(index);
16382
+ }
16383
+ function buildDatasets(data, detailChart) {
16384
+ return Object.entries(data).map(([key, dataArray], index) => {
16385
+ const colors = getColorForDataset(index);
16386
+ return {
16387
+ label: key,
16388
+ data: dataArray,
16389
+ borderColor: colors.borderColor,
16390
+ backgroundColor: colors.backgroundColor,
16391
+ fill: true,
16392
+ tension: .3,
16393
+ borderWidth: 2,
16394
+ pointRadius: detailChart ? 3 : 0,
16395
+ pointHoverRadius: detailChart ? 6 : 0,
16396
+ pointBackgroundColor: colors.borderColor,
16397
+ pointBorderColor: "#ffffff",
16398
+ pointBorderWidth: 2
16399
+ };
16400
+ });
16401
+ }
16402
+ function computeYMax(data, detailChart, yAxisMax) {
16403
+ if (yAxisMax !== null && yAxisMax > 0) return detailChart ? yAxisMax * 1.15 : yAxisMax;
16404
+ const allValues = Object.values(data).flat();
16405
+ const maxDataValue = Math.max(...allValues, 0);
16406
+ return detailChart ? void 0 : maxDataValue * 3;
16407
+ }
16408
+ function formatBandwidth(value) {
16409
+ if (value === 0) return "0 bps";
16410
+ if (value < 1e3) return `${value.toFixed(2)} bps`;
16411
+ if (value < 1e6) return `${(value / 1e3).toFixed(2)} Kbps`;
16412
+ if (value < 1e9) return `${(value / 1e6).toFixed(2)} Mbps`;
16413
+ return `${(value / 1e9).toFixed(2)} Gbps`;
16414
+ }
16415
+ function formatMemory(value) {
16416
+ if (value === 0) return "0 MB";
16417
+ if (value < 1024) return `${value.toFixed(2)} MB`;
16418
+ return `${(value / 1024).toFixed(2)} GB`;
16419
+ }
16420
+ function formatCpu(value) {
16421
+ if (value === 0) return "0";
16422
+ if (value < 1e-4) return value.toExponential(2);
16423
+ if (value < .01) return value.toFixed(6);
16424
+ if (value < 1) return value.toFixed(4);
16425
+ return value.toFixed(2);
16426
+ }
16427
+ function formatByChartId(value, chartId) {
16428
+ if (chartId.includes("RX") || chartId.includes("TX")) return formatBandwidth(value);
16429
+ if (chartId.includes("Memory")) return formatMemory(value);
16430
+ if (chartId.includes("CPU")) return formatCpu(value);
16431
+ return value.toString();
16432
+ }
16433
+ function formatByLabel(value, label, chartId) {
16434
+ const lowerLabel = label?.toLowerCase();
16435
+ if (lowerLabel?.includes("cpu")) return formatCpu(value);
16436
+ if (lowerLabel?.includes("memory")) return formatMemory(value);
16437
+ if (lowerLabel?.includes("bandwidth") || chartId.includes("RX") || chartId.includes("TX")) return formatBandwidth(value);
16438
+ return `${value}`;
16439
+ }
16440
+ function buildChartOptions(detailChart, chartId, yMax) {
16441
+ return {
16442
+ responsive: true,
16443
+ maintainAspectRatio: false,
16444
+ animation: false,
16445
+ animations: {
16446
+ colors: false,
16447
+ x: false
16448
+ },
16449
+ transitions: { active: { animation: { duration: 0 } } },
16450
+ interaction: {
16451
+ intersect: false,
16452
+ mode: "index"
16453
+ },
16454
+ plugins: {
16455
+ legend: {
16456
+ display: detailChart,
16457
+ position: "bottom",
16458
+ labels: {
16459
+ usePointStyle: true,
16460
+ padding: 15,
16461
+ font: { size: 12 }
16462
+ }
16463
+ },
16464
+ tooltip: {
16465
+ enabled: detailChart,
16466
+ backgroundColor: "rgba(0, 0, 0, 0.8)",
16467
+ titleColor: "#ffffff",
16468
+ bodyColor: "#ffffff",
16469
+ borderColor: "#374151",
16470
+ borderWidth: 1,
16471
+ cornerRadius: 8,
16472
+ displayColors: true,
16473
+ callbacks: { label: (context) => {
16474
+ const value = context.parsed.y ?? 0;
16475
+ const label = context.dataset.label;
16476
+ return `${label}: ${formatByLabel(value, label, chartId)}`;
16477
+ } }
16478
+ }
16479
+ },
16480
+ scales: {
16481
+ x: {
16482
+ display: detailChart,
16483
+ grid: {
16484
+ display: detailChart,
16485
+ color: "rgba(0, 0, 0, 0.1)"
16486
+ },
16487
+ ticks: {
16488
+ maxTicksLimit: 8,
16489
+ font: { size: 11 },
16490
+ color: "#6B7280"
16491
+ }
16492
+ },
16493
+ y: {
16494
+ display: detailChart,
16495
+ beginAtZero: true,
16496
+ max: yMax,
16497
+ suggestedMax: yMax,
16498
+ grid: {
16499
+ display: detailChart,
16500
+ color: "rgba(0, 0, 0, 0.1)"
16501
+ },
16502
+ ticks: {
16503
+ maxTicksLimit: 5,
16504
+ font: { size: 11 },
16505
+ color: "#6B7280",
16506
+ callback: (value) => formatByChartId(Number(value), chartId)
16507
+ }
16508
+ }
16509
+ }
16510
+ };
16511
+ }
16512
+ var UsageChart = class UsageChart extends LitElement {
16513
+ constructor(..._args) {
16514
+ super(..._args);
16515
+ this.chartType = "line";
16516
+ this.labels = [];
16517
+ this.data = {};
16518
+ this.chartId = "";
16519
+ this.detailChart = false;
16520
+ this.isFullScreen = false;
16521
+ this.yAxisMax = null;
16522
+ }
16523
+ get _resolvedHeight() {
16524
+ if (this.isFullScreen) return "90%";
16525
+ if (this.detailChart) return "12rem";
16526
+ return this.height ?? "4rem";
16527
+ }
16528
+ render() {
16529
+ const datasets = buildDatasets(this.data, this.detailChart);
16530
+ const yMax = computeYMax(this.data, this.detailChart, this.yAxisMax);
16531
+ const options = buildChartOptions(this.detailChart, this.chartId, yMax);
16532
+ return html`
16533
+ <table-chart
16534
+ chartType=${this.chartType}
16535
+ chartId=${this.chartId}
16536
+ .chartLabels=${this.labels}
16537
+ .chartDatasets=${datasets}
16538
+ .chartOptions=${options}
16539
+ height=${this._resolvedHeight}
16540
+ ></table-chart>
16541
+ `;
16542
+ }
16543
+ };
16544
+ __decorate([property({ type: String })], UsageChart.prototype, "chartType", void 0);
16545
+ __decorate([property({ type: Array })], UsageChart.prototype, "labels", void 0);
16546
+ __decorate([property({ type: Object })], UsageChart.prototype, "data", void 0);
16547
+ __decorate([property({ type: String })], UsageChart.prototype, "chartId", void 0);
16548
+ __decorate([property({ type: Boolean })], UsageChart.prototype, "detailChart", void 0);
16549
+ __decorate([property({ type: Boolean })], UsageChart.prototype, "isFullScreen", void 0);
16550
+ __decorate([property({ type: Number })], UsageChart.prototype, "yAxisMax", void 0);
16551
+ __decorate([property({ type: String })], UsageChart.prototype, "height", void 0);
16552
+ UsageChart = __decorate([customElement("usage-chart")], UsageChart);
16553
+ //#endregion
16554
+ //#region src/components/axebow-white-container/axebow-white-container.ts
16555
+ var AxebowWhiteContainer = class AxebowWhiteContainer extends LitElement {
16556
+ constructor(..._args) {
16557
+ super(..._args);
16558
+ this.padding = "p-8";
16559
+ this.extraClasses = "";
16560
+ this.fullWidth = false;
16561
+ }
16562
+ static {
16563
+ this.styles = [unsafeCSS(tailwind_default), css`
16564
+ :host {
16565
+ display: block;
16566
+ }
16567
+ `];
16568
+ }
16569
+ render() {
16570
+ const widthClass = this.fullWidth ? "w-full" : "";
16571
+ return html`
16572
+ <div class="rounded-lg bg-white ${this.padding} shadow-sm ${widthClass} ${this.extraClasses}">
16573
+ <slot></slot>
16574
+ </div>
16575
+ `;
16576
+ }
16577
+ };
16578
+ __decorate([property({ type: String })], AxebowWhiteContainer.prototype, "padding", void 0);
16579
+ __decorate([property({ type: String })], AxebowWhiteContainer.prototype, "extraClasses", void 0);
16580
+ __decorate([property({ type: Boolean })], AxebowWhiteContainer.prototype, "fullWidth", void 0);
16581
+ AxebowWhiteContainer = __decorate([customElement("axebow-white-container")], AxebowWhiteContainer);
16582
+ //#endregion
16583
+ export { AxebowActionsFooter, AxebowAdjustmentResourcesCounter, AxebowAlert, AxebowBadge, AxebowBanner, AxebowBaseCard, AxebowBorderContainer, AxebowBoxSection, AxebowBoxedInput, AxebowBreadcrumbHeader, AxebowButton, AxebowCallToActionFeature, AxebowCallToActionRow, AxebowCardActionBanner, AxebowCardAttentionBanner, AxebowCardCloudLogo, AxebowCardFilter, AxebowCardFilterItem, AxebowCardFooter, AxebowCardHeader, AxebowCardResourceRow, AxebowCardResourceTable, AxebowCardSpecialLink, AxebowCardStatItem, AxebowCardStatsRow, AxebowCardStatus, AxebowCardTableHeader, AxebowCardVersionSelector, AxebowCarousel, AxebowCarouselInput, AxebowCarouselSelectorItem, AxebowCarouselSelectorTenant, AxebowChannelConfigPanel, AxebowCheckboxInput, AxebowCollaboratorsDialog, AxebowCopyBox, AxebowCopyIcon, AxebowCtaDialog, AxebowDeleteDataPopup, AxebowDeployCard, AxebowDeploySummary, AxebowDialog, AxebowDivider, AxebowDragDropUploadFile, AxebowDraggableService, AxebowEmptyState, AxebowExpandableCard, AxebowExpandableHeader, AxebowFilterBar, AxebowFooter, AxebowFormPanelField, AxebowGettingStartedCard, AxebowGraph, AxebowHeader, AxebowHelpBubble, AxebowHyperlinkSwitch, AxebowIcon, AxebowInfrastructureCard, AxebowInput, AxebowInputBase, AxebowInstancesTable, AxebowLearningCenter, AxebowLimitsCounter, AxebowManageHyperlinks, AxebowMarketplaceCard, AxebowMobileWarningBanner, AxebowModal, AxebowModalsConfirmation, AxebowMoreActions, AxebowNumberCard, AxebowNumbersSection, AxebowNumericInput, AxebowObservabilityContainer, AxebowPageActions, AxebowPaginatedTable, AxebowPemDialog, AxebowPill, AxebowPlanProvidersModal, AxebowPlanSelectField, AxebowPremiumPlanPopup, AxebowProgressBar, AxebowPromotionDropdown, AxebowProvidersInput, AxebowQuickTipButton, AxebowQuickTipSection, AxebowRefreshPeriodPanel, AxebowRegistrySelector, AxebowResourceBar, AxebowResourceBoxForm, AxebowResourceCard, AxebowResourceLimitInput, AxebowResourceLimitsPanel, AxebowResourcesCounter, AxebowRoleCard, AxebowRoleContainerDropdown, AxebowRoleTooltip, AxebowRuntimeZipDialog, AxebowSearch, AxebowSearchBarFilters, AxebowSelectInput, AxebowSelectInputWithDivider, AxebowSelectorCard, AxebowSelectorSlider, AxebowServiceDetailHeader, AxebowServicesPanel, AxebowSidebar, AxebowStatus, AxebowStepHeader, AxebowSummaryCard, AxebowSummaryFlavors, AxebowSummaryKeyValue, AxebowSummaryLimits, AxebowSummaryStep, AxebowSummaryStepHeader, AxebowSwitch, AxebowSwitchInput, AxebowTabSelector, AxebowTabsSubmenu, AxebowTagsInput, AxebowTenantCard, AxebowTenantResourceTable, AxebowTenantsTable, AxebowTextInput, AxebowTimeRangePanel, AxebowTooltip, AxebowUl, AxebowUndeployCard, AxebowUnderlineTabSelector, AxebowUsageTooltip, AxebowWhiteContainer, CRITICALITY_STYLES, CustomHomePageBody, DEFAULT_ADD_DIALOG_LABELS, DEFAULT_LOW_NOTE_TEXT, DeployModalComponent, DeployModalFooter, DeployModalHeader, DeployPageBody, STATUS_COLORS, TableChart, UsageChart, WizardPageLayout, axebowTheme, buildAddButton, buildCtaButtons, buildExternalNodeContent, buildMainNodeContent, createElement, createIcon, getCtaBadgeLabel, getCtaDescription, getCtaHeading, getHighestCriticality, groupCallToActionNotifications };
14120
16584
 
14121
16585
  //# sourceMappingURL=index.js.map