diff --git a/demo/partials/toasts.html b/demo/partials/toasts.html index 6af78ac..7251d49 100644 --- a/demo/partials/toasts.html +++ b/demo/partials/toasts.html @@ -3,59 +3,26 @@

Toasts создаются из JS и добавляются в `body` вызовом `.show()`. Для коротких уведомлений доступны методы `createInfo`, `createSuccess`, `createWarning`, `createDanger`. + Если текст не передан — toast отображается в компактном однострочном виде.

-

Triggers (demo buttons)

+

With text

- +
- + + + + +
@@ -68,7 +35,10 @@ { lifetime: 4000, alone: true } ).show(); -Toasts.createDanger("Error", "Произошла ошибка").show(); +Toasts.createDanger("Error", "Произошла ошибка").show(); + +// Title only — compact single-line toast +Toasts.createInfo("Saved").show();
@@ -101,5 +71,21 @@ "Произошла ошибка. Повтори позже." ).show(); } + + window.demoToastInfoTitleOnly = function () { + Toasts.createInfo("Document saved").show(); + } + + window.demoToastSuccessTitleOnly = function () { + Toasts.createSuccess("Synced").show(); + } + + window.demoToastWarningTitleOnly = function () { + Toasts.createWarning("Offline mode").show(); + } + + window.demoToastDangerTitleOnly = function () { + Toasts.createDanger("Connection lost").show(); + } }); - + diff --git a/demo/partials/vue/toasts.html b/demo/partials/vue/toasts.html index ba0dff8..5f15000 100644 --- a/demo/partials/vue/toasts.html +++ b/demo/partials/vue/toasts.html @@ -1,14 +1,21 @@

Toasts

-

Toasts создаются из JS и добавляются в `body` вызовом `.show()`. Для коротких уведомлений доступны методы `createInfo`, `createSuccess`, `createWarning`, `createDanger`.

+

Toasts создаются из JS и добавляются в `body` вызовом `.show()`. Для коротких уведомлений доступны методы `createInfo`, `createSuccess`, `createWarning`, `createDanger`. Если текст не передан — toast отображается в компактном однострочном виде.

-

Triggers (demo buttons)

- +

With text

+
- +
+

Title only

+ + + + +
+
Toasts JS @@ -20,6 +27,9 @@ { lifetime: 4000, alone: true } ).show(); -Toasts.createDanger("Error", "Произошла ошибка").show(); +Toasts.createDanger("Error", "Произошла ошибка").show(); + +// Title only — compact single-line toast +Toasts.createInfo("Saved").show();
diff --git a/dist/css/demo.css b/dist/css/demo.css index 8112339..503d568 100644 --- a/dist/css/demo.css +++ b/dist/css/demo.css @@ -1,2 +1,2 @@ -@charset "UTF-8";@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}.container{padding:18px}.section{margin-bottom:48px}.section-title{margin-bottom:34px}.block{margin-bottom:34px}.block-title{margin-bottom:22px}.text,p{margin-bottom:15px}.hint{margin-top:8px}.list{padding-left:22px;margin-bottom:15px}.list-item{margin-bottom:8px}.list-nested{margin-top:8px}.table{margin-bottom:22px}.table-caption{margin-bottom:8px}.form-group{margin-bottom:15px}.label{margin-bottom:5px;display:block}.input,.select,.textarea{margin-top:5px}.toast{padding:15px}.toast-stack{gap:8px}@keyframes terminal_scan_x{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}@keyframes terminal_scan_y{0%{transform:translateY(-120%)}100%{transform:translateY(220%)}}@keyframes terminal_pulse{0%,100%{box-shadow:0 0 0 0 rgba(192,202,245,0)}50%{box-shadow:0 0 0 4px rgba(192,202,245,.18)}}@keyframes panel_boot{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}@keyframes overlay_reveal{0%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}@keyframes tooltip_reveal{0%{opacity:0;transform:translateX(-50%) translateY(5px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0s!important}}html{font-size:100%}body{font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:400;line-height:1.6;letter-spacing:0;color:#c0caf5}h1,h2,h3,h4,h5,h6{font-family:"IBM Plex Mono",monospace;font-weight:600;line-height:1.25;margin:0}h1.contrast,h2.contrast,h3.contrast,h4.contrast,h5.contrast,h6.contrast{background:#c0caf5;color:#16161e;display:inline;padding:0 8px}h1{font-size:34px;letter-spacing:0}h2{font-size:26px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px;font-weight:500}.text,p{font-size:15px;line-height:1.6}.text-sm{font-size:13px;line-height:1.4}.text-lg{font-size:16px;line-height:1.6}.text-lead{max-width:760px;color:#c0caf5;font-size:16px;font-weight:500;line-height:1.6}.text-muted{font-size:13px;color:#787c99}.text-strong,strong{font-weight:600}.text-bold{font-weight:700}.text-italic,em{font-style:italic}.text-success{color:#9ece6a}.text-warning{color:#e0af68}.text-danger,.text-error{color:#f7768e}.text-info{color:#bb9af7}.eyebrow{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.caption{color:#787c99;font-size:12px;line-height:1.4}.code,code,pre{font-family:"IBM Plex Mono",monospace;font-size:15px;line-height:1.4;background-color:#1f2335}.text-primary{color:#c0caf5}.text-secondary{color:#a9b1d6}pre{font-size:15px;line-height:1.6;white-space:pre-wrap}.code,pre code{-o-tab-size:2;tab-size:2;-moz-tab-size:2}.code{display:inline-flex;padding:0 5px;color:#7aa2f7;border:2px solid rgba(122,162,247,.24)}.kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:2px solid rgba(192,202,245,.24);border-bottom-color:#7aa2f7;color:#c0caf5;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.quote{max-width:760px;margin:0;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-size:15px;line-height:1.6}.quote cite{display:block;margin-top:12px;color:#7aa2f7;font-size:13px;font-style:normal;text-transform:uppercase}a{font-weight:500;text-decoration:none;color:#7aa2f7}@media (hover:hover) and (pointer:fine){a:hover{color:#e0af68}}@media (hover:none) and (pointer:coarse){a:active{color:#e0af68}}.link{font-size:inherit;font-weight:500}.label{font-size:13px;font-weight:500;line-height:1.4}.hint,.meta{font-size:12px;line-height:1.4}.table{font-size:13px;line-height:1.4}.table th{font-weight:600}.table td{font-weight:400}.list{font-size:15px;line-height:1.6}.list-item{font-size:inherit}.modal-title{font-size:20px;font-weight:600}.modal-body{font-size:15px}.toast-title{font-size:14px;font-weight:600}.toast-text{font-size:13px;line-height:1.4}.palette{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.palette .color .color-box{width:92px;height:68px}body .bg-primary{background:#c0caf5}body .bg-secondary{background:#7aa2f7}body .bg-success{background:#9ece6a}body .bg-accent{background:#ff9e64}body .bg-info{background:#bb9af7}body .bg-warning{background:#e0af68}body .bg-error{background:#f7768e}body .text-color-primary{color:#c0caf5}body .text-color-secondary{color:#7aa2f7}body .text-color-success{color:#9ece6a}body .text-color-accent{color:#ff9e64}body .text-color-info{color:#bb9af7}body .text-color-warning{color:#e0af68}body .text-color-error{color:#f7768e}.loader{width:32px;aspect-ratio:1;--c:no-repeat linear-gradient(#FF3C00 0 0);background:var(--c) 0 0,var(--c) 0 100%,var(--c) 50% 0,var(--c) 50% 100%,var(--c) 100% 0,var(--c) 100% 100%;animation:l12 1s infinite}@keyframes l12{0%,100%{background-size:20% 50%}16.67%{background-size:20% 30%,20% 30%,20% 50%,20% 50%,20% 50%,20% 50%}33.33%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 50%,20% 50%}50%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 30%,20% 30%}66.67%{background-size:20% 50%,20% 50%,20% 30%,20% 30%,20% 30%,20% 30%}83.33%{background-size:20% 50%,20% 50%,20% 50%,20% 50%,20% 30%,20% 30%}}.circle-loader{display:flex;flex-direction:row;align-items:center;gap:8px}.circle-loader .ph,.circle-loader .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.progress{display:flex;flex-direction:column;gap:8px;width:100%;max-width:640px}.progress .progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.progress .progress-value{color:#c0caf5;font-family:"IBM Plex Mono",monospace}.progress .progress-track{position:relative;width:100%;height:18px;overflow:hidden;border:2px solid rgba(192,202,245,.24);background:#1f2335}.progress .progress-bar{display:block;position:relative;overflow:hidden;width:var(--progress-value,0%);height:100%;background:#7aa2f7;transition:width .28s ease}.progress.progress-success .progress-bar{background:#9ece6a}.progress.progress-warning .progress-bar{background:#e0af68}.progress.progress-danger .progress-bar,.progress.progress-error .progress-bar{background:#f7768e}.progress.progress-striped .progress-bar{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 14px,rgba(22,22,30,.2) 14px,rgba(22,22,30,.2) 16px)}.progress.progress-animated .progress-bar::after{content:"";position:absolute;inset:0;width:48%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.28),transparent);transform:translateX(-120%);animation:progress_scan 1.4s ease infinite}.usage-meter{display:grid;gap:12px;width:100%;max-width:420px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.usage-meter .usage-meter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.usage-meter .usage-meter-value{color:#7aa2f7;font-family:"IBM Plex Mono",monospace;font-size:13px}.usage-meter .usage-meter-meta{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.progress-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:720px}.progress-stages .progress-stage{min-height:42px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase}.progress-stages .progress-stage-complete{color:#16161e;background:#9ece6a;border-color:#9ece6a}.progress-stages .progress-stage-current{color:#16161e;background:#e0af68;border-color:#e0af68}@media (max-width:767px){.progress-stages{grid-template-columns:1fr 1fr}}@media (max-width:479px){.progress-stages{grid-template-columns:1fr}}@keyframes progress_scan{from{transform:translateX(-120%)}to{transform:translateX(220%)}}@keyframes icon_spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:600;line-height:1;letter-spacing:.04em;padding:12px 22px;border-radius:0;border-width:2px;border-left-width:6px;border-style:solid;border-color:#c0caf5;text-transform:uppercase;background-color:transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color,opacity}.btn:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.btn.with-icon{border-left-width:46px;position:relative}.btn.with-icon .ph,.btn.with-icon .ph-bold{position:absolute;color:#16161e;left:-46px;top:1px;font-size:26px;height:100%;display:inline-flex;align-items:center;width:46px;justify-content:center;transition-duration:.2s;transition-property:color,left}@media (hover:hover) and (pointer:fine){.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-28px}}@media (hover:none) and (pointer:coarse){.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-28px}}.btn.btn-primary{color:#c0caf5;border-color:#c0caf5}@media (hover:hover) and (pointer:fine){.btn.btn-primary:hover{background-color:#c0caf5;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-primary:active{background-color:#c0caf5;color:#16161e}}.btn.btn-secondary{color:#7aa2f7;border-color:#7aa2f7}@media (hover:hover) and (pointer:fine){.btn.btn-secondary:hover{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:hover.with-icon .ph,.btn.btn-secondary:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-secondary:active{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:active.with-icon .ph,.btn.btn-secondary:active.with-icon .ph-bold{color:#16161e}}.btn.btn-accent{color:#ff9e64;border-color:#ff9e64}@media (hover:hover) and (pointer:fine){.btn.btn-accent:hover{background-color:#ff9e64;color:#16161e}.btn.btn-accent:hover.with-icon .ph,.btn.btn-accent:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-accent:active{background-color:#ff9e64;color:#16161e}.btn.btn-accent:active.with-icon .ph,.btn.btn-accent:active.with-icon .ph-bold{color:#16161e}}.btn.btn-danger{color:#f7768e;border-color:#f7768e}@media (hover:hover) and (pointer:fine){.btn.btn-danger:hover{background-color:#f7768e;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-danger:active{background-color:#f7768e;color:#16161e}}.btn.btn-warning{color:#e0af68;border-color:#e0af68}@media (hover:hover) and (pointer:fine){.btn.btn-warning:hover{background-color:#e0af68;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-warning:active{background-color:#e0af68;color:#16161e}}.btn.btn-success{color:#9ece6a;border-color:#9ece6a}@media (hover:hover) and (pointer:fine){.btn.btn-success:hover{background-color:#9ece6a;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-success:active{background-color:#9ece6a;color:#16161e}}.btn.btn-info{color:#bb9af7;border-color:#bb9af7}@media (hover:hover) and (pointer:fine){.btn.btn-info:hover{background-color:#bb9af7;color:#16161e}.btn.btn-info:hover.with-icon .ph,.btn.btn-info:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-info:active{background-color:#bb9af7;color:#16161e}.btn.btn-info:active.with-icon .ph,.btn.btn-info:active.with-icon .ph-bold{color:#16161e}}.btn[disabled]:not(.loading-state){color:#787c99;border-color:rgba(192,202,245,.24);background-color:#1f2335;cursor:not-allowed;opacity:.72}.btn[disabled]:not(.loading-state).with-icon .ph,.btn[disabled]:not(.loading-state).with-icon .ph-bold{color:#787c99}@media (hover:hover) and (pointer:fine){.btn[disabled]:not(.loading-state):hover{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):hover.with-icon .ph,.btn[disabled]:not(.loading-state):hover.with-icon .ph-bold{color:#787c99}}@media (hover:none) and (pointer:coarse){.btn[disabled]:not(.loading-state):active{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):active.with-icon .ph,.btn[disabled]:not(.loading-state):active.with-icon .ph-bold{color:#787c99}}.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph,.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph-bold{left:-28px}.btn.btn-small{font-size:13px;font-weight:500;min-height:38px;padding:8px 8px}.btn.btn-small.with-icon{border-left-width:32px}.btn.btn-small.with-icon .ph,.btn.btn-small.with-icon .ph-bold{top:0;left:-40px;font-size:22px}.btn.btn-small.with-icon.loading-state .ph,.btn.btn-small.with-icon.loading-state .ph-bold{font-size:26px}.btn.btn-large{font-size:16px;font-weight:700;min-height:54px;padding:15px 48px}.btn.loading-state{color:#16161e!important;border-color:#c0caf5!important;background-color:#c0caf5!important}.btn.loading-state .ph,.btn.loading-state .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.btn-icon{display:flex;justify-content:center;align-items:center;width:38px;height:38px;background:0 0;color:#c0caf5;font-size:22px;border:2px solid transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.btn-icon:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.btn-icon:not(.without-hover):hover{color:#e0af68;border-color:#e0af68}}@media (hover:none) and (pointer:coarse){.btn-icon:not(.without-hover):active{color:#e0af68;border-color:#e0af68}}.btn-icon:disabled,.btn-icon[disabled]{color:#787c99;border-color:transparent;background-color:transparent;cursor:not-allowed;opacity:.72}@media (hover:hover) and (pointer:fine){.btn-icon:disabled:not(.without-hover):hover,.btn-icon[disabled]:not(.without-hover):hover{color:#787c99;border-color:transparent}}@media (hover:none) and (pointer:coarse){.btn-icon:disabled:not(.without-hover):active,.btn-icon[disabled]:not(.without-hover):active{color:#787c99;border-color:transparent}}.btn-icon-sm{width:28px;height:28px;font-size:18px}.form-group{width:100%;max-width:600px}.form-group .label{display:flex;flex-direction:column;font-size:15px;width:100%;position:relative;color:#c0caf5}.form-group .label>.ph{position:absolute;color:#c0caf5;left:0;bottom:1px;font-size:26px;height:54px;display:inline-flex;align-items:center;width:46px;justify-content:center;transition-duration:.2s;transition-property:color,left}.form-group .label .input{min-height:54px;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;line-height:1;letter-spacing:.04em;padding:12px 22px;margin-top:8px;border-radius:0;border-width:2px;border-bottom-width:6px;border-style:solid;border-color:#c0caf5;color:#c0caf5;background-color:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color}@media (hover:hover) and (pointer:fine){.form-group .label .input:hover{border-bottom-color:#787c99}}@media (hover:none) and (pointer:coarse){.form-group .label .input:active{border-bottom-color:#787c99}}.form-group .label .input:focus{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background-color:transparent}.form-group .label .input:disabled{color:#787c99;border-color:rgba(192,202,245,.24);background:#1f2335;cursor:not-allowed;opacity:.72}.form-group .label .input[readonly]{color:#a9b1d6;border-color:rgba(192,202,245,.24);background:rgba(192,202,245,.03)}.form-group .label .input::-moz-placeholder{color:#787c99}.form-group .label .input::placeholder{color:#787c99}.form-group .label .input::-webkit-search-cancel-button,.form-group .label .input::-webkit-search-decoration,.form-group .label .input::-webkit-search-results-button,.form-group .label .input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.form-group .label .input[type=date],.form-group .label .input[type=datetime-local],.form-group .label .input[type=month],.form-group .label .input[type=time]{color-scheme:dark;cursor:pointer;min-width:0;padding-right:46px;text-transform:uppercase}.form-group .label .input[type=date]::-webkit-calendar-picker-indicator,.form-group .label .input[type=datetime-local]::-webkit-calendar-picker-indicator,.form-group .label .input[type=month]::-webkit-calendar-picker-indicator,.form-group .label .input[type=time]::-webkit-calendar-picker-indicator{width:46px;height:100%;margin:0;padding:0;background:0 0;cursor:pointer;opacity:0}.form-group .label .input[type=date]::-webkit-datetime-edit,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit,.form-group .label .input[type=month]::-webkit-datetime-edit,.form-group .label .input[type=time]::-webkit-datetime-edit{padding:0}.form-group .label .input[type=date]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=month]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=time]::-webkit-datetime-edit-fields-wrapper{color:#c0caf5}.form-group .label textarea.input{height:108px;line-height:1.25;resize:none}.form-group .label .ph+.input,.form-group .label .ph+.select-wrap .select{padding-left:46px}.form-group .label .select-wrap{margin-top:8px}.form-group .label .select{width:100%;height:54px;margin-top:0;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group .label .select:focus{outline:0}.form-group .label .select option{color:#c0caf5;background:#1f2335}.form-group .label .select-wrap::after{content:"";position:absolute;right:22px;bottom:18px;transform:translateY(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #c0caf5;pointer-events:none}.form-group .label.error .input:not(:focus){border-color:#f7768e}.form-group .label.error+.input-info{color:#e0af68}.form-group .label.success .input:not(:focus){border-color:#9ece6a}.form-group .label.success+.input-info{color:#9ece6a}.form-group .label.warning .input:not(:focus){border-color:#e0af68}.form-group .label.warning+.input-info{color:#e0af68}.form-group .input-info{font-size:14px;margin-top:8px}.form-group .input-info .ph{position:relative;top:1px}.form-group .input-info.error{color:#e0af68}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%;max-width:760px}.fieldset{width:100%;max-width:760px;margin:0;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.legend{padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 12px;border:2px solid #7aa2f7;border-left-width:6px;color:#7aa2f7;background:#1f2335;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.file-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (hover:hover) and (pointer:fine){.file-upload:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.file-upload:active{color:#16161e;background:#7aa2f7}}.file-upload:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-panel{width:100%;max-width:760px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px}.file-upload-form{display:flex;flex-direction:column;gap:15px;margin:0}.file-upload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 15px 0}.file-upload-heading{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-title{margin:0;color:#c0caf5;font-size:16px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-description{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.file-upload-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;margin:0 15px;padding:18px;border:2px dashed #7aa2f7;background:rgba(122,162,247,.08);cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.file-upload-dropzone input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (hover:hover) and (pointer:fine){.file-upload-dropzone:hover{border-color:#c0caf5;background:rgba(192,202,245,.1)}}@media (hover:none) and (pointer:coarse){.file-upload-dropzone:active{border-color:#c0caf5;background:rgba(192,202,245,.1)}}.file-upload-dropzone:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;color:#16161e;background:#7aa2f7;font-size:26px}.file-upload-body{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-primary{color:#c0caf5;font-size:15px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-secondary{color:#a9b1d6;font-size:13px;line-height:1.4}.file-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin:0 15px}.file-upload-preview[hidden]{display:none}.file-upload-preview-item{position:relative;min-width:0;margin:0;border:2px solid rgba(192,202,245,.24);background:#1f2335}.file-upload-preview-remove{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:2px solid #f7768e;color:#f7768e;background:#1f2335;font-size:18px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}@media (hover:hover) and (pointer:fine){.file-upload-preview-remove:hover{color:#16161e;background:#f7768e}}@media (hover:none) and (pointer:coarse){.file-upload-preview-remove:active{color:#16161e;background:#f7768e}}.file-upload-preview-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-preview-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#1f2335}.file-upload-preview-visual img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.file-upload-preview-type{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:54px;padding:8px;color:#16161e;background:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload-preview-item figcaption{display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:8px}.file-upload-preview-name{overflow:hidden;color:#c0caf5;font-size:12px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.file-upload-preview-meta{color:#a9b1d6;font-size:12px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 15px 15px}.range{width:100%;max-width:600px;accent-color:#7AA2F7}.range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:46px;margin:0;background:0 0;cursor:pointer}.range input[type=range]::-webkit-slider-runnable-track{height:6px;background:rgba(192,202,245,.085);border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-webkit-slider-thumb{width:18px;height:38px;margin-top:calc(-38px / 2);border:2px solid #7aa2f7;background:#7aa2f7;-webkit-appearance:none}.range input[type=range]::-moz-range-track{height:6px;background:rgba(192,202,245,.085);border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-moz-range-thumb{width:18px;height:38px;border:2px solid #7aa2f7;border-radius:0;background:#7aa2f7}@media (max-width:767px){.form-grid{grid-template-columns:1fr}.file-upload-header{flex-direction:column;align-items:stretch}.file-upload-dropzone{grid-template-columns:1fr}.file-upload-actions{justify-content:stretch}.file-upload-actions .btn{width:100%}}.radio{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.radio input[type=radio]{display:none}.radio .radio-control{display:inline-block;border-radius:100%;border:2px solid #c0caf5;width:18px;height:18px;background:0 0;transition-duration:.2s;transition-property:background,border-color}@media (hover:hover) and (pointer:fine){.radio:hover .radio-control{background:#414868}}@media (hover:none) and (pointer:coarse){.radio:active .radio-control{background:#414868}}.radio input[type=radio]:checked+.radio-control{background:#c0caf5}.radio input[type=radio]:disabled+.radio-control{background:#414868;border-color:#414868}.radio input[type=radio]:focus-visible+.radio-control{outline:2px solid #E0AF68;outline-offset:3px}.radio .radio-label{font-size:15px}.radio-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.switch{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.switch input[type=checkbox]{display:none}.switch .switch-control{height:16px;width:32px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.switch .switch-control:before{content:"";display:block;height:20px;width:20px;background:#c0caf5;position:absolute;left:-5px;top:-5px;transition-duration:.2s;transition-property:left,background}@media (hover:hover) and (pointer:fine){.switch:hover .switch-control{background:#414868}}@media (hover:none) and (pointer:coarse){.switch:active .switch-control{background:#414868}}.switch input[type=checkbox]:checked:not(:disabled)+.switch-control{background:#7aa2f7;border-color:#7aa2f7}.switch input[type=checkbox]:checked+.switch-control:before{left:17px}.switch input[type=checkbox]:disabled+.switch-control{border-color:#414868}.switch input[type=checkbox]:focus-visible+.switch-control{outline:2px solid #E0AF68;outline-offset:3px}.switch input[type=checkbox]:disabled+.switch-control:before{background:#414868}.checkbox{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.checkbox input[type=checkbox]{display:none}.checkbox .checkbox-control{width:18px;height:18px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.checkbox .checkbox-control:before{content:"";display:block;width:100%;height:100%;background:#c0caf5;position:absolute;left:0;top:0;transform:scale(0);transition-duration:.2s;transition-property:transform}@media (hover:hover) and (pointer:fine){.checkbox:hover .checkbox-control{background:#414868}}@media (hover:none) and (pointer:coarse){.checkbox:active .checkbox-control{background:#414868}}.checkbox input[type=checkbox]:checked:not(:disabled)+.checkbox-control{border-color:#c0caf5}.checkbox input[type=checkbox]:checked+.checkbox-control:before{transform:scale(1)}.checkbox input[type=checkbox]:disabled+.checkbox-control{border-color:#414868}.checkbox input[type=checkbox]:focus-visible+.checkbox-control{outline:2px solid #E0AF68;outline-offset:3px}.input-group{display:flex;align-items:stretch;width:100%;max-width:600px;min-height:54px;border:2px solid #c0caf5;border-bottom-width:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background}.input-group:focus-within{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background:0 0}.input-group .input-group-action,.input-group .input-group-addon{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:0 12px;color:#a9b1d6;background:rgba(192,202,245,.045);border:0;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;text-transform:uppercase}.input-group .input-group-action{color:#c0caf5;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.input-group .input-group-input{flex:1 1 auto;min-width:0;border:0;padding:12px 15px;color:#c0caf5;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;letter-spacing:.04em}.input-group .input-group-input:focus{outline:0}.input-group .input-group-input::-moz-placeholder{color:#787c99}.input-group .input-group-input::placeholder{color:#787c99}.input-group .input-group-input::-webkit-search-cancel-button,.input-group .input-group-input::-webkit-search-decoration,.input-group .input-group-input::-webkit-search-results-button,.input-group .input-group-input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.input-group .ph,.input-group .ph-bold{font-size:22px}.input-group.input-group-compact{min-height:46px}.input-group.input-group-compact .input-group-action,.input-group.input-group-compact .input-group-addon{min-width:46px}.input-group.input-group-compact .input-group-input{padding:8px 12px;font-size:13px}.search-field{max-width:420px}.list{display:flex;flex-direction:column;gap:5px;list-style-type:none;padding-left:0}.list .list-item{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:0}.list.list-ordered{list-style-type:decimal;display:list-item;margin-left:30px}.list.list-ordered .list-item{display:list-item}.list.list-definition{width:100%;max-width:620px;gap:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.list.list-definition .list-row{display:grid;grid-template-columns:minmax(120px,0.32fr) minmax(0,1fr);gap:15px;align-items:start;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.list.list-definition .list-row .list-term{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;margin:0;padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:background,transform}.list.list-definition .list-row .list-desc{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.2s;transition-timing-function:ease;transition-property:color,transform}.list.list-definition .list-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.list.list-definition .list-row:hover{background:rgba(192,202,245,.085)}.list.list-definition .list-row:hover .list-term{background:#7aa2f7;transform:translateX(5px)}.list.list-definition .list-row:hover .list-desc{color:#c0caf5;transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.list.list-definition .list-row:active{background:rgba(192,202,245,.085)}.list.list-definition .list-row:active .list-term{background:#7aa2f7;transform:translateX(5px)}.list.list-definition .list-row:active .list-desc{color:#c0caf5;transform:translateX(5px)}}.list.list-nav{max-width:420px;width:100%;gap:0}.list.list-nav .list-item{display:flex;flex-direction:column;align-items:flex-start;height:50px;margin:0}.list.list-nav .list-item .list-action{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;padding:8px 12px;border:2px solid transparent;font-size:15px;background:#1f2335;color:inherit;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color,color}.list.list-nav .list-item .list-action:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.list.list-nav .list-item .list-action:hover{background:#7aa2f7;color:#16161e}}@media (hover:none) and (pointer:coarse){.list.list-nav .list-item .list-action:active{background:#7aa2f7;color:#16161e}}.list.list-nav .list-item .list-action .list-label{display:flex;flex-direction:row;gap:8px;align-items:center;letter-spacing:0;font-weight:400}.list.list-nav .list-item .list-action .list-meta{padding:8px;background:#9ece6a;color:#16161e;display:flex}.list.list-nav .list-item.list-item-active .list-action{background:#7aa2f7;color:#16161e;border-color:#7aa2f7}.list.list-actions{width:100%;max-width:420px;gap:22px}.list.list-actions .list-item{justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:2px solid rgba(192,202,245,.08)}.list.list-actions .list-item .list-content{display:flex;flex-direction:column;gap:8px}.list.list-actions .list-item .list-content .list-title{font-size:16px;line-height:1}.list.list-actions .list-item .list-content .list-subtitle{color:#787c99}@media (hover:hover) and (pointer:fine){.list.list-actions .list-item:hover .list-title{color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.list.list-actions .list-item:active .list-title{color:#7aa2f7}}@media (max-width:479px){.list.list-definition .list-row{grid-template-columns:1fr;gap:8px}}.badge{position:relative;overflow:hidden;background:#c0caf5;color:#16161e;padding:5px 8px;font-size:13px;font-weight:600;line-height:1;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:24px;transition-duration:.2s;transition-timing-function:ease;transition-property:filter,transform,border-color,color,background}.badge::after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:linear-gradient(90deg,transparent,rgba(22,22,30,.16),transparent);opacity:0;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.badge:hover{filter:saturate(1.12);transform:translateY(-1px)}.badge:hover::after{opacity:1;animation:terminal_scan_x .7s ease}}@media (hover:none) and (pointer:coarse){.badge:active{filter:saturate(1.12);transform:translateY(-1px)}.badge:active::after{opacity:1;animation:terminal_scan_x .7s ease}}.badge.badge-success{background:#9ece6a}.badge.badge-warning{background:#e0af68}.badge.badge-danger,.badge.badge-error{background:#f7768e}.badge.badge-info{background:#bb9af7;color:#16161e}.badge.badge-secondary{background:#7aa2f7;color:#16161e}.badge.badge-primary-outline{color:#c0caf5;border:2px solid #c0caf5;background:0 0;padding:3px 8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:5px 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.chip .ph,.chip .ph-bold{font-size:18px}.chip::before{content:"";display:inline-block;width:7px;height:7px;flex:0 0 auto;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow,transform}.chip:has(.ph)::before,.chip:has(.ph-bold)::before{display:none}.chip .chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:-5px;border:0;color:inherit;background:0 0;font:inherit;cursor:pointer}.chip .chip-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.chip.chip-primary{color:#c0caf5;background:rgba(192,202,245,.08);border-color:#c0caf5}.chip.chip-primary::before{background:#c0caf5}.chip.chip-secondary{color:#7aa2f7;background:rgba(122,162,247,.08);border-color:#7aa2f7}.chip.chip-secondary::before{background:#7aa2f7}.chip.chip-success{color:#9ece6a;background:rgba(158,206,106,.08);border-color:#9ece6a}.chip.chip-success::before{background:#9ece6a}.chip.chip-warning{color:#e0af68;background:rgba(224,175,104,.08);border-color:#e0af68}.chip.chip-warning::before{background:#e0af68}.chip.chip-danger,.chip.chip-error{color:#f7768e;background:rgba(247,118,142,.08);border-color:#f7768e}.chip.chip-danger::before,.chip.chip-error::before{background:#f7768e}.chip.chip-selected,.chip[aria-pressed=true],.chip[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.chip.chip-selected::before,.chip[aria-pressed=true]::before,.chip[aria-selected=true]::before{background:#16161e}.chip.chip-secondary[aria-pressed=true],.chip.chip-secondary[aria-selected=true],.chip.chip-selected.chip-secondary{background:#7aa2f7;border-color:#7aa2f7}.chip.chip-disabled,.chip:disabled{color:#787c99;background:#1f2335;border-color:rgba(192,202,245,.24);cursor:not-allowed;opacity:.7}.chip.chip-disabled::before,.chip:disabled::before{background:#414868}a.chip,button.chip{cursor:pointer}a.chip:focus-visible,button.chip:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){a.chip:hover,button.chip:hover{color:#c0caf5;background:rgba(192,202,245,.085);border-color:#7aa2f7}a.chip:hover::before,button.chip:hover::before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}@media (hover:none) and (pointer:coarse){a.chip:active,button.chip:active{color:#c0caf5;background:rgba(192,202,245,.085);border-color:#7aa2f7}a.chip:active::before,button.chip:active::before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 auto;overflow:hidden;border:2px solid rgba(192,202,245,.24);color:#16161e;background:#c0caf5;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar .ph,.avatar .ph-bold{font-size:22px}.avatar .avatar-status{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:2px solid #16161e;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow}.avatar.avatar-sm{width:38px;height:38px;font-size:12px}.avatar.avatar-sm .ph,.avatar.avatar-sm .ph-bold{font-size:18px}.avatar.avatar-lg{width:54px;height:54px;font-size:14px}.avatar.avatar-lg .ph,.avatar.avatar-lg .ph-bold{font-size:26px}.avatar.avatar-secondary{background:#7aa2f7}.avatar.avatar-success{background:#9ece6a}.avatar.avatar-warning{background:#e0af68}.avatar.avatar-danger,.avatar.avatar-error{background:#f7768e}.avatar.avatar-outline{color:#c0caf5;background:#1f2335;border-color:#c0caf5}.avatar.is-online .avatar-status{background:#9ece6a;animation:terminal_pulse 1.8s ease infinite}.avatar.is-busy .avatar-status{background:#e0af68}.avatar.is-offline .avatar-status{background:#787c99}.identity{display:inline-flex;align-items:center;gap:12px;min-width:0}.identity-content{display:flex;flex-direction:column;gap:5px;min-width:0}.identity-title{color:#c0caf5;font-size:15px;font-weight:600;line-height:1}.identity-meta{color:#787c99;font-size:13px;line-height:1.4}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{margin-right:-8px;border-color:#16161e}.avatar-stack .avatar-stack-count{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 8px;border:2px solid #16161e;color:#16161e;background:#e0af68;font-size:13px;font-weight:700}.table{width:100%;text-align:left;border:2px solid rgba(192,202,245,.24);border-collapse:collapse;background:#1f2335}.table .table-caption{text-align:left;font-size:16px;background:#c0caf5;width:-moz-max-content;width:max-content;color:#16161e;padding:5px 12px;margin-bottom:0;font-weight:700;text-transform:uppercase}.table.table-empty{width:100%}.table.table-empty .is-empty{width:100%;padding:15px;font-size:13px;color:#787c99;text-align:left}.table .table-row td,.table .table-row th{padding:12px 18px;font-size:13px;vertical-align:middle;border-bottom:2px solid rgba(192,202,245,.08)}.table .table-row th{color:#c0caf5;background:rgba(192,202,245,.04);text-transform:uppercase;letter-spacing:.04em}.table .table-head{border-bottom:2px solid #c0caf5}.table .table-body .table-row{transition-duration:.2s;transition-timing-function:ease;transition-property:background,color}.table .table-body .table-row td{transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}@media (hover:hover) and (pointer:fine){.table .table-body .table-row:hover{background:rgba(122,162,247,.08)}.table .table-body .table-row:hover td:first-child{color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.table .table-body .table-row:active{background:rgba(122,162,247,.08)}.table .table-body .table-row:active td:first-child{color:#7aa2f7}}.table .table-foot td,.table .table-foot th{padding-top:15px}.table.table-compact .table-caption{font-size:14px}.table.table-compact .table-row td,.table.table-compact .table-row th{padding:8px 12px;font-size:12px}.table.table-compact .table-cell-mono{color:#a9b1d6;font-family:"IBM Plex Mono",monospace;letter-spacing:0}.table.table-compact .table-cell-actions{width:1%;white-space:nowrap}.table-wrapper{width:100%;overflow-x:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.toolbar .toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.toolbar .toolbar-title{margin:0;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.toolbar .toolbar-meta{color:#787c99;font-size:13px}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination .pagination-item{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.pagination .pagination-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.pagination .pagination-item:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.pagination .pagination-item:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.pagination .pagination-item.pagination-item-active,.pagination .pagination-item[aria-current=page]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.pagination .pagination-item.pagination-item-disabled,.pagination .pagination-item:disabled{color:#787c99;background:#1f2335;border-color:rgba(192,202,245,.24);cursor:not-allowed;opacity:.72}.pagination .pagination-ellipsis{color:#787c99;padding:0 5px}.empty-state{max-width:560px;padding:22px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.empty-state .empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:15px;color:#16161e;background:#c0caf5;font-size:26px}.empty-state .empty-state-title{margin:0 0 8px;font-size:20px;font-weight:700;text-transform:uppercase}.empty-state .empty-state-text{max-width:440px;margin:0 0 18px;color:#a9b1d6;line-height:1.6}.empty-state .empty-state-actions{display:flex;flex-wrap:wrap;gap:8px}.empty-state.empty-state-error{border-color:#f7768e}.empty-state.empty-state-error .empty-state-icon{background:#f7768e}.skeleton{display:block;position:relative;overflow:hidden;background:rgba(192,202,245,.085)}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);animation:skeleton_shimmer 1.6s infinite}.skeleton.skeleton-line{width:100%;height:14px}.skeleton.skeleton-title{width:60%;height:22px}.skeleton.skeleton-block{width:100%;height:120px}.skeleton.skeleton-square{width:54px;height:54px}.skeleton-stack{display:flex;flex-direction:column;gap:12px;max-width:520px;padding:15px;border:2px solid rgba(192,202,245,.24);background:#1f2335}@keyframes skeleton_shimmer{100%{transform:translateX(100%)}}.page-header{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;width:100%;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335;overflow:hidden;animation:panel_boot .28s ease both}.page-header::after{content:"";position:absolute;top:0;left:0;width:34%;height:2px;background:linear-gradient(90deg,transparent,#7aa2f7,transparent);opacity:.72;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.page-header:hover::after{animation:terminal_scan_x .9s ease}}@media (hover:none) and (pointer:coarse){.page-header:active::after{animation:terminal_scan_x .9s ease}}.page-header .page-header-content{display:flex;flex-direction:column;gap:8px;min-width:min(100%,320px)}.page-header .page-header-kicker{color:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.page-header .page-header-title{margin:0;color:#c0caf5;font-size:26px;font-weight:700;line-height:1.15}.page-header .page-header-subtitle{max-width:720px;margin:0;color:#a9b1d6;font-size:15px;line-height:1.6}.page-header .page-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.page-header .page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.page-header.page-header-compact{align-items:center;padding:15px}.page-header.page-header-compact .page-header-title{font-size:20px}.page-header.page-header-accent{border-color:#7aa2f7;background:rgba(122,162,247,.055)}.description-list{display:grid;width:100%;max-width:760px;margin:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.description-list .description-list-row{display:grid;grid-template-columns:minmax(140px,0.36fr) minmax(0,1fr);gap:15px;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.description-list .description-list-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.description-list .description-list-row:hover{background:rgba(192,202,245,.085)}.description-list .description-list-row:hover .description-list-term{color:#7aa2f7}.description-list .description-list-row:hover .description-list-value{transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.description-list .description-list-row:active{background:rgba(192,202,245,.085)}.description-list .description-list-row:active .description-list-term{color:#7aa2f7}.description-list .description-list-row:active .description-list-value{transform:translateX(5px)}}.description-list .description-list-term{margin:0;color:#787c99;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.description-list .description-list-value{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;color:#c0caf5;font-size:15px;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:transform}.description-list .description-list-value-muted{color:#a9b1d6}.description-list.description-list-compact{max-width:520px}.description-list.description-list-compact .description-list-row{grid-template-columns:minmax(112px,0.42fr) minmax(0,1fr);gap:12px;padding:8px 12px}.description-list.description-list-compact .description-list-term,.description-list.description-list-compact .description-list-value{font-size:13px}@media (max-width:479px){.description-list .description-list-row{grid-template-columns:1fr;gap:5px}}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:900px;margin:0;padding:0;list-style:none}.steps .step{position:relative;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.steps .step-marker{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#c0caf5;border:2px solid rgba(192,202,245,.24);font-size:13px;font-weight:700;line-height:1}.steps .step-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.steps .step-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.steps .step-complete{border-color:#9ece6a}.steps .step-complete .step-marker{color:#16161e;background:#9ece6a;border-color:#9ece6a}.steps .step-current{border-color:#7aa2f7}.steps .step-current .step-marker{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}.steps .step-disabled{opacity:.62}.steps.steps-vertical{grid-template-columns:1fr;max-width:520px;gap:0}.steps.steps-vertical .step{min-height:auto;border-bottom-width:0}.steps.steps-vertical .step:last-child{border-bottom-width:2px}@media (max-width:1023px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:479px){.steps{grid-template-columns:1fr}}.timeline{display:grid;gap:0;width:100%;max-width:760px;margin:0;padding:0;list-style:none}.timeline .timeline-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;min-height:88px}.timeline .timeline-item::before{content:"";position:absolute;top:46px;bottom:0;left:22px;width:2px;background:rgba(192,202,245,.24)}.timeline .timeline-item:last-child::before{display:none}.timeline .timeline-marker{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#16161e;font-size:18px;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,color,box-shadow,transform}.timeline .timeline-content{min-width:0;padding:0 0 18px}.timeline .timeline-card{padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,transform}.timeline .timeline-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.timeline .timeline-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.timeline .timeline-time{color:#787c99;font-size:12px;font-family:"IBM Plex Mono",monospace;line-height:1.4}.timeline .timeline-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.timeline .timeline-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.timeline .timeline-item-success .timeline-card,.timeline .timeline-item-success .timeline-marker{border-color:#9ece6a}.timeline .timeline-item-success .timeline-marker{color:#16161e;background:#9ece6a}.timeline .timeline-item-warning .timeline-card,.timeline .timeline-item-warning .timeline-marker{border-color:#e0af68}.timeline .timeline-item-warning .timeline-marker{color:#16161e;background:#e0af68}.timeline .timeline-item-danger .timeline-card,.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-card,.timeline .timeline-item-error .timeline-marker{border-color:#f7768e}.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-marker{color:#16161e;background:#f7768e}@media (hover:hover) and (pointer:fine){.timeline .timeline-item:hover .timeline-marker{box-shadow:0 0 0 4px rgba(122,162,247,.14);transform:scale(1.04)}.timeline .timeline-item:hover .timeline-card{background:rgba(192,202,245,.085);transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.timeline .timeline-item:active .timeline-marker{box-shadow:0 0 0 4px rgba(122,162,247,.14);transform:scale(1.04)}.timeline .timeline-item:active .timeline-card{background:rgba(192,202,245,.085);transform:translateX(5px)}}.activity-log{display:grid;width:100%;max-width:720px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.activity-log .activity-log-row{display:grid;grid-template-columns:minmax(120px,0.24fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.activity-log .activity-log-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.activity-log .activity-log-row:hover{background:rgba(192,202,245,.085)}}@media (hover:none) and (pointer:coarse){.activity-log .activity-log-row:active{background:rgba(192,202,245,.085)}}.activity-log .activity-log-time{color:#787c99;font-family:"IBM Plex Mono",monospace;font-size:12px}.activity-log .activity-log-title{color:#c0caf5;font-size:13px;font-weight:600;line-height:1.4}@media (max-width:479px){.activity-log .activity-log-row{grid-template-columns:1fr;gap:8px}}.accordion{display:grid;width:100%;max-width:760px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.accordion-item{border-bottom:2px solid rgba(192,202,245,.08);overflow:hidden}.accordion-item:last-child{border-bottom:0}.accordion-item[open] .accordion-summary{color:#16161e;background:#c0caf5}.accordion-item[open] .accordion-icon{transform:rotate(180deg)}.accordion-summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:12px 15px;border:0;color:#c0caf5;background:0 0;cursor:pointer;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.accordion-summary::-webkit-details-marker{display:none}.accordion-summary::marker{content:""}.accordion-summary:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.accordion-summary:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.accordion-summary:active{color:#16161e;background:#7aa2f7}}.accordion-summary-content{display:flex;align-items:center;gap:8px;min-width:0}.accordion-icon{flex:0 0 auto;font-size:18px;transition-duration:.2s;transition-property:transform}.accordion-panel{overflow:hidden;padding:15px;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.28s;transition-timing-function:ease;transition-property:height,opacity,transform}.accordion-panel p{margin-top:0}.accordion-panel p:last-child{margin-bottom:0}.disclosure{max-width:520px;border:2px solid rgba(192,202,245,.24);background:#1f2335}.disclosure .accordion-summary{min-height:38px;padding:8px 12px}.disclosure .accordion-panel{padding:12px}.tabs{width:100%;max-width:900px}.tabs-list{display:flex;align-items:stretch;gap:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 15px;border:0;border-right:2px solid rgba(192,202,245,.08);border-radius:0;color:#a9b1d6;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,opacity}.tab .ph,.tab .ph-bold{font-size:18px}.tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px;z-index:1}@media (hover:hover) and (pointer:fine){.tab:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.tab:active{color:#16161e;background:#7aa2f7}}.tab:disabled,.tab[aria-disabled=true]{color:#787c99;cursor:not-allowed;opacity:.62}@media (hover:hover) and (pointer:fine){.tab:disabled:hover,.tab[aria-disabled=true]:hover{color:#787c99;background:0 0}}@media (hover:none) and (pointer:coarse){.tab:disabled:active,.tab[aria-disabled=true]:active{color:#787c99;background:0 0}}.tab-active,.tab[aria-selected=true]{color:#16161e;background:#c0caf5}.tab-panel{display:none}.tab-panel p{margin-top:0}.tab-panel p:last-child{margin-bottom:0}.tab-panel-active{display:block}.tabs-compact{max-width:620px}.tabs-compact .tabs-list{border-left-width:2px}.tabs-compact .tab{min-height:38px;padding:8px 12px}.tabs-vertical{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start}.tabs-vertical .tabs-list{flex-direction:column;overflow-x:visible}.tabs-vertical .tab{justify-content:flex-start;border-right:0;border-bottom:2px solid rgba(192,202,245,.08);text-align:left}@media (max-width:767px){.tabs-vertical{grid-template-columns:1fr}.tabs-vertical .tabs-list{flex-direction:row;overflow-x:auto}.tabs-vertical .tab{justify-content:center;border-right:2px solid rgba(192,202,245,.08);border-bottom:0;text-align:center}}.drawer{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none}.drawer .drawer-backdrop{position:fixed;inset:0;z-index:1010;background:#16161e;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity;pointer-events:auto}.drawer .drawer-panel{position:relative;z-index:1020;width:min(460px,100vw - 18px);min-height:100vh;display:flex;flex-direction:column;gap:15px;background:#16161e;border-left:2px solid #c0caf5;box-shadow:-18px 0 42px rgba(22,22,30,.38);opacity:0;transform:translateX(100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform;pointer-events:auto}.drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding-right:15px;border-bottom:2px solid rgba(192,202,245,.24)}.drawer .drawer-title{margin:0;padding:12px 15px;background:#c0caf5;color:#16161e;text-transform:uppercase;letter-spacing:.04em}.drawer .drawer-body{flex:1;overflow-y:auto;padding:18px}.drawer .drawer-footer{padding:18px;border-top:2px solid rgba(192,202,245,.24)}.drawer .drawer-footer .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;width:100%}.drawer.drawer-left{justify-content:flex-start}.drawer.drawer-left .drawer-panel{border-left:0;border-right:2px solid #c0caf5;box-shadow:18px 0 42px rgba(22,22,30,.38);transform:translateX(-100%)}.drawer.a-show .drawer-backdrop{opacity:.82}.drawer.a-show .drawer-panel{opacity:1;transform:translateX(0)}.drawer.a-hide .drawer-backdrop{opacity:0}.drawer.a-hide .drawer-panel{opacity:0;transform:translateX(100%)}.drawer.a-hide.drawer-left .drawer-panel{transform:translateX(-100%)}.drawer-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:18px;align-items:stretch;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.drawer-preview .drawer-preview-content{display:flex;flex-direction:column;gap:12px}.drawer-preview .drawer-preview-panel{display:flex;flex-direction:column;gap:12px;padding:15px;border:2px solid #7aa2f7;background:#1f2335}.drawer-preview .drawer-preview-title{margin:0;color:#7aa2f7;font-size:14px;text-transform:uppercase}.drawer-preview .drawer-preview-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media (max-width:720px){.drawer-preview{grid-template-columns:1fr}}.nav-topbar{position:sticky;top:0;z-index:900;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:58px;border-bottom:2px solid rgba(192,202,245,.24);background:rgba(22,22,30,.96);box-shadow:0 10px 28px rgba(22,22,30,.26)}.nav-topbar-toggle{display:inline-flex;align-items:center;align-self:stretch;gap:8px;min-width:150px;padding:0 15px;border:0;border-right:2px solid rgba(192,202,245,.24);color:#c0caf5;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.nav-topbar-toggle .ph{color:#7aa2f7;font-size:22px}.nav-topbar-toggle:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-topbar-toggle:hover{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:hover .ph{color:#16161e}}@media (hover:none) and (pointer:coarse){.nav-topbar-toggle:active{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:active .ph{color:#16161e}}.nav-topbar-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0 15px;color:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-topbar-brand img{width:22px;height:22px}.nav-topbar-current{min-width:160px;margin-right:15px;padding:5px 8px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}.nav-drawer-backdrop{position:fixed;inset:0;z-index:910;background:#16161e;opacity:0;pointer-events:none;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity}.nav-drawer{position:fixed;inset:0 auto 0 0;z-index:920;display:flex;flex-direction:column;width:min(380px,100vw);max-height:100vh;border-right:2px solid #c0caf5;background:#1f2335;box-shadow:18px 0 42px rgba(22,22,30,.38);opacity:0;overflow:hidden;pointer-events:none;transform:translateX(-100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform}.nav-drawer.is-open{opacity:1;pointer-events:auto;transform:translateX(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:2px solid rgba(192,202,245,.24)}.nav-drawer-title{display:inline-flex;padding:8px 12px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-drawer-subtitle{margin-top:8px;color:#787c99;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:2px solid rgba(192,202,245,.24);color:#c0caf5;background:0 0;font-size:22px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.nav-drawer-close:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-drawer-close:hover{color:#16161e;background:#f7768e;border-color:#f7768e}}@media (hover:none) and (pointer:coarse){.nav-drawer-close:active{color:#16161e;background:#f7768e;border-color:#f7768e}}.nav-drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-width:thin;scrollbar-color:#7AA2F7 #1F2335}.nav-drawer-body::-webkit-scrollbar{width:8px}.nav-drawer-body::-webkit-scrollbar-track{background:#1f2335}.nav-drawer-body::-webkit-scrollbar-thumb{background:#7aa2f7}.nav-drawer-body .list.list-nav{max-width:none}.nav-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-top:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-footer .profile-identity{display:block;text-decoration:none;color:inherit;min-width:0;flex:1 1 auto;overflow:hidden}@media (hover:hover) and (pointer:fine){.nav-drawer-footer .profile-identity:hover{color:inherit}}@media (hover:none) and (pointer:coarse){.nav-drawer-footer .profile-identity:active{color:inherit}}.nav-drawer-open{overflow:hidden}.nav-drawer-open .nav-drawer-backdrop{opacity:.82;pointer-events:auto}@media (max-width:767px){.nav-topbar-toggle{min-width:54px;padding:0 12px}.nav-topbar-brand{padding-right:12px;padding-left:12px}.nav-topbar-current{max-width:38vw;min-width:0;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-drawer{width:100vw;border-right:0}}.nav-shell-preview{width:100%;max-width:900px;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#16161e}.nav-shell-preview-topbar{position:relative;z-index:0;min-height:52px;box-shadow:none}.nav-shell-preview-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:320px}.nav-shell-preview-drawer{position:relative;z-index:0;inset:auto;width:auto;max-height:none;opacity:1;pointer-events:auto;transform:none;box-shadow:none}.nav-shell-preview-content{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;padding:18px;border-left:2px solid rgba(192,202,245,.24);background:#1f2335}.nav-shell-preview-content h3{margin:0;color:#c0caf5;font-size:20px;text-transform:uppercase}.nav-shell-preview-content p{max-width:360px;margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media (max-width:767px){.nav-shell-preview-body{grid-template-columns:1fr}.nav-shell-preview-content{min-height:180px;border-top:2px solid rgba(192,202,245,.24);border-left:0}}.toast{position:fixed;z-index:1100;bottom:-100px;right:15px;max-width:420px;background:#1f2335;border:2px solid #c0caf5;border-left-width:6px;padding:0;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,top,bottom}.toast.a-show{bottom:15px;opacity:1}.toast.a-hide{bottom:115px;opacity:0}.toast .toast-content{display:flex;flex-direction:column;gap:0}.toast .toast-content .toast-title{min-height:38px;font-size:16px;display:flex;flex-direction:row;gap:8px;align-items:center;color:#16161e;background:#c0caf5;padding:8px 12px;padding-right:42px;text-transform:uppercase}.toast .toast-content .toast-text{font-size:13px;padding:22px 15px;margin:0}.toast .toast-close{position:absolute;top:0;right:0;color:#16161e;height:38px;width:38px;border-color:transparent}@media (hover:hover) and (pointer:fine){.toast .toast-close:hover{color:#16161e;background:rgba(22,22,30,.12);border-color:rgba(22,22,30,.42)}}@media (hover:none) and (pointer:coarse){.toast .toast-close:active{color:#16161e;background:rgba(22,22,30,.12);border-color:rgba(22,22,30,.42)}}.toast.toast-info{border-color:#bb9af7}.toast.toast-info .toast-title{background:#bb9af7}.toast.toast-success{border-color:#9ece6a}.toast.toast-success .toast-title{background:#9ece6a}.toast.toast-warning{border-color:#e0af68}.toast.toast-warning .toast-title{background:#e0af68}.toast.toast-danger{border-color:#f7768e}.toast.toast-danger .toast-title{background:#f7768e}.card{position:relative;max-width:340px;width:-moz-max-content;width:max-content;overflow:hidden;background:#1f2335;border:2px solid #c0caf5}.card .card-title{color:#16161e;background:#c0caf5;padding:8px 12px;font-weight:700;text-transform:uppercase}.card .card-content{padding:15px;height:100%}.card .card-content .card-thumb{display:block;width:min(68%,190px);margin:18px auto 22px}.card .card-content p{margin-top:8px;margin-bottom:0}.card .card-footer{padding:8px 15px;padding-bottom:15px}.card.status-card{max-width:220px;overflow:hidden}.card.status-card .status-icon-container{position:relative}.card.status-card .status-icon-container .status-indicator{position:absolute;top:-15px;left:-5px;font-size:22px;color:#f7768e}.card.status-card .status-icon-container .status-indicator.status-online{color:#9ece6a}.card.status-card .status-icon-container .status-icon{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;font-size:56px;height:108px;width:100%}.card.status-card .card-title{display:flex;width:100%;font-size:14px;font-weight:700;align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.card.status-card .status-name{font-size:13px;line-height:1.4}.card.status-card.card-success{border-color:#9ece6a}.card.status-card.card-success .card-title,.card.status-card.card-success .modal-title,.card.status-card.card-success .toast-title{color:#16161e;background:#9ece6a}.card.status-card.card-success .status-icon{color:#9ece6a}.card.status-card.card-warning{border-color:#e0af68}.card.status-card.card-warning .card-title,.card.status-card.card-warning .modal-title,.card.status-card.card-warning .toast-title{color:#16161e;background:#e0af68}.card.status-card.card-warning .status-icon{color:#e0af68}.card.status-card.card-info{border-color:#bb9af7}.card.status-card.card-info .card-title,.card.status-card.card-info .modal-title,.card.status-card.card-info .toast-title{color:#16161e;background:#bb9af7}.card.status-card.card-info .status-icon{color:#bb9af7}.card.status-card.card-secondary{border-color:#7aa2f7}.card.status-card.card-secondary .card-title,.card.status-card.card-secondary .modal-title,.card.status-card.card-secondary .toast-title{color:#16161e;background:#7aa2f7}.card.status-card.card-secondary .status-icon{color:#7aa2f7}.card.status-card.card-danger,.card.status-card.card-error{border-color:#f7768e}.card.status-card.card-danger .card-title,.card.status-card.card-danger .modal-title,.card.status-card.card-danger .toast-title,.card.status-card.card-error .card-title,.card.status-card.card-error .modal-title,.card.status-card.card-error .toast-title{color:#16161e;background:#f7768e}.card.status-card.card-danger .status-icon,.card.status-card.card-error .status-icon{color:#f7768e}.card.metric-card{max-width:320px;border-color:rgba(192,202,245,.24)}.card.metric-card .card-content{display:flex;flex-direction:column;gap:15px}.card.metric-card .metric-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card.metric-card .metric-card-label{margin:0;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.card.metric-card .metric-card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:#16161e;background:#7aa2f7;font-size:22px}.card.metric-card .metric-card-value{margin:0;color:#c0caf5;font-size:34px;font-weight:700;line-height:1.15}.card.metric-card .metric-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.card.metric-card .metric-card-delta{color:#9ece6a;font-weight:700}.card.metric-card .metric-card-delta.metric-card-delta-negative{color:#f7768e}.card.card-horizontal{max-width:none;display:flex;flex-direction:row;align-items:stretch;overflow:hidden}.card.card-horizontal .card-media{flex:0 0 20%;min-width:80px;max-width:160px;max-height:160px;overflow:hidden;position:relative;aspect-ratio:1;align-self:start}.card.card-horizontal .card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.card.card-horizontal .card-body{flex:1 1 auto;display:flex;flex-direction:column;padding:15px;gap:12px}.card.card-horizontal .card-title{padding:0;background:0 0;color:#c0caf5;font-size:16px;font-weight:700;text-transform:none;line-height:1.25}.card.card-horizontal .card-title a{color:inherit;text-decoration:none}.card.card-horizontal .card-content{padding:0;height:auto}.card.card-horizontal .card-content p{margin:0}.card.card-horizontal .card-footer{padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#a9b1d6;font-size:13px}.card.action-card{max-width:360px;border-color:#7aa2f7}.card.action-card .card-content{display:flex;flex-direction:column;gap:15px}.card.action-card .action-card-kicker{display:inline-flex;width:-moz-max-content;width:max-content;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.card.action-card .action-card-title{margin:0;font-size:20px;font-weight:700;line-height:1.25;text-transform:uppercase}.card.action-card .action-card-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.card.action-card .action-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.card.login-card{max-width:100%;width:460px;border-color:#c0caf5}.card.login-card .login-card-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px}.card.login-card .login-card-logo{display:block;width:auto;max-height:40px}.card.login-card .login-card-logo-icon{font-size:56px;color:#c0caf5}.card.login-card .login-card-title{font-size:20px;font-weight:700;text-transform:uppercase}.card.login-card .login-card-form{display:flex;flex-direction:column;gap:15px}.card.login-card .login-card-submit{width:-moz-max-content;width:max-content;margin-top:8px}.card.login-card .form-group{margin-bottom:0}.card.login-card .login-card-links{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px}.card.login-card .login-card-link{color:#a9b1d6;text-decoration:none}@media (hover:hover) and (pointer:fine){.card.login-card .login-card-link:hover{color:#c0caf5;text-decoration:underline}}@media (hover:none) and (pointer:coarse){.card.login-card .login-card-link:active{color:#c0caf5;text-decoration:underline}}.card.login-card .login-card-error{margin-bottom:8px}.card.user-card{max-width:320px}.card.user-card .user-card-body{display:flex;flex-direction:column;align-items:center;gap:15px;padding:18px;text-align:center}.card.user-card .identity{flex-direction:column;align-items:center;gap:15px}.card.user-card .identity .avatar{width:64px;height:64px;font-size:20px}.card.user-card .identity .identity-content{align-items:center;text-align:center}.card.user-card .user-card-role{color:#a9b1d6;font-size:13px;margin-top:5px}.card.user-card .user-card-actions{display:flex;gap:8px}.card.user-card-compact{max-width:none}.card.user-card-compact .user-card-body{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 15px;text-align:left}.card.user-card-compact .identity{flex-direction:row;gap:12px}.card.user-card-compact .identity .avatar{width:38px;height:38px;font-size:13px}.card.user-card-compact .identity .identity-content{align-items:flex-start}.card.user-card-compact .user-card-actions{display:flex;gap:5px}.modal{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal .modal-backdrop{position:fixed;z-index:1010;top:0;bottom:0;left:0;right:0;background:#16161e;opacity:0;transition-duration:.25s;transition-property:opacity}.modal .modal-dialog{position:relative;z-index:1020;width:100%;max-width:960px;margin:18px;height:auto;max-height:calc(100vh - 48px);padding:0;display:flex;flex-direction:column;gap:0;margin-top:200px;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,margin-top}.modal .modal-dialog .modal-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.modal .modal-dialog .modal-header .modal-title{padding:12px 15px;background:#c0caf5;color:#16161e;text-transform:uppercase;letter-spacing:.04em}.modal .modal-dialog .modal-header .modal-close{flex:0 0 auto;color:#c0caf5;border-color:rgba(192,202,245,.24);background:#16161e}.modal .modal-dialog .modal-panel{min-height:200px;display:flex;flex-direction:column;gap:15px;overflow:hidden;background:#16161e;border:2px solid #c0caf5;border-left-width:6px}.modal .modal-dialog .modal-body{max-height:700px;overflow-y:auto;padding:18px}.modal .modal-dialog .modal-footer{padding:18px}.modal .modal-dialog .modal-footer .actions{display:flex;flex-direction:row;justify-content:flex-end;gap:15px;width:100%}.modal.a-show .modal-backdrop{opacity:1}.modal.a-show .modal-dialog{opacity:1;margin-top:0}.modal.a-hide .modal-backdrop{opacity:0}.modal.a-hide .modal-dialog{opacity:0;margin-top:-200px}.alert{position:relative;overflow:hidden;margin-bottom:12px;padding:12px 15px;border:2px solid transparent;border-left-style:solid;border-left-width:6px;background:#1f2335;color:#c0caf5;font-weight:500;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:background,color,border-color}.alert::after{content:"";position:absolute;inset:0 auto 0 0;width:36%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);opacity:0;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.alert:hover::after{opacity:1;animation:terminal_scan_x .8s ease}}@media (hover:none) and (pointer:coarse){.alert:active::after{opacity:1;animation:terminal_scan_x .8s ease}}.alert.alert-primary{border-color:#c0caf5;background:rgba(192,202,245,.1);color:#c0caf5}.alert.alert-success{border-color:#9ece6a;background:rgba(158,206,106,.1);color:#9ece6a}.alert.alert-secondary{border-color:#7aa2f7;background:rgba(122,162,247,.1);color:#7aa2f7}.alert.alert-info{border-color:#bb9af7;background:rgba(187,154,247,.1);color:#c0caf5}.alert.alert-warning{border-color:#e0af68;background:rgba(224,175,104,.1);color:#e0af68}.alert.alert-danger,.alert.alert-error{border-color:#f7768e;background:rgba(247,118,142,.1);color:#f7768e}.advanced-select-container{position:relative;height:0}.advanced-select{position:absolute;z-index:100;top:6px;width:100%;height:auto;max-height:200px;overflow-y:auto;background:#16161e;border:2px solid #c0caf5;border-left-width:6px;margin-top:20px;opacity:0;visibility:hidden;transition-property:opacity,margin-top,visibility;transition-duration:.2s;transition-timing-function:ease}.advanced-select.a-show{opacity:1;margin-top:0;visibility:visible}.advanced-select .popup-options-container .not-found{width:100%;padding:15px;text-align:center;display:none}.advanced-select .popup-options-container .not-found.show{display:block}.advanced-select .popup-options-container .options{width:100%;display:none}.advanced-select .popup-options-container .options.show{display:block}.advanced-select .popup-options-container .options .option{padding:8px 15px;transition-property:color,background;transition-duration:.15s}.advanced-select .popup-options-container .options .option.hide{display:none}.advanced-select .popup-options-container .options .option.focus,.advanced-select .popup-options-container .options .option:hover{color:#16161e;background:#e0af68}.component.editable-string-component .editable-string-content{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:inherit}.component.editable-string-component .editable-string-content .editable-string{font-size:inherit;border-bottom:2px solid rgba(192,202,245,.24)}@media (hover:hover) and (pointer:fine){.component.editable-string-component .apply-changes-btn:hover,.component.editable-string-component .cancel-changes-btn:hover,.component.editable-string-component .edit-text-btn:hover{color:#16161e;background:#e0af68}}@media (hover:none) and (pointer:coarse){.component.editable-string-component .apply-changes-btn:active,.component.editable-string-component .cancel-changes-btn:active,.component.editable-string-component .edit-text-btn:active{color:#16161e;background:#e0af68}}.component.editable-string-component .apply-changes-btn{color:#e0af68}.component.editable-string-component .editable-string-form{display:flex;flex-direction:row;align-items:center;gap:8px}.component.editable-string-component .editable-string-form .form-group{max-width:260px;margin:0}.component.editable-string-component .editable-string-form .form-group .input{padding:8px 15px}.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:15px}.tabs .tab{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;line-height:1;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.tabs .tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.tabs .tab:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.tabs .tab:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.tabs .tab.tab-active,.tabs .tab[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.dropdown,.popover{position:relative;display:inline-flex}.dropdown-menu,.popover-panel,.tooltip-panel{z-index:40;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px;box-shadow:0 14px 36px rgba(22,22,30,.36)}.dropdown-menu,.popover-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:none;transform-origin:top left}.dropdown.is-open .dropdown-menu,.popover.is-open .popover-panel{display:block;animation:overlay_reveal .2s ease both}.dropdown-menu{padding:5px}.dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px 12px;border:0;color:#c0caf5;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;text-align:left;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.dropdown-menu .dropdown-item .ph,.dropdown-menu .dropdown-item .ph-bold{font-size:18px}.dropdown-menu .dropdown-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.dropdown-menu .dropdown-item:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.dropdown-menu .dropdown-item:active{color:#16161e;background:#7aa2f7}}.dropdown-menu .dropdown-item.dropdown-item-danger{color:#f7768e}@media (hover:hover) and (pointer:fine){.dropdown-menu .dropdown-item.dropdown-item-danger:hover{color:#16161e;background:#f7768e}}@media (hover:none) and (pointer:coarse){.dropdown-menu .dropdown-item.dropdown-item-danger:active{color:#16161e;background:#f7768e}}.popover-panel{width:min(320px,100vw - 22px);padding:15px}.popover-panel .popover-title{margin:0 0 8px;font-size:14px;font-weight:700;text-transform:uppercase}.popover-panel .popover-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.tooltip{position:relative;display:inline-flex}.tooltip-panel{position:absolute;left:50%;bottom:calc(100% + 8px);width:-moz-max-content;width:max-content;max-width:260px;padding:8px 12px;color:#c0caf5;font-size:12px;line-height:1.4;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition-duration:.15s;transition-timing-function:ease;transition-property:opacity,visibility}.tooltip.is-open .tooltip-panel,.tooltip:focus-within .tooltip-panel,.tooltip:hover .tooltip-panel{opacity:1;visibility:visible;animation:tooltip_reveal .15s ease both}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.g-0{gap:0!important}.gx-0{-moz-column-gap:0!important;column-gap:0!important}.gy-0{row-gap:0!important}.m-1{margin:5px!important}.mt-1{margin-top:5px!important}.mr-1{margin-right:5px!important}.mb-1{margin-bottom:5px!important}.ml-1{margin-left:5px!important}.mx-1{margin-left:5px!important;margin-right:5px!important}.my-1{margin-top:5px!important;margin-bottom:5px!important}.p-1{padding:5px!important}.pt-1{padding-top:5px!important}.pr-1{padding-right:5px!important}.pb-1{padding-bottom:5px!important}.pl-1{padding-left:5px!important}.px-1{padding-left:5px!important;padding-right:5px!important}.py-1{padding-top:5px!important;padding-bottom:5px!important}.g-1{gap:5px!important}.gx-1{-moz-column-gap:5px!important;column-gap:5px!important}.gy-1{row-gap:5px!important}.m-2{margin:8px!important}.mt-2{margin-top:8px!important}.mr-2{margin-right:8px!important}.mb-2{margin-bottom:8px!important}.ml-2{margin-left:8px!important}.mx-2{margin-left:8px!important;margin-right:8px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.p-2{padding:8px!important}.pt-2{padding-top:8px!important}.pr-2{padding-right:8px!important}.pb-2{padding-bottom:8px!important}.pl-2{padding-left:8px!important}.px-2{padding-left:8px!important;padding-right:8px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.g-2{gap:8px!important}.gx-2{-moz-column-gap:8px!important;column-gap:8px!important}.gy-2{row-gap:8px!important}.m-3{margin:12px!important}.mt-3{margin-top:12px!important}.mr-3{margin-right:12px!important}.mb-3{margin-bottom:12px!important}.ml-3{margin-left:12px!important}.mx-3{margin-left:12px!important;margin-right:12px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.p-3{padding:12px!important}.pt-3{padding-top:12px!important}.pr-3{padding-right:12px!important}.pb-3{padding-bottom:12px!important}.pl-3{padding-left:12px!important}.px-3{padding-left:12px!important;padding-right:12px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.g-3{gap:12px!important}.gx-3{-moz-column-gap:12px!important;column-gap:12px!important}.gy-3{row-gap:12px!important}.m-4{margin:15px!important}.mt-4{margin-top:15px!important}.mr-4{margin-right:15px!important}.mb-4{margin-bottom:15px!important}.ml-4{margin-left:15px!important}.mx-4{margin-left:15px!important;margin-right:15px!important}.my-4{margin-top:15px!important;margin-bottom:15px!important}.p-4{padding:15px!important}.pt-4{padding-top:15px!important}.pr-4{padding-right:15px!important}.pb-4{padding-bottom:15px!important}.pl-4{padding-left:15px!important}.px-4{padding-left:15px!important;padding-right:15px!important}.py-4{padding-top:15px!important;padding-bottom:15px!important}.g-4{gap:15px!important}.gx-4{-moz-column-gap:15px!important;column-gap:15px!important}.gy-4{row-gap:15px!important}.m-5{margin:18px!important}.mt-5{margin-top:18px!important}.mr-5{margin-right:18px!important}.mb-5{margin-bottom:18px!important}.ml-5{margin-left:18px!important}.mx-5{margin-left:18px!important;margin-right:18px!important}.my-5{margin-top:18px!important;margin-bottom:18px!important}.p-5{padding:18px!important}.pt-5{padding-top:18px!important}.pr-5{padding-right:18px!important}.pb-5{padding-bottom:18px!important}.pl-5{padding-left:18px!important}.px-5{padding-left:18px!important;padding-right:18px!important}.py-5{padding-top:18px!important;padding-bottom:18px!important}.g-5{gap:18px!important}.gx-5{-moz-column-gap:18px!important;column-gap:18px!important}.gy-5{row-gap:18px!important}.m-6{margin:22px!important}.mt-6{margin-top:22px!important}.mr-6{margin-right:22px!important}.mb-6{margin-bottom:22px!important}.ml-6{margin-left:22px!important}.mx-6{margin-left:22px!important;margin-right:22px!important}.my-6{margin-top:22px!important;margin-bottom:22px!important}.p-6{padding:22px!important}.pt-6{padding-top:22px!important}.pr-6{padding-right:22px!important}.pb-6{padding-bottom:22px!important}.pl-6{padding-left:22px!important}.px-6{padding-left:22px!important;padding-right:22px!important}.py-6{padding-top:22px!important;padding-bottom:22px!important}.g-6{gap:22px!important}.gx-6{-moz-column-gap:22px!important;column-gap:22px!important}.gy-6{row-gap:22px!important}.m-7{margin:26px!important}.mt-7{margin-top:26px!important}.mr-7{margin-right:26px!important}.mb-7{margin-bottom:26px!important}.ml-7{margin-left:26px!important}.mx-7{margin-left:26px!important;margin-right:26px!important}.my-7{margin-top:26px!important;margin-bottom:26px!important}.p-7{padding:26px!important}.pt-7{padding-top:26px!important}.pr-7{padding-right:26px!important}.pb-7{padding-bottom:26px!important}.pl-7{padding-left:26px!important}.px-7{padding-left:26px!important;padding-right:26px!important}.py-7{padding-top:26px!important;padding-bottom:26px!important}.g-7{gap:26px!important}.gx-7{-moz-column-gap:26px!important;column-gap:26px!important}.gy-7{row-gap:26px!important}.m-8{margin:34px!important}.mt-8{margin-top:34px!important}.mr-8{margin-right:34px!important}.mb-8{margin-bottom:34px!important}.ml-8{margin-left:34px!important}.mx-8{margin-left:34px!important;margin-right:34px!important}.my-8{margin-top:34px!important;margin-bottom:34px!important}.p-8{padding:34px!important}.pt-8{padding-top:34px!important}.pr-8{padding-right:34px!important}.pb-8{padding-bottom:34px!important}.pl-8{padding-left:34px!important}.px-8{padding-left:34px!important;padding-right:34px!important}.py-8{padding-top:34px!important;padding-bottom:34px!important}.g-8{gap:34px!important}.gx-8{-moz-column-gap:34px!important;column-gap:34px!important}.gy-8{row-gap:34px!important}.m-9{margin:42px!important}.mt-9{margin-top:42px!important}.mr-9{margin-right:42px!important}.mb-9{margin-bottom:42px!important}.ml-9{margin-left:42px!important}.mx-9{margin-left:42px!important;margin-right:42px!important}.my-9{margin-top:42px!important;margin-bottom:42px!important}.p-9{padding:42px!important}.pt-9{padding-top:42px!important}.pr-9{padding-right:42px!important}.pb-9{padding-bottom:42px!important}.pl-9{padding-left:42px!important}.px-9{padding-left:42px!important;padding-right:42px!important}.py-9{padding-top:42px!important;padding-bottom:42px!important}.g-9{gap:42px!important}.gx-9{-moz-column-gap:42px!important;column-gap:42px!important}.gy-9{row-gap:42px!important}.m-10{margin:48px!important}.mt-10{margin-top:48px!important}.mr-10{margin-right:48px!important}.mb-10{margin-bottom:48px!important}.ml-10{margin-left:48px!important}.mx-10{margin-left:48px!important;margin-right:48px!important}.my-10{margin-top:48px!important;margin-bottom:48px!important}.p-10{padding:48px!important}.pt-10{padding-top:48px!important}.pr-10{padding-right:48px!important}.pb-10{padding-bottom:48px!important}.pl-10{padding-left:48px!important}.px-10{padding-left:48px!important;padding-right:48px!important}.py-10{padding-top:48px!important;padding-bottom:48px!important}.g-10{gap:48px!important}.gx-10{-moz-column-gap:48px!important;column-gap:48px!important}.gy-10{row-gap:48px!important}.m-11{margin:64px!important}.mt-11{margin-top:64px!important}.mr-11{margin-right:64px!important}.mb-11{margin-bottom:64px!important}.ml-11{margin-left:64px!important}.mx-11{margin-left:64px!important;margin-right:64px!important}.my-11{margin-top:64px!important;margin-bottom:64px!important}.p-11{padding:64px!important}.pt-11{padding-top:64px!important}.pr-11{padding-right:64px!important}.pb-11{padding-bottom:64px!important}.pl-11{padding-left:64px!important}.px-11{padding-left:64px!important;padding-right:64px!important}.py-11{padding-top:64px!important;padding-bottom:64px!important}.g-11{gap:64px!important}.gx-11{-moz-column-gap:64px!important;column-gap:64px!important}.gy-11{row-gap:64px!important}.m-12{margin:80px!important}.mt-12{margin-top:80px!important}.mr-12{margin-right:80px!important}.mb-12{margin-bottom:80px!important}.ml-12{margin-left:80px!important}.mx-12{margin-left:80px!important;margin-right:80px!important}.my-12{margin-top:80px!important;margin-bottom:80px!important}.p-12{padding:80px!important}.pt-12{padding-top:80px!important}.pr-12{padding-right:80px!important}.pb-12{padding-bottom:80px!important}.pl-12{padding-left:80px!important}.px-12{padding-left:80px!important;padding-right:80px!important}.py-12{padding-top:80px!important;padding-bottom:80px!important}.g-12{gap:80px!important}.gx-12{-moz-column-gap:80px!important;column-gap:80px!important}.gy-12{row-gap:80px!important}.row{display:flex;flex-direction:row}@media (max-width:1279px){.row.adaptive{flex-direction:column}}.column{display:flex;flex-direction:column}.f-grid{display:flex;flex-direction:row;flex-wrap:wrap}.grid{display:grid}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.w-100{width:100%}.w-auto{width:auto!important}.w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-200{width:200%}.h-100{height:100%}.min-w-0{min-width:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.fs-xs{font-size:12px}.fs-sm{font-size:13px}.fs-md{font-size:14px}.fs-base{font-size:15px}.fs-lg{font-size:16px}.fs-xl{font-size:20px}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-uppercase{text-transform:uppercase!important}.text-nowrap{white-space:nowrap!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-flex{display:inline-flex!important}.d-flex{display:flex!important}.d-grid{display:grid!important}@media (max-width:767px){.grid-2,.grid-3{grid-template-columns:1fr}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background-color:#16161e;color:#c0caf5}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{width:10px;background:#16161e;cursor:pointer}::-webkit-scrollbar-thumb{width:10px;background:#414868;cursor:default}::-webkit-scrollbar-corner{background:0 0;height:1px}::-webkit-scrollbar-button{display:none}.ph.normalize{position:relative;top:.15em}.docs-layout{display:block}.docs-content{min-width:0;max-width:1040px;margin:0 auto}.docs-section{scroll-margin-top:calc(58px + 22px);padding-top:80px;margin-bottom:160px;border-top:2px solid #1f2335}.docs-section:first-child{padding-top:0}.docs-section:target{border-top-color:#7aa2f7}.docs-section:target>.section-title{color:#7aa2f7}.docs-intro{max-width:820px;margin-right:auto;margin-left:auto}.docs-page{padding-top:34px;padding-bottom:160px}@media (max-width:767px){.docs-page{padding-top:22px}.docs-section{scroll-margin-top:calc(96px + 22px)}}.demo-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.docs-section-description{max-width:760px;margin-bottom:34px;color:#a9b1d6}.code-example{max-width:900px;margin-top:34px;border:2px solid rgba(192,202,245,.24);border-left-width:6px}.code-example .code-example-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;color:#16161e;background:#c0caf5}.code-example .code-example-header .btn-icon{color:#16161e}@media (hover:hover) and (pointer:fine){.code-example .code-example-header .btn-icon:not(.without-hover):hover{color:#16161e;border-color:#16161e}}@media (hover:none) and (pointer:coarse){.code-example .code-example-header .btn-icon:not(.without-hover):active{color:#16161e;border-color:#16161e}}.code-example .code-example-title{font-size:13px;font-weight:700;text-transform:uppercase}.code-example pre{margin:0;padding:15px;overflow:auto;background:#1f2335}.code-example code{display:block;font-size:13px;line-height:1.6;background:0 0}.code-example .hljs{padding:0;background:0 0} +@charset "UTF-8";@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}.container{padding:18px}.section{margin-bottom:48px}.section-title{margin-bottom:34px}.block{margin-bottom:34px}.block-title{margin-bottom:22px}.text,p{margin-bottom:15px}.hint{margin-top:8px}.list{padding-left:22px;margin-bottom:15px}.list-item{margin-bottom:8px}.list-nested{margin-top:8px}.table{margin-bottom:22px}.table-caption{margin-bottom:8px}.form-group{margin-bottom:15px}.label{margin-bottom:5px;display:block}.input,.select,.textarea{margin-top:5px}.toast{padding:15px}.toast-stack{gap:8px}@keyframes terminal_scan_x{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}@keyframes terminal_scan_y{0%{transform:translateY(-120%)}100%{transform:translateY(220%)}}@keyframes terminal_pulse{0%,100%{box-shadow:0 0 0 0 rgba(192,202,245,0)}50%{box-shadow:0 0 0 4px rgba(192,202,245,.18)}}@keyframes panel_boot{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}@keyframes overlay_reveal{0%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}@keyframes tooltip_reveal{0%{opacity:0;transform:translateX(-50%) translateY(5px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0s!important}}html{font-size:100%}body{font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:400;line-height:1.6;letter-spacing:0;color:#c0caf5}h1,h2,h3,h4,h5,h6{font-family:"IBM Plex Mono",monospace;font-weight:600;line-height:1.25;margin:0}h1.contrast,h2.contrast,h3.contrast,h4.contrast,h5.contrast,h6.contrast{background:#c0caf5;color:#16161e;display:inline;padding:0 8px}h1{font-size:34px;letter-spacing:0}h2{font-size:26px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px;font-weight:500}.text,p{font-size:15px;line-height:1.6}.text-sm{font-size:13px;line-height:1.4}.text-lg{font-size:16px;line-height:1.6}.text-lead{max-width:760px;color:#c0caf5;font-size:16px;font-weight:500;line-height:1.6}.text-muted{font-size:13px;color:#787c99}.text-strong,strong{font-weight:600}.text-bold{font-weight:700}.text-italic,em{font-style:italic}.text-success{color:#9ece6a}.text-warning{color:#e0af68}.text-danger,.text-error{color:#f7768e}.text-info{color:#bb9af7}.eyebrow{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.caption{color:#787c99;font-size:12px;line-height:1.4}.code,code,pre{font-family:"IBM Plex Mono",monospace;font-size:15px;line-height:1.4;background-color:#1f2335}.text-primary{color:#c0caf5}.text-secondary{color:#a9b1d6}pre{font-size:15px;line-height:1.6;white-space:pre-wrap}.code,pre code{-o-tab-size:2;tab-size:2;-moz-tab-size:2}.code{display:inline-flex;padding:0 5px;color:#7aa2f7;border:2px solid rgba(122,162,247,.24)}.kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:2px solid rgba(192,202,245,.24);border-bottom-color:#7aa2f7;color:#c0caf5;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.quote{max-width:760px;margin:0;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-size:15px;line-height:1.6}.quote cite{display:block;margin-top:12px;color:#7aa2f7;font-size:13px;font-style:normal;text-transform:uppercase}a{font-weight:500;text-decoration:none;color:#7aa2f7}@media (hover:hover) and (pointer:fine){a:hover{color:#e0af68}}@media (hover:none) and (pointer:coarse){a:active{color:#e0af68}}.link{font-size:inherit;font-weight:500}.label{font-size:13px;font-weight:500;line-height:1.4}.hint,.meta{font-size:12px;line-height:1.4}.table{font-size:13px;line-height:1.4}.table th{font-weight:600}.table td{font-weight:400}.list{font-size:15px;line-height:1.6}.list-item{font-size:inherit}.modal-title{font-size:20px;font-weight:600}.modal-body{font-size:15px}.toast-title{font-size:14px;font-weight:600}.toast-text{font-size:13px;line-height:1.4}.palette{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.palette .color .color-box{width:92px;height:68px}body .bg-primary{background:#c0caf5}body .bg-secondary{background:#7aa2f7}body .bg-success{background:#9ece6a}body .bg-accent{background:#ff9e64}body .bg-info{background:#bb9af7}body .bg-warning{background:#e0af68}body .bg-error{background:#f7768e}body .text-color-primary{color:#c0caf5}body .text-color-secondary{color:#7aa2f7}body .text-color-success{color:#9ece6a}body .text-color-accent{color:#ff9e64}body .text-color-info{color:#bb9af7}body .text-color-warning{color:#e0af68}body .text-color-error{color:#f7768e}.loader{width:32px;aspect-ratio:1;--c:no-repeat linear-gradient(#FF3C00 0 0);background:var(--c) 0 0,var(--c) 0 100%,var(--c) 50% 0,var(--c) 50% 100%,var(--c) 100% 0,var(--c) 100% 100%;animation:l12 1s infinite}@keyframes l12{0%,100%{background-size:20% 50%}16.67%{background-size:20% 30%,20% 30%,20% 50%,20% 50%,20% 50%,20% 50%}33.33%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 50%,20% 50%}50%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 30%,20% 30%}66.67%{background-size:20% 50%,20% 50%,20% 30%,20% 30%,20% 30%,20% 30%}83.33%{background-size:20% 50%,20% 50%,20% 50%,20% 50%,20% 30%,20% 30%}}.circle-loader{display:flex;flex-direction:row;align-items:center;gap:8px}.circle-loader .ph,.circle-loader .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.progress{display:flex;flex-direction:column;gap:8px;width:100%;max-width:640px}.progress .progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.progress .progress-value{color:#c0caf5;font-family:"IBM Plex Mono",monospace}.progress .progress-track{position:relative;width:100%;height:18px;overflow:hidden;border:2px solid rgba(192,202,245,.24);background:#1f2335}.progress .progress-bar{display:block;position:relative;overflow:hidden;width:var(--progress-value,0%);height:100%;background:#7aa2f7;transition:width .28s ease}.progress.progress-success .progress-bar{background:#9ece6a}.progress.progress-warning .progress-bar{background:#e0af68}.progress.progress-danger .progress-bar,.progress.progress-error .progress-bar{background:#f7768e}.progress.progress-striped .progress-bar{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 14px,rgba(22,22,30,.2) 14px,rgba(22,22,30,.2) 16px)}.progress.progress-animated .progress-bar::after{content:"";position:absolute;inset:0;width:48%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.28),transparent);transform:translateX(-120%);animation:progress_scan 1.4s ease infinite}.usage-meter{display:grid;gap:12px;width:100%;max-width:420px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.usage-meter .usage-meter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.usage-meter .usage-meter-value{color:#7aa2f7;font-family:"IBM Plex Mono",monospace;font-size:13px}.usage-meter .usage-meter-meta{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.progress-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:720px}.progress-stages .progress-stage{min-height:42px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase}.progress-stages .progress-stage-complete{color:#16161e;background:#9ece6a;border-color:#9ece6a}.progress-stages .progress-stage-current{color:#16161e;background:#e0af68;border-color:#e0af68}@media (max-width:767px){.progress-stages{grid-template-columns:1fr 1fr}}@media (max-width:479px){.progress-stages{grid-template-columns:1fr}}@keyframes progress_scan{from{transform:translateX(-120%)}to{transform:translateX(220%)}}@keyframes icon_spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:600;line-height:1;letter-spacing:.04em;padding:12px 22px;border-radius:0;border-width:2px;border-left-width:6px;border-style:solid;border-color:#c0caf5;text-transform:uppercase;background-color:transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color,opacity}.btn:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.btn.with-icon{border-left-width:46px;position:relative}.btn.with-icon .ph,.btn.with-icon .ph-bold{position:absolute;color:#16161e;left:-46px;top:1px;font-size:26px;height:100%;display:inline-flex;align-items:center;width:46px;justify-content:center;transition-duration:.2s;transition-property:color,left}@media (hover:hover) and (pointer:fine){.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-28px}}@media (hover:none) and (pointer:coarse){.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-28px}}.btn.btn-primary{color:#c0caf5;border-color:#c0caf5}@media (hover:hover) and (pointer:fine){.btn.btn-primary:hover{background-color:#c0caf5;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-primary:active{background-color:#c0caf5;color:#16161e}}.btn.btn-secondary{color:#7aa2f7;border-color:#7aa2f7}@media (hover:hover) and (pointer:fine){.btn.btn-secondary:hover{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:hover.with-icon .ph,.btn.btn-secondary:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-secondary:active{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:active.with-icon .ph,.btn.btn-secondary:active.with-icon .ph-bold{color:#16161e}}.btn.btn-accent{color:#ff9e64;border-color:#ff9e64}@media (hover:hover) and (pointer:fine){.btn.btn-accent:hover{background-color:#ff9e64;color:#16161e}.btn.btn-accent:hover.with-icon .ph,.btn.btn-accent:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-accent:active{background-color:#ff9e64;color:#16161e}.btn.btn-accent:active.with-icon .ph,.btn.btn-accent:active.with-icon .ph-bold{color:#16161e}}.btn.btn-danger{color:#f7768e;border-color:#f7768e}@media (hover:hover) and (pointer:fine){.btn.btn-danger:hover{background-color:#f7768e;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-danger:active{background-color:#f7768e;color:#16161e}}.btn.btn-warning{color:#e0af68;border-color:#e0af68}@media (hover:hover) and (pointer:fine){.btn.btn-warning:hover{background-color:#e0af68;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-warning:active{background-color:#e0af68;color:#16161e}}.btn.btn-success{color:#9ece6a;border-color:#9ece6a}@media (hover:hover) and (pointer:fine){.btn.btn-success:hover{background-color:#9ece6a;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-success:active{background-color:#9ece6a;color:#16161e}}.btn.btn-info{color:#bb9af7;border-color:#bb9af7}@media (hover:hover) and (pointer:fine){.btn.btn-info:hover{background-color:#bb9af7;color:#16161e}.btn.btn-info:hover.with-icon .ph,.btn.btn-info:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-info:active{background-color:#bb9af7;color:#16161e}.btn.btn-info:active.with-icon .ph,.btn.btn-info:active.with-icon .ph-bold{color:#16161e}}.btn[disabled]:not(.loading-state){color:#787c99;border-color:rgba(192,202,245,.24);background-color:#1f2335;cursor:not-allowed;opacity:.72}.btn[disabled]:not(.loading-state).with-icon .ph,.btn[disabled]:not(.loading-state).with-icon .ph-bold{color:#787c99}@media (hover:hover) and (pointer:fine){.btn[disabled]:not(.loading-state):hover{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):hover.with-icon .ph,.btn[disabled]:not(.loading-state):hover.with-icon .ph-bold{color:#787c99}}@media (hover:none) and (pointer:coarse){.btn[disabled]:not(.loading-state):active{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):active.with-icon .ph,.btn[disabled]:not(.loading-state):active.with-icon .ph-bold{color:#787c99}}.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph,.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph-bold{left:-28px}.btn.btn-small{font-size:13px;font-weight:500;min-height:38px;padding:8px 8px}.btn.btn-small.with-icon{border-left-width:32px}.btn.btn-small.with-icon .ph,.btn.btn-small.with-icon .ph-bold{top:0;left:-40px;font-size:22px}.btn.btn-small.with-icon.loading-state .ph,.btn.btn-small.with-icon.loading-state .ph-bold{font-size:26px}.btn.btn-large{font-size:16px;font-weight:700;min-height:54px;padding:15px 48px}.btn.loading-state{color:#16161e!important;border-color:#c0caf5!important;background-color:#c0caf5!important}.btn.loading-state .ph,.btn.loading-state .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.btn-icon{display:flex;justify-content:center;align-items:center;width:38px;height:38px;background:0 0;color:#c0caf5;font-size:22px;border:2px solid transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.btn-icon:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.btn-icon:not(.without-hover):hover{color:#e0af68;border-color:#e0af68}}@media (hover:none) and (pointer:coarse){.btn-icon:not(.without-hover):active{color:#e0af68;border-color:#e0af68}}.btn-icon:disabled,.btn-icon[disabled]{color:#787c99;border-color:transparent;background-color:transparent;cursor:not-allowed;opacity:.72}@media (hover:hover) and (pointer:fine){.btn-icon:disabled:not(.without-hover):hover,.btn-icon[disabled]:not(.without-hover):hover{color:#787c99;border-color:transparent}}@media (hover:none) and (pointer:coarse){.btn-icon:disabled:not(.without-hover):active,.btn-icon[disabled]:not(.without-hover):active{color:#787c99;border-color:transparent}}.btn-icon-sm{width:28px;height:28px;font-size:18px}.form-group{width:100%;max-width:600px}.form-group .label{display:flex;flex-direction:column;font-size:15px;width:100%;position:relative;color:#c0caf5}.form-group .label>.ph{position:absolute;color:#c0caf5;left:0;bottom:1px;font-size:26px;height:54px;display:inline-flex;align-items:center;width:46px;justify-content:center;transition-duration:.2s;transition-property:color,left}.form-group .label .input{min-height:54px;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;line-height:1;letter-spacing:.04em;padding:12px 22px;margin-top:8px;border-radius:0;border-width:2px;border-bottom-width:6px;border-style:solid;border-color:#c0caf5;color:#c0caf5;background-color:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color}@media (hover:hover) and (pointer:fine){.form-group .label .input:hover{border-bottom-color:#787c99}}@media (hover:none) and (pointer:coarse){.form-group .label .input:active{border-bottom-color:#787c99}}.form-group .label .input:focus{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background-color:transparent}.form-group .label .input:disabled{color:#787c99;border-color:rgba(192,202,245,.24);background:#1f2335;cursor:not-allowed;opacity:.72}.form-group .label .input[readonly]{color:#a9b1d6;border-color:rgba(192,202,245,.24);background:rgba(192,202,245,.03)}.form-group .label .input::-moz-placeholder{color:#787c99}.form-group .label .input::placeholder{color:#787c99}.form-group .label .input::-webkit-search-cancel-button,.form-group .label .input::-webkit-search-decoration,.form-group .label .input::-webkit-search-results-button,.form-group .label .input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.form-group .label .input[type=date],.form-group .label .input[type=datetime-local],.form-group .label .input[type=month],.form-group .label .input[type=time]{color-scheme:dark;cursor:pointer;min-width:0;padding-right:46px;text-transform:uppercase}.form-group .label .input[type=date]::-webkit-calendar-picker-indicator,.form-group .label .input[type=datetime-local]::-webkit-calendar-picker-indicator,.form-group .label .input[type=month]::-webkit-calendar-picker-indicator,.form-group .label .input[type=time]::-webkit-calendar-picker-indicator{width:46px;height:100%;margin:0;padding:0;background:0 0;cursor:pointer;opacity:0}.form-group .label .input[type=date]::-webkit-datetime-edit,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit,.form-group .label .input[type=month]::-webkit-datetime-edit,.form-group .label .input[type=time]::-webkit-datetime-edit{padding:0}.form-group .label .input[type=date]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=month]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=time]::-webkit-datetime-edit-fields-wrapper{color:#c0caf5}.form-group .label textarea.input{height:108px;line-height:1.25;resize:none}.form-group .label .ph+.input,.form-group .label .ph+.select-wrap .select{padding-left:46px}.form-group .label .select-wrap{margin-top:8px}.form-group .label .select{width:100%;height:54px;margin-top:0;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group .label .select:focus{outline:0}.form-group .label .select option{color:#c0caf5;background:#1f2335}.form-group .label .select-wrap::after{content:"";position:absolute;right:22px;bottom:18px;transform:translateY(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #c0caf5;pointer-events:none}.form-group .label.error .input:not(:focus){border-color:#f7768e}.form-group .label.error+.input-info{color:#e0af68}.form-group .label.success .input:not(:focus){border-color:#9ece6a}.form-group .label.success+.input-info{color:#9ece6a}.form-group .label.warning .input:not(:focus){border-color:#e0af68}.form-group .label.warning+.input-info{color:#e0af68}.form-group .input-info{font-size:14px;margin-top:8px}.form-group .input-info .ph{position:relative;top:1px}.form-group .input-info.error{color:#e0af68}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%;max-width:760px}.fieldset{width:100%;max-width:760px;margin:0;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.legend{padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 12px;border:2px solid #7aa2f7;border-left-width:6px;color:#7aa2f7;background:#1f2335;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.file-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (hover:hover) and (pointer:fine){.file-upload:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.file-upload:active{color:#16161e;background:#7aa2f7}}.file-upload:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-panel{width:100%;max-width:760px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px}.file-upload-form{display:flex;flex-direction:column;gap:15px;margin:0}.file-upload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 15px 0}.file-upload-heading{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-title{margin:0;color:#c0caf5;font-size:16px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-description{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.file-upload-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;margin:0 15px;padding:18px;border:2px dashed #7aa2f7;background:rgba(122,162,247,.08);cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.file-upload-dropzone input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (hover:hover) and (pointer:fine){.file-upload-dropzone:hover{border-color:#c0caf5;background:rgba(192,202,245,.1)}}@media (hover:none) and (pointer:coarse){.file-upload-dropzone:active{border-color:#c0caf5;background:rgba(192,202,245,.1)}}.file-upload-dropzone:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;color:#16161e;background:#7aa2f7;font-size:26px}.file-upload-body{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-primary{color:#c0caf5;font-size:15px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-secondary{color:#a9b1d6;font-size:13px;line-height:1.4}.file-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin:0 15px}.file-upload-preview[hidden]{display:none}.file-upload-preview-item{position:relative;min-width:0;margin:0;border:2px solid rgba(192,202,245,.24);background:#1f2335}.file-upload-preview-remove{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:2px solid #f7768e;color:#f7768e;background:#1f2335;font-size:18px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}@media (hover:hover) and (pointer:fine){.file-upload-preview-remove:hover{color:#16161e;background:#f7768e}}@media (hover:none) and (pointer:coarse){.file-upload-preview-remove:active{color:#16161e;background:#f7768e}}.file-upload-preview-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-preview-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#1f2335}.file-upload-preview-visual img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.file-upload-preview-type{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:54px;padding:8px;color:#16161e;background:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload-preview-item figcaption{display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:8px}.file-upload-preview-name{overflow:hidden;color:#c0caf5;font-size:12px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.file-upload-preview-meta{color:#a9b1d6;font-size:12px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 15px 15px}.range{width:100%;max-width:600px;accent-color:#7AA2F7}.range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:46px;margin:0;background:0 0;cursor:pointer}.range input[type=range]::-webkit-slider-runnable-track{height:6px;background:rgba(192,202,245,.085);border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-webkit-slider-thumb{width:18px;height:38px;margin-top:calc(-38px / 2);border:2px solid #7aa2f7;background:#7aa2f7;-webkit-appearance:none}.range input[type=range]::-moz-range-track{height:6px;background:rgba(192,202,245,.085);border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-moz-range-thumb{width:18px;height:38px;border:2px solid #7aa2f7;border-radius:0;background:#7aa2f7}@media (max-width:767px){.form-grid{grid-template-columns:1fr}.file-upload-header{flex-direction:column;align-items:stretch}.file-upload-dropzone{grid-template-columns:1fr}.file-upload-actions{justify-content:stretch}.file-upload-actions .btn{width:100%}}.radio{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.radio input[type=radio]{display:none}.radio .radio-control{display:inline-block;border-radius:100%;border:2px solid #c0caf5;width:18px;height:18px;background:0 0;transition-duration:.2s;transition-property:background,border-color}@media (hover:hover) and (pointer:fine){.radio:hover .radio-control{background:#414868}}@media (hover:none) and (pointer:coarse){.radio:active .radio-control{background:#414868}}.radio input[type=radio]:checked+.radio-control{background:#c0caf5}.radio input[type=radio]:disabled+.radio-control{background:#414868;border-color:#414868}.radio input[type=radio]:focus-visible+.radio-control{outline:2px solid #E0AF68;outline-offset:3px}.radio .radio-label{font-size:15px}.radio-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.switch{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.switch input[type=checkbox]{display:none}.switch .switch-control{height:16px;width:32px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.switch .switch-control:before{content:"";display:block;height:20px;width:20px;background:#c0caf5;position:absolute;left:-5px;top:-5px;transition-duration:.2s;transition-property:left,background}@media (hover:hover) and (pointer:fine){.switch:hover .switch-control{background:#414868}}@media (hover:none) and (pointer:coarse){.switch:active .switch-control{background:#414868}}.switch input[type=checkbox]:checked:not(:disabled)+.switch-control{background:#7aa2f7;border-color:#7aa2f7}.switch input[type=checkbox]:checked+.switch-control:before{left:17px}.switch input[type=checkbox]:disabled+.switch-control{border-color:#414868}.switch input[type=checkbox]:focus-visible+.switch-control{outline:2px solid #E0AF68;outline-offset:3px}.switch input[type=checkbox]:disabled+.switch-control:before{background:#414868}.checkbox{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.checkbox input[type=checkbox]{display:none}.checkbox .checkbox-control{width:18px;height:18px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.checkbox .checkbox-control:before{content:"";display:block;width:100%;height:100%;background:#c0caf5;position:absolute;left:0;top:0;transform:scale(0);transition-duration:.2s;transition-property:transform}@media (hover:hover) and (pointer:fine){.checkbox:hover .checkbox-control{background:#414868}}@media (hover:none) and (pointer:coarse){.checkbox:active .checkbox-control{background:#414868}}.checkbox input[type=checkbox]:checked:not(:disabled)+.checkbox-control{border-color:#c0caf5}.checkbox input[type=checkbox]:checked+.checkbox-control:before{transform:scale(1)}.checkbox input[type=checkbox]:disabled+.checkbox-control{border-color:#414868}.checkbox input[type=checkbox]:focus-visible+.checkbox-control{outline:2px solid #E0AF68;outline-offset:3px}.input-group{display:flex;align-items:stretch;width:100%;max-width:600px;min-height:54px;border:2px solid #c0caf5;border-bottom-width:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background}.input-group:focus-within{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background:0 0}.input-group .input-group-action,.input-group .input-group-addon{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:0 12px;color:#a9b1d6;background:rgba(192,202,245,.045);border:0;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;text-transform:uppercase}.input-group .input-group-action{color:#c0caf5;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.input-group .input-group-input{flex:1 1 auto;min-width:0;border:0;padding:12px 15px;color:#c0caf5;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;letter-spacing:.04em}.input-group .input-group-input:focus{outline:0}.input-group .input-group-input::-moz-placeholder{color:#787c99}.input-group .input-group-input::placeholder{color:#787c99}.input-group .input-group-input::-webkit-search-cancel-button,.input-group .input-group-input::-webkit-search-decoration,.input-group .input-group-input::-webkit-search-results-button,.input-group .input-group-input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.input-group .ph,.input-group .ph-bold{font-size:22px}.input-group.input-group-compact{min-height:46px}.input-group.input-group-compact .input-group-action,.input-group.input-group-compact .input-group-addon{min-width:46px}.input-group.input-group-compact .input-group-input{padding:8px 12px;font-size:13px}.search-field{max-width:420px}.list{display:flex;flex-direction:column;gap:5px;list-style-type:none;padding-left:0}.list .list-item{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:0}.list.list-ordered{list-style-type:decimal;display:list-item;margin-left:30px}.list.list-ordered .list-item{display:list-item}.list.list-definition{width:100%;max-width:620px;gap:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.list.list-definition .list-row{display:grid;grid-template-columns:minmax(120px,0.32fr) minmax(0,1fr);gap:15px;align-items:start;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.list.list-definition .list-row .list-term{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;margin:0;padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:background,transform}.list.list-definition .list-row .list-desc{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.2s;transition-timing-function:ease;transition-property:color,transform}.list.list-definition .list-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.list.list-definition .list-row:hover{background:rgba(192,202,245,.085)}.list.list-definition .list-row:hover .list-term{background:#7aa2f7;transform:translateX(5px)}.list.list-definition .list-row:hover .list-desc{color:#c0caf5;transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.list.list-definition .list-row:active{background:rgba(192,202,245,.085)}.list.list-definition .list-row:active .list-term{background:#7aa2f7;transform:translateX(5px)}.list.list-definition .list-row:active .list-desc{color:#c0caf5;transform:translateX(5px)}}.list.list-nav{max-width:420px;width:100%;gap:0}.list.list-nav .list-item{display:flex;flex-direction:column;align-items:flex-start;height:50px;margin:0}.list.list-nav .list-item .list-action{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;padding:8px 12px;border:2px solid transparent;font-size:15px;background:#1f2335;color:inherit;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color,color}.list.list-nav .list-item .list-action:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.list.list-nav .list-item .list-action:hover{background:#7aa2f7;color:#16161e}}@media (hover:none) and (pointer:coarse){.list.list-nav .list-item .list-action:active{background:#7aa2f7;color:#16161e}}.list.list-nav .list-item .list-action .list-label{display:flex;flex-direction:row;gap:8px;align-items:center;letter-spacing:0;font-weight:400}.list.list-nav .list-item .list-action .list-meta{padding:8px;background:#9ece6a;color:#16161e;display:flex}.list.list-nav .list-item.list-item-active .list-action{background:#7aa2f7;color:#16161e;border-color:#7aa2f7}.list.list-actions{width:100%;max-width:420px;gap:22px}.list.list-actions .list-item{justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:2px solid rgba(192,202,245,.08)}.list.list-actions .list-item .list-content{display:flex;flex-direction:column;gap:8px}.list.list-actions .list-item .list-content .list-title{font-size:16px;line-height:1}.list.list-actions .list-item .list-content .list-subtitle{color:#787c99}@media (hover:hover) and (pointer:fine){.list.list-actions .list-item:hover .list-title{color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.list.list-actions .list-item:active .list-title{color:#7aa2f7}}@media (max-width:479px){.list.list-definition .list-row{grid-template-columns:1fr;gap:8px}}.badge{position:relative;overflow:hidden;background:#c0caf5;color:#16161e;padding:5px 8px;font-size:13px;font-weight:600;line-height:1;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:24px;transition-duration:.2s;transition-timing-function:ease;transition-property:filter,transform,border-color,color,background}.badge::after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:linear-gradient(90deg,transparent,rgba(22,22,30,.16),transparent);opacity:0;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.badge:hover{filter:saturate(1.12);transform:translateY(-1px)}.badge:hover::after{opacity:1;animation:terminal_scan_x .7s ease}}@media (hover:none) and (pointer:coarse){.badge:active{filter:saturate(1.12);transform:translateY(-1px)}.badge:active::after{opacity:1;animation:terminal_scan_x .7s ease}}.badge.badge-success{background:#9ece6a}.badge.badge-warning{background:#e0af68}.badge.badge-danger,.badge.badge-error{background:#f7768e}.badge.badge-info{background:#bb9af7;color:#16161e}.badge.badge-secondary{background:#7aa2f7;color:#16161e}.badge.badge-primary-outline{color:#c0caf5;border:2px solid #c0caf5;background:0 0;padding:3px 8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:5px 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.chip .ph,.chip .ph-bold{font-size:18px}.chip::before{content:"";display:inline-block;width:7px;height:7px;flex:0 0 auto;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow,transform}.chip:has(.ph)::before,.chip:has(.ph-bold)::before{display:none}.chip .chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:-5px;border:0;color:inherit;background:0 0;font:inherit;cursor:pointer}.chip .chip-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.chip.chip-primary{color:#c0caf5;background:rgba(192,202,245,.08);border-color:#c0caf5}.chip.chip-primary::before{background:#c0caf5}.chip.chip-secondary{color:#7aa2f7;background:rgba(122,162,247,.08);border-color:#7aa2f7}.chip.chip-secondary::before{background:#7aa2f7}.chip.chip-success{color:#9ece6a;background:rgba(158,206,106,.08);border-color:#9ece6a}.chip.chip-success::before{background:#9ece6a}.chip.chip-warning{color:#e0af68;background:rgba(224,175,104,.08);border-color:#e0af68}.chip.chip-warning::before{background:#e0af68}.chip.chip-danger,.chip.chip-error{color:#f7768e;background:rgba(247,118,142,.08);border-color:#f7768e}.chip.chip-danger::before,.chip.chip-error::before{background:#f7768e}.chip.chip-selected,.chip[aria-pressed=true],.chip[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.chip.chip-selected::before,.chip[aria-pressed=true]::before,.chip[aria-selected=true]::before{background:#16161e}.chip.chip-secondary[aria-pressed=true],.chip.chip-secondary[aria-selected=true],.chip.chip-selected.chip-secondary{background:#7aa2f7;border-color:#7aa2f7}.chip.chip-disabled,.chip:disabled{color:#787c99;background:#1f2335;border-color:rgba(192,202,245,.24);cursor:not-allowed;opacity:.7}.chip.chip-disabled::before,.chip:disabled::before{background:#414868}a.chip,button.chip{cursor:pointer}a.chip:focus-visible,button.chip:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){a.chip:hover,button.chip:hover{color:#c0caf5;background:rgba(192,202,245,.085);border-color:#7aa2f7}a.chip:hover::before,button.chip:hover::before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}@media (hover:none) and (pointer:coarse){a.chip:active,button.chip:active{color:#c0caf5;background:rgba(192,202,245,.085);border-color:#7aa2f7}a.chip:active::before,button.chip:active::before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 auto;overflow:hidden;border:2px solid rgba(192,202,245,.24);color:#16161e;background:#c0caf5;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar .ph,.avatar .ph-bold{font-size:22px}.avatar .avatar-status{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:2px solid #16161e;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow}.avatar.avatar-sm{width:38px;height:38px;font-size:12px}.avatar.avatar-sm .ph,.avatar.avatar-sm .ph-bold{font-size:18px}.avatar.avatar-lg{width:54px;height:54px;font-size:14px}.avatar.avatar-lg .ph,.avatar.avatar-lg .ph-bold{font-size:26px}.avatar.avatar-secondary{background:#7aa2f7}.avatar.avatar-success{background:#9ece6a}.avatar.avatar-warning{background:#e0af68}.avatar.avatar-danger,.avatar.avatar-error{background:#f7768e}.avatar.avatar-outline{color:#c0caf5;background:#1f2335;border-color:#c0caf5}.avatar.is-online .avatar-status{background:#9ece6a;animation:terminal_pulse 1.8s ease infinite}.avatar.is-busy .avatar-status{background:#e0af68}.avatar.is-offline .avatar-status{background:#787c99}.identity{display:inline-flex;align-items:center;gap:12px;min-width:0}.identity-content{display:flex;flex-direction:column;gap:5px;min-width:0}.identity-title{color:#c0caf5;font-size:15px;font-weight:600;line-height:1}.identity-meta{color:#787c99;font-size:13px;line-height:1.4}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{margin-right:-8px;border-color:#16161e}.avatar-stack .avatar-stack-count{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 8px;border:2px solid #16161e;color:#16161e;background:#e0af68;font-size:13px;font-weight:700}.table{width:100%;text-align:left;border:2px solid rgba(192,202,245,.24);border-collapse:collapse;background:#1f2335}.table .table-caption{text-align:left;font-size:16px;background:#c0caf5;width:-moz-max-content;width:max-content;color:#16161e;padding:5px 12px;margin-bottom:0;font-weight:700;text-transform:uppercase}.table.table-empty{width:100%}.table.table-empty .is-empty{width:100%;padding:15px;font-size:13px;color:#787c99;text-align:left}.table .table-row td,.table .table-row th{padding:12px 18px;font-size:13px;vertical-align:middle;border-bottom:2px solid rgba(192,202,245,.08)}.table .table-row th{color:#c0caf5;background:rgba(192,202,245,.04);text-transform:uppercase;letter-spacing:.04em}.table .table-head{border-bottom:2px solid #c0caf5}.table .table-body .table-row{transition-duration:.2s;transition-timing-function:ease;transition-property:background,color}.table .table-body .table-row td{transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}@media (hover:hover) and (pointer:fine){.table .table-body .table-row:hover{background:rgba(122,162,247,.08)}.table .table-body .table-row:hover td:first-child{color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.table .table-body .table-row:active{background:rgba(122,162,247,.08)}.table .table-body .table-row:active td:first-child{color:#7aa2f7}}.table .table-foot td,.table .table-foot th{padding-top:15px}.table.table-compact .table-caption{font-size:14px}.table.table-compact .table-row td,.table.table-compact .table-row th{padding:8px 12px;font-size:12px}.table.table-compact .table-cell-mono{color:#a9b1d6;font-family:"IBM Plex Mono",monospace;letter-spacing:0}.table.table-compact .table-cell-actions{width:1%;white-space:nowrap}.table-wrapper{width:100%;overflow-x:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.toolbar .toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.toolbar .toolbar-title{margin:0;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.toolbar .toolbar-meta{color:#787c99;font-size:13px}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination .pagination-item{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.pagination .pagination-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.pagination .pagination-item:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.pagination .pagination-item:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.pagination .pagination-item.pagination-item-active,.pagination .pagination-item[aria-current=page]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.pagination .pagination-item.pagination-item-disabled,.pagination .pagination-item:disabled{color:#787c99;background:#1f2335;border-color:rgba(192,202,245,.24);cursor:not-allowed;opacity:.72}.pagination .pagination-ellipsis{color:#787c99;padding:0 5px}.empty-state{max-width:560px;padding:22px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.empty-state .empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:15px;color:#16161e;background:#c0caf5;font-size:26px}.empty-state .empty-state-title{margin:0 0 8px;font-size:20px;font-weight:700;text-transform:uppercase}.empty-state .empty-state-text{max-width:440px;margin:0 0 18px;color:#a9b1d6;line-height:1.6}.empty-state .empty-state-actions{display:flex;flex-wrap:wrap;gap:8px}.empty-state.empty-state-error{border-color:#f7768e}.empty-state.empty-state-error .empty-state-icon{background:#f7768e}.skeleton{display:block;position:relative;overflow:hidden;background:rgba(192,202,245,.085)}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);animation:skeleton_shimmer 1.6s infinite}.skeleton.skeleton-line{width:100%;height:14px}.skeleton.skeleton-title{width:60%;height:22px}.skeleton.skeleton-block{width:100%;height:120px}.skeleton.skeleton-square{width:54px;height:54px}.skeleton-stack{display:flex;flex-direction:column;gap:12px;max-width:520px;padding:15px;border:2px solid rgba(192,202,245,.24);background:#1f2335}@keyframes skeleton_shimmer{100%{transform:translateX(100%)}}.page-header{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;width:100%;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335;overflow:hidden;animation:panel_boot .28s ease both}.page-header::after{content:"";position:absolute;top:0;left:0;width:34%;height:2px;background:linear-gradient(90deg,transparent,#7aa2f7,transparent);opacity:.72;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.page-header:hover::after{animation:terminal_scan_x .9s ease}}@media (hover:none) and (pointer:coarse){.page-header:active::after{animation:terminal_scan_x .9s ease}}.page-header .page-header-content{display:flex;flex-direction:column;gap:8px;min-width:min(100%,320px)}.page-header .page-header-kicker{color:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.page-header .page-header-title{margin:0;color:#c0caf5;font-size:26px;font-weight:700;line-height:1.15}.page-header .page-header-subtitle{max-width:720px;margin:0;color:#a9b1d6;font-size:15px;line-height:1.6}.page-header .page-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.page-header .page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.page-header.page-header-compact{align-items:center;padding:15px}.page-header.page-header-compact .page-header-title{font-size:20px}.page-header.page-header-accent{border-color:#7aa2f7;background:rgba(122,162,247,.055)}.description-list{display:grid;width:100%;max-width:760px;margin:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.description-list .description-list-row{display:grid;grid-template-columns:minmax(140px,0.36fr) minmax(0,1fr);gap:15px;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.description-list .description-list-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.description-list .description-list-row:hover{background:rgba(192,202,245,.085)}.description-list .description-list-row:hover .description-list-term{color:#7aa2f7}.description-list .description-list-row:hover .description-list-value{transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.description-list .description-list-row:active{background:rgba(192,202,245,.085)}.description-list .description-list-row:active .description-list-term{color:#7aa2f7}.description-list .description-list-row:active .description-list-value{transform:translateX(5px)}}.description-list .description-list-term{margin:0;color:#787c99;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.description-list .description-list-value{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;color:#c0caf5;font-size:15px;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:transform}.description-list .description-list-value-muted{color:#a9b1d6}.description-list.description-list-compact{max-width:520px}.description-list.description-list-compact .description-list-row{grid-template-columns:minmax(112px,0.42fr) minmax(0,1fr);gap:12px;padding:8px 12px}.description-list.description-list-compact .description-list-term,.description-list.description-list-compact .description-list-value{font-size:13px}@media (max-width:479px){.description-list .description-list-row{grid-template-columns:1fr;gap:5px}}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:900px;margin:0;padding:0;list-style:none}.steps .step{position:relative;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.steps .step-marker{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#c0caf5;border:2px solid rgba(192,202,245,.24);font-size:13px;font-weight:700;line-height:1}.steps .step-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.steps .step-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.steps .step-complete{border-color:#9ece6a}.steps .step-complete .step-marker{color:#16161e;background:#9ece6a;border-color:#9ece6a}.steps .step-current{border-color:#7aa2f7}.steps .step-current .step-marker{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}.steps .step-disabled{opacity:.62}.steps.steps-vertical{grid-template-columns:1fr;max-width:520px;gap:0}.steps.steps-vertical .step{min-height:auto;border-bottom-width:0}.steps.steps-vertical .step:last-child{border-bottom-width:2px}@media (max-width:1023px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:479px){.steps{grid-template-columns:1fr}}.timeline{display:grid;gap:0;width:100%;max-width:760px;margin:0;padding:0;list-style:none}.timeline .timeline-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;min-height:88px}.timeline .timeline-item::before{content:"";position:absolute;top:46px;bottom:0;left:22px;width:2px;background:rgba(192,202,245,.24)}.timeline .timeline-item:last-child::before{display:none}.timeline .timeline-marker{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#16161e;font-size:18px;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,color,box-shadow,transform}.timeline .timeline-content{min-width:0;padding:0 0 18px}.timeline .timeline-card{padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,transform}.timeline .timeline-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.timeline .timeline-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.timeline .timeline-time{color:#787c99;font-size:12px;font-family:"IBM Plex Mono",monospace;line-height:1.4}.timeline .timeline-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.timeline .timeline-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.timeline .timeline-item-success .timeline-card,.timeline .timeline-item-success .timeline-marker{border-color:#9ece6a}.timeline .timeline-item-success .timeline-marker{color:#16161e;background:#9ece6a}.timeline .timeline-item-warning .timeline-card,.timeline .timeline-item-warning .timeline-marker{border-color:#e0af68}.timeline .timeline-item-warning .timeline-marker{color:#16161e;background:#e0af68}.timeline .timeline-item-danger .timeline-card,.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-card,.timeline .timeline-item-error .timeline-marker{border-color:#f7768e}.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-marker{color:#16161e;background:#f7768e}@media (hover:hover) and (pointer:fine){.timeline .timeline-item:hover .timeline-marker{box-shadow:0 0 0 4px rgba(122,162,247,.14);transform:scale(1.04)}.timeline .timeline-item:hover .timeline-card{background:rgba(192,202,245,.085);transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.timeline .timeline-item:active .timeline-marker{box-shadow:0 0 0 4px rgba(122,162,247,.14);transform:scale(1.04)}.timeline .timeline-item:active .timeline-card{background:rgba(192,202,245,.085);transform:translateX(5px)}}.activity-log{display:grid;width:100%;max-width:720px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.activity-log .activity-log-row{display:grid;grid-template-columns:minmax(120px,0.24fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.activity-log .activity-log-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.activity-log .activity-log-row:hover{background:rgba(192,202,245,.085)}}@media (hover:none) and (pointer:coarse){.activity-log .activity-log-row:active{background:rgba(192,202,245,.085)}}.activity-log .activity-log-time{color:#787c99;font-family:"IBM Plex Mono",monospace;font-size:12px}.activity-log .activity-log-title{color:#c0caf5;font-size:13px;font-weight:600;line-height:1.4}@media (max-width:479px){.activity-log .activity-log-row{grid-template-columns:1fr;gap:8px}}.accordion{display:grid;width:100%;max-width:760px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.accordion-item{border-bottom:2px solid rgba(192,202,245,.08);overflow:hidden}.accordion-item:last-child{border-bottom:0}.accordion-item[open] .accordion-summary{color:#16161e;background:#c0caf5}.accordion-item[open] .accordion-icon{transform:rotate(180deg)}.accordion-summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:12px 15px;border:0;color:#c0caf5;background:0 0;cursor:pointer;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.accordion-summary::-webkit-details-marker{display:none}.accordion-summary::marker{content:""}.accordion-summary:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.accordion-summary:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.accordion-summary:active{color:#16161e;background:#7aa2f7}}.accordion-summary-content{display:flex;align-items:center;gap:8px;min-width:0}.accordion-icon{flex:0 0 auto;font-size:18px;transition-duration:.2s;transition-property:transform}.accordion-panel{overflow:hidden;padding:15px;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.28s;transition-timing-function:ease;transition-property:height,opacity,transform}.accordion-panel p{margin-top:0}.accordion-panel p:last-child{margin-bottom:0}.disclosure{max-width:520px;border:2px solid rgba(192,202,245,.24);background:#1f2335}.disclosure .accordion-summary{min-height:38px;padding:8px 12px}.disclosure .accordion-panel{padding:12px}.tabs{width:100%;max-width:900px}.tabs-list{display:flex;align-items:stretch;gap:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 15px;border:0;border-right:2px solid rgba(192,202,245,.08);border-radius:0;color:#a9b1d6;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,opacity}.tab .ph,.tab .ph-bold{font-size:18px}.tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px;z-index:1}@media (hover:hover) and (pointer:fine){.tab:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.tab:active{color:#16161e;background:#7aa2f7}}.tab:disabled,.tab[aria-disabled=true]{color:#787c99;cursor:not-allowed;opacity:.62}@media (hover:hover) and (pointer:fine){.tab:disabled:hover,.tab[aria-disabled=true]:hover{color:#787c99;background:0 0}}@media (hover:none) and (pointer:coarse){.tab:disabled:active,.tab[aria-disabled=true]:active{color:#787c99;background:0 0}}.tab-active,.tab[aria-selected=true]{color:#16161e;background:#c0caf5}.tab-panel{display:none}.tab-panel p{margin-top:0}.tab-panel p:last-child{margin-bottom:0}.tab-panel-active{display:block}.tabs-compact{max-width:620px}.tabs-compact .tabs-list{border-left-width:2px}.tabs-compact .tab{min-height:38px;padding:8px 12px}.tabs-vertical{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start}.tabs-vertical .tabs-list{flex-direction:column;overflow-x:visible}.tabs-vertical .tab{justify-content:flex-start;border-right:0;border-bottom:2px solid rgba(192,202,245,.08);text-align:left}@media (max-width:767px){.tabs-vertical{grid-template-columns:1fr}.tabs-vertical .tabs-list{flex-direction:row;overflow-x:auto}.tabs-vertical .tab{justify-content:center;border-right:2px solid rgba(192,202,245,.08);border-bottom:0;text-align:center}}.drawer{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none}.drawer .drawer-backdrop{position:fixed;inset:0;z-index:1010;background:#16161e;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity;pointer-events:auto}.drawer .drawer-panel{position:relative;z-index:1020;width:min(460px,100vw - 18px);min-height:100vh;display:flex;flex-direction:column;gap:15px;background:#16161e;border-left:2px solid #c0caf5;box-shadow:-18px 0 42px rgba(22,22,30,.38);opacity:0;transform:translateX(100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform;pointer-events:auto}.drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding-right:15px;border-bottom:2px solid rgba(192,202,245,.24)}.drawer .drawer-title{margin:0;padding:12px 15px;background:#c0caf5;color:#16161e;text-transform:uppercase;letter-spacing:.04em}.drawer .drawer-body{flex:1;overflow-y:auto;padding:18px}.drawer .drawer-footer{padding:18px;border-top:2px solid rgba(192,202,245,.24)}.drawer .drawer-footer .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;width:100%}.drawer.drawer-left{justify-content:flex-start}.drawer.drawer-left .drawer-panel{border-left:0;border-right:2px solid #c0caf5;box-shadow:18px 0 42px rgba(22,22,30,.38);transform:translateX(-100%)}.drawer.a-show .drawer-backdrop{opacity:.82}.drawer.a-show .drawer-panel{opacity:1;transform:translateX(0)}.drawer.a-hide .drawer-backdrop{opacity:0}.drawer.a-hide .drawer-panel{opacity:0;transform:translateX(100%)}.drawer.a-hide.drawer-left .drawer-panel{transform:translateX(-100%)}.drawer-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:18px;align-items:stretch;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.drawer-preview .drawer-preview-content{display:flex;flex-direction:column;gap:12px}.drawer-preview .drawer-preview-panel{display:flex;flex-direction:column;gap:12px;padding:15px;border:2px solid #7aa2f7;background:#1f2335}.drawer-preview .drawer-preview-title{margin:0;color:#7aa2f7;font-size:14px;text-transform:uppercase}.drawer-preview .drawer-preview-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media (max-width:720px){.drawer-preview{grid-template-columns:1fr}}.nav-topbar{position:sticky;top:0;z-index:900;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:58px;border-bottom:2px solid rgba(192,202,245,.24);background:rgba(22,22,30,.96);box-shadow:0 10px 28px rgba(22,22,30,.26)}.nav-topbar-toggle{display:inline-flex;align-items:center;align-self:stretch;gap:8px;min-width:150px;padding:0 15px;border:0;border-right:2px solid rgba(192,202,245,.24);color:#c0caf5;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.nav-topbar-toggle .ph{color:#7aa2f7;font-size:22px}.nav-topbar-toggle:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-topbar-toggle:hover{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:hover .ph{color:#16161e}}@media (hover:none) and (pointer:coarse){.nav-topbar-toggle:active{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:active .ph{color:#16161e}}.nav-topbar-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0 15px;color:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-topbar-brand img{width:22px;height:22px}.nav-topbar-current{min-width:160px;margin-right:15px;padding:5px 8px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}.nav-drawer-backdrop{position:fixed;inset:0;z-index:910;background:#16161e;opacity:0;pointer-events:none;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity}.nav-drawer{position:fixed;inset:0 auto 0 0;z-index:920;display:flex;flex-direction:column;width:min(380px,100vw);max-height:100vh;border-right:2px solid #c0caf5;background:#1f2335;box-shadow:18px 0 42px rgba(22,22,30,.38);opacity:0;overflow:hidden;pointer-events:none;transform:translateX(-100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform}.nav-drawer.is-open{opacity:1;pointer-events:auto;transform:translateX(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:2px solid rgba(192,202,245,.24)}.nav-drawer-title{display:inline-flex;padding:8px 12px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-drawer-subtitle{margin-top:8px;color:#787c99;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:2px solid rgba(192,202,245,.24);color:#c0caf5;background:0 0;font-size:22px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.nav-drawer-close:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-drawer-close:hover{color:#16161e;background:#f7768e;border-color:#f7768e}}@media (hover:none) and (pointer:coarse){.nav-drawer-close:active{color:#16161e;background:#f7768e;border-color:#f7768e}}.nav-drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-width:thin;scrollbar-color:#7AA2F7 #1F2335}.nav-drawer-body::-webkit-scrollbar{width:8px}.nav-drawer-body::-webkit-scrollbar-track{background:#1f2335}.nav-drawer-body::-webkit-scrollbar-thumb{background:#7aa2f7}.nav-drawer-body .list.list-nav{max-width:none}.nav-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-top:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-footer .profile-identity{display:block;text-decoration:none;color:inherit;min-width:0;flex:1 1 auto;overflow:hidden}@media (hover:hover) and (pointer:fine){.nav-drawer-footer .profile-identity:hover{color:inherit}}@media (hover:none) and (pointer:coarse){.nav-drawer-footer .profile-identity:active{color:inherit}}.nav-drawer-open{overflow:hidden}.nav-drawer-open .nav-drawer-backdrop{opacity:.82;pointer-events:auto}@media (max-width:767px){.nav-topbar-toggle{min-width:54px;padding:0 12px}.nav-topbar-brand{padding-right:12px;padding-left:12px}.nav-topbar-current{max-width:38vw;min-width:0;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-drawer{width:100vw;border-right:0}}.nav-shell-preview{width:100%;max-width:900px;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#16161e}.nav-shell-preview-topbar{position:relative;z-index:0;min-height:52px;box-shadow:none}.nav-shell-preview-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:320px}.nav-shell-preview-drawer{position:relative;z-index:0;inset:auto;width:auto;max-height:none;opacity:1;pointer-events:auto;transform:none;box-shadow:none}.nav-shell-preview-content{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;padding:18px;border-left:2px solid rgba(192,202,245,.24);background:#1f2335}.nav-shell-preview-content h3{margin:0;color:#c0caf5;font-size:20px;text-transform:uppercase}.nav-shell-preview-content p{max-width:360px;margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media (max-width:767px){.nav-shell-preview-body{grid-template-columns:1fr}.nav-shell-preview-content{min-height:180px;border-top:2px solid rgba(192,202,245,.24);border-left:0}}.toast{position:fixed;z-index:1100;bottom:-100px;right:15px;max-width:420px;background:#1f2335;border:2px solid #c0caf5;border-left-width:6px;padding:0;opacity:0;overflow:hidden;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,bottom}.toast.a-show{bottom:15px;opacity:1}.toast.a-hide{bottom:-45px;opacity:0}.toast .toast-content{display:flex;flex-direction:column;gap:0;padding:12px 15px;padding-right:48px}.toast .toast-content .toast-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;color:#c0caf5;line-height:1}.toast .toast-content .toast-header .ph{font-size:22px;flex-shrink:0}.toast .toast-content .toast-text{font-size:13px;padding:8px 0 0;margin:0;color:#a9b1d6;line-height:1.4}.toast .toast-close{position:absolute;top:5px;right:8px;color:#c0caf5;width:38px;height:38px;border-color:transparent;background:0 0}.toast .toast-progress{height:3px;width:100%;background:#16161e;overflow:hidden;margin-top:1px}.toast .toast-progress .toast-progress-bar{height:100%;width:100%;transform-origin:left;animation:toast-progress linear forwards;background:#c0caf5}.toast.toast-info{border-color:#bb9af7;background:rgba(187,154,247,.18)}.toast.toast-info .toast-header .ph{color:#bb9af7}.toast.toast-info .toast-progress-bar{background:#bb9af7}.toast.toast-success{border-color:#9ece6a;background:rgba(158,206,106,.18)}.toast.toast-success .toast-header .ph{color:#9ece6a}.toast.toast-success .toast-progress-bar{background:#9ece6a}.toast.toast-warning{border-color:#e0af68;background:rgba(224,175,104,.18)}.toast.toast-warning .toast-header .ph{color:#e0af68}.toast.toast-warning .toast-progress-bar{background:#e0af68}.toast.toast-danger{border-color:#f7768e;background:rgba(247,118,142,.18)}.toast.toast-danger .toast-header .ph{color:#f7768e}.toast.toast-danger .toast-progress-bar{background:#f7768e}@keyframes toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}.card{position:relative;max-width:340px;width:-moz-max-content;width:max-content;overflow:hidden;background:#1f2335;border:2px solid #c0caf5}.card .card-title{color:#16161e;background:#c0caf5;padding:8px 12px;font-weight:700;text-transform:uppercase}.card .card-content{padding:15px;height:100%}.card .card-content .card-thumb{display:block;width:min(68%,190px);margin:18px auto 22px}.card .card-content p{margin-top:8px;margin-bottom:0}.card .card-footer{padding:8px 15px;padding-bottom:15px}.card.status-card{max-width:220px;overflow:hidden}.card.status-card .status-icon-container{position:relative}.card.status-card .status-icon-container .status-indicator{position:absolute;top:-15px;left:-5px;font-size:22px;color:#f7768e}.card.status-card .status-icon-container .status-indicator.status-online{color:#9ece6a}.card.status-card .status-icon-container .status-icon{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;font-size:56px;height:108px;width:100%}.card.status-card .card-title{display:flex;width:100%;font-size:14px;font-weight:700;align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.card.status-card .status-name{font-size:13px;line-height:1.4}.card.status-card.card-success{border-color:#9ece6a}.card.status-card.card-success .card-title,.card.status-card.card-success .modal-title,.card.status-card.card-success .toast-title{color:#16161e;background:#9ece6a}.card.status-card.card-success .status-icon{color:#9ece6a}.card.status-card.card-warning{border-color:#e0af68}.card.status-card.card-warning .card-title,.card.status-card.card-warning .modal-title,.card.status-card.card-warning .toast-title{color:#16161e;background:#e0af68}.card.status-card.card-warning .status-icon{color:#e0af68}.card.status-card.card-info{border-color:#bb9af7}.card.status-card.card-info .card-title,.card.status-card.card-info .modal-title,.card.status-card.card-info .toast-title{color:#16161e;background:#bb9af7}.card.status-card.card-info .status-icon{color:#bb9af7}.card.status-card.card-secondary{border-color:#7aa2f7}.card.status-card.card-secondary .card-title,.card.status-card.card-secondary .modal-title,.card.status-card.card-secondary .toast-title{color:#16161e;background:#7aa2f7}.card.status-card.card-secondary .status-icon{color:#7aa2f7}.card.status-card.card-danger,.card.status-card.card-error{border-color:#f7768e}.card.status-card.card-danger .card-title,.card.status-card.card-danger .modal-title,.card.status-card.card-danger .toast-title,.card.status-card.card-error .card-title,.card.status-card.card-error .modal-title,.card.status-card.card-error .toast-title{color:#16161e;background:#f7768e}.card.status-card.card-danger .status-icon,.card.status-card.card-error .status-icon{color:#f7768e}.card.metric-card{max-width:320px;border-color:rgba(192,202,245,.24)}.card.metric-card .card-content{display:flex;flex-direction:column;gap:15px}.card.metric-card .metric-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card.metric-card .metric-card-label{margin:0;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.card.metric-card .metric-card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:#16161e;background:#7aa2f7;font-size:22px}.card.metric-card .metric-card-value{margin:0;color:#c0caf5;font-size:34px;font-weight:700;line-height:1.15}.card.metric-card .metric-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.card.metric-card .metric-card-delta{color:#9ece6a;font-weight:700}.card.metric-card .metric-card-delta.metric-card-delta-negative{color:#f7768e}.card.card-horizontal{max-width:none;display:flex;flex-direction:row;align-items:stretch;overflow:hidden}.card.card-horizontal .card-media{flex:0 0 20%;min-width:80px;max-width:160px;max-height:160px;overflow:hidden;position:relative;aspect-ratio:1;align-self:start}.card.card-horizontal .card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.card.card-horizontal .card-body{flex:1 1 auto;display:flex;flex-direction:column;padding:15px;gap:12px}.card.card-horizontal .card-title{padding:0;background:0 0;color:#c0caf5;font-size:16px;font-weight:700;text-transform:none;line-height:1.25}.card.card-horizontal .card-title a{color:inherit;text-decoration:none}.card.card-horizontal .card-content{padding:0;height:auto}.card.card-horizontal .card-content p{margin:0}.card.card-horizontal .card-footer{padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#a9b1d6;font-size:13px}.card.action-card{max-width:360px;border-color:#7aa2f7}.card.action-card .card-content{display:flex;flex-direction:column;gap:15px}.card.action-card .action-card-kicker{display:inline-flex;width:-moz-max-content;width:max-content;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.card.action-card .action-card-title{margin:0;font-size:20px;font-weight:700;line-height:1.25;text-transform:uppercase}.card.action-card .action-card-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.card.action-card .action-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.card.login-card{max-width:100%;width:460px;border-color:#c0caf5}.card.login-card .login-card-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px}.card.login-card .login-card-logo{display:block;width:auto;max-height:40px}.card.login-card .login-card-logo-icon{font-size:56px;color:#c0caf5}.card.login-card .login-card-title{font-size:20px;font-weight:700;text-transform:uppercase}.card.login-card .login-card-form{display:flex;flex-direction:column;gap:15px}.card.login-card .login-card-submit{width:-moz-max-content;width:max-content;margin-top:8px}.card.login-card .form-group{margin-bottom:0}.card.login-card .login-card-links{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px}.card.login-card .login-card-link{color:#a9b1d6;text-decoration:none}@media (hover:hover) and (pointer:fine){.card.login-card .login-card-link:hover{color:#c0caf5;text-decoration:underline}}@media (hover:none) and (pointer:coarse){.card.login-card .login-card-link:active{color:#c0caf5;text-decoration:underline}}.card.login-card .login-card-error{margin-bottom:8px}.card.user-card{max-width:320px}.card.user-card .user-card-body{display:flex;flex-direction:column;align-items:center;gap:15px;padding:18px;text-align:center}.card.user-card .identity{flex-direction:column;align-items:center;gap:15px}.card.user-card .identity .avatar{width:64px;height:64px;font-size:20px}.card.user-card .identity .identity-content{align-items:center;text-align:center}.card.user-card .user-card-role{color:#a9b1d6;font-size:13px;margin-top:5px}.card.user-card .user-card-actions{display:flex;gap:8px}.card.user-card-compact{max-width:none}.card.user-card-compact .user-card-body{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 15px;text-align:left}.card.user-card-compact .identity{flex-direction:row;gap:12px}.card.user-card-compact .identity .avatar{width:38px;height:38px;font-size:13px}.card.user-card-compact .identity .identity-content{align-items:flex-start}.card.user-card-compact .user-card-actions{display:flex;gap:5px}.modal{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal .modal-backdrop{position:fixed;z-index:1010;top:0;bottom:0;left:0;right:0;background:#16161e;opacity:0;transition-duration:.25s;transition-property:opacity}.modal .modal-dialog{position:relative;z-index:1020;width:100%;max-width:960px;margin:18px;height:auto;max-height:calc(100vh - 48px);padding:0;display:flex;flex-direction:column;gap:0;margin-top:200px;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,margin-top}.modal .modal-dialog .modal-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.modal .modal-dialog .modal-header .modal-title{padding:12px 15px;background:#c0caf5;color:#16161e;text-transform:uppercase;letter-spacing:.04em}.modal .modal-dialog .modal-header .modal-close{flex:0 0 auto;color:#c0caf5;border-color:rgba(192,202,245,.24);background:#16161e}.modal .modal-dialog .modal-panel{min-height:200px;display:flex;flex-direction:column;gap:15px;overflow:hidden;background:#16161e;border:2px solid #c0caf5;border-left-width:6px}.modal .modal-dialog .modal-body{max-height:700px;overflow-y:auto;padding:18px}.modal .modal-dialog .modal-footer{padding:18px}.modal .modal-dialog .modal-footer .actions{display:flex;flex-direction:row;justify-content:flex-end;gap:15px;width:100%}.modal.a-show .modal-backdrop{opacity:1}.modal.a-show .modal-dialog{opacity:1;margin-top:0}.modal.a-hide .modal-backdrop{opacity:0}.modal.a-hide .modal-dialog{opacity:0;margin-top:-200px}.alert{position:relative;overflow:hidden;margin-bottom:12px;padding:12px 15px;border:2px solid transparent;border-left-style:solid;border-left-width:6px;background:#1f2335;color:#c0caf5;font-weight:500;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:background,color,border-color}.alert::after{content:"";position:absolute;inset:0 auto 0 0;width:36%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);opacity:0;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.alert:hover::after{opacity:1;animation:terminal_scan_x .8s ease}}@media (hover:none) and (pointer:coarse){.alert:active::after{opacity:1;animation:terminal_scan_x .8s ease}}.alert.alert-primary{border-color:#c0caf5;background:rgba(192,202,245,.1);color:#c0caf5}.alert.alert-success{border-color:#9ece6a;background:rgba(158,206,106,.1);color:#9ece6a}.alert.alert-secondary{border-color:#7aa2f7;background:rgba(122,162,247,.1);color:#7aa2f7}.alert.alert-info{border-color:#bb9af7;background:rgba(187,154,247,.1);color:#c0caf5}.alert.alert-warning{border-color:#e0af68;background:rgba(224,175,104,.1);color:#e0af68}.alert.alert-danger,.alert.alert-error{border-color:#f7768e;background:rgba(247,118,142,.1);color:#f7768e}.advanced-select-container{position:relative;height:0}.advanced-select{position:absolute;z-index:100;top:6px;width:100%;height:auto;max-height:200px;overflow-y:auto;background:#16161e;border:2px solid #c0caf5;border-left-width:6px;margin-top:20px;opacity:0;visibility:hidden;transition-property:opacity,margin-top,visibility;transition-duration:.2s;transition-timing-function:ease}.advanced-select.a-show{opacity:1;margin-top:0;visibility:visible}.advanced-select .popup-options-container .not-found{width:100%;padding:15px;text-align:center;display:none}.advanced-select .popup-options-container .not-found.show{display:block}.advanced-select .popup-options-container .options{width:100%;display:none}.advanced-select .popup-options-container .options.show{display:block}.advanced-select .popup-options-container .options .option{padding:8px 15px;transition-property:color,background;transition-duration:.15s}.advanced-select .popup-options-container .options .option.hide{display:none}.advanced-select .popup-options-container .options .option.focus,.advanced-select .popup-options-container .options .option:hover{color:#16161e;background:#e0af68}.component.editable-string-component .editable-string-content{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:inherit}.component.editable-string-component .editable-string-content .editable-string{font-size:inherit;border-bottom:2px solid rgba(192,202,245,.24)}@media (hover:hover) and (pointer:fine){.component.editable-string-component .apply-changes-btn:hover,.component.editable-string-component .cancel-changes-btn:hover,.component.editable-string-component .edit-text-btn:hover{color:#16161e;background:#e0af68}}@media (hover:none) and (pointer:coarse){.component.editable-string-component .apply-changes-btn:active,.component.editable-string-component .cancel-changes-btn:active,.component.editable-string-component .edit-text-btn:active{color:#16161e;background:#e0af68}}.component.editable-string-component .apply-changes-btn{color:#e0af68}.component.editable-string-component .editable-string-form{display:flex;flex-direction:row;align-items:center;gap:8px}.component.editable-string-component .editable-string-form .form-group{max-width:260px;margin:0}.component.editable-string-component .editable-string-form .form-group .input{padding:8px 15px}.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:15px}.tabs .tab{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;line-height:1;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.tabs .tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.tabs .tab:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.tabs .tab:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.tabs .tab.tab-active,.tabs .tab[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.dropdown,.popover{position:relative;display:inline-flex}.dropdown-menu,.popover-panel,.tooltip-panel{z-index:40;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px;box-shadow:0 14px 36px rgba(22,22,30,.36)}.dropdown-menu,.popover-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:none;transform-origin:top left}.dropdown.is-open .dropdown-menu,.popover.is-open .popover-panel{display:block;animation:overlay_reveal .2s ease both}.dropdown-menu{padding:5px}.dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px 12px;border:0;color:#c0caf5;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;text-align:left;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.dropdown-menu .dropdown-item .ph,.dropdown-menu .dropdown-item .ph-bold{font-size:18px}.dropdown-menu .dropdown-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.dropdown-menu .dropdown-item:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.dropdown-menu .dropdown-item:active{color:#16161e;background:#7aa2f7}}.dropdown-menu .dropdown-item.dropdown-item-danger{color:#f7768e}@media (hover:hover) and (pointer:fine){.dropdown-menu .dropdown-item.dropdown-item-danger:hover{color:#16161e;background:#f7768e}}@media (hover:none) and (pointer:coarse){.dropdown-menu .dropdown-item.dropdown-item-danger:active{color:#16161e;background:#f7768e}}.popover-panel{width:min(320px,100vw - 22px);padding:15px}.popover-panel .popover-title{margin:0 0 8px;font-size:14px;font-weight:700;text-transform:uppercase}.popover-panel .popover-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.tooltip{position:relative;display:inline-flex}.tooltip-panel{position:absolute;left:50%;bottom:calc(100% + 8px);width:-moz-max-content;width:max-content;max-width:260px;padding:8px 12px;color:#c0caf5;font-size:12px;line-height:1.4;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition-duration:.15s;transition-timing-function:ease;transition-property:opacity,visibility}.tooltip.is-open .tooltip-panel,.tooltip:focus-within .tooltip-panel,.tooltip:hover .tooltip-panel{opacity:1;visibility:visible;animation:tooltip_reveal .15s ease both}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.g-0{gap:0!important}.gx-0{-moz-column-gap:0!important;column-gap:0!important}.gy-0{row-gap:0!important}.m-1{margin:5px!important}.mt-1{margin-top:5px!important}.mr-1{margin-right:5px!important}.mb-1{margin-bottom:5px!important}.ml-1{margin-left:5px!important}.mx-1{margin-left:5px!important;margin-right:5px!important}.my-1{margin-top:5px!important;margin-bottom:5px!important}.p-1{padding:5px!important}.pt-1{padding-top:5px!important}.pr-1{padding-right:5px!important}.pb-1{padding-bottom:5px!important}.pl-1{padding-left:5px!important}.px-1{padding-left:5px!important;padding-right:5px!important}.py-1{padding-top:5px!important;padding-bottom:5px!important}.g-1{gap:5px!important}.gx-1{-moz-column-gap:5px!important;column-gap:5px!important}.gy-1{row-gap:5px!important}.m-2{margin:8px!important}.mt-2{margin-top:8px!important}.mr-2{margin-right:8px!important}.mb-2{margin-bottom:8px!important}.ml-2{margin-left:8px!important}.mx-2{margin-left:8px!important;margin-right:8px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.p-2{padding:8px!important}.pt-2{padding-top:8px!important}.pr-2{padding-right:8px!important}.pb-2{padding-bottom:8px!important}.pl-2{padding-left:8px!important}.px-2{padding-left:8px!important;padding-right:8px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.g-2{gap:8px!important}.gx-2{-moz-column-gap:8px!important;column-gap:8px!important}.gy-2{row-gap:8px!important}.m-3{margin:12px!important}.mt-3{margin-top:12px!important}.mr-3{margin-right:12px!important}.mb-3{margin-bottom:12px!important}.ml-3{margin-left:12px!important}.mx-3{margin-left:12px!important;margin-right:12px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.p-3{padding:12px!important}.pt-3{padding-top:12px!important}.pr-3{padding-right:12px!important}.pb-3{padding-bottom:12px!important}.pl-3{padding-left:12px!important}.px-3{padding-left:12px!important;padding-right:12px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.g-3{gap:12px!important}.gx-3{-moz-column-gap:12px!important;column-gap:12px!important}.gy-3{row-gap:12px!important}.m-4{margin:15px!important}.mt-4{margin-top:15px!important}.mr-4{margin-right:15px!important}.mb-4{margin-bottom:15px!important}.ml-4{margin-left:15px!important}.mx-4{margin-left:15px!important;margin-right:15px!important}.my-4{margin-top:15px!important;margin-bottom:15px!important}.p-4{padding:15px!important}.pt-4{padding-top:15px!important}.pr-4{padding-right:15px!important}.pb-4{padding-bottom:15px!important}.pl-4{padding-left:15px!important}.px-4{padding-left:15px!important;padding-right:15px!important}.py-4{padding-top:15px!important;padding-bottom:15px!important}.g-4{gap:15px!important}.gx-4{-moz-column-gap:15px!important;column-gap:15px!important}.gy-4{row-gap:15px!important}.m-5{margin:18px!important}.mt-5{margin-top:18px!important}.mr-5{margin-right:18px!important}.mb-5{margin-bottom:18px!important}.ml-5{margin-left:18px!important}.mx-5{margin-left:18px!important;margin-right:18px!important}.my-5{margin-top:18px!important;margin-bottom:18px!important}.p-5{padding:18px!important}.pt-5{padding-top:18px!important}.pr-5{padding-right:18px!important}.pb-5{padding-bottom:18px!important}.pl-5{padding-left:18px!important}.px-5{padding-left:18px!important;padding-right:18px!important}.py-5{padding-top:18px!important;padding-bottom:18px!important}.g-5{gap:18px!important}.gx-5{-moz-column-gap:18px!important;column-gap:18px!important}.gy-5{row-gap:18px!important}.m-6{margin:22px!important}.mt-6{margin-top:22px!important}.mr-6{margin-right:22px!important}.mb-6{margin-bottom:22px!important}.ml-6{margin-left:22px!important}.mx-6{margin-left:22px!important;margin-right:22px!important}.my-6{margin-top:22px!important;margin-bottom:22px!important}.p-6{padding:22px!important}.pt-6{padding-top:22px!important}.pr-6{padding-right:22px!important}.pb-6{padding-bottom:22px!important}.pl-6{padding-left:22px!important}.px-6{padding-left:22px!important;padding-right:22px!important}.py-6{padding-top:22px!important;padding-bottom:22px!important}.g-6{gap:22px!important}.gx-6{-moz-column-gap:22px!important;column-gap:22px!important}.gy-6{row-gap:22px!important}.m-7{margin:26px!important}.mt-7{margin-top:26px!important}.mr-7{margin-right:26px!important}.mb-7{margin-bottom:26px!important}.ml-7{margin-left:26px!important}.mx-7{margin-left:26px!important;margin-right:26px!important}.my-7{margin-top:26px!important;margin-bottom:26px!important}.p-7{padding:26px!important}.pt-7{padding-top:26px!important}.pr-7{padding-right:26px!important}.pb-7{padding-bottom:26px!important}.pl-7{padding-left:26px!important}.px-7{padding-left:26px!important;padding-right:26px!important}.py-7{padding-top:26px!important;padding-bottom:26px!important}.g-7{gap:26px!important}.gx-7{-moz-column-gap:26px!important;column-gap:26px!important}.gy-7{row-gap:26px!important}.m-8{margin:34px!important}.mt-8{margin-top:34px!important}.mr-8{margin-right:34px!important}.mb-8{margin-bottom:34px!important}.ml-8{margin-left:34px!important}.mx-8{margin-left:34px!important;margin-right:34px!important}.my-8{margin-top:34px!important;margin-bottom:34px!important}.p-8{padding:34px!important}.pt-8{padding-top:34px!important}.pr-8{padding-right:34px!important}.pb-8{padding-bottom:34px!important}.pl-8{padding-left:34px!important}.px-8{padding-left:34px!important;padding-right:34px!important}.py-8{padding-top:34px!important;padding-bottom:34px!important}.g-8{gap:34px!important}.gx-8{-moz-column-gap:34px!important;column-gap:34px!important}.gy-8{row-gap:34px!important}.m-9{margin:42px!important}.mt-9{margin-top:42px!important}.mr-9{margin-right:42px!important}.mb-9{margin-bottom:42px!important}.ml-9{margin-left:42px!important}.mx-9{margin-left:42px!important;margin-right:42px!important}.my-9{margin-top:42px!important;margin-bottom:42px!important}.p-9{padding:42px!important}.pt-9{padding-top:42px!important}.pr-9{padding-right:42px!important}.pb-9{padding-bottom:42px!important}.pl-9{padding-left:42px!important}.px-9{padding-left:42px!important;padding-right:42px!important}.py-9{padding-top:42px!important;padding-bottom:42px!important}.g-9{gap:42px!important}.gx-9{-moz-column-gap:42px!important;column-gap:42px!important}.gy-9{row-gap:42px!important}.m-10{margin:48px!important}.mt-10{margin-top:48px!important}.mr-10{margin-right:48px!important}.mb-10{margin-bottom:48px!important}.ml-10{margin-left:48px!important}.mx-10{margin-left:48px!important;margin-right:48px!important}.my-10{margin-top:48px!important;margin-bottom:48px!important}.p-10{padding:48px!important}.pt-10{padding-top:48px!important}.pr-10{padding-right:48px!important}.pb-10{padding-bottom:48px!important}.pl-10{padding-left:48px!important}.px-10{padding-left:48px!important;padding-right:48px!important}.py-10{padding-top:48px!important;padding-bottom:48px!important}.g-10{gap:48px!important}.gx-10{-moz-column-gap:48px!important;column-gap:48px!important}.gy-10{row-gap:48px!important}.m-11{margin:64px!important}.mt-11{margin-top:64px!important}.mr-11{margin-right:64px!important}.mb-11{margin-bottom:64px!important}.ml-11{margin-left:64px!important}.mx-11{margin-left:64px!important;margin-right:64px!important}.my-11{margin-top:64px!important;margin-bottom:64px!important}.p-11{padding:64px!important}.pt-11{padding-top:64px!important}.pr-11{padding-right:64px!important}.pb-11{padding-bottom:64px!important}.pl-11{padding-left:64px!important}.px-11{padding-left:64px!important;padding-right:64px!important}.py-11{padding-top:64px!important;padding-bottom:64px!important}.g-11{gap:64px!important}.gx-11{-moz-column-gap:64px!important;column-gap:64px!important}.gy-11{row-gap:64px!important}.m-12{margin:80px!important}.mt-12{margin-top:80px!important}.mr-12{margin-right:80px!important}.mb-12{margin-bottom:80px!important}.ml-12{margin-left:80px!important}.mx-12{margin-left:80px!important;margin-right:80px!important}.my-12{margin-top:80px!important;margin-bottom:80px!important}.p-12{padding:80px!important}.pt-12{padding-top:80px!important}.pr-12{padding-right:80px!important}.pb-12{padding-bottom:80px!important}.pl-12{padding-left:80px!important}.px-12{padding-left:80px!important;padding-right:80px!important}.py-12{padding-top:80px!important;padding-bottom:80px!important}.g-12{gap:80px!important}.gx-12{-moz-column-gap:80px!important;column-gap:80px!important}.gy-12{row-gap:80px!important}.row{display:flex;flex-direction:row}@media (max-width:1279px){.row.adaptive{flex-direction:column}}.column{display:flex;flex-direction:column}.f-grid{display:flex;flex-direction:row;flex-wrap:wrap}.grid{display:grid}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.w-100{width:100%}.w-auto{width:auto!important}.w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-200{width:200%}.h-100{height:100%}.min-w-0{min-width:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.fs-xs{font-size:12px}.fs-sm{font-size:13px}.fs-md{font-size:14px}.fs-base{font-size:15px}.fs-lg{font-size:16px}.fs-xl{font-size:20px}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-uppercase{text-transform:uppercase!important}.text-nowrap{white-space:nowrap!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-flex{display:inline-flex!important}.d-flex{display:flex!important}.d-grid{display:grid!important}@media (max-width:767px){.grid-2,.grid-3{grid-template-columns:1fr}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background-color:#16161e;color:#c0caf5}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{width:10px;background:#16161e;cursor:pointer}::-webkit-scrollbar-thumb{width:10px;background:#414868;cursor:default}::-webkit-scrollbar-corner{background:0 0;height:1px}::-webkit-scrollbar-button{display:none}.ph.normalize{position:relative;top:.15em}.docs-layout{display:block}.docs-content{min-width:0;max-width:1040px;margin:0 auto}.docs-section{scroll-margin-top:calc(58px + 22px);padding-top:80px;margin-bottom:160px;border-top:2px solid #1f2335}.docs-section:first-child{padding-top:0}.docs-section:target{border-top-color:#7aa2f7}.docs-section:target>.section-title{color:#7aa2f7}.docs-intro{max-width:820px;margin-right:auto;margin-left:auto}.docs-page{padding-top:34px;padding-bottom:160px}@media (max-width:767px){.docs-page{padding-top:22px}.docs-section{scroll-margin-top:calc(96px + 22px)}}.demo-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.docs-section-description{max-width:760px;margin-bottom:34px;color:#a9b1d6}.code-example{max-width:900px;margin-top:34px;border:2px solid rgba(192,202,245,.24);border-left-width:6px}.code-example .code-example-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;color:#16161e;background:#c0caf5}.code-example .code-example-header .btn-icon{color:#16161e}@media (hover:hover) and (pointer:fine){.code-example .code-example-header .btn-icon:not(.without-hover):hover{color:#16161e;border-color:#16161e}}@media (hover:none) and (pointer:coarse){.code-example .code-example-header .btn-icon:not(.without-hover):active{color:#16161e;border-color:#16161e}}.code-example .code-example-title{font-size:13px;font-weight:700;text-transform:uppercase}.code-example pre{margin:0;padding:15px;overflow:auto;background:#1f2335}.code-example code{display:block;font-size:13px;line-height:1.6;background:0 0}.code-example .hljs{padding:0;background:0 0} /*# sourceMappingURL=demo.css.map */ diff --git a/dist/css/demo.css.map b/dist/css/demo.css.map index d4c3861..dea765f 100644 --- a/dist/css/demo.css.map +++ b/dist/css/demo.css.map @@ -1 +1 @@ -{"version":3,"sources":["file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_fonts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_spacing.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_motion.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_typography.scss","$stdin","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_mixins.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_palette.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_loader.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_buttons.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_design-tokens.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_forms.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_input-group.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_lists.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_badges.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_chips.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_avatar.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_tables.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_data-patterns.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_page-header.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_description-list.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_stepper.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_timeline.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_accordion.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_tabs.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_drawer.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_navigation-shell.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_toasts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_cards.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_modals.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_alerts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_advanced-select.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_editable-string.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_navigation-overlays.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_utils.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/kit.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_demo-layout.scss"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_fonts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_spacing.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_motion.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_typography.scss","$stdin","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_mixins.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_palette.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_loader.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_buttons.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_design-tokens.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_forms.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_input-group.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_lists.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_badges.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_chips.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_avatar.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_tables.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_data-patterns.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_page-header.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_description-list.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_stepper.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_timeline.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_accordion.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_tabs.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_drawer.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_navigation-shell.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_toasts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_cards.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_modals.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_alerts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_advanced-select.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_editable-string.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_navigation-overlays.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_utils.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/kit.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_demo-layout.scss"],"names":[],"mappings":"iBAAA,WACE,YAAA,gBACA,IAAA,2DAAA,mBACA,YAAA,IACA,WAAA,OACA,aAAA,KAGF,WACE,YAAA,gBACA,IAAA,0DAAA,mBACA,YAAA,IACA,WAAA,OACA,aAAA,KAGF,WACE,YAAA,gBACA,IAAA,4DAAA,mBACA,YAAA,IACA,WAAA,OACA,aAAA,KAGF,WACE,YAAA,gBACA,IAAA,wDAAA,mBACA,YAAA,IACA,WAAA,OACA,aAAA,KAGF,WACE,YAAA,gBACA,IAAA,0DAAA,mBACA,YAAA,IACA,WAAA,OACA,aAAA,KCUF,WACC,QAAA,KAGD,SACC,cAAA,KAGD,eACC,cAAA,KAGD,OACC,cAAA,KAGD,aACC,cAAA,KAOD,MAAA,EAEC,cAAA,KAGD,MACC,WAAA,IAOD,MACC,aAAA,KACA,cAAA,KAGD,WACC,cAAA,IAGD,aACC,WAAA,IAOD,OACC,cAAA,KAGD,eACC,cAAA,IAOD,YACC,cAAA,KAGD,OACC,cAAA,IACA,QAAA,MAGD,OAAA,QAAA,UAGC,WAAA,IAOD,OACC,QAAA,KAGD,aACC,IAAA,ICvID,2BACC,GACC,UAAA,kBAGD,KACC,UAAA,kBAIF,2BACC,GACC,UAAA,kBAGD,KACC,UAAA,kBAIF,0BACC,GAAA,KAEC,WAAA,EAAA,EAAA,EAAA,EAAA,oBAGD,IACC,WAAA,EAAA,EAAA,EAAA,IAAA,uBAIF,sBACC,GACC,QAAA,EACA,UAAA,gBAGD,KACC,QAAA,EACA,UAAA,eAIF,0BACC,GACC,QAAA,EACA,UAAA,iBAGD,KACC,QAAA,EACA,UAAA,eAIF,0BACC,GACC,QAAA,EACA,UAAA,iBAAA,gBAGD,KACC,QAAA,EACA,UAAA,iBAAA,eAIF,uCACC,EAAA,QAAA,SAGC,mBAAA,aACA,0BAAA,YACA,gBAAA,eACA,oBAAA,cClBF,KACC,UAAA,KAGD,KACC,YAAA,eC8K6B,CD9K7B,UACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,eAAA,EACA,MAAA,QAOD,GAAA,GAAA,GAAA,GAAA,GAAA,GAMC,YAAA,eC6K6B,CD7K7B,UACA,YAAA,IACA,YAAA,KACA,OAAA,EAEA,YAAA,YAAA,YAAA,YAAA,YAAA,YACC,WAAA,QACA,MAAA,QACA,QAAA,OACA,QAAA,EAAA,IAIF,GACC,UAAA,KACA,eAAA,EAGD,GACC,UAAA,KAGD,GACC,UAAA,KAGD,GACC,UAAA,KAGD,GACC,UAAA,KAGD,GACC,UAAA,KACA,YAAA,IAOD,MAAA,EAEC,UAAA,KACA,YAAA,IAGD,SACC,UAAA,KACA,YAAA,IAGD,SACC,UAAA,KACA,YAAA,IAGD,WACC,UAAA,MACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,IAGD,YACC,UAAA,KACA,MAAA,QAGD,aAAA,OAEC,YAAA,IAGD,WACC,YAAA,IAGD,aAAA,GAEC,WAAA,OAGD,cACC,MAAA,QAGD,cACC,MAAA,QAGD,aAAA,YAEC,MAAA,QAGD,WACC,MAAA,QAGD,SACC,QAAA,YACA,MAAA,iBAAA,MAAA,YACA,UAAA,KACA,QAAA,IAAA,IACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UAGD,SACC,MAAA,QACA,UAAA,KACA,YAAA,IAOD,MAAA,KAAA,IAGC,YAAA,eCgL6B,CDhL7B,UACA,UAAA,KACA,YAAA,IACA,iBAAA,QAGD,cACC,MAAA,QAGD,gBACC,MAAA,QAGD,IACC,UAAA,KACA,YAAA,IACA,YAAA,SAGD,MAAA,SAEC,YAAA,EAAA,SAAA,EACA,cAAA,EAGD,MACC,QAAA,YACA,QAAA,EAAA,IACA,MAAA,QACA,OAAA,IAAA,MAAA,sBAGD,KACC,QAAA,YACA,YAAA,OACA,WAAA,KACA,QAAA,EAAA,IACA,OAAA,IAAA,MAAA,sBACA,oBAAA,QACA,MAAA,QACA,WAAA,QACA,YAAA,eCiL6B,CDjL7B,UACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UAGD,OACC,UAAA,MACA,OAAA,EACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IAEA,YACC,QAAA,MACA,WAAA,KACA,MAAA,QACA,UAAA,KACA,WAAA,OACA,eAAA,UAQF,EACC,YAAA,IACA,gBAAA,KACA,MAAA,QE5RA,wCACC,QF8RA,MAAA,SEzRD,yCACC,SFwRA,MAAA,SAIF,MACC,UAAA,QACA,YAAA,IAOD,OACC,UAAA,KACA,YAAA,IACA,YAAA,IAGD,MAAA,MAEC,UAAA,KACA,YAAA,IAOD,OACC,UAAA,KACA,YAAA,IAEA,UACC,YAAA,IAGD,UACC,YAAA,IAQF,MACC,UAAA,KACA,YAAA,IAGD,WACC,UAAA,QAOD,aACC,UAAA,KACA,YAAA,IAGD,YACC,UAAA,KAOD,aACC,UAAA,KACA,YAAA,IAGD,YACC,UAAA,KACA,YAAA,IG9WD,SACC,QAAA,KACA,eAAA,IACA,UAAA,KACA,IAAA,IAGC,2BACC,MAAA,KACA,OAAA,KAQF,iBACC,WAAA,QAGD,mBACC,WAAA,QAGD,iBACC,WAAA,QAGD,gBACC,WAAA,QAGD,cACC,WAAA,QAGD,iBACC,WAAA,QAGD,eACC,WAAA,QAKD,yBACC,MAAA,QAGD,2BACC,MAAA,QAGD,yBACC,MAAA,QAGD,wBACC,MAAA,QAGD,sBACC,MAAA,QAGD,yBACC,MAAA,QAGD,uBACC,MAAA,QCvEF,QACE,MAAA,KACA,aAAA,EACA,IAAA,UAAA,6BACA,WAAA,SAAA,EAAA,CHylBwB,CGzlBxB,SAAA,EAAA,IHylByC,CGzlBzC,SAAA,IAAA,CHylByD,CGzlBzD,SAAA,IAAA,IHylB4E,CGzlB5E,SAAA,KAAA,CHylB6F,CGzlB7F,SAAA,KAAA,KAOA,UAAA,IAAA,GAAA,SAEF,eACC,GAAA,KAAQ,gBAAA,IAAA,IACR,OAAQ,gBAAA,IAAA,GHulBmB,CGvlBnB,IAAA,GHulB4B,CGvlB5B,IAAA,GHulBqC,CGvlBrC,IAAA,GHulB8C,CGvlB9C,IAAA,GHulBuD,CGvlBvD,IAAA,IACR,OAAQ,gBAAA,IAAA,GHylBmB,CGzlBnB,IAAA,GHylB4B,CGzlB5B,IAAA,GHylBqC,CGzlBrC,IAAA,GHylB8C,CGzlB9C,IAAA,GHylBuD,CGzlBvD,IAAA,IACR,IAAQ,gBAAA,IAAA,GH2lBmB,CG3lBnB,IAAA,GH2lB4B,CG3lB5B,IAAA,GH2lBqC,CG3lBrC,IAAA,GH2lB8C,CG3lB9C,IAAA,GH2lBuD,CG3lBvD,IAAA,IACR,OAAQ,gBAAA,IAAA,GH6lBmB,CG7lBnB,IAAA,GH6lB4B,CG7lB5B,IAAA,GH6lBqC,CG7lBrC,IAAA,GH6lB8C,CG7lB9C,IAAA,GH6lBuD,CG7lBvD,IAAA,IACR,OAAQ,gBAAA,IAAA,GH+lBmB,CG/lBnB,IAAA,GH+lB4B,CG/lB5B,IAAA,GH+lBqC,CG/lBrC,IAAA,GH+lB8C,CG/lB9C,IAAA,GH+lBuD,CG/lBvD,IAAA,KAGT,eACE,QAAA,KACA,eAAA,IACA,YAAA,OACA,IAAA,IAEA,mBAAA,wBACE,UAAA,KACA,iBAAA,IAAA,IACA,UAAA,UAAA,KAAA,OAAA,SAIJ,UACC,QAAA,KACA,eAAA,OACA,IAAA,IACA,MAAA,KACA,UAAA,MAEA,2BACC,QAAA,KACA,YAAA,OACA,gBAAA,cACA,IAAA,KACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,eAAA,UAGD,0BACC,MAAA,QACA,YAAA,eH6lB4B,CG7lB5B,UAGD,0BACC,SAAA,SACA,MAAA,KACA,OAAA,KACA,SAAA,OACA,OAAA,IAAA,MAAA,sBACA,WAAA,QAGD,wBACC,QAAA,MACA,SAAA,SACA,SAAA,OACA,MAAA,yBACA,OAAA,KACA,WAAA,QACA,WAAA,MAAA,KAAA,KAGD,yCACC,WAAA,QAGD,yCACC,WAAA,QAKA,wCAAA,uCACC,WAAA,QAIF,yCACC,iBAAA,8GASD,iDACC,QAAA,GACA,SAAA,SACA,MAAA,EACA,MAAA,IACA,WAAA,qEAMA,UAAA,kBACA,UAAA,cAAA,KAAA,KAAA,SAIF,aACC,QAAA,KACA,IAAA,KACA,MAAA,KACA,UAAA,MACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAEA,gCACC,QAAA,KACA,YAAA,OACA,gBAAA,cACA,IAAA,KACA,OAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UAGD,gCACC,MAAA,QACA,YAAA,eHskB4B,CGtkB5B,UACA,UAAA,KAGD,+BACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IAIF,iBACC,QAAA,KACA,sBAAA,wBACA,IAAA,IACA,MAAA,KACA,UAAA,MAEA,iCACC,WAAA,KACA,QAAA,IAAA,KACA,OAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,eAAA,UAGD,0CACC,MAAA,QACA,WAAA,QACA,aAAA,QAGD,yCACC,MAAA,QACA,WAAA,QACA,aAAA,QF9IA,yBEmJD,iBACC,sBAAA,IAAA,KFpJA,yBEyJD,iBACC,sBAAA,KAIF,yBACC,KACC,UAAA,kBAGD,GACC,UAAA,kBC7MF,qBACE,KAAO,UAAA,UACP,GAAO,UAAA,gBAGT,KACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,WAAA,KACA,YAAA,eJixB6B,CIjxB7B,UACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,MACA,QAAA,KAAA,KACA,cAAA,EACA,aAAA,IACA,kBAAA,IACA,aAAA,MACA,aAAA,QACA,eAAA,UACA,iBAAA,YACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,gBJixBsC,CIjxBtC,YJixBoD,CIjxBpD,KJixB2D,CIjxB3D,QAEA,mBCiCC,QAAA,IAAA,MAAA,QACA,eAAA,ID9BD,eACC,kBAAA,KACA,SAAA,SAEA,mBAAA,wBAEC,SAAA,SACA,MAAA,QACA,KAAA,MACA,IAAA,IACA,UAAA,KACA,OAAA,KACA,QAAA,YACA,YAAA,OACA,MAAA,KACA,gBAAA,OACA,oBAAA,IACA,oBAAA,KJixByB,CIjxBzB,KHjDF,wCGuDE,6DAAA,kEAEC,KAAA,OHnDH,yCGiDE,8DAAA,mEAEC,KAAA,OAKH,iBACC,MAAA,QACA,aAAA,QHhED,wCACC,uBGkEC,iBAAA,QACA,MAAA,SH9DF,yCACC,wBG4DC,iBAAA,QACA,MAAA,SAIF,mBACC,MAAA,QACA,aAAA,QH1ED,wCACC,yBG4EC,iBAAA,QACA,MAAA,QAGC,uCAAA,4CAEC,MAAA,SH7EJ,yCACC,0BGsEC,iBAAA,QACA,MAAA,QAGC,wCAAA,6CAEC,MAAA,SAMJ,gBACC,MAAA,QACA,aAAA,QH3FD,wCACC,sBG6FC,iBAAA,QACA,MAAA,QAGC,oCAAA,yCAEC,MAAA,SH9FJ,yCACC,uBGuFC,iBAAA,QACA,MAAA,QAGC,qCAAA,0CAEC,MAAA,SAMJ,gBACC,MAAA,QACA,aAAA,QH5GD,wCACC,sBG8GC,iBAAA,QACA,MAAA,SH1GF,yCACC,uBGwGC,iBAAA,QACA,MAAA,SAIF,iBACC,MAAA,QACA,aAAA,QHtHD,wCACC,uBGwHC,iBAAA,QACA,MAAA,SHpHF,yCACC,wBGkHC,iBAAA,QACA,MAAA,SAIF,iBACC,MAAA,QACA,aAAA,QHhID,wCACC,uBGkIC,iBAAA,QACA,MAAA,SH9HF,yCACC,wBG4HC,iBAAA,QACA,MAAA,SAIF,cACC,MAAA,QACA,aAAA,QH1ID,wCACC,oBG4IC,iBAAA,QACA,MAAA,QAGC,kCAAA,uCAEC,MAAA,SH7IJ,yCACC,qBGsIC,iBAAA,QACA,MAAA,QAGC,mCAAA,wCAEC,MAAA,SAMJ,mCACC,MAAA,QACA,aAAA,sBACA,iBAAA,QACA,OAAA,YACA,QAAA,IAGC,iDAAA,sDAEC,MAAA,QHnKH,wCACC,yCGuKC,iBAAA,QACA,MAAA,QAGC,uDAAA,4DAEC,MAAA,SHxKJ,yCACC,0CGiKC,iBAAA,QACA,MAAA,QAGC,wDAAA,6DAEC,MAAA,SAMF,iEAAA,sEAEC,KAAA,MAKH,eACC,UAAA,KACA,YAAA,IACA,WAAA,KACA,QAAA,IAAA,IAEA,yBACC,kBAAA,KAEA,6BAAA,kCAEC,IAAA,EACA,KAAA,MACA,UAAA,KAIA,2CAAA,gDACC,UAAA,KAMJ,eACC,UAAA,KACA,YAAA,IACA,WAAA,KACA,QAAA,KAAA,KAGD,mBACC,MAAA,kBACA,aAAA,kBACA,iBAAA,kBAEA,uBAAA,4BACC,UAAA,KACA,iBAAA,IAAA,IACC,UAAA,UAAA,KAAA,OAAA,SAKJ,UACC,QAAA,KACA,gBAAA,OACA,YAAA,OACA,MAAA,KACA,OAAA,KAEA,WAAA,IACA,MAAA,QACA,UAAA,KACA,OAAA,IAAA,MAAA,YACA,OAAA,QAEA,oBAAA,IACA,2BAAA,KACA,oBAAA,KJqzB2B,CIrzB3B,UJqzBuC,CIrzBvC,aAEA,wBC3LC,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,oCG8PE,MAAA,QACA,aAAA,SH1PH,yCACC,qCGwPE,MAAA,QACA,aAAA,SAIF,mBAAA,oBAEC,MAAA,QACA,aAAA,YACA,iBAAA,YACA,OAAA,YACA,QAAA,IH1QF,wCACC,6CAAA,8CG6QG,MAAA,QACA,aAAA,aHzQJ,yCACC,8CAAA,+CGuQG,MAAA,QACA,aAAA,aAMJ,aACC,MAAA,KACA,OAAA,KACA,UAAA,KExRF,YACC,MAAA,KACA,UAAA,MAEA,mBACC,QAAA,KACA,eAAA,OACA,UAAA,KACA,MAAA,KACA,SAAA,SACA,MAAA,QAEA,uBACC,SAAA,SACA,MAAA,QACA,KAAA,EACA,OAAA,IACA,UAAA,KACA,OAAA,KACA,QAAA,YACA,YAAA,OACA,MAAA,KACA,gBAAA,OACA,oBAAA,IACA,oBAAA,KNulCyB,CMvlCzB,KAGD,0BACC,WAAA,KACA,YAAA,eNslC2B,CMtlC3B,UACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,MACA,QAAA,KAAA,KACA,WAAA,IACA,cAAA,EACA,aAAA,IACA,oBAAA,IACA,aAAA,MACA,aAAA,QACA,MAAA,QACA,iBAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,gBNslCoC,CMtlCpC,YNslCkD,CMtlClD,ML7CF,wCACC,gCK+CE,oBAAA,SL1CH,yCACC,iCKyCE,oBAAA,SAGD,gCDUD,QAAA,IAAA,MAAA,QACA,eAAA,ICTE,aAAA,QACA,iBAAA,YAGD,mCACC,MAAA,QACA,aAAA,sBACA,WAAA,QACA,OAAA,YACA,QAAA,IAGD,oCACC,MAAA,QACA,aAAA,sBACA,WAAA,sBAGD,4CACC,MAAA,QADD,uCACC,MAAA,QAGD,wDAAA,qDAAA,yDAAA,6DAIC,QAAA,KACA,mBAAA,KAGD,qCAAA,+CAAA,sCAAA,qCAIC,aAAA,KACA,OAAA,QACA,UAAA,EACA,cAAA,KACA,eAAA,UAGD,wEAAA,kFAAA,yEAAA,wEAIC,MAAA,KACA,OAAA,KACA,OAAA,EACA,QAAA,EACA,WAAA,IACA,OAAA,QACA,QAAA,EAGD,4DAAA,sEAAA,6DAAA,4DAIC,QAAA,EAGD,2EAAA,qFAAA,4EAAA,2EAIC,MAAA,QAIF,kCACC,OAAA,MACA,YAAA,KACA,OAAA,KAGD,8BAAA,4CAEC,aAAA,KAGD,gCACC,WAAA,IAGD,2BACC,MAAA,KACA,OAAA,KACA,WAAA,EAGA,WAAA,KACA,mBAAA,KACA,gBAAA,KAEA,iCACC,QAAA,EAGD,kCACC,MAAA,QACA,WAAA,QAIF,uCACC,QAAA,GACA,SAAA,SACA,MAAA,KACA,OAAA,KACA,UAAA,iBAEA,MAAA,EACA,OAAA,EACA,YAAA,IAAA,MAAA,YACA,aAAA,IAAA,MAAA,YACA,WAAA,KAAA,MAAA,QAEA,eAAA,KAIA,4CACC,aAAA,QAGD,qCACC,MAAA,QAKD,8CACC,aAAA,QAGD,uCACC,MAAA,QAKD,8CACC,aAAA,QAGD,uCACC,MAAA,QAKH,wBACC,UAAA,KACA,WAAA,IAEA,4BACC,SAAA,SACA,IAAA,IAGD,8BACC,MAAA,QAKH,WACC,QAAA,KACA,sBAAA,wBACA,IAAA,KACA,MAAA,KACA,UAAA,MAGD,UACC,MAAA,KACA,UAAA,MACA,OAAA,EACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAGD,QACC,QAAA,IAAA,IACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UAGD,aACC,QAAA,YACA,YAAA,OACA,IAAA,IACA,WAAA,KACA,QAAA,IAAA,KACA,OAAA,IAAA,MAAA,QACA,kBAAA,IACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,eAAA,UACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KN6iC2B,CM7iC3B,UN6iCuC,CM7iCvC,aAEA,8BACC,SAAA,SACA,MAAA,IACA,OAAA,IACA,SAAA,OACA,KAAA,cACA,YAAA,OL/QD,wCACC,mBKkRA,MAAA,QACA,WAAA,SL9QD,yCACC,oBK4QA,MAAA,QACA,WAAA,SAGD,0BD1NC,QAAA,IAAA,MAAA,QACA,eAAA,IC8NF,mBACC,MAAA,KACA,UAAA,MD5NC,WAAA,QACA,OAAA,IAAA,MAAA,sBAGE,kBAAA,IC4NJ,kBACC,QAAA,KACA,eAAA,OACA,IAAA,KACA,OAAA,EAGD,oBACC,QAAA,KACA,YAAA,WACA,gBAAA,cACA,IAAA,KACA,QAAA,KAAA,KAAA,EAGD,qBACC,QAAA,KACA,eAAA,OACA,IAAA,IACA,UAAA,EAGD,mBACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,eAAA,UAGD,yBACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IAGD,sBACC,QAAA,KACA,sBAAA,KAAA,cACA,YAAA,OACA,IAAA,KACA,OAAA,EAAA,KACA,QAAA,KACA,OAAA,IAAA,OAAA,QACA,WAAA,sBACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,UNqjCgC,CMrjChC,aAEA,uCACC,SAAA,SACA,MAAA,IACA,OAAA,IACA,SAAA,OACA,KAAA,cACA,YAAA,OL5VD,wCACC,4BK+VA,aAAA,QACA,WAAA,sBL3VD,yCACC,6BKyVA,aAAA,QACA,WAAA,sBAGD,mCDvSC,QAAA,IAAA,MAAA,QACA,eAAA,IC2SF,kBACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,MAAA,QACA,WAAA,QACA,UAAA,KAGD,kBACC,QAAA,KACA,eAAA,OACA,IAAA,IACA,UAAA,EAGD,qBACC,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,eAAA,UAGD,uBACC,MAAA,QACA,UAAA,KACA,YAAA,IAGD,qBACC,QAAA,KACA,sBAAA,oCACA,IAAA,KACA,OAAA,EAAA,KAEA,6BACC,QAAA,KAIF,0BACC,SAAA,SACA,UAAA,EACA,OAAA,EACA,OAAA,IAAA,MAAA,sBACA,WAAA,QAGD,4BACC,SAAA,SACA,IAAA,IACA,MAAA,IACA,QAAA,EACA,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,QAAA,EACA,OAAA,IAAA,MAAA,QACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KN0jC2B,CM1jC3B,UN0jCuC,CM1jCvC,aL9aA,wCACC,kCKgbA,MAAA,QACA,WAAA,SL5aD,yCACC,mCK0aA,MAAA,QACA,WAAA,SAGD,0CDxXC,QAAA,IAAA,MAAA,QACA,eAAA,IC4XF,4BACC,QAAA,KACA,YAAA,OACA,gBAAA,OACA,aAAA,EACA,WAAA,QAGD,gCACC,QAAA,MACA,MAAA,KACA,OAAA,KACA,cAAA,MAAA,WAAA,MAGD,0BACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,UAAA,KACA,WAAA,KACA,QAAA,IACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UAGD,qCACC,QAAA,KACA,eAAA,OACA,IAAA,IACA,SAAA,OACA,QAAA,IAGD,0BACC,SAAA,OACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,cAAA,SACA,YAAA,OAGD,0BACC,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,eAAA,UAGD,qBACC,QAAA,KACA,UAAA,KACA,gBAAA,SACA,IAAA,IACA,QAAA,EAAA,KAAA,KAGD,OACC,MAAA,KACA,UAAA,MACA,aAAA,QAEA,yBACC,mBAAA,KACA,gBAAA,KAAA,WAAA,KACA,MAAA,KACA,OAAA,KACA,OAAA,EACA,WAAA,IACA,OAAA,QAGD,wDACC,OAAA,IACA,WAAA,uBACA,OAAA,IAAA,MAAA,sBAGD,+CACC,MAAA,KACA,OAAA,KACA,WAAA,gBACA,OAAA,IAAA,MAAA,QACA,WAAA,QACA,mBAAA,KAGD,2CACC,OAAA,IACA,WAAA,uBACA,OAAA,IAAA,MAAA,sBAGD,2CACC,MAAA,KACA,OAAA,KACA,OAAA,IAAA,MAAA,QACA,cAAA,EACA,WAAA,QL1fA,yBK+fD,WACC,sBAAA,IAGD,oBACC,eAAA,OACA,YAAA,QAGD,sBACC,sBAAA,IAGD,qBACC,gBAAA,QAEA,0BACC,MAAA,MAKH,OACC,QAAA,YACA,eAAA,IACA,IAAA,IACA,YAAA,OAEA,yBACC,QAAA,KAGD,sBACC,QAAA,aACA,cAAA,KACA,OAAA,IAAA,MAAA,QACA,MAAA,KACA,OAAA,KACA,WAAA,IACA,oBAAA,IACA,oBAAA,UNwjC+B,CMxjC/B,aLhlBD,wCKolBC,4BACC,WAAA,SL/kBF,yCK8kBC,6BACC,WAAA,SAIF,gDACC,WAAA,QAGD,iDACC,WAAA,QACA,aAAA,QAGD,sDDriBC,QAAA,IAAA,MAAA,QACA,eAAA,ICwiBD,oBACC,UAAA,KAID,aACC,QAAA,KACA,UAAA,KACA,IAAA,KACA,YAAA,OAGF,QACC,QAAA,YACA,eAAA,IACA,IAAA,IACA,YAAA,OAEA,6BACC,QAAA,KAGD,wBACC,OAAA,KACA,MAAA,KACA,OAAA,IAAA,MAAA,QACA,SAAA,SACA,WAAA,IACA,oBAAA,IACA,oBAAA,YNujCiC,CMvjCjC,WACA,QAAA,MAGD,+BACC,QAAA,GACA,QAAA,MACA,OAAA,KACA,MAAA,KACA,WAAA,QACA,SAAA,SACA,KAAA,KACA,IAAA,KACA,oBAAA,IACA,oBAAA,INsjCyB,CMtjCzB,WLjpBD,wCKqpBC,8BACC,WAAA,SLhpBF,yCK+oBC,+BACC,WAAA,SAIF,oEACC,WAAA,QACA,aAAA,QAGD,4DACC,KAAA,KAGD,sDACC,aAAA,QAGD,2DD1mBC,QAAA,IAAA,MAAA,QACA,eAAA,IC6mBD,6DACC,WAAA,QAIF,UACC,QAAA,YACA,eAAA,IACA,IAAA,IACA,YAAA,OAEA,+BACC,QAAA,KAGD,4BACC,MAAA,KACA,OAAA,KACA,OAAA,IAAA,MAAA,QACA,SAAA,SACA,WAAA,IACA,oBAAA,IACA,oBAAA,YNojCiC,CMpjCjC,WACA,QAAA,MAGD,mCACC,QAAA,GACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,WAAA,QACA,SAAA,SACA,KAAA,EACA,IAAA,EACA,UAAA,SACA,oBAAA,IACA,oBAAA,ULhtBD,wCKotBC,kCACC,WAAA,SL/sBF,yCK8sBC,mCACC,WAAA,SAIF,wEACC,aAAA,QAGD,gEACC,UAAA,SAGD,0DACC,aAAA,QAGD,+DDxqBC,QAAA,IAAA,MAAA,QACA,eAAA,IE9DF,aACC,QAAA,KACA,YAAA,QACA,MAAA,KACA,UAAA,MACA,WAAA,KACA,OAAA,IAAA,MAAA,QACA,oBAAA,IACA,WAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,YP6xDkC,CO7xDlC,WAEA,0BFgDC,QAAA,IAAA,MAAA,QACA,eAAA,IE/CA,aAAA,QACA,WAAA,IAGD,iCAAA,gCAEC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,UAAA,KACA,QAAA,EAAA,KACA,MAAA,QACA,WAAA,uBACA,OAAA,EACA,YAAA,eP6xD4B,CO7xD5B,UACA,UAAA,KACA,YAAA,IACA,eAAA,UAGD,iCACC,MAAA,QACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KP4xD0B,CO5xD1B,WAGD,gCACC,KAAA,EAAA,EAAA,KACA,UAAA,EACA,OAAA,EACA,QAAA,KAAA,KACA,MAAA,QACA,WAAA,IACA,YAAA,eP2xD4B,CO3xD5B,UACA,UAAA,KACA,YAAA,IACA,eAAA,MAEA,sCACC,QAAA,EAGD,kDACC,MAAA,QADD,6CACC,MAAA,QAGD,8DAAA,2DAAA,+DAAA,mEAIC,QAAA,KACA,mBAAA,KAIF,iBAAA,sBAEC,UAAA,KAGD,iCACC,WAAA,KAEA,qDAAA,oDAEC,UAAA,KAGD,oDACC,QAAA,IAAA,KACA,UAAA,KAKH,cACC,UAAA,MC7FD,MACC,QAAA,KACA,eAAA,OACA,IAAA,IACA,gBAAA,KACA,aAAA,EAEA,iBACC,QAAA,KACA,eAAA,IACA,YAAA,OACA,IAAA,IACA,YAAA,EAGD,mBACC,gBAAA,QACA,QAAA,UACA,YAAA,KAEA,8BACC,QAAA,UAIF,sBACC,MAAA,KACA,UAAA,MACA,IAAA,EACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAEA,gCACC,QAAA,KACA,sBAAA,qBAAA,cACA,IAAA,KACA,YAAA,MACA,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,sBACA,oBAAA,IACA,2BAAA,KACA,oBAAA,URg3D8B,CQh3D9B,aAEA,2CACC,QAAA,YACA,MAAA,iBAAA,MAAA,YACA,UAAA,KACA,OAAA,EACA,QAAA,IAAA,IACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UACA,oBAAA,IACA,2BAAA,KACA,oBAAA,URi3D6B,CQj3D7B,UAGD,2CACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KRg3DwB,CQh3DxB,UAGD,2CACC,cAAA,EPxEH,wCACC,sCO2EE,WAAA,uBAEA,iDACC,WAAA,QACA,UAAA,gBAGD,iDACC,MAAA,QACA,UAAA,iBP/EJ,yCACC,uCOqEE,WAAA,uBAEA,kDACC,WAAA,QACA,UAAA,gBAGD,kDACC,MAAA,QACA,UAAA,iBAYJ,eACC,UAAA,MACA,MAAA,KACA,IAAA,EAEA,0BACC,QAAA,KACA,eAAA,OACA,YAAA,WACA,OAAA,KACA,OAAA,EAEA,uCACC,QAAA,KACA,gBAAA,cACA,YAAA,OAEA,MAAA,KACA,OAAA,KACA,QAAA,IAAA,KACA,OAAA,IAAA,MAAA,YAEA,UAAA,KACA,WAAA,QACA,MAAA,QACA,OAAA,QAEA,oBAAA,IACA,2BAAA,KACA,oBAAA,UR+2D6B,CQ/2D7B,YR+2D2C,CQ/2D3C,MAEA,qDHnEF,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,6COoIG,WAAA,QACA,MAAA,SPhIJ,yCACC,8CO8HG,WAAA,QACA,MAAA,SAGD,mDACC,QAAA,KACA,eAAA,IACA,IAAA,IACA,YAAA,OACA,eAAA,EACA,YAAA,IAGD,kDACC,QAAA,IACA,WAAA,QACA,MAAA,QACA,QAAA,KAKD,wDACC,WAAA,QACA,MAAA,QACA,aAAA,QAMJ,mBACC,MAAA,KACA,UAAA,MACA,IAAA,KAEA,8BACC,gBAAA,cACA,YAAA,WACA,QAAA,KAAA,EACA,cAAA,IAAA,MAAA,sBAEA,4CACC,QAAA,KACA,eAAA,OACA,IAAA,IAEA,wDACC,UAAA,KACA,YAAA,EAGD,2DACC,MAAA,QP1LJ,wCOmMG,gDACC,MAAA,SP9LJ,yCO6LG,iDACC,MAAA,SP3JH,yBOqKC,gCACC,sBAAA,IACA,IAAA,KChNJ,OACC,SAAA,SACA,SAAA,OACA,WAAA,QACA,MAAA,QACA,QAAA,IAAA,IACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,MACA,eAAA,UACA,QAAA,YACA,YAAA,OACA,WAAA,KACA,oBAAA,IACA,2BAAA,KACA,oBAAA,MT0jE4B,CS1jE5B,ST0jEuC,CS1jEvC,YT0jEqD,CS1jErD,KT0jE4D,CS1jE5D,WAEA,cACC,QAAA,GACA,SAAA,SACA,MAAA,EAAA,KAAA,EAAA,EACA,MAAA,IACA,WAAA,kEACA,QAAA,EACA,eAAA,KACA,UAAA,kBR1BD,wCACC,aQ6BA,OAAA,eACA,UAAA,iBAEA,oBACC,QAAA,EACA,UAAA,gBAAA,IAAA,MR7BF,yCACC,cQuBA,OAAA,eACA,UAAA,iBAEA,qBACC,QAAA,EACA,UAAA,gBAAA,IAAA,MAIF,qBACC,WAAA,QAGD,qBACC,WAAA,QAGD,oBAAA,mBAEC,WAAA,QAGD,kBACC,WAAA,QACA,MAAA,QAGD,uBACC,WAAA,QACA,MAAA,QAGD,6BACC,MAAA,QACA,OAAA,IAAA,MAAA,QACA,WAAA,IACA,QAAA,IAAA,IClEF,YACC,QAAA,KACA,UAAA,KACA,IAAA,IACA,YAAA,OAGD,MACC,QAAA,YACA,YAAA,OACA,IAAA,IACA,WAAA,KACA,QAAA,IAAA,KACA,OAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,QACA,YAAA,eVkoE6B,CUloE7B,UACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KVkoE2B,CUloE3B,UVkoEuC,CUloEvC,YVkoEqD,CUloErD,QAEA,UAAA,eAEC,UAAA,KAGD,cACC,QAAA,GACA,QAAA,aACA,MAAA,IACA,OAAA,IACA,KAAA,EAAA,EAAA,KACA,WAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,UVioE+B,CUjoE/B,UVioE2C,CUjoE3C,UAGD,uBAAA,4BAEC,QAAA,KAGD,mBACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,aAAA,KACA,OAAA,EACA,MAAA,QACA,WAAA,IACA,KAAA,QACA,OAAA,QAEA,iCLCA,QAAA,IAAA,MAAA,QACA,eAAA,IKGD,mBACC,MAAA,QACA,WAAA,sBACA,aAAA,QAEA,2BACC,WAAA,QAIF,qBACC,MAAA,QACA,WAAA,sBACA,aAAA,QAEA,6BACC,WAAA,QAIF,mBACC,MAAA,QACA,WAAA,sBACA,aAAA,QAEA,2BACC,WAAA,QAIF,mBACC,MAAA,QACA,WAAA,sBACA,aAAA,QAEA,2BACC,WAAA,QAIF,kBAAA,iBAEC,MAAA,QACA,WAAA,sBACA,aAAA,QAEA,0BAAA,yBACC,WAAA,QAIF,oBAAA,yBAAA,0BAGC,MAAA,QACA,WAAA,QACA,aAAA,QAEA,4BAAA,iCAAA,kCACC,WAAA,QAIF,wCAAA,yCAAA,mCAGC,WAAA,QACA,aAAA,QAGD,oBAAA,eAEC,MAAA,QACA,WAAA,QACA,aAAA,sBACA,OAAA,YACA,QAAA,GAEA,4BAAA,uBACC,WAAA,QAKH,OAAA,YAEC,OAAA,QAEA,qBAAA,0BL5FC,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,aAAA,kBS6JA,MAAA,QACA,WAAA,uBACA,aAAA,QAEA,qBAAA,0BACC,WAAA,QACA,UAAA,eAAA,IAAA,KACA,UAAA,aT/JF,yCACC,cAAA,mBSuJA,MAAA,QACA,WAAA,uBACA,aAAA,QAEA,sBAAA,2BACC,WAAA,QACA,UAAA,eAAA,IAAA,KACA,UAAA,aCrKH,QACC,SAAA,SACA,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,KAAA,EAAA,EAAA,KACA,SAAA,OACA,OAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,QACA,YAAA,eXmyE6B,CWnyE7B,UACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UAEA,YACC,MAAA,KACA,OAAA,KACA,cAAA,MAAA,WAAA,MAGD,YAAA,iBAEC,UAAA,KAGD,uBACC,SAAA,SACA,MAAA,KACA,OAAA,KACA,MAAA,KACA,OAAA,KACA,OAAA,IAAA,MAAA,QACA,WAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,UXkyE+B,CWlyE/B,WAGD,kBACC,MAAA,KACA,OAAA,KACA,UAAA,KAEA,sBAAA,2BAEC,UAAA,KAIF,kBACC,MAAA,KACA,OAAA,KACA,UAAA,KAEA,sBAAA,2BAEC,UAAA,KAIF,yBACC,WAAA,QAGD,uBACC,WAAA,QAGD,uBACC,WAAA,QAGD,sBAAA,qBAEC,WAAA,QAGD,uBACC,MAAA,QACA,WAAA,QACA,aAAA,QAGD,iCACC,WAAA,QACA,UAAA,eAAA,KAAA,KAAA,SAGD,+BACC,WAAA,QAGD,kCACC,WAAA,QAIF,UACC,QAAA,YACA,YAAA,OACA,IAAA,KACA,UAAA,EAGD,kBACC,QAAA,KACA,eAAA,OACA,IAAA,IACA,UAAA,EAGD,gBACC,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,EAGD,eACC,MAAA,QACA,UAAA,KACA,YAAA,IAGD,cACC,QAAA,YACA,YAAA,OAEA,sBACC,aAAA,KACA,aAAA,QAGD,kCACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,UAAA,KACA,OAAA,KACA,QAAA,EAAA,IACA,OAAA,IAAA,MAAA,QACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,ICpJF,OACC,MAAA,KACA,WAAA,KACA,OAAA,IAAA,MAAA,sBACA,gBAAA,SACA,WAAA,QAEA,sBACC,WAAA,KACA,UAAA,KACA,WAAA,QACA,MAAA,iBAAA,MAAA,YACA,MAAA,QACA,QAAA,IAAA,KACA,cAAA,EACA,YAAA,IACA,eAAA,UAGD,mBACC,MAAA,KAEA,6BACC,MAAA,KACA,QAAA,KACA,UAAA,KACA,MAAA,QACA,WAAA,KAKD,qBAAA,qBAEC,QAAA,KAAA,KACA,UAAA,KACA,eAAA,OACA,cAAA,IAAA,MAAA,sBAGD,qBACC,MAAA,QACA,WAAA,sBACA,eAAA,UACA,eAAA,MAIF,mBACC,cAAA,IAAA,MAAA,QAIA,8BACC,oBAAA,IACA,2BAAA,KACA,oBAAA,UZk6E8B,CYl6E9B,MAEA,iCACC,oBAAA,IACA,2BAAA,KACA,oBAAA,KZk6EwB,CYl6ExB,WX7DH,wCACC,oCWgEE,WAAA,sBAEA,mDACC,MAAA,SX9DJ,yCACC,qCW0DE,WAAA,sBAEA,oDACC,MAAA,SAOH,sBAAA,sBAEC,YAAA,KAKD,oCACC,UAAA,KAIA,mCAAA,mCAEC,QAAA,IAAA,KACA,UAAA,KAIF,sCACC,MAAA,QACA,YAAA,eZ+5E2B,CY/5E3B,UACA,eAAA,EAGD,yCACC,MAAA,GACA,YAAA,OAKH,eACC,MAAA,KACC,WAAA,KC7GF,SACC,QAAA,KACA,UAAA,KACA,YAAA,OACA,gBAAA,cACA,IAAA,KACA,MAAA,KACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAEA,wBACC,QAAA,KACA,UAAA,KACA,YAAA,OACA,IAAA,IACA,UAAA,EAGD,wBACC,OAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UAGD,uBACC,MAAA,QACA,UAAA,KAIF,YACC,QAAA,KACA,UAAA,KACA,YAAA,OACA,IAAA,IAEA,6BACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,UAAA,KACA,OAAA,KACA,QAAA,EAAA,KACA,OAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,QACA,YAAA,ebygF4B,CazgF5B,UACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KbygF0B,CazgF1B,UbygFsC,CazgFtC,YbygFoD,CazgFpD,QAEA,2CREA,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,mCY+DC,MAAA,QACA,WAAA,QACA,aAAA,SZ5DF,yCACC,oCYyDC,MAAA,QACA,WAAA,QACA,aAAA,SAGD,oDAAA,gDAEC,MAAA,QACA,WAAA,QACA,aAAA,QAGD,sDAAA,sCAEC,MAAA,QACA,WAAA,QACA,aAAA,sBACA,OAAA,YACA,QAAA,IAIF,iCACC,MAAA,QACA,QAAA,EAAA,IAIF,aACC,UAAA,MACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAEA,+BACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,cAAA,KACA,MAAA,QACA,WAAA,QACA,UAAA,KAGD,gCACC,OAAA,EAAA,EAAA,IACA,UAAA,KACA,YAAA,IACA,eAAA,UAGD,+BACC,UAAA,MACA,OAAA,EAAA,EAAA,KACA,MAAA,QACA,YAAA,IAGD,kCACC,QAAA,KACA,UAAA,KACA,IAAA,IAGD,+BACC,aAAA,QAEA,iDACC,WAAA,QAKH,UACC,QAAA,MACA,SAAA,SACA,SAAA,OACA,WAAA,uBAEA,iBACC,QAAA,GACA,SAAA,SACA,MAAA,EACA,UAAA,kBACA,WAAA,qEAMA,UAAA,iBAAA,KAAA,SAGD,wBACC,MAAA,KACA,OAAA,KAGD,yBACC,MAAA,IACA,OAAA,KAGD,yBACC,MAAA,KACA,OAAA,MAGD,0BACC,MAAA,KACA,OAAA,KAIF,gBACC,QAAA,KACA,eAAA,OACA,IAAA,KACA,UAAA,MACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,WAAA,QAGD,4BACC,KACC,UAAA,kBCjMF,aACC,SAAA,SACA,QAAA,KACA,UAAA,KACA,YAAA,SACA,gBAAA,cACA,IAAA,KACA,MAAA,KACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QACA,SAAA,OACA,UAAA,WAAA,KAAA,KAAA,KAEA,oBACC,QAAA,GACA,SAAA,SACA,IAAA,EACA,KAAA,EACA,MAAA,IACA,OAAA,IACA,WAAA,uDACA,QAAA,IACA,eAAA,KACA,UAAA,kBbzBD,wCa6BC,0BACC,UAAA,gBAAA,IAAA,MbxBF,yCauBC,2BACC,UAAA,gBAAA,IAAA,MAIF,kCACC,QAAA,KACA,eAAA,OACA,IAAA,IACA,UAAA,gBAGD,iCACC,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UACA,oBAAA,IACA,2BAAA,KACA,oBAAA,MAGD,gCACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,KAGD,mCACC,UAAA,MACA,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IAGD,+BACC,QAAA,KACA,UAAA,KACA,YAAA,OACA,IAAA,IACA,MAAA,QACA,UAAA,KAGD,kCACC,QAAA,KACA,UAAA,KACA,YAAA,OACA,gBAAA,SACA,IAAA,IAGD,iCACC,YAAA,OACA,QAAA,KAEA,oDACC,UAAA,KAIF,gCACC,aAAA,QACA,WAAA,uBChGF,kBACC,QAAA,KACA,MAAA,KACA,UAAA,MACA,OAAA,EACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAEA,wCACC,QAAA,KACA,sBAAA,qBAAA,cACA,IAAA,KACA,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,sBACA,oBAAA,IACA,2BAAA,KACA,oBAAA,WAEA,mDACC,cAAA,EdpBF,wCACC,8CcuBC,WAAA,uBAEA,qEACC,MAAA,QAGD,sEACC,UAAA,iBdzBH,yCACC,+CciBC,WAAA,uBAEA,sEACC,MAAA,QAGD,uEACC,UAAA,iBAKH,yCACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,eAAA,UACA,oBAAA,IACA,2BAAA,KACA,oBAAA,MAGD,0CACC,QAAA,KACA,UAAA,KACA,YAAA,OACA,IAAA,IACA,UAAA,EACA,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,oBAAA,IACA,2BAAA,KACA,oBAAA,UAGD,gDACC,MAAA,QAGD,2CACC,UAAA,MAEA,iEACC,sBAAA,qBAAA,cACA,IAAA,KACA,QAAA,IAAA,KAGD,kEAAA,mEAEC,UAAA,KdrCD,yBc4CA,wCACC,sBAAA,IACA,IAAA,KCvFH,OACC,QAAA,KACA,sBAAA,wBACA,IAAA,KACA,MAAA,KACA,UAAA,MACA,OAAA,EACA,QAAA,EACA,WAAA,KAEA,aACC,SAAA,SACA,QAAA,KACA,eAAA,OACA,IAAA,IACA,WAAA,MACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAGD,oBACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,MAAA,QACA,OAAA,IAAA,MAAA,sBACA,UAAA,KACA,YAAA,IACA,YAAA,EAGD,mBACC,OAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,eAAA,UAGD,kBACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IAGD,sBACC,aAAA,QAEA,mCACC,MAAA,QACA,WAAA,QACA,aAAA,QAIF,qBACC,aAAA,QAEA,kCACC,MAAA,QACA,WAAA,QACA,aAAA,QAIF,sBACC,QAAA,IAGD,sBACC,sBAAA,IACA,UAAA,MACA,IAAA,EAEA,4BACC,WAAA,KACA,oBAAA,EAEA,uCACC,oBAAA,If3CF,0BekDD,OACC,sBAAA,yBfnDA,yBewDD,OACC,sBAAA,KClGF,UACC,QAAA,KACA,IAAA,EACA,MAAA,KACA,UAAA,MACA,OAAA,EACA,QAAA,EACA,WAAA,KAEA,yBACC,SAAA,SACA,QAAA,KACA,sBAAA,KAAA,cACA,IAAA,KACA,WAAA,KAGD,iCACC,QAAA,GACA,SAAA,SACA,IAAA,KACA,OAAA,EACA,KAAA,KACA,MAAA,IACA,WAAA,sBAGD,4CACC,QAAA,KAGD,2BACC,SAAA,SACA,QAAA,EACA,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,OAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,oBAAA,IACA,2BAAA,KACA,oBAAA,YjB68FiC,CiB78FjC,UjB68F6C,CiB78F7C,KjB68FoD,CiB78FpD,UjB68FgE,CiB78FhE,UAGD,4BACC,UAAA,EACA,QAAA,EAAA,EAAA,KAGD,yBACC,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,YjB28FiC,CiB38FjC,UjB28F6C,CiB38F7C,UAGD,2BACC,QAAA,KACA,UAAA,KACA,YAAA,OACA,gBAAA,cACA,IAAA,IACA,cAAA,IAGD,0BACC,OAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,eAAA,UAGD,yBACC,MAAA,QACA,UAAA,KACA,YAAA,ejBw8F4B,CiBx8F5B,UACA,YAAA,IAGD,yBACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IAGD,yBACC,QAAA,KACA,UAAA,KACA,IAAA,IACA,WAAA,KAIA,gDAAA,kDAEC,aAAA,QAGD,kDACC,MAAA,QACA,WAAA,QAKD,gDAAA,kDAEC,aAAA,QAGD,kDACC,MAAA,QACA,WAAA,QAMD,+CAAA,iDAAA,8CAAA,gDAEC,aAAA,QAGD,iDAAA,gDACC,MAAA,QACA,WAAA,QhBtIF,wCgB4IE,gDACC,WAAA,EAAA,EAAA,EAAA,IAAA,sBACA,UAAA,YAGD,8CACC,WAAA,uBACA,UAAA,iBhB7IH,yCgBsIE,iDACC,WAAA,EAAA,EAAA,EAAA,IAAA,sBACA,UAAA,YAGD,+CACC,WAAA,uBACA,UAAA,iBAMJ,cACC,QAAA,KACA,MAAA,KACA,UAAA,MACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAEA,gCACC,QAAA,KACA,sBAAA,qBAAA,cAAA,KACA,IAAA,KACA,YAAA,OACA,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,sBACA,oBAAA,IACA,2BAAA,KACA,oBAAA,WAEA,2CACC,cAAA,EhB7KF,wCACC,sCgBgLC,WAAA,wBhB3KF,yCACC,uCgB0KC,WAAA,wBAIF,iCACC,MAAA,QACA,YAAA,ejBq8F4B,CiBr8F5B,UACA,UAAA,KAGD,kCACC,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,IhBtJA,yBgB4JA,gCACC,sBAAA,IACA,IAAA,KCvMH,WACC,QAAA,KACA,MAAA,KACA,UAAA,MACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAGD,gBACC,cAAA,IAAA,MAAA,sBACA,SAAA,OAEA,2BACC,cAAA,EAIA,yCACC,MAAA,QACA,WAAA,QAGD,sCACC,UAAA,eAKH,mBACC,QAAA,KACA,MAAA,KACA,YAAA,OACA,gBAAA,cACA,IAAA,KACA,WAAA,KACA,QAAA,KAAA,KACA,OAAA,EACA,MAAA,QACA,WAAA,IACA,OAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KlBuoG2B,CkBvoG3B,WAEA,2CACC,QAAA,KAGD,2BACC,QAAA,GAGD,iCbIC,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,yBiB6DA,MAAA,QACA,WAAA,SjBzDD,yCACC,0BiBuDA,MAAA,QACA,WAAA,SAIF,2BACC,QAAA,KACA,YAAA,OACA,IAAA,IACA,UAAA,EAGD,gBACC,KAAA,EAAA,EAAA,KACA,UAAA,KACA,oBAAA,IACA,oBAAA,UAGD,iBACC,SAAA,OACA,QAAA,KACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,oBAAA,KACA,2BAAA,KACA,oBAAA,MlB4oG4B,CkB5oG5B,OlB4oGqC,CkB5oGrC,UAEA,mBACC,WAAA,EAGD,8BACC,cAAA,EAIF,YACC,UAAA,MACA,OAAA,IAAA,MAAA,sBACA,WAAA,QAEA,+BACC,WAAA,KACA,QAAA,IAAA,KAGD,6BACC,QAAA,KC/GF,MACC,MAAA,KACA,UAAA,MAGD,WACC,QAAA,KACA,YAAA,QACA,IAAA,EACA,UAAA,KACA,WAAA,KACA,gBAAA,KAGD,KACC,SAAA,SACA,QAAA,YACA,YAAA,OACA,gBAAA,OACA,IAAA,IACA,WAAA,KACA,QAAA,KAAA,KACA,OAAA,EACA,aAAA,IAAA,MAAA,sBACA,cAAA,EACA,MAAA,QACA,WAAA,IACA,YAAA,enB2vG6B,CmB3vG7B,UACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UACA,YAAA,OACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KnB2vG2B,CmB3vG3B,UnB2vGuC,CmB3vGvC,QAEA,SAAA,cAEC,UAAA,KAGD,mBdkBC,QAAA,IAAA,MAAA,QACA,eAAA,IcjBA,QAAA,ElB7CD,wCACC,WkBgDA,MAAA,QACA,WAAA,SlB5CD,yCACC,YkB0CA,MAAA,QACA,WAAA,SAGD,cAAA,yBAEC,MAAA,QACA,OAAA,YACA,QAAA,IlBzDD,wCACC,oBAAA,+BkB2DC,MAAA,QACA,WAAA,KlBvDF,yCACC,qBAAA,gCkBqDC,MAAA,QACA,WAAA,KAKH,YAAA,yBAEC,MAAA,QACA,WAAA,QAOD,WACC,QAAA,KAEA,aACC,WAAA,EAGD,wBACC,cAAA,EAIF,kBACC,QAAA,MAGD,cACC,UAAA,MAEA,yBACC,kBAAA,IAGD,mBACC,WAAA,KACA,QAAA,IAAA,KAYF,eACC,sBAAA,oBAAA,cACA,YAAA,MAEA,0BACC,eAAA,OACA,WAAA,QAGD,oBACC,gBAAA,WACA,aAAA,EACA,cAAA,IAAA,MAAA,sBACA,WAAA,KlBrFA,yBkB0FD,eACC,sBAAA,IAEA,0BACC,eAAA,IACA,WAAA,KAGD,oBACC,gBAAA,OACA,aAAA,IAAA,MAAA,sBACA,cAAA,EACA,WAAA,QC/IH,QACC,SAAA,MACA,MAAA,EACA,QAAA,KACA,QAAA,KACA,gBAAA,SACA,eAAA,KAEA,yBACC,SAAA,MACA,MAAA,EACA,QAAA,KACA,WAAA,QACA,QAAA,EACA,oBAAA,KACA,2BAAA,KACA,oBAAA,QACA,eAAA,KAGD,sBACC,SAAA,SACA,QAAA,KACA,MAAA,wBACA,WAAA,MACA,QAAA,KACA,eAAA,OACA,IAAA,KACA,WAAA,QACA,YAAA,IAAA,MAAA,QACA,WAAA,MAAA,EAAA,KAAA,mBACA,QAAA,EACA,UAAA,iBACA,oBAAA,KACA,2BAAA,KACA,oBAAA,OpB84G4B,CoB94G5B,UACA,eAAA,KAGD,uBACC,QAAA,KACA,YAAA,OACA,gBAAA,cACA,cAAA,KACA,cAAA,IAAA,MAAA,sBAGD,sBACC,OAAA,EACA,QAAA,KAAA,KACA,WAAA,QACA,MAAA,QACA,eAAA,UACA,eAAA,MAGD,qBACC,KAAA,EACA,WAAA,KACA,QAAA,KAGD,uBACC,QAAA,KACA,WAAA,IAAA,MAAA,sBAEA,gCACC,QAAA,KACA,UAAA,KACA,gBAAA,SACA,IAAA,KACA,MAAA,KAIF,oBACC,gBAAA,WAEA,kCACC,YAAA,EACA,aAAA,IAAA,MAAA,QACA,WAAA,KAAA,EAAA,KAAA,mBACA,UAAA,kBAKD,gCACC,QAAA,IAGD,6BACC,QAAA,EACA,UAAA,cAKD,gCACC,QAAA,EAGD,6BACC,QAAA,EACA,UAAA,iBAGD,yCACC,UAAA,kBAKH,gBACC,QAAA,KACA,sBAAA,cAAA,oBACA,IAAA,KACA,YAAA,QACA,QAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAEA,wCACC,QAAA,KACA,eAAA,OACA,IAAA,KAGD,sCACC,QAAA,KACA,eAAA,OACA,IAAA,KACA,QAAA,KACA,OAAA,IAAA,MAAA,QACA,WAAA,QAGD,sCACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,eAAA,UAGD,qCACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IAIF,yBACC,gBACC,sBAAA,KC3JF,YACE,SAAA,OACA,IAAA,EACA,QAAA,IACA,QAAA,KACA,sBAAA,KAAA,cAAA,KACA,YAAA,OACA,WAAA,KACA,cAAA,IAAA,MAAA,sBACA,WAAA,mBACA,WAAA,EAAA,KAAA,KAAA,mBAGF,mBACE,QAAA,YACA,YAAA,OACA,WAAA,QACA,IAAA,IACA,UAAA,MACA,QAAA,EAAA,KACA,OAAA,EACA,aAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,QACA,YAAA,erBuhH4B,CqBvhH5B,UACA,UAAA,KACA,YAAA,IACA,eAAA,UACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KrBuhH0B,CqBvhH1B,WAEA,uBACE,MAAA,QACA,UAAA,KAGF,iChBuBA,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,yBoB0CE,MAAA,QACA,WAAA,QAEA,6BACE,MAAA,SpBzCL,yCACC,0BoBoCE,MAAA,QACA,WAAA,QAEA,8BACE,MAAA,SAKN,kBACE,QAAA,YACA,YAAA,OACA,IAAA,IACA,UAAA,EACA,QAAA,EAAA,KACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,eAAA,UAEA,sBACE,MAAA,KACA,OAAA,KAIJ,oBACE,UAAA,MACA,aAAA,KACA,QAAA,IAAA,IACA,OAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,WAAA,OACA,eAAA,UAGF,qBACE,SAAA,MACA,MAAA,EACA,QAAA,IACA,WAAA,QACA,QAAA,EACA,eAAA,KACA,oBAAA,KACA,2BAAA,KACA,oBAAA,QAGF,YACE,SAAA,MACA,MAAA,EAAA,KAAA,EAAA,EACA,QAAA,IACA,QAAA,KACA,eAAA,OACA,MAAA,iBACA,WAAA,MACA,aAAA,IAAA,MAAA,QACA,WAAA,QACA,WAAA,KAAA,EAAA,KAAA,mBACA,QAAA,EACA,SAAA,OACA,eAAA,KACA,UAAA,kBACA,oBAAA,KACA,2BAAA,KACA,oBAAA,OrB8hH4B,CqB9hH5B,UAEA,oBACE,QAAA,EACA,eAAA,KACA,UAAA,cAIJ,mBACE,QAAA,KACA,YAAA,OACA,gBAAA,cACA,IAAA,KACA,QAAA,KACA,cAAA,IAAA,MAAA,sBAGF,kBACE,QAAA,YACA,QAAA,IAAA,KACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,eAAA,UAGF,qBACE,WAAA,IACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,eAAA,UAGF,kBACE,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,QAAA,EACA,OAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,IACA,UAAA,KACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,KrB6hH0B,CqB7hH1B,UrB6hHsC,CqB7hHtC,aAEA,gChBtGA,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,wBoBuKE,MAAA,QACA,WAAA,QACA,aAAA,SpBpKH,yCACC,yBoBiKE,MAAA,QACA,WAAA,QACA,aAAA,SAIJ,iBACE,KAAA,EACA,WAAA,KACA,oBAAA,QACA,QAAA,KACA,gBAAA,KACA,gBAAA,QAAA,QAEA,oCACE,MAAA,IAGF,0CACE,WAAA,QAGF,0CACE,WAAA,QAGF,gCACE,UAAA,KAIJ,mBACE,QAAA,KACA,YAAA,OACA,gBAAA,cACA,IAAA,KACA,QAAA,KACA,WAAA,IAAA,MAAA,sBACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,eAAA,UAEA,qCACE,QAAA,MACA,gBAAA,KACA,MAAA,QACA,UAAA,EACA,KAAA,EAAA,EAAA,KACA,SAAA,OpB1NH,wCACC,2CoB4NI,MAAA,SpBvNL,yCACC,4CoBsNI,MAAA,SAKN,iBACE,SAAA,OAEA,sCACE,QAAA,IACA,eAAA,KpB9LF,yBoBmMA,mBACE,UAAA,KACA,QAAA,EAAA,KAGF,kBACE,cAAA,KACA,aAAA,KAGF,oBACE,UAAA,KACA,UAAA,EACA,aAAA,KACA,SAAA,OACA,cAAA,SACA,YAAA,OAGF,YACE,MAAA,MACA,aAAA,GAIJ,mBACE,MAAA,KACA,UAAA,MACA,SAAA,OACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,QAGF,0BACE,SAAA,SACA,QAAA,EACA,WAAA,KACA,WAAA,KAGF,wBACE,QAAA,KACA,sBAAA,MAAA,cACA,WAAA,MAGF,0BACE,SAAA,SACA,QAAA,EACA,MAAA,KACA,MAAA,KACA,WAAA,KACA,QAAA,EACA,eAAA,KACA,UAAA,KACA,WAAA,KAGF,2BACE,QAAA,KACA,eAAA,OACA,gBAAA,OACA,IAAA,KACA,UAAA,EACA,QAAA,KACA,YAAA,IAAA,MAAA,sBACA,WAAA,QAEA,8BACE,OAAA,EACA,MAAA,QACA,UAAA,KACA,eAAA,UAGF,6BACE,UAAA,MACA,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IpBpRF,yBoByRA,wBACE,sBAAA,IAGF,2BACE,WAAA,MACA,WAAA,IAAA,MAAA,sBACA,YAAA,GCzUJ,OACC,SAAA,MACA,QAAA,KACA,OAAA,OACA,MAAA,KACA,UAAA,MAEA,WAAA,QACA,OAAA,IAAA,MAAA,QACA,kBAAA,IACA,QAAA,EACA,QAAA,EACA,SAAA,OAEA,oBAAA,KACA,2BAAA,KACA,oBAAA,OtBw2H6B,CsBx2H7B,OAEA,cACC,OAAA,KACA,QAAA,EAGD,cACC,OAAA,MACA,QAAA,EAGD,sBACC,QAAA,KACA,eAAA,OACA,IAAA,EACA,QAAA,KAAA,KACA,cAAA,KAEA,oCACC,QAAA,KACA,YAAA,OACA,IAAA,IACA,UAAA,KACA,YAAA,IACA,eAAA,UACA,MAAA,QACA,YAAA,EAEA,wCACC,UAAA,KACA,YAAA,EAIF,kCACC,UAAA,KACA,QAAA,IAAA,EAAA,EACA,OAAA,EACA,MAAA,QACA,YAAA,IAIF,oBACC,SAAA,SACA,IAAA,IACA,MAAA,IACA,MAAA,QACA,MAAA,KACA,OAAA,KACA,aAAA,YACA,WAAA,IAGD,uBACC,OAAA,IACA,MAAA,KACA,WAAA,QACA,SAAA,OACA,WAAA,IAEA,2CACC,OAAA,KACA,MAAA,KACA,iBAAA,KACA,UAAA,eAAA,OAAA,SACA,WAAA,QAIF,kBACC,aAAA,QACA,WAAA,sBAEA,oCACC,MAAA,QAGD,sCACC,WAAA,QAIF,qBACC,aAAA,QACA,WAAA,sBAEA,uCACC,MAAA,QAGD,yCACC,WAAA,QAIF,qBACC,aAAA,QACA,WAAA,sBAEA,uCACC,MAAA,QAGD,yCACC,WAAA,QAIF,oBACC,aAAA,QACA,WAAA,sBAEA,sCACC,MAAA,QAGD,wCACC,WAAA,QAKH,0BACC,KAAO,UAAA,UACP,GAAK,UAAA,WC9IN,MACC,SAAA,SACA,UAAA,MACA,MAAA,iBAAA,MAAA,YACA,SAAA,OlB8DC,WAAA,QACA,OAAA,IAAA,MAAA,QkB5DD,kBACC,MAAA,QACA,WAAA,QACA,QAAA,IAAA,KACA,YAAA,IACA,eAAA,UAGD,oBACC,QAAA,KACA,OAAA,KAEA,gCACC,QAAA,MACA,MAAA,eACA,OAAA,KAAA,KAAA,KAGD,sBACC,WAAA,IACA,cAAA,EAIF,mBACC,QAAA,IAAA,KACA,eAAA,KAGD,kBACC,UAAA,MACA,SAAA,OAEA,yCACC,SAAA,SAEA,2DACC,SAAA,SACE,IAAA,MACA,KAAA,KAEF,UAAA,KACA,MAAA,QAEA,yEACC,MAAA,QAIF,sDACC,QAAA,KACA,eAAA,IACA,YAAA,OACE,gBAAA,WAEF,UAAA,KACA,OAAA,MACA,MAAA,KAIF,8BACC,QAAA,KACA,MAAA,KACA,UAAA,KACA,YAAA,IAEA,YAAA,OACE,eAAA,IACA,UAAA,OACA,gBAAA,cAGH,+BACC,UAAA,KACA,YAAA,IAGD,+BlBVA,aAAA,QAEA,2CAAA,4CAAA,4CAGE,MAAA,QACA,WAAA,QkBOD,4CACC,MAAA,QAIF,+BlBlBA,aAAA,QAEA,2CAAA,4CAAA,4CAGE,MAAA,QACA,WAAA,QkBeD,4CACC,MAAA,QAIF,4BlB1BA,aAAA,QAEA,wCAAA,yCAAA,yCAGE,MAAA,QACA,WAAA,QkBuBD,yCACC,MAAA,QAIF,iClBlCA,aAAA,QAEA,6CAAA,8CAAA,8CAGE,MAAA,QACA,WAAA,QkB+BD,8CACC,MAAA,QAIF,8BAAA,6BlB1CA,aAAA,QAEA,0CAAA,2CAAA,2CAAA,yCAAA,0CAAA,0CAGE,MAAA,QACA,WAAA,QkBuCD,2CAAA,0CACC,MAAA,QAKH,kBACC,UAAA,MACA,aAAA,sBAEA,gCACC,QAAA,KACA,eAAA,OACA,IAAA,KAGD,sCACC,QAAA,KACA,YAAA,WACA,gBAAA,cACA,IAAA,KAGD,qCACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,eAAA,UAGD,oCACC,QAAA,YACA,YAAA,OACA,gBAAA,OACA,MAAA,KACA,OAAA,KACA,MAAA,QACA,WAAA,QACA,UAAA,KAGD,qCACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,KAGD,oCACC,QAAA,KACA,UAAA,KACA,YAAA,OACA,IAAA,IACA,MAAA,QACA,UAAA,KAGD,qCACC,MAAA,QACA,YAAA,IAEA,gEACC,MAAA,QAKH,sBACC,UAAA,KACA,QAAA,KACA,eAAA,IACA,YAAA,QACA,SAAA,OAEA,kCACC,KAAA,EAAA,EAAA,IACA,UAAA,KACA,UAAA,MACA,WAAA,MACA,SAAA,OACA,SAAA,SACA,aAAA,EACA,WAAA,MAEA,sCACC,MAAA,KACA,OAAA,KACA,cAAA,MAAA,WAAA,MACA,QAAA,MAIF,iCACC,KAAA,EAAA,EAAA,KACA,QAAA,KACA,eAAA,OACA,QAAA,KACA,IAAA,KAGD,kCACC,QAAA,EACA,WAAA,IACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,eAAA,KACA,YAAA,KAEA,oCACC,MAAA,QACA,gBAAA,KAIF,oCACC,QAAA,EACA,OAAA,KAEA,sCACC,OAAA,EAIF,mCACC,QAAA,EACA,QAAA,KACA,UAAA,KACA,YAAA,OACA,IAAA,KACA,MAAA,QACA,UAAA,KAIF,kBACC,UAAA,MACA,aAAA,QAEA,gCACC,QAAA,KACA,eAAA,OACA,IAAA,KAGD,sCACC,QAAA,YACA,MAAA,iBAAA,MAAA,YACA,QAAA,IAAA,IACA,MAAA,QACA,WAAA,QACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UAGD,qCACC,OAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,eAAA,UAGD,oCACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IAGD,uCACC,QAAA,KACA,UAAA,KACA,IAAA,IACA,WAAA,IAID,iBACC,UAAA,KACA,MAAA,MACA,aAAA,QAED,oCACC,QAAA,KACA,YAAA,OACA,gBAAA,WACA,IAAA,KACA,QAAA,KAGD,kCACC,QAAA,MACA,MAAA,KACA,WAAA,KAGD,uCACC,UAAA,KACA,MAAA,QAGD,mCACC,UAAA,KACA,YAAA,IACA,eAAA,UAGD,kCACC,QAAA,KACA,eAAA,OACA,IAAA,KAGD,oCACC,MAAA,iBAAA,MAAA,YACA,WAAA,IAGD,6BACC,cAAA,EAGD,mCACC,QAAA,KACA,gBAAA,cACA,IAAA,KACA,WAAA,IACA,UAAA,KAGD,kCACC,MAAA,QACA,gBAAA,KtBrWF,wCACC,wCsBuWE,MAAA,QACA,gBAAA,WtBnWH,yCACC,yCsBiWE,MAAA,QACA,gBAAA,WAIF,mCACC,cAAA,IAIF,gBACC,UAAA,MAEA,gCACC,QAAA,KACA,eAAA,OACA,YAAA,OACA,IAAA,KACA,QAAA,KACA,WAAA,OAGD,0BACC,eAAA,OACA,YAAA,OACA,IAAA,KAEA,kCACC,MAAA,KACA,OAAA,KACA,UAAA,KAGD,4CACC,YAAA,OACA,WAAA,OAIF,gCACC,MAAA,QACA,UAAA,KACA,WAAA,IAGD,mCACC,QAAA,KACA,IAAA,IAIF,wBACC,UAAA,KAEA,wCACC,eAAA,IACA,gBAAA,cACA,YAAA,OACA,QAAA,KAAA,KACA,WAAA,KAGD,kCACC,eAAA,IACA,IAAA,KAEA,0CACC,MAAA,KACA,OAAA,KACA,UAAA,KAGD,oDACC,YAAA,WAIF,2CACC,QAAA,KACA,IAAA,ICvbH,OACC,SAAA,MACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,EACA,QAAA,KAEA,QAAA,KACA,eAAA,OACA,YAAA,OACA,gBAAA,OAEA,uBACC,SAAA,MACA,QAAA,KACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,EAEA,WAAA,QACA,QAAA,EAEA,oBAAA,KACA,oBAAA,QAGD,qBACC,SAAA,SACA,QAAA,KAEA,MAAA,KACA,UAAA,MACA,OAAA,KACA,OAAA,KACA,WAAA,mBAEA,QAAA,EACA,QAAA,KACA,eAAA,OACA,IAAA,EACA,WAAA,MAEA,QAAA,EAEA,oBAAA,KACA,2BAAA,KACA,oBAAA,OxB83I4B,CwB93I5B,WAEA,mCACC,QAAA,KACA,eAAA,IACA,gBAAA,cACA,YAAA,OACA,IAAA,KAEA,gDACC,QAAA,KAAA,KACA,WAAA,QACA,MAAA,QACA,eAAA,UACA,eAAA,MAGD,gDACC,KAAA,EAAA,EAAA,KACA,MAAA,QACA,aAAA,sBACA,WAAA,QAIF,kCACC,WAAA,MACA,QAAA,KACA,eAAA,OACA,IAAA,KACA,SAAA,OACA,WAAA,QACA,OAAA,IAAA,MAAA,QACA,kBAAA,IAGD,iCACC,WAAA,MACA,WAAA,KACA,QAAA,KAGD,mCACC,QAAA,KAEA,4CACC,QAAA,KACA,eAAA,IACA,gBAAA,SACA,IAAA,KACA,MAAA,KAMF,8BACC,QAAA,EAGD,4BACC,QAAA,EACA,WAAA,EAKD,8BACC,QAAA,EAGD,4BACC,QAAA,EACA,WAAA,OCvHH,OACC,SAAA,SACA,SAAA,OACA,cAAA,KACA,QAAA,KAAA,KACA,OAAA,IAAA,MAAA,YACA,kBAAA,MACA,kBAAA,IACA,WAAA,QACA,MAAA,QACA,YAAA,IACA,YAAA,IACA,oBAAA,IACA,2BAAA,KACA,oBAAA,UzB0+IgC,CyB1+IhC,KzB0+IuC,CyB1+IvC,aAEA,cACC,QAAA,GACA,SAAA,SACA,MAAA,EAAA,KAAA,EAAA,EACA,MAAA,IACA,WAAA,qEACA,QAAA,EACA,eAAA,KACA,UAAA,kBxB1BD,wCwB8BC,oBACC,QAAA,EACA,UAAA,gBAAA,IAAA,MxB1BF,yCwBwBC,qBACC,QAAA,EACA,UAAA,gBAAA,IAAA,MAIF,qBACC,aAAA,QACA,WAAA,qBACA,MAAA,QAGD,qBACC,aAAA,QACA,WAAA,qBACA,MAAA,QAGD,uBACC,aAAA,QACA,WAAA,qBACA,MAAA,QAGD,kBACC,aAAA,QACA,WAAA,qBACA,MAAA,QAGD,qBACC,aAAA,QACA,WAAA,qBACA,MAAA,QAGD,oBAAA,mBACC,aAAA,QACA,WAAA,qBACA,MAAA,QCrEF,2BACC,SAAA,SACA,OAAA,EAGD,iBACC,SAAA,SACA,QAAA,IACA,IAAA,IACA,MAAA,KACA,OAAA,KACA,WAAA,MAEA,WAAA,KAEA,WAAA,QACA,OAAA,IAAA,MAAA,QACA,kBAAA,IACA,WAAA,KACA,QAAA,EACA,WAAA,OAEA,oBAAA,O1B8iJ6B,C0B9iJ7B,U1B8iJyC,C0B9iJzC,WACA,oBAAA,IACA,2BAAA,KAEA,wBACC,QAAA,EACA,WAAA,EACA,WAAA,QAIA,qDACC,MAAA,KACA,QAAA,KACA,WAAA,OACA,QAAA,KAEA,0DACC,QAAA,MAIF,mDACC,MAAA,KACA,QAAA,KAEA,wDACC,QAAA,MAGD,2DACC,QAAA,IAAA,KACA,oBAAA,K1ByiJwB,C0BziJxB,WACA,oBAAA,KAEA,gEACC,QAAA,KAGD,iEAAA,iEACC,MAAA,QACA,WAAA,QC9DJ,8DACC,QAAA,KACA,eAAA,IACA,YAAA,OACA,IAAA,IAEA,UAAA,QAEA,+EACC,UAAA,QACA,cAAA,IAAA,MAAA,sB1BXF,wCACC,8DAAA,+DAAA,0D0BkBC,MAAA,QACA,WAAA,S1BdF,yCACC,+DAAA,gEAAA,2D0BYC,MAAA,QACA,WAAA,SAIF,wDACC,MAAA,QAGD,2DACC,QAAA,KACA,eAAA,IACA,YAAA,OACA,IAAA,IAEA,uEACC,UAAA,MACA,OAAA,EAEA,8EACC,QAAA,IAAA,KCvCJ,MACC,QAAA,KACA,UAAA,KACA,IAAA,IACA,YAAA,OACA,cAAA,KAEA,WACC,QAAA,YACA,YAAA,OACA,WAAA,KACA,QAAA,IAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,MAAA,QACA,WAAA,QACA,YAAA,e5BspJ4B,C4BtpJ5B,UACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,eAAA,UACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,K5BspJ0B,C4BtpJ1B,U5BspJsC,C4BtpJtC,aAEA,yBvBmCA,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,iB2B8BC,MAAA,QACA,WAAA,QACA,aAAA,S3B3BF,yCACC,kB2BwBC,MAAA,QACA,WAAA,QACA,aAAA,SAGD,sBAAA,+BAEC,MAAA,QACA,WAAA,QACA,aAAA,QAKH,UAAA,SAEC,SAAA,SACA,QAAA,YAGD,eAAA,eAAA,eAGC,QAAA,GACA,WAAA,QACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IACA,WAAA,EAAA,KAAA,KAAA,mBAGD,eAAA,eAEC,SAAA,SACA,IAAA,iBACA,KAAA,EACA,UAAA,MACA,QAAA,KACA,iBAAA,IAAA,KAGD,iCAAA,gCAEC,QAAA,MACA,UAAA,eAAA,IAAA,KAAA,KAGD,eACC,QAAA,IAEA,8BACC,QAAA,KACA,YAAA,OACA,IAAA,IACA,MAAA,KACA,WAAA,KACA,QAAA,IAAA,KACA,OAAA,EACA,MAAA,QACA,WAAA,IACA,YAAA,e5B2pJ4B,C4B3pJ5B,UACA,UAAA,KACA,WAAA,KACA,OAAA,QACA,oBAAA,IACA,2BAAA,KACA,oBAAA,K5B2pJ0B,C4B3pJ1B,WAEA,kCAAA,uCAEC,UAAA,KAGD,4CvB1CA,QAAA,IAAA,MAAA,QACA,eAAA,IJ9DD,wCACC,oC2B2GC,MAAA,QACA,WAAA,S3BvGF,yCACC,qC2BqGC,MAAA,QACA,WAAA,SAGD,mDACC,MAAA,Q3BjHF,wCACC,yD2BmHE,MAAA,QACA,WAAA,S3B/GH,yCACC,0D2B6GE,MAAA,QACA,WAAA,SAMJ,eACC,MAAA,wBACA,QAAA,KAEA,8BACC,OAAA,EAAA,EAAA,IACA,UAAA,KACA,YAAA,IACA,eAAA,UAGD,6BACC,OAAA,EACA,MAAA,QACA,UAAA,KACA,YAAA,IAIF,SACC,SAAA,SACA,QAAA,YAGD,eACC,SAAA,SACA,KAAA,IACA,OAAA,iBACA,MAAA,iBAAA,MAAA,YACA,UAAA,MACA,QAAA,IAAA,KACA,MAAA,QACA,UAAA,KACA,YAAA,IACA,UAAA,iBACA,QAAA,EACA,WAAA,OACA,eAAA,KACA,oBAAA,KACA,2BAAA,KACA,oBAAA,O5BqqJ6B,C4BrqJ7B,WAGD,gCAAA,qCAAA,8BAGC,QAAA,EACA,WAAA,QACA,UAAA,eAAA,KAAA,KAAA,KCpKC,KAAc,OAAA,YACd,MAAc,WAAA,YACd,MAAc,aAAA,YACd,MAAc,cAAA,YACd,MAAc,YAAA,YACd,MACE,YAAA,YACA,aAAA,YAEF,MACE,WAAA,YACA,cAAA,YAIF,KAAc,QAAA,YACd,MAAc,YAAA,YACd,MAAc,cAAA,YACd,MAAc,eAAA,YACd,MAAc,aAAA,YACd,MACE,aAAA,YACA,cAAA,YAEF,MACE,YAAA,YACA,eAAA,YAIF,KACE,IAAA,YAGF,MACE,gBAAA,YAAA,WAAA,YAGF,MACE,QAAA,YAvCF,KAAc,OAAA,cACd,MAAc,WAAA,cACd,MAAc,aAAA,cACd,MAAc,cAAA,cACd,MAAc,YAAA,cACd,MACE,YAAA,cACA,aAAA,cAEF,MACE,WAAA,cACA,cAAA,cAIF,KAAc,QAAA,cACd,MAAc,YAAA,cACd,MAAc,cAAA,cACd,MAAc,eAAA,cACd,MAAc,aAAA,cACd,MACE,aAAA,cACA,cAAA,cAEF,MACE,YAAA,cACA,eAAA,cAIF,KACE,IAAA,cAGF,MACE,gBAAA,cAAA,WAAA,cAGF,MACE,QAAA,cAvCF,KAAc,OAAA,cACd,MAAc,WAAA,cACd,MAAc,aAAA,cACd,MAAc,cAAA,cACd,MAAc,YAAA,cACd,MACE,YAAA,cACA,aAAA,cAEF,MACE,WAAA,cACA,cAAA,cAIF,KAAc,QAAA,cACd,MAAc,YAAA,cACd,MAAc,cAAA,cACd,MAAc,eAAA,cACd,MAAc,aAAA,cACd,MACE,aAAA,cACA,cAAA,cAEF,MACE,YAAA,cACA,eAAA,cAIF,KACE,IAAA,cAGF,MACE,gBAAA,cAAA,WAAA,cAGF,MACE,QAAA,cAvCF,KAAc,OAAA,eACd,MAAc,WAAA,eACd,MAAc,aAAA,eACd,MAAc,cAAA,eACd,MAAc,YAAA,eACd,MACE,YAAA,eACA,aAAA,eAEF,MACE,WAAA,eACA,cAAA,eAIF,KAAc,QAAA,eACd,MAAc,YAAA,eACd,MAAc,cAAA,eACd,MAAc,eAAA,eACd,MAAc,aAAA,eACd,MACE,aAAA,eACA,cAAA,eAEF,MACE,YAAA,eACA,eAAA,eAIF,KACE,IAAA,eAGF,MACE,gBAAA,eAAA,WAAA,eAGF,MACE,QAAA,eAvCF,KAAc,OAAA,eACd,MAAc,WAAA,eACd,MAAc,aAAA,eACd,MAAc,cAAA,eACd,MAAc,YAAA,eACd,MACE,YAAA,eACA,aAAA,eAEF,MACE,WAAA,eACA,cAAA,eAIF,KAAc,QAAA,eACd,MAAc,YAAA,eACd,MAAc,cAAA,eACd,MAAc,eAAA,eACd,MAAc,aAAA,eACd,MACE,aAAA,eACA,cAAA,eAEF,MACE,YAAA,eACA,eAAA,eAIF,KACE,IAAA,eAGF,MACE,gBAAA,eAAA,WAAA,eAGF,MACE,QAAA,eAvCF,KAAc,OAAA,eACd,MAAc,WAAA,eACd,MAAc,aAAA,eACd,MAAc,cAAA,eACd,MAAc,YAAA,eACd,MACE,YAAA,eACA,aAAA,eAEF,MACE,WAAA,eACA,cAAA,eAIF,KAAc,QAAA,eACd,MAAc,YAAA,eACd,MAAc,cAAA,eACd,MAAc,eAAA,eACd,MAAc,aAAA,eACd,MACE,aAAA,eACA,cAAA,eAEF,MACE,YAAA,eACA,eAAA,eAIF,KACE,IAAA,eAGF,MACE,gBAAA,eAAA,WAAA,eAGF,MACE,QAAA,eAvCF,KAAc,OAAA,eACd,MAAc,WAAA,eACd,MAAc,aAAA,eACd,MAAc,cAAA,eACd,MAAc,YAAA,eACd,MACE,YAAA,eACA,aAAA,eAEF,MACE,WAAA,eACA,cAAA,eAIF,KAAc,QAAA,eACd,MAAc,YAAA,eACd,MAAc,cAAA,eACd,MAAc,eAAA,eACd,MAAc,aAAA,eACd,MACE,aAAA,eACA,cAAA,eAEF,MACE,YAAA,eACA,eAAA,eAIF,KACE,IAAA,eAGF,MACE,gBAAA,eAAA,WAAA,eAGF,MACE,QAAA,eAvCF,KAAc,OAAA,eACd,MAAc,WAAA,eACd,MAAc,aAAA,eACd,MAAc,cAAA,eACd,MAAc,YAAA,eACd,MACE,YAAA,eACA,aAAA,eAEF,MACE,WAAA,eACA,cAAA,eAIF,KAAc,QAAA,eACd,MAAc,YAAA,eACd,MAAc,cAAA,eACd,MAAc,eAAA,eACd,MAAc,aAAA,eACd,MACE,aAAA,eACA,cAAA,eAEF,MACE,YAAA,eACA,eAAA,eAIF,KACE,IAAA,eAGF,MACE,gBAAA,eAAA,WAAA,eAGF,MACE,QAAA,eAvCF,KAAc,OAAA,eACd,MAAc,WAAA,eACd,MAAc,aAAA,eACd,MAAc,cAAA,eACd,MAAc,YAAA,eACd,MACE,YAAA,eACA,aAAA,eAEF,MACE,WAAA,eACA,cAAA,eAIF,KAAc,QAAA,eACd,MAAc,YAAA,eACd,MAAc,cAAA,eACd,MAAc,eAAA,eACd,MAAc,aAAA,eACd,MACE,aAAA,eACA,cAAA,eAEF,MACE,YAAA,eACA,eAAA,eAIF,KACE,IAAA,eAGF,MACE,gBAAA,eAAA,WAAA,eAGF,MACE,QAAA,eAvCF,KAAc,OAAA,eACd,MAAc,WAAA,eACd,MAAc,aAAA,eACd,MAAc,cAAA,eACd,MAAc,YAAA,eACd,MACE,YAAA,eACA,aAAA,eAEF,MACE,WAAA,eACA,cAAA,eAIF,KAAc,QAAA,eACd,MAAc,YAAA,eACd,MAAc,cAAA,eACd,MAAc,eAAA,eACd,MAAc,aAAA,eACd,MACE,aAAA,eACA,cAAA,eAEF,MACE,YAAA,eACA,eAAA,eAIF,KACE,IAAA,eAGF,MACE,gBAAA,eAAA,WAAA,eAGF,MACE,QAAA,eAvCF,MAAc,OAAA,eACd,OAAc,WAAA,eACd,OAAc,aAAA,eACd,OAAc,cAAA,eACd,OAAc,YAAA,eACd,OACE,YAAA,eACA,aAAA,eAEF,OACE,WAAA,eACA,cAAA,eAIF,MAAc,QAAA,eACd,OAAc,YAAA,eACd,OAAc,cAAA,eACd,OAAc,eAAA,eACd,OAAc,aAAA,eACd,OACE,aAAA,eACA,cAAA,eAEF,OACE,YAAA,eACA,eAAA,eAIF,MACE,IAAA,eAGF,OACE,gBAAA,eAAA,WAAA,eAGF,OACE,QAAA,eAvCF,MAAc,OAAA,eACd,OAAc,WAAA,eACd,OAAc,aAAA,eACd,OAAc,cAAA,eACd,OAAc,YAAA,eACd,OACE,YAAA,eACA,aAAA,eAEF,OACE,WAAA,eACA,cAAA,eAIF,MAAc,QAAA,eACd,OAAc,YAAA,eACd,OAAc,cAAA,eACd,OAAc,eAAA,eACd,OAAc,aAAA,eACd,OACE,aAAA,eACA,cAAA,eAEF,OACE,YAAA,eACA,eAAA,eAIF,MACE,IAAA,eAGF,OACE,gBAAA,eAAA,WAAA,eAGF,OACE,QAAA,eAvCF,MAAc,OAAA,eACd,OAAc,WAAA,eACd,OAAc,aAAA,eACd,OAAc,cAAA,eACd,OAAc,YAAA,eACd,OACE,YAAA,eACA,aAAA,eAEF,OACE,WAAA,eACA,cAAA,eAIF,MAAc,QAAA,eACd,OAAc,YAAA,eACd,OAAc,cAAA,eACd,OAAc,eAAA,eACd,OAAc,aAAA,eACd,OACE,aAAA,eACA,cAAA,eAEF,OACE,YAAA,eACA,eAAA,eAIF,MACE,IAAA,eAGF,OACE,gBAAA,eAAA,WAAA,eAGF,OACE,QAAA,eAIJ,KACE,QAAA,KACA,eAAA,I5BXA,0B4BaA,cAEI,eAAA,QAKN,QACE,QAAA,KACA,eAAA,OAGF,QACE,QAAA,KACA,eAAA,IACA,UAAA,KAGF,MACE,QAAA,KAGF,QACE,QAAA,KACA,sBAAA,wBAGF,QACE,QAAA,KACA,sBAAA,wBAGF,aACE,YAAA,qBAGF,cACE,YAAA,iBAGF,WACE,YAAA,mBAGF,eACE,gBAAA,qBAGF,gBACE,gBAAA,iBAGF,iBACE,gBAAA,wBAGF,aACE,gBAAA,mBAGF,OACE,MAAA,KAGF,QACE,MAAA,eAGF,OACE,MAAA,2BAAA,MAAA,sBAGF,OACE,MAAA,KAGF,OACE,OAAA,KAGF,SACE,UAAA,YAGF,iBACE,SAAA,iBAGF,eACE,SAAA,eAaA,OACE,UAAA,KADF,OACE,UAAA,KADF,OACE,UAAA,KADF,SACE,UAAA,KADF,OACE,UAAA,KADF,OACE,UAAA,KAIJ,WACE,WAAA,eAGF,aACE,WAAA,iBAGF,YACE,WAAA,gBAGF,gBACE,eAAA,oBAGF,aACE,YAAA,iBAGF,QACE,QAAA,eAGF,SACE,QAAA,gBAGF,eACE,QAAA,sBAGF,QACE,QAAA,eAGF,QACE,QAAA,e5B7JA,yB4BiKA,QAAA,QAEE,sBAAA,KC/KJ,EACE,WAAA,WAGF,KAAA,KAEE,QAAA,EACA,OAAA,EAGF,KACE,iBAAA,QACA,MAAA,QAGF,oBACE,MAAA,KAGF,0BACE,MAAA,KACA,WAAA,QACA,OAAA,QAGF,0BACE,MAAA,KACA,WAAA,QACA,OAAA,QAGF,2BACE,WAAA,IACA,OAAA,IAGF,2BACE,QAAA,KAGF,cACE,SAAA,SACA,IAAA,MCvEF,aACE,QAAA,MAGF,cACE,UAAA,EACA,UAAA,OACA,OAAA,EAAA,KAGF,cACE,kBAAA,kBACA,YAAA,KACA,cAAA,MACA,WAAA,IAAA,MAAA,QAEA,0BACE,YAAA,EAGF,qBACE,iBAAA,QAEA,oCACE,MAAA,QAKN,YACE,UAAA,MACA,aAAA,KACA,YAAA,KAGF,WACE,YAAA,KACA,eAAA,M9BIA,yB8BAA,WACE,YAAA,KAGF,cACE,kBAAA,mBAIJ,cACE,QAAA,KACA,UAAA,KACA,IAAA,KACA,YAAA,OAGF,0BACE,UAAA,MACA,cAAA,KACA,MAAA,QAGF,cACC,UAAA,MACA,WAAA,KACA,OAAA,IAAA,MAAA,sBACA,kBAAA,IAEC,mCACE,QAAA,KACA,gBAAA,cACA,YAAA,OACA,IAAA,KACA,QAAA,IAAA,KACA,MAAA,QACA,WAAA,QAEA,6CACE,MAAA,Q9B/EL,wCACC,uE8BkFQ,MAAA,QACA,aAAA,S9B9ET,yCACC,wE8B4EQ,MAAA,QACA,aAAA,SAMR,kCACE,UAAA,KACA,YAAA,IACA,eAAA,UAGF,kBACE,OAAA,EACA,QAAA,KACA,SAAA,KACA,WAAA,QAGF,mBACE,QAAA,MACA,UAAA,KACA,YAAA,IACA,WAAA,IAGF,oBACE,QAAA,EACA,WAAA"} \ No newline at end of file diff --git a/dist/css/kit.css b/dist/css/kit.css index be08920..ed19974 100644 --- a/dist/css/kit.css +++ b/dist/css/kit.css @@ -1,2 +1,2 @@ -@charset "UTF-8";@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}.container{padding:18px}.section{margin-bottom:48px}.section-title{margin-bottom:34px}.block{margin-bottom:34px}.block-title{margin-bottom:22px}.text,p{margin-bottom:15px}.hint{margin-top:8px}.list{padding-left:22px;margin-bottom:15px}.list-item{margin-bottom:8px}.list-nested{margin-top:8px}.table{margin-bottom:22px}.table-caption{margin-bottom:8px}.form-group{margin-bottom:15px}.label{margin-bottom:5px;display:block}.input,.select,.textarea{margin-top:5px}.toast{padding:15px}.toast-stack{gap:8px}@keyframes terminal_scan_x{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}@keyframes terminal_scan_y{0%{transform:translateY(-120%)}100%{transform:translateY(220%)}}@keyframes terminal_pulse{0%,100%{box-shadow:0 0 0 0 rgba(192,202,245,0)}50%{box-shadow:0 0 0 4px rgba(192,202,245,.18)}}@keyframes panel_boot{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}@keyframes overlay_reveal{0%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}@keyframes tooltip_reveal{0%{opacity:0;transform:translateX(-50%) translateY(5px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0s!important}}html{font-size:100%}body{font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:400;line-height:1.6;letter-spacing:0;color:#c0caf5}h1,h2,h3,h4,h5,h6{font-family:"IBM Plex Mono",monospace;font-weight:600;line-height:1.25;margin:0}h1.contrast,h2.contrast,h3.contrast,h4.contrast,h5.contrast,h6.contrast{background:#c0caf5;color:#16161e;display:inline;padding:0 8px}h1{font-size:34px;letter-spacing:0}h2{font-size:26px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px;font-weight:500}.text,p{font-size:15px;line-height:1.6}.text-sm{font-size:13px;line-height:1.4}.text-lg{font-size:16px;line-height:1.6}.text-lead{max-width:760px;color:#c0caf5;font-size:16px;font-weight:500;line-height:1.6}.text-muted{font-size:13px;color:#787c99}.text-strong,strong{font-weight:600}.text-bold{font-weight:700}.text-italic,em{font-style:italic}.text-success{color:#9ece6a}.text-warning{color:#e0af68}.text-danger,.text-error{color:#f7768e}.text-info{color:#bb9af7}.eyebrow{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.caption{color:#787c99;font-size:12px;line-height:1.4}.code,code,pre{font-family:"IBM Plex Mono",monospace;font-size:15px;line-height:1.4;background-color:#1f2335}.text-primary{color:#c0caf5}.text-secondary{color:#a9b1d6}pre{font-size:15px;line-height:1.6;white-space:pre-wrap}.code,pre code{-o-tab-size:2;tab-size:2;-moz-tab-size:2}.code{display:inline-flex;padding:0 5px;color:#7aa2f7;border:2px solid rgba(122,162,247,.24)}.kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:2px solid rgba(192,202,245,.24);border-bottom-color:#7aa2f7;color:#c0caf5;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.quote{max-width:760px;margin:0;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-size:15px;line-height:1.6}.quote cite{display:block;margin-top:12px;color:#7aa2f7;font-size:13px;font-style:normal;text-transform:uppercase}a{font-weight:500;text-decoration:none;color:#7aa2f7}@media (hover:hover) and (pointer:fine){a:hover{color:#e0af68}}@media (hover:none) and (pointer:coarse){a:active{color:#e0af68}}.link{font-size:inherit;font-weight:500}.label{font-size:13px;font-weight:500;line-height:1.4}.hint,.meta{font-size:12px;line-height:1.4}.table{font-size:13px;line-height:1.4}.table th{font-weight:600}.table td{font-weight:400}.list{font-size:15px;line-height:1.6}.list-item{font-size:inherit}.modal-title{font-size:20px;font-weight:600}.modal-body{font-size:15px}.toast-title{font-size:14px;font-weight:600}.toast-text{font-size:13px;line-height:1.4}.palette{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.palette .color .color-box{width:92px;height:68px}body .bg-primary{background:#c0caf5}body .bg-secondary{background:#7aa2f7}body .bg-success{background:#9ece6a}body .bg-accent{background:#ff9e64}body .bg-info{background:#bb9af7}body .bg-warning{background:#e0af68}body .bg-error{background:#f7768e}body .text-color-primary{color:#c0caf5}body .text-color-secondary{color:#7aa2f7}body .text-color-success{color:#9ece6a}body .text-color-accent{color:#ff9e64}body .text-color-info{color:#bb9af7}body .text-color-warning{color:#e0af68}body .text-color-error{color:#f7768e}.loader{width:32px;aspect-ratio:1;--c:no-repeat linear-gradient(#FF3C00 0 0);background:var(--c) 0 0,var(--c) 0 100%,var(--c) 50% 0,var(--c) 50% 100%,var(--c) 100% 0,var(--c) 100% 100%;animation:l12 1s infinite}@keyframes l12{0%,100%{background-size:20% 50%}16.67%{background-size:20% 30%,20% 30%,20% 50%,20% 50%,20% 50%,20% 50%}33.33%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 50%,20% 50%}50%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 30%,20% 30%}66.67%{background-size:20% 50%,20% 50%,20% 30%,20% 30%,20% 30%,20% 30%}83.33%{background-size:20% 50%,20% 50%,20% 50%,20% 50%,20% 30%,20% 30%}}.circle-loader{display:flex;flex-direction:row;align-items:center;gap:8px}.circle-loader .ph,.circle-loader .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.progress{display:flex;flex-direction:column;gap:8px;width:100%;max-width:640px}.progress .progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.progress .progress-value{color:#c0caf5;font-family:"IBM Plex Mono",monospace}.progress .progress-track{position:relative;width:100%;height:18px;overflow:hidden;border:2px solid rgba(192,202,245,.24);background:#1f2335}.progress .progress-bar{display:block;position:relative;overflow:hidden;width:var(--progress-value,0%);height:100%;background:#7aa2f7;transition:width .28s ease}.progress.progress-success .progress-bar{background:#9ece6a}.progress.progress-warning .progress-bar{background:#e0af68}.progress.progress-danger .progress-bar,.progress.progress-error .progress-bar{background:#f7768e}.progress.progress-striped .progress-bar{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 14px,rgba(22,22,30,.2) 14px,rgba(22,22,30,.2) 16px)}.progress.progress-animated .progress-bar::after{content:"";position:absolute;inset:0;width:48%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.28),transparent);transform:translateX(-120%);animation:progress_scan 1.4s ease infinite}.usage-meter{display:grid;gap:12px;width:100%;max-width:420px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.usage-meter .usage-meter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.usage-meter .usage-meter-value{color:#7aa2f7;font-family:"IBM Plex Mono",monospace;font-size:13px}.usage-meter .usage-meter-meta{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.progress-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:720px}.progress-stages .progress-stage{min-height:42px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase}.progress-stages .progress-stage-complete{color:#16161e;background:#9ece6a;border-color:#9ece6a}.progress-stages .progress-stage-current{color:#16161e;background:#e0af68;border-color:#e0af68}@media (max-width:767px){.progress-stages{grid-template-columns:1fr 1fr}}@media (max-width:479px){.progress-stages{grid-template-columns:1fr}}@keyframes progress_scan{from{transform:translateX(-120%)}to{transform:translateX(220%)}}@keyframes icon_spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:600;line-height:1;letter-spacing:.04em;padding:12px 22px;border-radius:0;border-width:2px;border-left-width:6px;border-style:solid;border-color:#c0caf5;text-transform:uppercase;background-color:transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color,opacity}.btn:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.btn.with-icon{border-left-width:46px;position:relative}.btn.with-icon .ph,.btn.with-icon .ph-bold{position:absolute;color:#16161e;left:-46px;top:1px;font-size:26px;height:100%;display:inline-flex;align-items:center;width:46px;justify-content:center;transition-duration:.2s;transition-property:color,left}@media (hover:hover) and (pointer:fine){.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-28px}}@media (hover:none) and (pointer:coarse){.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-28px}}.btn.btn-primary{color:#c0caf5;border-color:#c0caf5}@media (hover:hover) and (pointer:fine){.btn.btn-primary:hover{background-color:#c0caf5;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-primary:active{background-color:#c0caf5;color:#16161e}}.btn.btn-secondary{color:#7aa2f7;border-color:#7aa2f7}@media (hover:hover) and (pointer:fine){.btn.btn-secondary:hover{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:hover.with-icon .ph,.btn.btn-secondary:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-secondary:active{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:active.with-icon .ph,.btn.btn-secondary:active.with-icon .ph-bold{color:#16161e}}.btn.btn-accent{color:#ff9e64;border-color:#ff9e64}@media (hover:hover) and (pointer:fine){.btn.btn-accent:hover{background-color:#ff9e64;color:#16161e}.btn.btn-accent:hover.with-icon .ph,.btn.btn-accent:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-accent:active{background-color:#ff9e64;color:#16161e}.btn.btn-accent:active.with-icon .ph,.btn.btn-accent:active.with-icon .ph-bold{color:#16161e}}.btn.btn-danger{color:#f7768e;border-color:#f7768e}@media (hover:hover) and (pointer:fine){.btn.btn-danger:hover{background-color:#f7768e;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-danger:active{background-color:#f7768e;color:#16161e}}.btn.btn-warning{color:#e0af68;border-color:#e0af68}@media (hover:hover) and (pointer:fine){.btn.btn-warning:hover{background-color:#e0af68;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-warning:active{background-color:#e0af68;color:#16161e}}.btn.btn-success{color:#9ece6a;border-color:#9ece6a}@media (hover:hover) and (pointer:fine){.btn.btn-success:hover{background-color:#9ece6a;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-success:active{background-color:#9ece6a;color:#16161e}}.btn.btn-info{color:#bb9af7;border-color:#bb9af7}@media (hover:hover) and (pointer:fine){.btn.btn-info:hover{background-color:#bb9af7;color:#16161e}.btn.btn-info:hover.with-icon .ph,.btn.btn-info:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-info:active{background-color:#bb9af7;color:#16161e}.btn.btn-info:active.with-icon .ph,.btn.btn-info:active.with-icon .ph-bold{color:#16161e}}.btn[disabled]:not(.loading-state){color:#787c99;border-color:rgba(192,202,245,.24);background-color:#1f2335;cursor:not-allowed;opacity:.72}.btn[disabled]:not(.loading-state).with-icon .ph,.btn[disabled]:not(.loading-state).with-icon .ph-bold{color:#787c99}@media (hover:hover) and (pointer:fine){.btn[disabled]:not(.loading-state):hover{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):hover.with-icon .ph,.btn[disabled]:not(.loading-state):hover.with-icon .ph-bold{color:#787c99}}@media (hover:none) and (pointer:coarse){.btn[disabled]:not(.loading-state):active{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):active.with-icon .ph,.btn[disabled]:not(.loading-state):active.with-icon .ph-bold{color:#787c99}}.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph,.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph-bold{left:-28px}.btn.btn-small{font-size:13px;font-weight:500;min-height:38px;padding:8px 8px}.btn.btn-small.with-icon{border-left-width:32px}.btn.btn-small.with-icon .ph,.btn.btn-small.with-icon .ph-bold{top:0;left:-40px;font-size:22px}.btn.btn-small.with-icon.loading-state .ph,.btn.btn-small.with-icon.loading-state .ph-bold{font-size:26px}.btn.btn-large{font-size:16px;font-weight:700;min-height:54px;padding:15px 48px}.btn.loading-state{color:#16161e!important;border-color:#c0caf5!important;background-color:#c0caf5!important}.btn.loading-state .ph,.btn.loading-state .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.btn-icon{display:flex;justify-content:center;align-items:center;width:38px;height:38px;background:0 0;color:#c0caf5;font-size:22px;border:2px solid transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.btn-icon:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.btn-icon:not(.without-hover):hover{color:#e0af68;border-color:#e0af68}}@media (hover:none) and (pointer:coarse){.btn-icon:not(.without-hover):active{color:#e0af68;border-color:#e0af68}}.btn-icon:disabled,.btn-icon[disabled]{color:#787c99;border-color:transparent;background-color:transparent;cursor:not-allowed;opacity:.72}@media (hover:hover) and (pointer:fine){.btn-icon:disabled:not(.without-hover):hover,.btn-icon[disabled]:not(.without-hover):hover{color:#787c99;border-color:transparent}}@media (hover:none) and (pointer:coarse){.btn-icon:disabled:not(.without-hover):active,.btn-icon[disabled]:not(.without-hover):active{color:#787c99;border-color:transparent}}.btn-icon-sm{width:28px;height:28px;font-size:18px}.form-group{width:100%;max-width:600px}.form-group .label{display:flex;flex-direction:column;font-size:15px;width:100%;position:relative;color:#c0caf5}.form-group .label>.ph{position:absolute;color:#c0caf5;left:0;bottom:1px;font-size:26px;height:54px;display:inline-flex;align-items:center;width:46px;justify-content:center;transition-duration:.2s;transition-property:color,left}.form-group .label .input{min-height:54px;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;line-height:1;letter-spacing:.04em;padding:12px 22px;margin-top:8px;border-radius:0;border-width:2px;border-bottom-width:6px;border-style:solid;border-color:#c0caf5;color:#c0caf5;background-color:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color}@media (hover:hover) and (pointer:fine){.form-group .label .input:hover{border-bottom-color:#787c99}}@media (hover:none) and (pointer:coarse){.form-group .label .input:active{border-bottom-color:#787c99}}.form-group .label .input:focus{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background-color:transparent}.form-group .label .input:disabled{color:#787c99;border-color:rgba(192,202,245,.24);background:#1f2335;cursor:not-allowed;opacity:.72}.form-group .label .input[readonly]{color:#a9b1d6;border-color:rgba(192,202,245,.24);background:rgba(192,202,245,.03)}.form-group .label .input::-moz-placeholder{color:#787c99}.form-group .label .input::placeholder{color:#787c99}.form-group .label .input::-webkit-search-cancel-button,.form-group .label .input::-webkit-search-decoration,.form-group .label .input::-webkit-search-results-button,.form-group .label .input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.form-group .label .input[type=date],.form-group .label .input[type=datetime-local],.form-group .label .input[type=month],.form-group .label .input[type=time]{color-scheme:dark;cursor:pointer;min-width:0;padding-right:46px;text-transform:uppercase}.form-group .label .input[type=date]::-webkit-calendar-picker-indicator,.form-group .label .input[type=datetime-local]::-webkit-calendar-picker-indicator,.form-group .label .input[type=month]::-webkit-calendar-picker-indicator,.form-group .label .input[type=time]::-webkit-calendar-picker-indicator{width:46px;height:100%;margin:0;padding:0;background:0 0;cursor:pointer;opacity:0}.form-group .label .input[type=date]::-webkit-datetime-edit,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit,.form-group .label .input[type=month]::-webkit-datetime-edit,.form-group .label .input[type=time]::-webkit-datetime-edit{padding:0}.form-group .label .input[type=date]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=month]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=time]::-webkit-datetime-edit-fields-wrapper{color:#c0caf5}.form-group .label textarea.input{height:108px;line-height:1.25;resize:none}.form-group .label .ph+.input,.form-group .label .ph+.select-wrap .select{padding-left:46px}.form-group .label .select-wrap{margin-top:8px}.form-group .label .select{width:100%;height:54px;margin-top:0;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group .label .select:focus{outline:0}.form-group .label .select option{color:#c0caf5;background:#1f2335}.form-group .label .select-wrap::after{content:"";position:absolute;right:22px;bottom:18px;transform:translateY(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #c0caf5;pointer-events:none}.form-group .label.error .input:not(:focus){border-color:#f7768e}.form-group .label.error+.input-info{color:#e0af68}.form-group .label.success .input:not(:focus){border-color:#9ece6a}.form-group .label.success+.input-info{color:#9ece6a}.form-group .label.warning .input:not(:focus){border-color:#e0af68}.form-group .label.warning+.input-info{color:#e0af68}.form-group .input-info{font-size:14px;margin-top:8px}.form-group .input-info .ph{position:relative;top:1px}.form-group .input-info.error{color:#e0af68}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%;max-width:760px}.fieldset{width:100%;max-width:760px;margin:0;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.legend{padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 12px;border:2px solid #7aa2f7;border-left-width:6px;color:#7aa2f7;background:#1f2335;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.file-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (hover:hover) and (pointer:fine){.file-upload:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.file-upload:active{color:#16161e;background:#7aa2f7}}.file-upload:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-panel{width:100%;max-width:760px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px}.file-upload-form{display:flex;flex-direction:column;gap:15px;margin:0}.file-upload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 15px 0}.file-upload-heading{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-title{margin:0;color:#c0caf5;font-size:16px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-description{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.file-upload-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;margin:0 15px;padding:18px;border:2px dashed #7aa2f7;background:rgba(122,162,247,.08);cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.file-upload-dropzone input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (hover:hover) and (pointer:fine){.file-upload-dropzone:hover{border-color:#c0caf5;background:rgba(192,202,245,.1)}}@media (hover:none) and (pointer:coarse){.file-upload-dropzone:active{border-color:#c0caf5;background:rgba(192,202,245,.1)}}.file-upload-dropzone:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;color:#16161e;background:#7aa2f7;font-size:26px}.file-upload-body{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-primary{color:#c0caf5;font-size:15px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-secondary{color:#a9b1d6;font-size:13px;line-height:1.4}.file-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin:0 15px}.file-upload-preview[hidden]{display:none}.file-upload-preview-item{position:relative;min-width:0;margin:0;border:2px solid rgba(192,202,245,.24);background:#1f2335}.file-upload-preview-remove{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:2px solid #f7768e;color:#f7768e;background:#1f2335;font-size:18px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}@media (hover:hover) and (pointer:fine){.file-upload-preview-remove:hover{color:#16161e;background:#f7768e}}@media (hover:none) and (pointer:coarse){.file-upload-preview-remove:active{color:#16161e;background:#f7768e}}.file-upload-preview-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-preview-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#1f2335}.file-upload-preview-visual img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.file-upload-preview-type{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:54px;padding:8px;color:#16161e;background:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload-preview-item figcaption{display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:8px}.file-upload-preview-name{overflow:hidden;color:#c0caf5;font-size:12px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.file-upload-preview-meta{color:#a9b1d6;font-size:12px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 15px 15px}.range{width:100%;max-width:600px;accent-color:#7AA2F7}.range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:46px;margin:0;background:0 0;cursor:pointer}.range input[type=range]::-webkit-slider-runnable-track{height:6px;background:rgba(192,202,245,.085);border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-webkit-slider-thumb{width:18px;height:38px;margin-top:calc(-38px / 2);border:2px solid #7aa2f7;background:#7aa2f7;-webkit-appearance:none}.range input[type=range]::-moz-range-track{height:6px;background:rgba(192,202,245,.085);border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-moz-range-thumb{width:18px;height:38px;border:2px solid #7aa2f7;border-radius:0;background:#7aa2f7}@media (max-width:767px){.form-grid{grid-template-columns:1fr}.file-upload-header{flex-direction:column;align-items:stretch}.file-upload-dropzone{grid-template-columns:1fr}.file-upload-actions{justify-content:stretch}.file-upload-actions .btn{width:100%}}.radio{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.radio input[type=radio]{display:none}.radio .radio-control{display:inline-block;border-radius:100%;border:2px solid #c0caf5;width:18px;height:18px;background:0 0;transition-duration:.2s;transition-property:background,border-color}@media (hover:hover) and (pointer:fine){.radio:hover .radio-control{background:#414868}}@media (hover:none) and (pointer:coarse){.radio:active .radio-control{background:#414868}}.radio input[type=radio]:checked+.radio-control{background:#c0caf5}.radio input[type=radio]:disabled+.radio-control{background:#414868;border-color:#414868}.radio input[type=radio]:focus-visible+.radio-control{outline:2px solid #E0AF68;outline-offset:3px}.radio .radio-label{font-size:15px}.radio-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.switch{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.switch input[type=checkbox]{display:none}.switch .switch-control{height:16px;width:32px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.switch .switch-control:before{content:"";display:block;height:20px;width:20px;background:#c0caf5;position:absolute;left:-5px;top:-5px;transition-duration:.2s;transition-property:left,background}@media (hover:hover) and (pointer:fine){.switch:hover .switch-control{background:#414868}}@media (hover:none) and (pointer:coarse){.switch:active .switch-control{background:#414868}}.switch input[type=checkbox]:checked:not(:disabled)+.switch-control{background:#7aa2f7;border-color:#7aa2f7}.switch input[type=checkbox]:checked+.switch-control:before{left:17px}.switch input[type=checkbox]:disabled+.switch-control{border-color:#414868}.switch input[type=checkbox]:focus-visible+.switch-control{outline:2px solid #E0AF68;outline-offset:3px}.switch input[type=checkbox]:disabled+.switch-control:before{background:#414868}.checkbox{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.checkbox input[type=checkbox]{display:none}.checkbox .checkbox-control{width:18px;height:18px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.checkbox .checkbox-control:before{content:"";display:block;width:100%;height:100%;background:#c0caf5;position:absolute;left:0;top:0;transform:scale(0);transition-duration:.2s;transition-property:transform}@media (hover:hover) and (pointer:fine){.checkbox:hover .checkbox-control{background:#414868}}@media (hover:none) and (pointer:coarse){.checkbox:active .checkbox-control{background:#414868}}.checkbox input[type=checkbox]:checked:not(:disabled)+.checkbox-control{border-color:#c0caf5}.checkbox input[type=checkbox]:checked+.checkbox-control:before{transform:scale(1)}.checkbox input[type=checkbox]:disabled+.checkbox-control{border-color:#414868}.checkbox input[type=checkbox]:focus-visible+.checkbox-control{outline:2px solid #E0AF68;outline-offset:3px}.input-group{display:flex;align-items:stretch;width:100%;max-width:600px;min-height:54px;border:2px solid #c0caf5;border-bottom-width:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background}.input-group:focus-within{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background:0 0}.input-group .input-group-action,.input-group .input-group-addon{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:0 12px;color:#a9b1d6;background:rgba(192,202,245,.045);border:0;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;text-transform:uppercase}.input-group .input-group-action{color:#c0caf5;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.input-group .input-group-input{flex:1 1 auto;min-width:0;border:0;padding:12px 15px;color:#c0caf5;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;letter-spacing:.04em}.input-group .input-group-input:focus{outline:0}.input-group .input-group-input::-moz-placeholder{color:#787c99}.input-group .input-group-input::placeholder{color:#787c99}.input-group .input-group-input::-webkit-search-cancel-button,.input-group .input-group-input::-webkit-search-decoration,.input-group .input-group-input::-webkit-search-results-button,.input-group .input-group-input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.input-group .ph,.input-group .ph-bold{font-size:22px}.input-group.input-group-compact{min-height:46px}.input-group.input-group-compact .input-group-action,.input-group.input-group-compact .input-group-addon{min-width:46px}.input-group.input-group-compact .input-group-input{padding:8px 12px;font-size:13px}.search-field{max-width:420px}.list{display:flex;flex-direction:column;gap:5px;list-style-type:none;padding-left:0}.list .list-item{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:0}.list.list-ordered{list-style-type:decimal;display:list-item;margin-left:30px}.list.list-ordered .list-item{display:list-item}.list.list-definition{width:100%;max-width:620px;gap:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.list.list-definition .list-row{display:grid;grid-template-columns:minmax(120px,0.32fr) minmax(0,1fr);gap:15px;align-items:start;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.list.list-definition .list-row .list-term{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;margin:0;padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:background,transform}.list.list-definition .list-row .list-desc{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.2s;transition-timing-function:ease;transition-property:color,transform}.list.list-definition .list-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.list.list-definition .list-row:hover{background:rgba(192,202,245,.085)}.list.list-definition .list-row:hover .list-term{background:#7aa2f7;transform:translateX(5px)}.list.list-definition .list-row:hover .list-desc{color:#c0caf5;transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.list.list-definition .list-row:active{background:rgba(192,202,245,.085)}.list.list-definition .list-row:active .list-term{background:#7aa2f7;transform:translateX(5px)}.list.list-definition .list-row:active .list-desc{color:#c0caf5;transform:translateX(5px)}}.list.list-nav{max-width:420px;width:100%;gap:0}.list.list-nav .list-item{display:flex;flex-direction:column;align-items:flex-start;height:50px;margin:0}.list.list-nav .list-item .list-action{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;padding:8px 12px;border:2px solid transparent;font-size:15px;background:#1f2335;color:inherit;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color,color}.list.list-nav .list-item .list-action:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.list.list-nav .list-item .list-action:hover{background:#7aa2f7;color:#16161e}}@media (hover:none) and (pointer:coarse){.list.list-nav .list-item .list-action:active{background:#7aa2f7;color:#16161e}}.list.list-nav .list-item .list-action .list-label{display:flex;flex-direction:row;gap:8px;align-items:center;letter-spacing:0;font-weight:400}.list.list-nav .list-item .list-action .list-meta{padding:8px;background:#9ece6a;color:#16161e;display:flex}.list.list-nav .list-item.list-item-active .list-action{background:#7aa2f7;color:#16161e;border-color:#7aa2f7}.list.list-actions{width:100%;max-width:420px;gap:22px}.list.list-actions .list-item{justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:2px solid rgba(192,202,245,.08)}.list.list-actions .list-item .list-content{display:flex;flex-direction:column;gap:8px}.list.list-actions .list-item .list-content .list-title{font-size:16px;line-height:1}.list.list-actions .list-item .list-content .list-subtitle{color:#787c99}@media (hover:hover) and (pointer:fine){.list.list-actions .list-item:hover .list-title{color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.list.list-actions .list-item:active .list-title{color:#7aa2f7}}@media (max-width:479px){.list.list-definition .list-row{grid-template-columns:1fr;gap:8px}}.badge{position:relative;overflow:hidden;background:#c0caf5;color:#16161e;padding:5px 8px;font-size:13px;font-weight:600;line-height:1;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:24px;transition-duration:.2s;transition-timing-function:ease;transition-property:filter,transform,border-color,color,background}.badge::after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:linear-gradient(90deg,transparent,rgba(22,22,30,.16),transparent);opacity:0;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.badge:hover{filter:saturate(1.12);transform:translateY(-1px)}.badge:hover::after{opacity:1;animation:terminal_scan_x .7s ease}}@media (hover:none) and (pointer:coarse){.badge:active{filter:saturate(1.12);transform:translateY(-1px)}.badge:active::after{opacity:1;animation:terminal_scan_x .7s ease}}.badge.badge-success{background:#9ece6a}.badge.badge-warning{background:#e0af68}.badge.badge-danger,.badge.badge-error{background:#f7768e}.badge.badge-info{background:#bb9af7;color:#16161e}.badge.badge-secondary{background:#7aa2f7;color:#16161e}.badge.badge-primary-outline{color:#c0caf5;border:2px solid #c0caf5;background:0 0;padding:3px 8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:5px 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.chip .ph,.chip .ph-bold{font-size:18px}.chip::before{content:"";display:inline-block;width:7px;height:7px;flex:0 0 auto;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow,transform}.chip:has(.ph)::before,.chip:has(.ph-bold)::before{display:none}.chip .chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:-5px;border:0;color:inherit;background:0 0;font:inherit;cursor:pointer}.chip .chip-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.chip.chip-primary{color:#c0caf5;background:rgba(192,202,245,.08);border-color:#c0caf5}.chip.chip-primary::before{background:#c0caf5}.chip.chip-secondary{color:#7aa2f7;background:rgba(122,162,247,.08);border-color:#7aa2f7}.chip.chip-secondary::before{background:#7aa2f7}.chip.chip-success{color:#9ece6a;background:rgba(158,206,106,.08);border-color:#9ece6a}.chip.chip-success::before{background:#9ece6a}.chip.chip-warning{color:#e0af68;background:rgba(224,175,104,.08);border-color:#e0af68}.chip.chip-warning::before{background:#e0af68}.chip.chip-danger,.chip.chip-error{color:#f7768e;background:rgba(247,118,142,.08);border-color:#f7768e}.chip.chip-danger::before,.chip.chip-error::before{background:#f7768e}.chip.chip-selected,.chip[aria-pressed=true],.chip[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.chip.chip-selected::before,.chip[aria-pressed=true]::before,.chip[aria-selected=true]::before{background:#16161e}.chip.chip-secondary[aria-pressed=true],.chip.chip-secondary[aria-selected=true],.chip.chip-selected.chip-secondary{background:#7aa2f7;border-color:#7aa2f7}.chip.chip-disabled,.chip:disabled{color:#787c99;background:#1f2335;border-color:rgba(192,202,245,.24);cursor:not-allowed;opacity:.7}.chip.chip-disabled::before,.chip:disabled::before{background:#414868}a.chip,button.chip{cursor:pointer}a.chip:focus-visible,button.chip:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){a.chip:hover,button.chip:hover{color:#c0caf5;background:rgba(192,202,245,.085);border-color:#7aa2f7}a.chip:hover::before,button.chip:hover::before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}@media (hover:none) and (pointer:coarse){a.chip:active,button.chip:active{color:#c0caf5;background:rgba(192,202,245,.085);border-color:#7aa2f7}a.chip:active::before,button.chip:active::before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 auto;overflow:hidden;border:2px solid rgba(192,202,245,.24);color:#16161e;background:#c0caf5;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar .ph,.avatar .ph-bold{font-size:22px}.avatar .avatar-status{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:2px solid #16161e;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow}.avatar.avatar-sm{width:38px;height:38px;font-size:12px}.avatar.avatar-sm .ph,.avatar.avatar-sm .ph-bold{font-size:18px}.avatar.avatar-lg{width:54px;height:54px;font-size:14px}.avatar.avatar-lg .ph,.avatar.avatar-lg .ph-bold{font-size:26px}.avatar.avatar-secondary{background:#7aa2f7}.avatar.avatar-success{background:#9ece6a}.avatar.avatar-warning{background:#e0af68}.avatar.avatar-danger,.avatar.avatar-error{background:#f7768e}.avatar.avatar-outline{color:#c0caf5;background:#1f2335;border-color:#c0caf5}.avatar.is-online .avatar-status{background:#9ece6a;animation:terminal_pulse 1.8s ease infinite}.avatar.is-busy .avatar-status{background:#e0af68}.avatar.is-offline .avatar-status{background:#787c99}.identity{display:inline-flex;align-items:center;gap:12px;min-width:0}.identity-content{display:flex;flex-direction:column;gap:5px;min-width:0}.identity-title{color:#c0caf5;font-size:15px;font-weight:600;line-height:1}.identity-meta{color:#787c99;font-size:13px;line-height:1.4}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{margin-right:-8px;border-color:#16161e}.avatar-stack .avatar-stack-count{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 8px;border:2px solid #16161e;color:#16161e;background:#e0af68;font-size:13px;font-weight:700}.table{width:100%;text-align:left;border:2px solid rgba(192,202,245,.24);border-collapse:collapse;background:#1f2335}.table .table-caption{text-align:left;font-size:16px;background:#c0caf5;width:-moz-max-content;width:max-content;color:#16161e;padding:5px 12px;margin-bottom:0;font-weight:700;text-transform:uppercase}.table.table-empty{width:100%}.table.table-empty .is-empty{width:100%;padding:15px;font-size:13px;color:#787c99;text-align:left}.table .table-row td,.table .table-row th{padding:12px 18px;font-size:13px;vertical-align:middle;border-bottom:2px solid rgba(192,202,245,.08)}.table .table-row th{color:#c0caf5;background:rgba(192,202,245,.04);text-transform:uppercase;letter-spacing:.04em}.table .table-head{border-bottom:2px solid #c0caf5}.table .table-body .table-row{transition-duration:.2s;transition-timing-function:ease;transition-property:background,color}.table .table-body .table-row td{transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}@media (hover:hover) and (pointer:fine){.table .table-body .table-row:hover{background:rgba(122,162,247,.08)}.table .table-body .table-row:hover td:first-child{color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.table .table-body .table-row:active{background:rgba(122,162,247,.08)}.table .table-body .table-row:active td:first-child{color:#7aa2f7}}.table .table-foot td,.table .table-foot th{padding-top:15px}.table.table-compact .table-caption{font-size:14px}.table.table-compact .table-row td,.table.table-compact .table-row th{padding:8px 12px;font-size:12px}.table.table-compact .table-cell-mono{color:#a9b1d6;font-family:"IBM Plex Mono",monospace;letter-spacing:0}.table.table-compact .table-cell-actions{width:1%;white-space:nowrap}.table-wrapper{width:100%;overflow-x:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.toolbar .toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.toolbar .toolbar-title{margin:0;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.toolbar .toolbar-meta{color:#787c99;font-size:13px}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination .pagination-item{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.pagination .pagination-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.pagination .pagination-item:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.pagination .pagination-item:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.pagination .pagination-item.pagination-item-active,.pagination .pagination-item[aria-current=page]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.pagination .pagination-item.pagination-item-disabled,.pagination .pagination-item:disabled{color:#787c99;background:#1f2335;border-color:rgba(192,202,245,.24);cursor:not-allowed;opacity:.72}.pagination .pagination-ellipsis{color:#787c99;padding:0 5px}.empty-state{max-width:560px;padding:22px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.empty-state .empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:15px;color:#16161e;background:#c0caf5;font-size:26px}.empty-state .empty-state-title{margin:0 0 8px;font-size:20px;font-weight:700;text-transform:uppercase}.empty-state .empty-state-text{max-width:440px;margin:0 0 18px;color:#a9b1d6;line-height:1.6}.empty-state .empty-state-actions{display:flex;flex-wrap:wrap;gap:8px}.empty-state.empty-state-error{border-color:#f7768e}.empty-state.empty-state-error .empty-state-icon{background:#f7768e}.skeleton{display:block;position:relative;overflow:hidden;background:rgba(192,202,245,.085)}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);animation:skeleton_shimmer 1.6s infinite}.skeleton.skeleton-line{width:100%;height:14px}.skeleton.skeleton-title{width:60%;height:22px}.skeleton.skeleton-block{width:100%;height:120px}.skeleton.skeleton-square{width:54px;height:54px}.skeleton-stack{display:flex;flex-direction:column;gap:12px;max-width:520px;padding:15px;border:2px solid rgba(192,202,245,.24);background:#1f2335}@keyframes skeleton_shimmer{100%{transform:translateX(100%)}}.page-header{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;width:100%;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335;overflow:hidden;animation:panel_boot .28s ease both}.page-header::after{content:"";position:absolute;top:0;left:0;width:34%;height:2px;background:linear-gradient(90deg,transparent,#7aa2f7,transparent);opacity:.72;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.page-header:hover::after{animation:terminal_scan_x .9s ease}}@media (hover:none) and (pointer:coarse){.page-header:active::after{animation:terminal_scan_x .9s ease}}.page-header .page-header-content{display:flex;flex-direction:column;gap:8px;min-width:min(100%,320px)}.page-header .page-header-kicker{color:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.page-header .page-header-title{margin:0;color:#c0caf5;font-size:26px;font-weight:700;line-height:1.15}.page-header .page-header-subtitle{max-width:720px;margin:0;color:#a9b1d6;font-size:15px;line-height:1.6}.page-header .page-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.page-header .page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.page-header.page-header-compact{align-items:center;padding:15px}.page-header.page-header-compact .page-header-title{font-size:20px}.page-header.page-header-accent{border-color:#7aa2f7;background:rgba(122,162,247,.055)}.description-list{display:grid;width:100%;max-width:760px;margin:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.description-list .description-list-row{display:grid;grid-template-columns:minmax(140px,0.36fr) minmax(0,1fr);gap:15px;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.description-list .description-list-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.description-list .description-list-row:hover{background:rgba(192,202,245,.085)}.description-list .description-list-row:hover .description-list-term{color:#7aa2f7}.description-list .description-list-row:hover .description-list-value{transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.description-list .description-list-row:active{background:rgba(192,202,245,.085)}.description-list .description-list-row:active .description-list-term{color:#7aa2f7}.description-list .description-list-row:active .description-list-value{transform:translateX(5px)}}.description-list .description-list-term{margin:0;color:#787c99;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.description-list .description-list-value{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;color:#c0caf5;font-size:15px;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:transform}.description-list .description-list-value-muted{color:#a9b1d6}.description-list.description-list-compact{max-width:520px}.description-list.description-list-compact .description-list-row{grid-template-columns:minmax(112px,0.42fr) minmax(0,1fr);gap:12px;padding:8px 12px}.description-list.description-list-compact .description-list-term,.description-list.description-list-compact .description-list-value{font-size:13px}@media (max-width:479px){.description-list .description-list-row{grid-template-columns:1fr;gap:5px}}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:900px;margin:0;padding:0;list-style:none}.steps .step{position:relative;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.steps .step-marker{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#c0caf5;border:2px solid rgba(192,202,245,.24);font-size:13px;font-weight:700;line-height:1}.steps .step-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.steps .step-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.steps .step-complete{border-color:#9ece6a}.steps .step-complete .step-marker{color:#16161e;background:#9ece6a;border-color:#9ece6a}.steps .step-current{border-color:#7aa2f7}.steps .step-current .step-marker{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}.steps .step-disabled{opacity:.62}.steps.steps-vertical{grid-template-columns:1fr;max-width:520px;gap:0}.steps.steps-vertical .step{min-height:auto;border-bottom-width:0}.steps.steps-vertical .step:last-child{border-bottom-width:2px}@media (max-width:1023px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:479px){.steps{grid-template-columns:1fr}}.timeline{display:grid;gap:0;width:100%;max-width:760px;margin:0;padding:0;list-style:none}.timeline .timeline-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;min-height:88px}.timeline .timeline-item::before{content:"";position:absolute;top:46px;bottom:0;left:22px;width:2px;background:rgba(192,202,245,.24)}.timeline .timeline-item:last-child::before{display:none}.timeline .timeline-marker{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#16161e;font-size:18px;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,color,box-shadow,transform}.timeline .timeline-content{min-width:0;padding:0 0 18px}.timeline .timeline-card{padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,transform}.timeline .timeline-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.timeline .timeline-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.timeline .timeline-time{color:#787c99;font-size:12px;font-family:"IBM Plex Mono",monospace;line-height:1.4}.timeline .timeline-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.timeline .timeline-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.timeline .timeline-item-success .timeline-card,.timeline .timeline-item-success .timeline-marker{border-color:#9ece6a}.timeline .timeline-item-success .timeline-marker{color:#16161e;background:#9ece6a}.timeline .timeline-item-warning .timeline-card,.timeline .timeline-item-warning .timeline-marker{border-color:#e0af68}.timeline .timeline-item-warning .timeline-marker{color:#16161e;background:#e0af68}.timeline .timeline-item-danger .timeline-card,.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-card,.timeline .timeline-item-error .timeline-marker{border-color:#f7768e}.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-marker{color:#16161e;background:#f7768e}@media (hover:hover) and (pointer:fine){.timeline .timeline-item:hover .timeline-marker{box-shadow:0 0 0 4px rgba(122,162,247,.14);transform:scale(1.04)}.timeline .timeline-item:hover .timeline-card{background:rgba(192,202,245,.085);transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.timeline .timeline-item:active .timeline-marker{box-shadow:0 0 0 4px rgba(122,162,247,.14);transform:scale(1.04)}.timeline .timeline-item:active .timeline-card{background:rgba(192,202,245,.085);transform:translateX(5px)}}.activity-log{display:grid;width:100%;max-width:720px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.activity-log .activity-log-row{display:grid;grid-template-columns:minmax(120px,0.24fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.activity-log .activity-log-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.activity-log .activity-log-row:hover{background:rgba(192,202,245,.085)}}@media (hover:none) and (pointer:coarse){.activity-log .activity-log-row:active{background:rgba(192,202,245,.085)}}.activity-log .activity-log-time{color:#787c99;font-family:"IBM Plex Mono",monospace;font-size:12px}.activity-log .activity-log-title{color:#c0caf5;font-size:13px;font-weight:600;line-height:1.4}@media (max-width:479px){.activity-log .activity-log-row{grid-template-columns:1fr;gap:8px}}.accordion{display:grid;width:100%;max-width:760px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.accordion-item{border-bottom:2px solid rgba(192,202,245,.08);overflow:hidden}.accordion-item:last-child{border-bottom:0}.accordion-item[open] .accordion-summary{color:#16161e;background:#c0caf5}.accordion-item[open] .accordion-icon{transform:rotate(180deg)}.accordion-summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:12px 15px;border:0;color:#c0caf5;background:0 0;cursor:pointer;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.accordion-summary::-webkit-details-marker{display:none}.accordion-summary::marker{content:""}.accordion-summary:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.accordion-summary:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.accordion-summary:active{color:#16161e;background:#7aa2f7}}.accordion-summary-content{display:flex;align-items:center;gap:8px;min-width:0}.accordion-icon{flex:0 0 auto;font-size:18px;transition-duration:.2s;transition-property:transform}.accordion-panel{overflow:hidden;padding:15px;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.28s;transition-timing-function:ease;transition-property:height,opacity,transform}.accordion-panel p{margin-top:0}.accordion-panel p:last-child{margin-bottom:0}.disclosure{max-width:520px;border:2px solid rgba(192,202,245,.24);background:#1f2335}.disclosure .accordion-summary{min-height:38px;padding:8px 12px}.disclosure .accordion-panel{padding:12px}.tabs{width:100%;max-width:900px}.tabs-list{display:flex;align-items:stretch;gap:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 15px;border:0;border-right:2px solid rgba(192,202,245,.08);border-radius:0;color:#a9b1d6;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,opacity}.tab .ph,.tab .ph-bold{font-size:18px}.tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px;z-index:1}@media (hover:hover) and (pointer:fine){.tab:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.tab:active{color:#16161e;background:#7aa2f7}}.tab:disabled,.tab[aria-disabled=true]{color:#787c99;cursor:not-allowed;opacity:.62}@media (hover:hover) and (pointer:fine){.tab:disabled:hover,.tab[aria-disabled=true]:hover{color:#787c99;background:0 0}}@media (hover:none) and (pointer:coarse){.tab:disabled:active,.tab[aria-disabled=true]:active{color:#787c99;background:0 0}}.tab-active,.tab[aria-selected=true]{color:#16161e;background:#c0caf5}.tab-panel{display:none}.tab-panel p{margin-top:0}.tab-panel p:last-child{margin-bottom:0}.tab-panel-active{display:block}.tabs-compact{max-width:620px}.tabs-compact .tabs-list{border-left-width:2px}.tabs-compact .tab{min-height:38px;padding:8px 12px}.tabs-vertical{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start}.tabs-vertical .tabs-list{flex-direction:column;overflow-x:visible}.tabs-vertical .tab{justify-content:flex-start;border-right:0;border-bottom:2px solid rgba(192,202,245,.08);text-align:left}@media (max-width:767px){.tabs-vertical{grid-template-columns:1fr}.tabs-vertical .tabs-list{flex-direction:row;overflow-x:auto}.tabs-vertical .tab{justify-content:center;border-right:2px solid rgba(192,202,245,.08);border-bottom:0;text-align:center}}.drawer{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none}.drawer .drawer-backdrop{position:fixed;inset:0;z-index:1010;background:#16161e;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity;pointer-events:auto}.drawer .drawer-panel{position:relative;z-index:1020;width:min(460px,100vw - 18px);min-height:100vh;display:flex;flex-direction:column;gap:15px;background:#16161e;border-left:2px solid #c0caf5;box-shadow:-18px 0 42px rgba(22,22,30,.38);opacity:0;transform:translateX(100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform;pointer-events:auto}.drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding-right:15px;border-bottom:2px solid rgba(192,202,245,.24)}.drawer .drawer-title{margin:0;padding:12px 15px;background:#c0caf5;color:#16161e;text-transform:uppercase;letter-spacing:.04em}.drawer .drawer-body{flex:1;overflow-y:auto;padding:18px}.drawer .drawer-footer{padding:18px;border-top:2px solid rgba(192,202,245,.24)}.drawer .drawer-footer .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;width:100%}.drawer.drawer-left{justify-content:flex-start}.drawer.drawer-left .drawer-panel{border-left:0;border-right:2px solid #c0caf5;box-shadow:18px 0 42px rgba(22,22,30,.38);transform:translateX(-100%)}.drawer.a-show .drawer-backdrop{opacity:.82}.drawer.a-show .drawer-panel{opacity:1;transform:translateX(0)}.drawer.a-hide .drawer-backdrop{opacity:0}.drawer.a-hide .drawer-panel{opacity:0;transform:translateX(100%)}.drawer.a-hide.drawer-left .drawer-panel{transform:translateX(-100%)}.drawer-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:18px;align-items:stretch;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.drawer-preview .drawer-preview-content{display:flex;flex-direction:column;gap:12px}.drawer-preview .drawer-preview-panel{display:flex;flex-direction:column;gap:12px;padding:15px;border:2px solid #7aa2f7;background:#1f2335}.drawer-preview .drawer-preview-title{margin:0;color:#7aa2f7;font-size:14px;text-transform:uppercase}.drawer-preview .drawer-preview-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media (max-width:720px){.drawer-preview{grid-template-columns:1fr}}.nav-topbar{position:sticky;top:0;z-index:900;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:58px;border-bottom:2px solid rgba(192,202,245,.24);background:rgba(22,22,30,.96);box-shadow:0 10px 28px rgba(22,22,30,.26)}.nav-topbar-toggle{display:inline-flex;align-items:center;align-self:stretch;gap:8px;min-width:150px;padding:0 15px;border:0;border-right:2px solid rgba(192,202,245,.24);color:#c0caf5;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.nav-topbar-toggle .ph{color:#7aa2f7;font-size:22px}.nav-topbar-toggle:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-topbar-toggle:hover{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:hover .ph{color:#16161e}}@media (hover:none) and (pointer:coarse){.nav-topbar-toggle:active{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:active .ph{color:#16161e}}.nav-topbar-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0 15px;color:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-topbar-brand img{width:22px;height:22px}.nav-topbar-current{min-width:160px;margin-right:15px;padding:5px 8px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}.nav-drawer-backdrop{position:fixed;inset:0;z-index:910;background:#16161e;opacity:0;pointer-events:none;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity}.nav-drawer{position:fixed;inset:0 auto 0 0;z-index:920;display:flex;flex-direction:column;width:min(380px,100vw);max-height:100vh;border-right:2px solid #c0caf5;background:#1f2335;box-shadow:18px 0 42px rgba(22,22,30,.38);opacity:0;overflow:hidden;pointer-events:none;transform:translateX(-100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform}.nav-drawer.is-open{opacity:1;pointer-events:auto;transform:translateX(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:2px solid rgba(192,202,245,.24)}.nav-drawer-title{display:inline-flex;padding:8px 12px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-drawer-subtitle{margin-top:8px;color:#787c99;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:2px solid rgba(192,202,245,.24);color:#c0caf5;background:0 0;font-size:22px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.nav-drawer-close:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-drawer-close:hover{color:#16161e;background:#f7768e;border-color:#f7768e}}@media (hover:none) and (pointer:coarse){.nav-drawer-close:active{color:#16161e;background:#f7768e;border-color:#f7768e}}.nav-drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-width:thin;scrollbar-color:#7AA2F7 #1F2335}.nav-drawer-body::-webkit-scrollbar{width:8px}.nav-drawer-body::-webkit-scrollbar-track{background:#1f2335}.nav-drawer-body::-webkit-scrollbar-thumb{background:#7aa2f7}.nav-drawer-body .list.list-nav{max-width:none}.nav-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-top:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-footer .profile-identity{display:block;text-decoration:none;color:inherit;min-width:0;flex:1 1 auto;overflow:hidden}@media (hover:hover) and (pointer:fine){.nav-drawer-footer .profile-identity:hover{color:inherit}}@media (hover:none) and (pointer:coarse){.nav-drawer-footer .profile-identity:active{color:inherit}}.nav-drawer-open{overflow:hidden}.nav-drawer-open .nav-drawer-backdrop{opacity:.82;pointer-events:auto}@media (max-width:767px){.nav-topbar-toggle{min-width:54px;padding:0 12px}.nav-topbar-brand{padding-right:12px;padding-left:12px}.nav-topbar-current{max-width:38vw;min-width:0;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-drawer{width:100vw;border-right:0}}.nav-shell-preview{width:100%;max-width:900px;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#16161e}.nav-shell-preview-topbar{position:relative;z-index:0;min-height:52px;box-shadow:none}.nav-shell-preview-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:320px}.nav-shell-preview-drawer{position:relative;z-index:0;inset:auto;width:auto;max-height:none;opacity:1;pointer-events:auto;transform:none;box-shadow:none}.nav-shell-preview-content{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;padding:18px;border-left:2px solid rgba(192,202,245,.24);background:#1f2335}.nav-shell-preview-content h3{margin:0;color:#c0caf5;font-size:20px;text-transform:uppercase}.nav-shell-preview-content p{max-width:360px;margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media (max-width:767px){.nav-shell-preview-body{grid-template-columns:1fr}.nav-shell-preview-content{min-height:180px;border-top:2px solid rgba(192,202,245,.24);border-left:0}}.toast{position:fixed;z-index:1100;bottom:-100px;right:15px;max-width:420px;background:#1f2335;border:2px solid #c0caf5;border-left-width:6px;padding:0;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,top,bottom}.toast.a-show{bottom:15px;opacity:1}.toast.a-hide{bottom:115px;opacity:0}.toast .toast-content{display:flex;flex-direction:column;gap:0}.toast .toast-content .toast-title{min-height:38px;font-size:16px;display:flex;flex-direction:row;gap:8px;align-items:center;color:#16161e;background:#c0caf5;padding:8px 12px;padding-right:42px;text-transform:uppercase}.toast .toast-content .toast-text{font-size:13px;padding:22px 15px;margin:0}.toast .toast-close{position:absolute;top:0;right:0;color:#16161e;height:38px;width:38px;border-color:transparent}@media (hover:hover) and (pointer:fine){.toast .toast-close:hover{color:#16161e;background:rgba(22,22,30,.12);border-color:rgba(22,22,30,.42)}}@media (hover:none) and (pointer:coarse){.toast .toast-close:active{color:#16161e;background:rgba(22,22,30,.12);border-color:rgba(22,22,30,.42)}}.toast.toast-info{border-color:#bb9af7}.toast.toast-info .toast-title{background:#bb9af7}.toast.toast-success{border-color:#9ece6a}.toast.toast-success .toast-title{background:#9ece6a}.toast.toast-warning{border-color:#e0af68}.toast.toast-warning .toast-title{background:#e0af68}.toast.toast-danger{border-color:#f7768e}.toast.toast-danger .toast-title{background:#f7768e}.card{position:relative;max-width:340px;width:-moz-max-content;width:max-content;overflow:hidden;background:#1f2335;border:2px solid #c0caf5}.card .card-title{color:#16161e;background:#c0caf5;padding:8px 12px;font-weight:700;text-transform:uppercase}.card .card-content{padding:15px;height:100%}.card .card-content .card-thumb{display:block;width:min(68%,190px);margin:18px auto 22px}.card .card-content p{margin-top:8px;margin-bottom:0}.card .card-footer{padding:8px 15px;padding-bottom:15px}.card.status-card{max-width:220px;overflow:hidden}.card.status-card .status-icon-container{position:relative}.card.status-card .status-icon-container .status-indicator{position:absolute;top:-15px;left:-5px;font-size:22px;color:#f7768e}.card.status-card .status-icon-container .status-indicator.status-online{color:#9ece6a}.card.status-card .status-icon-container .status-icon{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;font-size:56px;height:108px;width:100%}.card.status-card .card-title{display:flex;width:100%;font-size:14px;font-weight:700;align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.card.status-card .status-name{font-size:13px;line-height:1.4}.card.status-card.card-success{border-color:#9ece6a}.card.status-card.card-success .card-title,.card.status-card.card-success .modal-title,.card.status-card.card-success .toast-title{color:#16161e;background:#9ece6a}.card.status-card.card-success .status-icon{color:#9ece6a}.card.status-card.card-warning{border-color:#e0af68}.card.status-card.card-warning .card-title,.card.status-card.card-warning .modal-title,.card.status-card.card-warning .toast-title{color:#16161e;background:#e0af68}.card.status-card.card-warning .status-icon{color:#e0af68}.card.status-card.card-info{border-color:#bb9af7}.card.status-card.card-info .card-title,.card.status-card.card-info .modal-title,.card.status-card.card-info .toast-title{color:#16161e;background:#bb9af7}.card.status-card.card-info .status-icon{color:#bb9af7}.card.status-card.card-secondary{border-color:#7aa2f7}.card.status-card.card-secondary .card-title,.card.status-card.card-secondary .modal-title,.card.status-card.card-secondary .toast-title{color:#16161e;background:#7aa2f7}.card.status-card.card-secondary .status-icon{color:#7aa2f7}.card.status-card.card-danger,.card.status-card.card-error{border-color:#f7768e}.card.status-card.card-danger .card-title,.card.status-card.card-danger .modal-title,.card.status-card.card-danger .toast-title,.card.status-card.card-error .card-title,.card.status-card.card-error .modal-title,.card.status-card.card-error .toast-title{color:#16161e;background:#f7768e}.card.status-card.card-danger .status-icon,.card.status-card.card-error .status-icon{color:#f7768e}.card.metric-card{max-width:320px;border-color:rgba(192,202,245,.24)}.card.metric-card .card-content{display:flex;flex-direction:column;gap:15px}.card.metric-card .metric-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card.metric-card .metric-card-label{margin:0;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.card.metric-card .metric-card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:#16161e;background:#7aa2f7;font-size:22px}.card.metric-card .metric-card-value{margin:0;color:#c0caf5;font-size:34px;font-weight:700;line-height:1.15}.card.metric-card .metric-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.card.metric-card .metric-card-delta{color:#9ece6a;font-weight:700}.card.metric-card .metric-card-delta.metric-card-delta-negative{color:#f7768e}.card.card-horizontal{max-width:none;display:flex;flex-direction:row;align-items:stretch;overflow:hidden}.card.card-horizontal .card-media{flex:0 0 20%;min-width:80px;max-width:160px;max-height:160px;overflow:hidden;position:relative;aspect-ratio:1;align-self:start}.card.card-horizontal .card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.card.card-horizontal .card-body{flex:1 1 auto;display:flex;flex-direction:column;padding:15px;gap:12px}.card.card-horizontal .card-title{padding:0;background:0 0;color:#c0caf5;font-size:16px;font-weight:700;text-transform:none;line-height:1.25}.card.card-horizontal .card-title a{color:inherit;text-decoration:none}.card.card-horizontal .card-content{padding:0;height:auto}.card.card-horizontal .card-content p{margin:0}.card.card-horizontal .card-footer{padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#a9b1d6;font-size:13px}.card.action-card{max-width:360px;border-color:#7aa2f7}.card.action-card .card-content{display:flex;flex-direction:column;gap:15px}.card.action-card .action-card-kicker{display:inline-flex;width:-moz-max-content;width:max-content;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.card.action-card .action-card-title{margin:0;font-size:20px;font-weight:700;line-height:1.25;text-transform:uppercase}.card.action-card .action-card-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.card.action-card .action-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.card.login-card{max-width:100%;width:460px;border-color:#c0caf5}.card.login-card .login-card-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px}.card.login-card .login-card-logo{display:block;width:auto;max-height:40px}.card.login-card .login-card-logo-icon{font-size:56px;color:#c0caf5}.card.login-card .login-card-title{font-size:20px;font-weight:700;text-transform:uppercase}.card.login-card .login-card-form{display:flex;flex-direction:column;gap:15px}.card.login-card .login-card-submit{width:-moz-max-content;width:max-content;margin-top:8px}.card.login-card .form-group{margin-bottom:0}.card.login-card .login-card-links{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px}.card.login-card .login-card-link{color:#a9b1d6;text-decoration:none}@media (hover:hover) and (pointer:fine){.card.login-card .login-card-link:hover{color:#c0caf5;text-decoration:underline}}@media (hover:none) and (pointer:coarse){.card.login-card .login-card-link:active{color:#c0caf5;text-decoration:underline}}.card.login-card .login-card-error{margin-bottom:8px}.card.user-card{max-width:320px}.card.user-card .user-card-body{display:flex;flex-direction:column;align-items:center;gap:15px;padding:18px;text-align:center}.card.user-card .identity{flex-direction:column;align-items:center;gap:15px}.card.user-card .identity .avatar{width:64px;height:64px;font-size:20px}.card.user-card .identity .identity-content{align-items:center;text-align:center}.card.user-card .user-card-role{color:#a9b1d6;font-size:13px;margin-top:5px}.card.user-card .user-card-actions{display:flex;gap:8px}.card.user-card-compact{max-width:none}.card.user-card-compact .user-card-body{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 15px;text-align:left}.card.user-card-compact .identity{flex-direction:row;gap:12px}.card.user-card-compact .identity .avatar{width:38px;height:38px;font-size:13px}.card.user-card-compact .identity .identity-content{align-items:flex-start}.card.user-card-compact .user-card-actions{display:flex;gap:5px}.modal{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal .modal-backdrop{position:fixed;z-index:1010;top:0;bottom:0;left:0;right:0;background:#16161e;opacity:0;transition-duration:.25s;transition-property:opacity}.modal .modal-dialog{position:relative;z-index:1020;width:100%;max-width:960px;margin:18px;height:auto;max-height:calc(100vh - 48px);padding:0;display:flex;flex-direction:column;gap:0;margin-top:200px;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,margin-top}.modal .modal-dialog .modal-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.modal .modal-dialog .modal-header .modal-title{padding:12px 15px;background:#c0caf5;color:#16161e;text-transform:uppercase;letter-spacing:.04em}.modal .modal-dialog .modal-header .modal-close{flex:0 0 auto;color:#c0caf5;border-color:rgba(192,202,245,.24);background:#16161e}.modal .modal-dialog .modal-panel{min-height:200px;display:flex;flex-direction:column;gap:15px;overflow:hidden;background:#16161e;border:2px solid #c0caf5;border-left-width:6px}.modal .modal-dialog .modal-body{max-height:700px;overflow-y:auto;padding:18px}.modal .modal-dialog .modal-footer{padding:18px}.modal .modal-dialog .modal-footer .actions{display:flex;flex-direction:row;justify-content:flex-end;gap:15px;width:100%}.modal.a-show .modal-backdrop{opacity:1}.modal.a-show .modal-dialog{opacity:1;margin-top:0}.modal.a-hide .modal-backdrop{opacity:0}.modal.a-hide .modal-dialog{opacity:0;margin-top:-200px}.alert{position:relative;overflow:hidden;margin-bottom:12px;padding:12px 15px;border:2px solid transparent;border-left-style:solid;border-left-width:6px;background:#1f2335;color:#c0caf5;font-weight:500;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:background,color,border-color}.alert::after{content:"";position:absolute;inset:0 auto 0 0;width:36%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);opacity:0;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.alert:hover::after{opacity:1;animation:terminal_scan_x .8s ease}}@media (hover:none) and (pointer:coarse){.alert:active::after{opacity:1;animation:terminal_scan_x .8s ease}}.alert.alert-primary{border-color:#c0caf5;background:rgba(192,202,245,.1);color:#c0caf5}.alert.alert-success{border-color:#9ece6a;background:rgba(158,206,106,.1);color:#9ece6a}.alert.alert-secondary{border-color:#7aa2f7;background:rgba(122,162,247,.1);color:#7aa2f7}.alert.alert-info{border-color:#bb9af7;background:rgba(187,154,247,.1);color:#c0caf5}.alert.alert-warning{border-color:#e0af68;background:rgba(224,175,104,.1);color:#e0af68}.alert.alert-danger,.alert.alert-error{border-color:#f7768e;background:rgba(247,118,142,.1);color:#f7768e}.advanced-select-container{position:relative;height:0}.advanced-select{position:absolute;z-index:100;top:6px;width:100%;height:auto;max-height:200px;overflow-y:auto;background:#16161e;border:2px solid #c0caf5;border-left-width:6px;margin-top:20px;opacity:0;visibility:hidden;transition-property:opacity,margin-top,visibility;transition-duration:.2s;transition-timing-function:ease}.advanced-select.a-show{opacity:1;margin-top:0;visibility:visible}.advanced-select .popup-options-container .not-found{width:100%;padding:15px;text-align:center;display:none}.advanced-select .popup-options-container .not-found.show{display:block}.advanced-select .popup-options-container .options{width:100%;display:none}.advanced-select .popup-options-container .options.show{display:block}.advanced-select .popup-options-container .options .option{padding:8px 15px;transition-property:color,background;transition-duration:.15s}.advanced-select .popup-options-container .options .option.hide{display:none}.advanced-select .popup-options-container .options .option.focus,.advanced-select .popup-options-container .options .option:hover{color:#16161e;background:#e0af68}.component.editable-string-component .editable-string-content{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:inherit}.component.editable-string-component .editable-string-content .editable-string{font-size:inherit;border-bottom:2px solid rgba(192,202,245,.24)}@media (hover:hover) and (pointer:fine){.component.editable-string-component .apply-changes-btn:hover,.component.editable-string-component .cancel-changes-btn:hover,.component.editable-string-component .edit-text-btn:hover{color:#16161e;background:#e0af68}}@media (hover:none) and (pointer:coarse){.component.editable-string-component .apply-changes-btn:active,.component.editable-string-component .cancel-changes-btn:active,.component.editable-string-component .edit-text-btn:active{color:#16161e;background:#e0af68}}.component.editable-string-component .apply-changes-btn{color:#e0af68}.component.editable-string-component .editable-string-form{display:flex;flex-direction:row;align-items:center;gap:8px}.component.editable-string-component .editable-string-form .form-group{max-width:260px;margin:0}.component.editable-string-component .editable-string-form .form-group .input{padding:8px 15px}.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:15px}.tabs .tab{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;line-height:1;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.tabs .tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.tabs .tab:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.tabs .tab:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.tabs .tab.tab-active,.tabs .tab[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.dropdown,.popover{position:relative;display:inline-flex}.dropdown-menu,.popover-panel,.tooltip-panel{z-index:40;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px;box-shadow:0 14px 36px rgba(22,22,30,.36)}.dropdown-menu,.popover-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:none;transform-origin:top left}.dropdown.is-open .dropdown-menu,.popover.is-open .popover-panel{display:block;animation:overlay_reveal .2s ease both}.dropdown-menu{padding:5px}.dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px 12px;border:0;color:#c0caf5;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;text-align:left;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.dropdown-menu .dropdown-item .ph,.dropdown-menu .dropdown-item .ph-bold{font-size:18px}.dropdown-menu .dropdown-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.dropdown-menu .dropdown-item:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.dropdown-menu .dropdown-item:active{color:#16161e;background:#7aa2f7}}.dropdown-menu .dropdown-item.dropdown-item-danger{color:#f7768e}@media (hover:hover) and (pointer:fine){.dropdown-menu .dropdown-item.dropdown-item-danger:hover{color:#16161e;background:#f7768e}}@media (hover:none) and (pointer:coarse){.dropdown-menu .dropdown-item.dropdown-item-danger:active{color:#16161e;background:#f7768e}}.popover-panel{width:min(320px,100vw - 22px);padding:15px}.popover-panel .popover-title{margin:0 0 8px;font-size:14px;font-weight:700;text-transform:uppercase}.popover-panel .popover-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.tooltip{position:relative;display:inline-flex}.tooltip-panel{position:absolute;left:50%;bottom:calc(100% + 8px);width:-moz-max-content;width:max-content;max-width:260px;padding:8px 12px;color:#c0caf5;font-size:12px;line-height:1.4;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition-duration:.15s;transition-timing-function:ease;transition-property:opacity,visibility}.tooltip.is-open .tooltip-panel,.tooltip:focus-within .tooltip-panel,.tooltip:hover .tooltip-panel{opacity:1;visibility:visible;animation:tooltip_reveal .15s ease both}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.g-0{gap:0!important}.gx-0{-moz-column-gap:0!important;column-gap:0!important}.gy-0{row-gap:0!important}.m-1{margin:5px!important}.mt-1{margin-top:5px!important}.mr-1{margin-right:5px!important}.mb-1{margin-bottom:5px!important}.ml-1{margin-left:5px!important}.mx-1{margin-left:5px!important;margin-right:5px!important}.my-1{margin-top:5px!important;margin-bottom:5px!important}.p-1{padding:5px!important}.pt-1{padding-top:5px!important}.pr-1{padding-right:5px!important}.pb-1{padding-bottom:5px!important}.pl-1{padding-left:5px!important}.px-1{padding-left:5px!important;padding-right:5px!important}.py-1{padding-top:5px!important;padding-bottom:5px!important}.g-1{gap:5px!important}.gx-1{-moz-column-gap:5px!important;column-gap:5px!important}.gy-1{row-gap:5px!important}.m-2{margin:8px!important}.mt-2{margin-top:8px!important}.mr-2{margin-right:8px!important}.mb-2{margin-bottom:8px!important}.ml-2{margin-left:8px!important}.mx-2{margin-left:8px!important;margin-right:8px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.p-2{padding:8px!important}.pt-2{padding-top:8px!important}.pr-2{padding-right:8px!important}.pb-2{padding-bottom:8px!important}.pl-2{padding-left:8px!important}.px-2{padding-left:8px!important;padding-right:8px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.g-2{gap:8px!important}.gx-2{-moz-column-gap:8px!important;column-gap:8px!important}.gy-2{row-gap:8px!important}.m-3{margin:12px!important}.mt-3{margin-top:12px!important}.mr-3{margin-right:12px!important}.mb-3{margin-bottom:12px!important}.ml-3{margin-left:12px!important}.mx-3{margin-left:12px!important;margin-right:12px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.p-3{padding:12px!important}.pt-3{padding-top:12px!important}.pr-3{padding-right:12px!important}.pb-3{padding-bottom:12px!important}.pl-3{padding-left:12px!important}.px-3{padding-left:12px!important;padding-right:12px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.g-3{gap:12px!important}.gx-3{-moz-column-gap:12px!important;column-gap:12px!important}.gy-3{row-gap:12px!important}.m-4{margin:15px!important}.mt-4{margin-top:15px!important}.mr-4{margin-right:15px!important}.mb-4{margin-bottom:15px!important}.ml-4{margin-left:15px!important}.mx-4{margin-left:15px!important;margin-right:15px!important}.my-4{margin-top:15px!important;margin-bottom:15px!important}.p-4{padding:15px!important}.pt-4{padding-top:15px!important}.pr-4{padding-right:15px!important}.pb-4{padding-bottom:15px!important}.pl-4{padding-left:15px!important}.px-4{padding-left:15px!important;padding-right:15px!important}.py-4{padding-top:15px!important;padding-bottom:15px!important}.g-4{gap:15px!important}.gx-4{-moz-column-gap:15px!important;column-gap:15px!important}.gy-4{row-gap:15px!important}.m-5{margin:18px!important}.mt-5{margin-top:18px!important}.mr-5{margin-right:18px!important}.mb-5{margin-bottom:18px!important}.ml-5{margin-left:18px!important}.mx-5{margin-left:18px!important;margin-right:18px!important}.my-5{margin-top:18px!important;margin-bottom:18px!important}.p-5{padding:18px!important}.pt-5{padding-top:18px!important}.pr-5{padding-right:18px!important}.pb-5{padding-bottom:18px!important}.pl-5{padding-left:18px!important}.px-5{padding-left:18px!important;padding-right:18px!important}.py-5{padding-top:18px!important;padding-bottom:18px!important}.g-5{gap:18px!important}.gx-5{-moz-column-gap:18px!important;column-gap:18px!important}.gy-5{row-gap:18px!important}.m-6{margin:22px!important}.mt-6{margin-top:22px!important}.mr-6{margin-right:22px!important}.mb-6{margin-bottom:22px!important}.ml-6{margin-left:22px!important}.mx-6{margin-left:22px!important;margin-right:22px!important}.my-6{margin-top:22px!important;margin-bottom:22px!important}.p-6{padding:22px!important}.pt-6{padding-top:22px!important}.pr-6{padding-right:22px!important}.pb-6{padding-bottom:22px!important}.pl-6{padding-left:22px!important}.px-6{padding-left:22px!important;padding-right:22px!important}.py-6{padding-top:22px!important;padding-bottom:22px!important}.g-6{gap:22px!important}.gx-6{-moz-column-gap:22px!important;column-gap:22px!important}.gy-6{row-gap:22px!important}.m-7{margin:26px!important}.mt-7{margin-top:26px!important}.mr-7{margin-right:26px!important}.mb-7{margin-bottom:26px!important}.ml-7{margin-left:26px!important}.mx-7{margin-left:26px!important;margin-right:26px!important}.my-7{margin-top:26px!important;margin-bottom:26px!important}.p-7{padding:26px!important}.pt-7{padding-top:26px!important}.pr-7{padding-right:26px!important}.pb-7{padding-bottom:26px!important}.pl-7{padding-left:26px!important}.px-7{padding-left:26px!important;padding-right:26px!important}.py-7{padding-top:26px!important;padding-bottom:26px!important}.g-7{gap:26px!important}.gx-7{-moz-column-gap:26px!important;column-gap:26px!important}.gy-7{row-gap:26px!important}.m-8{margin:34px!important}.mt-8{margin-top:34px!important}.mr-8{margin-right:34px!important}.mb-8{margin-bottom:34px!important}.ml-8{margin-left:34px!important}.mx-8{margin-left:34px!important;margin-right:34px!important}.my-8{margin-top:34px!important;margin-bottom:34px!important}.p-8{padding:34px!important}.pt-8{padding-top:34px!important}.pr-8{padding-right:34px!important}.pb-8{padding-bottom:34px!important}.pl-8{padding-left:34px!important}.px-8{padding-left:34px!important;padding-right:34px!important}.py-8{padding-top:34px!important;padding-bottom:34px!important}.g-8{gap:34px!important}.gx-8{-moz-column-gap:34px!important;column-gap:34px!important}.gy-8{row-gap:34px!important}.m-9{margin:42px!important}.mt-9{margin-top:42px!important}.mr-9{margin-right:42px!important}.mb-9{margin-bottom:42px!important}.ml-9{margin-left:42px!important}.mx-9{margin-left:42px!important;margin-right:42px!important}.my-9{margin-top:42px!important;margin-bottom:42px!important}.p-9{padding:42px!important}.pt-9{padding-top:42px!important}.pr-9{padding-right:42px!important}.pb-9{padding-bottom:42px!important}.pl-9{padding-left:42px!important}.px-9{padding-left:42px!important;padding-right:42px!important}.py-9{padding-top:42px!important;padding-bottom:42px!important}.g-9{gap:42px!important}.gx-9{-moz-column-gap:42px!important;column-gap:42px!important}.gy-9{row-gap:42px!important}.m-10{margin:48px!important}.mt-10{margin-top:48px!important}.mr-10{margin-right:48px!important}.mb-10{margin-bottom:48px!important}.ml-10{margin-left:48px!important}.mx-10{margin-left:48px!important;margin-right:48px!important}.my-10{margin-top:48px!important;margin-bottom:48px!important}.p-10{padding:48px!important}.pt-10{padding-top:48px!important}.pr-10{padding-right:48px!important}.pb-10{padding-bottom:48px!important}.pl-10{padding-left:48px!important}.px-10{padding-left:48px!important;padding-right:48px!important}.py-10{padding-top:48px!important;padding-bottom:48px!important}.g-10{gap:48px!important}.gx-10{-moz-column-gap:48px!important;column-gap:48px!important}.gy-10{row-gap:48px!important}.m-11{margin:64px!important}.mt-11{margin-top:64px!important}.mr-11{margin-right:64px!important}.mb-11{margin-bottom:64px!important}.ml-11{margin-left:64px!important}.mx-11{margin-left:64px!important;margin-right:64px!important}.my-11{margin-top:64px!important;margin-bottom:64px!important}.p-11{padding:64px!important}.pt-11{padding-top:64px!important}.pr-11{padding-right:64px!important}.pb-11{padding-bottom:64px!important}.pl-11{padding-left:64px!important}.px-11{padding-left:64px!important;padding-right:64px!important}.py-11{padding-top:64px!important;padding-bottom:64px!important}.g-11{gap:64px!important}.gx-11{-moz-column-gap:64px!important;column-gap:64px!important}.gy-11{row-gap:64px!important}.m-12{margin:80px!important}.mt-12{margin-top:80px!important}.mr-12{margin-right:80px!important}.mb-12{margin-bottom:80px!important}.ml-12{margin-left:80px!important}.mx-12{margin-left:80px!important;margin-right:80px!important}.my-12{margin-top:80px!important;margin-bottom:80px!important}.p-12{padding:80px!important}.pt-12{padding-top:80px!important}.pr-12{padding-right:80px!important}.pb-12{padding-bottom:80px!important}.pl-12{padding-left:80px!important}.px-12{padding-left:80px!important;padding-right:80px!important}.py-12{padding-top:80px!important;padding-bottom:80px!important}.g-12{gap:80px!important}.gx-12{-moz-column-gap:80px!important;column-gap:80px!important}.gy-12{row-gap:80px!important}.row{display:flex;flex-direction:row}@media (max-width:1279px){.row.adaptive{flex-direction:column}}.column{display:flex;flex-direction:column}.f-grid{display:flex;flex-direction:row;flex-wrap:wrap}.grid{display:grid}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.w-100{width:100%}.w-auto{width:auto!important}.w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-200{width:200%}.h-100{height:100%}.min-w-0{min-width:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.fs-xs{font-size:12px}.fs-sm{font-size:13px}.fs-md{font-size:14px}.fs-base{font-size:15px}.fs-lg{font-size:16px}.fs-xl{font-size:20px}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-uppercase{text-transform:uppercase!important}.text-nowrap{white-space:nowrap!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-flex{display:inline-flex!important}.d-flex{display:flex!important}.d-grid{display:grid!important}@media (max-width:767px){.grid-2,.grid-3{grid-template-columns:1fr}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background-color:#16161e;color:#c0caf5}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{width:10px;background:#16161e;cursor:pointer}::-webkit-scrollbar-thumb{width:10px;background:#414868;cursor:default}::-webkit-scrollbar-corner{background:0 0;height:1px}::-webkit-scrollbar-button{display:none}.ph.normalize{position:relative;top:.15em} +@charset "UTF-8";@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}.container{padding:18px}.section{margin-bottom:48px}.section-title{margin-bottom:34px}.block{margin-bottom:34px}.block-title{margin-bottom:22px}.text,p{margin-bottom:15px}.hint{margin-top:8px}.list{padding-left:22px;margin-bottom:15px}.list-item{margin-bottom:8px}.list-nested{margin-top:8px}.table{margin-bottom:22px}.table-caption{margin-bottom:8px}.form-group{margin-bottom:15px}.label{margin-bottom:5px;display:block}.input,.select,.textarea{margin-top:5px}.toast{padding:15px}.toast-stack{gap:8px}@keyframes terminal_scan_x{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}@keyframes terminal_scan_y{0%{transform:translateY(-120%)}100%{transform:translateY(220%)}}@keyframes terminal_pulse{0%,100%{box-shadow:0 0 0 0 rgba(192,202,245,0)}50%{box-shadow:0 0 0 4px rgba(192,202,245,.18)}}@keyframes panel_boot{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}@keyframes overlay_reveal{0%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}@keyframes tooltip_reveal{0%{opacity:0;transform:translateX(-50%) translateY(5px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0s!important}}html{font-size:100%}body{font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:400;line-height:1.6;letter-spacing:0;color:#c0caf5}h1,h2,h3,h4,h5,h6{font-family:"IBM Plex Mono",monospace;font-weight:600;line-height:1.25;margin:0}h1.contrast,h2.contrast,h3.contrast,h4.contrast,h5.contrast,h6.contrast{background:#c0caf5;color:#16161e;display:inline;padding:0 8px}h1{font-size:34px;letter-spacing:0}h2{font-size:26px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px;font-weight:500}.text,p{font-size:15px;line-height:1.6}.text-sm{font-size:13px;line-height:1.4}.text-lg{font-size:16px;line-height:1.6}.text-lead{max-width:760px;color:#c0caf5;font-size:16px;font-weight:500;line-height:1.6}.text-muted{font-size:13px;color:#787c99}.text-strong,strong{font-weight:600}.text-bold{font-weight:700}.text-italic,em{font-style:italic}.text-success{color:#9ece6a}.text-warning{color:#e0af68}.text-danger,.text-error{color:#f7768e}.text-info{color:#bb9af7}.eyebrow{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.caption{color:#787c99;font-size:12px;line-height:1.4}.code,code,pre{font-family:"IBM Plex Mono",monospace;font-size:15px;line-height:1.4;background-color:#1f2335}.text-primary{color:#c0caf5}.text-secondary{color:#a9b1d6}pre{font-size:15px;line-height:1.6;white-space:pre-wrap}.code,pre code{-o-tab-size:2;tab-size:2;-moz-tab-size:2}.code{display:inline-flex;padding:0 5px;color:#7aa2f7;border:2px solid rgba(122,162,247,.24)}.kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:2px solid rgba(192,202,245,.24);border-bottom-color:#7aa2f7;color:#c0caf5;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.quote{max-width:760px;margin:0;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-size:15px;line-height:1.6}.quote cite{display:block;margin-top:12px;color:#7aa2f7;font-size:13px;font-style:normal;text-transform:uppercase}a{font-weight:500;text-decoration:none;color:#7aa2f7}@media (hover:hover) and (pointer:fine){a:hover{color:#e0af68}}@media (hover:none) and (pointer:coarse){a:active{color:#e0af68}}.link{font-size:inherit;font-weight:500}.label{font-size:13px;font-weight:500;line-height:1.4}.hint,.meta{font-size:12px;line-height:1.4}.table{font-size:13px;line-height:1.4}.table th{font-weight:600}.table td{font-weight:400}.list{font-size:15px;line-height:1.6}.list-item{font-size:inherit}.modal-title{font-size:20px;font-weight:600}.modal-body{font-size:15px}.toast-title{font-size:14px;font-weight:600}.toast-text{font-size:13px;line-height:1.4}.palette{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.palette .color .color-box{width:92px;height:68px}body .bg-primary{background:#c0caf5}body .bg-secondary{background:#7aa2f7}body .bg-success{background:#9ece6a}body .bg-accent{background:#ff9e64}body .bg-info{background:#bb9af7}body .bg-warning{background:#e0af68}body .bg-error{background:#f7768e}body .text-color-primary{color:#c0caf5}body .text-color-secondary{color:#7aa2f7}body .text-color-success{color:#9ece6a}body .text-color-accent{color:#ff9e64}body .text-color-info{color:#bb9af7}body .text-color-warning{color:#e0af68}body .text-color-error{color:#f7768e}.loader{width:32px;aspect-ratio:1;--c:no-repeat linear-gradient(#FF3C00 0 0);background:var(--c) 0 0,var(--c) 0 100%,var(--c) 50% 0,var(--c) 50% 100%,var(--c) 100% 0,var(--c) 100% 100%;animation:l12 1s infinite}@keyframes l12{0%,100%{background-size:20% 50%}16.67%{background-size:20% 30%,20% 30%,20% 50%,20% 50%,20% 50%,20% 50%}33.33%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 50%,20% 50%}50%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 30%,20% 30%}66.67%{background-size:20% 50%,20% 50%,20% 30%,20% 30%,20% 30%,20% 30%}83.33%{background-size:20% 50%,20% 50%,20% 50%,20% 50%,20% 30%,20% 30%}}.circle-loader{display:flex;flex-direction:row;align-items:center;gap:8px}.circle-loader .ph,.circle-loader .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.progress{display:flex;flex-direction:column;gap:8px;width:100%;max-width:640px}.progress .progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.progress .progress-value{color:#c0caf5;font-family:"IBM Plex Mono",monospace}.progress .progress-track{position:relative;width:100%;height:18px;overflow:hidden;border:2px solid rgba(192,202,245,.24);background:#1f2335}.progress .progress-bar{display:block;position:relative;overflow:hidden;width:var(--progress-value,0%);height:100%;background:#7aa2f7;transition:width .28s ease}.progress.progress-success .progress-bar{background:#9ece6a}.progress.progress-warning .progress-bar{background:#e0af68}.progress.progress-danger .progress-bar,.progress.progress-error .progress-bar{background:#f7768e}.progress.progress-striped .progress-bar{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 14px,rgba(22,22,30,.2) 14px,rgba(22,22,30,.2) 16px)}.progress.progress-animated .progress-bar::after{content:"";position:absolute;inset:0;width:48%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.28),transparent);transform:translateX(-120%);animation:progress_scan 1.4s ease infinite}.usage-meter{display:grid;gap:12px;width:100%;max-width:420px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.usage-meter .usage-meter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.usage-meter .usage-meter-value{color:#7aa2f7;font-family:"IBM Plex Mono",monospace;font-size:13px}.usage-meter .usage-meter-meta{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.progress-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:720px}.progress-stages .progress-stage{min-height:42px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase}.progress-stages .progress-stage-complete{color:#16161e;background:#9ece6a;border-color:#9ece6a}.progress-stages .progress-stage-current{color:#16161e;background:#e0af68;border-color:#e0af68}@media (max-width:767px){.progress-stages{grid-template-columns:1fr 1fr}}@media (max-width:479px){.progress-stages{grid-template-columns:1fr}}@keyframes progress_scan{from{transform:translateX(-120%)}to{transform:translateX(220%)}}@keyframes icon_spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:600;line-height:1;letter-spacing:.04em;padding:12px 22px;border-radius:0;border-width:2px;border-left-width:6px;border-style:solid;border-color:#c0caf5;text-transform:uppercase;background-color:transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color,opacity}.btn:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.btn.with-icon{border-left-width:46px;position:relative}.btn.with-icon .ph,.btn.with-icon .ph-bold{position:absolute;color:#16161e;left:-46px;top:1px;font-size:26px;height:100%;display:inline-flex;align-items:center;width:46px;justify-content:center;transition-duration:.2s;transition-property:color,left}@media (hover:hover) and (pointer:fine){.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-28px}}@media (hover:none) and (pointer:coarse){.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-28px}}.btn.btn-primary{color:#c0caf5;border-color:#c0caf5}@media (hover:hover) and (pointer:fine){.btn.btn-primary:hover{background-color:#c0caf5;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-primary:active{background-color:#c0caf5;color:#16161e}}.btn.btn-secondary{color:#7aa2f7;border-color:#7aa2f7}@media (hover:hover) and (pointer:fine){.btn.btn-secondary:hover{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:hover.with-icon .ph,.btn.btn-secondary:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-secondary:active{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:active.with-icon .ph,.btn.btn-secondary:active.with-icon .ph-bold{color:#16161e}}.btn.btn-accent{color:#ff9e64;border-color:#ff9e64}@media (hover:hover) and (pointer:fine){.btn.btn-accent:hover{background-color:#ff9e64;color:#16161e}.btn.btn-accent:hover.with-icon .ph,.btn.btn-accent:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-accent:active{background-color:#ff9e64;color:#16161e}.btn.btn-accent:active.with-icon .ph,.btn.btn-accent:active.with-icon .ph-bold{color:#16161e}}.btn.btn-danger{color:#f7768e;border-color:#f7768e}@media (hover:hover) and (pointer:fine){.btn.btn-danger:hover{background-color:#f7768e;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-danger:active{background-color:#f7768e;color:#16161e}}.btn.btn-warning{color:#e0af68;border-color:#e0af68}@media (hover:hover) and (pointer:fine){.btn.btn-warning:hover{background-color:#e0af68;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-warning:active{background-color:#e0af68;color:#16161e}}.btn.btn-success{color:#9ece6a;border-color:#9ece6a}@media (hover:hover) and (pointer:fine){.btn.btn-success:hover{background-color:#9ece6a;color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-success:active{background-color:#9ece6a;color:#16161e}}.btn.btn-info{color:#bb9af7;border-color:#bb9af7}@media (hover:hover) and (pointer:fine){.btn.btn-info:hover{background-color:#bb9af7;color:#16161e}.btn.btn-info:hover.with-icon .ph,.btn.btn-info:hover.with-icon .ph-bold{color:#16161e}}@media (hover:none) and (pointer:coarse){.btn.btn-info:active{background-color:#bb9af7;color:#16161e}.btn.btn-info:active.with-icon .ph,.btn.btn-info:active.with-icon .ph-bold{color:#16161e}}.btn[disabled]:not(.loading-state){color:#787c99;border-color:rgba(192,202,245,.24);background-color:#1f2335;cursor:not-allowed;opacity:.72}.btn[disabled]:not(.loading-state).with-icon .ph,.btn[disabled]:not(.loading-state).with-icon .ph-bold{color:#787c99}@media (hover:hover) and (pointer:fine){.btn[disabled]:not(.loading-state):hover{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):hover.with-icon .ph,.btn[disabled]:not(.loading-state):hover.with-icon .ph-bold{color:#787c99}}@media (hover:none) and (pointer:coarse){.btn[disabled]:not(.loading-state):active{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):active.with-icon .ph,.btn[disabled]:not(.loading-state):active.with-icon .ph-bold{color:#787c99}}.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph,.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph-bold{left:-28px}.btn.btn-small{font-size:13px;font-weight:500;min-height:38px;padding:8px 8px}.btn.btn-small.with-icon{border-left-width:32px}.btn.btn-small.with-icon .ph,.btn.btn-small.with-icon .ph-bold{top:0;left:-40px;font-size:22px}.btn.btn-small.with-icon.loading-state .ph,.btn.btn-small.with-icon.loading-state .ph-bold{font-size:26px}.btn.btn-large{font-size:16px;font-weight:700;min-height:54px;padding:15px 48px}.btn.loading-state{color:#16161e!important;border-color:#c0caf5!important;background-color:#c0caf5!important}.btn.loading-state .ph,.btn.loading-state .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.btn-icon{display:flex;justify-content:center;align-items:center;width:38px;height:38px;background:0 0;color:#c0caf5;font-size:22px;border:2px solid transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.btn-icon:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.btn-icon:not(.without-hover):hover{color:#e0af68;border-color:#e0af68}}@media (hover:none) and (pointer:coarse){.btn-icon:not(.without-hover):active{color:#e0af68;border-color:#e0af68}}.btn-icon:disabled,.btn-icon[disabled]{color:#787c99;border-color:transparent;background-color:transparent;cursor:not-allowed;opacity:.72}@media (hover:hover) and (pointer:fine){.btn-icon:disabled:not(.without-hover):hover,.btn-icon[disabled]:not(.without-hover):hover{color:#787c99;border-color:transparent}}@media (hover:none) and (pointer:coarse){.btn-icon:disabled:not(.without-hover):active,.btn-icon[disabled]:not(.without-hover):active{color:#787c99;border-color:transparent}}.btn-icon-sm{width:28px;height:28px;font-size:18px}.form-group{width:100%;max-width:600px}.form-group .label{display:flex;flex-direction:column;font-size:15px;width:100%;position:relative;color:#c0caf5}.form-group .label>.ph{position:absolute;color:#c0caf5;left:0;bottom:1px;font-size:26px;height:54px;display:inline-flex;align-items:center;width:46px;justify-content:center;transition-duration:.2s;transition-property:color,left}.form-group .label .input{min-height:54px;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;line-height:1;letter-spacing:.04em;padding:12px 22px;margin-top:8px;border-radius:0;border-width:2px;border-bottom-width:6px;border-style:solid;border-color:#c0caf5;color:#c0caf5;background-color:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color}@media (hover:hover) and (pointer:fine){.form-group .label .input:hover{border-bottom-color:#787c99}}@media (hover:none) and (pointer:coarse){.form-group .label .input:active{border-bottom-color:#787c99}}.form-group .label .input:focus{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background-color:transparent}.form-group .label .input:disabled{color:#787c99;border-color:rgba(192,202,245,.24);background:#1f2335;cursor:not-allowed;opacity:.72}.form-group .label .input[readonly]{color:#a9b1d6;border-color:rgba(192,202,245,.24);background:rgba(192,202,245,.03)}.form-group .label .input::-moz-placeholder{color:#787c99}.form-group .label .input::placeholder{color:#787c99}.form-group .label .input::-webkit-search-cancel-button,.form-group .label .input::-webkit-search-decoration,.form-group .label .input::-webkit-search-results-button,.form-group .label .input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.form-group .label .input[type=date],.form-group .label .input[type=datetime-local],.form-group .label .input[type=month],.form-group .label .input[type=time]{color-scheme:dark;cursor:pointer;min-width:0;padding-right:46px;text-transform:uppercase}.form-group .label .input[type=date]::-webkit-calendar-picker-indicator,.form-group .label .input[type=datetime-local]::-webkit-calendar-picker-indicator,.form-group .label .input[type=month]::-webkit-calendar-picker-indicator,.form-group .label .input[type=time]::-webkit-calendar-picker-indicator{width:46px;height:100%;margin:0;padding:0;background:0 0;cursor:pointer;opacity:0}.form-group .label .input[type=date]::-webkit-datetime-edit,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit,.form-group .label .input[type=month]::-webkit-datetime-edit,.form-group .label .input[type=time]::-webkit-datetime-edit{padding:0}.form-group .label .input[type=date]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=month]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=time]::-webkit-datetime-edit-fields-wrapper{color:#c0caf5}.form-group .label textarea.input{height:108px;line-height:1.25;resize:none}.form-group .label .ph+.input,.form-group .label .ph+.select-wrap .select{padding-left:46px}.form-group .label .select-wrap{margin-top:8px}.form-group .label .select{width:100%;height:54px;margin-top:0;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group .label .select:focus{outline:0}.form-group .label .select option{color:#c0caf5;background:#1f2335}.form-group .label .select-wrap::after{content:"";position:absolute;right:22px;bottom:18px;transform:translateY(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #c0caf5;pointer-events:none}.form-group .label.error .input:not(:focus){border-color:#f7768e}.form-group .label.error+.input-info{color:#e0af68}.form-group .label.success .input:not(:focus){border-color:#9ece6a}.form-group .label.success+.input-info{color:#9ece6a}.form-group .label.warning .input:not(:focus){border-color:#e0af68}.form-group .label.warning+.input-info{color:#e0af68}.form-group .input-info{font-size:14px;margin-top:8px}.form-group .input-info .ph{position:relative;top:1px}.form-group .input-info.error{color:#e0af68}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%;max-width:760px}.fieldset{width:100%;max-width:760px;margin:0;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.legend{padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 12px;border:2px solid #7aa2f7;border-left-width:6px;color:#7aa2f7;background:#1f2335;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.file-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (hover:hover) and (pointer:fine){.file-upload:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.file-upload:active{color:#16161e;background:#7aa2f7}}.file-upload:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-panel{width:100%;max-width:760px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px}.file-upload-form{display:flex;flex-direction:column;gap:15px;margin:0}.file-upload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 15px 0}.file-upload-heading{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-title{margin:0;color:#c0caf5;font-size:16px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-description{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.file-upload-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;margin:0 15px;padding:18px;border:2px dashed #7aa2f7;background:rgba(122,162,247,.08);cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.file-upload-dropzone input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (hover:hover) and (pointer:fine){.file-upload-dropzone:hover{border-color:#c0caf5;background:rgba(192,202,245,.1)}}@media (hover:none) and (pointer:coarse){.file-upload-dropzone:active{border-color:#c0caf5;background:rgba(192,202,245,.1)}}.file-upload-dropzone:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;color:#16161e;background:#7aa2f7;font-size:26px}.file-upload-body{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-primary{color:#c0caf5;font-size:15px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-secondary{color:#a9b1d6;font-size:13px;line-height:1.4}.file-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin:0 15px}.file-upload-preview[hidden]{display:none}.file-upload-preview-item{position:relative;min-width:0;margin:0;border:2px solid rgba(192,202,245,.24);background:#1f2335}.file-upload-preview-remove{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:2px solid #f7768e;color:#f7768e;background:#1f2335;font-size:18px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}@media (hover:hover) and (pointer:fine){.file-upload-preview-remove:hover{color:#16161e;background:#f7768e}}@media (hover:none) and (pointer:coarse){.file-upload-preview-remove:active{color:#16161e;background:#f7768e}}.file-upload-preview-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-preview-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#1f2335}.file-upload-preview-visual img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.file-upload-preview-type{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:54px;padding:8px;color:#16161e;background:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload-preview-item figcaption{display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:8px}.file-upload-preview-name{overflow:hidden;color:#c0caf5;font-size:12px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.file-upload-preview-meta{color:#a9b1d6;font-size:12px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 15px 15px}.range{width:100%;max-width:600px;accent-color:#7AA2F7}.range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:46px;margin:0;background:0 0;cursor:pointer}.range input[type=range]::-webkit-slider-runnable-track{height:6px;background:rgba(192,202,245,.085);border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-webkit-slider-thumb{width:18px;height:38px;margin-top:calc(-38px / 2);border:2px solid #7aa2f7;background:#7aa2f7;-webkit-appearance:none}.range input[type=range]::-moz-range-track{height:6px;background:rgba(192,202,245,.085);border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-moz-range-thumb{width:18px;height:38px;border:2px solid #7aa2f7;border-radius:0;background:#7aa2f7}@media (max-width:767px){.form-grid{grid-template-columns:1fr}.file-upload-header{flex-direction:column;align-items:stretch}.file-upload-dropzone{grid-template-columns:1fr}.file-upload-actions{justify-content:stretch}.file-upload-actions .btn{width:100%}}.radio{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.radio input[type=radio]{display:none}.radio .radio-control{display:inline-block;border-radius:100%;border:2px solid #c0caf5;width:18px;height:18px;background:0 0;transition-duration:.2s;transition-property:background,border-color}@media (hover:hover) and (pointer:fine){.radio:hover .radio-control{background:#414868}}@media (hover:none) and (pointer:coarse){.radio:active .radio-control{background:#414868}}.radio input[type=radio]:checked+.radio-control{background:#c0caf5}.radio input[type=radio]:disabled+.radio-control{background:#414868;border-color:#414868}.radio input[type=radio]:focus-visible+.radio-control{outline:2px solid #E0AF68;outline-offset:3px}.radio .radio-label{font-size:15px}.radio-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.switch{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.switch input[type=checkbox]{display:none}.switch .switch-control{height:16px;width:32px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.switch .switch-control:before{content:"";display:block;height:20px;width:20px;background:#c0caf5;position:absolute;left:-5px;top:-5px;transition-duration:.2s;transition-property:left,background}@media (hover:hover) and (pointer:fine){.switch:hover .switch-control{background:#414868}}@media (hover:none) and (pointer:coarse){.switch:active .switch-control{background:#414868}}.switch input[type=checkbox]:checked:not(:disabled)+.switch-control{background:#7aa2f7;border-color:#7aa2f7}.switch input[type=checkbox]:checked+.switch-control:before{left:17px}.switch input[type=checkbox]:disabled+.switch-control{border-color:#414868}.switch input[type=checkbox]:focus-visible+.switch-control{outline:2px solid #E0AF68;outline-offset:3px}.switch input[type=checkbox]:disabled+.switch-control:before{background:#414868}.checkbox{display:inline-flex;flex-direction:row;gap:8px;align-items:center}.checkbox input[type=checkbox]{display:none}.checkbox .checkbox-control{width:18px;height:18px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.checkbox .checkbox-control:before{content:"";display:block;width:100%;height:100%;background:#c0caf5;position:absolute;left:0;top:0;transform:scale(0);transition-duration:.2s;transition-property:transform}@media (hover:hover) and (pointer:fine){.checkbox:hover .checkbox-control{background:#414868}}@media (hover:none) and (pointer:coarse){.checkbox:active .checkbox-control{background:#414868}}.checkbox input[type=checkbox]:checked:not(:disabled)+.checkbox-control{border-color:#c0caf5}.checkbox input[type=checkbox]:checked+.checkbox-control:before{transform:scale(1)}.checkbox input[type=checkbox]:disabled+.checkbox-control{border-color:#414868}.checkbox input[type=checkbox]:focus-visible+.checkbox-control{outline:2px solid #E0AF68;outline-offset:3px}.input-group{display:flex;align-items:stretch;width:100%;max-width:600px;min-height:54px;border:2px solid #c0caf5;border-bottom-width:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background}.input-group:focus-within{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background:0 0}.input-group .input-group-action,.input-group .input-group-addon{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:0 12px;color:#a9b1d6;background:rgba(192,202,245,.045);border:0;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;text-transform:uppercase}.input-group .input-group-action{color:#c0caf5;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.input-group .input-group-input{flex:1 1 auto;min-width:0;border:0;padding:12px 15px;color:#c0caf5;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;letter-spacing:.04em}.input-group .input-group-input:focus{outline:0}.input-group .input-group-input::-moz-placeholder{color:#787c99}.input-group .input-group-input::placeholder{color:#787c99}.input-group .input-group-input::-webkit-search-cancel-button,.input-group .input-group-input::-webkit-search-decoration,.input-group .input-group-input::-webkit-search-results-button,.input-group .input-group-input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.input-group .ph,.input-group .ph-bold{font-size:22px}.input-group.input-group-compact{min-height:46px}.input-group.input-group-compact .input-group-action,.input-group.input-group-compact .input-group-addon{min-width:46px}.input-group.input-group-compact .input-group-input{padding:8px 12px;font-size:13px}.search-field{max-width:420px}.list{display:flex;flex-direction:column;gap:5px;list-style-type:none;padding-left:0}.list .list-item{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:0}.list.list-ordered{list-style-type:decimal;display:list-item;margin-left:30px}.list.list-ordered .list-item{display:list-item}.list.list-definition{width:100%;max-width:620px;gap:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.list.list-definition .list-row{display:grid;grid-template-columns:minmax(120px,0.32fr) minmax(0,1fr);gap:15px;align-items:start;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.list.list-definition .list-row .list-term{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;margin:0;padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:background,transform}.list.list-definition .list-row .list-desc{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.2s;transition-timing-function:ease;transition-property:color,transform}.list.list-definition .list-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.list.list-definition .list-row:hover{background:rgba(192,202,245,.085)}.list.list-definition .list-row:hover .list-term{background:#7aa2f7;transform:translateX(5px)}.list.list-definition .list-row:hover .list-desc{color:#c0caf5;transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.list.list-definition .list-row:active{background:rgba(192,202,245,.085)}.list.list-definition .list-row:active .list-term{background:#7aa2f7;transform:translateX(5px)}.list.list-definition .list-row:active .list-desc{color:#c0caf5;transform:translateX(5px)}}.list.list-nav{max-width:420px;width:100%;gap:0}.list.list-nav .list-item{display:flex;flex-direction:column;align-items:flex-start;height:50px;margin:0}.list.list-nav .list-item .list-action{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;padding:8px 12px;border:2px solid transparent;font-size:15px;background:#1f2335;color:inherit;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color,color}.list.list-nav .list-item .list-action:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.list.list-nav .list-item .list-action:hover{background:#7aa2f7;color:#16161e}}@media (hover:none) and (pointer:coarse){.list.list-nav .list-item .list-action:active{background:#7aa2f7;color:#16161e}}.list.list-nav .list-item .list-action .list-label{display:flex;flex-direction:row;gap:8px;align-items:center;letter-spacing:0;font-weight:400}.list.list-nav .list-item .list-action .list-meta{padding:8px;background:#9ece6a;color:#16161e;display:flex}.list.list-nav .list-item.list-item-active .list-action{background:#7aa2f7;color:#16161e;border-color:#7aa2f7}.list.list-actions{width:100%;max-width:420px;gap:22px}.list.list-actions .list-item{justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:2px solid rgba(192,202,245,.08)}.list.list-actions .list-item .list-content{display:flex;flex-direction:column;gap:8px}.list.list-actions .list-item .list-content .list-title{font-size:16px;line-height:1}.list.list-actions .list-item .list-content .list-subtitle{color:#787c99}@media (hover:hover) and (pointer:fine){.list.list-actions .list-item:hover .list-title{color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.list.list-actions .list-item:active .list-title{color:#7aa2f7}}@media (max-width:479px){.list.list-definition .list-row{grid-template-columns:1fr;gap:8px}}.badge{position:relative;overflow:hidden;background:#c0caf5;color:#16161e;padding:5px 8px;font-size:13px;font-weight:600;line-height:1;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:24px;transition-duration:.2s;transition-timing-function:ease;transition-property:filter,transform,border-color,color,background}.badge::after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:linear-gradient(90deg,transparent,rgba(22,22,30,.16),transparent);opacity:0;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.badge:hover{filter:saturate(1.12);transform:translateY(-1px)}.badge:hover::after{opacity:1;animation:terminal_scan_x .7s ease}}@media (hover:none) and (pointer:coarse){.badge:active{filter:saturate(1.12);transform:translateY(-1px)}.badge:active::after{opacity:1;animation:terminal_scan_x .7s ease}}.badge.badge-success{background:#9ece6a}.badge.badge-warning{background:#e0af68}.badge.badge-danger,.badge.badge-error{background:#f7768e}.badge.badge-info{background:#bb9af7;color:#16161e}.badge.badge-secondary{background:#7aa2f7;color:#16161e}.badge.badge-primary-outline{color:#c0caf5;border:2px solid #c0caf5;background:0 0;padding:3px 8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:5px 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.chip .ph,.chip .ph-bold{font-size:18px}.chip::before{content:"";display:inline-block;width:7px;height:7px;flex:0 0 auto;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow,transform}.chip:has(.ph)::before,.chip:has(.ph-bold)::before{display:none}.chip .chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:-5px;border:0;color:inherit;background:0 0;font:inherit;cursor:pointer}.chip .chip-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.chip.chip-primary{color:#c0caf5;background:rgba(192,202,245,.08);border-color:#c0caf5}.chip.chip-primary::before{background:#c0caf5}.chip.chip-secondary{color:#7aa2f7;background:rgba(122,162,247,.08);border-color:#7aa2f7}.chip.chip-secondary::before{background:#7aa2f7}.chip.chip-success{color:#9ece6a;background:rgba(158,206,106,.08);border-color:#9ece6a}.chip.chip-success::before{background:#9ece6a}.chip.chip-warning{color:#e0af68;background:rgba(224,175,104,.08);border-color:#e0af68}.chip.chip-warning::before{background:#e0af68}.chip.chip-danger,.chip.chip-error{color:#f7768e;background:rgba(247,118,142,.08);border-color:#f7768e}.chip.chip-danger::before,.chip.chip-error::before{background:#f7768e}.chip.chip-selected,.chip[aria-pressed=true],.chip[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.chip.chip-selected::before,.chip[aria-pressed=true]::before,.chip[aria-selected=true]::before{background:#16161e}.chip.chip-secondary[aria-pressed=true],.chip.chip-secondary[aria-selected=true],.chip.chip-selected.chip-secondary{background:#7aa2f7;border-color:#7aa2f7}.chip.chip-disabled,.chip:disabled{color:#787c99;background:#1f2335;border-color:rgba(192,202,245,.24);cursor:not-allowed;opacity:.7}.chip.chip-disabled::before,.chip:disabled::before{background:#414868}a.chip,button.chip{cursor:pointer}a.chip:focus-visible,button.chip:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){a.chip:hover,button.chip:hover{color:#c0caf5;background:rgba(192,202,245,.085);border-color:#7aa2f7}a.chip:hover::before,button.chip:hover::before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}@media (hover:none) and (pointer:coarse){a.chip:active,button.chip:active{color:#c0caf5;background:rgba(192,202,245,.085);border-color:#7aa2f7}a.chip:active::before,button.chip:active::before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 auto;overflow:hidden;border:2px solid rgba(192,202,245,.24);color:#16161e;background:#c0caf5;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar .ph,.avatar .ph-bold{font-size:22px}.avatar .avatar-status{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:2px solid #16161e;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow}.avatar.avatar-sm{width:38px;height:38px;font-size:12px}.avatar.avatar-sm .ph,.avatar.avatar-sm .ph-bold{font-size:18px}.avatar.avatar-lg{width:54px;height:54px;font-size:14px}.avatar.avatar-lg .ph,.avatar.avatar-lg .ph-bold{font-size:26px}.avatar.avatar-secondary{background:#7aa2f7}.avatar.avatar-success{background:#9ece6a}.avatar.avatar-warning{background:#e0af68}.avatar.avatar-danger,.avatar.avatar-error{background:#f7768e}.avatar.avatar-outline{color:#c0caf5;background:#1f2335;border-color:#c0caf5}.avatar.is-online .avatar-status{background:#9ece6a;animation:terminal_pulse 1.8s ease infinite}.avatar.is-busy .avatar-status{background:#e0af68}.avatar.is-offline .avatar-status{background:#787c99}.identity{display:inline-flex;align-items:center;gap:12px;min-width:0}.identity-content{display:flex;flex-direction:column;gap:5px;min-width:0}.identity-title{color:#c0caf5;font-size:15px;font-weight:600;line-height:1}.identity-meta{color:#787c99;font-size:13px;line-height:1.4}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{margin-right:-8px;border-color:#16161e}.avatar-stack .avatar-stack-count{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 8px;border:2px solid #16161e;color:#16161e;background:#e0af68;font-size:13px;font-weight:700}.table{width:100%;text-align:left;border:2px solid rgba(192,202,245,.24);border-collapse:collapse;background:#1f2335}.table .table-caption{text-align:left;font-size:16px;background:#c0caf5;width:-moz-max-content;width:max-content;color:#16161e;padding:5px 12px;margin-bottom:0;font-weight:700;text-transform:uppercase}.table.table-empty{width:100%}.table.table-empty .is-empty{width:100%;padding:15px;font-size:13px;color:#787c99;text-align:left}.table .table-row td,.table .table-row th{padding:12px 18px;font-size:13px;vertical-align:middle;border-bottom:2px solid rgba(192,202,245,.08)}.table .table-row th{color:#c0caf5;background:rgba(192,202,245,.04);text-transform:uppercase;letter-spacing:.04em}.table .table-head{border-bottom:2px solid #c0caf5}.table .table-body .table-row{transition-duration:.2s;transition-timing-function:ease;transition-property:background,color}.table .table-body .table-row td{transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}@media (hover:hover) and (pointer:fine){.table .table-body .table-row:hover{background:rgba(122,162,247,.08)}.table .table-body .table-row:hover td:first-child{color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.table .table-body .table-row:active{background:rgba(122,162,247,.08)}.table .table-body .table-row:active td:first-child{color:#7aa2f7}}.table .table-foot td,.table .table-foot th{padding-top:15px}.table.table-compact .table-caption{font-size:14px}.table.table-compact .table-row td,.table.table-compact .table-row th{padding:8px 12px;font-size:12px}.table.table-compact .table-cell-mono{color:#a9b1d6;font-family:"IBM Plex Mono",monospace;letter-spacing:0}.table.table-compact .table-cell-actions{width:1%;white-space:nowrap}.table-wrapper{width:100%;overflow-x:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.toolbar .toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.toolbar .toolbar-title{margin:0;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.toolbar .toolbar-meta{color:#787c99;font-size:13px}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination .pagination-item{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.pagination .pagination-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.pagination .pagination-item:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.pagination .pagination-item:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.pagination .pagination-item.pagination-item-active,.pagination .pagination-item[aria-current=page]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.pagination .pagination-item.pagination-item-disabled,.pagination .pagination-item:disabled{color:#787c99;background:#1f2335;border-color:rgba(192,202,245,.24);cursor:not-allowed;opacity:.72}.pagination .pagination-ellipsis{color:#787c99;padding:0 5px}.empty-state{max-width:560px;padding:22px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.empty-state .empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:15px;color:#16161e;background:#c0caf5;font-size:26px}.empty-state .empty-state-title{margin:0 0 8px;font-size:20px;font-weight:700;text-transform:uppercase}.empty-state .empty-state-text{max-width:440px;margin:0 0 18px;color:#a9b1d6;line-height:1.6}.empty-state .empty-state-actions{display:flex;flex-wrap:wrap;gap:8px}.empty-state.empty-state-error{border-color:#f7768e}.empty-state.empty-state-error .empty-state-icon{background:#f7768e}.skeleton{display:block;position:relative;overflow:hidden;background:rgba(192,202,245,.085)}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);animation:skeleton_shimmer 1.6s infinite}.skeleton.skeleton-line{width:100%;height:14px}.skeleton.skeleton-title{width:60%;height:22px}.skeleton.skeleton-block{width:100%;height:120px}.skeleton.skeleton-square{width:54px;height:54px}.skeleton-stack{display:flex;flex-direction:column;gap:12px;max-width:520px;padding:15px;border:2px solid rgba(192,202,245,.24);background:#1f2335}@keyframes skeleton_shimmer{100%{transform:translateX(100%)}}.page-header{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;width:100%;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335;overflow:hidden;animation:panel_boot .28s ease both}.page-header::after{content:"";position:absolute;top:0;left:0;width:34%;height:2px;background:linear-gradient(90deg,transparent,#7aa2f7,transparent);opacity:.72;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.page-header:hover::after{animation:terminal_scan_x .9s ease}}@media (hover:none) and (pointer:coarse){.page-header:active::after{animation:terminal_scan_x .9s ease}}.page-header .page-header-content{display:flex;flex-direction:column;gap:8px;min-width:min(100%,320px)}.page-header .page-header-kicker{color:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.page-header .page-header-title{margin:0;color:#c0caf5;font-size:26px;font-weight:700;line-height:1.15}.page-header .page-header-subtitle{max-width:720px;margin:0;color:#a9b1d6;font-size:15px;line-height:1.6}.page-header .page-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.page-header .page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.page-header.page-header-compact{align-items:center;padding:15px}.page-header.page-header-compact .page-header-title{font-size:20px}.page-header.page-header-accent{border-color:#7aa2f7;background:rgba(122,162,247,.055)}.description-list{display:grid;width:100%;max-width:760px;margin:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.description-list .description-list-row{display:grid;grid-template-columns:minmax(140px,0.36fr) minmax(0,1fr);gap:15px;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.description-list .description-list-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.description-list .description-list-row:hover{background:rgba(192,202,245,.085)}.description-list .description-list-row:hover .description-list-term{color:#7aa2f7}.description-list .description-list-row:hover .description-list-value{transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.description-list .description-list-row:active{background:rgba(192,202,245,.085)}.description-list .description-list-row:active .description-list-term{color:#7aa2f7}.description-list .description-list-row:active .description-list-value{transform:translateX(5px)}}.description-list .description-list-term{margin:0;color:#787c99;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.description-list .description-list-value{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;color:#c0caf5;font-size:15px;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:transform}.description-list .description-list-value-muted{color:#a9b1d6}.description-list.description-list-compact{max-width:520px}.description-list.description-list-compact .description-list-row{grid-template-columns:minmax(112px,0.42fr) minmax(0,1fr);gap:12px;padding:8px 12px}.description-list.description-list-compact .description-list-term,.description-list.description-list-compact .description-list-value{font-size:13px}@media (max-width:479px){.description-list .description-list-row{grid-template-columns:1fr;gap:5px}}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:900px;margin:0;padding:0;list-style:none}.steps .step{position:relative;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.steps .step-marker{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#c0caf5;border:2px solid rgba(192,202,245,.24);font-size:13px;font-weight:700;line-height:1}.steps .step-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.steps .step-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.steps .step-complete{border-color:#9ece6a}.steps .step-complete .step-marker{color:#16161e;background:#9ece6a;border-color:#9ece6a}.steps .step-current{border-color:#7aa2f7}.steps .step-current .step-marker{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}.steps .step-disabled{opacity:.62}.steps.steps-vertical{grid-template-columns:1fr;max-width:520px;gap:0}.steps.steps-vertical .step{min-height:auto;border-bottom-width:0}.steps.steps-vertical .step:last-child{border-bottom-width:2px}@media (max-width:1023px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:479px){.steps{grid-template-columns:1fr}}.timeline{display:grid;gap:0;width:100%;max-width:760px;margin:0;padding:0;list-style:none}.timeline .timeline-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;min-height:88px}.timeline .timeline-item::before{content:"";position:absolute;top:46px;bottom:0;left:22px;width:2px;background:rgba(192,202,245,.24)}.timeline .timeline-item:last-child::before{display:none}.timeline .timeline-marker{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#16161e;font-size:18px;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,color,box-shadow,transform}.timeline .timeline-content{min-width:0;padding:0 0 18px}.timeline .timeline-card{padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,transform}.timeline .timeline-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.timeline .timeline-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.timeline .timeline-time{color:#787c99;font-size:12px;font-family:"IBM Plex Mono",monospace;line-height:1.4}.timeline .timeline-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.timeline .timeline-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.timeline .timeline-item-success .timeline-card,.timeline .timeline-item-success .timeline-marker{border-color:#9ece6a}.timeline .timeline-item-success .timeline-marker{color:#16161e;background:#9ece6a}.timeline .timeline-item-warning .timeline-card,.timeline .timeline-item-warning .timeline-marker{border-color:#e0af68}.timeline .timeline-item-warning .timeline-marker{color:#16161e;background:#e0af68}.timeline .timeline-item-danger .timeline-card,.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-card,.timeline .timeline-item-error .timeline-marker{border-color:#f7768e}.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-marker{color:#16161e;background:#f7768e}@media (hover:hover) and (pointer:fine){.timeline .timeline-item:hover .timeline-marker{box-shadow:0 0 0 4px rgba(122,162,247,.14);transform:scale(1.04)}.timeline .timeline-item:hover .timeline-card{background:rgba(192,202,245,.085);transform:translateX(5px)}}@media (hover:none) and (pointer:coarse){.timeline .timeline-item:active .timeline-marker{box-shadow:0 0 0 4px rgba(122,162,247,.14);transform:scale(1.04)}.timeline .timeline-item:active .timeline-card{background:rgba(192,202,245,.085);transform:translateX(5px)}}.activity-log{display:grid;width:100%;max-width:720px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.activity-log .activity-log-row{display:grid;grid-template-columns:minmax(120px,0.24fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.activity-log .activity-log-row:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.activity-log .activity-log-row:hover{background:rgba(192,202,245,.085)}}@media (hover:none) and (pointer:coarse){.activity-log .activity-log-row:active{background:rgba(192,202,245,.085)}}.activity-log .activity-log-time{color:#787c99;font-family:"IBM Plex Mono",monospace;font-size:12px}.activity-log .activity-log-title{color:#c0caf5;font-size:13px;font-weight:600;line-height:1.4}@media (max-width:479px){.activity-log .activity-log-row{grid-template-columns:1fr;gap:8px}}.accordion{display:grid;width:100%;max-width:760px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.accordion-item{border-bottom:2px solid rgba(192,202,245,.08);overflow:hidden}.accordion-item:last-child{border-bottom:0}.accordion-item[open] .accordion-summary{color:#16161e;background:#c0caf5}.accordion-item[open] .accordion-icon{transform:rotate(180deg)}.accordion-summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:12px 15px;border:0;color:#c0caf5;background:0 0;cursor:pointer;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.accordion-summary::-webkit-details-marker{display:none}.accordion-summary::marker{content:""}.accordion-summary:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.accordion-summary:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.accordion-summary:active{color:#16161e;background:#7aa2f7}}.accordion-summary-content{display:flex;align-items:center;gap:8px;min-width:0}.accordion-icon{flex:0 0 auto;font-size:18px;transition-duration:.2s;transition-property:transform}.accordion-panel{overflow:hidden;padding:15px;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.28s;transition-timing-function:ease;transition-property:height,opacity,transform}.accordion-panel p{margin-top:0}.accordion-panel p:last-child{margin-bottom:0}.disclosure{max-width:520px;border:2px solid rgba(192,202,245,.24);background:#1f2335}.disclosure .accordion-summary{min-height:38px;padding:8px 12px}.disclosure .accordion-panel{padding:12px}.tabs{width:100%;max-width:900px}.tabs-list{display:flex;align-items:stretch;gap:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 15px;border:0;border-right:2px solid rgba(192,202,245,.08);border-radius:0;color:#a9b1d6;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,opacity}.tab .ph,.tab .ph-bold{font-size:18px}.tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px;z-index:1}@media (hover:hover) and (pointer:fine){.tab:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.tab:active{color:#16161e;background:#7aa2f7}}.tab:disabled,.tab[aria-disabled=true]{color:#787c99;cursor:not-allowed;opacity:.62}@media (hover:hover) and (pointer:fine){.tab:disabled:hover,.tab[aria-disabled=true]:hover{color:#787c99;background:0 0}}@media (hover:none) and (pointer:coarse){.tab:disabled:active,.tab[aria-disabled=true]:active{color:#787c99;background:0 0}}.tab-active,.tab[aria-selected=true]{color:#16161e;background:#c0caf5}.tab-panel{display:none}.tab-panel p{margin-top:0}.tab-panel p:last-child{margin-bottom:0}.tab-panel-active{display:block}.tabs-compact{max-width:620px}.tabs-compact .tabs-list{border-left-width:2px}.tabs-compact .tab{min-height:38px;padding:8px 12px}.tabs-vertical{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start}.tabs-vertical .tabs-list{flex-direction:column;overflow-x:visible}.tabs-vertical .tab{justify-content:flex-start;border-right:0;border-bottom:2px solid rgba(192,202,245,.08);text-align:left}@media (max-width:767px){.tabs-vertical{grid-template-columns:1fr}.tabs-vertical .tabs-list{flex-direction:row;overflow-x:auto}.tabs-vertical .tab{justify-content:center;border-right:2px solid rgba(192,202,245,.08);border-bottom:0;text-align:center}}.drawer{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none}.drawer .drawer-backdrop{position:fixed;inset:0;z-index:1010;background:#16161e;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity;pointer-events:auto}.drawer .drawer-panel{position:relative;z-index:1020;width:min(460px,100vw - 18px);min-height:100vh;display:flex;flex-direction:column;gap:15px;background:#16161e;border-left:2px solid #c0caf5;box-shadow:-18px 0 42px rgba(22,22,30,.38);opacity:0;transform:translateX(100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform;pointer-events:auto}.drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding-right:15px;border-bottom:2px solid rgba(192,202,245,.24)}.drawer .drawer-title{margin:0;padding:12px 15px;background:#c0caf5;color:#16161e;text-transform:uppercase;letter-spacing:.04em}.drawer .drawer-body{flex:1;overflow-y:auto;padding:18px}.drawer .drawer-footer{padding:18px;border-top:2px solid rgba(192,202,245,.24)}.drawer .drawer-footer .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;width:100%}.drawer.drawer-left{justify-content:flex-start}.drawer.drawer-left .drawer-panel{border-left:0;border-right:2px solid #c0caf5;box-shadow:18px 0 42px rgba(22,22,30,.38);transform:translateX(-100%)}.drawer.a-show .drawer-backdrop{opacity:.82}.drawer.a-show .drawer-panel{opacity:1;transform:translateX(0)}.drawer.a-hide .drawer-backdrop{opacity:0}.drawer.a-hide .drawer-panel{opacity:0;transform:translateX(100%)}.drawer.a-hide.drawer-left .drawer-panel{transform:translateX(-100%)}.drawer-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:18px;align-items:stretch;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.drawer-preview .drawer-preview-content{display:flex;flex-direction:column;gap:12px}.drawer-preview .drawer-preview-panel{display:flex;flex-direction:column;gap:12px;padding:15px;border:2px solid #7aa2f7;background:#1f2335}.drawer-preview .drawer-preview-title{margin:0;color:#7aa2f7;font-size:14px;text-transform:uppercase}.drawer-preview .drawer-preview-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media (max-width:720px){.drawer-preview{grid-template-columns:1fr}}.nav-topbar{position:sticky;top:0;z-index:900;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:58px;border-bottom:2px solid rgba(192,202,245,.24);background:rgba(22,22,30,.96);box-shadow:0 10px 28px rgba(22,22,30,.26)}.nav-topbar-toggle{display:inline-flex;align-items:center;align-self:stretch;gap:8px;min-width:150px;padding:0 15px;border:0;border-right:2px solid rgba(192,202,245,.24);color:#c0caf5;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.nav-topbar-toggle .ph{color:#7aa2f7;font-size:22px}.nav-topbar-toggle:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-topbar-toggle:hover{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:hover .ph{color:#16161e}}@media (hover:none) and (pointer:coarse){.nav-topbar-toggle:active{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:active .ph{color:#16161e}}.nav-topbar-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0 15px;color:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-topbar-brand img{width:22px;height:22px}.nav-topbar-current{min-width:160px;margin-right:15px;padding:5px 8px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}.nav-drawer-backdrop{position:fixed;inset:0;z-index:910;background:#16161e;opacity:0;pointer-events:none;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity}.nav-drawer{position:fixed;inset:0 auto 0 0;z-index:920;display:flex;flex-direction:column;width:min(380px,100vw);max-height:100vh;border-right:2px solid #c0caf5;background:#1f2335;box-shadow:18px 0 42px rgba(22,22,30,.38);opacity:0;overflow:hidden;pointer-events:none;transform:translateX(-100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform}.nav-drawer.is-open{opacity:1;pointer-events:auto;transform:translateX(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:2px solid rgba(192,202,245,.24)}.nav-drawer-title{display:inline-flex;padding:8px 12px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-drawer-subtitle{margin-top:8px;color:#787c99;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:2px solid rgba(192,202,245,.24);color:#c0caf5;background:0 0;font-size:22px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.nav-drawer-close:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-drawer-close:hover{color:#16161e;background:#f7768e;border-color:#f7768e}}@media (hover:none) and (pointer:coarse){.nav-drawer-close:active{color:#16161e;background:#f7768e;border-color:#f7768e}}.nav-drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-width:thin;scrollbar-color:#7AA2F7 #1F2335}.nav-drawer-body::-webkit-scrollbar{width:8px}.nav-drawer-body::-webkit-scrollbar-track{background:#1f2335}.nav-drawer-body::-webkit-scrollbar-thumb{background:#7aa2f7}.nav-drawer-body .list.list-nav{max-width:none}.nav-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-top:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-footer .profile-identity{display:block;text-decoration:none;color:inherit;min-width:0;flex:1 1 auto;overflow:hidden}@media (hover:hover) and (pointer:fine){.nav-drawer-footer .profile-identity:hover{color:inherit}}@media (hover:none) and (pointer:coarse){.nav-drawer-footer .profile-identity:active{color:inherit}}.nav-drawer-open{overflow:hidden}.nav-drawer-open .nav-drawer-backdrop{opacity:.82;pointer-events:auto}@media (max-width:767px){.nav-topbar-toggle{min-width:54px;padding:0 12px}.nav-topbar-brand{padding-right:12px;padding-left:12px}.nav-topbar-current{max-width:38vw;min-width:0;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-drawer{width:100vw;border-right:0}}.nav-shell-preview{width:100%;max-width:900px;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#16161e}.nav-shell-preview-topbar{position:relative;z-index:0;min-height:52px;box-shadow:none}.nav-shell-preview-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:320px}.nav-shell-preview-drawer{position:relative;z-index:0;inset:auto;width:auto;max-height:none;opacity:1;pointer-events:auto;transform:none;box-shadow:none}.nav-shell-preview-content{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;padding:18px;border-left:2px solid rgba(192,202,245,.24);background:#1f2335}.nav-shell-preview-content h3{margin:0;color:#c0caf5;font-size:20px;text-transform:uppercase}.nav-shell-preview-content p{max-width:360px;margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media (max-width:767px){.nav-shell-preview-body{grid-template-columns:1fr}.nav-shell-preview-content{min-height:180px;border-top:2px solid rgba(192,202,245,.24);border-left:0}}.toast{position:fixed;z-index:1100;bottom:-100px;right:15px;max-width:420px;background:#1f2335;border:2px solid #c0caf5;border-left-width:6px;padding:0;opacity:0;overflow:hidden;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,bottom}.toast.a-show{bottom:15px;opacity:1}.toast.a-hide{bottom:-45px;opacity:0}.toast .toast-content{display:flex;flex-direction:column;gap:0;padding:12px 15px;padding-right:48px}.toast .toast-content .toast-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;color:#c0caf5;line-height:1}.toast .toast-content .toast-header .ph{font-size:22px;flex-shrink:0}.toast .toast-content .toast-text{font-size:13px;padding:8px 0 0;margin:0;color:#a9b1d6;line-height:1.4}.toast .toast-close{position:absolute;top:5px;right:8px;color:#c0caf5;width:38px;height:38px;border-color:transparent;background:0 0}.toast .toast-progress{height:3px;width:100%;background:#16161e;overflow:hidden;margin-top:1px}.toast .toast-progress .toast-progress-bar{height:100%;width:100%;transform-origin:left;animation:toast-progress linear forwards;background:#c0caf5}.toast.toast-info{border-color:#bb9af7;background:rgba(187,154,247,.18)}.toast.toast-info .toast-header .ph{color:#bb9af7}.toast.toast-info .toast-progress-bar{background:#bb9af7}.toast.toast-success{border-color:#9ece6a;background:rgba(158,206,106,.18)}.toast.toast-success .toast-header .ph{color:#9ece6a}.toast.toast-success .toast-progress-bar{background:#9ece6a}.toast.toast-warning{border-color:#e0af68;background:rgba(224,175,104,.18)}.toast.toast-warning .toast-header .ph{color:#e0af68}.toast.toast-warning .toast-progress-bar{background:#e0af68}.toast.toast-danger{border-color:#f7768e;background:rgba(247,118,142,.18)}.toast.toast-danger .toast-header .ph{color:#f7768e}.toast.toast-danger .toast-progress-bar{background:#f7768e}@keyframes toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}.card{position:relative;max-width:340px;width:-moz-max-content;width:max-content;overflow:hidden;background:#1f2335;border:2px solid #c0caf5}.card .card-title{color:#16161e;background:#c0caf5;padding:8px 12px;font-weight:700;text-transform:uppercase}.card .card-content{padding:15px;height:100%}.card .card-content .card-thumb{display:block;width:min(68%,190px);margin:18px auto 22px}.card .card-content p{margin-top:8px;margin-bottom:0}.card .card-footer{padding:8px 15px;padding-bottom:15px}.card.status-card{max-width:220px;overflow:hidden}.card.status-card .status-icon-container{position:relative}.card.status-card .status-icon-container .status-indicator{position:absolute;top:-15px;left:-5px;font-size:22px;color:#f7768e}.card.status-card .status-icon-container .status-indicator.status-online{color:#9ece6a}.card.status-card .status-icon-container .status-icon{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;font-size:56px;height:108px;width:100%}.card.status-card .card-title{display:flex;width:100%;font-size:14px;font-weight:700;align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.card.status-card .status-name{font-size:13px;line-height:1.4}.card.status-card.card-success{border-color:#9ece6a}.card.status-card.card-success .card-title,.card.status-card.card-success .modal-title,.card.status-card.card-success .toast-title{color:#16161e;background:#9ece6a}.card.status-card.card-success .status-icon{color:#9ece6a}.card.status-card.card-warning{border-color:#e0af68}.card.status-card.card-warning .card-title,.card.status-card.card-warning .modal-title,.card.status-card.card-warning .toast-title{color:#16161e;background:#e0af68}.card.status-card.card-warning .status-icon{color:#e0af68}.card.status-card.card-info{border-color:#bb9af7}.card.status-card.card-info .card-title,.card.status-card.card-info .modal-title,.card.status-card.card-info .toast-title{color:#16161e;background:#bb9af7}.card.status-card.card-info .status-icon{color:#bb9af7}.card.status-card.card-secondary{border-color:#7aa2f7}.card.status-card.card-secondary .card-title,.card.status-card.card-secondary .modal-title,.card.status-card.card-secondary .toast-title{color:#16161e;background:#7aa2f7}.card.status-card.card-secondary .status-icon{color:#7aa2f7}.card.status-card.card-danger,.card.status-card.card-error{border-color:#f7768e}.card.status-card.card-danger .card-title,.card.status-card.card-danger .modal-title,.card.status-card.card-danger .toast-title,.card.status-card.card-error .card-title,.card.status-card.card-error .modal-title,.card.status-card.card-error .toast-title{color:#16161e;background:#f7768e}.card.status-card.card-danger .status-icon,.card.status-card.card-error .status-icon{color:#f7768e}.card.metric-card{max-width:320px;border-color:rgba(192,202,245,.24)}.card.metric-card .card-content{display:flex;flex-direction:column;gap:15px}.card.metric-card .metric-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card.metric-card .metric-card-label{margin:0;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.card.metric-card .metric-card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:#16161e;background:#7aa2f7;font-size:22px}.card.metric-card .metric-card-value{margin:0;color:#c0caf5;font-size:34px;font-weight:700;line-height:1.15}.card.metric-card .metric-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.card.metric-card .metric-card-delta{color:#9ece6a;font-weight:700}.card.metric-card .metric-card-delta.metric-card-delta-negative{color:#f7768e}.card.card-horizontal{max-width:none;display:flex;flex-direction:row;align-items:stretch;overflow:hidden}.card.card-horizontal .card-media{flex:0 0 20%;min-width:80px;max-width:160px;max-height:160px;overflow:hidden;position:relative;aspect-ratio:1;align-self:start}.card.card-horizontal .card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.card.card-horizontal .card-body{flex:1 1 auto;display:flex;flex-direction:column;padding:15px;gap:12px}.card.card-horizontal .card-title{padding:0;background:0 0;color:#c0caf5;font-size:16px;font-weight:700;text-transform:none;line-height:1.25}.card.card-horizontal .card-title a{color:inherit;text-decoration:none}.card.card-horizontal .card-content{padding:0;height:auto}.card.card-horizontal .card-content p{margin:0}.card.card-horizontal .card-footer{padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#a9b1d6;font-size:13px}.card.action-card{max-width:360px;border-color:#7aa2f7}.card.action-card .card-content{display:flex;flex-direction:column;gap:15px}.card.action-card .action-card-kicker{display:inline-flex;width:-moz-max-content;width:max-content;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.card.action-card .action-card-title{margin:0;font-size:20px;font-weight:700;line-height:1.25;text-transform:uppercase}.card.action-card .action-card-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.card.action-card .action-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.card.login-card{max-width:100%;width:460px;border-color:#c0caf5}.card.login-card .login-card-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px}.card.login-card .login-card-logo{display:block;width:auto;max-height:40px}.card.login-card .login-card-logo-icon{font-size:56px;color:#c0caf5}.card.login-card .login-card-title{font-size:20px;font-weight:700;text-transform:uppercase}.card.login-card .login-card-form{display:flex;flex-direction:column;gap:15px}.card.login-card .login-card-submit{width:-moz-max-content;width:max-content;margin-top:8px}.card.login-card .form-group{margin-bottom:0}.card.login-card .login-card-links{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px}.card.login-card .login-card-link{color:#a9b1d6;text-decoration:none}@media (hover:hover) and (pointer:fine){.card.login-card .login-card-link:hover{color:#c0caf5;text-decoration:underline}}@media (hover:none) and (pointer:coarse){.card.login-card .login-card-link:active{color:#c0caf5;text-decoration:underline}}.card.login-card .login-card-error{margin-bottom:8px}.card.user-card{max-width:320px}.card.user-card .user-card-body{display:flex;flex-direction:column;align-items:center;gap:15px;padding:18px;text-align:center}.card.user-card .identity{flex-direction:column;align-items:center;gap:15px}.card.user-card .identity .avatar{width:64px;height:64px;font-size:20px}.card.user-card .identity .identity-content{align-items:center;text-align:center}.card.user-card .user-card-role{color:#a9b1d6;font-size:13px;margin-top:5px}.card.user-card .user-card-actions{display:flex;gap:8px}.card.user-card-compact{max-width:none}.card.user-card-compact .user-card-body{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 15px;text-align:left}.card.user-card-compact .identity{flex-direction:row;gap:12px}.card.user-card-compact .identity .avatar{width:38px;height:38px;font-size:13px}.card.user-card-compact .identity .identity-content{align-items:flex-start}.card.user-card-compact .user-card-actions{display:flex;gap:5px}.modal{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal .modal-backdrop{position:fixed;z-index:1010;top:0;bottom:0;left:0;right:0;background:#16161e;opacity:0;transition-duration:.25s;transition-property:opacity}.modal .modal-dialog{position:relative;z-index:1020;width:100%;max-width:960px;margin:18px;height:auto;max-height:calc(100vh - 48px);padding:0;display:flex;flex-direction:column;gap:0;margin-top:200px;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,margin-top}.modal .modal-dialog .modal-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.modal .modal-dialog .modal-header .modal-title{padding:12px 15px;background:#c0caf5;color:#16161e;text-transform:uppercase;letter-spacing:.04em}.modal .modal-dialog .modal-header .modal-close{flex:0 0 auto;color:#c0caf5;border-color:rgba(192,202,245,.24);background:#16161e}.modal .modal-dialog .modal-panel{min-height:200px;display:flex;flex-direction:column;gap:15px;overflow:hidden;background:#16161e;border:2px solid #c0caf5;border-left-width:6px}.modal .modal-dialog .modal-body{max-height:700px;overflow-y:auto;padding:18px}.modal .modal-dialog .modal-footer{padding:18px}.modal .modal-dialog .modal-footer .actions{display:flex;flex-direction:row;justify-content:flex-end;gap:15px;width:100%}.modal.a-show .modal-backdrop{opacity:1}.modal.a-show .modal-dialog{opacity:1;margin-top:0}.modal.a-hide .modal-backdrop{opacity:0}.modal.a-hide .modal-dialog{opacity:0;margin-top:-200px}.alert{position:relative;overflow:hidden;margin-bottom:12px;padding:12px 15px;border:2px solid transparent;border-left-style:solid;border-left-width:6px;background:#1f2335;color:#c0caf5;font-weight:500;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:background,color,border-color}.alert::after{content:"";position:absolute;inset:0 auto 0 0;width:36%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);opacity:0;pointer-events:none;transform:translateX(-120%)}@media (hover:hover) and (pointer:fine){.alert:hover::after{opacity:1;animation:terminal_scan_x .8s ease}}@media (hover:none) and (pointer:coarse){.alert:active::after{opacity:1;animation:terminal_scan_x .8s ease}}.alert.alert-primary{border-color:#c0caf5;background:rgba(192,202,245,.1);color:#c0caf5}.alert.alert-success{border-color:#9ece6a;background:rgba(158,206,106,.1);color:#9ece6a}.alert.alert-secondary{border-color:#7aa2f7;background:rgba(122,162,247,.1);color:#7aa2f7}.alert.alert-info{border-color:#bb9af7;background:rgba(187,154,247,.1);color:#c0caf5}.alert.alert-warning{border-color:#e0af68;background:rgba(224,175,104,.1);color:#e0af68}.alert.alert-danger,.alert.alert-error{border-color:#f7768e;background:rgba(247,118,142,.1);color:#f7768e}.advanced-select-container{position:relative;height:0}.advanced-select{position:absolute;z-index:100;top:6px;width:100%;height:auto;max-height:200px;overflow-y:auto;background:#16161e;border:2px solid #c0caf5;border-left-width:6px;margin-top:20px;opacity:0;visibility:hidden;transition-property:opacity,margin-top,visibility;transition-duration:.2s;transition-timing-function:ease}.advanced-select.a-show{opacity:1;margin-top:0;visibility:visible}.advanced-select .popup-options-container .not-found{width:100%;padding:15px;text-align:center;display:none}.advanced-select .popup-options-container .not-found.show{display:block}.advanced-select .popup-options-container .options{width:100%;display:none}.advanced-select .popup-options-container .options.show{display:block}.advanced-select .popup-options-container .options .option{padding:8px 15px;transition-property:color,background;transition-duration:.15s}.advanced-select .popup-options-container .options .option.hide{display:none}.advanced-select .popup-options-container .options .option.focus,.advanced-select .popup-options-container .options .option:hover{color:#16161e;background:#e0af68}.component.editable-string-component .editable-string-content{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:inherit}.component.editable-string-component .editable-string-content .editable-string{font-size:inherit;border-bottom:2px solid rgba(192,202,245,.24)}@media (hover:hover) and (pointer:fine){.component.editable-string-component .apply-changes-btn:hover,.component.editable-string-component .cancel-changes-btn:hover,.component.editable-string-component .edit-text-btn:hover{color:#16161e;background:#e0af68}}@media (hover:none) and (pointer:coarse){.component.editable-string-component .apply-changes-btn:active,.component.editable-string-component .cancel-changes-btn:active,.component.editable-string-component .edit-text-btn:active{color:#16161e;background:#e0af68}}.component.editable-string-component .apply-changes-btn{color:#e0af68}.component.editable-string-component .editable-string-form{display:flex;flex-direction:row;align-items:center;gap:8px}.component.editable-string-component .editable-string-form .form-group{max-width:260px;margin:0}.component.editable-string-component .editable-string-form .form-group .input{padding:8px 15px}.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:15px}.tabs .tab{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:600;line-height:1;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.tabs .tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.tabs .tab:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media (hover:none) and (pointer:coarse){.tabs .tab:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.tabs .tab.tab-active,.tabs .tab[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.dropdown,.popover{position:relative;display:inline-flex}.dropdown-menu,.popover-panel,.tooltip-panel{z-index:40;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px;box-shadow:0 14px 36px rgba(22,22,30,.36)}.dropdown-menu,.popover-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:none;transform-origin:top left}.dropdown.is-open .dropdown-menu,.popover.is-open .popover-panel{display:block;animation:overlay_reveal .2s ease both}.dropdown-menu{padding:5px}.dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px 12px;border:0;color:#c0caf5;background:0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;text-align:left;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.dropdown-menu .dropdown-item .ph,.dropdown-menu .dropdown-item .ph-bold{font-size:18px}.dropdown-menu .dropdown-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media (hover:hover) and (pointer:fine){.dropdown-menu .dropdown-item:hover{color:#16161e;background:#7aa2f7}}@media (hover:none) and (pointer:coarse){.dropdown-menu .dropdown-item:active{color:#16161e;background:#7aa2f7}}.dropdown-menu .dropdown-item.dropdown-item-danger{color:#f7768e}@media (hover:hover) and (pointer:fine){.dropdown-menu .dropdown-item.dropdown-item-danger:hover{color:#16161e;background:#f7768e}}@media (hover:none) and (pointer:coarse){.dropdown-menu .dropdown-item.dropdown-item-danger:active{color:#16161e;background:#f7768e}}.popover-panel{width:min(320px,100vw - 22px);padding:15px}.popover-panel .popover-title{margin:0 0 8px;font-size:14px;font-weight:700;text-transform:uppercase}.popover-panel .popover-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.tooltip{position:relative;display:inline-flex}.tooltip-panel{position:absolute;left:50%;bottom:calc(100% + 8px);width:-moz-max-content;width:max-content;max-width:260px;padding:8px 12px;color:#c0caf5;font-size:12px;line-height:1.4;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition-duration:.15s;transition-timing-function:ease;transition-property:opacity,visibility}.tooltip.is-open .tooltip-panel,.tooltip:focus-within .tooltip-panel,.tooltip:hover .tooltip-panel{opacity:1;visibility:visible;animation:tooltip_reveal .15s ease both}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.g-0{gap:0!important}.gx-0{-moz-column-gap:0!important;column-gap:0!important}.gy-0{row-gap:0!important}.m-1{margin:5px!important}.mt-1{margin-top:5px!important}.mr-1{margin-right:5px!important}.mb-1{margin-bottom:5px!important}.ml-1{margin-left:5px!important}.mx-1{margin-left:5px!important;margin-right:5px!important}.my-1{margin-top:5px!important;margin-bottom:5px!important}.p-1{padding:5px!important}.pt-1{padding-top:5px!important}.pr-1{padding-right:5px!important}.pb-1{padding-bottom:5px!important}.pl-1{padding-left:5px!important}.px-1{padding-left:5px!important;padding-right:5px!important}.py-1{padding-top:5px!important;padding-bottom:5px!important}.g-1{gap:5px!important}.gx-1{-moz-column-gap:5px!important;column-gap:5px!important}.gy-1{row-gap:5px!important}.m-2{margin:8px!important}.mt-2{margin-top:8px!important}.mr-2{margin-right:8px!important}.mb-2{margin-bottom:8px!important}.ml-2{margin-left:8px!important}.mx-2{margin-left:8px!important;margin-right:8px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.p-2{padding:8px!important}.pt-2{padding-top:8px!important}.pr-2{padding-right:8px!important}.pb-2{padding-bottom:8px!important}.pl-2{padding-left:8px!important}.px-2{padding-left:8px!important;padding-right:8px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.g-2{gap:8px!important}.gx-2{-moz-column-gap:8px!important;column-gap:8px!important}.gy-2{row-gap:8px!important}.m-3{margin:12px!important}.mt-3{margin-top:12px!important}.mr-3{margin-right:12px!important}.mb-3{margin-bottom:12px!important}.ml-3{margin-left:12px!important}.mx-3{margin-left:12px!important;margin-right:12px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.p-3{padding:12px!important}.pt-3{padding-top:12px!important}.pr-3{padding-right:12px!important}.pb-3{padding-bottom:12px!important}.pl-3{padding-left:12px!important}.px-3{padding-left:12px!important;padding-right:12px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.g-3{gap:12px!important}.gx-3{-moz-column-gap:12px!important;column-gap:12px!important}.gy-3{row-gap:12px!important}.m-4{margin:15px!important}.mt-4{margin-top:15px!important}.mr-4{margin-right:15px!important}.mb-4{margin-bottom:15px!important}.ml-4{margin-left:15px!important}.mx-4{margin-left:15px!important;margin-right:15px!important}.my-4{margin-top:15px!important;margin-bottom:15px!important}.p-4{padding:15px!important}.pt-4{padding-top:15px!important}.pr-4{padding-right:15px!important}.pb-4{padding-bottom:15px!important}.pl-4{padding-left:15px!important}.px-4{padding-left:15px!important;padding-right:15px!important}.py-4{padding-top:15px!important;padding-bottom:15px!important}.g-4{gap:15px!important}.gx-4{-moz-column-gap:15px!important;column-gap:15px!important}.gy-4{row-gap:15px!important}.m-5{margin:18px!important}.mt-5{margin-top:18px!important}.mr-5{margin-right:18px!important}.mb-5{margin-bottom:18px!important}.ml-5{margin-left:18px!important}.mx-5{margin-left:18px!important;margin-right:18px!important}.my-5{margin-top:18px!important;margin-bottom:18px!important}.p-5{padding:18px!important}.pt-5{padding-top:18px!important}.pr-5{padding-right:18px!important}.pb-5{padding-bottom:18px!important}.pl-5{padding-left:18px!important}.px-5{padding-left:18px!important;padding-right:18px!important}.py-5{padding-top:18px!important;padding-bottom:18px!important}.g-5{gap:18px!important}.gx-5{-moz-column-gap:18px!important;column-gap:18px!important}.gy-5{row-gap:18px!important}.m-6{margin:22px!important}.mt-6{margin-top:22px!important}.mr-6{margin-right:22px!important}.mb-6{margin-bottom:22px!important}.ml-6{margin-left:22px!important}.mx-6{margin-left:22px!important;margin-right:22px!important}.my-6{margin-top:22px!important;margin-bottom:22px!important}.p-6{padding:22px!important}.pt-6{padding-top:22px!important}.pr-6{padding-right:22px!important}.pb-6{padding-bottom:22px!important}.pl-6{padding-left:22px!important}.px-6{padding-left:22px!important;padding-right:22px!important}.py-6{padding-top:22px!important;padding-bottom:22px!important}.g-6{gap:22px!important}.gx-6{-moz-column-gap:22px!important;column-gap:22px!important}.gy-6{row-gap:22px!important}.m-7{margin:26px!important}.mt-7{margin-top:26px!important}.mr-7{margin-right:26px!important}.mb-7{margin-bottom:26px!important}.ml-7{margin-left:26px!important}.mx-7{margin-left:26px!important;margin-right:26px!important}.my-7{margin-top:26px!important;margin-bottom:26px!important}.p-7{padding:26px!important}.pt-7{padding-top:26px!important}.pr-7{padding-right:26px!important}.pb-7{padding-bottom:26px!important}.pl-7{padding-left:26px!important}.px-7{padding-left:26px!important;padding-right:26px!important}.py-7{padding-top:26px!important;padding-bottom:26px!important}.g-7{gap:26px!important}.gx-7{-moz-column-gap:26px!important;column-gap:26px!important}.gy-7{row-gap:26px!important}.m-8{margin:34px!important}.mt-8{margin-top:34px!important}.mr-8{margin-right:34px!important}.mb-8{margin-bottom:34px!important}.ml-8{margin-left:34px!important}.mx-8{margin-left:34px!important;margin-right:34px!important}.my-8{margin-top:34px!important;margin-bottom:34px!important}.p-8{padding:34px!important}.pt-8{padding-top:34px!important}.pr-8{padding-right:34px!important}.pb-8{padding-bottom:34px!important}.pl-8{padding-left:34px!important}.px-8{padding-left:34px!important;padding-right:34px!important}.py-8{padding-top:34px!important;padding-bottom:34px!important}.g-8{gap:34px!important}.gx-8{-moz-column-gap:34px!important;column-gap:34px!important}.gy-8{row-gap:34px!important}.m-9{margin:42px!important}.mt-9{margin-top:42px!important}.mr-9{margin-right:42px!important}.mb-9{margin-bottom:42px!important}.ml-9{margin-left:42px!important}.mx-9{margin-left:42px!important;margin-right:42px!important}.my-9{margin-top:42px!important;margin-bottom:42px!important}.p-9{padding:42px!important}.pt-9{padding-top:42px!important}.pr-9{padding-right:42px!important}.pb-9{padding-bottom:42px!important}.pl-9{padding-left:42px!important}.px-9{padding-left:42px!important;padding-right:42px!important}.py-9{padding-top:42px!important;padding-bottom:42px!important}.g-9{gap:42px!important}.gx-9{-moz-column-gap:42px!important;column-gap:42px!important}.gy-9{row-gap:42px!important}.m-10{margin:48px!important}.mt-10{margin-top:48px!important}.mr-10{margin-right:48px!important}.mb-10{margin-bottom:48px!important}.ml-10{margin-left:48px!important}.mx-10{margin-left:48px!important;margin-right:48px!important}.my-10{margin-top:48px!important;margin-bottom:48px!important}.p-10{padding:48px!important}.pt-10{padding-top:48px!important}.pr-10{padding-right:48px!important}.pb-10{padding-bottom:48px!important}.pl-10{padding-left:48px!important}.px-10{padding-left:48px!important;padding-right:48px!important}.py-10{padding-top:48px!important;padding-bottom:48px!important}.g-10{gap:48px!important}.gx-10{-moz-column-gap:48px!important;column-gap:48px!important}.gy-10{row-gap:48px!important}.m-11{margin:64px!important}.mt-11{margin-top:64px!important}.mr-11{margin-right:64px!important}.mb-11{margin-bottom:64px!important}.ml-11{margin-left:64px!important}.mx-11{margin-left:64px!important;margin-right:64px!important}.my-11{margin-top:64px!important;margin-bottom:64px!important}.p-11{padding:64px!important}.pt-11{padding-top:64px!important}.pr-11{padding-right:64px!important}.pb-11{padding-bottom:64px!important}.pl-11{padding-left:64px!important}.px-11{padding-left:64px!important;padding-right:64px!important}.py-11{padding-top:64px!important;padding-bottom:64px!important}.g-11{gap:64px!important}.gx-11{-moz-column-gap:64px!important;column-gap:64px!important}.gy-11{row-gap:64px!important}.m-12{margin:80px!important}.mt-12{margin-top:80px!important}.mr-12{margin-right:80px!important}.mb-12{margin-bottom:80px!important}.ml-12{margin-left:80px!important}.mx-12{margin-left:80px!important;margin-right:80px!important}.my-12{margin-top:80px!important;margin-bottom:80px!important}.p-12{padding:80px!important}.pt-12{padding-top:80px!important}.pr-12{padding-right:80px!important}.pb-12{padding-bottom:80px!important}.pl-12{padding-left:80px!important}.px-12{padding-left:80px!important;padding-right:80px!important}.py-12{padding-top:80px!important;padding-bottom:80px!important}.g-12{gap:80px!important}.gx-12{-moz-column-gap:80px!important;column-gap:80px!important}.gy-12{row-gap:80px!important}.row{display:flex;flex-direction:row}@media (max-width:1279px){.row.adaptive{flex-direction:column}}.column{display:flex;flex-direction:column}.f-grid{display:flex;flex-direction:row;flex-wrap:wrap}.grid{display:grid}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.w-100{width:100%}.w-auto{width:auto!important}.w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-200{width:200%}.h-100{height:100%}.min-w-0{min-width:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.fs-xs{font-size:12px}.fs-sm{font-size:13px}.fs-md{font-size:14px}.fs-base{font-size:15px}.fs-lg{font-size:16px}.fs-xl{font-size:20px}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-uppercase{text-transform:uppercase!important}.text-nowrap{white-space:nowrap!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-flex{display:inline-flex!important}.d-flex{display:flex!important}.d-grid{display:grid!important}@media (max-width:767px){.grid-2,.grid-3{grid-template-columns:1fr}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background-color:#16161e;color:#c0caf5}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{width:10px;background:#16161e;cursor:pointer}::-webkit-scrollbar-thumb{width:10px;background:#414868;cursor:default}::-webkit-scrollbar-corner{background:0 0;height:1px}::-webkit-scrollbar-button{display:none}.ph.normalize{position:relative;top:.15em} /*# sourceMappingURL=kit.css.map */ diff --git a/dist/css/kit.css.map b/dist/css/kit.css.map index cb47d07..b09edaa 100644 --- a/dist/css/kit.css.map +++ b/dist/css/kit.css.map @@ -1 +1 @@ -{"version":3,"sources":["file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_fonts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_spacing.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_motion.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_typography.scss","$stdin","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_mixins.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_palette.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_loader.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_buttons.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_design-tokens.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_forms.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_input-group.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_lists.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_badges.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_chips.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_avatar.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_tables.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_data-patterns.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_page-header.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_description-list.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_stepper.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_timeline.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_accordion.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_tabs.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_drawer.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_navigation-shell.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_toasts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_cards.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_modals.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_alerts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_advanced-select.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_editable-string.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_navigation-overlays.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_utils.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/kit.scss"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_fonts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_spacing.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_motion.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_typography.scss","$stdin","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_mixins.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_palette.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_loader.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_buttons.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_design-tokens.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_forms.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_input-group.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_lists.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_badges.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_chips.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_avatar.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_tables.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_data-patterns.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_page-header.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_description-list.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_stepper.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_timeline.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_accordion.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_tabs.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_drawer.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_navigation-shell.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_toasts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_cards.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_modals.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_alerts.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_advanced-select.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_editable-string.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/components/_navigation-overlays.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/_utils.scss","file:///home/gmikcon/Projects/gnexus-ui-kit/src/scss/kit.scss"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 42c8311..7266950 100644 --- a/dist/index.html +++ b/dist/index.html @@ -2992,59 +2992,26 @@

Toasts создаются из JS и добавляются в `body` вызовом `.show()`. Для коротких уведомлений доступны методы `createInfo`, `createSuccess`, `createWarning`, `createDanger`. + Если текст не передан — toast отображается в компактном однострочном виде.

-

Triggers (demo buttons)

+

With text

- +
- + + + + +
@@ -3057,7 +3024,10 @@ { lifetime: 4000, alone: true } ).show(); -Toasts.createDanger("Error", "Произошла ошибка").show(); +Toasts.createDanger("Error", "Произошла ошибка").show(); + +// Title only — compact single-line toast +Toasts.createInfo("Saved").show();
@@ -3090,8 +3060,24 @@ "Произошла ошибка. Повтори позже." ).show(); } + + window.demoToastInfoTitleOnly = function () { + Toasts.createInfo("Document saved").show(); + } + + window.demoToastSuccessTitleOnly = function () { + Toasts.createSuccess("Synced").show(); + } + + window.demoToastWarningTitleOnly = function () { + Toasts.createWarning("Offline mode").show(); + } + + window.demoToastDangerTitleOnly = function () { + Toasts.createDanger("Connection lost").show(); + } }); - +

Cards

diff --git a/dist/js/gnexus-ui-kit.esm.js b/dist/js/gnexus-ui-kit.esm.js index e9dd2e2..ecd112e 100644 --- a/dist/js/gnexus-ui-kit.esm.js +++ b/dist/js/gnexus-ui-kit.esm.js @@ -1,4 +1,4 @@ -function me(e){let t="";for(let a of e){let n="",i="";a.route&&(n=``,i=""),t+=` +function pe(e){let t="";for(let a of e){let n="",i="";a.route&&(n=``,i=""),t+=`
  • ${n}${a.content}${i}
  • @@ -8,24 +8,24 @@ ${t}
    - `}function pe(e,t,a,n){let i='',o=0;for(let d in t)i+=`${t[d]}`,o++;i+="";let l="";for(let d of a){l+='';for(let f in t)l+=`${d[f]}`;l+=""}let c="";typeof n!="undefined"&&(c=` + `}function he(e,t,a,n){let i='',s=0;for(let d in t)i+=`${t[d]}`,s++;i+="";let l="";for(let d of a){l+='';for(let f in t)l+=`${d[f]}`;l+=""}let c="";typeof n!="undefined"&&(c=` - + ${n} - `);let s=e?`${e}`:"",r=a.length?`${i}`:"";return l=a.length?l:'Empty',` + `);let o=e?`${e}`:"",r=a.length?`${i}`:"";return l=a.length?l:'Empty',`
    - ${s} + ${o} ${r} ${l} ${c}
    - `}function P(e,t,a){let n=document.createElement(e);for(let[i,o]of Object.entries(t))i==="class"?n.className=o:i==="dataset"?Object.assign(n.dataset,o):n.setAttribute(i,o);return n.innerHTML=typeof a!="undefined"?a:"",n}function he(e,t){return["primary","success","secondary","info","warning","error","danger"].indexOf(e)<0?console.error("createAlert()","Error of type: "+e):P("div",{class:`alert alert-${e}`},t)}function ve(e,t={}){let a={};for(let n in e){if(typeof t[n]!="undefined"){a[t[n]]=e[n];continue}a[n]=e[n]}return a}function ge(e,t){if((e==null?void 0:e.isLoading)==t)return!1;if(t)e.isLoading=!0,e.originalContent=e.innerHTML,e.classList.contains("with-icon")?e.originalWithIcon=!0:e.classList.add("with-icon"),e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),e.innerHTML=' Loading';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),e.originalWithIcon||e.classList.remove("with-icon"),e.innerHTML=e.originalContent}return e}function ye(e,t){if((e==null?void 0:e.isLoading)==t)return!1;let a=e.querySelector(".status-icon");if(t)e.isLoading=!0,e.originalContent=a.innerHTML,e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),a.innerHTML='';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),a.innerHTML=e.originalContent}return e}function be(e,t){return t=t!=null?t:"",` + `}function z(e,t,a){let n=document.createElement(e);for(let[i,s]of Object.entries(t))i==="class"?n.className=s:i==="dataset"?Object.assign(n.dataset,s):n.setAttribute(i,s);return n.innerHTML=typeof a!="undefined"?a:"",n}function ve(e,t){return["primary","success","secondary","info","warning","error","danger"].indexOf(e)<0?console.error("createAlert()","Error of type: "+e):z("div",{class:`alert alert-${e}`},t)}function ge(e,t={}){let a={};for(let n in e){if(typeof t[n]!="undefined"){a[t[n]]=e[n];continue}a[n]=e[n]}return a}function ye(e,t){if((e==null?void 0:e.isLoading)==t)return!1;if(t)e.isLoading=!0,e.originalContent=e.innerHTML,e.classList.contains("with-icon")?e.originalWithIcon=!0:e.classList.add("with-icon"),e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),e.innerHTML=' Loading';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),e.originalWithIcon||e.classList.remove("with-icon"),e.innerHTML=e.originalContent}return e}function be(e,t){if((e==null?void 0:e.isLoading)==t)return!1;let a=e.querySelector(".status-icon");if(t)e.isLoading=!0,e.originalContent=a.innerHTML,e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),a.innerHTML='';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),a.innerHTML=e.originalContent}return e}function Ee(e,t){return t=t!=null?t:"",`
    - `}function Ee(e){return e=="active"?'Online':'Offline'}function Se(e){return e=="enabled"?'Enabled':'Disabled'}function Le(e){let t=new Date(e.replace(" ","T")),n=Math.floor((new Date-t)/1e3);if(n<60)return"less than a minute ago";let i=Math.floor(n/60),o=Math.floor(i/60),l=Math.floor(o/24);if(i<60)return`${i} minute${i!==1?"s":""} ago`;if(o<24){let c=i%60;return`${o} hour${o!==1?"s":""} ${c} minute${c!==1?"s":""} ago`}return`${l} day${l!==1?"s":""} ago`}function we(e){let t=new Date(e.replace(" ","T")),a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),o=Math.floor((n-i)/864e5),l=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");if(o===0)return`Today at ${l}:${c}`;if(o===1)return`Yesterday at ${l}:${c}`;let s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${t.getDate()} ${s[t.getMonth()]} ${t.getFullYear()} at ${l}:${c}`}function xe(){return` + `}function Se(e){return e=="active"?'Online':'Offline'}function Le(e){return e=="enabled"?'Enabled':'Disabled'}function we(e){let t=new Date(e.replace(" ","T")),n=Math.floor((new Date-t)/1e3);if(n<60)return"less than a minute ago";let i=Math.floor(n/60),s=Math.floor(i/60),l=Math.floor(s/24);if(i<60)return`${i} minute${i!==1?"s":""} ago`;if(s<24){let c=i%60;return`${s} hour${s!==1?"s":""} ${c} minute${c!==1?"s":""} ago`}return`${l} day${l!==1?"s":""} ago`}function xe(e){let t=new Date(e.replace(" ","T")),a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),s=Math.floor((n-i)/864e5),l=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");if(s===0)return`Today at ${l}:${c}`;if(s===1)return`Yesterday at ${l}:${c}`;let o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${t.getDate()} ${o[t.getMonth()]} ${t.getFullYear()} at ${l}:${c}`}function Ae(){return`
    Loading
    - `}function Ae(){return` + `}function $e(){return`

    It's empty here yet

    - `}var m={template:{sidebarNav:me,table:pe,createElement:P,createAlert:he,mainTemplate:be,connectionStatusBadge:Ee,toogleStateBadge:Se,circleLoaderHTML:xe,emptyHereHTML:Ae},unification:{fieldsUnification:ve,timeAgo:Le,formatDate:we},states:{btnLoadingState:ge,cardStatusLoadingState:ye}};function ke(e,t){if(t instanceof Node){e.append(t);return}let a=document.createElement("span");a.innerHTML=t,e.append(...a.childNodes)}function $e(e,t,a,n){let i=document.createElement("div");i.className=`toast toast-${e}`,i.setAttribute("role","alert");let o=document.createElement("div");o.className="toast-content";let l=document.createElement("h4");l.className="toast-title",ke(l,t),l.append(document.createTextNode(` ${a!=null?a:""}`));let c=document.createElement("p");c.className="toast-text",c.textContent=n!=null?n:"";let s=document.createElement("button");return s.className="btn-icon toast-close",s.type="button",s.setAttribute("aria-label","Close"),s.textContent="\u2715",o.append(l,c),i.append(o,s),i}function qe(e,t){if(t!=null&&t.alone&&document.querySelectorAll(".toast").forEach(a=>{var n;return(n=a.close)==null?void 0:n.call(a)}),e.close=function(){this.classList.add("a-hide"),setTimeout(()=>{this.remove()},300)},e.querySelector(".toast-close").addEventListener("click",a=>{e.close()}),e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.addEventListener("mouseover",a=>e.ishovered=!0),e.addEventListener("mouseout",a=>e.ishovered=!1),t!=null&&t.lifetime){let a=setInterval(()=>{e.ishovered||(e.close(),clearInterval(a))},t==null?void 0:t.lifetime)}return e}function v(e,t,a,n,i){return qe($e(e,t,a,n),i)}function Te(e,t,a){return typeof a=="undefined"&&(a={}),typeof a.lifetime=="undefined"&&(a.lifetime=4e3),typeof a.alone=="undefined"&&(a.alone=!0),v("success",'',e,t,a)}function Ne(e,t,a){return v("info",'',e,t,a)}function He(e,t,a){return v("warning",'',e,t,a)}function z(e,t,a){return v("danger",'',e,t,a)}var V={create:v,createInfo:Ne,createSuccess:Te,createWarning:He,createError:z,createDanger:z};function g(e,t,a="html"){if(t instanceof Node){e.append(t);return}typeof t!="undefined"&&t!==null&&(a==="text"?e.textContent=t:e.innerHTML=t)}function Ce(e,t,a,n={}){var W;let i=document.createElement("div");i.className="modal",i.setAttribute("aria-hidden","true"),i.id=e;let o=document.createElement("div");o.className="modal-backdrop";let l=document.createElement("div");l.className="modal-dialog",l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-labelledby",`${e}-title`);let c=document.createElement("div");c.className="modal-panel";let s=document.createElement("header");s.className="modal-header";let r=document.createElement("h4");r.className="modal-title",r.id=`${e}-title`,r.textContent=t;let u=document.createElement("button");u.className="btn-icon modal-close",u.type="button",u.setAttribute("aria-label","Close"),u.textContent="\u2715";let d=document.createElement("div");d.className="modal-body";let f=document.createElement("footer");return f.className="modal-footer",g(f,a,(W=n.footerMode)!=null?W:"html"),s.append(r,u),c.append(d,f),l.append(s,c),i.append(o,l),i}function Me(e,t){return e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.close=function(){e.classList.add("a-hide"),setTimeout(()=>{e.remove()},300)},e.querySelector(".modal-close").addEventListener("click",a=>{e.close()}),typeof t=="function"&&t(e),e}function De(e,t){var c;t=t!=null?t:{};let a=t.title||"",n=t.footer||"",i=Ce(e,a,n,t),o=i.querySelector(".modal-body"),l=i.querySelector(".modal-footer");if(typeof t.actions=="function"){let s=t.actions(i);if(Array.isArray(s)&&s[0]instanceof Node){let r=document.createElement("div");r.classList.add("actions");for(let u of s)r.append(u);l.append(r)}else s instanceof Node&&l.append(s)}if(typeof t.body=="function"){let s=t.body(i);g(o,s,(c=t.bodyMode)!=null?c:"html")}else typeof t.bodyText!="undefined"?g(o,t.bodyText,"text"):typeof t.bodyHtml!="undefined"&&g(o,t.bodyHtml,"html");return Me(i,t==null?void 0:t.onready)}var y={create:De};function Y(e){let t=e.querySelector(".focus");if(!t)return;let a=e.getBoundingClientRect(),n=t.getBoundingClientRect();n.topa.bottom&&(e.scrollTop+=n.bottom-a.bottom)}function w(e){e.advancedSelect.optionsElements.length-e.querySelectorAll(".option.hide").length==0?e.advancedSelect.showState("not-found"):e.advancedSelect.showState("options")}function x(e){return e.querySelector(".option:not(.hide)")}function Oe(e){return e.querySelector(".option:not(.hide):last-child")}function _(e,t,a){a&&(e.value=a.dataset.displayValue,e.blur(),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0})),t.advancedSelect.dispatchEvent("selected"),t.advancedSelect.closeList())}function A(e,t,a){let n=document.createElement("div");n.classList.add("advanced-select");let i=document.createElement("div");i.className="popup-options-container";let o=document.createElement("div");o.className="not-found",o.textContent=a!=null?a:"Nothing found";let l=document.createElement("div");l.className="options";for(let s in t){let r=document.createElement("div");r.className="option",r.dataset.value=s,r.dataset.displayValue=t[s],r.textContent=t[s],l.append(r)}i.append(o,l),n.append(i);let c=(s,r)=>{for(let u in r)if(r[u]==s){let d={};return d[u]=r[u],d}return!1};return n.advancedSelect={isOpened:!1,options:t,eventsHandlers:{openList:[],closeList:[],selected:[],changed:[]},openList:()=>{n.advancedSelect.isOpened=!0,n.classList.add("a-show"),w(n),n.advancedSelect.dispatchEvent("openList")},closeList:()=>{n.advancedSelect.isOpened=!1,n.classList.remove("a-show"),w(n),n.advancedSelect.dispatchEvent("closeList")},showState:s=>{s=="options"?(n.querySelector(".options").classList.add("show"),n.querySelector(".not-found").classList.remove("show")):s=="not-found"&&(n.querySelector(".options").classList.remove("show"),n.querySelector(".not-found").classList.add("show"))},optionsElements:n.querySelectorAll(".option"),value:()=>{let s=c(e.value,t);return{inputValue:e.value,isOption:!!s,option:s}},addEventListener:(s,r)=>{if(typeof n.advancedSelect.eventsHandlers[s]!="undefined")return n.advancedSelect.eventsHandlers[s].push(r);console.error("Advanced Select component.","addEventListener()","Invalid event name")},dispatchEvent:s=>{if(typeof n.advancedSelect.eventsHandlers[s]=="undefined")return console.error("Advanced Select component.","dispatchEvent()","Invalid event name");for(let r of n.advancedSelect.eventsHandlers[s])r(n)}},e.setAttribute("autocomplete","nope"),e.advancedSelect={value:()=>n.advancedSelect.value()},e.addEventListener("focus",s=>{n.advancedSelect.openList()}),e.addEventListener("blur",s=>{requestAnimationFrame(()=>{n.matches(":hover")||n.advancedSelect.closeList()})}),e.addEventListener("keydown",s=>{var r,u;if(s.key==="ArrowUp"){s.preventDefault();let d=n.querySelector(".option.focus");if(d){d.classList.remove("focus");let f=d.previousElementSibling;for(;f&&f.classList.contains("hide");)f=f.previousElementSibling;f||(f=x(n)),f==null||f.classList.add("focus")}else(r=Oe(n))==null||r.classList.add("focus");Y(n)}else if(s.key==="ArrowDown"){s.preventDefault();let d=n.querySelector(".option.focus");if(d){d.classList.remove("focus");let f=d.nextElementSibling;for(;f&&f.classList.contains("hide");)f=f.nextElementSibling;f||(f=x(n)),f==null||f.classList.add("focus")}else(u=x(n))==null||u.classList.add("focus");Y(n)}else if(s.key==="Enter"){s.preventDefault();let d=n.querySelector(".option.focus");_(e,n,d)}else s.key==="Escape"&&(n.advancedSelect.closeList(),e.blur())}),e.addEventListener("input",s=>{var u;let r=s.currentTarget.value.toLowerCase();r==""?n.advancedSelect.optionsElements.forEach(d=>d.classList.remove("hide")):([...n.advancedSelect.optionsElements].filter(d=>d.dataset.displayValue.toLowerCase().indexOf(r)!=-1).forEach(d=>d.classList.remove("hide")),[...n.advancedSelect.optionsElements].filter(d=>d.dataset.displayValue.toLowerCase().indexOf(r)==-1).forEach(d=>d.classList.add("hide")),w(n),(u=n.querySelector(".option.focus"))==null||u.classList.remove("focus"))}),e.addEventListener("change",s=>{n.advancedSelect.dispatchEvent("changed")}),[...n.advancedSelect.optionsElements].forEach(s=>{s.addEventListener("pointerdown",r=>{r.preventDefault(),_(e,n,r.currentTarget)})}),n}function Fe(e,t){let a="Write something",n=t?``:``;return` + `}var m={template:{sidebarNav:pe,table:he,createElement:z,createAlert:ve,mainTemplate:Ee,connectionStatusBadge:Se,toogleStateBadge:Le,circleLoaderHTML:Ae,emptyHereHTML:$e},unification:{fieldsUnification:ge,timeAgo:we,formatDate:xe},states:{btnLoadingState:ye,cardStatusLoadingState:be}};function ke(e,t){if(t instanceof Node){e.append(t);return}let a=document.createElement("span");a.innerHTML=t,e.append(...a.childNodes)}function qe(e,t,a,n){let i=document.createElement("div");i.className=`toast toast-${e}`,i.setAttribute("role","alert");let s=document.createElement("div");s.className="toast-content";let l=document.createElement("div");if(l.className="toast-header",ke(l,t),l.append(document.createTextNode(` ${a!=null?a:""}`)),s.append(l),n){let u=document.createElement("p");u.className="toast-text",u.textContent=n,s.append(u)}let c=document.createElement("div");c.className="toast-progress";let o=document.createElement("div");o.className="toast-progress-bar",c.append(o);let r=document.createElement("button");return r.className="btn-icon toast-close",r.type="button",r.setAttribute("aria-label","Close"),r.innerHTML='',i.append(s,r,c),i}function Te(e,t){let a=(t==null?void 0:t.lifetime)||4e3;t!=null&&t.alone&&document.querySelectorAll(".toast").forEach(i=>{var s;return(s=i.close)==null?void 0:s.call(i)});let n=e.querySelector(".toast-progress-bar");if(n&&a>0&&(n.style.animationDuration=`${a}ms`),e.close=function(){this.classList.add("a-hide"),setTimeout(()=>{this.remove()},300)},e.querySelector(".toast-close").addEventListener("click",i=>{e.close()}),e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.addEventListener("mouseover",i=>e.ishovered=!0),e.addEventListener("mouseout",i=>e.ishovered=!1),a>0){let i=setInterval(()=>{e.ishovered||(e.close(),clearInterval(i))},a)}return e}function v(e,t,a,n,i){return Te(qe(e,t,a,n),i)}function g(e){return typeof e=="undefined"&&(e={}),typeof e.lifetime=="undefined"&&(e.lifetime=4e3),typeof e.alone=="undefined"&&(e.alone=!0),e}function Ne(e,t,a){return a=g(a),v("success",'',e,t,a)}function He(e,t,a){return a=g(a),v("info",'',e,t,a)}function Me(e,t,a){return a=g(a),v("warning",'',e,t,a)}function V(e,t,a){return a=g(a),v("danger",'',e,t,a)}var Y={create:v,createInfo:He,createSuccess:Ne,createWarning:Me,createError:V,createDanger:V};function y(e,t,a="html"){if(t instanceof Node){e.append(t);return}typeof t!="undefined"&&t!==null&&(a==="text"?e.textContent=t:e.innerHTML=t)}function Ce(e,t,a,n={}){var P;let i=document.createElement("div");i.className="modal",i.setAttribute("aria-hidden","true"),i.id=e;let s=document.createElement("div");s.className="modal-backdrop";let l=document.createElement("div");l.className="modal-dialog",l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-labelledby",`${e}-title`);let c=document.createElement("div");c.className="modal-panel";let o=document.createElement("header");o.className="modal-header";let r=document.createElement("h4");r.className="modal-title",r.id=`${e}-title`,r.textContent=t;let u=document.createElement("button");u.className="btn-icon modal-close",u.type="button",u.setAttribute("aria-label","Close"),u.textContent="\u2715";let d=document.createElement("div");d.className="modal-body";let f=document.createElement("footer");return f.className="modal-footer",y(f,a,(P=n.footerMode)!=null?P:"html"),o.append(r,u),c.append(d,f),l.append(o,c),i.append(s,l),i}function De(e,t){return e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.close=function(){e.classList.add("a-hide"),setTimeout(()=>{e.remove()},300)},e.querySelector(".modal-close").addEventListener("click",a=>{e.close()}),typeof t=="function"&&t(e),e}function Oe(e,t){var c;t=t!=null?t:{};let a=t.title||"",n=t.footer||"",i=Ce(e,a,n,t),s=i.querySelector(".modal-body"),l=i.querySelector(".modal-footer");if(typeof t.actions=="function"){let o=t.actions(i);if(Array.isArray(o)&&o[0]instanceof Node){let r=document.createElement("div");r.classList.add("actions");for(let u of o)r.append(u);l.append(r)}else o instanceof Node&&l.append(o)}if(typeof t.body=="function"){let o=t.body(i);y(s,o,(c=t.bodyMode)!=null?c:"html")}else typeof t.bodyText!="undefined"?y(s,t.bodyText,"text"):typeof t.bodyHtml!="undefined"&&y(s,t.bodyHtml,"html");return De(i,t==null?void 0:t.onready)}var b={create:Oe};function _(e){let t=e.querySelector(".focus");if(!t)return;let a=e.getBoundingClientRect(),n=t.getBoundingClientRect();n.topa.bottom&&(e.scrollTop+=n.bottom-a.bottom)}function x(e){e.advancedSelect.optionsElements.length-e.querySelectorAll(".option.hide").length==0?e.advancedSelect.showState("not-found"):e.advancedSelect.showState("options")}function A(e){return e.querySelector(".option:not(.hide)")}function Fe(e){return e.querySelector(".option:not(.hide):last-child")}function K(e,t,a){a&&(e.value=a.dataset.displayValue,e.blur(),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0})),t.advancedSelect.dispatchEvent("selected"),t.advancedSelect.closeList())}function $(e,t,a){let n=document.createElement("div");n.classList.add("advanced-select");let i=document.createElement("div");i.className="popup-options-container";let s=document.createElement("div");s.className="not-found",s.textContent=a!=null?a:"Nothing found";let l=document.createElement("div");l.className="options";for(let o in t){let r=document.createElement("div");r.className="option",r.dataset.value=o,r.dataset.displayValue=t[o],r.textContent=t[o],l.append(r)}i.append(s,l),n.append(i);let c=(o,r)=>{for(let u in r)if(r[u]==o){let d={};return d[u]=r[u],d}return!1};return n.advancedSelect={isOpened:!1,options:t,eventsHandlers:{openList:[],closeList:[],selected:[],changed:[]},openList:()=>{n.advancedSelect.isOpened=!0,n.classList.add("a-show"),x(n),n.advancedSelect.dispatchEvent("openList")},closeList:()=>{n.advancedSelect.isOpened=!1,n.classList.remove("a-show"),x(n),n.advancedSelect.dispatchEvent("closeList")},showState:o=>{o=="options"?(n.querySelector(".options").classList.add("show"),n.querySelector(".not-found").classList.remove("show")):o=="not-found"&&(n.querySelector(".options").classList.remove("show"),n.querySelector(".not-found").classList.add("show"))},optionsElements:n.querySelectorAll(".option"),value:()=>{let o=c(e.value,t);return{inputValue:e.value,isOption:!!o,option:o}},addEventListener:(o,r)=>{if(typeof n.advancedSelect.eventsHandlers[o]!="undefined")return n.advancedSelect.eventsHandlers[o].push(r);console.error("Advanced Select component.","addEventListener()","Invalid event name")},dispatchEvent:o=>{if(typeof n.advancedSelect.eventsHandlers[o]=="undefined")return console.error("Advanced Select component.","dispatchEvent()","Invalid event name");for(let r of n.advancedSelect.eventsHandlers[o])r(n)}},e.setAttribute("autocomplete","nope"),e.advancedSelect={value:()=>n.advancedSelect.value()},e.addEventListener("focus",o=>{n.advancedSelect.openList()}),e.addEventListener("blur",o=>{requestAnimationFrame(()=>{n.matches(":hover")||n.advancedSelect.closeList()})}),e.addEventListener("keydown",o=>{var r,u;if(o.key==="ArrowUp"){o.preventDefault();let d=n.querySelector(".option.focus");if(d){d.classList.remove("focus");let f=d.previousElementSibling;for(;f&&f.classList.contains("hide");)f=f.previousElementSibling;f||(f=A(n)),f==null||f.classList.add("focus")}else(r=Fe(n))==null||r.classList.add("focus");_(n)}else if(o.key==="ArrowDown"){o.preventDefault();let d=n.querySelector(".option.focus");if(d){d.classList.remove("focus");let f=d.nextElementSibling;for(;f&&f.classList.contains("hide");)f=f.nextElementSibling;f||(f=A(n)),f==null||f.classList.add("focus")}else(u=A(n))==null||u.classList.add("focus");_(n)}else if(o.key==="Enter"){o.preventDefault();let d=n.querySelector(".option.focus");K(e,n,d)}else o.key==="Escape"&&(n.advancedSelect.closeList(),e.blur())}),e.addEventListener("input",o=>{var u;let r=o.currentTarget.value.toLowerCase();r==""?n.advancedSelect.optionsElements.forEach(d=>d.classList.remove("hide")):([...n.advancedSelect.optionsElements].filter(d=>d.dataset.displayValue.toLowerCase().indexOf(r)!=-1).forEach(d=>d.classList.remove("hide")),[...n.advancedSelect.optionsElements].filter(d=>d.dataset.displayValue.toLowerCase().indexOf(r)==-1).forEach(d=>d.classList.add("hide")),x(n),(u=n.querySelector(".option.focus"))==null||u.classList.remove("focus"))}),e.addEventListener("change",o=>{n.advancedSelect.dispatchEvent("changed")}),[...n.advancedSelect.optionsElements].forEach(o=>{o.addEventListener("pointerdown",r=>{r.preventDefault(),K(e,n,r.currentTarget)})}),n}function Ie(e,t){let a="Write something",n=t?``:``;return`
    ${e} @@ -60,5 +60,5 @@
    - `}function k(e,t){t=t!=null?t:!1;let a=e.innerHTML,n=m.template.createElement("div",{class:"component editable-string-component"},Fe(a,t));e.innerHTML="",e.append(n);let i=n.querySelector(".edit-text-btn"),o=n.querySelector(".apply-changes-btn"),l=n.querySelector(".cancel-changes-btn"),c=n.querySelector(".editable-string-content"),s=n.querySelector(".editable-string"),r=n.querySelector(".editable-string-form"),u=n.querySelector(".input");return n.editableString={formIsDisplaying:!1,value:a,input:u,eventsHandlers:{onChange:[],onSwitch:[]},switch:()=>{n.formIsDisplaying?(r.classList.add("d-none"),c.classList.remove("d-none"),s.innerText=n.editableString.value):(r.classList.remove("d-none"),c.classList.add("d-none"),u.value=n.editableString.value),n.formIsDisplaying=!n.formIsDisplaying,n.editableString.runEventHandler("onSwitch")},setValue:d=>{n.editableString.value=d,u.value=d,s.innerText=d},apply:()=>{n.editableString.value=u.value,n.editableString.switch(),u.value!=a&&n.editableString.runEventHandler("onChange")},onChange:d=>{n.editableString.eventsHandlers.onChange.push(d)},onSwitch:d=>{n.editableString.eventsHandlers.onSwitch.push(d)},runEventHandler:d=>{n.editableString.eventsHandlers[d].forEach(f=>f(n.editableString))}},i.addEventListener("click",d=>{n.editableString.switch()}),l.addEventListener("click",d=>{n.editableString.switch()}),o.addEventListener("click",d=>{n.editableString.apply()}),u.addEventListener("keydown",d=>{d.key==="Enter"&&(u.blur(),n.editableString.apply())}),n}function $(e,t,a){y.create("confirm-popup",{title:"Requires confirmation",body:()=>{let n=document.createElement("p");return n.textContent=e!=null?e:"",n},actions:n=>{let i=m.template.createElement("button",{class:"btn btn-primary"},"NO"),o=m.template.createElement("button",{class:"btn btn-warning"},"YES");return i.addEventListener("click",l=>{n.close(),a==null||a()}),o.addEventListener("click",l=>{n.close(),t==null||t()}),[i,o]}}).show()}function b(e,t,a="html"){if(t instanceof Node){e.append(t);return}typeof t!="undefined"&&t!==null&&(a==="text"?e.textContent=t:e.innerHTML=t)}function Ie(e,t,a,n={}){var f;let i=document.createElement("div");i.className="drawer",i.setAttribute("aria-hidden","true"),i.id=e,n.position==="left"&&i.classList.add("drawer-left");let o=document.createElement("div");o.className="drawer-backdrop";let l=document.createElement("aside");l.className="drawer-panel",l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-labelledby",`${e}-title`);let c=document.createElement("header");c.className="drawer-header";let s=document.createElement("h4");s.className="drawer-title",s.id=`${e}-title`,s.textContent=t;let r=document.createElement("button");r.className="btn-icon drawer-close",r.type="button",r.setAttribute("aria-label","Close"),r.textContent="\u2715";let u=document.createElement("div");u.className="drawer-body";let d=document.createElement("footer");return d.className="drawer-footer",b(d,a,(f=n.footerMode)!=null?f:"html"),c.append(s,r),l.append(c,u,d),i.append(o,l),i}function je(e,t){return e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.close=function(){e.classList.add("a-hide"),setTimeout(()=>{e.remove()},300)},e.querySelector(".drawer-close").addEventListener("click",()=>{e.close()}),e.querySelector(".drawer-backdrop").addEventListener("click",()=>{e.close()}),typeof t=="function"&&t(e),e}function Re(e,t){var c;t=t!=null?t:{};let a=t.title||"",n=t.footer||"",i=Ie(e,a,n,t),o=i.querySelector(".drawer-body"),l=i.querySelector(".drawer-footer");if(typeof t.actions=="function"){let s=t.actions(i);if(Array.isArray(s)&&s[0]instanceof Node){let r=document.createElement("div");r.classList.add("actions");for(let u of s)r.append(u);l.append(r)}else s instanceof Node&&l.append(s)}if(typeof t.body=="function"){let s=t.body(i);b(o,s,(c=t.bodyMode)!=null?c:"html")}else typeof t.bodyText!="undefined"?b(o,t.bodyText,"text"):typeof t.bodyHtml!="undefined"&&b(o,t.bodyHtml,"html");return je(i,t==null?void 0:t.onready)}var K={create:Re};var J=new WeakSet;function Be(e,t){var n,i;let a=e.getAttribute("aria-controls");return a?((n=t.getElementById)==null?void 0:n.call(t,a))||document.getElementById(a):((i=t.querySelector)==null?void 0:i.call(t,"[data-navigation-drawer]"))||document.querySelector("[data-navigation-drawer]")}function G(e,t){var n;if(!e)return;e.classList.add("is-open"),e.setAttribute("aria-hidden","false"),e.removeAttribute("inert"),t==null||t.setAttribute("aria-expanded","true"),document.body.classList.add("nav-drawer-open");let a=e.querySelector("[data-navigation-close], a, button, input, select, textarea");(n=a==null?void 0:a.focus)==null||n.call(a)}function E(e,t,a=!0){var n;e&&(e.classList.remove("is-open"),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),t==null||t.setAttribute("aria-expanded","false"),document.body.classList.remove("nav-drawer-open"),a&&((n=t==null?void 0:t.focus)==null||n.call(t)))}function Ue(e=document){J.has(e)||(e.addEventListener("click",t=>{let a=t.target.closest("[data-navigation-toggle]");if(!a)return;let n=Be(a,e);n!=null&&n.classList.contains("is-open")?E(n,a):G(n,a)}),e.addEventListener("click",t=>{let a=t.target.closest("[data-navigation-close], [data-navigation-link], .nav-drawer .list-action");if(!a)return;let n=a.closest("[data-navigation-drawer]")||e.querySelector("[data-navigation-drawer]"),i=n!=null&&n.id?e.querySelector(`[data-navigation-toggle][aria-controls="${n.id}"]`):e.querySelector("[data-navigation-toggle]"),o=!a.matches("[data-navigation-link]");E(n,i,o)}),document.addEventListener("keydown",t=>{t.key==="Escape"&&e.querySelectorAll("[data-navigation-drawer].is-open").forEach(a=>{let n=a.id?e.querySelector(`[data-navigation-toggle][aria-controls="${a.id}"]`):e.querySelector("[data-navigation-toggle]");E(a,n)})}),J.add(e))}var q={init:Ue,open:G,close:E};var Z=new WeakSet,Q=!1;function We(e){e.classList.remove("is-open"),e.querySelectorAll("[aria-expanded='true']").forEach(t=>{t.setAttribute("aria-expanded","false")})}function p(e=null){document.querySelectorAll(".dropdown.is-open, .popover.is-open, .tooltip.is-open").forEach(t=>{t!==e&&We(t)})}function Pe(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-dropdown-toggle]");if(!a)return;let n=a.closest(".dropdown");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i),a.setAttribute("aria-expanded",String(!i))})}function ze(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-popover-toggle]");if(!a)return;let n=a.closest(".popover");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i),a.setAttribute("aria-expanded",String(!i))})}function Ve(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-tooltip-toggle]");if(!a)return;let n=a.closest(".tooltip");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i)})}function Ye(e=document){e.addEventListener("click",t=>{t.target.closest(".dropdown, .popover, .tooltip")||p()}),Q||(document.addEventListener("keydown",t=>{t.key==="Escape"&&p()}),Q=!0)}function _e(e=document){Z.has(e)||(Pe(e),ze(e),Ve(e),Ye(e),Z.add(e))}var T={init:_e,closeAll:p};var X=new WeakSet,ne=new WeakMap;function ee(e){return`${e.name}:${e.size}:${e.lastModified}`}function ae(e){e&&(e.querySelectorAll("img[data-object-url]").forEach(t=>{URL.revokeObjectURL(t.dataset.objectUrl)}),e.innerHTML="",e.hidden=!0)}function N(e){return ne.get(e)||[]}function H(e,t){ne.set(e,t);let a=new DataTransfer;t.forEach(n=>a.items.add(n)),e.files=a.files}function Ke(e,t){let a=N(e),n=new Set(a.map(ee)),i=[...a];return t.forEach(o=>{let l=ee(o);n.has(l)||(n.add(l),i.push(o))}),H(e,i),i}function Je(e,t){let a=N(e).filter((n,i)=>i!==t);return H(e,a),a}function te(e){let t=e.name.split("."),a=t.length>1?t.pop().trim():"";return a?a.slice(0,6).toUpperCase():e.type?e.type.split("/").pop().slice(0,6).toUpperCase():"FILE"}function Ge(e){if(!Number.isFinite(e))return"";if(e===0)return"0 B";let t=["B","KB","MB","GB"],a=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1),n=e/Math.pow(1024,a);return`${n.toFixed(n>=10||a===0?0:1)} ${t[a]}`}function S(e){let t=e.closest(".file-upload-panel, .file-upload"),a=t==null?void 0:t.querySelector("[data-file-upload-preview]");if(!t||!a)return;let n=N(e);if(!n.length){ae(a);return}Ze(a,n)}function Ze(e,t){e&&(ae(e),t.forEach((a,n)=>{let i=document.createElement("figure");i.className="file-upload-preview-item",i.dataset.fileUploadIndex=String(n);let o=document.createElement("div");if(o.className="file-upload-preview-visual",a.type.startsWith("image/")){let u=document.createElement("img"),d=URL.createObjectURL(a);u.src=d,u.dataset.objectUrl=d,u.alt="",u.loading="lazy",o.append(u)}else{let u=document.createElement("span");u.className="file-upload-preview-type",u.textContent=te(a),o.append(u)}let l=document.createElement("figcaption"),c=document.createElement("span");c.className="file-upload-preview-name",c.textContent=a.name;let s=document.createElement("span");s.className="file-upload-preview-meta",s.textContent=`${te(a)} / ${Ge(a.size)}`;let r=document.createElement("button");r.className="file-upload-preview-remove",r.type="button",r.dataset.fileUploadRemove=String(n),r.setAttribute("aria-label",`Remove ${a.name}`),r.innerHTML='',l.append(c,s),i.append(r,o,l),e.append(i)}),e.hidden=!1)}function Qe(e=document){X.has(e)||(e.addEventListener("click",t=>{let a=t.target.closest("[data-input-clear]");if(!a)return;let n=a.closest(".input-group"),i=n==null?void 0:n.querySelector("input, textarea");i&&(i.value="",i.dispatchEvent(new Event("input",{bubbles:!0})),i.focus())}),e.addEventListener("click",t=>{let a=t.target.closest("[data-file-upload-remove]");if(!a)return;let n=a.closest(".file-upload-panel, .file-upload"),i=n==null?void 0:n.querySelector("[data-file-upload-input]");i&&(Je(i,Number(a.dataset.fileUploadRemove)),S(i),i.dispatchEvent(new Event("change",{bubbles:!0})))}),e.addEventListener("click",t=>{let a=t.target.closest("[data-date-picker]");if(a&&(a.focus(),typeof a.showPicker=="function"))try{a.showPicker()}catch(n){}}),e.addEventListener("change",t=>{let a=t.target.closest("[data-file-upload-input]");a&&(Ke(a,Array.from(a.files||[])),S(a))}),e.addEventListener("reset",t=>{let a=t.target.closest("form");a&&setTimeout(()=>{a.querySelectorAll("[data-file-upload-input]").forEach(n=>{H(n,[]),S(n)})},0)}),X.add(e))}var C={init:Qe,updateFileUpload:S};var ie=new WeakSet;function M(e){return e.querySelector(".accordion-panel")}function Xe(e){let t=M(e);t&&(t.style.height="auto",t.style.opacity="1",t.style.transform="translateY(0)")}function oe(e){let t=M(e);if(!t||e.dataset.animating==="true")return;e.dataset.animating="true",e.open=!0,t.style.height="0px",t.style.opacity="0",t.style.transform="translateY(-8px)",requestAnimationFrame(()=>{t.style.height=`${t.scrollHeight}px`,t.style.opacity="1",t.style.transform="translateY(0)"});let a=n=>{n.propertyName==="height"&&(t.removeEventListener("transitionend",a),t.style.height="auto",delete e.dataset.animating)};t.addEventListener("transitionend",a)}function se(e){let t=M(e);if(!t||e.dataset.animating==="true")return;e.dataset.animating="true",t.style.height=`${t.scrollHeight}px`,t.style.opacity="1",t.style.transform="translateY(0)",requestAnimationFrame(()=>{t.style.height="0px",t.style.opacity="0",t.style.transform="translateY(-8px)"});let a=n=>{n.propertyName==="height"&&(t.removeEventListener("transitionend",a),e.open=!1,t.style.height="",t.style.opacity="",t.style.transform="",delete e.dataset.animating)};t.addEventListener("transitionend",a)}function le(e){e.open?se(e):oe(e)}function et(e=document){ie.has(e)||(e.querySelectorAll(".accordion-item[open], .disclosure[open]").forEach(Xe),e.addEventListener("click",t=>{let a=t.target.closest(".accordion-summary");if(!a)return;let n=a.closest(".accordion-item, .disclosure");n&&(t.preventDefault(),le(n))}),ie.add(e))}var D={init:et,expand:oe,collapse:se,toggle:le};var ce=new WeakSet;function F(e){return[...e.querySelectorAll('[role="tab"], .tab')]}function re(e){return[...e.querySelectorAll('[role="tabpanel"], .tab-panel')]}function de(e,t){let a=t.getAttribute("aria-controls");return a?e.querySelector(`#${CSS.escape(a)}`):null}function ue(e,t){e.classList.toggle("tab-active",t),e.setAttribute("aria-selected",t?"true":"false"),e.setAttribute("tabindex",t?"0":"-1")}function O(e,t){e.classList.toggle("tab-panel-active",t),e.toggleAttribute("hidden",!t)}function I(e,t={}){var i;if(!e||e.disabled||e.getAttribute("aria-disabled")==="true")return;let a=e.closest(".tabs")||((i=e.closest('[role="tablist"]'))==null?void 0:i.parentElement);if(!a)return;F(a).forEach(o=>ue(o,o===e)),re(a).forEach(o=>O(o,!1));let n=de(a,e);n&&O(n,!0),t.focus!==!1&&e.focus()}function L(e,t,a){for(let n=1;n<=e.length;n++){let i=(t+n*a+e.length)%e.length,o=e[i];if(!o.disabled&&o.getAttribute("aria-disabled")!=="true")return o}return e[t]}function tt(e){var l;let t=e.target.closest('[role="tab"], .tab');if(!t)return;let a=t.closest(".tabs")||((l=t.closest('[role="tablist"]'))==null?void 0:l.parentElement),n=a?F(a):[],i=n.indexOf(t);if(i<0)return;let o=null;e.key==="ArrowRight"||e.key==="ArrowDown"?o=L(n,i,1):e.key==="ArrowLeft"||e.key==="ArrowUp"?o=L(n,i,-1):e.key==="Home"?o=L(n,-1,1):e.key==="End"&&(o=L(n,0,-1)),o&&(e.preventDefault(),I(o))}function nt(e){let t=F(e),a=t.find(n=>n.classList.contains("tab-active")||n.getAttribute("aria-selected")==="true")||t.find(n=>!n.disabled&&n.getAttribute("aria-disabled")!=="true");t.forEach(n=>{n.setAttribute("role","tab"),ue(n,n===a)}),e.querySelectorAll(".tabs-list").forEach(n=>{n.setAttribute("role","tablist")}),re(e).forEach(n=>{n.setAttribute("role","tabpanel"),O(n,a?n===de(e,a):n.classList.contains("tab-panel-active"))})}function at(e=document){ce.has(e)||(e.querySelectorAll(".tabs").forEach(nt),e.addEventListener("click",t=>{let a=t.target.closest('[role="tab"], .tab');!a||!e.contains(a)||(t.preventDefault(),I(a,{focus:!1}))}),e.addEventListener("keydown",tt),ce.add(e))}var j={init:at,activate:I};function R(){let e=[...document.querySelectorAll(".nav-drawer .list-item")],t=document.querySelector("[data-docs-current-section]");if(!e.length)return;let a=i=>{e.forEach(o=>{var s;let l=o.querySelector(".list-action"),c=(l==null?void 0:l.getAttribute("href"))===`#${i}`;o.classList.toggle("list-item-active",c),c&&t&&(t.textContent=((s=l.querySelector(".list-label"))==null?void 0:s.textContent.trim())||i)})},n=()=>{var o;let i=(o=window.location.hash)==null?void 0:o.slice(1);i&&a(i)};window.addEventListener("hashchange",n),n()}function fe(e){let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","readonly"),t.style.position="fixed",t.style.opacity="0",document.body.append(t),t.select(),document.execCommand("copy"),t.remove()}function h(e){return e.replace(/&/g,"&").replace(//g,">")}function it(e){var l;let t=e.textContent,a=/\/\/.*$|\/\*[\s\S]*?\*\/|`(?:\\[\s\S]|[^`\\])*`|'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\b|\b\d+(?:\.\d+)?\b|\b[A-Za-z_$][\w$]*(?=\s*\()/gm,n="",i=0,o;for(;(o=a.exec(t))!==null;){let c=o[0];if(n+=h(t.slice(i,o.index)),c.startsWith("//")||c.startsWith("/*"))n+=`${h(c)}`;else if(c.startsWith('"')||c.startsWith("'")||c.startsWith("`"))n+=`${h(c)}`;else if(/^\d/.test(c))n+=`${h(c)}`;else if(/^[A-Za-z_$][\w$]*$/.test(c)&&((l=t[o.index+c.length])!=null&&l.match(/\s|\(/))){let s=/^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(c);n+=s?`${c}`:`${c}`}else n+=h(c);i=o.index+c.length}n+=h(t.slice(i)),e.innerHTML=n,e.classList.add("hljs")}function ot(){document.querySelectorAll("code.language-js, code.language-javascript").forEach(it),window.hljs&&document.querySelectorAll("code:not(.language-js):not(.language-javascript)").forEach(e=>window.hljs.highlightElement(e))}function B(){ot(),document.querySelectorAll(".code-example .btn-icon").forEach(e=>{e.addEventListener("click",async()=>{var o,l;let t=e.closest(".code-example"),a=t==null?void 0:t.querySelector("code"),n=(o=a==null?void 0:a.textContent)!=null?o:"",i=e.innerHTML;if(n){try{(l=navigator.clipboard)!=null&&l.writeText?await navigator.clipboard.writeText(n):fe(n)}catch(c){fe(n)}e.innerHTML='',setTimeout(()=>{e.innerHTML=i},1200)}})})}var U={Helper:m,Toasts:V,Modals:y,advancedSelect:A,editableString:k,confirmPopup:$,Drawer:K,NavigationShell:q,Overlays:T,InputPatterns:C,Accordion:D,Tabs:j};typeof window!="undefined"&&(window.GNexusUIKit=U,Object.assign(window,U),document.addEventListener("DOMContentLoaded",()=>{T.init(),q.init(),C.init(),D.init(),j.init(),R(),B()}));var It=U;export{D as Accordion,K as Drawer,m as Helper,C as InputPatterns,y as Modals,q as NavigationShell,T as Overlays,j as Tabs,V as Toasts,A as advancedSelect,$ as confirmPopup,It as default,k as editableString}; + `}function k(e,t){t=t!=null?t:!1;let a=e.innerHTML,n=m.template.createElement("div",{class:"component editable-string-component"},Ie(a,t));e.innerHTML="",e.append(n);let i=n.querySelector(".edit-text-btn"),s=n.querySelector(".apply-changes-btn"),l=n.querySelector(".cancel-changes-btn"),c=n.querySelector(".editable-string-content"),o=n.querySelector(".editable-string"),r=n.querySelector(".editable-string-form"),u=n.querySelector(".input");return n.editableString={formIsDisplaying:!1,value:a,input:u,eventsHandlers:{onChange:[],onSwitch:[]},switch:()=>{n.formIsDisplaying?(r.classList.add("d-none"),c.classList.remove("d-none"),o.innerText=n.editableString.value):(r.classList.remove("d-none"),c.classList.add("d-none"),u.value=n.editableString.value),n.formIsDisplaying=!n.formIsDisplaying,n.editableString.runEventHandler("onSwitch")},setValue:d=>{n.editableString.value=d,u.value=d,o.innerText=d},apply:()=>{n.editableString.value=u.value,n.editableString.switch(),u.value!=a&&n.editableString.runEventHandler("onChange")},onChange:d=>{n.editableString.eventsHandlers.onChange.push(d)},onSwitch:d=>{n.editableString.eventsHandlers.onSwitch.push(d)},runEventHandler:d=>{n.editableString.eventsHandlers[d].forEach(f=>f(n.editableString))}},i.addEventListener("click",d=>{n.editableString.switch()}),l.addEventListener("click",d=>{n.editableString.switch()}),s.addEventListener("click",d=>{n.editableString.apply()}),u.addEventListener("keydown",d=>{d.key==="Enter"&&(u.blur(),n.editableString.apply())}),n}function q(e,t,a){b.create("confirm-popup",{title:"Requires confirmation",body:()=>{let n=document.createElement("p");return n.textContent=e!=null?e:"",n},actions:n=>{let i=m.template.createElement("button",{class:"btn btn-primary"},"NO"),s=m.template.createElement("button",{class:"btn btn-warning"},"YES");return i.addEventListener("click",l=>{n.close(),a==null||a()}),s.addEventListener("click",l=>{n.close(),t==null||t()}),[i,s]}}).show()}function E(e,t,a="html"){if(t instanceof Node){e.append(t);return}typeof t!="undefined"&&t!==null&&(a==="text"?e.textContent=t:e.innerHTML=t)}function je(e,t,a,n={}){var f;let i=document.createElement("div");i.className="drawer",i.setAttribute("aria-hidden","true"),i.id=e,n.position==="left"&&i.classList.add("drawer-left");let s=document.createElement("div");s.className="drawer-backdrop";let l=document.createElement("aside");l.className="drawer-panel",l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-labelledby",`${e}-title`);let c=document.createElement("header");c.className="drawer-header";let o=document.createElement("h4");o.className="drawer-title",o.id=`${e}-title`,o.textContent=t;let r=document.createElement("button");r.className="btn-icon drawer-close",r.type="button",r.setAttribute("aria-label","Close"),r.textContent="\u2715";let u=document.createElement("div");u.className="drawer-body";let d=document.createElement("footer");return d.className="drawer-footer",E(d,a,(f=n.footerMode)!=null?f:"html"),c.append(o,r),l.append(c,u,d),i.append(s,l),i}function Be(e,t){return e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.close=function(){e.classList.add("a-hide"),setTimeout(()=>{e.remove()},300)},e.querySelector(".drawer-close").addEventListener("click",()=>{e.close()}),e.querySelector(".drawer-backdrop").addEventListener("click",()=>{e.close()}),typeof t=="function"&&t(e),e}function Re(e,t){var c;t=t!=null?t:{};let a=t.title||"",n=t.footer||"",i=je(e,a,n,t),s=i.querySelector(".drawer-body"),l=i.querySelector(".drawer-footer");if(typeof t.actions=="function"){let o=t.actions(i);if(Array.isArray(o)&&o[0]instanceof Node){let r=document.createElement("div");r.classList.add("actions");for(let u of o)r.append(u);l.append(r)}else o instanceof Node&&l.append(o)}if(typeof t.body=="function"){let o=t.body(i);E(s,o,(c=t.bodyMode)!=null?c:"html")}else typeof t.bodyText!="undefined"?E(s,t.bodyText,"text"):typeof t.bodyHtml!="undefined"&&E(s,t.bodyHtml,"html");return Be(i,t==null?void 0:t.onready)}var J={create:Re};var G=new WeakSet;function Ue(e,t){var n,i;let a=e.getAttribute("aria-controls");return a?((n=t.getElementById)==null?void 0:n.call(t,a))||document.getElementById(a):((i=t.querySelector)==null?void 0:i.call(t,"[data-navigation-drawer]"))||document.querySelector("[data-navigation-drawer]")}function Z(e,t){var n;if(!e)return;e.classList.add("is-open"),e.setAttribute("aria-hidden","false"),e.removeAttribute("inert"),t==null||t.setAttribute("aria-expanded","true"),document.body.classList.add("nav-drawer-open");let a=e.querySelector("[data-navigation-close], a, button, input, select, textarea");(n=a==null?void 0:a.focus)==null||n.call(a)}function S(e,t,a=!0){var n;e&&(e.classList.remove("is-open"),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),t==null||t.setAttribute("aria-expanded","false"),document.body.classList.remove("nav-drawer-open"),a&&((n=t==null?void 0:t.focus)==null||n.call(t)))}function We(e=document){G.has(e)||(e.addEventListener("click",t=>{let a=t.target.closest("[data-navigation-toggle]");if(!a)return;let n=Ue(a,e);n!=null&&n.classList.contains("is-open")?S(n,a):Z(n,a)}),e.addEventListener("click",t=>{let a=t.target.closest("[data-navigation-close], [data-navigation-link], .nav-drawer .list-action");if(!a)return;let n=a.closest("[data-navigation-drawer]")||e.querySelector("[data-navigation-drawer]"),i=n!=null&&n.id?e.querySelector(`[data-navigation-toggle][aria-controls="${n.id}"]`):e.querySelector("[data-navigation-toggle]"),s=!a.matches("[data-navigation-link]");S(n,i,s)}),document.addEventListener("keydown",t=>{t.key==="Escape"&&e.querySelectorAll("[data-navigation-drawer].is-open").forEach(a=>{let n=a.id?e.querySelector(`[data-navigation-toggle][aria-controls="${a.id}"]`):e.querySelector("[data-navigation-toggle]");S(a,n)})}),G.add(e))}var T={init:We,open:Z,close:S};var Q=new WeakSet,X=!1;function Pe(e){e.classList.remove("is-open"),e.querySelectorAll("[aria-expanded='true']").forEach(t=>{t.setAttribute("aria-expanded","false")})}function p(e=null){document.querySelectorAll(".dropdown.is-open, .popover.is-open, .tooltip.is-open").forEach(t=>{t!==e&&Pe(t)})}function ze(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-dropdown-toggle]");if(!a)return;let n=a.closest(".dropdown");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i),a.setAttribute("aria-expanded",String(!i))})}function Ve(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-popover-toggle]");if(!a)return;let n=a.closest(".popover");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i),a.setAttribute("aria-expanded",String(!i))})}function Ye(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-tooltip-toggle]");if(!a)return;let n=a.closest(".tooltip");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i)})}function _e(e=document){e.addEventListener("click",t=>{t.target.closest(".dropdown, .popover, .tooltip")||p()}),X||(document.addEventListener("keydown",t=>{t.key==="Escape"&&p()}),X=!0)}function Ke(e=document){Q.has(e)||(ze(e),Ve(e),Ye(e),_e(e),Q.add(e))}var N={init:Ke,closeAll:p};var ee=new WeakSet,ae=new WeakMap;function te(e){return`${e.name}:${e.size}:${e.lastModified}`}function ie(e){e&&(e.querySelectorAll("img[data-object-url]").forEach(t=>{URL.revokeObjectURL(t.dataset.objectUrl)}),e.innerHTML="",e.hidden=!0)}function H(e){return ae.get(e)||[]}function M(e,t){ae.set(e,t);let a=new DataTransfer;t.forEach(n=>a.items.add(n)),e.files=a.files}function Je(e,t){let a=H(e),n=new Set(a.map(te)),i=[...a];return t.forEach(s=>{let l=te(s);n.has(l)||(n.add(l),i.push(s))}),M(e,i),i}function Ge(e,t){let a=H(e).filter((n,i)=>i!==t);return M(e,a),a}function ne(e){let t=e.name.split("."),a=t.length>1?t.pop().trim():"";return a?a.slice(0,6).toUpperCase():e.type?e.type.split("/").pop().slice(0,6).toUpperCase():"FILE"}function Ze(e){if(!Number.isFinite(e))return"";if(e===0)return"0 B";let t=["B","KB","MB","GB"],a=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1),n=e/Math.pow(1024,a);return`${n.toFixed(n>=10||a===0?0:1)} ${t[a]}`}function L(e){let t=e.closest(".file-upload-panel, .file-upload"),a=t==null?void 0:t.querySelector("[data-file-upload-preview]");if(!t||!a)return;let n=H(e);if(!n.length){ie(a);return}Qe(a,n)}function Qe(e,t){e&&(ie(e),t.forEach((a,n)=>{let i=document.createElement("figure");i.className="file-upload-preview-item",i.dataset.fileUploadIndex=String(n);let s=document.createElement("div");if(s.className="file-upload-preview-visual",a.type.startsWith("image/")){let u=document.createElement("img"),d=URL.createObjectURL(a);u.src=d,u.dataset.objectUrl=d,u.alt="",u.loading="lazy",s.append(u)}else{let u=document.createElement("span");u.className="file-upload-preview-type",u.textContent=ne(a),s.append(u)}let l=document.createElement("figcaption"),c=document.createElement("span");c.className="file-upload-preview-name",c.textContent=a.name;let o=document.createElement("span");o.className="file-upload-preview-meta",o.textContent=`${ne(a)} / ${Ze(a.size)}`;let r=document.createElement("button");r.className="file-upload-preview-remove",r.type="button",r.dataset.fileUploadRemove=String(n),r.setAttribute("aria-label",`Remove ${a.name}`),r.innerHTML='',l.append(c,o),i.append(r,s,l),e.append(i)}),e.hidden=!1)}function Xe(e=document){ee.has(e)||(e.addEventListener("click",t=>{let a=t.target.closest("[data-input-clear]");if(!a)return;let n=a.closest(".input-group"),i=n==null?void 0:n.querySelector("input, textarea");i&&(i.value="",i.dispatchEvent(new Event("input",{bubbles:!0})),i.focus())}),e.addEventListener("click",t=>{let a=t.target.closest("[data-file-upload-remove]");if(!a)return;let n=a.closest(".file-upload-panel, .file-upload"),i=n==null?void 0:n.querySelector("[data-file-upload-input]");i&&(Ge(i,Number(a.dataset.fileUploadRemove)),L(i),i.dispatchEvent(new Event("change",{bubbles:!0})))}),e.addEventListener("click",t=>{let a=t.target.closest("[data-date-picker]");if(a&&(a.focus(),typeof a.showPicker=="function"))try{a.showPicker()}catch(n){}}),e.addEventListener("change",t=>{let a=t.target.closest("[data-file-upload-input]");a&&(Je(a,Array.from(a.files||[])),L(a))}),e.addEventListener("reset",t=>{let a=t.target.closest("form");a&&setTimeout(()=>{a.querySelectorAll("[data-file-upload-input]").forEach(n=>{M(n,[]),L(n)})},0)}),ee.add(e))}var C={init:Xe,updateFileUpload:L};var se=new WeakSet;function D(e){return e.querySelector(".accordion-panel")}function et(e){let t=D(e);t&&(t.style.height="auto",t.style.opacity="1",t.style.transform="translateY(0)")}function oe(e){let t=D(e);if(!t||e.dataset.animating==="true")return;e.dataset.animating="true",e.open=!0,t.style.height="0px",t.style.opacity="0",t.style.transform="translateY(-8px)",requestAnimationFrame(()=>{t.style.height=`${t.scrollHeight}px`,t.style.opacity="1",t.style.transform="translateY(0)"});let a=n=>{n.propertyName==="height"&&(t.removeEventListener("transitionend",a),t.style.height="auto",delete e.dataset.animating)};t.addEventListener("transitionend",a)}function le(e){let t=D(e);if(!t||e.dataset.animating==="true")return;e.dataset.animating="true",t.style.height=`${t.scrollHeight}px`,t.style.opacity="1",t.style.transform="translateY(0)",requestAnimationFrame(()=>{t.style.height="0px",t.style.opacity="0",t.style.transform="translateY(-8px)"});let a=n=>{n.propertyName==="height"&&(t.removeEventListener("transitionend",a),e.open=!1,t.style.height="",t.style.opacity="",t.style.transform="",delete e.dataset.animating)};t.addEventListener("transitionend",a)}function re(e){e.open?le(e):oe(e)}function tt(e=document){se.has(e)||(e.querySelectorAll(".accordion-item[open], .disclosure[open]").forEach(et),e.addEventListener("click",t=>{let a=t.target.closest(".accordion-summary");if(!a)return;let n=a.closest(".accordion-item, .disclosure");n&&(t.preventDefault(),re(n))}),se.add(e))}var O={init:tt,expand:oe,collapse:le,toggle:re};var ce=new WeakSet;function I(e){return[...e.querySelectorAll('[role="tab"], .tab')]}function de(e){return[...e.querySelectorAll('[role="tabpanel"], .tab-panel')]}function ue(e,t){let a=t.getAttribute("aria-controls");return a?e.querySelector(`#${CSS.escape(a)}`):null}function fe(e,t){e.classList.toggle("tab-active",t),e.setAttribute("aria-selected",t?"true":"false"),e.setAttribute("tabindex",t?"0":"-1")}function F(e,t){e.classList.toggle("tab-panel-active",t),e.toggleAttribute("hidden",!t)}function j(e,t={}){var i;if(!e||e.disabled||e.getAttribute("aria-disabled")==="true")return;let a=e.closest(".tabs")||((i=e.closest('[role="tablist"]'))==null?void 0:i.parentElement);if(!a)return;I(a).forEach(s=>fe(s,s===e)),de(a).forEach(s=>F(s,!1));let n=ue(a,e);n&&F(n,!0),t.focus!==!1&&e.focus()}function w(e,t,a){for(let n=1;n<=e.length;n++){let i=(t+n*a+e.length)%e.length,s=e[i];if(!s.disabled&&s.getAttribute("aria-disabled")!=="true")return s}return e[t]}function nt(e){var l;let t=e.target.closest('[role="tab"], .tab');if(!t)return;let a=t.closest(".tabs")||((l=t.closest('[role="tablist"]'))==null?void 0:l.parentElement),n=a?I(a):[],i=n.indexOf(t);if(i<0)return;let s=null;e.key==="ArrowRight"||e.key==="ArrowDown"?s=w(n,i,1):e.key==="ArrowLeft"||e.key==="ArrowUp"?s=w(n,i,-1):e.key==="Home"?s=w(n,-1,1):e.key==="End"&&(s=w(n,0,-1)),s&&(e.preventDefault(),j(s))}function at(e){let t=I(e),a=t.find(n=>n.classList.contains("tab-active")||n.getAttribute("aria-selected")==="true")||t.find(n=>!n.disabled&&n.getAttribute("aria-disabled")!=="true");t.forEach(n=>{n.setAttribute("role","tab"),fe(n,n===a)}),e.querySelectorAll(".tabs-list").forEach(n=>{n.setAttribute("role","tablist")}),de(e).forEach(n=>{n.setAttribute("role","tabpanel"),F(n,a?n===ue(e,a):n.classList.contains("tab-panel-active"))})}function it(e=document){ce.has(e)||(e.querySelectorAll(".tabs").forEach(at),e.addEventListener("click",t=>{let a=t.target.closest('[role="tab"], .tab');!a||!e.contains(a)||(t.preventDefault(),j(a,{focus:!1}))}),e.addEventListener("keydown",nt),ce.add(e))}var B={init:it,activate:j};function R(){let e=[...document.querySelectorAll(".nav-drawer .list-item")],t=document.querySelector("[data-docs-current-section]");if(!e.length)return;let a=i=>{e.forEach(s=>{var o;let l=s.querySelector(".list-action"),c=(l==null?void 0:l.getAttribute("href"))===`#${i}`;s.classList.toggle("list-item-active",c),c&&t&&(t.textContent=((o=l.querySelector(".list-label"))==null?void 0:o.textContent.trim())||i)})},n=()=>{var s;let i=(s=window.location.hash)==null?void 0:s.slice(1);i&&a(i)};window.addEventListener("hashchange",n),n()}function me(e){let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","readonly"),t.style.position="fixed",t.style.opacity="0",document.body.append(t),t.select(),document.execCommand("copy"),t.remove()}function h(e){return e.replace(/&/g,"&").replace(//g,">")}function st(e){var l;let t=e.textContent,a=/\/\/.*$|\/\*[\s\S]*?\*\/|`(?:\\[\s\S]|[^`\\])*`|'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\b|\b\d+(?:\.\d+)?\b|\b[A-Za-z_$][\w$]*(?=\s*\()/gm,n="",i=0,s;for(;(s=a.exec(t))!==null;){let c=s[0];if(n+=h(t.slice(i,s.index)),c.startsWith("//")||c.startsWith("/*"))n+=`${h(c)}`;else if(c.startsWith('"')||c.startsWith("'")||c.startsWith("`"))n+=`${h(c)}`;else if(/^\d/.test(c))n+=`${h(c)}`;else if(/^[A-Za-z_$][\w$]*$/.test(c)&&((l=t[s.index+c.length])!=null&&l.match(/\s|\(/))){let o=/^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(c);n+=o?`${c}`:`${c}`}else n+=h(c);i=s.index+c.length}n+=h(t.slice(i)),e.innerHTML=n,e.classList.add("hljs")}function ot(){document.querySelectorAll("code.language-js, code.language-javascript").forEach(st),window.hljs&&document.querySelectorAll("code:not(.language-js):not(.language-javascript)").forEach(e=>window.hljs.highlightElement(e))}function U(){ot(),document.querySelectorAll(".code-example .btn-icon").forEach(e=>{e.addEventListener("click",async()=>{var s,l;let t=e.closest(".code-example"),a=t==null?void 0:t.querySelector("code"),n=(s=a==null?void 0:a.textContent)!=null?s:"",i=e.innerHTML;if(n){try{(l=navigator.clipboard)!=null&&l.writeText?await navigator.clipboard.writeText(n):me(n)}catch(c){me(n)}e.innerHTML='',setTimeout(()=>{e.innerHTML=i},1200)}})})}var W={Helper:m,Toasts:Y,Modals:b,advancedSelect:$,editableString:k,confirmPopup:q,Drawer:J,NavigationShell:T,Overlays:N,InputPatterns:C,Accordion:O,Tabs:B};typeof window!="undefined"&&(window.GNexusUIKit=W,Object.assign(window,W),document.addEventListener("DOMContentLoaded",()=>{N.init(),T.init(),C.init(),O.init(),B.init(),R(),U()}));var jt=W;export{O as Accordion,J as Drawer,m as Helper,C as InputPatterns,b as Modals,T as NavigationShell,N as Overlays,B as Tabs,Y as Toasts,$ as advancedSelect,q as confirmPopup,jt as default,k as editableString}; //# sourceMappingURL=gnexus-ui-kit.esm.js.map diff --git a/dist/js/gnexus-ui-kit.esm.js.map b/dist/js/gnexus-ui-kit.esm.js.map index 1dd1f86..ff0bbb4 100644 --- a/dist/js/gnexus-ui-kit.esm.js.map +++ b/dist/js/gnexus-ui-kit.esm.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../src/js/components/helper.js", "../../src/js/components/toasts.js", "../../src/js/components/modals.js", "../../src/js/components/advanced-select.js", "../../src/js/components/editable-string.js", "../../src/js/components/confirm-popup.js", "../../src/js/components/drawer.js", "../../src/js/components/navigation-shell.js", "../../src/js/components/overlays.js", "../../src/js/components/input-patterns.js", "../../src/js/components/accordion.js", "../../src/js/components/tabs.js", "../../src/js/demo-navigation.js", "../../src/js/code-examples.js", "../../src/js/index.js"], - "sourcesContent": ["function sidebarNav(items) {\n\tlet listItems = \"\";\n\n\tfor(let item of items) {\n\t\tlet aOpen = \"\";\n\t\tlet aClose = \"\";\n\t\tif(item.route) {\n\t\t\taOpen = ``;\n\t\t\taClose = ``;\n\t\t}\n\n\t\tlistItems += `\n\t\t\t
  • \n\t\t\t\t${aOpen}${item.content}${aClose}\n\t\t\t
  • \n\t\t`;\n\t}\n\n\treturn `\n\t\t
    \n\t\t\t
      \n\t\t\t\t${listItems} \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction table(caption, columns, data, tfoot) {\n\tlet head = ``;\n\tlet totalColumns = 0;\n\tfor(let key in columns) {\n\t\thead += `${columns[key]}`;\n\t\ttotalColumns++;\n\t}\n\thead += \"\";\n\n\tlet body = ``;\n\tfor(let item of data) {\n\t\tbody += ``;\n\t\tfor(let column in columns) {\n\t\t\tbody += `${item[column]}`;\n\t\t}\n\t\tbody += ``;\n\t}\n\n\tlet foot = \"\";\n\tif(typeof tfoot != \"undefined\") {\n\t\tfoot = `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t${tfoot}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tconst tableCaption = caption \n\t\t? `${caption}`\n\t\t: '';\n\n\tconst tableHead = data.length \n\t\t? `${head}`\n\t\t: '';\n\n\tbody = data.length\n\t\t? body\n\t\t: `Empty`;\n\n\tconst tableEmptyClass = !data.length \n\t\t? \"table-empty\"\n\t\t: \"\";\n\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\t\t${tableCaption}\n\t\t\t\t${tableHead}\n\t\t\t\t${body}\n\t\t\t\t${foot}\n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction createElement(type, props, content) {\n\tconst node = document.createElement(type);\n\n\tfor (const [key, value] of Object.entries(props)) {\n\t\tif (key === \"class\") {\n\t\t\tnode.className = value;\n\t\t} else if (key === \"dataset\") {\n\t\t\tObject.assign(node.dataset, value);\n\t\t} else {\n\t\t\tnode.setAttribute(key, value);\n\t\t}\n\t}\n\n\tnode.innerHTML = (typeof content != \"undefined\") ? content : \"\";\n\treturn node; \n}\n\nfunction createAlert(type, content) {\n\tif([\"primary\", \"success\", \"secondary\", \"info\", \"warning\", \"error\", \"danger\"].indexOf(type) < 0) {\n\t\treturn console.error(\"createAlert()\", \"Error of type: \" + type);\n\t}\n\n\treturn createElement(\"div\", {\n\t\tclass: `alert alert-${type}`,\n\t}, content);\n}\n\nfunction fieldsUnification(data, map = {}) {\n\tconst dataObj = {};\n\n\tfor(let field in data) {\n\t\tif(typeof map[field] != \"undefined\") {\n\t\t\tdataObj[ map[field] ] = data[field];\n\t\t\tcontinue;\n\t\t}\n\n\t\tdataObj[field] = data[field];\n\t}\n\n\treturn dataObj;\n}\n\nfunction btnLoadingState(btn, isLoading) {\n\tif(btn?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tif(isLoading) {\n\t\tbtn.isLoading = true;\n\t\tbtn.originalContent = btn.innerHTML;\n\t\tif(btn.classList.contains(\"with-icon\")) {\n\t\t\tbtn.originalWithIcon = true;\n\t\t} else {\n\t\t\tbtn.classList.add(\"with-icon\");\n\t\t}\n\n\t\tbtn.classList.add(\"loading-state\");\n\t\tbtn.setAttribute(\"disabled\", \"disabled\");\n\t\tbtn.innerHTML = ` Loading`;\n\t} else {\n\t\tbtn.isLoading = false;\n\t\tif(!btn.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tbtn.removeAttribute(\"disabled\");\n\t\tbtn.classList.remove(\"loading-state\");\n\t\tif(!btn.originalWithIcon) {\n\t\t\tbtn.classList.remove(\"with-icon\");\n\t\t}\n\t\tbtn.innerHTML = btn.originalContent;\n\t}\n\n\treturn btn;\n}\n\nfunction cardStatusLoadingState(card, isLoading) {\n\tif(card?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tconst iconContainer = card.querySelector(\".status-icon\");\n\n\tif(isLoading) {\n\t\tcard.isLoading = true;\n\t\tcard.originalContent = iconContainer.innerHTML;\n\t\tcard.classList.add(\"loading-state\");\n\t\tcard.setAttribute(\"disabled\", \"disabled\");\n\t\ticonContainer.innerHTML = ``;\n\t} else {\n\t\tcard.isLoading = false;\n\t\tif(!card.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tcard.removeAttribute(\"disabled\");\n\t\tcard.classList.remove(\"loading-state\");\n\t\ticonContainer.innerHTML = card.originalContent;\n\t}\n\n\treturn card;\n}\n\nfunction mainTemplate(sidebar, content) {\n\tcontent = content ?? \"\";\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${sidebar}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${content}\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction connectionStatusBadge(status) {\n\treturn status == \"active\"\n\t\t? `Online`\n\t\t: `Offline`;\n}\n\nfunction toogleStateBadge(state) {\n\treturn state == \"enabled\"\n\t\t? `Enabled`\n\t\t: `Disabled`;\n}\n\nfunction timeAgo(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst diff_seconds = Math.floor((now - date) / 1000);\n\n\tif (diff_seconds < 60) {\n\t\treturn \"less than a minute ago\";\n\t}\n\n\tconst minutes = Math.floor(diff_seconds / 60);\n\tconst hours = Math.floor(minutes / 60);\n\tconst days = Math.floor(hours / 24);\n\n\tif (minutes < 60) {\n\t\treturn `${minutes} minute${minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\tif (hours < 24) {\n\t\tconst remain_minutes = minutes % 60;\n\t\treturn `${hours} hour${hours !== 1 ? \"s\" : \"\"} ${remain_minutes} minute${remain_minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\treturn `${days} day${days !== 1 ? \"s\" : \"\"} ago`;\n}\n\nfunction formatDate(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\tconst target_day = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n\tconst diff_days = Math.floor((today - target_day) / 86400000);\n\n\tconst hours = String(date.getHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getMinutes()).padStart(2, \"0\");\n\n\tif (diff_days === 0) {\n\t\treturn `Today at ${hours}:${minutes}`;\n\t}\n\n\tif (diff_days === 1) {\n\t\treturn `Yesterday at ${hours}:${minutes}`;\n\t}\n\n\tconst months = [\n\t\t\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\n\t\t\"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"\n\t];\n\n\treturn `${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()} at ${hours}:${minutes}`;\n}\n\nfunction circleLoaderHTML() {\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\tLoading\n\t\t
    \n\t`;\n}\n\nfunction emptyHereHTML() {\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t

    It's empty here yet

    \n\t\t
    \n\t`;\n}\n\nexport default {\n\ttemplate: {\n\t\tsidebarNav,\n\t\ttable,\n\t\tcreateElement,\n\t\tcreateAlert,\n\t\tmainTemplate,\n\t\tconnectionStatusBadge,\n\t\ttoogleStateBadge,\n\t\tcircleLoaderHTML,\n\t\temptyHereHTML,\n\t},\n\tunification: {\n\t\tfieldsUnification,\n\t\ttimeAgo,\n\t\tformatDate\n\t},\n\tstates: {\n\t\tbtnLoadingState,\n\t\tcardStatusLoadingState\n\t}\n}\n", "function appendIcon(container, icon) {\n\tif(icon instanceof Node) {\n\t\tcontainer.append(icon);\n\t\treturn;\n\t}\n\n\tconst iconWrap = document.createElement(\"span\");\n\ticonWrap.innerHTML = icon;\n\tcontainer.append(...iconWrap.childNodes);\n}\n\nfunction template(type, icon, title, text) {\n\tconst toast = document.createElement(\"div\");\n\ttoast.className = `toast toast-${type}`;\n\ttoast.setAttribute(\"role\", \"alert\");\n\n\tconst content = document.createElement(\"div\");\n\tcontent.className = \"toast-content\";\n\n\tconst toastTitle = document.createElement(\"h4\");\n\ttoastTitle.className = \"toast-title\";\n\tappendIcon(toastTitle, icon);\n\ttoastTitle.append(document.createTextNode(` ${title ?? \"\"}`));\n\n\tconst toastText = document.createElement(\"p\");\n\ttoastText.className = \"toast-text\";\n\ttoastText.textContent = text ?? \"\";\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon toast-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tcontent.append(toastTitle, toastText);\n\ttoast.append(content, close);\n\n\treturn toast;\n}\n\nfunction init(toast, props) {\n\tif(props?.alone) {\n\t\tdocument.querySelectorAll(\".toast\").forEach(i => i.close?.());\n\t}\n\n\ttoast.close = function() {\n\t\tthis.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tthis.remove();\n\t\t}, 300);\n\t}\n\n\ttoast.querySelector(\".toast-close\").addEventListener(\"click\", e => {\n\t\ttoast.close();\n\t});\n\n\ttoast.show = function() {\n\t\tdocument.querySelector(\"body\").append(toast);\n\n\t\tsetTimeout(() => {\n\t\t\ttoast.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\ttoast.addEventListener(\"mouseover\", e => toast.ishovered = true);\n\ttoast.addEventListener(\"mouseout\", e => toast.ishovered = false);\n\n\tif(props?.lifetime) {\n\t\tconst lifetimeInterval = setInterval(() => {\n\t\t\tif(!toast.ishovered) {\n\t\t\t\ttoast.close();\n\t\t\t\tclearInterval(lifetimeInterval);\n\t\t\t}\n\t\t}, props?.lifetime);\n\t}\n\n\treturn toast;\n}\n\nfunction create(type, icon, title, text, props) {\n\treturn init(template(type, icon, title, text), props);\n}\n\nfunction createSuccess(title, text, props) {\n\tif(typeof props == \"undefined\") {\n\t\tprops = {};\n\t}\n\n\tif(typeof props.lifetime == \"undefined\") {\n\t\tprops.lifetime = 4000;\n\t}\n\n\tif(typeof props.alone == \"undefined\") {\n\t\tprops.alone = true;\n\t}\n\n\treturn create(\n\t\t\"success\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createInfo(title, text, props) {\n\treturn create(\n\t\t\"info\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createWarning(title, text, props) {\n\treturn create(\n\t\t\"warning\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createError(title, text, props) {\n\treturn create(\n\t\t\"danger\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nexport default {\n create,\n createInfo,\n createSuccess,\n createWarning,\n createError,\n \"createDanger\": createError\n};\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst modal = document.createElement(\"div\");\n\tmodal.className = \"modal\";\n\tmodal.setAttribute(\"aria-hidden\", \"true\");\n\tmodal.id = id;\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"modal-backdrop\";\n\n\tconst dialog = document.createElement(\"div\");\n\tdialog.className = \"modal-dialog\";\n\tdialog.setAttribute(\"role\", \"dialog\");\n\tdialog.setAttribute(\"aria-modal\", \"true\");\n\tdialog.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst panel = document.createElement(\"div\");\n\tpanel.className = \"modal-panel\";\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"modal-header\";\n\n\tconst modalTitle = document.createElement(\"h4\");\n\tmodalTitle.className = \"modal-title\";\n\tmodalTitle.id = `${id}-title`;\n\tmodalTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon modal-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"modal-body\";\n\n\tconst modalFooter = document.createElement(\"footer\");\n\tmodalFooter.className = \"modal-footer\";\n\tappendContent(modalFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(modalTitle, close);\n\tpanel.append(body, modalFooter);\n\tdialog.append(header, panel);\n\tmodal.append(backdrop, dialog);\n\n\treturn modal;\n}\n\nfunction init(modal, onready) {\n\tmodal.show = function() {\n\t\tdocument.querySelector(\"body\").append(modal);\n\n\t\tsetTimeout(() => {\n\t\t\tmodal.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\tmodal.close = function() {\n\t\tmodal.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tmodal.remove();\n\t\t}, 300);\n\t}\n\n\tmodal.querySelector(\".modal-close\").addEventListener(\"click\", e => {\n\t\tmodal.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(modal);\n\t}\n\n\treturn modal;\n}\n\n\t/**\n\t * Create new modal window;\n\t * @param {string} id Uniq id (selector)\n\t * @param {string} title Display title\n\t * @param {object} props { body: modal => {}, actions => modal => {} }\n\t * @return {object} DOM object\n\t */\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst modal = template(id, title, footer, props);\n\n\tconst modalBody = modal.querySelector(\".modal-body\");\n\tconst modalFooter = modal.querySelector(\".modal-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(modal);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tmodalFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tmodalFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(modal);\n\n\t\tappendContent(modalBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(modal, props?.onready);\n}\n\nexport default {\n\tcreate\n}\n", "function scrollToElementInFocus(container) {\n\tconst focus = container.querySelector(\".focus\");\n\tif (!focus) return;\n\n\tconst container_rect = container.getBoundingClientRect();\n\tconst focus_rect = focus.getBoundingClientRect();\n\n\tif (focus_rect.top < container_rect.top) {\n\t\tcontainer.scrollTop -= (container_rect.top - focus_rect.top);\n\t} else if (focus_rect.bottom > container_rect.bottom) {\n\t\tcontainer.scrollTop += (focus_rect.bottom - container_rect.bottom);\n\t}\n}\n\nfunction autoSetState(container) {\n\tconst totalViewed = container.advancedSelect.optionsElements.length - container.querySelectorAll(\".option.hide\").length;\n\tif(totalViewed == 0) {\n\t\tcontainer.advancedSelect.showState(\"not-found\");\n\t} else {\n\t\tcontainer.advancedSelect.showState(\"options\");\n\t}\n}\n\nfunction firstVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide)\");\n}\n\nfunction lastVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide):last-child\");\n}\n\nfunction selectOption(input, container, option) {\n\tif(!option) {\n\t\treturn;\n\t}\n\n\tinput.value = option.dataset.displayValue;\n\tinput.blur();\n\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\tcontainer.advancedSelect.dispatchEvent(\"selected\");\n\tcontainer.advancedSelect.closeList();\n}\n\nexport default function advancedSelect(input, options, notFoundText) {\n\tconst container = document.createElement(\"div\");\n\tcontainer.classList.add(\"advanced-select\");\n\n\tconst popup = document.createElement(\"div\");\n\tpopup.className = \"popup-options-container\";\n\n\tconst notFound = document.createElement(\"div\");\n\tnotFound.className = \"not-found\";\n\tnotFound.textContent = notFoundText ?? \"Nothing found\";\n\n\tconst optionsContainer = document.createElement(\"div\");\n\toptionsContainer.className = \"options\";\n\n\tfor(let optionValue in options) {\n\t\tconst option = document.createElement(\"div\");\n\t\toption.className = \"option\";\n\t\toption.dataset.value = optionValue;\n\t\toption.dataset.displayValue = options[optionValue];\n\t\toption.textContent = options[optionValue];\n\t\toptionsContainer.append(option);\n\t}\n\n\tpopup.append(notFound, optionsContainer);\n\tcontainer.append(popup);\n\n\tconst existsOption = (value, options) => {\n\t\tfor(let optionValue in options) {\n\t\t\tif(options[optionValue] == value) {\n\t\t\t\tconst ret = {};\n\t\t\t\tret[optionValue] = options[optionValue];\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcontainer.advancedSelect = {\n\t\tisOpened: false,\n\t\toptions: options,\n\t\teventsHandlers: {\n\t\t\topenList: [],\n\t\t\tcloseList: [],\n\t\t\tselected: [],\n\t\t\tchanged: [],\n\t\t},\n\t\topenList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = true;\n\t\t\tcontainer.classList.add(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"openList\");\n\t\t},\n\t\tcloseList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = false;\n\t\t\tcontainer.classList.remove(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"closeList\");\n\t\t},\n\t\tshowState: stateName => {\n\t\t\tif(stateName == \"options\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.add(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.remove(\"show\");\n\t\t\t} else if(stateName == \"not-found\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.remove(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.add(\"show\");\n\t\t\t}\n\t\t},\n\t\toptionsElements: container.querySelectorAll(\".option\"),\n\t\tvalue: () => {\n\t\t\tconst option = existsOption(input.value, options);\n\n\t\t\treturn { \n\t\t\t\tinputValue: input.value,\n\t\t\t\tisOption: option ? true : false,\n\t\t\t\toption \n\t\t\t};\n\t\t},\n\t\taddEventListener: (name, handler) => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] != \"undefined\") {\n\t\t\t\treturn container.advancedSelect.eventsHandlers[name].push(handler);\n\t\t\t}\n\n\t\t\tconsole.error(\"Advanced Select component.\", \"addEventListener()\", \"Invalid event name\");\n\t\t},\n\t\tdispatchEvent: name => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] == \"undefined\") {\n\t\t\t\treturn console.error(\"Advanced Select component.\", \"dispatchEvent()\", \"Invalid event name\");\n\t\t\t}\n\t\t\t\n\t\t\tfor(let eventHandler of container.advancedSelect.eventsHandlers[name]) {\n\t\t\t\teventHandler(container);\n\t\t\t}\n\t\t}\n\t};\n\n\tinput.setAttribute(\"autocomplete\", \"nope\");\n\n\tinput.advancedSelect = {\n\t\tvalue: () => container.advancedSelect.value()\n\t}\n\n\tinput.addEventListener(\"focus\", e => {\n\t\tcontainer.advancedSelect.openList();\n\t});\n\n\tinput.addEventListener(\"blur\", e => {\n\t\trequestAnimationFrame(() => {\n\t\t\tif(!container.matches(\":hover\")) {\n\t\t\t\tcontainer.advancedSelect.closeList();\n\t\t\t}\n\t\t});\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"ArrowUp\") {\n\t\t\te.preventDefault();\n\t\t\t// up\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet prev = current.previousElementSibling;\n\n\t\t\t\twhile (prev) {\n\t\t\t\t\tif (!prev.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tprev = prev.previousElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!prev) {\n\t\t\t\t\tprev = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tprev?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tlastVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"ArrowDown\") {\n\t\t\te.preventDefault();\n\t\t\t// down\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet next = current.nextElementSibling;\n\n\t\t\t\twhile (next) {\n\t\t\t\t\tif (!next.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnext = next.nextElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!next) {\n\t\t\t\t\tnext = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tnext?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tfirstVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"Enter\") {\n\t\t\te.preventDefault();\n\t\t\tlet selected = container.querySelector(\".option.focus\");\n\t\t\tselectOption(input, container, selected);\n\t\t} else if(e.key === \"Escape\") {\n\t\t\tcontainer.advancedSelect.closeList();\n\t\t\tinput.blur();\n\t\t}\n\t});\n\n\tinput.addEventListener(\"input\", e => {\n\t\tconst val = e.currentTarget.value.toLowerCase();\n\t\tif(val == \"\") {\n\t\t\tcontainer.advancedSelect.optionsElements.forEach(i => i.classList.remove(\"hide\"));\n\t\t} else {\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) != -1)\n\t\t\t\t.forEach(i => i.classList.remove(\"hide\"));\n\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) == -1)\n\t\t\t\t.forEach(i => i.classList.add(\"hide\"));\n\n\t\t\tautoSetState(container);\n\n\t\t\tcontainer.querySelector(\".option.focus\")?.classList.remove(\"focus\");\n\t\t}\n\t});\n\n\tinput.addEventListener(\"change\", e => {\n\t\tcontainer.advancedSelect.dispatchEvent(\"changed\");\n\t});\n\n\t[ ...container.advancedSelect.optionsElements ].forEach(option => {\n\t\toption.addEventListener(\"pointerdown\", e => {\n\t\t\te.preventDefault();\n\t\t\tselectOption(input, container, e.currentTarget);\n\t\t});\n\t});\n\n\treturn container;\n}\n", "import Helper from \"./helper.js\";\n\nfunction template(originalText, isMultiString) {\n\tconst placeholder = \"Write something\";\n\tconst input = !isMultiString \n\t\t? ``\n\t\t: ``;\n\n\treturn `\n\t\t
    \n\t\t\t${originalText}\n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \n\t`;\n}\n\nexport default function editableString(stringContainer, isMultiString) {\n\tisMultiString = isMultiString ?? false;\n\n\tconst originalText = stringContainer.innerHTML;\n\n\tconst component = Helper.template.createElement(\"div\", {\n\t\t\"class\": \"component editable-string-component\"\n\t}, template(originalText, isMultiString));\n\n\tstringContainer.innerHTML = \"\";\n\tstringContainer.append(component);\n\n\tconst editBtn = component.querySelector(\".edit-text-btn\");\n\tconst applyBtn = component.querySelector(\".apply-changes-btn\");\n\tconst cancelBtn = component.querySelector(\".cancel-changes-btn\");\n\tconst content = component.querySelector(\".editable-string-content\");\n\tconst editableString = component.querySelector(\".editable-string\");\n\tconst form = component.querySelector(\".editable-string-form\");\n\tconst input = component.querySelector(\".input\");\n\n\tcomponent.editableString = {\n\t\tformIsDisplaying: false,\n\t\tvalue: originalText,\n\t\tinput: input,\n\t\teventsHandlers: {\n\t\t\tonChange: [],\n\t\t\tonSwitch: [],\n\t\t},\n\t\tswitch: () => {\n\t\t\tif(component.formIsDisplaying) {\n\t\t\t\tform.classList.add(\"d-none\");\n\t\t\t\tcontent.classList.remove(\"d-none\");\n\t\t\t\teditableString.innerText = component.editableString.value;\n\t\t\t} else {\n\t\t\t\tform.classList.remove(\"d-none\");\n\t\t\t\tcontent.classList.add(\"d-none\");\n\t\t\t\tinput.value = component.editableString.value;\n\t\t\t}\n\n\t\t\tcomponent.formIsDisplaying = !component.formIsDisplaying;\n\t\t\tcomponent.editableString.runEventHandler(\"onSwitch\");\n\t\t},\n\t\tsetValue: val => {\n\t\t\tcomponent.editableString.value = val;\n\t\t\tinput.value = val;\n\t\t\teditableString.innerText = val;\n\t\t},\n\t\tapply: () => {\n\t\t\tcomponent.editableString.value = input.value;\n\t\t\tcomponent.editableString.switch();\n\t\t\tif(input.value != originalText) {\n\t\t\t\tcomponent.editableString.runEventHandler(\"onChange\");\n\t\t\t}\n\t\t},\n\t\tonChange: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onChange.push(cb);\n\t\t},\n\t\tonSwitch: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onSwitch.push(cb);\n\t\t},\n\t\trunEventHandler: evName => {\n\t\t\tcomponent.editableString.eventsHandlers[evName].forEach(handler => handler(component.editableString));\n\t\t} \n\t}\n\n\teditBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tcancelBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tapplyBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.apply();\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"Enter\") {\n\t\t\tinput.blur();\n\t\t\tcomponent.editableString.apply();\n\t\t}\n\t});\n\n\treturn component;\n}\n", "import Helper from \"./helper.js\";\nimport Modals from \"./modals.js\";\n\nexport default function confirmPopup(text, confirmedCb, canceledCb) {\n\tModals.create(\"confirm-popup\", {\n\t\ttitle: `Requires confirmation`,\n\t\tbody: () => {\n\t\t\tconst paragraph = document.createElement(\"p\");\n\t\t\tparagraph.textContent = text ?? \"\";\n\t\t\treturn paragraph;\n\t\t},\n\t\tactions: modal => {\n\t\t\tconst buttonNO = Helper.template.createElement(\"button\", { class: \"btn btn-primary\" }, \"NO\");\n\t\t\tconst buttonYES = Helper.template.createElement(\"button\", { class: \"btn btn-warning\" }, \"YES\");\n\n\t\t\tbuttonNO.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tcanceledCb?.();\n\t\t\t});\n\n\t\t\tbuttonYES.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tconfirmedCb?.();\n\t\t\t});\n\n\t\t\treturn [ buttonNO, buttonYES ];\n\t\t}\n\t}).show();\n}\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst drawer = document.createElement(\"div\");\n\tdrawer.className = \"drawer\";\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.id = id;\n\n\tif(props.position === \"left\") {\n\t\tdrawer.classList.add(\"drawer-left\");\n\t}\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"drawer-backdrop\";\n\n\tconst panel = document.createElement(\"aside\");\n\tpanel.className = \"drawer-panel\";\n\tpanel.setAttribute(\"role\", \"dialog\");\n\tpanel.setAttribute(\"aria-modal\", \"true\");\n\tpanel.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"drawer-header\";\n\n\tconst drawerTitle = document.createElement(\"h4\");\n\tdrawerTitle.className = \"drawer-title\";\n\tdrawerTitle.id = `${id}-title`;\n\tdrawerTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon drawer-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"drawer-body\";\n\n\tconst drawerFooter = document.createElement(\"footer\");\n\tdrawerFooter.className = \"drawer-footer\";\n\tappendContent(drawerFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(drawerTitle, close);\n\tpanel.append(header, body, drawerFooter);\n\tdrawer.append(backdrop, panel);\n\n\treturn drawer;\n}\n\nfunction init(drawer, onready) {\n\tdrawer.show = function() {\n\t\tdocument.querySelector(\"body\").append(drawer);\n\n\t\tsetTimeout(() => {\n\t\t\tdrawer.classList.add(\"a-show\");\n\t\t}, 10);\n\t};\n\n\tdrawer.close = function() {\n\t\tdrawer.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tdrawer.remove();\n\t\t}, 300);\n\t};\n\n\tdrawer.querySelector(\".drawer-close\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tdrawer.querySelector(\".drawer-backdrop\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(drawer);\n\t}\n\n\treturn drawer;\n}\n\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst drawer = template(id, title, footer, props);\n\n\tconst drawerBody = drawer.querySelector(\".drawer-body\");\n\tconst drawerFooter = drawer.querySelector(\".drawer-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(drawer);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tdrawerFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tdrawerFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(drawer);\n\n\t\tappendContent(drawerBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(drawer, props?.onready);\n}\n\nexport default {\n\tcreate\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getDrawerForToggle(toggle, root) {\n\tconst id = toggle.getAttribute(\"aria-controls\");\n\n\tif(id) {\n\t\treturn root.getElementById?.(id) || document.getElementById(id);\n\t}\n\n\treturn root.querySelector?.(\"[data-navigation-drawer]\") || document.querySelector(\"[data-navigation-drawer]\");\n}\n\nfunction open(drawer, toggle) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.add(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"false\");\n\tdrawer.removeAttribute(\"inert\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"true\");\n\tdocument.body.classList.add(\"nav-drawer-open\");\n\n\tconst firstControl = drawer.querySelector(\"[data-navigation-close], a, button, input, select, textarea\");\n\tfirstControl?.focus?.();\n}\n\nfunction close(drawer, toggle, shouldRestoreFocus = true) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.remove(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.setAttribute(\"inert\", \"\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"false\");\n\tdocument.body.classList.remove(\"nav-drawer-open\");\n\n\tif(shouldRestoreFocus) {\n\t\ttoggle?.focus?.();\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst toggle = event.target.closest(\"[data-navigation-toggle]\");\n\n\t\tif(!toggle) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = getDrawerForToggle(toggle, root);\n\n\t\tif(drawer?.classList.contains(\"is-open\")) {\n\t\t\tclose(drawer, toggle);\n\t\t} else {\n\t\t\topen(drawer, toggle);\n\t\t}\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst closeControl = event.target.closest(\"[data-navigation-close], [data-navigation-link], .nav-drawer .list-action\");\n\n\t\tif(!closeControl) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = closeControl.closest(\"[data-navigation-drawer]\") || root.querySelector(\"[data-navigation-drawer]\");\n\t\tconst toggle = drawer?.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\tconst shouldRestoreFocus = !closeControl.matches(\"[data-navigation-link]\");\n\t\tclose(drawer, toggle, shouldRestoreFocus);\n\t});\n\n\tdocument.addEventListener(\"keydown\", event => {\n\t\tif(event.key !== \"Escape\") {\n\t\t\treturn;\n\t\t}\n\n\t\troot.querySelectorAll(\"[data-navigation-drawer].is-open\").forEach(drawer => {\n\t\t\tconst toggle = drawer.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\t\tclose(drawer, toggle);\n\t\t});\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\topen,\n\tclose\n};\n", "const initializedRoots = new WeakSet();\nlet keyboardDismissInitialized = false;\n\nfunction closeNode(node) {\n\tnode.classList.remove(\"is-open\");\n\tnode.querySelectorAll(\"[aria-expanded='true']\").forEach(trigger => {\n\t\ttrigger.setAttribute(\"aria-expanded\", \"false\");\n\t});\n}\n\nfunction closeAll(except = null) {\n\tdocument.querySelectorAll(\".dropdown.is-open, .popover.is-open, .tooltip.is-open\").forEach(node => {\n\t\tif(node !== except) {\n\t\t\tcloseNode(node);\n\t\t}\n\t});\n}\n\nfunction initDropdowns(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-dropdown-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst dropdown = trigger.closest(\".dropdown\");\n\n\t\tif(!dropdown) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = dropdown.classList.contains(\"is-open\");\n\t\tcloseAll(dropdown);\n\t\tdropdown.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initPopovers(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-popover-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst popover = trigger.closest(\".popover\");\n\n\t\tif(!popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = popover.classList.contains(\"is-open\");\n\t\tcloseAll(popover);\n\t\tpopover.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initTooltips(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-tooltip-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tooltip = trigger.closest(\".tooltip\");\n\n\t\tif(!tooltip) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = tooltip.classList.contains(\"is-open\");\n\t\tcloseAll(tooltip);\n\t\ttooltip.classList.toggle(\"is-open\", !isOpen);\n\t});\n}\n\nfunction initDismiss(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tif(event.target.closest(\".dropdown, .popover, .tooltip\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseAll();\n\t});\n\n\tif(!keyboardDismissInitialized) {\n\t\tdocument.addEventListener(\"keydown\", event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tcloseAll();\n\t\t\t}\n\t\t});\n\n\t\tkeyboardDismissInitialized = true;\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\tinitDropdowns(root);\n\tinitPopovers(root);\n\tinitTooltips(root);\n\tinitDismiss(root);\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tcloseAll\n};\n", "const initializedRoots = new WeakSet();\nconst fileUploadState = new WeakMap();\n\nfunction getFileKey(file) {\n\treturn `${file.name}:${file.size}:${file.lastModified}`;\n}\n\nfunction clearFilePreviews(previewNode) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tpreviewNode.querySelectorAll(\"img[data-object-url]\").forEach(image => {\n\t\tURL.revokeObjectURL(image.dataset.objectUrl);\n\t});\n\tpreviewNode.innerHTML = \"\";\n\tpreviewNode.hidden = true;\n}\n\nfunction getStoredFiles(input) {\n\treturn fileUploadState.get(input) || [];\n}\n\nfunction setStoredFiles(input, files) {\n\tfileUploadState.set(input, files);\n\n\tconst transfer = new DataTransfer();\n\tfiles.forEach(file => transfer.items.add(file));\n\tinput.files = transfer.files;\n}\n\nfunction addStoredFiles(input, files) {\n\tconst storedFiles = getStoredFiles(input);\n\tconst knownKeys = new Set(storedFiles.map(getFileKey));\n\tconst nextFiles = [...storedFiles];\n\n\tfiles.forEach(file => {\n\t\tconst key = getFileKey(file);\n\n\t\tif(!knownKeys.has(key)) {\n\t\t\tknownKeys.add(key);\n\t\t\tnextFiles.push(file);\n\t\t}\n\t});\n\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction removeStoredFile(input, index) {\n\tconst nextFiles = getStoredFiles(input).filter((file, fileIndex) => fileIndex !== index);\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction getFileType(file) {\n\tconst nameParts = file.name.split(\".\");\n\tconst extension = nameParts.length > 1 ? nameParts.pop().trim() : \"\";\n\n\tif(extension) {\n\t\treturn extension.slice(0, 6).toUpperCase();\n\t}\n\n\tif(file.type) {\n\t\treturn file.type.split(\"/\").pop().slice(0, 6).toUpperCase();\n\t}\n\n\treturn \"FILE\";\n}\n\nfunction formatBytes(bytes) {\n\tif(!Number.isFinite(bytes)) {\n\t\treturn \"\";\n\t}\n\n\tif(bytes === 0) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n\tconst value = bytes / Math.pow(1024, index);\n\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nfunction updateFileUpload(input) {\n\tconst container = input.closest(\".file-upload-panel, .file-upload\");\n\tconst previewNode = container?.querySelector(\"[data-file-upload-preview]\");\n\n\tif(!container || !previewNode) {\n\t\treturn;\n\t}\n\n\tconst files = getStoredFiles(input);\n\n\tif(!files.length) {\n\t\tclearFilePreviews(previewNode);\n\t\treturn;\n\t}\n\n\tupdateFilePreviews(previewNode, files);\n}\n\nfunction updateFilePreviews(previewNode, files) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tclearFilePreviews(previewNode);\n\n\tfiles.forEach((file, index) => {\n\t\tconst figure = document.createElement(\"figure\");\n\t\tfigure.className = \"file-upload-preview-item\";\n\t\tfigure.dataset.fileUploadIndex = String(index);\n\n\t\tconst preview = document.createElement(\"div\");\n\t\tpreview.className = \"file-upload-preview-visual\";\n\n\t\tif(file.type.startsWith(\"image/\")) {\n\t\t\tconst image = document.createElement(\"img\");\n\t\t\tconst objectUrl = URL.createObjectURL(file);\n\t\t\timage.src = objectUrl;\n\t\t\timage.dataset.objectUrl = objectUrl;\n\t\t\timage.alt = \"\";\n\t\t\timage.loading = \"lazy\";\n\t\t\tpreview.append(image);\n\t\t} else {\n\t\t\tconst type = document.createElement(\"span\");\n\t\t\ttype.className = \"file-upload-preview-type\";\n\t\t\ttype.textContent = getFileType(file);\n\t\t\tpreview.append(type);\n\t\t}\n\n\t\tconst caption = document.createElement(\"figcaption\");\n\n\t\tconst name = document.createElement(\"span\");\n\t\tname.className = \"file-upload-preview-name\";\n\t\tname.textContent = file.name;\n\n\t\tconst meta = document.createElement(\"span\");\n\t\tmeta.className = \"file-upload-preview-meta\";\n\t\tmeta.textContent = `${getFileType(file)} / ${formatBytes(file.size)}`;\n\n\t\tconst remove = document.createElement(\"button\");\n\t\tremove.className = \"file-upload-preview-remove\";\n\t\tremove.type = \"button\";\n\t\tremove.dataset.fileUploadRemove = String(index);\n\t\tremove.setAttribute(\"aria-label\", `Remove ${file.name}`);\n\t\tremove.innerHTML = ``;\n\n\t\tcaption.append(name, meta);\n\t\tfigure.append(remove, preview, caption);\n\t\tpreviewNode.append(figure);\n\t});\n\n\tpreviewNode.hidden = false;\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst clearButton = event.target.closest(\"[data-input-clear]\");\n\n\t\tif(!clearButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group = clearButton.closest(\".input-group\");\n\t\tconst input = group?.querySelector(\"input, textarea\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\t\tinput.focus();\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst removeButton = event.target.closest(\"[data-file-upload-remove]\");\n\n\t\tif(!removeButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = removeButton.closest(\".file-upload-panel, .file-upload\");\n\t\tconst input = container?.querySelector(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tremoveStoredFile(input, Number(removeButton.dataset.fileUploadRemove));\n\t\tupdateFileUpload(input);\n\t\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst input = event.target.closest(\"[data-date-picker]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.focus();\n\n\t\tif(typeof input.showPicker === \"function\") {\n\t\t\ttry {\n\t\t\t\tinput.showPicker();\n\t\t\t} catch(error) {\n\t\t\t\t// Some browsers restrict showPicker() to direct user gestures or supported input types.\n\t\t\t}\n\t\t}\n\t});\n\n\troot.addEventListener(\"change\", event => {\n\t\tconst input = event.target.closest(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\taddStoredFiles(input, Array.from(input.files || []));\n\t\tupdateFileUpload(input);\n\t});\n\n\troot.addEventListener(\"reset\", event => {\n\t\tconst form = event.target.closest(\"form\");\n\n\t\tif(!form) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tform.querySelectorAll(\"[data-file-upload-input]\").forEach(input => {\n\t\t\t\tsetStoredFiles(input, []);\n\t\t\t\tupdateFileUpload(input);\n\t\t\t});\n\t\t}, 0);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tupdateFileUpload\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getPanel(details) {\n\treturn details.querySelector(\".accordion-panel\");\n}\n\nfunction prepareOpenPanel(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel) {\n\t\treturn;\n\t}\n\n\tpanel.style.height = \"auto\";\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n}\n\nfunction expand(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tdetails.open = true;\n\tpanel.style.height = \"0px\";\n\tpanel.style.opacity = \"0\";\n\tpanel.style.transform = \"translateY(-8px)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = `${panel.scrollHeight}px`;\n\t\tpanel.style.opacity = \"1\";\n\t\tpanel.style.transform = \"translateY(0)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tpanel.style.height = \"auto\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction collapse(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tpanel.style.height = `${panel.scrollHeight}px`;\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = \"0px\";\n\t\tpanel.style.opacity = \"0\";\n\t\tpanel.style.transform = \"translateY(-8px)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tdetails.open = false;\n\t\tpanel.style.height = \"\";\n\t\tpanel.style.opacity = \"\";\n\t\tpanel.style.transform = \"\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction toggle(details) {\n\tif(details.open) {\n\t\tcollapse(details);\n\t} else {\n\t\texpand(details);\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".accordion-item[open], .disclosure[open]\").forEach(prepareOpenPanel);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst summary = event.target.closest(\".accordion-summary\");\n\n\t\tif(!summary) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst details = summary.closest(\".accordion-item, .disclosure\");\n\n\t\tif(!details) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\ttoggle(details);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\texpand,\n\tcollapse,\n\ttoggle\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getTabs(root) {\n\treturn [...root.querySelectorAll('[role=\"tab\"], .tab')];\n}\n\nfunction getPanels(root) {\n\treturn [...root.querySelectorAll('[role=\"tabpanel\"], .tab-panel')];\n}\n\nfunction getPanel(root, tab) {\n\tconst panelId = tab.getAttribute(\"aria-controls\");\n\n\tif(!panelId) {\n\t\treturn null;\n\t}\n\n\treturn root.querySelector(`#${CSS.escape(panelId)}`);\n}\n\nfunction setTabState(tab, isActive) {\n\ttab.classList.toggle(\"tab-active\", isActive);\n\ttab.setAttribute(\"aria-selected\", isActive ? \"true\" : \"false\");\n\ttab.setAttribute(\"tabindex\", isActive ? \"0\" : \"-1\");\n}\n\nfunction setPanelState(panel, isActive) {\n\tpanel.classList.toggle(\"tab-panel-active\", isActive);\n\tpanel.toggleAttribute(\"hidden\", !isActive);\n}\n\nfunction activate(tab, options = {}) {\n\tif(!tab || tab.disabled || tab.getAttribute(\"aria-disabled\") === \"true\") {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\n\tif(!root) {\n\t\treturn;\n\t}\n\n\tgetTabs(root).forEach(item => setTabState(item, item === tab));\n\tgetPanels(root).forEach(panel => setPanelState(panel, false));\n\n\tconst panel = getPanel(root, tab);\n\n\tif(panel) {\n\t\tsetPanelState(panel, true);\n\t}\n\n\tif(options.focus !== false) {\n\t\ttab.focus();\n\t}\n}\n\nfunction getNextEnabledTab(tabs, activeIndex, direction) {\n\tfor(let offset = 1; offset <= tabs.length; offset++) {\n\t\tconst index = (activeIndex + (offset * direction) + tabs.length) % tabs.length;\n\t\tconst tab = tabs[index];\n\n\t\tif(!tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\") {\n\t\t\treturn tab;\n\t\t}\n\t}\n\n\treturn tabs[activeIndex];\n}\n\nfunction handleKeydown(event) {\n\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\tif(!tab) {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\tconst tabs = root ? getTabs(root) : [];\n\tconst activeIndex = tabs.indexOf(tab);\n\n\tif(activeIndex < 0) {\n\t\treturn;\n\t}\n\n\tlet nextTab = null;\n\n\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, 1);\n\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, -1);\n\t} else if(event.key === \"Home\") {\n\t\tnextTab = getNextEnabledTab(tabs, -1, 1);\n\t} else if(event.key === \"End\") {\n\t\tnextTab = getNextEnabledTab(tabs, 0, -1);\n\t}\n\n\tif(!nextTab) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\tactivate(nextTab);\n}\n\nfunction prepare(root) {\n\tconst tabs = getTabs(root);\n\tconst activeTab = tabs.find(tab => tab.classList.contains(\"tab-active\") || tab.getAttribute(\"aria-selected\") === \"true\")\n\t\t|| tabs.find(tab => !tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\");\n\n\ttabs.forEach(tab => {\n\t\ttab.setAttribute(\"role\", \"tab\");\n\t\tsetTabState(tab, tab === activeTab);\n\t});\n\n\troot.querySelectorAll(\".tabs-list\").forEach(list => {\n\t\tlist.setAttribute(\"role\", \"tablist\");\n\t});\n\n\tgetPanels(root).forEach(panel => {\n\t\tpanel.setAttribute(\"role\", \"tabpanel\");\n\t\tsetPanelState(panel, activeTab ? panel === getPanel(root, activeTab) : panel.classList.contains(\"tab-panel-active\"));\n\t});\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".tabs\").forEach(prepare);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\t\tif(!tab || !root.contains(tab)) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tactivate(tab, { focus: false });\n\t});\n\n\troot.addEventListener(\"keydown\", handleKeydown);\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tactivate\n};\n", "export default function demoNavigation() {\n const navItems = [...document.querySelectorAll(\".nav-drawer .list-item\")];\n const currentSection = document.querySelector(\"[data-docs-current-section]\");\n\n if (!navItems.length) {\n return;\n }\n\n const setActive = id => {\n navItems.forEach(item => {\n const link = item.querySelector(\".list-action\");\n const isActive = link?.getAttribute(\"href\") === `#${id}`;\n item.classList.toggle(\"list-item-active\", isActive);\n\n if (isActive && currentSection) {\n currentSection.textContent = link.querySelector(\".list-label\")?.textContent.trim() || id;\n }\n });\n };\n\n const updateFromHash = () => {\n const id = window.location.hash?.slice(1);\n\n if (id) {\n setActive(id);\n }\n };\n\n window.addEventListener(\"hashchange\", updateFromHash);\n updateFromHash();\n}\n", "function fallbackCopy(text) {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.setAttribute(\"readonly\", \"readonly\");\n textarea.style.position = \"fixed\";\n textarea.style.opacity = \"0\";\n document.body.append(textarea);\n textarea.select();\n document.execCommand(\"copy\");\n textarea.remove();\n}\n\nfunction escapeHtml(text) {\n return text\n .replace(/&/g, \"&\")\n .replace(//g, \">\");\n}\n\nfunction highlightJavascript(code) {\n const source = code.textContent;\n const tokens = /\\/\\/.*$|\\/\\*[\\s\\S]*?\\*\\/|`(?:\\\\[\\s\\S]|[^`\\\\])*`|'(?:\\\\.|[^'\\\\])*'|\"(?:\\\\.|[^\"\\\\])*\"|\\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\\b|\\b\\d+(?:\\.\\d+)?\\b|\\b[A-Za-z_$][\\w$]*(?=\\s*\\()/gm;\n let html = \"\";\n let cursor = 0;\n let match;\n\n while ((match = tokens.exec(source)) !== null) {\n const token = match[0];\n html += escapeHtml(source.slice(cursor, match.index));\n\n if (token.startsWith(\"//\") || token.startsWith(\"/*\")) {\n html += `${escapeHtml(token)}`;\n } else if (token.startsWith(\"\\\"\") || token.startsWith(\"'\") || token.startsWith(\"`\")) {\n html += `${escapeHtml(token)}`;\n } else if (/^\\d/.test(token)) {\n html += `${escapeHtml(token)}`;\n } else if (/^[A-Za-z_$][\\w$]*$/.test(token) && source[match.index + token.length]?.match(/\\s|\\(/)) {\n const keyword = /^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(token);\n html += keyword\n ? `${token}`\n : `${token}`;\n } else {\n html += escapeHtml(token);\n }\n\n cursor = match.index + token.length;\n }\n\n html += escapeHtml(source.slice(cursor));\n code.innerHTML = html;\n code.classList.add(\"hljs\");\n}\n\nfunction highlightCode() {\n document.querySelectorAll(\"code.language-js, code.language-javascript\").forEach(highlightJavascript);\n\n if (window.hljs) {\n document\n .querySelectorAll(\"code:not(.language-js):not(.language-javascript)\")\n .forEach(code => window.hljs.highlightElement(code));\n }\n}\n\nexport default function codeExamples() {\n highlightCode();\n\n document.querySelectorAll(\".code-example .btn-icon\").forEach(button => {\n button.addEventListener(\"click\", async () => {\n const example = button.closest(\".code-example\");\n const code = example?.querySelector(\"code\");\n const text = code?.textContent ?? \"\";\n const originalIcon = button.innerHTML;\n\n if (!text) {\n return;\n }\n\n try {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n } else {\n fallbackCopy(text);\n }\n } catch {\n fallbackCopy(text);\n }\n\n button.innerHTML = ``;\n\n setTimeout(() => {\n button.innerHTML = originalIcon;\n }, 1200);\n });\n });\n}\n", "import Helper from \"./components/helper.js\";\nimport Toasts from \"./components/toasts.js\";\nimport Modals from \"./components/modals.js\";\nimport advancedSelect from \"./components/advanced-select.js\";\nimport editableString from \"./components/editable-string.js\";\nimport confirmPopup from \"./components/confirm-popup.js\";\nimport Drawer from \"./components/drawer.js\";\nimport NavigationShell from \"./components/navigation-shell.js\";\nimport Overlays from \"./components/overlays.js\";\nimport InputPatterns from \"./components/input-patterns.js\";\nimport Accordion from \"./components/accordion.js\";\nimport Tabs from \"./components/tabs.js\";\nimport demoNavigation from \"./demo-navigation.js\";\nimport codeExamples from \"./code-examples.js\";\n\nconst api = {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nif(typeof window !== \"undefined\") {\n window.GNexusUIKit = api;\n Object.assign(window, api);\n\n document.addEventListener(\"DOMContentLoaded\", () => {\n Overlays.init();\n NavigationShell.init();\n InputPatterns.init();\n Accordion.init();\n Tabs.init();\n demoNavigation();\n codeExamples();\n });\n}\n\nexport {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nexport default api;\n"], - "mappings": "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", - "names": ["sidebarNav", "items", "listItems", "item", "aOpen", "aClose", "table", "caption", "columns", "data", "tfoot", "head", "totalColumns", "key", "body", "column", "foot", "tableCaption", "tableHead", "createElement", "type", "props", "content", "node", "value", "createAlert", "fieldsUnification", "map", "dataObj", "field", "btnLoadingState", "btn", "isLoading", "cardStatusLoadingState", "card", "iconContainer", "mainTemplate", "sidebar", "connectionStatusBadge", "status", "toogleStateBadge", "state", "timeAgo", "dateString", "date", "diff_seconds", "minutes", "hours", "days", "remain_minutes", "formatDate", "now", "today", "target_day", "diff_days", "months", "circleLoaderHTML", "emptyHereHTML", "helper_default", "appendIcon", "container", "icon", "iconWrap", "template", "type", "title", "text", "toast", "content", "toastTitle", "toastText", "close", "init", "props", "i", "_a", "e", "lifetimeInterval", "create", "createSuccess", "createInfo", "createWarning", "createError", "toasts_default", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "modal", "backdrop", "dialog", "panel", "header", "modalTitle", "close", "body", "modalFooter", "init", "onready", "e", "create", "modalBody", "actionsResult", "actions", "actionElement", "bodyResult", "modals_default", "scrollToElementInFocus", "container", "focus", "container_rect", "focus_rect", "autoSetState", "firstVisibleOption", "lastVisibleOption", "selectOption", "input", "option", "advancedSelect", "options", "notFoundText", "popup", "notFound", "optionsContainer", "optionValue", "existsOption", "value", "ret", "stateName", "name", "handler", "eventHandler", "e", "_a", "_b", "current", "prev", "next", "selected", "val", "i", "template", "originalText", "isMultiString", "placeholder", "input", "editableString", "stringContainer", "component", "helper_default", "editBtn", "applyBtn", "cancelBtn", "content", "form", "val", "cb", "evName", "handler", "e", "confirmPopup", "text", "confirmedCb", "canceledCb", "modals_default", "paragraph", "modal", "buttonNO", "helper_default", "buttonYES", "e", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "drawer", "backdrop", "panel", "header", "drawerTitle", "close", "body", "drawerFooter", "init", "onready", "create", "drawerBody", "actionsResult", "actions", "actionElement", "bodyResult", "drawer_default", "initializedRoots", "getDrawerForToggle", "toggle", "root", "_a", "_b", "id", "open", "drawer", "firstControl", "close", "shouldRestoreFocus", "init", "event", "closeControl", "navigation_shell_default", "initializedRoots", "keyboardDismissInitialized", "closeNode", "node", "trigger", "closeAll", "except", "initDropdowns", "root", "event", "dropdown", "isOpen", "initPopovers", "popover", "initTooltips", "tooltip", "initDismiss", "init", "overlays_default", "initializedRoots", "fileUploadState", "getFileKey", "file", "clearFilePreviews", "previewNode", "image", "getStoredFiles", "input", "setStoredFiles", "files", "transfer", "addStoredFiles", "storedFiles", "knownKeys", "nextFiles", "key", "removeStoredFile", "index", "fileIndex", "getFileType", "nameParts", "extension", "formatBytes", "bytes", "units", "value", "updateFileUpload", "container", "updateFilePreviews", "figure", "preview", "objectUrl", "type", "caption", "name", "meta", "remove", "init", "root", "event", "clearButton", "group", "removeButton", "error", "form", "input_patterns_default", "initializedRoots", "getPanel", "details", "prepareOpenPanel", "panel", "expand", "handleTransitionEnd", "event", "collapse", "toggle", "init", "root", "summary", "accordion_default", "initializedRoots", "getTabs", "root", "getPanels", "getPanel", "tab", "panelId", "setTabState", "isActive", "setPanelState", "panel", "activate", "options", "_a", "item", "getNextEnabledTab", "tabs", "activeIndex", "direction", "offset", "index", "handleKeydown", "event", "nextTab", "prepare", "activeTab", "list", "init", "tabs_default", "demoNavigation", "navItems", "currentSection", "setActive", "id", "item", "_a", "link", "isActive", "updateFromHash", "fallbackCopy", "text", "textarea", "escapeHtml", "highlightJavascript", "code", "_a", "source", "tokens", "html", "cursor", "match", "token", "keyword", "highlightCode", "codeExamples", "button", "_b", "example", "originalIcon", "e", "api", "helper_default", "toasts_default", "modals_default", "advancedSelect", "editableString", "confirmPopup", "drawer_default", "navigation_shell_default", "overlays_default", "input_patterns_default", "accordion_default", "tabs_default", "demoNavigation", "codeExamples", "index_default", "api"] + "sourcesContent": ["function sidebarNav(items) {\n\tlet listItems = \"\";\n\n\tfor(let item of items) {\n\t\tlet aOpen = \"\";\n\t\tlet aClose = \"\";\n\t\tif(item.route) {\n\t\t\taOpen = ``;\n\t\t\taClose = ``;\n\t\t}\n\n\t\tlistItems += `\n\t\t\t
  • \n\t\t\t\t${aOpen}${item.content}${aClose}\n\t\t\t
  • \n\t\t`;\n\t}\n\n\treturn `\n\t\t
    \n\t\t\t
      \n\t\t\t\t${listItems} \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction table(caption, columns, data, tfoot) {\n\tlet head = ``;\n\tlet totalColumns = 0;\n\tfor(let key in columns) {\n\t\thead += `${columns[key]}`;\n\t\ttotalColumns++;\n\t}\n\thead += \"\";\n\n\tlet body = ``;\n\tfor(let item of data) {\n\t\tbody += ``;\n\t\tfor(let column in columns) {\n\t\t\tbody += `${item[column]}`;\n\t\t}\n\t\tbody += ``;\n\t}\n\n\tlet foot = \"\";\n\tif(typeof tfoot != \"undefined\") {\n\t\tfoot = `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t${tfoot}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tconst tableCaption = caption \n\t\t? `${caption}`\n\t\t: '';\n\n\tconst tableHead = data.length \n\t\t? `${head}`\n\t\t: '';\n\n\tbody = data.length\n\t\t? body\n\t\t: `Empty`;\n\n\tconst tableEmptyClass = !data.length \n\t\t? \"table-empty\"\n\t\t: \"\";\n\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\t\t${tableCaption}\n\t\t\t\t${tableHead}\n\t\t\t\t${body}\n\t\t\t\t${foot}\n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction createElement(type, props, content) {\n\tconst node = document.createElement(type);\n\n\tfor (const [key, value] of Object.entries(props)) {\n\t\tif (key === \"class\") {\n\t\t\tnode.className = value;\n\t\t} else if (key === \"dataset\") {\n\t\t\tObject.assign(node.dataset, value);\n\t\t} else {\n\t\t\tnode.setAttribute(key, value);\n\t\t}\n\t}\n\n\tnode.innerHTML = (typeof content != \"undefined\") ? content : \"\";\n\treturn node; \n}\n\nfunction createAlert(type, content) {\n\tif([\"primary\", \"success\", \"secondary\", \"info\", \"warning\", \"error\", \"danger\"].indexOf(type) < 0) {\n\t\treturn console.error(\"createAlert()\", \"Error of type: \" + type);\n\t}\n\n\treturn createElement(\"div\", {\n\t\tclass: `alert alert-${type}`,\n\t}, content);\n}\n\nfunction fieldsUnification(data, map = {}) {\n\tconst dataObj = {};\n\n\tfor(let field in data) {\n\t\tif(typeof map[field] != \"undefined\") {\n\t\t\tdataObj[ map[field] ] = data[field];\n\t\t\tcontinue;\n\t\t}\n\n\t\tdataObj[field] = data[field];\n\t}\n\n\treturn dataObj;\n}\n\nfunction btnLoadingState(btn, isLoading) {\n\tif(btn?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tif(isLoading) {\n\t\tbtn.isLoading = true;\n\t\tbtn.originalContent = btn.innerHTML;\n\t\tif(btn.classList.contains(\"with-icon\")) {\n\t\t\tbtn.originalWithIcon = true;\n\t\t} else {\n\t\t\tbtn.classList.add(\"with-icon\");\n\t\t}\n\n\t\tbtn.classList.add(\"loading-state\");\n\t\tbtn.setAttribute(\"disabled\", \"disabled\");\n\t\tbtn.innerHTML = ` Loading`;\n\t} else {\n\t\tbtn.isLoading = false;\n\t\tif(!btn.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tbtn.removeAttribute(\"disabled\");\n\t\tbtn.classList.remove(\"loading-state\");\n\t\tif(!btn.originalWithIcon) {\n\t\t\tbtn.classList.remove(\"with-icon\");\n\t\t}\n\t\tbtn.innerHTML = btn.originalContent;\n\t}\n\n\treturn btn;\n}\n\nfunction cardStatusLoadingState(card, isLoading) {\n\tif(card?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tconst iconContainer = card.querySelector(\".status-icon\");\n\n\tif(isLoading) {\n\t\tcard.isLoading = true;\n\t\tcard.originalContent = iconContainer.innerHTML;\n\t\tcard.classList.add(\"loading-state\");\n\t\tcard.setAttribute(\"disabled\", \"disabled\");\n\t\ticonContainer.innerHTML = ``;\n\t} else {\n\t\tcard.isLoading = false;\n\t\tif(!card.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tcard.removeAttribute(\"disabled\");\n\t\tcard.classList.remove(\"loading-state\");\n\t\ticonContainer.innerHTML = card.originalContent;\n\t}\n\n\treturn card;\n}\n\nfunction mainTemplate(sidebar, content) {\n\tcontent = content ?? \"\";\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${sidebar}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${content}\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction connectionStatusBadge(status) {\n\treturn status == \"active\"\n\t\t? `Online`\n\t\t: `Offline`;\n}\n\nfunction toogleStateBadge(state) {\n\treturn state == \"enabled\"\n\t\t? `Enabled`\n\t\t: `Disabled`;\n}\n\nfunction timeAgo(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst diff_seconds = Math.floor((now - date) / 1000);\n\n\tif (diff_seconds < 60) {\n\t\treturn \"less than a minute ago\";\n\t}\n\n\tconst minutes = Math.floor(diff_seconds / 60);\n\tconst hours = Math.floor(minutes / 60);\n\tconst days = Math.floor(hours / 24);\n\n\tif (minutes < 60) {\n\t\treturn `${minutes} minute${minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\tif (hours < 24) {\n\t\tconst remain_minutes = minutes % 60;\n\t\treturn `${hours} hour${hours !== 1 ? \"s\" : \"\"} ${remain_minutes} minute${remain_minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\treturn `${days} day${days !== 1 ? \"s\" : \"\"} ago`;\n}\n\nfunction formatDate(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\tconst target_day = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n\tconst diff_days = Math.floor((today - target_day) / 86400000);\n\n\tconst hours = String(date.getHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getMinutes()).padStart(2, \"0\");\n\n\tif (diff_days === 0) {\n\t\treturn `Today at ${hours}:${minutes}`;\n\t}\n\n\tif (diff_days === 1) {\n\t\treturn `Yesterday at ${hours}:${minutes}`;\n\t}\n\n\tconst months = [\n\t\t\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\n\t\t\"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"\n\t];\n\n\treturn `${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()} at ${hours}:${minutes}`;\n}\n\nfunction circleLoaderHTML() {\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\tLoading\n\t\t
    \n\t`;\n}\n\nfunction emptyHereHTML() {\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t

    It's empty here yet

    \n\t\t
    \n\t`;\n}\n\nexport default {\n\ttemplate: {\n\t\tsidebarNav,\n\t\ttable,\n\t\tcreateElement,\n\t\tcreateAlert,\n\t\tmainTemplate,\n\t\tconnectionStatusBadge,\n\t\ttoogleStateBadge,\n\t\tcircleLoaderHTML,\n\t\temptyHereHTML,\n\t},\n\tunification: {\n\t\tfieldsUnification,\n\t\ttimeAgo,\n\t\tformatDate\n\t},\n\tstates: {\n\t\tbtnLoadingState,\n\t\tcardStatusLoadingState\n\t}\n}\n", "function appendIcon(container, icon) {\n\tif(icon instanceof Node) {\n\t\tcontainer.append(icon);\n\t\treturn;\n\t}\n\n\tconst iconWrap = document.createElement(\"span\");\n\ticonWrap.innerHTML = icon;\n\tcontainer.append(...iconWrap.childNodes);\n}\n\nfunction template(type, icon, title, text) {\n\tconst toast = document.createElement(\"div\");\n\ttoast.className = `toast toast-${type}`;\n\ttoast.setAttribute(\"role\", \"alert\");\n\n\tconst content = document.createElement(\"div\");\n\tcontent.className = \"toast-content\";\n\n\tconst toastHeader = document.createElement(\"div\");\n\ttoastHeader.className = \"toast-header\";\n\tappendIcon(toastHeader, icon);\n\ttoastHeader.append(document.createTextNode(` ${title ?? \"\"}`));\n\n\tcontent.append(toastHeader);\n\n\tif(text) {\n\t\tconst toastText = document.createElement(\"p\");\n\t\ttoastText.className = \"toast-text\";\n\t\ttoastText.textContent = text;\n\t\tcontent.append(toastText);\n\t}\n\n\tconst progress = document.createElement(\"div\");\n\tprogress.className = \"toast-progress\";\n\n\tconst progressBar = document.createElement(\"div\");\n\tprogressBar.className = \"toast-progress-bar\";\n\tprogress.append(progressBar);\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon toast-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.innerHTML = '';\n\n\ttoast.append(content, close, progress);\n\n\treturn toast;\n}\n\nfunction init(toast, props) {\n\tconst lifetime = props?.lifetime || 4000;\n\n\tif(props?.alone) {\n\t\tdocument.querySelectorAll(\".toast\").forEach(i => i.close?.());\n\t}\n\n\tconst progressBar = toast.querySelector(\".toast-progress-bar\");\n\tif(progressBar && lifetime > 0) {\n\t\tprogressBar.style.animationDuration = `${lifetime}ms`;\n\t}\n\n\ttoast.close = function() {\n\t\tthis.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tthis.remove();\n\t\t}, 300);\n\t}\n\n\ttoast.querySelector(\".toast-close\").addEventListener(\"click\", e => {\n\t\ttoast.close();\n\t});\n\n\ttoast.show = function() {\n\t\tdocument.querySelector(\"body\").append(toast);\n\n\t\tsetTimeout(() => {\n\t\t\ttoast.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\ttoast.addEventListener(\"mouseover\", e => toast.ishovered = true);\n\ttoast.addEventListener(\"mouseout\", e => toast.ishovered = false);\n\n\tif(lifetime > 0) {\n\t\tconst lifetimeInterval = setInterval(() => {\n\t\t\tif(!toast.ishovered) {\n\t\t\t\ttoast.close();\n\t\t\t\tclearInterval(lifetimeInterval);\n\t\t\t}\n\t\t}, lifetime);\n\t}\n\n\treturn toast;\n}\n\nfunction create(type, icon, title, text, props) {\n\treturn init(template(type, icon, title, text), props);\n}\n\nfunction applyDefaults(props) {\n\tif(typeof props == \"undefined\") {\n\t\tprops = {};\n\t}\n\tif(typeof props.lifetime == \"undefined\") {\n\t\tprops.lifetime = 4000;\n\t}\n\tif(typeof props.alone == \"undefined\") {\n\t\tprops.alone = true;\n\t}\n\treturn props;\n}\n\nfunction createSuccess(title, text, props) {\n\tprops = applyDefaults(props);\n\treturn create(\n\t\t\"success\",\n\t\t``,\n\t\ttitle,\n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createInfo(title, text, props) {\n\tprops = applyDefaults(props);\n\treturn create(\n\t\t\"info\",\n\t\t``,\n\t\ttitle,\n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createWarning(title, text, props) {\n\tprops = applyDefaults(props);\n\treturn create(\n\t\t\"warning\",\n\t\t``,\n\t\ttitle,\n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createError(title, text, props) {\n\tprops = applyDefaults(props);\n\treturn create(\n\t\t\"danger\",\n\t\t``,\n\t\ttitle,\n\t\ttext,\n\t\tprops\n\t);\n}\n\nexport default {\n\tcreate,\n\tcreateInfo,\n\tcreateSuccess,\n\tcreateWarning,\n\tcreateError,\n\t\"createDanger\": createError\n};\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst modal = document.createElement(\"div\");\n\tmodal.className = \"modal\";\n\tmodal.setAttribute(\"aria-hidden\", \"true\");\n\tmodal.id = id;\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"modal-backdrop\";\n\n\tconst dialog = document.createElement(\"div\");\n\tdialog.className = \"modal-dialog\";\n\tdialog.setAttribute(\"role\", \"dialog\");\n\tdialog.setAttribute(\"aria-modal\", \"true\");\n\tdialog.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst panel = document.createElement(\"div\");\n\tpanel.className = \"modal-panel\";\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"modal-header\";\n\n\tconst modalTitle = document.createElement(\"h4\");\n\tmodalTitle.className = \"modal-title\";\n\tmodalTitle.id = `${id}-title`;\n\tmodalTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon modal-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"modal-body\";\n\n\tconst modalFooter = document.createElement(\"footer\");\n\tmodalFooter.className = \"modal-footer\";\n\tappendContent(modalFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(modalTitle, close);\n\tpanel.append(body, modalFooter);\n\tdialog.append(header, panel);\n\tmodal.append(backdrop, dialog);\n\n\treturn modal;\n}\n\nfunction init(modal, onready) {\n\tmodal.show = function() {\n\t\tdocument.querySelector(\"body\").append(modal);\n\n\t\tsetTimeout(() => {\n\t\t\tmodal.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\tmodal.close = function() {\n\t\tmodal.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tmodal.remove();\n\t\t}, 300);\n\t}\n\n\tmodal.querySelector(\".modal-close\").addEventListener(\"click\", e => {\n\t\tmodal.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(modal);\n\t}\n\n\treturn modal;\n}\n\n\t/**\n\t * Create new modal window;\n\t * @param {string} id Uniq id (selector)\n\t * @param {string} title Display title\n\t * @param {object} props { body: modal => {}, actions => modal => {} }\n\t * @return {object} DOM object\n\t */\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst modal = template(id, title, footer, props);\n\n\tconst modalBody = modal.querySelector(\".modal-body\");\n\tconst modalFooter = modal.querySelector(\".modal-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(modal);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tmodalFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tmodalFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(modal);\n\n\t\tappendContent(modalBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(modal, props?.onready);\n}\n\nexport default {\n\tcreate\n}\n", "function scrollToElementInFocus(container) {\n\tconst focus = container.querySelector(\".focus\");\n\tif (!focus) return;\n\n\tconst container_rect = container.getBoundingClientRect();\n\tconst focus_rect = focus.getBoundingClientRect();\n\n\tif (focus_rect.top < container_rect.top) {\n\t\tcontainer.scrollTop -= (container_rect.top - focus_rect.top);\n\t} else if (focus_rect.bottom > container_rect.bottom) {\n\t\tcontainer.scrollTop += (focus_rect.bottom - container_rect.bottom);\n\t}\n}\n\nfunction autoSetState(container) {\n\tconst totalViewed = container.advancedSelect.optionsElements.length - container.querySelectorAll(\".option.hide\").length;\n\tif(totalViewed == 0) {\n\t\tcontainer.advancedSelect.showState(\"not-found\");\n\t} else {\n\t\tcontainer.advancedSelect.showState(\"options\");\n\t}\n}\n\nfunction firstVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide)\");\n}\n\nfunction lastVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide):last-child\");\n}\n\nfunction selectOption(input, container, option) {\n\tif(!option) {\n\t\treturn;\n\t}\n\n\tinput.value = option.dataset.displayValue;\n\tinput.blur();\n\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\tcontainer.advancedSelect.dispatchEvent(\"selected\");\n\tcontainer.advancedSelect.closeList();\n}\n\nexport default function advancedSelect(input, options, notFoundText) {\n\tconst container = document.createElement(\"div\");\n\tcontainer.classList.add(\"advanced-select\");\n\n\tconst popup = document.createElement(\"div\");\n\tpopup.className = \"popup-options-container\";\n\n\tconst notFound = document.createElement(\"div\");\n\tnotFound.className = \"not-found\";\n\tnotFound.textContent = notFoundText ?? \"Nothing found\";\n\n\tconst optionsContainer = document.createElement(\"div\");\n\toptionsContainer.className = \"options\";\n\n\tfor(let optionValue in options) {\n\t\tconst option = document.createElement(\"div\");\n\t\toption.className = \"option\";\n\t\toption.dataset.value = optionValue;\n\t\toption.dataset.displayValue = options[optionValue];\n\t\toption.textContent = options[optionValue];\n\t\toptionsContainer.append(option);\n\t}\n\n\tpopup.append(notFound, optionsContainer);\n\tcontainer.append(popup);\n\n\tconst existsOption = (value, options) => {\n\t\tfor(let optionValue in options) {\n\t\t\tif(options[optionValue] == value) {\n\t\t\t\tconst ret = {};\n\t\t\t\tret[optionValue] = options[optionValue];\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcontainer.advancedSelect = {\n\t\tisOpened: false,\n\t\toptions: options,\n\t\teventsHandlers: {\n\t\t\topenList: [],\n\t\t\tcloseList: [],\n\t\t\tselected: [],\n\t\t\tchanged: [],\n\t\t},\n\t\topenList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = true;\n\t\t\tcontainer.classList.add(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"openList\");\n\t\t},\n\t\tcloseList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = false;\n\t\t\tcontainer.classList.remove(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"closeList\");\n\t\t},\n\t\tshowState: stateName => {\n\t\t\tif(stateName == \"options\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.add(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.remove(\"show\");\n\t\t\t} else if(stateName == \"not-found\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.remove(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.add(\"show\");\n\t\t\t}\n\t\t},\n\t\toptionsElements: container.querySelectorAll(\".option\"),\n\t\tvalue: () => {\n\t\t\tconst option = existsOption(input.value, options);\n\n\t\t\treturn { \n\t\t\t\tinputValue: input.value,\n\t\t\t\tisOption: option ? true : false,\n\t\t\t\toption \n\t\t\t};\n\t\t},\n\t\taddEventListener: (name, handler) => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] != \"undefined\") {\n\t\t\t\treturn container.advancedSelect.eventsHandlers[name].push(handler);\n\t\t\t}\n\n\t\t\tconsole.error(\"Advanced Select component.\", \"addEventListener()\", \"Invalid event name\");\n\t\t},\n\t\tdispatchEvent: name => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] == \"undefined\") {\n\t\t\t\treturn console.error(\"Advanced Select component.\", \"dispatchEvent()\", \"Invalid event name\");\n\t\t\t}\n\t\t\t\n\t\t\tfor(let eventHandler of container.advancedSelect.eventsHandlers[name]) {\n\t\t\t\teventHandler(container);\n\t\t\t}\n\t\t}\n\t};\n\n\tinput.setAttribute(\"autocomplete\", \"nope\");\n\n\tinput.advancedSelect = {\n\t\tvalue: () => container.advancedSelect.value()\n\t}\n\n\tinput.addEventListener(\"focus\", e => {\n\t\tcontainer.advancedSelect.openList();\n\t});\n\n\tinput.addEventListener(\"blur\", e => {\n\t\trequestAnimationFrame(() => {\n\t\t\tif(!container.matches(\":hover\")) {\n\t\t\t\tcontainer.advancedSelect.closeList();\n\t\t\t}\n\t\t});\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"ArrowUp\") {\n\t\t\te.preventDefault();\n\t\t\t// up\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet prev = current.previousElementSibling;\n\n\t\t\t\twhile (prev) {\n\t\t\t\t\tif (!prev.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tprev = prev.previousElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!prev) {\n\t\t\t\t\tprev = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tprev?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tlastVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"ArrowDown\") {\n\t\t\te.preventDefault();\n\t\t\t// down\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet next = current.nextElementSibling;\n\n\t\t\t\twhile (next) {\n\t\t\t\t\tif (!next.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnext = next.nextElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!next) {\n\t\t\t\t\tnext = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tnext?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tfirstVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"Enter\") {\n\t\t\te.preventDefault();\n\t\t\tlet selected = container.querySelector(\".option.focus\");\n\t\t\tselectOption(input, container, selected);\n\t\t} else if(e.key === \"Escape\") {\n\t\t\tcontainer.advancedSelect.closeList();\n\t\t\tinput.blur();\n\t\t}\n\t});\n\n\tinput.addEventListener(\"input\", e => {\n\t\tconst val = e.currentTarget.value.toLowerCase();\n\t\tif(val == \"\") {\n\t\t\tcontainer.advancedSelect.optionsElements.forEach(i => i.classList.remove(\"hide\"));\n\t\t} else {\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) != -1)\n\t\t\t\t.forEach(i => i.classList.remove(\"hide\"));\n\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) == -1)\n\t\t\t\t.forEach(i => i.classList.add(\"hide\"));\n\n\t\t\tautoSetState(container);\n\n\t\t\tcontainer.querySelector(\".option.focus\")?.classList.remove(\"focus\");\n\t\t}\n\t});\n\n\tinput.addEventListener(\"change\", e => {\n\t\tcontainer.advancedSelect.dispatchEvent(\"changed\");\n\t});\n\n\t[ ...container.advancedSelect.optionsElements ].forEach(option => {\n\t\toption.addEventListener(\"pointerdown\", e => {\n\t\t\te.preventDefault();\n\t\t\tselectOption(input, container, e.currentTarget);\n\t\t});\n\t});\n\n\treturn container;\n}\n", "import Helper from \"./helper.js\";\n\nfunction template(originalText, isMultiString) {\n\tconst placeholder = \"Write something\";\n\tconst input = !isMultiString \n\t\t? ``\n\t\t: ``;\n\n\treturn `\n\t\t
    \n\t\t\t${originalText}\n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \n\t`;\n}\n\nexport default function editableString(stringContainer, isMultiString) {\n\tisMultiString = isMultiString ?? false;\n\n\tconst originalText = stringContainer.innerHTML;\n\n\tconst component = Helper.template.createElement(\"div\", {\n\t\t\"class\": \"component editable-string-component\"\n\t}, template(originalText, isMultiString));\n\n\tstringContainer.innerHTML = \"\";\n\tstringContainer.append(component);\n\n\tconst editBtn = component.querySelector(\".edit-text-btn\");\n\tconst applyBtn = component.querySelector(\".apply-changes-btn\");\n\tconst cancelBtn = component.querySelector(\".cancel-changes-btn\");\n\tconst content = component.querySelector(\".editable-string-content\");\n\tconst editableString = component.querySelector(\".editable-string\");\n\tconst form = component.querySelector(\".editable-string-form\");\n\tconst input = component.querySelector(\".input\");\n\n\tcomponent.editableString = {\n\t\tformIsDisplaying: false,\n\t\tvalue: originalText,\n\t\tinput: input,\n\t\teventsHandlers: {\n\t\t\tonChange: [],\n\t\t\tonSwitch: [],\n\t\t},\n\t\tswitch: () => {\n\t\t\tif(component.formIsDisplaying) {\n\t\t\t\tform.classList.add(\"d-none\");\n\t\t\t\tcontent.classList.remove(\"d-none\");\n\t\t\t\teditableString.innerText = component.editableString.value;\n\t\t\t} else {\n\t\t\t\tform.classList.remove(\"d-none\");\n\t\t\t\tcontent.classList.add(\"d-none\");\n\t\t\t\tinput.value = component.editableString.value;\n\t\t\t}\n\n\t\t\tcomponent.formIsDisplaying = !component.formIsDisplaying;\n\t\t\tcomponent.editableString.runEventHandler(\"onSwitch\");\n\t\t},\n\t\tsetValue: val => {\n\t\t\tcomponent.editableString.value = val;\n\t\t\tinput.value = val;\n\t\t\teditableString.innerText = val;\n\t\t},\n\t\tapply: () => {\n\t\t\tcomponent.editableString.value = input.value;\n\t\t\tcomponent.editableString.switch();\n\t\t\tif(input.value != originalText) {\n\t\t\t\tcomponent.editableString.runEventHandler(\"onChange\");\n\t\t\t}\n\t\t},\n\t\tonChange: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onChange.push(cb);\n\t\t},\n\t\tonSwitch: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onSwitch.push(cb);\n\t\t},\n\t\trunEventHandler: evName => {\n\t\t\tcomponent.editableString.eventsHandlers[evName].forEach(handler => handler(component.editableString));\n\t\t} \n\t}\n\n\teditBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tcancelBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tapplyBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.apply();\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"Enter\") {\n\t\t\tinput.blur();\n\t\t\tcomponent.editableString.apply();\n\t\t}\n\t});\n\n\treturn component;\n}\n", "import Helper from \"./helper.js\";\nimport Modals from \"./modals.js\";\n\nexport default function confirmPopup(text, confirmedCb, canceledCb) {\n\tModals.create(\"confirm-popup\", {\n\t\ttitle: `Requires confirmation`,\n\t\tbody: () => {\n\t\t\tconst paragraph = document.createElement(\"p\");\n\t\t\tparagraph.textContent = text ?? \"\";\n\t\t\treturn paragraph;\n\t\t},\n\t\tactions: modal => {\n\t\t\tconst buttonNO = Helper.template.createElement(\"button\", { class: \"btn btn-primary\" }, \"NO\");\n\t\t\tconst buttonYES = Helper.template.createElement(\"button\", { class: \"btn btn-warning\" }, \"YES\");\n\n\t\t\tbuttonNO.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tcanceledCb?.();\n\t\t\t});\n\n\t\t\tbuttonYES.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tconfirmedCb?.();\n\t\t\t});\n\n\t\t\treturn [ buttonNO, buttonYES ];\n\t\t}\n\t}).show();\n}\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst drawer = document.createElement(\"div\");\n\tdrawer.className = \"drawer\";\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.id = id;\n\n\tif(props.position === \"left\") {\n\t\tdrawer.classList.add(\"drawer-left\");\n\t}\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"drawer-backdrop\";\n\n\tconst panel = document.createElement(\"aside\");\n\tpanel.className = \"drawer-panel\";\n\tpanel.setAttribute(\"role\", \"dialog\");\n\tpanel.setAttribute(\"aria-modal\", \"true\");\n\tpanel.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"drawer-header\";\n\n\tconst drawerTitle = document.createElement(\"h4\");\n\tdrawerTitle.className = \"drawer-title\";\n\tdrawerTitle.id = `${id}-title`;\n\tdrawerTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon drawer-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"drawer-body\";\n\n\tconst drawerFooter = document.createElement(\"footer\");\n\tdrawerFooter.className = \"drawer-footer\";\n\tappendContent(drawerFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(drawerTitle, close);\n\tpanel.append(header, body, drawerFooter);\n\tdrawer.append(backdrop, panel);\n\n\treturn drawer;\n}\n\nfunction init(drawer, onready) {\n\tdrawer.show = function() {\n\t\tdocument.querySelector(\"body\").append(drawer);\n\n\t\tsetTimeout(() => {\n\t\t\tdrawer.classList.add(\"a-show\");\n\t\t}, 10);\n\t};\n\n\tdrawer.close = function() {\n\t\tdrawer.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tdrawer.remove();\n\t\t}, 300);\n\t};\n\n\tdrawer.querySelector(\".drawer-close\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tdrawer.querySelector(\".drawer-backdrop\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(drawer);\n\t}\n\n\treturn drawer;\n}\n\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst drawer = template(id, title, footer, props);\n\n\tconst drawerBody = drawer.querySelector(\".drawer-body\");\n\tconst drawerFooter = drawer.querySelector(\".drawer-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(drawer);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tdrawerFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tdrawerFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(drawer);\n\n\t\tappendContent(drawerBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(drawer, props?.onready);\n}\n\nexport default {\n\tcreate\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getDrawerForToggle(toggle, root) {\n\tconst id = toggle.getAttribute(\"aria-controls\");\n\n\tif(id) {\n\t\treturn root.getElementById?.(id) || document.getElementById(id);\n\t}\n\n\treturn root.querySelector?.(\"[data-navigation-drawer]\") || document.querySelector(\"[data-navigation-drawer]\");\n}\n\nfunction open(drawer, toggle) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.add(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"false\");\n\tdrawer.removeAttribute(\"inert\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"true\");\n\tdocument.body.classList.add(\"nav-drawer-open\");\n\n\tconst firstControl = drawer.querySelector(\"[data-navigation-close], a, button, input, select, textarea\");\n\tfirstControl?.focus?.();\n}\n\nfunction close(drawer, toggle, shouldRestoreFocus = true) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.remove(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.setAttribute(\"inert\", \"\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"false\");\n\tdocument.body.classList.remove(\"nav-drawer-open\");\n\n\tif(shouldRestoreFocus) {\n\t\ttoggle?.focus?.();\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst toggle = event.target.closest(\"[data-navigation-toggle]\");\n\n\t\tif(!toggle) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = getDrawerForToggle(toggle, root);\n\n\t\tif(drawer?.classList.contains(\"is-open\")) {\n\t\t\tclose(drawer, toggle);\n\t\t} else {\n\t\t\topen(drawer, toggle);\n\t\t}\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst closeControl = event.target.closest(\"[data-navigation-close], [data-navigation-link], .nav-drawer .list-action\");\n\n\t\tif(!closeControl) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = closeControl.closest(\"[data-navigation-drawer]\") || root.querySelector(\"[data-navigation-drawer]\");\n\t\tconst toggle = drawer?.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\tconst shouldRestoreFocus = !closeControl.matches(\"[data-navigation-link]\");\n\t\tclose(drawer, toggle, shouldRestoreFocus);\n\t});\n\n\tdocument.addEventListener(\"keydown\", event => {\n\t\tif(event.key !== \"Escape\") {\n\t\t\treturn;\n\t\t}\n\n\t\troot.querySelectorAll(\"[data-navigation-drawer].is-open\").forEach(drawer => {\n\t\t\tconst toggle = drawer.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\t\tclose(drawer, toggle);\n\t\t});\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\topen,\n\tclose\n};\n", "const initializedRoots = new WeakSet();\nlet keyboardDismissInitialized = false;\n\nfunction closeNode(node) {\n\tnode.classList.remove(\"is-open\");\n\tnode.querySelectorAll(\"[aria-expanded='true']\").forEach(trigger => {\n\t\ttrigger.setAttribute(\"aria-expanded\", \"false\");\n\t});\n}\n\nfunction closeAll(except = null) {\n\tdocument.querySelectorAll(\".dropdown.is-open, .popover.is-open, .tooltip.is-open\").forEach(node => {\n\t\tif(node !== except) {\n\t\t\tcloseNode(node);\n\t\t}\n\t});\n}\n\nfunction initDropdowns(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-dropdown-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst dropdown = trigger.closest(\".dropdown\");\n\n\t\tif(!dropdown) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = dropdown.classList.contains(\"is-open\");\n\t\tcloseAll(dropdown);\n\t\tdropdown.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initPopovers(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-popover-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst popover = trigger.closest(\".popover\");\n\n\t\tif(!popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = popover.classList.contains(\"is-open\");\n\t\tcloseAll(popover);\n\t\tpopover.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initTooltips(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-tooltip-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tooltip = trigger.closest(\".tooltip\");\n\n\t\tif(!tooltip) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = tooltip.classList.contains(\"is-open\");\n\t\tcloseAll(tooltip);\n\t\ttooltip.classList.toggle(\"is-open\", !isOpen);\n\t});\n}\n\nfunction initDismiss(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tif(event.target.closest(\".dropdown, .popover, .tooltip\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseAll();\n\t});\n\n\tif(!keyboardDismissInitialized) {\n\t\tdocument.addEventListener(\"keydown\", event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tcloseAll();\n\t\t\t}\n\t\t});\n\n\t\tkeyboardDismissInitialized = true;\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\tinitDropdowns(root);\n\tinitPopovers(root);\n\tinitTooltips(root);\n\tinitDismiss(root);\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tcloseAll\n};\n", "const initializedRoots = new WeakSet();\nconst fileUploadState = new WeakMap();\n\nfunction getFileKey(file) {\n\treturn `${file.name}:${file.size}:${file.lastModified}`;\n}\n\nfunction clearFilePreviews(previewNode) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tpreviewNode.querySelectorAll(\"img[data-object-url]\").forEach(image => {\n\t\tURL.revokeObjectURL(image.dataset.objectUrl);\n\t});\n\tpreviewNode.innerHTML = \"\";\n\tpreviewNode.hidden = true;\n}\n\nfunction getStoredFiles(input) {\n\treturn fileUploadState.get(input) || [];\n}\n\nfunction setStoredFiles(input, files) {\n\tfileUploadState.set(input, files);\n\n\tconst transfer = new DataTransfer();\n\tfiles.forEach(file => transfer.items.add(file));\n\tinput.files = transfer.files;\n}\n\nfunction addStoredFiles(input, files) {\n\tconst storedFiles = getStoredFiles(input);\n\tconst knownKeys = new Set(storedFiles.map(getFileKey));\n\tconst nextFiles = [...storedFiles];\n\n\tfiles.forEach(file => {\n\t\tconst key = getFileKey(file);\n\n\t\tif(!knownKeys.has(key)) {\n\t\t\tknownKeys.add(key);\n\t\t\tnextFiles.push(file);\n\t\t}\n\t});\n\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction removeStoredFile(input, index) {\n\tconst nextFiles = getStoredFiles(input).filter((file, fileIndex) => fileIndex !== index);\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction getFileType(file) {\n\tconst nameParts = file.name.split(\".\");\n\tconst extension = nameParts.length > 1 ? nameParts.pop().trim() : \"\";\n\n\tif(extension) {\n\t\treturn extension.slice(0, 6).toUpperCase();\n\t}\n\n\tif(file.type) {\n\t\treturn file.type.split(\"/\").pop().slice(0, 6).toUpperCase();\n\t}\n\n\treturn \"FILE\";\n}\n\nfunction formatBytes(bytes) {\n\tif(!Number.isFinite(bytes)) {\n\t\treturn \"\";\n\t}\n\n\tif(bytes === 0) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n\tconst value = bytes / Math.pow(1024, index);\n\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nfunction updateFileUpload(input) {\n\tconst container = input.closest(\".file-upload-panel, .file-upload\");\n\tconst previewNode = container?.querySelector(\"[data-file-upload-preview]\");\n\n\tif(!container || !previewNode) {\n\t\treturn;\n\t}\n\n\tconst files = getStoredFiles(input);\n\n\tif(!files.length) {\n\t\tclearFilePreviews(previewNode);\n\t\treturn;\n\t}\n\n\tupdateFilePreviews(previewNode, files);\n}\n\nfunction updateFilePreviews(previewNode, files) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tclearFilePreviews(previewNode);\n\n\tfiles.forEach((file, index) => {\n\t\tconst figure = document.createElement(\"figure\");\n\t\tfigure.className = \"file-upload-preview-item\";\n\t\tfigure.dataset.fileUploadIndex = String(index);\n\n\t\tconst preview = document.createElement(\"div\");\n\t\tpreview.className = \"file-upload-preview-visual\";\n\n\t\tif(file.type.startsWith(\"image/\")) {\n\t\t\tconst image = document.createElement(\"img\");\n\t\t\tconst objectUrl = URL.createObjectURL(file);\n\t\t\timage.src = objectUrl;\n\t\t\timage.dataset.objectUrl = objectUrl;\n\t\t\timage.alt = \"\";\n\t\t\timage.loading = \"lazy\";\n\t\t\tpreview.append(image);\n\t\t} else {\n\t\t\tconst type = document.createElement(\"span\");\n\t\t\ttype.className = \"file-upload-preview-type\";\n\t\t\ttype.textContent = getFileType(file);\n\t\t\tpreview.append(type);\n\t\t}\n\n\t\tconst caption = document.createElement(\"figcaption\");\n\n\t\tconst name = document.createElement(\"span\");\n\t\tname.className = \"file-upload-preview-name\";\n\t\tname.textContent = file.name;\n\n\t\tconst meta = document.createElement(\"span\");\n\t\tmeta.className = \"file-upload-preview-meta\";\n\t\tmeta.textContent = `${getFileType(file)} / ${formatBytes(file.size)}`;\n\n\t\tconst remove = document.createElement(\"button\");\n\t\tremove.className = \"file-upload-preview-remove\";\n\t\tremove.type = \"button\";\n\t\tremove.dataset.fileUploadRemove = String(index);\n\t\tremove.setAttribute(\"aria-label\", `Remove ${file.name}`);\n\t\tremove.innerHTML = ``;\n\n\t\tcaption.append(name, meta);\n\t\tfigure.append(remove, preview, caption);\n\t\tpreviewNode.append(figure);\n\t});\n\n\tpreviewNode.hidden = false;\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst clearButton = event.target.closest(\"[data-input-clear]\");\n\n\t\tif(!clearButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group = clearButton.closest(\".input-group\");\n\t\tconst input = group?.querySelector(\"input, textarea\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\t\tinput.focus();\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst removeButton = event.target.closest(\"[data-file-upload-remove]\");\n\n\t\tif(!removeButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = removeButton.closest(\".file-upload-panel, .file-upload\");\n\t\tconst input = container?.querySelector(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tremoveStoredFile(input, Number(removeButton.dataset.fileUploadRemove));\n\t\tupdateFileUpload(input);\n\t\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst input = event.target.closest(\"[data-date-picker]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.focus();\n\n\t\tif(typeof input.showPicker === \"function\") {\n\t\t\ttry {\n\t\t\t\tinput.showPicker();\n\t\t\t} catch(error) {\n\t\t\t\t// Some browsers restrict showPicker() to direct user gestures or supported input types.\n\t\t\t}\n\t\t}\n\t});\n\n\troot.addEventListener(\"change\", event => {\n\t\tconst input = event.target.closest(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\taddStoredFiles(input, Array.from(input.files || []));\n\t\tupdateFileUpload(input);\n\t});\n\n\troot.addEventListener(\"reset\", event => {\n\t\tconst form = event.target.closest(\"form\");\n\n\t\tif(!form) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tform.querySelectorAll(\"[data-file-upload-input]\").forEach(input => {\n\t\t\t\tsetStoredFiles(input, []);\n\t\t\t\tupdateFileUpload(input);\n\t\t\t});\n\t\t}, 0);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tupdateFileUpload\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getPanel(details) {\n\treturn details.querySelector(\".accordion-panel\");\n}\n\nfunction prepareOpenPanel(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel) {\n\t\treturn;\n\t}\n\n\tpanel.style.height = \"auto\";\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n}\n\nfunction expand(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tdetails.open = true;\n\tpanel.style.height = \"0px\";\n\tpanel.style.opacity = \"0\";\n\tpanel.style.transform = \"translateY(-8px)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = `${panel.scrollHeight}px`;\n\t\tpanel.style.opacity = \"1\";\n\t\tpanel.style.transform = \"translateY(0)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tpanel.style.height = \"auto\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction collapse(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tpanel.style.height = `${panel.scrollHeight}px`;\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = \"0px\";\n\t\tpanel.style.opacity = \"0\";\n\t\tpanel.style.transform = \"translateY(-8px)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tdetails.open = false;\n\t\tpanel.style.height = \"\";\n\t\tpanel.style.opacity = \"\";\n\t\tpanel.style.transform = \"\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction toggle(details) {\n\tif(details.open) {\n\t\tcollapse(details);\n\t} else {\n\t\texpand(details);\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".accordion-item[open], .disclosure[open]\").forEach(prepareOpenPanel);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst summary = event.target.closest(\".accordion-summary\");\n\n\t\tif(!summary) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst details = summary.closest(\".accordion-item, .disclosure\");\n\n\t\tif(!details) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\ttoggle(details);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\texpand,\n\tcollapse,\n\ttoggle\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getTabs(root) {\n\treturn [...root.querySelectorAll('[role=\"tab\"], .tab')];\n}\n\nfunction getPanels(root) {\n\treturn [...root.querySelectorAll('[role=\"tabpanel\"], .tab-panel')];\n}\n\nfunction getPanel(root, tab) {\n\tconst panelId = tab.getAttribute(\"aria-controls\");\n\n\tif(!panelId) {\n\t\treturn null;\n\t}\n\n\treturn root.querySelector(`#${CSS.escape(panelId)}`);\n}\n\nfunction setTabState(tab, isActive) {\n\ttab.classList.toggle(\"tab-active\", isActive);\n\ttab.setAttribute(\"aria-selected\", isActive ? \"true\" : \"false\");\n\ttab.setAttribute(\"tabindex\", isActive ? \"0\" : \"-1\");\n}\n\nfunction setPanelState(panel, isActive) {\n\tpanel.classList.toggle(\"tab-panel-active\", isActive);\n\tpanel.toggleAttribute(\"hidden\", !isActive);\n}\n\nfunction activate(tab, options = {}) {\n\tif(!tab || tab.disabled || tab.getAttribute(\"aria-disabled\") === \"true\") {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\n\tif(!root) {\n\t\treturn;\n\t}\n\n\tgetTabs(root).forEach(item => setTabState(item, item === tab));\n\tgetPanels(root).forEach(panel => setPanelState(panel, false));\n\n\tconst panel = getPanel(root, tab);\n\n\tif(panel) {\n\t\tsetPanelState(panel, true);\n\t}\n\n\tif(options.focus !== false) {\n\t\ttab.focus();\n\t}\n}\n\nfunction getNextEnabledTab(tabs, activeIndex, direction) {\n\tfor(let offset = 1; offset <= tabs.length; offset++) {\n\t\tconst index = (activeIndex + (offset * direction) + tabs.length) % tabs.length;\n\t\tconst tab = tabs[index];\n\n\t\tif(!tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\") {\n\t\t\treturn tab;\n\t\t}\n\t}\n\n\treturn tabs[activeIndex];\n}\n\nfunction handleKeydown(event) {\n\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\tif(!tab) {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\tconst tabs = root ? getTabs(root) : [];\n\tconst activeIndex = tabs.indexOf(tab);\n\n\tif(activeIndex < 0) {\n\t\treturn;\n\t}\n\n\tlet nextTab = null;\n\n\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, 1);\n\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, -1);\n\t} else if(event.key === \"Home\") {\n\t\tnextTab = getNextEnabledTab(tabs, -1, 1);\n\t} else if(event.key === \"End\") {\n\t\tnextTab = getNextEnabledTab(tabs, 0, -1);\n\t}\n\n\tif(!nextTab) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\tactivate(nextTab);\n}\n\nfunction prepare(root) {\n\tconst tabs = getTabs(root);\n\tconst activeTab = tabs.find(tab => tab.classList.contains(\"tab-active\") || tab.getAttribute(\"aria-selected\") === \"true\")\n\t\t|| tabs.find(tab => !tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\");\n\n\ttabs.forEach(tab => {\n\t\ttab.setAttribute(\"role\", \"tab\");\n\t\tsetTabState(tab, tab === activeTab);\n\t});\n\n\troot.querySelectorAll(\".tabs-list\").forEach(list => {\n\t\tlist.setAttribute(\"role\", \"tablist\");\n\t});\n\n\tgetPanels(root).forEach(panel => {\n\t\tpanel.setAttribute(\"role\", \"tabpanel\");\n\t\tsetPanelState(panel, activeTab ? panel === getPanel(root, activeTab) : panel.classList.contains(\"tab-panel-active\"));\n\t});\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".tabs\").forEach(prepare);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\t\tif(!tab || !root.contains(tab)) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tactivate(tab, { focus: false });\n\t});\n\n\troot.addEventListener(\"keydown\", handleKeydown);\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tactivate\n};\n", "export default function demoNavigation() {\n const navItems = [...document.querySelectorAll(\".nav-drawer .list-item\")];\n const currentSection = document.querySelector(\"[data-docs-current-section]\");\n\n if (!navItems.length) {\n return;\n }\n\n const setActive = id => {\n navItems.forEach(item => {\n const link = item.querySelector(\".list-action\");\n const isActive = link?.getAttribute(\"href\") === `#${id}`;\n item.classList.toggle(\"list-item-active\", isActive);\n\n if (isActive && currentSection) {\n currentSection.textContent = link.querySelector(\".list-label\")?.textContent.trim() || id;\n }\n });\n };\n\n const updateFromHash = () => {\n const id = window.location.hash?.slice(1);\n\n if (id) {\n setActive(id);\n }\n };\n\n window.addEventListener(\"hashchange\", updateFromHash);\n updateFromHash();\n}\n", "function fallbackCopy(text) {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.setAttribute(\"readonly\", \"readonly\");\n textarea.style.position = \"fixed\";\n textarea.style.opacity = \"0\";\n document.body.append(textarea);\n textarea.select();\n document.execCommand(\"copy\");\n textarea.remove();\n}\n\nfunction escapeHtml(text) {\n return text\n .replace(/&/g, \"&\")\n .replace(//g, \">\");\n}\n\nfunction highlightJavascript(code) {\n const source = code.textContent;\n const tokens = /\\/\\/.*$|\\/\\*[\\s\\S]*?\\*\\/|`(?:\\\\[\\s\\S]|[^`\\\\])*`|'(?:\\\\.|[^'\\\\])*'|\"(?:\\\\.|[^\"\\\\])*\"|\\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\\b|\\b\\d+(?:\\.\\d+)?\\b|\\b[A-Za-z_$][\\w$]*(?=\\s*\\()/gm;\n let html = \"\";\n let cursor = 0;\n let match;\n\n while ((match = tokens.exec(source)) !== null) {\n const token = match[0];\n html += escapeHtml(source.slice(cursor, match.index));\n\n if (token.startsWith(\"//\") || token.startsWith(\"/*\")) {\n html += `${escapeHtml(token)}`;\n } else if (token.startsWith(\"\\\"\") || token.startsWith(\"'\") || token.startsWith(\"`\")) {\n html += `${escapeHtml(token)}`;\n } else if (/^\\d/.test(token)) {\n html += `${escapeHtml(token)}`;\n } else if (/^[A-Za-z_$][\\w$]*$/.test(token) && source[match.index + token.length]?.match(/\\s|\\(/)) {\n const keyword = /^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(token);\n html += keyword\n ? `${token}`\n : `${token}`;\n } else {\n html += escapeHtml(token);\n }\n\n cursor = match.index + token.length;\n }\n\n html += escapeHtml(source.slice(cursor));\n code.innerHTML = html;\n code.classList.add(\"hljs\");\n}\n\nfunction highlightCode() {\n document.querySelectorAll(\"code.language-js, code.language-javascript\").forEach(highlightJavascript);\n\n if (window.hljs) {\n document\n .querySelectorAll(\"code:not(.language-js):not(.language-javascript)\")\n .forEach(code => window.hljs.highlightElement(code));\n }\n}\n\nexport default function codeExamples() {\n highlightCode();\n\n document.querySelectorAll(\".code-example .btn-icon\").forEach(button => {\n button.addEventListener(\"click\", async () => {\n const example = button.closest(\".code-example\");\n const code = example?.querySelector(\"code\");\n const text = code?.textContent ?? \"\";\n const originalIcon = button.innerHTML;\n\n if (!text) {\n return;\n }\n\n try {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n } else {\n fallbackCopy(text);\n }\n } catch {\n fallbackCopy(text);\n }\n\n button.innerHTML = ``;\n\n setTimeout(() => {\n button.innerHTML = originalIcon;\n }, 1200);\n });\n });\n}\n", "import Helper from \"./components/helper.js\";\nimport Toasts from \"./components/toasts.js\";\nimport Modals from \"./components/modals.js\";\nimport advancedSelect from \"./components/advanced-select.js\";\nimport editableString from \"./components/editable-string.js\";\nimport confirmPopup from \"./components/confirm-popup.js\";\nimport Drawer from \"./components/drawer.js\";\nimport NavigationShell from \"./components/navigation-shell.js\";\nimport Overlays from \"./components/overlays.js\";\nimport InputPatterns from \"./components/input-patterns.js\";\nimport Accordion from \"./components/accordion.js\";\nimport Tabs from \"./components/tabs.js\";\nimport demoNavigation from \"./demo-navigation.js\";\nimport codeExamples from \"./code-examples.js\";\n\nconst api = {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nif(typeof window !== \"undefined\") {\n window.GNexusUIKit = api;\n Object.assign(window, api);\n\n document.addEventListener(\"DOMContentLoaded\", () => {\n Overlays.init();\n NavigationShell.init();\n InputPatterns.init();\n Accordion.init();\n Tabs.init();\n demoNavigation();\n codeExamples();\n });\n}\n\nexport {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nexport default api;\n"], + "mappings": "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", + "names": ["sidebarNav", "items", "listItems", "item", "aOpen", "aClose", "table", "caption", "columns", "data", "tfoot", "head", "totalColumns", "key", "body", "column", "foot", "tableCaption", "tableHead", "createElement", "type", "props", "content", "node", "value", "createAlert", "fieldsUnification", "map", "dataObj", "field", "btnLoadingState", "btn", "isLoading", "cardStatusLoadingState", "card", "iconContainer", "mainTemplate", "sidebar", "connectionStatusBadge", "status", "toogleStateBadge", "state", "timeAgo", "dateString", "date", "diff_seconds", "minutes", "hours", "days", "remain_minutes", "formatDate", "now", "today", "target_day", "diff_days", "months", "circleLoaderHTML", "emptyHereHTML", "helper_default", "appendIcon", "container", "icon", "iconWrap", "template", "type", "title", "text", "toast", "content", "toastHeader", "toastText", "progress", "progressBar", "close", "init", "props", "lifetime", "_a", "e", "lifetimeInterval", "create", "applyDefaults", "createSuccess", "createInfo", "createWarning", "createError", "toasts_default", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "modal", "backdrop", "dialog", "panel", "header", "modalTitle", "close", "body", "modalFooter", "init", "onready", "e", "create", "modalBody", "actionsResult", "actions", "actionElement", "bodyResult", "modals_default", "scrollToElementInFocus", "container", "focus", "container_rect", "focus_rect", "autoSetState", "firstVisibleOption", "lastVisibleOption", "selectOption", "input", "option", "advancedSelect", "options", "notFoundText", "popup", "notFound", "optionsContainer", "optionValue", "existsOption", "value", "ret", "stateName", "name", "handler", "eventHandler", "e", "_a", "_b", "current", "prev", "next", "selected", "val", "i", "template", "originalText", "isMultiString", "placeholder", "input", "editableString", "stringContainer", "component", "helper_default", "editBtn", "applyBtn", "cancelBtn", "content", "form", "val", "cb", "evName", "handler", "e", "confirmPopup", "text", "confirmedCb", "canceledCb", "modals_default", "paragraph", "modal", "buttonNO", "helper_default", "buttonYES", "e", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "drawer", "backdrop", "panel", "header", "drawerTitle", "close", "body", "drawerFooter", "init", "onready", "create", "drawerBody", "actionsResult", "actions", "actionElement", "bodyResult", "drawer_default", "initializedRoots", "getDrawerForToggle", "toggle", "root", "_a", "_b", "id", "open", "drawer", "firstControl", "close", "shouldRestoreFocus", "init", "event", "closeControl", "navigation_shell_default", "initializedRoots", "keyboardDismissInitialized", "closeNode", "node", "trigger", "closeAll", "except", "initDropdowns", "root", "event", "dropdown", "isOpen", "initPopovers", "popover", "initTooltips", "tooltip", "initDismiss", "init", "overlays_default", "initializedRoots", "fileUploadState", "getFileKey", "file", "clearFilePreviews", "previewNode", "image", "getStoredFiles", "input", "setStoredFiles", "files", "transfer", "addStoredFiles", "storedFiles", "knownKeys", "nextFiles", "key", "removeStoredFile", "index", "fileIndex", "getFileType", "nameParts", "extension", "formatBytes", "bytes", "units", "value", "updateFileUpload", "container", "updateFilePreviews", "figure", "preview", "objectUrl", "type", "caption", "name", "meta", "remove", "init", "root", "event", "clearButton", "group", "removeButton", "error", "form", "input_patterns_default", "initializedRoots", "getPanel", "details", "prepareOpenPanel", "panel", "expand", "handleTransitionEnd", "event", "collapse", "toggle", "init", "root", "summary", "accordion_default", "initializedRoots", "getTabs", "root", "getPanels", "getPanel", "tab", "panelId", "setTabState", "isActive", "setPanelState", "panel", "activate", "options", "_a", "item", "getNextEnabledTab", "tabs", "activeIndex", "direction", "offset", "index", "handleKeydown", "event", "nextTab", "prepare", "activeTab", "list", "init", "tabs_default", "demoNavigation", "navItems", "currentSection", "setActive", "id", "item", "_a", "link", "isActive", "updateFromHash", "fallbackCopy", "text", "textarea", "escapeHtml", "highlightJavascript", "code", "_a", "source", "tokens", "html", "cursor", "match", "token", "keyword", "highlightCode", "codeExamples", "button", "_b", "example", "originalIcon", "e", "api", "helper_default", "toasts_default", "modals_default", "advancedSelect", "editableString", "confirmPopup", "drawer_default", "navigation_shell_default", "overlays_default", "input_patterns_default", "accordion_default", "tabs_default", "demoNavigation", "codeExamples", "index_default", "api"] } diff --git a/dist/js/gnexus-ui-kit.js b/dist/js/gnexus-ui-kit.js index 0afa523..e5067cc 100644 --- a/dist/js/gnexus-ui-kit.js +++ b/dist/js/gnexus-ui-kit.js @@ -1,4 +1,4 @@ -var GNexusUIKit=(()=>{var H=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var ve=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var a in t)H(e,a,{get:t[a],enumerable:!0})},ye=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of he(t))!ve.call(e,i)&&i!==a&&H(e,i,{get:()=>t[i],enumerable:!(n=pe(t,i))||n.enumerable});return e};var be=e=>ye(H({},"__esModule",{value:!0}),e);var pt={};ge(pt,{Accordion:()=>q,Drawer:()=>O,Helper:()=>m,InputPatterns:()=>$,Modals:()=>g,NavigationShell:()=>x,Overlays:()=>A,Tabs:()=>N,Toasts:()=>C,advancedSelect:()=>b,confirmPopup:()=>S,default:()=>mt,editableString:()=>E});function Ee(e){let t="";for(let a of e){let n="",i="";a.route&&(n=``,i=""),t+=` +var GNexusUIKit=(()=>{var M=Object.defineProperty;var he=Object.getOwnPropertyDescriptor;var ve=Object.getOwnPropertyNames;var ge=Object.prototype.hasOwnProperty;var ye=(e,t)=>{for(var a in t)M(e,a,{get:t[a],enumerable:!0})},be=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ve(t))!ge.call(e,i)&&i!==a&&M(e,i,{get:()=>t[i],enumerable:!(n=he(t,i))||n.enumerable});return e};var Ee=e=>be(M({},"__esModule",{value:!0}),e);var ht={};ye(ht,{Accordion:()=>T,Drawer:()=>F,Helper:()=>m,InputPatterns:()=>q,Modals:()=>g,NavigationShell:()=>A,Overlays:()=>$,Tabs:()=>H,Toasts:()=>C,advancedSelect:()=>E,confirmPopup:()=>L,default:()=>pt,editableString:()=>S});function Se(e){let t="";for(let a of e){let n="",i="";a.route&&(n=``,i=""),t+=`
  • ${n}${a.content}${i}
  • @@ -8,24 +8,24 @@ ${t} - `}function Se(e,t,a,n){let i='',o=0;for(let d in t)i+=`${t[d]}`,o++;i+="";let l="";for(let d of a){l+='';for(let f in t)l+=`${d[f]}`;l+=""}let c="";typeof n!="undefined"&&(c=` + `}function Le(e,t,a,n){let i='',s=0;for(let d in t)i+=`${t[d]}`,s++;i+="";let l="";for(let d of a){l+='';for(let f in t)l+=`${d[f]}`;l+=""}let c="";typeof n!="undefined"&&(c=` - + ${n} - `);let s=e?`${e}`:"",r=a.length?`${i}`:"";return l=a.length?l:'Empty',` + `);let o=e?`${e}`:"",r=a.length?`${i}`:"";return l=a.length?l:'Empty',`
    - ${s} + ${o} ${r} ${l} ${c}
    - `}function Y(e,t,a){let n=document.createElement(e);for(let[i,o]of Object.entries(t))i==="class"?n.className=o:i==="dataset"?Object.assign(n.dataset,o):n.setAttribute(i,o);return n.innerHTML=typeof a!="undefined"?a:"",n}function Le(e,t){return["primary","success","secondary","info","warning","error","danger"].indexOf(e)<0?console.error("createAlert()","Error of type: "+e):Y("div",{class:`alert alert-${e}`},t)}function we(e,t={}){let a={};for(let n in e){if(typeof t[n]!="undefined"){a[t[n]]=e[n];continue}a[n]=e[n]}return a}function xe(e,t){if((e==null?void 0:e.isLoading)==t)return!1;if(t)e.isLoading=!0,e.originalContent=e.innerHTML,e.classList.contains("with-icon")?e.originalWithIcon=!0:e.classList.add("with-icon"),e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),e.innerHTML=' Loading';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),e.originalWithIcon||e.classList.remove("with-icon"),e.innerHTML=e.originalContent}return e}function Ae(e,t){if((e==null?void 0:e.isLoading)==t)return!1;let a=e.querySelector(".status-icon");if(t)e.isLoading=!0,e.originalContent=a.innerHTML,e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),a.innerHTML='';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),a.innerHTML=e.originalContent}return e}function ke(e,t){return t=t!=null?t:"",` + `}function _(e,t,a){let n=document.createElement(e);for(let[i,s]of Object.entries(t))i==="class"?n.className=s:i==="dataset"?Object.assign(n.dataset,s):n.setAttribute(i,s);return n.innerHTML=typeof a!="undefined"?a:"",n}function we(e,t){return["primary","success","secondary","info","warning","error","danger"].indexOf(e)<0?console.error("createAlert()","Error of type: "+e):_("div",{class:`alert alert-${e}`},t)}function xe(e,t={}){let a={};for(let n in e){if(typeof t[n]!="undefined"){a[t[n]]=e[n];continue}a[n]=e[n]}return a}function Ae(e,t){if((e==null?void 0:e.isLoading)==t)return!1;if(t)e.isLoading=!0,e.originalContent=e.innerHTML,e.classList.contains("with-icon")?e.originalWithIcon=!0:e.classList.add("with-icon"),e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),e.innerHTML=' Loading';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),e.originalWithIcon||e.classList.remove("with-icon"),e.innerHTML=e.originalContent}return e}function $e(e,t){if((e==null?void 0:e.isLoading)==t)return!1;let a=e.querySelector(".status-icon");if(t)e.isLoading=!0,e.originalContent=a.innerHTML,e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),a.innerHTML='';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),a.innerHTML=e.originalContent}return e}function ke(e,t){return t=t!=null?t:"",`
    - `}function $e(e){return e=="active"?'Online':'Offline'}function qe(e){return e=="enabled"?'Enabled':'Disabled'}function Te(e){let t=new Date(e.replace(" ","T")),n=Math.floor((new Date-t)/1e3);if(n<60)return"less than a minute ago";let i=Math.floor(n/60),o=Math.floor(i/60),l=Math.floor(o/24);if(i<60)return`${i} minute${i!==1?"s":""} ago`;if(o<24){let c=i%60;return`${o} hour${o!==1?"s":""} ${c} minute${c!==1?"s":""} ago`}return`${l} day${l!==1?"s":""} ago`}function Ne(e){let t=new Date(e.replace(" ","T")),a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),o=Math.floor((n-i)/864e5),l=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");if(o===0)return`Today at ${l}:${c}`;if(o===1)return`Yesterday at ${l}:${c}`;let s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${t.getDate()} ${s[t.getMonth()]} ${t.getFullYear()} at ${l}:${c}`}function He(){return` + `}function qe(e){return e=="active"?'Online':'Offline'}function Te(e){return e=="enabled"?'Enabled':'Disabled'}function Ne(e){let t=new Date(e.replace(" ","T")),n=Math.floor((new Date-t)/1e3);if(n<60)return"less than a minute ago";let i=Math.floor(n/60),s=Math.floor(i/60),l=Math.floor(s/24);if(i<60)return`${i} minute${i!==1?"s":""} ago`;if(s<24){let c=i%60;return`${s} hour${s!==1?"s":""} ${c} minute${c!==1?"s":""} ago`}return`${l} day${l!==1?"s":""} ago`}function He(e){let t=new Date(e.replace(" ","T")),a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),s=Math.floor((n-i)/864e5),l=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");if(s===0)return`Today at ${l}:${c}`;if(s===1)return`Yesterday at ${l}:${c}`;let o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${t.getDate()} ${o[t.getMonth()]} ${t.getFullYear()} at ${l}:${c}`}function Me(){return`
    Loading @@ -46,7 +46,7 @@

    It's empty here yet

    - `}var m={template:{sidebarNav:Ee,table:Se,createElement:Y,createAlert:Le,mainTemplate:ke,connectionStatusBadge:$e,toogleStateBadge:qe,circleLoaderHTML:He,emptyHereHTML:Ce},unification:{fieldsUnification:we,timeAgo:Te,formatDate:Ne},states:{btnLoadingState:xe,cardStatusLoadingState:Ae}};function Me(e,t){if(t instanceof Node){e.append(t);return}let a=document.createElement("span");a.innerHTML=t,e.append(...a.childNodes)}function De(e,t,a,n){let i=document.createElement("div");i.className=`toast toast-${e}`,i.setAttribute("role","alert");let o=document.createElement("div");o.className="toast-content";let l=document.createElement("h4");l.className="toast-title",Me(l,t),l.append(document.createTextNode(` ${a!=null?a:""}`));let c=document.createElement("p");c.className="toast-text",c.textContent=n!=null?n:"";let s=document.createElement("button");return s.className="btn-icon toast-close",s.type="button",s.setAttribute("aria-label","Close"),s.textContent="\u2715",o.append(l,c),i.append(o,s),i}function Oe(e,t){if(t!=null&&t.alone&&document.querySelectorAll(".toast").forEach(a=>{var n;return(n=a.close)==null?void 0:n.call(a)}),e.close=function(){this.classList.add("a-hide"),setTimeout(()=>{this.remove()},300)},e.querySelector(".toast-close").addEventListener("click",a=>{e.close()}),e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.addEventListener("mouseover",a=>e.ishovered=!0),e.addEventListener("mouseout",a=>e.ishovered=!1),t!=null&&t.lifetime){let a=setInterval(()=>{e.ishovered||(e.close(),clearInterval(a))},t==null?void 0:t.lifetime)}return e}function v(e,t,a,n,i){return Oe(De(e,t,a,n),i)}function Fe(e,t,a){return typeof a=="undefined"&&(a={}),typeof a.lifetime=="undefined"&&(a.lifetime=4e3),typeof a.alone=="undefined"&&(a.alone=!0),v("success",'',e,t,a)}function Ie(e,t,a){return v("info",'',e,t,a)}function je(e,t,a){return v("warning",'',e,t,a)}function _(e,t,a){return v("danger",'',e,t,a)}var C={create:v,createInfo:Ie,createSuccess:Fe,createWarning:je,createError:_,createDanger:_};function y(e,t,a="html"){if(t instanceof Node){e.append(t);return}typeof t!="undefined"&&t!==null&&(a==="text"?e.textContent=t:e.innerHTML=t)}function Re(e,t,a,n={}){var V;let i=document.createElement("div");i.className="modal",i.setAttribute("aria-hidden","true"),i.id=e;let o=document.createElement("div");o.className="modal-backdrop";let l=document.createElement("div");l.className="modal-dialog",l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-labelledby",`${e}-title`);let c=document.createElement("div");c.className="modal-panel";let s=document.createElement("header");s.className="modal-header";let r=document.createElement("h4");r.className="modal-title",r.id=`${e}-title`,r.textContent=t;let u=document.createElement("button");u.className="btn-icon modal-close",u.type="button",u.setAttribute("aria-label","Close"),u.textContent="\u2715";let d=document.createElement("div");d.className="modal-body";let f=document.createElement("footer");return f.className="modal-footer",y(f,a,(V=n.footerMode)!=null?V:"html"),s.append(r,u),c.append(d,f),l.append(s,c),i.append(o,l),i}function Be(e,t){return e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.close=function(){e.classList.add("a-hide"),setTimeout(()=>{e.remove()},300)},e.querySelector(".modal-close").addEventListener("click",a=>{e.close()}),typeof t=="function"&&t(e),e}function Ue(e,t){var c;t=t!=null?t:{};let a=t.title||"",n=t.footer||"",i=Re(e,a,n,t),o=i.querySelector(".modal-body"),l=i.querySelector(".modal-footer");if(typeof t.actions=="function"){let s=t.actions(i);if(Array.isArray(s)&&s[0]instanceof Node){let r=document.createElement("div");r.classList.add("actions");for(let u of s)r.append(u);l.append(r)}else s instanceof Node&&l.append(s)}if(typeof t.body=="function"){let s=t.body(i);y(o,s,(c=t.bodyMode)!=null?c:"html")}else typeof t.bodyText!="undefined"?y(o,t.bodyText,"text"):typeof t.bodyHtml!="undefined"&&y(o,t.bodyHtml,"html");return Be(i,t==null?void 0:t.onready)}var g={create:Ue};function K(e){let t=e.querySelector(".focus");if(!t)return;let a=e.getBoundingClientRect(),n=t.getBoundingClientRect();n.topa.bottom&&(e.scrollTop+=n.bottom-a.bottom)}function M(e){e.advancedSelect.optionsElements.length-e.querySelectorAll(".option.hide").length==0?e.advancedSelect.showState("not-found"):e.advancedSelect.showState("options")}function D(e){return e.querySelector(".option:not(.hide)")}function We(e){return e.querySelector(".option:not(.hide):last-child")}function J(e,t,a){a&&(e.value=a.dataset.displayValue,e.blur(),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0})),t.advancedSelect.dispatchEvent("selected"),t.advancedSelect.closeList())}function b(e,t,a){let n=document.createElement("div");n.classList.add("advanced-select");let i=document.createElement("div");i.className="popup-options-container";let o=document.createElement("div");o.className="not-found",o.textContent=a!=null?a:"Nothing found";let l=document.createElement("div");l.className="options";for(let s in t){let r=document.createElement("div");r.className="option",r.dataset.value=s,r.dataset.displayValue=t[s],r.textContent=t[s],l.append(r)}i.append(o,l),n.append(i);let c=(s,r)=>{for(let u in r)if(r[u]==s){let d={};return d[u]=r[u],d}return!1};return n.advancedSelect={isOpened:!1,options:t,eventsHandlers:{openList:[],closeList:[],selected:[],changed:[]},openList:()=>{n.advancedSelect.isOpened=!0,n.classList.add("a-show"),M(n),n.advancedSelect.dispatchEvent("openList")},closeList:()=>{n.advancedSelect.isOpened=!1,n.classList.remove("a-show"),M(n),n.advancedSelect.dispatchEvent("closeList")},showState:s=>{s=="options"?(n.querySelector(".options").classList.add("show"),n.querySelector(".not-found").classList.remove("show")):s=="not-found"&&(n.querySelector(".options").classList.remove("show"),n.querySelector(".not-found").classList.add("show"))},optionsElements:n.querySelectorAll(".option"),value:()=>{let s=c(e.value,t);return{inputValue:e.value,isOption:!!s,option:s}},addEventListener:(s,r)=>{if(typeof n.advancedSelect.eventsHandlers[s]!="undefined")return n.advancedSelect.eventsHandlers[s].push(r);console.error("Advanced Select component.","addEventListener()","Invalid event name")},dispatchEvent:s=>{if(typeof n.advancedSelect.eventsHandlers[s]=="undefined")return console.error("Advanced Select component.","dispatchEvent()","Invalid event name");for(let r of n.advancedSelect.eventsHandlers[s])r(n)}},e.setAttribute("autocomplete","nope"),e.advancedSelect={value:()=>n.advancedSelect.value()},e.addEventListener("focus",s=>{n.advancedSelect.openList()}),e.addEventListener("blur",s=>{requestAnimationFrame(()=>{n.matches(":hover")||n.advancedSelect.closeList()})}),e.addEventListener("keydown",s=>{var r,u;if(s.key==="ArrowUp"){s.preventDefault();let d=n.querySelector(".option.focus");if(d){d.classList.remove("focus");let f=d.previousElementSibling;for(;f&&f.classList.contains("hide");)f=f.previousElementSibling;f||(f=D(n)),f==null||f.classList.add("focus")}else(r=We(n))==null||r.classList.add("focus");K(n)}else if(s.key==="ArrowDown"){s.preventDefault();let d=n.querySelector(".option.focus");if(d){d.classList.remove("focus");let f=d.nextElementSibling;for(;f&&f.classList.contains("hide");)f=f.nextElementSibling;f||(f=D(n)),f==null||f.classList.add("focus")}else(u=D(n))==null||u.classList.add("focus");K(n)}else if(s.key==="Enter"){s.preventDefault();let d=n.querySelector(".option.focus");J(e,n,d)}else s.key==="Escape"&&(n.advancedSelect.closeList(),e.blur())}),e.addEventListener("input",s=>{var u;let r=s.currentTarget.value.toLowerCase();r==""?n.advancedSelect.optionsElements.forEach(d=>d.classList.remove("hide")):([...n.advancedSelect.optionsElements].filter(d=>d.dataset.displayValue.toLowerCase().indexOf(r)!=-1).forEach(d=>d.classList.remove("hide")),[...n.advancedSelect.optionsElements].filter(d=>d.dataset.displayValue.toLowerCase().indexOf(r)==-1).forEach(d=>d.classList.add("hide")),M(n),(u=n.querySelector(".option.focus"))==null||u.classList.remove("focus"))}),e.addEventListener("change",s=>{n.advancedSelect.dispatchEvent("changed")}),[...n.advancedSelect.optionsElements].forEach(s=>{s.addEventListener("pointerdown",r=>{r.preventDefault(),J(e,n,r.currentTarget)})}),n}function Pe(e,t){let a="Write something",n=t?``:``;return` + `}var m={template:{sidebarNav:Se,table:Le,createElement:_,createAlert:we,mainTemplate:ke,connectionStatusBadge:qe,toogleStateBadge:Te,circleLoaderHTML:Me,emptyHereHTML:Ce},unification:{fieldsUnification:xe,timeAgo:Ne,formatDate:He},states:{btnLoadingState:Ae,cardStatusLoadingState:$e}};function De(e,t){if(t instanceof Node){e.append(t);return}let a=document.createElement("span");a.innerHTML=t,e.append(...a.childNodes)}function Oe(e,t,a,n){let i=document.createElement("div");i.className=`toast toast-${e}`,i.setAttribute("role","alert");let s=document.createElement("div");s.className="toast-content";let l=document.createElement("div");if(l.className="toast-header",De(l,t),l.append(document.createTextNode(` ${a!=null?a:""}`)),s.append(l),n){let u=document.createElement("p");u.className="toast-text",u.textContent=n,s.append(u)}let c=document.createElement("div");c.className="toast-progress";let o=document.createElement("div");o.className="toast-progress-bar",c.append(o);let r=document.createElement("button");return r.className="btn-icon toast-close",r.type="button",r.setAttribute("aria-label","Close"),r.innerHTML='',i.append(s,r,c),i}function Fe(e,t){let a=(t==null?void 0:t.lifetime)||4e3;t!=null&&t.alone&&document.querySelectorAll(".toast").forEach(i=>{var s;return(s=i.close)==null?void 0:s.call(i)});let n=e.querySelector(".toast-progress-bar");if(n&&a>0&&(n.style.animationDuration=`${a}ms`),e.close=function(){this.classList.add("a-hide"),setTimeout(()=>{this.remove()},300)},e.querySelector(".toast-close").addEventListener("click",i=>{e.close()}),e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.addEventListener("mouseover",i=>e.ishovered=!0),e.addEventListener("mouseout",i=>e.ishovered=!1),a>0){let i=setInterval(()=>{e.ishovered||(e.close(),clearInterval(i))},a)}return e}function v(e,t,a,n,i){return Fe(Oe(e,t,a,n),i)}function y(e){return typeof e=="undefined"&&(e={}),typeof e.lifetime=="undefined"&&(e.lifetime=4e3),typeof e.alone=="undefined"&&(e.alone=!0),e}function Ie(e,t,a){return a=y(a),v("success",'',e,t,a)}function je(e,t,a){return a=y(a),v("info",'',e,t,a)}function Be(e,t,a){return a=y(a),v("warning",'',e,t,a)}function K(e,t,a){return a=y(a),v("danger",'',e,t,a)}var C={create:v,createInfo:je,createSuccess:Ie,createWarning:Be,createError:K,createDanger:K};function b(e,t,a="html"){if(t instanceof Node){e.append(t);return}typeof t!="undefined"&&t!==null&&(a==="text"?e.textContent=t:e.innerHTML=t)}function Re(e,t,a,n={}){var Y;let i=document.createElement("div");i.className="modal",i.setAttribute("aria-hidden","true"),i.id=e;let s=document.createElement("div");s.className="modal-backdrop";let l=document.createElement("div");l.className="modal-dialog",l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-labelledby",`${e}-title`);let c=document.createElement("div");c.className="modal-panel";let o=document.createElement("header");o.className="modal-header";let r=document.createElement("h4");r.className="modal-title",r.id=`${e}-title`,r.textContent=t;let u=document.createElement("button");u.className="btn-icon modal-close",u.type="button",u.setAttribute("aria-label","Close"),u.textContent="\u2715";let d=document.createElement("div");d.className="modal-body";let f=document.createElement("footer");return f.className="modal-footer",b(f,a,(Y=n.footerMode)!=null?Y:"html"),o.append(r,u),c.append(d,f),l.append(o,c),i.append(s,l),i}function Ue(e,t){return e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.close=function(){e.classList.add("a-hide"),setTimeout(()=>{e.remove()},300)},e.querySelector(".modal-close").addEventListener("click",a=>{e.close()}),typeof t=="function"&&t(e),e}function We(e,t){var c;t=t!=null?t:{};let a=t.title||"",n=t.footer||"",i=Re(e,a,n,t),s=i.querySelector(".modal-body"),l=i.querySelector(".modal-footer");if(typeof t.actions=="function"){let o=t.actions(i);if(Array.isArray(o)&&o[0]instanceof Node){let r=document.createElement("div");r.classList.add("actions");for(let u of o)r.append(u);l.append(r)}else o instanceof Node&&l.append(o)}if(typeof t.body=="function"){let o=t.body(i);b(s,o,(c=t.bodyMode)!=null?c:"html")}else typeof t.bodyText!="undefined"?b(s,t.bodyText,"text"):typeof t.bodyHtml!="undefined"&&b(s,t.bodyHtml,"html");return Ue(i,t==null?void 0:t.onready)}var g={create:We};function J(e){let t=e.querySelector(".focus");if(!t)return;let a=e.getBoundingClientRect(),n=t.getBoundingClientRect();n.topa.bottom&&(e.scrollTop+=n.bottom-a.bottom)}function D(e){e.advancedSelect.optionsElements.length-e.querySelectorAll(".option.hide").length==0?e.advancedSelect.showState("not-found"):e.advancedSelect.showState("options")}function O(e){return e.querySelector(".option:not(.hide)")}function Pe(e){return e.querySelector(".option:not(.hide):last-child")}function G(e,t,a){a&&(e.value=a.dataset.displayValue,e.blur(),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0})),t.advancedSelect.dispatchEvent("selected"),t.advancedSelect.closeList())}function E(e,t,a){let n=document.createElement("div");n.classList.add("advanced-select");let i=document.createElement("div");i.className="popup-options-container";let s=document.createElement("div");s.className="not-found",s.textContent=a!=null?a:"Nothing found";let l=document.createElement("div");l.className="options";for(let o in t){let r=document.createElement("div");r.className="option",r.dataset.value=o,r.dataset.displayValue=t[o],r.textContent=t[o],l.append(r)}i.append(s,l),n.append(i);let c=(o,r)=>{for(let u in r)if(r[u]==o){let d={};return d[u]=r[u],d}return!1};return n.advancedSelect={isOpened:!1,options:t,eventsHandlers:{openList:[],closeList:[],selected:[],changed:[]},openList:()=>{n.advancedSelect.isOpened=!0,n.classList.add("a-show"),D(n),n.advancedSelect.dispatchEvent("openList")},closeList:()=>{n.advancedSelect.isOpened=!1,n.classList.remove("a-show"),D(n),n.advancedSelect.dispatchEvent("closeList")},showState:o=>{o=="options"?(n.querySelector(".options").classList.add("show"),n.querySelector(".not-found").classList.remove("show")):o=="not-found"&&(n.querySelector(".options").classList.remove("show"),n.querySelector(".not-found").classList.add("show"))},optionsElements:n.querySelectorAll(".option"),value:()=>{let o=c(e.value,t);return{inputValue:e.value,isOption:!!o,option:o}},addEventListener:(o,r)=>{if(typeof n.advancedSelect.eventsHandlers[o]!="undefined")return n.advancedSelect.eventsHandlers[o].push(r);console.error("Advanced Select component.","addEventListener()","Invalid event name")},dispatchEvent:o=>{if(typeof n.advancedSelect.eventsHandlers[o]=="undefined")return console.error("Advanced Select component.","dispatchEvent()","Invalid event name");for(let r of n.advancedSelect.eventsHandlers[o])r(n)}},e.setAttribute("autocomplete","nope"),e.advancedSelect={value:()=>n.advancedSelect.value()},e.addEventListener("focus",o=>{n.advancedSelect.openList()}),e.addEventListener("blur",o=>{requestAnimationFrame(()=>{n.matches(":hover")||n.advancedSelect.closeList()})}),e.addEventListener("keydown",o=>{var r,u;if(o.key==="ArrowUp"){o.preventDefault();let d=n.querySelector(".option.focus");if(d){d.classList.remove("focus");let f=d.previousElementSibling;for(;f&&f.classList.contains("hide");)f=f.previousElementSibling;f||(f=O(n)),f==null||f.classList.add("focus")}else(r=Pe(n))==null||r.classList.add("focus");J(n)}else if(o.key==="ArrowDown"){o.preventDefault();let d=n.querySelector(".option.focus");if(d){d.classList.remove("focus");let f=d.nextElementSibling;for(;f&&f.classList.contains("hide");)f=f.nextElementSibling;f||(f=O(n)),f==null||f.classList.add("focus")}else(u=O(n))==null||u.classList.add("focus");J(n)}else if(o.key==="Enter"){o.preventDefault();let d=n.querySelector(".option.focus");G(e,n,d)}else o.key==="Escape"&&(n.advancedSelect.closeList(),e.blur())}),e.addEventListener("input",o=>{var u;let r=o.currentTarget.value.toLowerCase();r==""?n.advancedSelect.optionsElements.forEach(d=>d.classList.remove("hide")):([...n.advancedSelect.optionsElements].filter(d=>d.dataset.displayValue.toLowerCase().indexOf(r)!=-1).forEach(d=>d.classList.remove("hide")),[...n.advancedSelect.optionsElements].filter(d=>d.dataset.displayValue.toLowerCase().indexOf(r)==-1).forEach(d=>d.classList.add("hide")),D(n),(u=n.querySelector(".option.focus"))==null||u.classList.remove("focus"))}),e.addEventListener("change",o=>{n.advancedSelect.dispatchEvent("changed")}),[...n.advancedSelect.optionsElements].forEach(o=>{o.addEventListener("pointerdown",r=>{r.preventDefault(),G(e,n,r.currentTarget)})}),n}function ze(e,t){let a="Write something",n=t?``:``;return`
    ${e} @@ -60,5 +60,5 @@
    - `}function E(e,t){t=t!=null?t:!1;let a=e.innerHTML,n=m.template.createElement("div",{class:"component editable-string-component"},Pe(a,t));e.innerHTML="",e.append(n);let i=n.querySelector(".edit-text-btn"),o=n.querySelector(".apply-changes-btn"),l=n.querySelector(".cancel-changes-btn"),c=n.querySelector(".editable-string-content"),s=n.querySelector(".editable-string"),r=n.querySelector(".editable-string-form"),u=n.querySelector(".input");return n.editableString={formIsDisplaying:!1,value:a,input:u,eventsHandlers:{onChange:[],onSwitch:[]},switch:()=>{n.formIsDisplaying?(r.classList.add("d-none"),c.classList.remove("d-none"),s.innerText=n.editableString.value):(r.classList.remove("d-none"),c.classList.add("d-none"),u.value=n.editableString.value),n.formIsDisplaying=!n.formIsDisplaying,n.editableString.runEventHandler("onSwitch")},setValue:d=>{n.editableString.value=d,u.value=d,s.innerText=d},apply:()=>{n.editableString.value=u.value,n.editableString.switch(),u.value!=a&&n.editableString.runEventHandler("onChange")},onChange:d=>{n.editableString.eventsHandlers.onChange.push(d)},onSwitch:d=>{n.editableString.eventsHandlers.onSwitch.push(d)},runEventHandler:d=>{n.editableString.eventsHandlers[d].forEach(f=>f(n.editableString))}},i.addEventListener("click",d=>{n.editableString.switch()}),l.addEventListener("click",d=>{n.editableString.switch()}),o.addEventListener("click",d=>{n.editableString.apply()}),u.addEventListener("keydown",d=>{d.key==="Enter"&&(u.blur(),n.editableString.apply())}),n}function S(e,t,a){g.create("confirm-popup",{title:"Requires confirmation",body:()=>{let n=document.createElement("p");return n.textContent=e!=null?e:"",n},actions:n=>{let i=m.template.createElement("button",{class:"btn btn-primary"},"NO"),o=m.template.createElement("button",{class:"btn btn-warning"},"YES");return i.addEventListener("click",l=>{n.close(),a==null||a()}),o.addEventListener("click",l=>{n.close(),t==null||t()}),[i,o]}}).show()}function L(e,t,a="html"){if(t instanceof Node){e.append(t);return}typeof t!="undefined"&&t!==null&&(a==="text"?e.textContent=t:e.innerHTML=t)}function ze(e,t,a,n={}){var f;let i=document.createElement("div");i.className="drawer",i.setAttribute("aria-hidden","true"),i.id=e,n.position==="left"&&i.classList.add("drawer-left");let o=document.createElement("div");o.className="drawer-backdrop";let l=document.createElement("aside");l.className="drawer-panel",l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-labelledby",`${e}-title`);let c=document.createElement("header");c.className="drawer-header";let s=document.createElement("h4");s.className="drawer-title",s.id=`${e}-title`,s.textContent=t;let r=document.createElement("button");r.className="btn-icon drawer-close",r.type="button",r.setAttribute("aria-label","Close"),r.textContent="\u2715";let u=document.createElement("div");u.className="drawer-body";let d=document.createElement("footer");return d.className="drawer-footer",L(d,a,(f=n.footerMode)!=null?f:"html"),c.append(s,r),l.append(c,u,d),i.append(o,l),i}function Ve(e,t){return e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.close=function(){e.classList.add("a-hide"),setTimeout(()=>{e.remove()},300)},e.querySelector(".drawer-close").addEventListener("click",()=>{e.close()}),e.querySelector(".drawer-backdrop").addEventListener("click",()=>{e.close()}),typeof t=="function"&&t(e),e}function Ye(e,t){var c;t=t!=null?t:{};let a=t.title||"",n=t.footer||"",i=ze(e,a,n,t),o=i.querySelector(".drawer-body"),l=i.querySelector(".drawer-footer");if(typeof t.actions=="function"){let s=t.actions(i);if(Array.isArray(s)&&s[0]instanceof Node){let r=document.createElement("div");r.classList.add("actions");for(let u of s)r.append(u);l.append(r)}else s instanceof Node&&l.append(s)}if(typeof t.body=="function"){let s=t.body(i);L(o,s,(c=t.bodyMode)!=null?c:"html")}else typeof t.bodyText!="undefined"?L(o,t.bodyText,"text"):typeof t.bodyHtml!="undefined"&&L(o,t.bodyHtml,"html");return Ve(i,t==null?void 0:t.onready)}var O={create:Ye};var G=new WeakSet;function _e(e,t){var n,i;let a=e.getAttribute("aria-controls");return a?((n=t.getElementById)==null?void 0:n.call(t,a))||document.getElementById(a):((i=t.querySelector)==null?void 0:i.call(t,"[data-navigation-drawer]"))||document.querySelector("[data-navigation-drawer]")}function Z(e,t){var n;if(!e)return;e.classList.add("is-open"),e.setAttribute("aria-hidden","false"),e.removeAttribute("inert"),t==null||t.setAttribute("aria-expanded","true"),document.body.classList.add("nav-drawer-open");let a=e.querySelector("[data-navigation-close], a, button, input, select, textarea");(n=a==null?void 0:a.focus)==null||n.call(a)}function w(e,t,a=!0){var n;e&&(e.classList.remove("is-open"),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),t==null||t.setAttribute("aria-expanded","false"),document.body.classList.remove("nav-drawer-open"),a&&((n=t==null?void 0:t.focus)==null||n.call(t)))}function Ke(e=document){G.has(e)||(e.addEventListener("click",t=>{let a=t.target.closest("[data-navigation-toggle]");if(!a)return;let n=_e(a,e);n!=null&&n.classList.contains("is-open")?w(n,a):Z(n,a)}),e.addEventListener("click",t=>{let a=t.target.closest("[data-navigation-close], [data-navigation-link], .nav-drawer .list-action");if(!a)return;let n=a.closest("[data-navigation-drawer]")||e.querySelector("[data-navigation-drawer]"),i=n!=null&&n.id?e.querySelector(`[data-navigation-toggle][aria-controls="${n.id}"]`):e.querySelector("[data-navigation-toggle]"),o=!a.matches("[data-navigation-link]");w(n,i,o)}),document.addEventListener("keydown",t=>{t.key==="Escape"&&e.querySelectorAll("[data-navigation-drawer].is-open").forEach(a=>{let n=a.id?e.querySelector(`[data-navigation-toggle][aria-controls="${a.id}"]`):e.querySelector("[data-navigation-toggle]");w(a,n)})}),G.add(e))}var x={init:Ke,open:Z,close:w};var Q=new WeakSet,X=!1;function Je(e){e.classList.remove("is-open"),e.querySelectorAll("[aria-expanded='true']").forEach(t=>{t.setAttribute("aria-expanded","false")})}function p(e=null){document.querySelectorAll(".dropdown.is-open, .popover.is-open, .tooltip.is-open").forEach(t=>{t!==e&&Je(t)})}function Ge(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-dropdown-toggle]");if(!a)return;let n=a.closest(".dropdown");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i),a.setAttribute("aria-expanded",String(!i))})}function Ze(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-popover-toggle]");if(!a)return;let n=a.closest(".popover");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i),a.setAttribute("aria-expanded",String(!i))})}function Qe(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-tooltip-toggle]");if(!a)return;let n=a.closest(".tooltip");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i)})}function Xe(e=document){e.addEventListener("click",t=>{t.target.closest(".dropdown, .popover, .tooltip")||p()}),X||(document.addEventListener("keydown",t=>{t.key==="Escape"&&p()}),X=!0)}function et(e=document){Q.has(e)||(Ge(e),Ze(e),Qe(e),Xe(e),Q.add(e))}var A={init:et,closeAll:p};var ee=new WeakSet,ae=new WeakMap;function te(e){return`${e.name}:${e.size}:${e.lastModified}`}function ie(e){e&&(e.querySelectorAll("img[data-object-url]").forEach(t=>{URL.revokeObjectURL(t.dataset.objectUrl)}),e.innerHTML="",e.hidden=!0)}function F(e){return ae.get(e)||[]}function I(e,t){ae.set(e,t);let a=new DataTransfer;t.forEach(n=>a.items.add(n)),e.files=a.files}function tt(e,t){let a=F(e),n=new Set(a.map(te)),i=[...a];return t.forEach(o=>{let l=te(o);n.has(l)||(n.add(l),i.push(o))}),I(e,i),i}function nt(e,t){let a=F(e).filter((n,i)=>i!==t);return I(e,a),a}function ne(e){let t=e.name.split("."),a=t.length>1?t.pop().trim():"";return a?a.slice(0,6).toUpperCase():e.type?e.type.split("/").pop().slice(0,6).toUpperCase():"FILE"}function at(e){if(!Number.isFinite(e))return"";if(e===0)return"0 B";let t=["B","KB","MB","GB"],a=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1),n=e/Math.pow(1024,a);return`${n.toFixed(n>=10||a===0?0:1)} ${t[a]}`}function k(e){let t=e.closest(".file-upload-panel, .file-upload"),a=t==null?void 0:t.querySelector("[data-file-upload-preview]");if(!t||!a)return;let n=F(e);if(!n.length){ie(a);return}it(a,n)}function it(e,t){e&&(ie(e),t.forEach((a,n)=>{let i=document.createElement("figure");i.className="file-upload-preview-item",i.dataset.fileUploadIndex=String(n);let o=document.createElement("div");if(o.className="file-upload-preview-visual",a.type.startsWith("image/")){let u=document.createElement("img"),d=URL.createObjectURL(a);u.src=d,u.dataset.objectUrl=d,u.alt="",u.loading="lazy",o.append(u)}else{let u=document.createElement("span");u.className="file-upload-preview-type",u.textContent=ne(a),o.append(u)}let l=document.createElement("figcaption"),c=document.createElement("span");c.className="file-upload-preview-name",c.textContent=a.name;let s=document.createElement("span");s.className="file-upload-preview-meta",s.textContent=`${ne(a)} / ${at(a.size)}`;let r=document.createElement("button");r.className="file-upload-preview-remove",r.type="button",r.dataset.fileUploadRemove=String(n),r.setAttribute("aria-label",`Remove ${a.name}`),r.innerHTML='',l.append(c,s),i.append(r,o,l),e.append(i)}),e.hidden=!1)}function ot(e=document){ee.has(e)||(e.addEventListener("click",t=>{let a=t.target.closest("[data-input-clear]");if(!a)return;let n=a.closest(".input-group"),i=n==null?void 0:n.querySelector("input, textarea");i&&(i.value="",i.dispatchEvent(new Event("input",{bubbles:!0})),i.focus())}),e.addEventListener("click",t=>{let a=t.target.closest("[data-file-upload-remove]");if(!a)return;let n=a.closest(".file-upload-panel, .file-upload"),i=n==null?void 0:n.querySelector("[data-file-upload-input]");i&&(nt(i,Number(a.dataset.fileUploadRemove)),k(i),i.dispatchEvent(new Event("change",{bubbles:!0})))}),e.addEventListener("click",t=>{let a=t.target.closest("[data-date-picker]");if(a&&(a.focus(),typeof a.showPicker=="function"))try{a.showPicker()}catch(n){}}),e.addEventListener("change",t=>{let a=t.target.closest("[data-file-upload-input]");a&&(tt(a,Array.from(a.files||[])),k(a))}),e.addEventListener("reset",t=>{let a=t.target.closest("form");a&&setTimeout(()=>{a.querySelectorAll("[data-file-upload-input]").forEach(n=>{I(n,[]),k(n)})},0)}),ee.add(e))}var $={init:ot,updateFileUpload:k};var oe=new WeakSet;function j(e){return e.querySelector(".accordion-panel")}function st(e){let t=j(e);t&&(t.style.height="auto",t.style.opacity="1",t.style.transform="translateY(0)")}function se(e){let t=j(e);if(!t||e.dataset.animating==="true")return;e.dataset.animating="true",e.open=!0,t.style.height="0px",t.style.opacity="0",t.style.transform="translateY(-8px)",requestAnimationFrame(()=>{t.style.height=`${t.scrollHeight}px`,t.style.opacity="1",t.style.transform="translateY(0)"});let a=n=>{n.propertyName==="height"&&(t.removeEventListener("transitionend",a),t.style.height="auto",delete e.dataset.animating)};t.addEventListener("transitionend",a)}function le(e){let t=j(e);if(!t||e.dataset.animating==="true")return;e.dataset.animating="true",t.style.height=`${t.scrollHeight}px`,t.style.opacity="1",t.style.transform="translateY(0)",requestAnimationFrame(()=>{t.style.height="0px",t.style.opacity="0",t.style.transform="translateY(-8px)"});let a=n=>{n.propertyName==="height"&&(t.removeEventListener("transitionend",a),e.open=!1,t.style.height="",t.style.opacity="",t.style.transform="",delete e.dataset.animating)};t.addEventListener("transitionend",a)}function ce(e){e.open?le(e):se(e)}function lt(e=document){oe.has(e)||(e.querySelectorAll(".accordion-item[open], .disclosure[open]").forEach(st),e.addEventListener("click",t=>{let a=t.target.closest(".accordion-summary");if(!a)return;let n=a.closest(".accordion-item, .disclosure");n&&(t.preventDefault(),ce(n))}),oe.add(e))}var q={init:lt,expand:se,collapse:le,toggle:ce};var re=new WeakSet;function B(e){return[...e.querySelectorAll('[role="tab"], .tab')]}function de(e){return[...e.querySelectorAll('[role="tabpanel"], .tab-panel')]}function ue(e,t){let a=t.getAttribute("aria-controls");return a?e.querySelector(`#${CSS.escape(a)}`):null}function fe(e,t){e.classList.toggle("tab-active",t),e.setAttribute("aria-selected",t?"true":"false"),e.setAttribute("tabindex",t?"0":"-1")}function R(e,t){e.classList.toggle("tab-panel-active",t),e.toggleAttribute("hidden",!t)}function U(e,t={}){var i;if(!e||e.disabled||e.getAttribute("aria-disabled")==="true")return;let a=e.closest(".tabs")||((i=e.closest('[role="tablist"]'))==null?void 0:i.parentElement);if(!a)return;B(a).forEach(o=>fe(o,o===e)),de(a).forEach(o=>R(o,!1));let n=ue(a,e);n&&R(n,!0),t.focus!==!1&&e.focus()}function T(e,t,a){for(let n=1;n<=e.length;n++){let i=(t+n*a+e.length)%e.length,o=e[i];if(!o.disabled&&o.getAttribute("aria-disabled")!=="true")return o}return e[t]}function ct(e){var l;let t=e.target.closest('[role="tab"], .tab');if(!t)return;let a=t.closest(".tabs")||((l=t.closest('[role="tablist"]'))==null?void 0:l.parentElement),n=a?B(a):[],i=n.indexOf(t);if(i<0)return;let o=null;e.key==="ArrowRight"||e.key==="ArrowDown"?o=T(n,i,1):e.key==="ArrowLeft"||e.key==="ArrowUp"?o=T(n,i,-1):e.key==="Home"?o=T(n,-1,1):e.key==="End"&&(o=T(n,0,-1)),o&&(e.preventDefault(),U(o))}function rt(e){let t=B(e),a=t.find(n=>n.classList.contains("tab-active")||n.getAttribute("aria-selected")==="true")||t.find(n=>!n.disabled&&n.getAttribute("aria-disabled")!=="true");t.forEach(n=>{n.setAttribute("role","tab"),fe(n,n===a)}),e.querySelectorAll(".tabs-list").forEach(n=>{n.setAttribute("role","tablist")}),de(e).forEach(n=>{n.setAttribute("role","tabpanel"),R(n,a?n===ue(e,a):n.classList.contains("tab-panel-active"))})}function dt(e=document){re.has(e)||(e.querySelectorAll(".tabs").forEach(rt),e.addEventListener("click",t=>{let a=t.target.closest('[role="tab"], .tab');!a||!e.contains(a)||(t.preventDefault(),U(a,{focus:!1}))}),e.addEventListener("keydown",ct),re.add(e))}var N={init:dt,activate:U};function W(){let e=[...document.querySelectorAll(".nav-drawer .list-item")],t=document.querySelector("[data-docs-current-section]");if(!e.length)return;let a=i=>{e.forEach(o=>{var s;let l=o.querySelector(".list-action"),c=(l==null?void 0:l.getAttribute("href"))===`#${i}`;o.classList.toggle("list-item-active",c),c&&t&&(t.textContent=((s=l.querySelector(".list-label"))==null?void 0:s.textContent.trim())||i)})},n=()=>{var o;let i=(o=window.location.hash)==null?void 0:o.slice(1);i&&a(i)};window.addEventListener("hashchange",n),n()}function me(e){let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","readonly"),t.style.position="fixed",t.style.opacity="0",document.body.append(t),t.select(),document.execCommand("copy"),t.remove()}function h(e){return e.replace(/&/g,"&").replace(//g,">")}function ut(e){var l;let t=e.textContent,a=/\/\/.*$|\/\*[\s\S]*?\*\/|`(?:\\[\s\S]|[^`\\])*`|'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\b|\b\d+(?:\.\d+)?\b|\b[A-Za-z_$][\w$]*(?=\s*\()/gm,n="",i=0,o;for(;(o=a.exec(t))!==null;){let c=o[0];if(n+=h(t.slice(i,o.index)),c.startsWith("//")||c.startsWith("/*"))n+=`${h(c)}`;else if(c.startsWith('"')||c.startsWith("'")||c.startsWith("`"))n+=`${h(c)}`;else if(/^\d/.test(c))n+=`${h(c)}`;else if(/^[A-Za-z_$][\w$]*$/.test(c)&&((l=t[o.index+c.length])!=null&&l.match(/\s|\(/))){let s=/^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(c);n+=s?`${c}`:`${c}`}else n+=h(c);i=o.index+c.length}n+=h(t.slice(i)),e.innerHTML=n,e.classList.add("hljs")}function ft(){document.querySelectorAll("code.language-js, code.language-javascript").forEach(ut),window.hljs&&document.querySelectorAll("code:not(.language-js):not(.language-javascript)").forEach(e=>window.hljs.highlightElement(e))}function P(){ft(),document.querySelectorAll(".code-example .btn-icon").forEach(e=>{e.addEventListener("click",async()=>{var o,l;let t=e.closest(".code-example"),a=t==null?void 0:t.querySelector("code"),n=(o=a==null?void 0:a.textContent)!=null?o:"",i=e.innerHTML;if(n){try{(l=navigator.clipboard)!=null&&l.writeText?await navigator.clipboard.writeText(n):me(n)}catch(c){me(n)}e.innerHTML='',setTimeout(()=>{e.innerHTML=i},1200)}})})}var z={Helper:m,Toasts:C,Modals:g,advancedSelect:b,editableString:E,confirmPopup:S,Drawer:O,NavigationShell:x,Overlays:A,InputPatterns:$,Accordion:q,Tabs:N};typeof window!="undefined"&&(window.GNexusUIKit=z,Object.assign(window,z),document.addEventListener("DOMContentLoaded",()=>{A.init(),x.init(),$.init(),q.init(),N.init(),W(),P()}));var mt=z;return be(pt);})(); + `}function S(e,t){t=t!=null?t:!1;let a=e.innerHTML,n=m.template.createElement("div",{class:"component editable-string-component"},ze(a,t));e.innerHTML="",e.append(n);let i=n.querySelector(".edit-text-btn"),s=n.querySelector(".apply-changes-btn"),l=n.querySelector(".cancel-changes-btn"),c=n.querySelector(".editable-string-content"),o=n.querySelector(".editable-string"),r=n.querySelector(".editable-string-form"),u=n.querySelector(".input");return n.editableString={formIsDisplaying:!1,value:a,input:u,eventsHandlers:{onChange:[],onSwitch:[]},switch:()=>{n.formIsDisplaying?(r.classList.add("d-none"),c.classList.remove("d-none"),o.innerText=n.editableString.value):(r.classList.remove("d-none"),c.classList.add("d-none"),u.value=n.editableString.value),n.formIsDisplaying=!n.formIsDisplaying,n.editableString.runEventHandler("onSwitch")},setValue:d=>{n.editableString.value=d,u.value=d,o.innerText=d},apply:()=>{n.editableString.value=u.value,n.editableString.switch(),u.value!=a&&n.editableString.runEventHandler("onChange")},onChange:d=>{n.editableString.eventsHandlers.onChange.push(d)},onSwitch:d=>{n.editableString.eventsHandlers.onSwitch.push(d)},runEventHandler:d=>{n.editableString.eventsHandlers[d].forEach(f=>f(n.editableString))}},i.addEventListener("click",d=>{n.editableString.switch()}),l.addEventListener("click",d=>{n.editableString.switch()}),s.addEventListener("click",d=>{n.editableString.apply()}),u.addEventListener("keydown",d=>{d.key==="Enter"&&(u.blur(),n.editableString.apply())}),n}function L(e,t,a){g.create("confirm-popup",{title:"Requires confirmation",body:()=>{let n=document.createElement("p");return n.textContent=e!=null?e:"",n},actions:n=>{let i=m.template.createElement("button",{class:"btn btn-primary"},"NO"),s=m.template.createElement("button",{class:"btn btn-warning"},"YES");return i.addEventListener("click",l=>{n.close(),a==null||a()}),s.addEventListener("click",l=>{n.close(),t==null||t()}),[i,s]}}).show()}function w(e,t,a="html"){if(t instanceof Node){e.append(t);return}typeof t!="undefined"&&t!==null&&(a==="text"?e.textContent=t:e.innerHTML=t)}function Ve(e,t,a,n={}){var f;let i=document.createElement("div");i.className="drawer",i.setAttribute("aria-hidden","true"),i.id=e,n.position==="left"&&i.classList.add("drawer-left");let s=document.createElement("div");s.className="drawer-backdrop";let l=document.createElement("aside");l.className="drawer-panel",l.setAttribute("role","dialog"),l.setAttribute("aria-modal","true"),l.setAttribute("aria-labelledby",`${e}-title`);let c=document.createElement("header");c.className="drawer-header";let o=document.createElement("h4");o.className="drawer-title",o.id=`${e}-title`,o.textContent=t;let r=document.createElement("button");r.className="btn-icon drawer-close",r.type="button",r.setAttribute("aria-label","Close"),r.textContent="\u2715";let u=document.createElement("div");u.className="drawer-body";let d=document.createElement("footer");return d.className="drawer-footer",w(d,a,(f=n.footerMode)!=null?f:"html"),c.append(o,r),l.append(c,u,d),i.append(s,l),i}function Ye(e,t){return e.show=function(){document.querySelector("body").append(e),setTimeout(()=>{e.classList.add("a-show")},10)},e.close=function(){e.classList.add("a-hide"),setTimeout(()=>{e.remove()},300)},e.querySelector(".drawer-close").addEventListener("click",()=>{e.close()}),e.querySelector(".drawer-backdrop").addEventListener("click",()=>{e.close()}),typeof t=="function"&&t(e),e}function _e(e,t){var c;t=t!=null?t:{};let a=t.title||"",n=t.footer||"",i=Ve(e,a,n,t),s=i.querySelector(".drawer-body"),l=i.querySelector(".drawer-footer");if(typeof t.actions=="function"){let o=t.actions(i);if(Array.isArray(o)&&o[0]instanceof Node){let r=document.createElement("div");r.classList.add("actions");for(let u of o)r.append(u);l.append(r)}else o instanceof Node&&l.append(o)}if(typeof t.body=="function"){let o=t.body(i);w(s,o,(c=t.bodyMode)!=null?c:"html")}else typeof t.bodyText!="undefined"?w(s,t.bodyText,"text"):typeof t.bodyHtml!="undefined"&&w(s,t.bodyHtml,"html");return Ye(i,t==null?void 0:t.onready)}var F={create:_e};var Z=new WeakSet;function Ke(e,t){var n,i;let a=e.getAttribute("aria-controls");return a?((n=t.getElementById)==null?void 0:n.call(t,a))||document.getElementById(a):((i=t.querySelector)==null?void 0:i.call(t,"[data-navigation-drawer]"))||document.querySelector("[data-navigation-drawer]")}function Q(e,t){var n;if(!e)return;e.classList.add("is-open"),e.setAttribute("aria-hidden","false"),e.removeAttribute("inert"),t==null||t.setAttribute("aria-expanded","true"),document.body.classList.add("nav-drawer-open");let a=e.querySelector("[data-navigation-close], a, button, input, select, textarea");(n=a==null?void 0:a.focus)==null||n.call(a)}function x(e,t,a=!0){var n;e&&(e.classList.remove("is-open"),e.setAttribute("aria-hidden","true"),e.setAttribute("inert",""),t==null||t.setAttribute("aria-expanded","false"),document.body.classList.remove("nav-drawer-open"),a&&((n=t==null?void 0:t.focus)==null||n.call(t)))}function Je(e=document){Z.has(e)||(e.addEventListener("click",t=>{let a=t.target.closest("[data-navigation-toggle]");if(!a)return;let n=Ke(a,e);n!=null&&n.classList.contains("is-open")?x(n,a):Q(n,a)}),e.addEventListener("click",t=>{let a=t.target.closest("[data-navigation-close], [data-navigation-link], .nav-drawer .list-action");if(!a)return;let n=a.closest("[data-navigation-drawer]")||e.querySelector("[data-navigation-drawer]"),i=n!=null&&n.id?e.querySelector(`[data-navigation-toggle][aria-controls="${n.id}"]`):e.querySelector("[data-navigation-toggle]"),s=!a.matches("[data-navigation-link]");x(n,i,s)}),document.addEventListener("keydown",t=>{t.key==="Escape"&&e.querySelectorAll("[data-navigation-drawer].is-open").forEach(a=>{let n=a.id?e.querySelector(`[data-navigation-toggle][aria-controls="${a.id}"]`):e.querySelector("[data-navigation-toggle]");x(a,n)})}),Z.add(e))}var A={init:Je,open:Q,close:x};var X=new WeakSet,ee=!1;function Ge(e){e.classList.remove("is-open"),e.querySelectorAll("[aria-expanded='true']").forEach(t=>{t.setAttribute("aria-expanded","false")})}function p(e=null){document.querySelectorAll(".dropdown.is-open, .popover.is-open, .tooltip.is-open").forEach(t=>{t!==e&&Ge(t)})}function Ze(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-dropdown-toggle]");if(!a)return;let n=a.closest(".dropdown");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i),a.setAttribute("aria-expanded",String(!i))})}function Qe(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-popover-toggle]");if(!a)return;let n=a.closest(".popover");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i),a.setAttribute("aria-expanded",String(!i))})}function Xe(e=document){e.addEventListener("click",t=>{let a=t.target.closest("[data-tooltip-toggle]");if(!a)return;let n=a.closest(".tooltip");if(!n)return;t.preventDefault();let i=n.classList.contains("is-open");p(n),n.classList.toggle("is-open",!i)})}function et(e=document){e.addEventListener("click",t=>{t.target.closest(".dropdown, .popover, .tooltip")||p()}),ee||(document.addEventListener("keydown",t=>{t.key==="Escape"&&p()}),ee=!0)}function tt(e=document){X.has(e)||(Ze(e),Qe(e),Xe(e),et(e),X.add(e))}var $={init:tt,closeAll:p};var te=new WeakSet,ie=new WeakMap;function ne(e){return`${e.name}:${e.size}:${e.lastModified}`}function se(e){e&&(e.querySelectorAll("img[data-object-url]").forEach(t=>{URL.revokeObjectURL(t.dataset.objectUrl)}),e.innerHTML="",e.hidden=!0)}function I(e){return ie.get(e)||[]}function j(e,t){ie.set(e,t);let a=new DataTransfer;t.forEach(n=>a.items.add(n)),e.files=a.files}function nt(e,t){let a=I(e),n=new Set(a.map(ne)),i=[...a];return t.forEach(s=>{let l=ne(s);n.has(l)||(n.add(l),i.push(s))}),j(e,i),i}function at(e,t){let a=I(e).filter((n,i)=>i!==t);return j(e,a),a}function ae(e){let t=e.name.split("."),a=t.length>1?t.pop().trim():"";return a?a.slice(0,6).toUpperCase():e.type?e.type.split("/").pop().slice(0,6).toUpperCase():"FILE"}function it(e){if(!Number.isFinite(e))return"";if(e===0)return"0 B";let t=["B","KB","MB","GB"],a=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1),n=e/Math.pow(1024,a);return`${n.toFixed(n>=10||a===0?0:1)} ${t[a]}`}function k(e){let t=e.closest(".file-upload-panel, .file-upload"),a=t==null?void 0:t.querySelector("[data-file-upload-preview]");if(!t||!a)return;let n=I(e);if(!n.length){se(a);return}st(a,n)}function st(e,t){e&&(se(e),t.forEach((a,n)=>{let i=document.createElement("figure");i.className="file-upload-preview-item",i.dataset.fileUploadIndex=String(n);let s=document.createElement("div");if(s.className="file-upload-preview-visual",a.type.startsWith("image/")){let u=document.createElement("img"),d=URL.createObjectURL(a);u.src=d,u.dataset.objectUrl=d,u.alt="",u.loading="lazy",s.append(u)}else{let u=document.createElement("span");u.className="file-upload-preview-type",u.textContent=ae(a),s.append(u)}let l=document.createElement("figcaption"),c=document.createElement("span");c.className="file-upload-preview-name",c.textContent=a.name;let o=document.createElement("span");o.className="file-upload-preview-meta",o.textContent=`${ae(a)} / ${it(a.size)}`;let r=document.createElement("button");r.className="file-upload-preview-remove",r.type="button",r.dataset.fileUploadRemove=String(n),r.setAttribute("aria-label",`Remove ${a.name}`),r.innerHTML='',l.append(c,o),i.append(r,s,l),e.append(i)}),e.hidden=!1)}function ot(e=document){te.has(e)||(e.addEventListener("click",t=>{let a=t.target.closest("[data-input-clear]");if(!a)return;let n=a.closest(".input-group"),i=n==null?void 0:n.querySelector("input, textarea");i&&(i.value="",i.dispatchEvent(new Event("input",{bubbles:!0})),i.focus())}),e.addEventListener("click",t=>{let a=t.target.closest("[data-file-upload-remove]");if(!a)return;let n=a.closest(".file-upload-panel, .file-upload"),i=n==null?void 0:n.querySelector("[data-file-upload-input]");i&&(at(i,Number(a.dataset.fileUploadRemove)),k(i),i.dispatchEvent(new Event("change",{bubbles:!0})))}),e.addEventListener("click",t=>{let a=t.target.closest("[data-date-picker]");if(a&&(a.focus(),typeof a.showPicker=="function"))try{a.showPicker()}catch(n){}}),e.addEventListener("change",t=>{let a=t.target.closest("[data-file-upload-input]");a&&(nt(a,Array.from(a.files||[])),k(a))}),e.addEventListener("reset",t=>{let a=t.target.closest("form");a&&setTimeout(()=>{a.querySelectorAll("[data-file-upload-input]").forEach(n=>{j(n,[]),k(n)})},0)}),te.add(e))}var q={init:ot,updateFileUpload:k};var oe=new WeakSet;function B(e){return e.querySelector(".accordion-panel")}function lt(e){let t=B(e);t&&(t.style.height="auto",t.style.opacity="1",t.style.transform="translateY(0)")}function le(e){let t=B(e);if(!t||e.dataset.animating==="true")return;e.dataset.animating="true",e.open=!0,t.style.height="0px",t.style.opacity="0",t.style.transform="translateY(-8px)",requestAnimationFrame(()=>{t.style.height=`${t.scrollHeight}px`,t.style.opacity="1",t.style.transform="translateY(0)"});let a=n=>{n.propertyName==="height"&&(t.removeEventListener("transitionend",a),t.style.height="auto",delete e.dataset.animating)};t.addEventListener("transitionend",a)}function re(e){let t=B(e);if(!t||e.dataset.animating==="true")return;e.dataset.animating="true",t.style.height=`${t.scrollHeight}px`,t.style.opacity="1",t.style.transform="translateY(0)",requestAnimationFrame(()=>{t.style.height="0px",t.style.opacity="0",t.style.transform="translateY(-8px)"});let a=n=>{n.propertyName==="height"&&(t.removeEventListener("transitionend",a),e.open=!1,t.style.height="",t.style.opacity="",t.style.transform="",delete e.dataset.animating)};t.addEventListener("transitionend",a)}function ce(e){e.open?re(e):le(e)}function rt(e=document){oe.has(e)||(e.querySelectorAll(".accordion-item[open], .disclosure[open]").forEach(lt),e.addEventListener("click",t=>{let a=t.target.closest(".accordion-summary");if(!a)return;let n=a.closest(".accordion-item, .disclosure");n&&(t.preventDefault(),ce(n))}),oe.add(e))}var T={init:rt,expand:le,collapse:re,toggle:ce};var de=new WeakSet;function U(e){return[...e.querySelectorAll('[role="tab"], .tab')]}function ue(e){return[...e.querySelectorAll('[role="tabpanel"], .tab-panel')]}function fe(e,t){let a=t.getAttribute("aria-controls");return a?e.querySelector(`#${CSS.escape(a)}`):null}function me(e,t){e.classList.toggle("tab-active",t),e.setAttribute("aria-selected",t?"true":"false"),e.setAttribute("tabindex",t?"0":"-1")}function R(e,t){e.classList.toggle("tab-panel-active",t),e.toggleAttribute("hidden",!t)}function W(e,t={}){var i;if(!e||e.disabled||e.getAttribute("aria-disabled")==="true")return;let a=e.closest(".tabs")||((i=e.closest('[role="tablist"]'))==null?void 0:i.parentElement);if(!a)return;U(a).forEach(s=>me(s,s===e)),ue(a).forEach(s=>R(s,!1));let n=fe(a,e);n&&R(n,!0),t.focus!==!1&&e.focus()}function N(e,t,a){for(let n=1;n<=e.length;n++){let i=(t+n*a+e.length)%e.length,s=e[i];if(!s.disabled&&s.getAttribute("aria-disabled")!=="true")return s}return e[t]}function ct(e){var l;let t=e.target.closest('[role="tab"], .tab');if(!t)return;let a=t.closest(".tabs")||((l=t.closest('[role="tablist"]'))==null?void 0:l.parentElement),n=a?U(a):[],i=n.indexOf(t);if(i<0)return;let s=null;e.key==="ArrowRight"||e.key==="ArrowDown"?s=N(n,i,1):e.key==="ArrowLeft"||e.key==="ArrowUp"?s=N(n,i,-1):e.key==="Home"?s=N(n,-1,1):e.key==="End"&&(s=N(n,0,-1)),s&&(e.preventDefault(),W(s))}function dt(e){let t=U(e),a=t.find(n=>n.classList.contains("tab-active")||n.getAttribute("aria-selected")==="true")||t.find(n=>!n.disabled&&n.getAttribute("aria-disabled")!=="true");t.forEach(n=>{n.setAttribute("role","tab"),me(n,n===a)}),e.querySelectorAll(".tabs-list").forEach(n=>{n.setAttribute("role","tablist")}),ue(e).forEach(n=>{n.setAttribute("role","tabpanel"),R(n,a?n===fe(e,a):n.classList.contains("tab-panel-active"))})}function ut(e=document){de.has(e)||(e.querySelectorAll(".tabs").forEach(dt),e.addEventListener("click",t=>{let a=t.target.closest('[role="tab"], .tab');!a||!e.contains(a)||(t.preventDefault(),W(a,{focus:!1}))}),e.addEventListener("keydown",ct),de.add(e))}var H={init:ut,activate:W};function P(){let e=[...document.querySelectorAll(".nav-drawer .list-item")],t=document.querySelector("[data-docs-current-section]");if(!e.length)return;let a=i=>{e.forEach(s=>{var o;let l=s.querySelector(".list-action"),c=(l==null?void 0:l.getAttribute("href"))===`#${i}`;s.classList.toggle("list-item-active",c),c&&t&&(t.textContent=((o=l.querySelector(".list-label"))==null?void 0:o.textContent.trim())||i)})},n=()=>{var s;let i=(s=window.location.hash)==null?void 0:s.slice(1);i&&a(i)};window.addEventListener("hashchange",n),n()}function pe(e){let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","readonly"),t.style.position="fixed",t.style.opacity="0",document.body.append(t),t.select(),document.execCommand("copy"),t.remove()}function h(e){return e.replace(/&/g,"&").replace(//g,">")}function ft(e){var l;let t=e.textContent,a=/\/\/.*$|\/\*[\s\S]*?\*\/|`(?:\\[\s\S]|[^`\\])*`|'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\b|\b\d+(?:\.\d+)?\b|\b[A-Za-z_$][\w$]*(?=\s*\()/gm,n="",i=0,s;for(;(s=a.exec(t))!==null;){let c=s[0];if(n+=h(t.slice(i,s.index)),c.startsWith("//")||c.startsWith("/*"))n+=`${h(c)}`;else if(c.startsWith('"')||c.startsWith("'")||c.startsWith("`"))n+=`${h(c)}`;else if(/^\d/.test(c))n+=`${h(c)}`;else if(/^[A-Za-z_$][\w$]*$/.test(c)&&((l=t[s.index+c.length])!=null&&l.match(/\s|\(/))){let o=/^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(c);n+=o?`${c}`:`${c}`}else n+=h(c);i=s.index+c.length}n+=h(t.slice(i)),e.innerHTML=n,e.classList.add("hljs")}function mt(){document.querySelectorAll("code.language-js, code.language-javascript").forEach(ft),window.hljs&&document.querySelectorAll("code:not(.language-js):not(.language-javascript)").forEach(e=>window.hljs.highlightElement(e))}function z(){mt(),document.querySelectorAll(".code-example .btn-icon").forEach(e=>{e.addEventListener("click",async()=>{var s,l;let t=e.closest(".code-example"),a=t==null?void 0:t.querySelector("code"),n=(s=a==null?void 0:a.textContent)!=null?s:"",i=e.innerHTML;if(n){try{(l=navigator.clipboard)!=null&&l.writeText?await navigator.clipboard.writeText(n):pe(n)}catch(c){pe(n)}e.innerHTML='',setTimeout(()=>{e.innerHTML=i},1200)}})})}var V={Helper:m,Toasts:C,Modals:g,advancedSelect:E,editableString:S,confirmPopup:L,Drawer:F,NavigationShell:A,Overlays:$,InputPatterns:q,Accordion:T,Tabs:H};typeof window!="undefined"&&(window.GNexusUIKit=V,Object.assign(window,V),document.addEventListener("DOMContentLoaded",()=>{$.init(),A.init(),q.init(),T.init(),H.init(),P(),z()}));var pt=V;return Ee(ht);})(); //# sourceMappingURL=gnexus-ui-kit.js.map diff --git a/dist/js/gnexus-ui-kit.js.map b/dist/js/gnexus-ui-kit.js.map index 7f30ef2..6b882d6 100644 --- a/dist/js/gnexus-ui-kit.js.map +++ b/dist/js/gnexus-ui-kit.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../src/js/index.js", "../../src/js/components/helper.js", "../../src/js/components/toasts.js", "../../src/js/components/modals.js", "../../src/js/components/advanced-select.js", "../../src/js/components/editable-string.js", "../../src/js/components/confirm-popup.js", "../../src/js/components/drawer.js", "../../src/js/components/navigation-shell.js", "../../src/js/components/overlays.js", "../../src/js/components/input-patterns.js", "../../src/js/components/accordion.js", "../../src/js/components/tabs.js", "../../src/js/demo-navigation.js", "../../src/js/code-examples.js"], - "sourcesContent": ["import Helper from \"./components/helper.js\";\nimport Toasts from \"./components/toasts.js\";\nimport Modals from \"./components/modals.js\";\nimport advancedSelect from \"./components/advanced-select.js\";\nimport editableString from \"./components/editable-string.js\";\nimport confirmPopup from \"./components/confirm-popup.js\";\nimport Drawer from \"./components/drawer.js\";\nimport NavigationShell from \"./components/navigation-shell.js\";\nimport Overlays from \"./components/overlays.js\";\nimport InputPatterns from \"./components/input-patterns.js\";\nimport Accordion from \"./components/accordion.js\";\nimport Tabs from \"./components/tabs.js\";\nimport demoNavigation from \"./demo-navigation.js\";\nimport codeExamples from \"./code-examples.js\";\n\nconst api = {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nif(typeof window !== \"undefined\") {\n window.GNexusUIKit = api;\n Object.assign(window, api);\n\n document.addEventListener(\"DOMContentLoaded\", () => {\n Overlays.init();\n NavigationShell.init();\n InputPatterns.init();\n Accordion.init();\n Tabs.init();\n demoNavigation();\n codeExamples();\n });\n}\n\nexport {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nexport default api;\n", "function sidebarNav(items) {\n\tlet listItems = \"\";\n\n\tfor(let item of items) {\n\t\tlet aOpen = \"\";\n\t\tlet aClose = \"\";\n\t\tif(item.route) {\n\t\t\taOpen = ``;\n\t\t\taClose = ``;\n\t\t}\n\n\t\tlistItems += `\n\t\t\t
  • \n\t\t\t\t${aOpen}${item.content}${aClose}\n\t\t\t
  • \n\t\t`;\n\t}\n\n\treturn `\n\t\t
    \n\t\t\t
      \n\t\t\t\t${listItems} \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction table(caption, columns, data, tfoot) {\n\tlet head = ``;\n\tlet totalColumns = 0;\n\tfor(let key in columns) {\n\t\thead += `${columns[key]}`;\n\t\ttotalColumns++;\n\t}\n\thead += \"\";\n\n\tlet body = ``;\n\tfor(let item of data) {\n\t\tbody += ``;\n\t\tfor(let column in columns) {\n\t\t\tbody += `${item[column]}`;\n\t\t}\n\t\tbody += ``;\n\t}\n\n\tlet foot = \"\";\n\tif(typeof tfoot != \"undefined\") {\n\t\tfoot = `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t${tfoot}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tconst tableCaption = caption \n\t\t? `${caption}`\n\t\t: '';\n\n\tconst tableHead = data.length \n\t\t? `${head}`\n\t\t: '';\n\n\tbody = data.length\n\t\t? body\n\t\t: `Empty`;\n\n\tconst tableEmptyClass = !data.length \n\t\t? \"table-empty\"\n\t\t: \"\";\n\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\t\t${tableCaption}\n\t\t\t\t${tableHead}\n\t\t\t\t${body}\n\t\t\t\t${foot}\n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction createElement(type, props, content) {\n\tconst node = document.createElement(type);\n\n\tfor (const [key, value] of Object.entries(props)) {\n\t\tif (key === \"class\") {\n\t\t\tnode.className = value;\n\t\t} else if (key === \"dataset\") {\n\t\t\tObject.assign(node.dataset, value);\n\t\t} else {\n\t\t\tnode.setAttribute(key, value);\n\t\t}\n\t}\n\n\tnode.innerHTML = (typeof content != \"undefined\") ? content : \"\";\n\treturn node; \n}\n\nfunction createAlert(type, content) {\n\tif([\"primary\", \"success\", \"secondary\", \"info\", \"warning\", \"error\", \"danger\"].indexOf(type) < 0) {\n\t\treturn console.error(\"createAlert()\", \"Error of type: \" + type);\n\t}\n\n\treturn createElement(\"div\", {\n\t\tclass: `alert alert-${type}`,\n\t}, content);\n}\n\nfunction fieldsUnification(data, map = {}) {\n\tconst dataObj = {};\n\n\tfor(let field in data) {\n\t\tif(typeof map[field] != \"undefined\") {\n\t\t\tdataObj[ map[field] ] = data[field];\n\t\t\tcontinue;\n\t\t}\n\n\t\tdataObj[field] = data[field];\n\t}\n\n\treturn dataObj;\n}\n\nfunction btnLoadingState(btn, isLoading) {\n\tif(btn?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tif(isLoading) {\n\t\tbtn.isLoading = true;\n\t\tbtn.originalContent = btn.innerHTML;\n\t\tif(btn.classList.contains(\"with-icon\")) {\n\t\t\tbtn.originalWithIcon = true;\n\t\t} else {\n\t\t\tbtn.classList.add(\"with-icon\");\n\t\t}\n\n\t\tbtn.classList.add(\"loading-state\");\n\t\tbtn.setAttribute(\"disabled\", \"disabled\");\n\t\tbtn.innerHTML = ` Loading`;\n\t} else {\n\t\tbtn.isLoading = false;\n\t\tif(!btn.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tbtn.removeAttribute(\"disabled\");\n\t\tbtn.classList.remove(\"loading-state\");\n\t\tif(!btn.originalWithIcon) {\n\t\t\tbtn.classList.remove(\"with-icon\");\n\t\t}\n\t\tbtn.innerHTML = btn.originalContent;\n\t}\n\n\treturn btn;\n}\n\nfunction cardStatusLoadingState(card, isLoading) {\n\tif(card?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tconst iconContainer = card.querySelector(\".status-icon\");\n\n\tif(isLoading) {\n\t\tcard.isLoading = true;\n\t\tcard.originalContent = iconContainer.innerHTML;\n\t\tcard.classList.add(\"loading-state\");\n\t\tcard.setAttribute(\"disabled\", \"disabled\");\n\t\ticonContainer.innerHTML = ``;\n\t} else {\n\t\tcard.isLoading = false;\n\t\tif(!card.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tcard.removeAttribute(\"disabled\");\n\t\tcard.classList.remove(\"loading-state\");\n\t\ticonContainer.innerHTML = card.originalContent;\n\t}\n\n\treturn card;\n}\n\nfunction mainTemplate(sidebar, content) {\n\tcontent = content ?? \"\";\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${sidebar}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${content}\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction connectionStatusBadge(status) {\n\treturn status == \"active\"\n\t\t? `Online`\n\t\t: `Offline`;\n}\n\nfunction toogleStateBadge(state) {\n\treturn state == \"enabled\"\n\t\t? `Enabled`\n\t\t: `Disabled`;\n}\n\nfunction timeAgo(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst diff_seconds = Math.floor((now - date) / 1000);\n\n\tif (diff_seconds < 60) {\n\t\treturn \"less than a minute ago\";\n\t}\n\n\tconst minutes = Math.floor(diff_seconds / 60);\n\tconst hours = Math.floor(minutes / 60);\n\tconst days = Math.floor(hours / 24);\n\n\tif (minutes < 60) {\n\t\treturn `${minutes} minute${minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\tif (hours < 24) {\n\t\tconst remain_minutes = minutes % 60;\n\t\treturn `${hours} hour${hours !== 1 ? \"s\" : \"\"} ${remain_minutes} minute${remain_minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\treturn `${days} day${days !== 1 ? \"s\" : \"\"} ago`;\n}\n\nfunction formatDate(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\tconst target_day = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n\tconst diff_days = Math.floor((today - target_day) / 86400000);\n\n\tconst hours = String(date.getHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getMinutes()).padStart(2, \"0\");\n\n\tif (diff_days === 0) {\n\t\treturn `Today at ${hours}:${minutes}`;\n\t}\n\n\tif (diff_days === 1) {\n\t\treturn `Yesterday at ${hours}:${minutes}`;\n\t}\n\n\tconst months = [\n\t\t\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\n\t\t\"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"\n\t];\n\n\treturn `${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()} at ${hours}:${minutes}`;\n}\n\nfunction circleLoaderHTML() {\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\tLoading\n\t\t
    \n\t`;\n}\n\nfunction emptyHereHTML() {\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t

    It's empty here yet

    \n\t\t
    \n\t`;\n}\n\nexport default {\n\ttemplate: {\n\t\tsidebarNav,\n\t\ttable,\n\t\tcreateElement,\n\t\tcreateAlert,\n\t\tmainTemplate,\n\t\tconnectionStatusBadge,\n\t\ttoogleStateBadge,\n\t\tcircleLoaderHTML,\n\t\temptyHereHTML,\n\t},\n\tunification: {\n\t\tfieldsUnification,\n\t\ttimeAgo,\n\t\tformatDate\n\t},\n\tstates: {\n\t\tbtnLoadingState,\n\t\tcardStatusLoadingState\n\t}\n}\n", "function appendIcon(container, icon) {\n\tif(icon instanceof Node) {\n\t\tcontainer.append(icon);\n\t\treturn;\n\t}\n\n\tconst iconWrap = document.createElement(\"span\");\n\ticonWrap.innerHTML = icon;\n\tcontainer.append(...iconWrap.childNodes);\n}\n\nfunction template(type, icon, title, text) {\n\tconst toast = document.createElement(\"div\");\n\ttoast.className = `toast toast-${type}`;\n\ttoast.setAttribute(\"role\", \"alert\");\n\n\tconst content = document.createElement(\"div\");\n\tcontent.className = \"toast-content\";\n\n\tconst toastTitle = document.createElement(\"h4\");\n\ttoastTitle.className = \"toast-title\";\n\tappendIcon(toastTitle, icon);\n\ttoastTitle.append(document.createTextNode(` ${title ?? \"\"}`));\n\n\tconst toastText = document.createElement(\"p\");\n\ttoastText.className = \"toast-text\";\n\ttoastText.textContent = text ?? \"\";\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon toast-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tcontent.append(toastTitle, toastText);\n\ttoast.append(content, close);\n\n\treturn toast;\n}\n\nfunction init(toast, props) {\n\tif(props?.alone) {\n\t\tdocument.querySelectorAll(\".toast\").forEach(i => i.close?.());\n\t}\n\n\ttoast.close = function() {\n\t\tthis.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tthis.remove();\n\t\t}, 300);\n\t}\n\n\ttoast.querySelector(\".toast-close\").addEventListener(\"click\", e => {\n\t\ttoast.close();\n\t});\n\n\ttoast.show = function() {\n\t\tdocument.querySelector(\"body\").append(toast);\n\n\t\tsetTimeout(() => {\n\t\t\ttoast.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\ttoast.addEventListener(\"mouseover\", e => toast.ishovered = true);\n\ttoast.addEventListener(\"mouseout\", e => toast.ishovered = false);\n\n\tif(props?.lifetime) {\n\t\tconst lifetimeInterval = setInterval(() => {\n\t\t\tif(!toast.ishovered) {\n\t\t\t\ttoast.close();\n\t\t\t\tclearInterval(lifetimeInterval);\n\t\t\t}\n\t\t}, props?.lifetime);\n\t}\n\n\treturn toast;\n}\n\nfunction create(type, icon, title, text, props) {\n\treturn init(template(type, icon, title, text), props);\n}\n\nfunction createSuccess(title, text, props) {\n\tif(typeof props == \"undefined\") {\n\t\tprops = {};\n\t}\n\n\tif(typeof props.lifetime == \"undefined\") {\n\t\tprops.lifetime = 4000;\n\t}\n\n\tif(typeof props.alone == \"undefined\") {\n\t\tprops.alone = true;\n\t}\n\n\treturn create(\n\t\t\"success\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createInfo(title, text, props) {\n\treturn create(\n\t\t\"info\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createWarning(title, text, props) {\n\treturn create(\n\t\t\"warning\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createError(title, text, props) {\n\treturn create(\n\t\t\"danger\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nexport default {\n create,\n createInfo,\n createSuccess,\n createWarning,\n createError,\n \"createDanger\": createError\n};\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst modal = document.createElement(\"div\");\n\tmodal.className = \"modal\";\n\tmodal.setAttribute(\"aria-hidden\", \"true\");\n\tmodal.id = id;\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"modal-backdrop\";\n\n\tconst dialog = document.createElement(\"div\");\n\tdialog.className = \"modal-dialog\";\n\tdialog.setAttribute(\"role\", \"dialog\");\n\tdialog.setAttribute(\"aria-modal\", \"true\");\n\tdialog.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst panel = document.createElement(\"div\");\n\tpanel.className = \"modal-panel\";\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"modal-header\";\n\n\tconst modalTitle = document.createElement(\"h4\");\n\tmodalTitle.className = \"modal-title\";\n\tmodalTitle.id = `${id}-title`;\n\tmodalTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon modal-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"modal-body\";\n\n\tconst modalFooter = document.createElement(\"footer\");\n\tmodalFooter.className = \"modal-footer\";\n\tappendContent(modalFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(modalTitle, close);\n\tpanel.append(body, modalFooter);\n\tdialog.append(header, panel);\n\tmodal.append(backdrop, dialog);\n\n\treturn modal;\n}\n\nfunction init(modal, onready) {\n\tmodal.show = function() {\n\t\tdocument.querySelector(\"body\").append(modal);\n\n\t\tsetTimeout(() => {\n\t\t\tmodal.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\tmodal.close = function() {\n\t\tmodal.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tmodal.remove();\n\t\t}, 300);\n\t}\n\n\tmodal.querySelector(\".modal-close\").addEventListener(\"click\", e => {\n\t\tmodal.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(modal);\n\t}\n\n\treturn modal;\n}\n\n\t/**\n\t * Create new modal window;\n\t * @param {string} id Uniq id (selector)\n\t * @param {string} title Display title\n\t * @param {object} props { body: modal => {}, actions => modal => {} }\n\t * @return {object} DOM object\n\t */\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst modal = template(id, title, footer, props);\n\n\tconst modalBody = modal.querySelector(\".modal-body\");\n\tconst modalFooter = modal.querySelector(\".modal-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(modal);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tmodalFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tmodalFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(modal);\n\n\t\tappendContent(modalBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(modal, props?.onready);\n}\n\nexport default {\n\tcreate\n}\n", "function scrollToElementInFocus(container) {\n\tconst focus = container.querySelector(\".focus\");\n\tif (!focus) return;\n\n\tconst container_rect = container.getBoundingClientRect();\n\tconst focus_rect = focus.getBoundingClientRect();\n\n\tif (focus_rect.top < container_rect.top) {\n\t\tcontainer.scrollTop -= (container_rect.top - focus_rect.top);\n\t} else if (focus_rect.bottom > container_rect.bottom) {\n\t\tcontainer.scrollTop += (focus_rect.bottom - container_rect.bottom);\n\t}\n}\n\nfunction autoSetState(container) {\n\tconst totalViewed = container.advancedSelect.optionsElements.length - container.querySelectorAll(\".option.hide\").length;\n\tif(totalViewed == 0) {\n\t\tcontainer.advancedSelect.showState(\"not-found\");\n\t} else {\n\t\tcontainer.advancedSelect.showState(\"options\");\n\t}\n}\n\nfunction firstVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide)\");\n}\n\nfunction lastVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide):last-child\");\n}\n\nfunction selectOption(input, container, option) {\n\tif(!option) {\n\t\treturn;\n\t}\n\n\tinput.value = option.dataset.displayValue;\n\tinput.blur();\n\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\tcontainer.advancedSelect.dispatchEvent(\"selected\");\n\tcontainer.advancedSelect.closeList();\n}\n\nexport default function advancedSelect(input, options, notFoundText) {\n\tconst container = document.createElement(\"div\");\n\tcontainer.classList.add(\"advanced-select\");\n\n\tconst popup = document.createElement(\"div\");\n\tpopup.className = \"popup-options-container\";\n\n\tconst notFound = document.createElement(\"div\");\n\tnotFound.className = \"not-found\";\n\tnotFound.textContent = notFoundText ?? \"Nothing found\";\n\n\tconst optionsContainer = document.createElement(\"div\");\n\toptionsContainer.className = \"options\";\n\n\tfor(let optionValue in options) {\n\t\tconst option = document.createElement(\"div\");\n\t\toption.className = \"option\";\n\t\toption.dataset.value = optionValue;\n\t\toption.dataset.displayValue = options[optionValue];\n\t\toption.textContent = options[optionValue];\n\t\toptionsContainer.append(option);\n\t}\n\n\tpopup.append(notFound, optionsContainer);\n\tcontainer.append(popup);\n\n\tconst existsOption = (value, options) => {\n\t\tfor(let optionValue in options) {\n\t\t\tif(options[optionValue] == value) {\n\t\t\t\tconst ret = {};\n\t\t\t\tret[optionValue] = options[optionValue];\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcontainer.advancedSelect = {\n\t\tisOpened: false,\n\t\toptions: options,\n\t\teventsHandlers: {\n\t\t\topenList: [],\n\t\t\tcloseList: [],\n\t\t\tselected: [],\n\t\t\tchanged: [],\n\t\t},\n\t\topenList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = true;\n\t\t\tcontainer.classList.add(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"openList\");\n\t\t},\n\t\tcloseList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = false;\n\t\t\tcontainer.classList.remove(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"closeList\");\n\t\t},\n\t\tshowState: stateName => {\n\t\t\tif(stateName == \"options\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.add(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.remove(\"show\");\n\t\t\t} else if(stateName == \"not-found\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.remove(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.add(\"show\");\n\t\t\t}\n\t\t},\n\t\toptionsElements: container.querySelectorAll(\".option\"),\n\t\tvalue: () => {\n\t\t\tconst option = existsOption(input.value, options);\n\n\t\t\treturn { \n\t\t\t\tinputValue: input.value,\n\t\t\t\tisOption: option ? true : false,\n\t\t\t\toption \n\t\t\t};\n\t\t},\n\t\taddEventListener: (name, handler) => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] != \"undefined\") {\n\t\t\t\treturn container.advancedSelect.eventsHandlers[name].push(handler);\n\t\t\t}\n\n\t\t\tconsole.error(\"Advanced Select component.\", \"addEventListener()\", \"Invalid event name\");\n\t\t},\n\t\tdispatchEvent: name => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] == \"undefined\") {\n\t\t\t\treturn console.error(\"Advanced Select component.\", \"dispatchEvent()\", \"Invalid event name\");\n\t\t\t}\n\t\t\t\n\t\t\tfor(let eventHandler of container.advancedSelect.eventsHandlers[name]) {\n\t\t\t\teventHandler(container);\n\t\t\t}\n\t\t}\n\t};\n\n\tinput.setAttribute(\"autocomplete\", \"nope\");\n\n\tinput.advancedSelect = {\n\t\tvalue: () => container.advancedSelect.value()\n\t}\n\n\tinput.addEventListener(\"focus\", e => {\n\t\tcontainer.advancedSelect.openList();\n\t});\n\n\tinput.addEventListener(\"blur\", e => {\n\t\trequestAnimationFrame(() => {\n\t\t\tif(!container.matches(\":hover\")) {\n\t\t\t\tcontainer.advancedSelect.closeList();\n\t\t\t}\n\t\t});\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"ArrowUp\") {\n\t\t\te.preventDefault();\n\t\t\t// up\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet prev = current.previousElementSibling;\n\n\t\t\t\twhile (prev) {\n\t\t\t\t\tif (!prev.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tprev = prev.previousElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!prev) {\n\t\t\t\t\tprev = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tprev?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tlastVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"ArrowDown\") {\n\t\t\te.preventDefault();\n\t\t\t// down\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet next = current.nextElementSibling;\n\n\t\t\t\twhile (next) {\n\t\t\t\t\tif (!next.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnext = next.nextElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!next) {\n\t\t\t\t\tnext = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tnext?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tfirstVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"Enter\") {\n\t\t\te.preventDefault();\n\t\t\tlet selected = container.querySelector(\".option.focus\");\n\t\t\tselectOption(input, container, selected);\n\t\t} else if(e.key === \"Escape\") {\n\t\t\tcontainer.advancedSelect.closeList();\n\t\t\tinput.blur();\n\t\t}\n\t});\n\n\tinput.addEventListener(\"input\", e => {\n\t\tconst val = e.currentTarget.value.toLowerCase();\n\t\tif(val == \"\") {\n\t\t\tcontainer.advancedSelect.optionsElements.forEach(i => i.classList.remove(\"hide\"));\n\t\t} else {\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) != -1)\n\t\t\t\t.forEach(i => i.classList.remove(\"hide\"));\n\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) == -1)\n\t\t\t\t.forEach(i => i.classList.add(\"hide\"));\n\n\t\t\tautoSetState(container);\n\n\t\t\tcontainer.querySelector(\".option.focus\")?.classList.remove(\"focus\");\n\t\t}\n\t});\n\n\tinput.addEventListener(\"change\", e => {\n\t\tcontainer.advancedSelect.dispatchEvent(\"changed\");\n\t});\n\n\t[ ...container.advancedSelect.optionsElements ].forEach(option => {\n\t\toption.addEventListener(\"pointerdown\", e => {\n\t\t\te.preventDefault();\n\t\t\tselectOption(input, container, e.currentTarget);\n\t\t});\n\t});\n\n\treturn container;\n}\n", "import Helper from \"./helper.js\";\n\nfunction template(originalText, isMultiString) {\n\tconst placeholder = \"Write something\";\n\tconst input = !isMultiString \n\t\t? ``\n\t\t: ``;\n\n\treturn `\n\t\t
    \n\t\t\t${originalText}\n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \n\t`;\n}\n\nexport default function editableString(stringContainer, isMultiString) {\n\tisMultiString = isMultiString ?? false;\n\n\tconst originalText = stringContainer.innerHTML;\n\n\tconst component = Helper.template.createElement(\"div\", {\n\t\t\"class\": \"component editable-string-component\"\n\t}, template(originalText, isMultiString));\n\n\tstringContainer.innerHTML = \"\";\n\tstringContainer.append(component);\n\n\tconst editBtn = component.querySelector(\".edit-text-btn\");\n\tconst applyBtn = component.querySelector(\".apply-changes-btn\");\n\tconst cancelBtn = component.querySelector(\".cancel-changes-btn\");\n\tconst content = component.querySelector(\".editable-string-content\");\n\tconst editableString = component.querySelector(\".editable-string\");\n\tconst form = component.querySelector(\".editable-string-form\");\n\tconst input = component.querySelector(\".input\");\n\n\tcomponent.editableString = {\n\t\tformIsDisplaying: false,\n\t\tvalue: originalText,\n\t\tinput: input,\n\t\teventsHandlers: {\n\t\t\tonChange: [],\n\t\t\tonSwitch: [],\n\t\t},\n\t\tswitch: () => {\n\t\t\tif(component.formIsDisplaying) {\n\t\t\t\tform.classList.add(\"d-none\");\n\t\t\t\tcontent.classList.remove(\"d-none\");\n\t\t\t\teditableString.innerText = component.editableString.value;\n\t\t\t} else {\n\t\t\t\tform.classList.remove(\"d-none\");\n\t\t\t\tcontent.classList.add(\"d-none\");\n\t\t\t\tinput.value = component.editableString.value;\n\t\t\t}\n\n\t\t\tcomponent.formIsDisplaying = !component.formIsDisplaying;\n\t\t\tcomponent.editableString.runEventHandler(\"onSwitch\");\n\t\t},\n\t\tsetValue: val => {\n\t\t\tcomponent.editableString.value = val;\n\t\t\tinput.value = val;\n\t\t\teditableString.innerText = val;\n\t\t},\n\t\tapply: () => {\n\t\t\tcomponent.editableString.value = input.value;\n\t\t\tcomponent.editableString.switch();\n\t\t\tif(input.value != originalText) {\n\t\t\t\tcomponent.editableString.runEventHandler(\"onChange\");\n\t\t\t}\n\t\t},\n\t\tonChange: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onChange.push(cb);\n\t\t},\n\t\tonSwitch: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onSwitch.push(cb);\n\t\t},\n\t\trunEventHandler: evName => {\n\t\t\tcomponent.editableString.eventsHandlers[evName].forEach(handler => handler(component.editableString));\n\t\t} \n\t}\n\n\teditBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tcancelBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tapplyBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.apply();\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"Enter\") {\n\t\t\tinput.blur();\n\t\t\tcomponent.editableString.apply();\n\t\t}\n\t});\n\n\treturn component;\n}\n", "import Helper from \"./helper.js\";\nimport Modals from \"./modals.js\";\n\nexport default function confirmPopup(text, confirmedCb, canceledCb) {\n\tModals.create(\"confirm-popup\", {\n\t\ttitle: `Requires confirmation`,\n\t\tbody: () => {\n\t\t\tconst paragraph = document.createElement(\"p\");\n\t\t\tparagraph.textContent = text ?? \"\";\n\t\t\treturn paragraph;\n\t\t},\n\t\tactions: modal => {\n\t\t\tconst buttonNO = Helper.template.createElement(\"button\", { class: \"btn btn-primary\" }, \"NO\");\n\t\t\tconst buttonYES = Helper.template.createElement(\"button\", { class: \"btn btn-warning\" }, \"YES\");\n\n\t\t\tbuttonNO.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tcanceledCb?.();\n\t\t\t});\n\n\t\t\tbuttonYES.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tconfirmedCb?.();\n\t\t\t});\n\n\t\t\treturn [ buttonNO, buttonYES ];\n\t\t}\n\t}).show();\n}\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst drawer = document.createElement(\"div\");\n\tdrawer.className = \"drawer\";\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.id = id;\n\n\tif(props.position === \"left\") {\n\t\tdrawer.classList.add(\"drawer-left\");\n\t}\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"drawer-backdrop\";\n\n\tconst panel = document.createElement(\"aside\");\n\tpanel.className = \"drawer-panel\";\n\tpanel.setAttribute(\"role\", \"dialog\");\n\tpanel.setAttribute(\"aria-modal\", \"true\");\n\tpanel.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"drawer-header\";\n\n\tconst drawerTitle = document.createElement(\"h4\");\n\tdrawerTitle.className = \"drawer-title\";\n\tdrawerTitle.id = `${id}-title`;\n\tdrawerTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon drawer-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"drawer-body\";\n\n\tconst drawerFooter = document.createElement(\"footer\");\n\tdrawerFooter.className = \"drawer-footer\";\n\tappendContent(drawerFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(drawerTitle, close);\n\tpanel.append(header, body, drawerFooter);\n\tdrawer.append(backdrop, panel);\n\n\treturn drawer;\n}\n\nfunction init(drawer, onready) {\n\tdrawer.show = function() {\n\t\tdocument.querySelector(\"body\").append(drawer);\n\n\t\tsetTimeout(() => {\n\t\t\tdrawer.classList.add(\"a-show\");\n\t\t}, 10);\n\t};\n\n\tdrawer.close = function() {\n\t\tdrawer.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tdrawer.remove();\n\t\t}, 300);\n\t};\n\n\tdrawer.querySelector(\".drawer-close\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tdrawer.querySelector(\".drawer-backdrop\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(drawer);\n\t}\n\n\treturn drawer;\n}\n\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst drawer = template(id, title, footer, props);\n\n\tconst drawerBody = drawer.querySelector(\".drawer-body\");\n\tconst drawerFooter = drawer.querySelector(\".drawer-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(drawer);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tdrawerFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tdrawerFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(drawer);\n\n\t\tappendContent(drawerBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(drawer, props?.onready);\n}\n\nexport default {\n\tcreate\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getDrawerForToggle(toggle, root) {\n\tconst id = toggle.getAttribute(\"aria-controls\");\n\n\tif(id) {\n\t\treturn root.getElementById?.(id) || document.getElementById(id);\n\t}\n\n\treturn root.querySelector?.(\"[data-navigation-drawer]\") || document.querySelector(\"[data-navigation-drawer]\");\n}\n\nfunction open(drawer, toggle) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.add(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"false\");\n\tdrawer.removeAttribute(\"inert\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"true\");\n\tdocument.body.classList.add(\"nav-drawer-open\");\n\n\tconst firstControl = drawer.querySelector(\"[data-navigation-close], a, button, input, select, textarea\");\n\tfirstControl?.focus?.();\n}\n\nfunction close(drawer, toggle, shouldRestoreFocus = true) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.remove(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.setAttribute(\"inert\", \"\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"false\");\n\tdocument.body.classList.remove(\"nav-drawer-open\");\n\n\tif(shouldRestoreFocus) {\n\t\ttoggle?.focus?.();\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst toggle = event.target.closest(\"[data-navigation-toggle]\");\n\n\t\tif(!toggle) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = getDrawerForToggle(toggle, root);\n\n\t\tif(drawer?.classList.contains(\"is-open\")) {\n\t\t\tclose(drawer, toggle);\n\t\t} else {\n\t\t\topen(drawer, toggle);\n\t\t}\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst closeControl = event.target.closest(\"[data-navigation-close], [data-navigation-link], .nav-drawer .list-action\");\n\n\t\tif(!closeControl) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = closeControl.closest(\"[data-navigation-drawer]\") || root.querySelector(\"[data-navigation-drawer]\");\n\t\tconst toggle = drawer?.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\tconst shouldRestoreFocus = !closeControl.matches(\"[data-navigation-link]\");\n\t\tclose(drawer, toggle, shouldRestoreFocus);\n\t});\n\n\tdocument.addEventListener(\"keydown\", event => {\n\t\tif(event.key !== \"Escape\") {\n\t\t\treturn;\n\t\t}\n\n\t\troot.querySelectorAll(\"[data-navigation-drawer].is-open\").forEach(drawer => {\n\t\t\tconst toggle = drawer.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\t\tclose(drawer, toggle);\n\t\t});\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\topen,\n\tclose\n};\n", "const initializedRoots = new WeakSet();\nlet keyboardDismissInitialized = false;\n\nfunction closeNode(node) {\n\tnode.classList.remove(\"is-open\");\n\tnode.querySelectorAll(\"[aria-expanded='true']\").forEach(trigger => {\n\t\ttrigger.setAttribute(\"aria-expanded\", \"false\");\n\t});\n}\n\nfunction closeAll(except = null) {\n\tdocument.querySelectorAll(\".dropdown.is-open, .popover.is-open, .tooltip.is-open\").forEach(node => {\n\t\tif(node !== except) {\n\t\t\tcloseNode(node);\n\t\t}\n\t});\n}\n\nfunction initDropdowns(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-dropdown-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst dropdown = trigger.closest(\".dropdown\");\n\n\t\tif(!dropdown) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = dropdown.classList.contains(\"is-open\");\n\t\tcloseAll(dropdown);\n\t\tdropdown.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initPopovers(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-popover-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst popover = trigger.closest(\".popover\");\n\n\t\tif(!popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = popover.classList.contains(\"is-open\");\n\t\tcloseAll(popover);\n\t\tpopover.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initTooltips(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-tooltip-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tooltip = trigger.closest(\".tooltip\");\n\n\t\tif(!tooltip) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = tooltip.classList.contains(\"is-open\");\n\t\tcloseAll(tooltip);\n\t\ttooltip.classList.toggle(\"is-open\", !isOpen);\n\t});\n}\n\nfunction initDismiss(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tif(event.target.closest(\".dropdown, .popover, .tooltip\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseAll();\n\t});\n\n\tif(!keyboardDismissInitialized) {\n\t\tdocument.addEventListener(\"keydown\", event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tcloseAll();\n\t\t\t}\n\t\t});\n\n\t\tkeyboardDismissInitialized = true;\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\tinitDropdowns(root);\n\tinitPopovers(root);\n\tinitTooltips(root);\n\tinitDismiss(root);\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tcloseAll\n};\n", "const initializedRoots = new WeakSet();\nconst fileUploadState = new WeakMap();\n\nfunction getFileKey(file) {\n\treturn `${file.name}:${file.size}:${file.lastModified}`;\n}\n\nfunction clearFilePreviews(previewNode) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tpreviewNode.querySelectorAll(\"img[data-object-url]\").forEach(image => {\n\t\tURL.revokeObjectURL(image.dataset.objectUrl);\n\t});\n\tpreviewNode.innerHTML = \"\";\n\tpreviewNode.hidden = true;\n}\n\nfunction getStoredFiles(input) {\n\treturn fileUploadState.get(input) || [];\n}\n\nfunction setStoredFiles(input, files) {\n\tfileUploadState.set(input, files);\n\n\tconst transfer = new DataTransfer();\n\tfiles.forEach(file => transfer.items.add(file));\n\tinput.files = transfer.files;\n}\n\nfunction addStoredFiles(input, files) {\n\tconst storedFiles = getStoredFiles(input);\n\tconst knownKeys = new Set(storedFiles.map(getFileKey));\n\tconst nextFiles = [...storedFiles];\n\n\tfiles.forEach(file => {\n\t\tconst key = getFileKey(file);\n\n\t\tif(!knownKeys.has(key)) {\n\t\t\tknownKeys.add(key);\n\t\t\tnextFiles.push(file);\n\t\t}\n\t});\n\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction removeStoredFile(input, index) {\n\tconst nextFiles = getStoredFiles(input).filter((file, fileIndex) => fileIndex !== index);\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction getFileType(file) {\n\tconst nameParts = file.name.split(\".\");\n\tconst extension = nameParts.length > 1 ? nameParts.pop().trim() : \"\";\n\n\tif(extension) {\n\t\treturn extension.slice(0, 6).toUpperCase();\n\t}\n\n\tif(file.type) {\n\t\treturn file.type.split(\"/\").pop().slice(0, 6).toUpperCase();\n\t}\n\n\treturn \"FILE\";\n}\n\nfunction formatBytes(bytes) {\n\tif(!Number.isFinite(bytes)) {\n\t\treturn \"\";\n\t}\n\n\tif(bytes === 0) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n\tconst value = bytes / Math.pow(1024, index);\n\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nfunction updateFileUpload(input) {\n\tconst container = input.closest(\".file-upload-panel, .file-upload\");\n\tconst previewNode = container?.querySelector(\"[data-file-upload-preview]\");\n\n\tif(!container || !previewNode) {\n\t\treturn;\n\t}\n\n\tconst files = getStoredFiles(input);\n\n\tif(!files.length) {\n\t\tclearFilePreviews(previewNode);\n\t\treturn;\n\t}\n\n\tupdateFilePreviews(previewNode, files);\n}\n\nfunction updateFilePreviews(previewNode, files) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tclearFilePreviews(previewNode);\n\n\tfiles.forEach((file, index) => {\n\t\tconst figure = document.createElement(\"figure\");\n\t\tfigure.className = \"file-upload-preview-item\";\n\t\tfigure.dataset.fileUploadIndex = String(index);\n\n\t\tconst preview = document.createElement(\"div\");\n\t\tpreview.className = \"file-upload-preview-visual\";\n\n\t\tif(file.type.startsWith(\"image/\")) {\n\t\t\tconst image = document.createElement(\"img\");\n\t\t\tconst objectUrl = URL.createObjectURL(file);\n\t\t\timage.src = objectUrl;\n\t\t\timage.dataset.objectUrl = objectUrl;\n\t\t\timage.alt = \"\";\n\t\t\timage.loading = \"lazy\";\n\t\t\tpreview.append(image);\n\t\t} else {\n\t\t\tconst type = document.createElement(\"span\");\n\t\t\ttype.className = \"file-upload-preview-type\";\n\t\t\ttype.textContent = getFileType(file);\n\t\t\tpreview.append(type);\n\t\t}\n\n\t\tconst caption = document.createElement(\"figcaption\");\n\n\t\tconst name = document.createElement(\"span\");\n\t\tname.className = \"file-upload-preview-name\";\n\t\tname.textContent = file.name;\n\n\t\tconst meta = document.createElement(\"span\");\n\t\tmeta.className = \"file-upload-preview-meta\";\n\t\tmeta.textContent = `${getFileType(file)} / ${formatBytes(file.size)}`;\n\n\t\tconst remove = document.createElement(\"button\");\n\t\tremove.className = \"file-upload-preview-remove\";\n\t\tremove.type = \"button\";\n\t\tremove.dataset.fileUploadRemove = String(index);\n\t\tremove.setAttribute(\"aria-label\", `Remove ${file.name}`);\n\t\tremove.innerHTML = ``;\n\n\t\tcaption.append(name, meta);\n\t\tfigure.append(remove, preview, caption);\n\t\tpreviewNode.append(figure);\n\t});\n\n\tpreviewNode.hidden = false;\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst clearButton = event.target.closest(\"[data-input-clear]\");\n\n\t\tif(!clearButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group = clearButton.closest(\".input-group\");\n\t\tconst input = group?.querySelector(\"input, textarea\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\t\tinput.focus();\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst removeButton = event.target.closest(\"[data-file-upload-remove]\");\n\n\t\tif(!removeButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = removeButton.closest(\".file-upload-panel, .file-upload\");\n\t\tconst input = container?.querySelector(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tremoveStoredFile(input, Number(removeButton.dataset.fileUploadRemove));\n\t\tupdateFileUpload(input);\n\t\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst input = event.target.closest(\"[data-date-picker]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.focus();\n\n\t\tif(typeof input.showPicker === \"function\") {\n\t\t\ttry {\n\t\t\t\tinput.showPicker();\n\t\t\t} catch(error) {\n\t\t\t\t// Some browsers restrict showPicker() to direct user gestures or supported input types.\n\t\t\t}\n\t\t}\n\t});\n\n\troot.addEventListener(\"change\", event => {\n\t\tconst input = event.target.closest(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\taddStoredFiles(input, Array.from(input.files || []));\n\t\tupdateFileUpload(input);\n\t});\n\n\troot.addEventListener(\"reset\", event => {\n\t\tconst form = event.target.closest(\"form\");\n\n\t\tif(!form) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tform.querySelectorAll(\"[data-file-upload-input]\").forEach(input => {\n\t\t\t\tsetStoredFiles(input, []);\n\t\t\t\tupdateFileUpload(input);\n\t\t\t});\n\t\t}, 0);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tupdateFileUpload\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getPanel(details) {\n\treturn details.querySelector(\".accordion-panel\");\n}\n\nfunction prepareOpenPanel(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel) {\n\t\treturn;\n\t}\n\n\tpanel.style.height = \"auto\";\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n}\n\nfunction expand(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tdetails.open = true;\n\tpanel.style.height = \"0px\";\n\tpanel.style.opacity = \"0\";\n\tpanel.style.transform = \"translateY(-8px)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = `${panel.scrollHeight}px`;\n\t\tpanel.style.opacity = \"1\";\n\t\tpanel.style.transform = \"translateY(0)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tpanel.style.height = \"auto\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction collapse(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tpanel.style.height = `${panel.scrollHeight}px`;\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = \"0px\";\n\t\tpanel.style.opacity = \"0\";\n\t\tpanel.style.transform = \"translateY(-8px)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tdetails.open = false;\n\t\tpanel.style.height = \"\";\n\t\tpanel.style.opacity = \"\";\n\t\tpanel.style.transform = \"\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction toggle(details) {\n\tif(details.open) {\n\t\tcollapse(details);\n\t} else {\n\t\texpand(details);\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".accordion-item[open], .disclosure[open]\").forEach(prepareOpenPanel);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst summary = event.target.closest(\".accordion-summary\");\n\n\t\tif(!summary) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst details = summary.closest(\".accordion-item, .disclosure\");\n\n\t\tif(!details) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\ttoggle(details);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\texpand,\n\tcollapse,\n\ttoggle\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getTabs(root) {\n\treturn [...root.querySelectorAll('[role=\"tab\"], .tab')];\n}\n\nfunction getPanels(root) {\n\treturn [...root.querySelectorAll('[role=\"tabpanel\"], .tab-panel')];\n}\n\nfunction getPanel(root, tab) {\n\tconst panelId = tab.getAttribute(\"aria-controls\");\n\n\tif(!panelId) {\n\t\treturn null;\n\t}\n\n\treturn root.querySelector(`#${CSS.escape(panelId)}`);\n}\n\nfunction setTabState(tab, isActive) {\n\ttab.classList.toggle(\"tab-active\", isActive);\n\ttab.setAttribute(\"aria-selected\", isActive ? \"true\" : \"false\");\n\ttab.setAttribute(\"tabindex\", isActive ? \"0\" : \"-1\");\n}\n\nfunction setPanelState(panel, isActive) {\n\tpanel.classList.toggle(\"tab-panel-active\", isActive);\n\tpanel.toggleAttribute(\"hidden\", !isActive);\n}\n\nfunction activate(tab, options = {}) {\n\tif(!tab || tab.disabled || tab.getAttribute(\"aria-disabled\") === \"true\") {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\n\tif(!root) {\n\t\treturn;\n\t}\n\n\tgetTabs(root).forEach(item => setTabState(item, item === tab));\n\tgetPanels(root).forEach(panel => setPanelState(panel, false));\n\n\tconst panel = getPanel(root, tab);\n\n\tif(panel) {\n\t\tsetPanelState(panel, true);\n\t}\n\n\tif(options.focus !== false) {\n\t\ttab.focus();\n\t}\n}\n\nfunction getNextEnabledTab(tabs, activeIndex, direction) {\n\tfor(let offset = 1; offset <= tabs.length; offset++) {\n\t\tconst index = (activeIndex + (offset * direction) + tabs.length) % tabs.length;\n\t\tconst tab = tabs[index];\n\n\t\tif(!tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\") {\n\t\t\treturn tab;\n\t\t}\n\t}\n\n\treturn tabs[activeIndex];\n}\n\nfunction handleKeydown(event) {\n\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\tif(!tab) {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\tconst tabs = root ? getTabs(root) : [];\n\tconst activeIndex = tabs.indexOf(tab);\n\n\tif(activeIndex < 0) {\n\t\treturn;\n\t}\n\n\tlet nextTab = null;\n\n\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, 1);\n\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, -1);\n\t} else if(event.key === \"Home\") {\n\t\tnextTab = getNextEnabledTab(tabs, -1, 1);\n\t} else if(event.key === \"End\") {\n\t\tnextTab = getNextEnabledTab(tabs, 0, -1);\n\t}\n\n\tif(!nextTab) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\tactivate(nextTab);\n}\n\nfunction prepare(root) {\n\tconst tabs = getTabs(root);\n\tconst activeTab = tabs.find(tab => tab.classList.contains(\"tab-active\") || tab.getAttribute(\"aria-selected\") === \"true\")\n\t\t|| tabs.find(tab => !tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\");\n\n\ttabs.forEach(tab => {\n\t\ttab.setAttribute(\"role\", \"tab\");\n\t\tsetTabState(tab, tab === activeTab);\n\t});\n\n\troot.querySelectorAll(\".tabs-list\").forEach(list => {\n\t\tlist.setAttribute(\"role\", \"tablist\");\n\t});\n\n\tgetPanels(root).forEach(panel => {\n\t\tpanel.setAttribute(\"role\", \"tabpanel\");\n\t\tsetPanelState(panel, activeTab ? panel === getPanel(root, activeTab) : panel.classList.contains(\"tab-panel-active\"));\n\t});\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".tabs\").forEach(prepare);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\t\tif(!tab || !root.contains(tab)) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tactivate(tab, { focus: false });\n\t});\n\n\troot.addEventListener(\"keydown\", handleKeydown);\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tactivate\n};\n", "export default function demoNavigation() {\n const navItems = [...document.querySelectorAll(\".nav-drawer .list-item\")];\n const currentSection = document.querySelector(\"[data-docs-current-section]\");\n\n if (!navItems.length) {\n return;\n }\n\n const setActive = id => {\n navItems.forEach(item => {\n const link = item.querySelector(\".list-action\");\n const isActive = link?.getAttribute(\"href\") === `#${id}`;\n item.classList.toggle(\"list-item-active\", isActive);\n\n if (isActive && currentSection) {\n currentSection.textContent = link.querySelector(\".list-label\")?.textContent.trim() || id;\n }\n });\n };\n\n const updateFromHash = () => {\n const id = window.location.hash?.slice(1);\n\n if (id) {\n setActive(id);\n }\n };\n\n window.addEventListener(\"hashchange\", updateFromHash);\n updateFromHash();\n}\n", "function fallbackCopy(text) {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.setAttribute(\"readonly\", \"readonly\");\n textarea.style.position = \"fixed\";\n textarea.style.opacity = \"0\";\n document.body.append(textarea);\n textarea.select();\n document.execCommand(\"copy\");\n textarea.remove();\n}\n\nfunction escapeHtml(text) {\n return text\n .replace(/&/g, \"&\")\n .replace(//g, \">\");\n}\n\nfunction highlightJavascript(code) {\n const source = code.textContent;\n const tokens = /\\/\\/.*$|\\/\\*[\\s\\S]*?\\*\\/|`(?:\\\\[\\s\\S]|[^`\\\\])*`|'(?:\\\\.|[^'\\\\])*'|\"(?:\\\\.|[^\"\\\\])*\"|\\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\\b|\\b\\d+(?:\\.\\d+)?\\b|\\b[A-Za-z_$][\\w$]*(?=\\s*\\()/gm;\n let html = \"\";\n let cursor = 0;\n let match;\n\n while ((match = tokens.exec(source)) !== null) {\n const token = match[0];\n html += escapeHtml(source.slice(cursor, match.index));\n\n if (token.startsWith(\"//\") || token.startsWith(\"/*\")) {\n html += `${escapeHtml(token)}`;\n } else if (token.startsWith(\"\\\"\") || token.startsWith(\"'\") || token.startsWith(\"`\")) {\n html += `${escapeHtml(token)}`;\n } else if (/^\\d/.test(token)) {\n html += `${escapeHtml(token)}`;\n } else if (/^[A-Za-z_$][\\w$]*$/.test(token) && source[match.index + token.length]?.match(/\\s|\\(/)) {\n const keyword = /^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(token);\n html += keyword\n ? `${token}`\n : `${token}`;\n } else {\n html += escapeHtml(token);\n }\n\n cursor = match.index + token.length;\n }\n\n html += escapeHtml(source.slice(cursor));\n code.innerHTML = html;\n code.classList.add(\"hljs\");\n}\n\nfunction highlightCode() {\n document.querySelectorAll(\"code.language-js, code.language-javascript\").forEach(highlightJavascript);\n\n if (window.hljs) {\n document\n .querySelectorAll(\"code:not(.language-js):not(.language-javascript)\")\n .forEach(code => window.hljs.highlightElement(code));\n }\n}\n\nexport default function codeExamples() {\n highlightCode();\n\n document.querySelectorAll(\".code-example .btn-icon\").forEach(button => {\n button.addEventListener(\"click\", async () => {\n const example = button.closest(\".code-example\");\n const code = example?.querySelector(\"code\");\n const text = code?.textContent ?? \"\";\n const originalIcon = button.innerHTML;\n\n if (!text) {\n return;\n }\n\n try {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n } else {\n fallbackCopy(text);\n }\n } catch {\n fallbackCopy(text);\n }\n\n button.innerHTML = ``;\n\n setTimeout(() => {\n button.innerHTML = originalIcon;\n }, 1200);\n });\n });\n}\n"], - "mappings": "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", - "names": ["index_exports", "__export", "accordion_default", "drawer_default", "helper_default", "input_patterns_default", "modals_default", "navigation_shell_default", "overlays_default", "tabs_default", "toasts_default", "advancedSelect", "confirmPopup", "index_default", "editableString", "sidebarNav", "items", "listItems", "item", "aOpen", "aClose", "table", "caption", "columns", "data", "tfoot", "head", "totalColumns", "key", "body", "column", "foot", "tableCaption", "tableHead", "createElement", "type", "props", "content", "node", "value", "createAlert", "fieldsUnification", "map", "dataObj", "field", "btnLoadingState", "btn", "isLoading", "cardStatusLoadingState", "card", "iconContainer", "mainTemplate", "sidebar", "connectionStatusBadge", "status", "toogleStateBadge", "state", "timeAgo", "dateString", "date", "diff_seconds", "minutes", "hours", "days", "remain_minutes", "formatDate", "now", "today", "target_day", "diff_days", "months", "circleLoaderHTML", "emptyHereHTML", "helper_default", "appendIcon", "container", "icon", "iconWrap", "template", "type", "title", "text", "toast", "content", "toastTitle", "toastText", "close", "init", "props", "i", "_a", "e", "lifetimeInterval", "create", "createSuccess", "createInfo", "createWarning", "createError", "toasts_default", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "modal", "backdrop", "dialog", "panel", "header", "modalTitle", "close", "body", "modalFooter", "init", "onready", "e", "create", "modalBody", "actionsResult", "actions", "actionElement", "bodyResult", "modals_default", "scrollToElementInFocus", "container", "focus", "container_rect", "focus_rect", "autoSetState", "firstVisibleOption", "lastVisibleOption", "selectOption", "input", "option", "advancedSelect", "options", "notFoundText", "popup", "notFound", "optionsContainer", "optionValue", "existsOption", "value", "ret", "stateName", "name", "handler", "eventHandler", "e", "_a", "_b", "current", "prev", "next", "selected", "val", "i", "template", "originalText", "isMultiString", "placeholder", "input", "editableString", "stringContainer", "component", "helper_default", "editBtn", "applyBtn", "cancelBtn", "content", "form", "val", "cb", "evName", "handler", "e", "confirmPopup", "text", "confirmedCb", "canceledCb", "modals_default", "paragraph", "modal", "buttonNO", "helper_default", "buttonYES", "e", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "drawer", "backdrop", "panel", "header", "drawerTitle", "close", "body", "drawerFooter", "init", "onready", "create", "drawerBody", "actionsResult", "actions", "actionElement", "bodyResult", "drawer_default", "initializedRoots", "getDrawerForToggle", "toggle", "root", "_a", "_b", "id", "open", "drawer", "firstControl", "close", "shouldRestoreFocus", "init", "event", "closeControl", "navigation_shell_default", "initializedRoots", "keyboardDismissInitialized", "closeNode", "node", "trigger", "closeAll", "except", "initDropdowns", "root", "event", "dropdown", "isOpen", "initPopovers", "popover", "initTooltips", "tooltip", "initDismiss", "init", "overlays_default", "initializedRoots", "fileUploadState", "getFileKey", "file", "clearFilePreviews", "previewNode", "image", "getStoredFiles", "input", "setStoredFiles", "files", "transfer", "addStoredFiles", "storedFiles", "knownKeys", "nextFiles", "key", "removeStoredFile", "index", "fileIndex", "getFileType", "nameParts", "extension", "formatBytes", "bytes", "units", "value", "updateFileUpload", "container", "updateFilePreviews", "figure", "preview", "objectUrl", "type", "caption", "name", "meta", "remove", "init", "root", "event", "clearButton", "group", "removeButton", "error", "form", "input_patterns_default", "initializedRoots", "getPanel", "details", "prepareOpenPanel", "panel", "expand", "handleTransitionEnd", "event", "collapse", "toggle", "init", "root", "summary", "accordion_default", "initializedRoots", "getTabs", "root", "getPanels", "getPanel", "tab", "panelId", "setTabState", "isActive", "setPanelState", "panel", "activate", "options", "_a", "item", "getNextEnabledTab", "tabs", "activeIndex", "direction", "offset", "index", "handleKeydown", "event", "nextTab", "prepare", "activeTab", "list", "init", "tabs_default", "demoNavigation", "navItems", "currentSection", "setActive", "id", "item", "_a", "link", "isActive", "updateFromHash", "fallbackCopy", "text", "textarea", "escapeHtml", "highlightJavascript", "code", "_a", "source", "tokens", "html", "cursor", "match", "token", "keyword", "highlightCode", "codeExamples", "button", "_b", "example", "originalIcon", "e", "api", "helper_default", "toasts_default", "modals_default", "advancedSelect", "editableString", "confirmPopup", "drawer_default", "navigation_shell_default", "overlays_default", "input_patterns_default", "accordion_default", "tabs_default", "demoNavigation", "codeExamples", "index_default", "api"] + "sourcesContent": ["import Helper from \"./components/helper.js\";\nimport Toasts from \"./components/toasts.js\";\nimport Modals from \"./components/modals.js\";\nimport advancedSelect from \"./components/advanced-select.js\";\nimport editableString from \"./components/editable-string.js\";\nimport confirmPopup from \"./components/confirm-popup.js\";\nimport Drawer from \"./components/drawer.js\";\nimport NavigationShell from \"./components/navigation-shell.js\";\nimport Overlays from \"./components/overlays.js\";\nimport InputPatterns from \"./components/input-patterns.js\";\nimport Accordion from \"./components/accordion.js\";\nimport Tabs from \"./components/tabs.js\";\nimport demoNavigation from \"./demo-navigation.js\";\nimport codeExamples from \"./code-examples.js\";\n\nconst api = {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nif(typeof window !== \"undefined\") {\n window.GNexusUIKit = api;\n Object.assign(window, api);\n\n document.addEventListener(\"DOMContentLoaded\", () => {\n Overlays.init();\n NavigationShell.init();\n InputPatterns.init();\n Accordion.init();\n Tabs.init();\n demoNavigation();\n codeExamples();\n });\n}\n\nexport {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nexport default api;\n", "function sidebarNav(items) {\n\tlet listItems = \"\";\n\n\tfor(let item of items) {\n\t\tlet aOpen = \"\";\n\t\tlet aClose = \"\";\n\t\tif(item.route) {\n\t\t\taOpen = ``;\n\t\t\taClose = ``;\n\t\t}\n\n\t\tlistItems += `\n\t\t\t
  • \n\t\t\t\t${aOpen}${item.content}${aClose}\n\t\t\t
  • \n\t\t`;\n\t}\n\n\treturn `\n\t\t
    \n\t\t\t
      \n\t\t\t\t${listItems} \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction table(caption, columns, data, tfoot) {\n\tlet head = ``;\n\tlet totalColumns = 0;\n\tfor(let key in columns) {\n\t\thead += `${columns[key]}`;\n\t\ttotalColumns++;\n\t}\n\thead += \"\";\n\n\tlet body = ``;\n\tfor(let item of data) {\n\t\tbody += ``;\n\t\tfor(let column in columns) {\n\t\t\tbody += `${item[column]}`;\n\t\t}\n\t\tbody += ``;\n\t}\n\n\tlet foot = \"\";\n\tif(typeof tfoot != \"undefined\") {\n\t\tfoot = `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t${tfoot}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tconst tableCaption = caption \n\t\t? `${caption}`\n\t\t: '';\n\n\tconst tableHead = data.length \n\t\t? `${head}`\n\t\t: '';\n\n\tbody = data.length\n\t\t? body\n\t\t: `Empty`;\n\n\tconst tableEmptyClass = !data.length \n\t\t? \"table-empty\"\n\t\t: \"\";\n\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\t\t${tableCaption}\n\t\t\t\t${tableHead}\n\t\t\t\t${body}\n\t\t\t\t${foot}\n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction createElement(type, props, content) {\n\tconst node = document.createElement(type);\n\n\tfor (const [key, value] of Object.entries(props)) {\n\t\tif (key === \"class\") {\n\t\t\tnode.className = value;\n\t\t} else if (key === \"dataset\") {\n\t\t\tObject.assign(node.dataset, value);\n\t\t} else {\n\t\t\tnode.setAttribute(key, value);\n\t\t}\n\t}\n\n\tnode.innerHTML = (typeof content != \"undefined\") ? content : \"\";\n\treturn node; \n}\n\nfunction createAlert(type, content) {\n\tif([\"primary\", \"success\", \"secondary\", \"info\", \"warning\", \"error\", \"danger\"].indexOf(type) < 0) {\n\t\treturn console.error(\"createAlert()\", \"Error of type: \" + type);\n\t}\n\n\treturn createElement(\"div\", {\n\t\tclass: `alert alert-${type}`,\n\t}, content);\n}\n\nfunction fieldsUnification(data, map = {}) {\n\tconst dataObj = {};\n\n\tfor(let field in data) {\n\t\tif(typeof map[field] != \"undefined\") {\n\t\t\tdataObj[ map[field] ] = data[field];\n\t\t\tcontinue;\n\t\t}\n\n\t\tdataObj[field] = data[field];\n\t}\n\n\treturn dataObj;\n}\n\nfunction btnLoadingState(btn, isLoading) {\n\tif(btn?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tif(isLoading) {\n\t\tbtn.isLoading = true;\n\t\tbtn.originalContent = btn.innerHTML;\n\t\tif(btn.classList.contains(\"with-icon\")) {\n\t\t\tbtn.originalWithIcon = true;\n\t\t} else {\n\t\t\tbtn.classList.add(\"with-icon\");\n\t\t}\n\n\t\tbtn.classList.add(\"loading-state\");\n\t\tbtn.setAttribute(\"disabled\", \"disabled\");\n\t\tbtn.innerHTML = ` Loading`;\n\t} else {\n\t\tbtn.isLoading = false;\n\t\tif(!btn.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tbtn.removeAttribute(\"disabled\");\n\t\tbtn.classList.remove(\"loading-state\");\n\t\tif(!btn.originalWithIcon) {\n\t\t\tbtn.classList.remove(\"with-icon\");\n\t\t}\n\t\tbtn.innerHTML = btn.originalContent;\n\t}\n\n\treturn btn;\n}\n\nfunction cardStatusLoadingState(card, isLoading) {\n\tif(card?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tconst iconContainer = card.querySelector(\".status-icon\");\n\n\tif(isLoading) {\n\t\tcard.isLoading = true;\n\t\tcard.originalContent = iconContainer.innerHTML;\n\t\tcard.classList.add(\"loading-state\");\n\t\tcard.setAttribute(\"disabled\", \"disabled\");\n\t\ticonContainer.innerHTML = ``;\n\t} else {\n\t\tcard.isLoading = false;\n\t\tif(!card.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tcard.removeAttribute(\"disabled\");\n\t\tcard.classList.remove(\"loading-state\");\n\t\ticonContainer.innerHTML = card.originalContent;\n\t}\n\n\treturn card;\n}\n\nfunction mainTemplate(sidebar, content) {\n\tcontent = content ?? \"\";\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${sidebar}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${content}\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction connectionStatusBadge(status) {\n\treturn status == \"active\"\n\t\t? `Online`\n\t\t: `Offline`;\n}\n\nfunction toogleStateBadge(state) {\n\treturn state == \"enabled\"\n\t\t? `Enabled`\n\t\t: `Disabled`;\n}\n\nfunction timeAgo(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst diff_seconds = Math.floor((now - date) / 1000);\n\n\tif (diff_seconds < 60) {\n\t\treturn \"less than a minute ago\";\n\t}\n\n\tconst minutes = Math.floor(diff_seconds / 60);\n\tconst hours = Math.floor(minutes / 60);\n\tconst days = Math.floor(hours / 24);\n\n\tif (minutes < 60) {\n\t\treturn `${minutes} minute${minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\tif (hours < 24) {\n\t\tconst remain_minutes = minutes % 60;\n\t\treturn `${hours} hour${hours !== 1 ? \"s\" : \"\"} ${remain_minutes} minute${remain_minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\treturn `${days} day${days !== 1 ? \"s\" : \"\"} ago`;\n}\n\nfunction formatDate(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\tconst target_day = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n\tconst diff_days = Math.floor((today - target_day) / 86400000);\n\n\tconst hours = String(date.getHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getMinutes()).padStart(2, \"0\");\n\n\tif (diff_days === 0) {\n\t\treturn `Today at ${hours}:${minutes}`;\n\t}\n\n\tif (diff_days === 1) {\n\t\treturn `Yesterday at ${hours}:${minutes}`;\n\t}\n\n\tconst months = [\n\t\t\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\n\t\t\"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"\n\t];\n\n\treturn `${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()} at ${hours}:${minutes}`;\n}\n\nfunction circleLoaderHTML() {\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\tLoading\n\t\t
    \n\t`;\n}\n\nfunction emptyHereHTML() {\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t

    It's empty here yet

    \n\t\t
    \n\t`;\n}\n\nexport default {\n\ttemplate: {\n\t\tsidebarNav,\n\t\ttable,\n\t\tcreateElement,\n\t\tcreateAlert,\n\t\tmainTemplate,\n\t\tconnectionStatusBadge,\n\t\ttoogleStateBadge,\n\t\tcircleLoaderHTML,\n\t\temptyHereHTML,\n\t},\n\tunification: {\n\t\tfieldsUnification,\n\t\ttimeAgo,\n\t\tformatDate\n\t},\n\tstates: {\n\t\tbtnLoadingState,\n\t\tcardStatusLoadingState\n\t}\n}\n", "function appendIcon(container, icon) {\n\tif(icon instanceof Node) {\n\t\tcontainer.append(icon);\n\t\treturn;\n\t}\n\n\tconst iconWrap = document.createElement(\"span\");\n\ticonWrap.innerHTML = icon;\n\tcontainer.append(...iconWrap.childNodes);\n}\n\nfunction template(type, icon, title, text) {\n\tconst toast = document.createElement(\"div\");\n\ttoast.className = `toast toast-${type}`;\n\ttoast.setAttribute(\"role\", \"alert\");\n\n\tconst content = document.createElement(\"div\");\n\tcontent.className = \"toast-content\";\n\n\tconst toastHeader = document.createElement(\"div\");\n\ttoastHeader.className = \"toast-header\";\n\tappendIcon(toastHeader, icon);\n\ttoastHeader.append(document.createTextNode(` ${title ?? \"\"}`));\n\n\tcontent.append(toastHeader);\n\n\tif(text) {\n\t\tconst toastText = document.createElement(\"p\");\n\t\ttoastText.className = \"toast-text\";\n\t\ttoastText.textContent = text;\n\t\tcontent.append(toastText);\n\t}\n\n\tconst progress = document.createElement(\"div\");\n\tprogress.className = \"toast-progress\";\n\n\tconst progressBar = document.createElement(\"div\");\n\tprogressBar.className = \"toast-progress-bar\";\n\tprogress.append(progressBar);\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon toast-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.innerHTML = '';\n\n\ttoast.append(content, close, progress);\n\n\treturn toast;\n}\n\nfunction init(toast, props) {\n\tconst lifetime = props?.lifetime || 4000;\n\n\tif(props?.alone) {\n\t\tdocument.querySelectorAll(\".toast\").forEach(i => i.close?.());\n\t}\n\n\tconst progressBar = toast.querySelector(\".toast-progress-bar\");\n\tif(progressBar && lifetime > 0) {\n\t\tprogressBar.style.animationDuration = `${lifetime}ms`;\n\t}\n\n\ttoast.close = function() {\n\t\tthis.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tthis.remove();\n\t\t}, 300);\n\t}\n\n\ttoast.querySelector(\".toast-close\").addEventListener(\"click\", e => {\n\t\ttoast.close();\n\t});\n\n\ttoast.show = function() {\n\t\tdocument.querySelector(\"body\").append(toast);\n\n\t\tsetTimeout(() => {\n\t\t\ttoast.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\ttoast.addEventListener(\"mouseover\", e => toast.ishovered = true);\n\ttoast.addEventListener(\"mouseout\", e => toast.ishovered = false);\n\n\tif(lifetime > 0) {\n\t\tconst lifetimeInterval = setInterval(() => {\n\t\t\tif(!toast.ishovered) {\n\t\t\t\ttoast.close();\n\t\t\t\tclearInterval(lifetimeInterval);\n\t\t\t}\n\t\t}, lifetime);\n\t}\n\n\treturn toast;\n}\n\nfunction create(type, icon, title, text, props) {\n\treturn init(template(type, icon, title, text), props);\n}\n\nfunction applyDefaults(props) {\n\tif(typeof props == \"undefined\") {\n\t\tprops = {};\n\t}\n\tif(typeof props.lifetime == \"undefined\") {\n\t\tprops.lifetime = 4000;\n\t}\n\tif(typeof props.alone == \"undefined\") {\n\t\tprops.alone = true;\n\t}\n\treturn props;\n}\n\nfunction createSuccess(title, text, props) {\n\tprops = applyDefaults(props);\n\treturn create(\n\t\t\"success\",\n\t\t``,\n\t\ttitle,\n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createInfo(title, text, props) {\n\tprops = applyDefaults(props);\n\treturn create(\n\t\t\"info\",\n\t\t``,\n\t\ttitle,\n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createWarning(title, text, props) {\n\tprops = applyDefaults(props);\n\treturn create(\n\t\t\"warning\",\n\t\t``,\n\t\ttitle,\n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createError(title, text, props) {\n\tprops = applyDefaults(props);\n\treturn create(\n\t\t\"danger\",\n\t\t``,\n\t\ttitle,\n\t\ttext,\n\t\tprops\n\t);\n}\n\nexport default {\n\tcreate,\n\tcreateInfo,\n\tcreateSuccess,\n\tcreateWarning,\n\tcreateError,\n\t\"createDanger\": createError\n};\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst modal = document.createElement(\"div\");\n\tmodal.className = \"modal\";\n\tmodal.setAttribute(\"aria-hidden\", \"true\");\n\tmodal.id = id;\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"modal-backdrop\";\n\n\tconst dialog = document.createElement(\"div\");\n\tdialog.className = \"modal-dialog\";\n\tdialog.setAttribute(\"role\", \"dialog\");\n\tdialog.setAttribute(\"aria-modal\", \"true\");\n\tdialog.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst panel = document.createElement(\"div\");\n\tpanel.className = \"modal-panel\";\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"modal-header\";\n\n\tconst modalTitle = document.createElement(\"h4\");\n\tmodalTitle.className = \"modal-title\";\n\tmodalTitle.id = `${id}-title`;\n\tmodalTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon modal-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"modal-body\";\n\n\tconst modalFooter = document.createElement(\"footer\");\n\tmodalFooter.className = \"modal-footer\";\n\tappendContent(modalFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(modalTitle, close);\n\tpanel.append(body, modalFooter);\n\tdialog.append(header, panel);\n\tmodal.append(backdrop, dialog);\n\n\treturn modal;\n}\n\nfunction init(modal, onready) {\n\tmodal.show = function() {\n\t\tdocument.querySelector(\"body\").append(modal);\n\n\t\tsetTimeout(() => {\n\t\t\tmodal.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\tmodal.close = function() {\n\t\tmodal.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tmodal.remove();\n\t\t}, 300);\n\t}\n\n\tmodal.querySelector(\".modal-close\").addEventListener(\"click\", e => {\n\t\tmodal.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(modal);\n\t}\n\n\treturn modal;\n}\n\n\t/**\n\t * Create new modal window;\n\t * @param {string} id Uniq id (selector)\n\t * @param {string} title Display title\n\t * @param {object} props { body: modal => {}, actions => modal => {} }\n\t * @return {object} DOM object\n\t */\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst modal = template(id, title, footer, props);\n\n\tconst modalBody = modal.querySelector(\".modal-body\");\n\tconst modalFooter = modal.querySelector(\".modal-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(modal);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tmodalFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tmodalFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(modal);\n\n\t\tappendContent(modalBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(modal, props?.onready);\n}\n\nexport default {\n\tcreate\n}\n", "function scrollToElementInFocus(container) {\n\tconst focus = container.querySelector(\".focus\");\n\tif (!focus) return;\n\n\tconst container_rect = container.getBoundingClientRect();\n\tconst focus_rect = focus.getBoundingClientRect();\n\n\tif (focus_rect.top < container_rect.top) {\n\t\tcontainer.scrollTop -= (container_rect.top - focus_rect.top);\n\t} else if (focus_rect.bottom > container_rect.bottom) {\n\t\tcontainer.scrollTop += (focus_rect.bottom - container_rect.bottom);\n\t}\n}\n\nfunction autoSetState(container) {\n\tconst totalViewed = container.advancedSelect.optionsElements.length - container.querySelectorAll(\".option.hide\").length;\n\tif(totalViewed == 0) {\n\t\tcontainer.advancedSelect.showState(\"not-found\");\n\t} else {\n\t\tcontainer.advancedSelect.showState(\"options\");\n\t}\n}\n\nfunction firstVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide)\");\n}\n\nfunction lastVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide):last-child\");\n}\n\nfunction selectOption(input, container, option) {\n\tif(!option) {\n\t\treturn;\n\t}\n\n\tinput.value = option.dataset.displayValue;\n\tinput.blur();\n\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\tcontainer.advancedSelect.dispatchEvent(\"selected\");\n\tcontainer.advancedSelect.closeList();\n}\n\nexport default function advancedSelect(input, options, notFoundText) {\n\tconst container = document.createElement(\"div\");\n\tcontainer.classList.add(\"advanced-select\");\n\n\tconst popup = document.createElement(\"div\");\n\tpopup.className = \"popup-options-container\";\n\n\tconst notFound = document.createElement(\"div\");\n\tnotFound.className = \"not-found\";\n\tnotFound.textContent = notFoundText ?? \"Nothing found\";\n\n\tconst optionsContainer = document.createElement(\"div\");\n\toptionsContainer.className = \"options\";\n\n\tfor(let optionValue in options) {\n\t\tconst option = document.createElement(\"div\");\n\t\toption.className = \"option\";\n\t\toption.dataset.value = optionValue;\n\t\toption.dataset.displayValue = options[optionValue];\n\t\toption.textContent = options[optionValue];\n\t\toptionsContainer.append(option);\n\t}\n\n\tpopup.append(notFound, optionsContainer);\n\tcontainer.append(popup);\n\n\tconst existsOption = (value, options) => {\n\t\tfor(let optionValue in options) {\n\t\t\tif(options[optionValue] == value) {\n\t\t\t\tconst ret = {};\n\t\t\t\tret[optionValue] = options[optionValue];\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcontainer.advancedSelect = {\n\t\tisOpened: false,\n\t\toptions: options,\n\t\teventsHandlers: {\n\t\t\topenList: [],\n\t\t\tcloseList: [],\n\t\t\tselected: [],\n\t\t\tchanged: [],\n\t\t},\n\t\topenList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = true;\n\t\t\tcontainer.classList.add(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"openList\");\n\t\t},\n\t\tcloseList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = false;\n\t\t\tcontainer.classList.remove(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"closeList\");\n\t\t},\n\t\tshowState: stateName => {\n\t\t\tif(stateName == \"options\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.add(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.remove(\"show\");\n\t\t\t} else if(stateName == \"not-found\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.remove(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.add(\"show\");\n\t\t\t}\n\t\t},\n\t\toptionsElements: container.querySelectorAll(\".option\"),\n\t\tvalue: () => {\n\t\t\tconst option = existsOption(input.value, options);\n\n\t\t\treturn { \n\t\t\t\tinputValue: input.value,\n\t\t\t\tisOption: option ? true : false,\n\t\t\t\toption \n\t\t\t};\n\t\t},\n\t\taddEventListener: (name, handler) => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] != \"undefined\") {\n\t\t\t\treturn container.advancedSelect.eventsHandlers[name].push(handler);\n\t\t\t}\n\n\t\t\tconsole.error(\"Advanced Select component.\", \"addEventListener()\", \"Invalid event name\");\n\t\t},\n\t\tdispatchEvent: name => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] == \"undefined\") {\n\t\t\t\treturn console.error(\"Advanced Select component.\", \"dispatchEvent()\", \"Invalid event name\");\n\t\t\t}\n\t\t\t\n\t\t\tfor(let eventHandler of container.advancedSelect.eventsHandlers[name]) {\n\t\t\t\teventHandler(container);\n\t\t\t}\n\t\t}\n\t};\n\n\tinput.setAttribute(\"autocomplete\", \"nope\");\n\n\tinput.advancedSelect = {\n\t\tvalue: () => container.advancedSelect.value()\n\t}\n\n\tinput.addEventListener(\"focus\", e => {\n\t\tcontainer.advancedSelect.openList();\n\t});\n\n\tinput.addEventListener(\"blur\", e => {\n\t\trequestAnimationFrame(() => {\n\t\t\tif(!container.matches(\":hover\")) {\n\t\t\t\tcontainer.advancedSelect.closeList();\n\t\t\t}\n\t\t});\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"ArrowUp\") {\n\t\t\te.preventDefault();\n\t\t\t// up\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet prev = current.previousElementSibling;\n\n\t\t\t\twhile (prev) {\n\t\t\t\t\tif (!prev.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tprev = prev.previousElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!prev) {\n\t\t\t\t\tprev = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tprev?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tlastVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"ArrowDown\") {\n\t\t\te.preventDefault();\n\t\t\t// down\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet next = current.nextElementSibling;\n\n\t\t\t\twhile (next) {\n\t\t\t\t\tif (!next.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnext = next.nextElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!next) {\n\t\t\t\t\tnext = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tnext?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tfirstVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"Enter\") {\n\t\t\te.preventDefault();\n\t\t\tlet selected = container.querySelector(\".option.focus\");\n\t\t\tselectOption(input, container, selected);\n\t\t} else if(e.key === \"Escape\") {\n\t\t\tcontainer.advancedSelect.closeList();\n\t\t\tinput.blur();\n\t\t}\n\t});\n\n\tinput.addEventListener(\"input\", e => {\n\t\tconst val = e.currentTarget.value.toLowerCase();\n\t\tif(val == \"\") {\n\t\t\tcontainer.advancedSelect.optionsElements.forEach(i => i.classList.remove(\"hide\"));\n\t\t} else {\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) != -1)\n\t\t\t\t.forEach(i => i.classList.remove(\"hide\"));\n\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) == -1)\n\t\t\t\t.forEach(i => i.classList.add(\"hide\"));\n\n\t\t\tautoSetState(container);\n\n\t\t\tcontainer.querySelector(\".option.focus\")?.classList.remove(\"focus\");\n\t\t}\n\t});\n\n\tinput.addEventListener(\"change\", e => {\n\t\tcontainer.advancedSelect.dispatchEvent(\"changed\");\n\t});\n\n\t[ ...container.advancedSelect.optionsElements ].forEach(option => {\n\t\toption.addEventListener(\"pointerdown\", e => {\n\t\t\te.preventDefault();\n\t\t\tselectOption(input, container, e.currentTarget);\n\t\t});\n\t});\n\n\treturn container;\n}\n", "import Helper from \"./helper.js\";\n\nfunction template(originalText, isMultiString) {\n\tconst placeholder = \"Write something\";\n\tconst input = !isMultiString \n\t\t? ``\n\t\t: ``;\n\n\treturn `\n\t\t
    \n\t\t\t${originalText}\n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \n\t`;\n}\n\nexport default function editableString(stringContainer, isMultiString) {\n\tisMultiString = isMultiString ?? false;\n\n\tconst originalText = stringContainer.innerHTML;\n\n\tconst component = Helper.template.createElement(\"div\", {\n\t\t\"class\": \"component editable-string-component\"\n\t}, template(originalText, isMultiString));\n\n\tstringContainer.innerHTML = \"\";\n\tstringContainer.append(component);\n\n\tconst editBtn = component.querySelector(\".edit-text-btn\");\n\tconst applyBtn = component.querySelector(\".apply-changes-btn\");\n\tconst cancelBtn = component.querySelector(\".cancel-changes-btn\");\n\tconst content = component.querySelector(\".editable-string-content\");\n\tconst editableString = component.querySelector(\".editable-string\");\n\tconst form = component.querySelector(\".editable-string-form\");\n\tconst input = component.querySelector(\".input\");\n\n\tcomponent.editableString = {\n\t\tformIsDisplaying: false,\n\t\tvalue: originalText,\n\t\tinput: input,\n\t\teventsHandlers: {\n\t\t\tonChange: [],\n\t\t\tonSwitch: [],\n\t\t},\n\t\tswitch: () => {\n\t\t\tif(component.formIsDisplaying) {\n\t\t\t\tform.classList.add(\"d-none\");\n\t\t\t\tcontent.classList.remove(\"d-none\");\n\t\t\t\teditableString.innerText = component.editableString.value;\n\t\t\t} else {\n\t\t\t\tform.classList.remove(\"d-none\");\n\t\t\t\tcontent.classList.add(\"d-none\");\n\t\t\t\tinput.value = component.editableString.value;\n\t\t\t}\n\n\t\t\tcomponent.formIsDisplaying = !component.formIsDisplaying;\n\t\t\tcomponent.editableString.runEventHandler(\"onSwitch\");\n\t\t},\n\t\tsetValue: val => {\n\t\t\tcomponent.editableString.value = val;\n\t\t\tinput.value = val;\n\t\t\teditableString.innerText = val;\n\t\t},\n\t\tapply: () => {\n\t\t\tcomponent.editableString.value = input.value;\n\t\t\tcomponent.editableString.switch();\n\t\t\tif(input.value != originalText) {\n\t\t\t\tcomponent.editableString.runEventHandler(\"onChange\");\n\t\t\t}\n\t\t},\n\t\tonChange: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onChange.push(cb);\n\t\t},\n\t\tonSwitch: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onSwitch.push(cb);\n\t\t},\n\t\trunEventHandler: evName => {\n\t\t\tcomponent.editableString.eventsHandlers[evName].forEach(handler => handler(component.editableString));\n\t\t} \n\t}\n\n\teditBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tcancelBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tapplyBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.apply();\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"Enter\") {\n\t\t\tinput.blur();\n\t\t\tcomponent.editableString.apply();\n\t\t}\n\t});\n\n\treturn component;\n}\n", "import Helper from \"./helper.js\";\nimport Modals from \"./modals.js\";\n\nexport default function confirmPopup(text, confirmedCb, canceledCb) {\n\tModals.create(\"confirm-popup\", {\n\t\ttitle: `Requires confirmation`,\n\t\tbody: () => {\n\t\t\tconst paragraph = document.createElement(\"p\");\n\t\t\tparagraph.textContent = text ?? \"\";\n\t\t\treturn paragraph;\n\t\t},\n\t\tactions: modal => {\n\t\t\tconst buttonNO = Helper.template.createElement(\"button\", { class: \"btn btn-primary\" }, \"NO\");\n\t\t\tconst buttonYES = Helper.template.createElement(\"button\", { class: \"btn btn-warning\" }, \"YES\");\n\n\t\t\tbuttonNO.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tcanceledCb?.();\n\t\t\t});\n\n\t\t\tbuttonYES.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tconfirmedCb?.();\n\t\t\t});\n\n\t\t\treturn [ buttonNO, buttonYES ];\n\t\t}\n\t}).show();\n}\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst drawer = document.createElement(\"div\");\n\tdrawer.className = \"drawer\";\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.id = id;\n\n\tif(props.position === \"left\") {\n\t\tdrawer.classList.add(\"drawer-left\");\n\t}\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"drawer-backdrop\";\n\n\tconst panel = document.createElement(\"aside\");\n\tpanel.className = \"drawer-panel\";\n\tpanel.setAttribute(\"role\", \"dialog\");\n\tpanel.setAttribute(\"aria-modal\", \"true\");\n\tpanel.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"drawer-header\";\n\n\tconst drawerTitle = document.createElement(\"h4\");\n\tdrawerTitle.className = \"drawer-title\";\n\tdrawerTitle.id = `${id}-title`;\n\tdrawerTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon drawer-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"drawer-body\";\n\n\tconst drawerFooter = document.createElement(\"footer\");\n\tdrawerFooter.className = \"drawer-footer\";\n\tappendContent(drawerFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(drawerTitle, close);\n\tpanel.append(header, body, drawerFooter);\n\tdrawer.append(backdrop, panel);\n\n\treturn drawer;\n}\n\nfunction init(drawer, onready) {\n\tdrawer.show = function() {\n\t\tdocument.querySelector(\"body\").append(drawer);\n\n\t\tsetTimeout(() => {\n\t\t\tdrawer.classList.add(\"a-show\");\n\t\t}, 10);\n\t};\n\n\tdrawer.close = function() {\n\t\tdrawer.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tdrawer.remove();\n\t\t}, 300);\n\t};\n\n\tdrawer.querySelector(\".drawer-close\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tdrawer.querySelector(\".drawer-backdrop\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(drawer);\n\t}\n\n\treturn drawer;\n}\n\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst drawer = template(id, title, footer, props);\n\n\tconst drawerBody = drawer.querySelector(\".drawer-body\");\n\tconst drawerFooter = drawer.querySelector(\".drawer-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(drawer);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tdrawerFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tdrawerFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(drawer);\n\n\t\tappendContent(drawerBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(drawer, props?.onready);\n}\n\nexport default {\n\tcreate\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getDrawerForToggle(toggle, root) {\n\tconst id = toggle.getAttribute(\"aria-controls\");\n\n\tif(id) {\n\t\treturn root.getElementById?.(id) || document.getElementById(id);\n\t}\n\n\treturn root.querySelector?.(\"[data-navigation-drawer]\") || document.querySelector(\"[data-navigation-drawer]\");\n}\n\nfunction open(drawer, toggle) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.add(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"false\");\n\tdrawer.removeAttribute(\"inert\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"true\");\n\tdocument.body.classList.add(\"nav-drawer-open\");\n\n\tconst firstControl = drawer.querySelector(\"[data-navigation-close], a, button, input, select, textarea\");\n\tfirstControl?.focus?.();\n}\n\nfunction close(drawer, toggle, shouldRestoreFocus = true) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.remove(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.setAttribute(\"inert\", \"\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"false\");\n\tdocument.body.classList.remove(\"nav-drawer-open\");\n\n\tif(shouldRestoreFocus) {\n\t\ttoggle?.focus?.();\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst toggle = event.target.closest(\"[data-navigation-toggle]\");\n\n\t\tif(!toggle) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = getDrawerForToggle(toggle, root);\n\n\t\tif(drawer?.classList.contains(\"is-open\")) {\n\t\t\tclose(drawer, toggle);\n\t\t} else {\n\t\t\topen(drawer, toggle);\n\t\t}\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst closeControl = event.target.closest(\"[data-navigation-close], [data-navigation-link], .nav-drawer .list-action\");\n\n\t\tif(!closeControl) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = closeControl.closest(\"[data-navigation-drawer]\") || root.querySelector(\"[data-navigation-drawer]\");\n\t\tconst toggle = drawer?.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\tconst shouldRestoreFocus = !closeControl.matches(\"[data-navigation-link]\");\n\t\tclose(drawer, toggle, shouldRestoreFocus);\n\t});\n\n\tdocument.addEventListener(\"keydown\", event => {\n\t\tif(event.key !== \"Escape\") {\n\t\t\treturn;\n\t\t}\n\n\t\troot.querySelectorAll(\"[data-navigation-drawer].is-open\").forEach(drawer => {\n\t\t\tconst toggle = drawer.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\t\tclose(drawer, toggle);\n\t\t});\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\topen,\n\tclose\n};\n", "const initializedRoots = new WeakSet();\nlet keyboardDismissInitialized = false;\n\nfunction closeNode(node) {\n\tnode.classList.remove(\"is-open\");\n\tnode.querySelectorAll(\"[aria-expanded='true']\").forEach(trigger => {\n\t\ttrigger.setAttribute(\"aria-expanded\", \"false\");\n\t});\n}\n\nfunction closeAll(except = null) {\n\tdocument.querySelectorAll(\".dropdown.is-open, .popover.is-open, .tooltip.is-open\").forEach(node => {\n\t\tif(node !== except) {\n\t\t\tcloseNode(node);\n\t\t}\n\t});\n}\n\nfunction initDropdowns(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-dropdown-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst dropdown = trigger.closest(\".dropdown\");\n\n\t\tif(!dropdown) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = dropdown.classList.contains(\"is-open\");\n\t\tcloseAll(dropdown);\n\t\tdropdown.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initPopovers(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-popover-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst popover = trigger.closest(\".popover\");\n\n\t\tif(!popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = popover.classList.contains(\"is-open\");\n\t\tcloseAll(popover);\n\t\tpopover.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initTooltips(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-tooltip-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tooltip = trigger.closest(\".tooltip\");\n\n\t\tif(!tooltip) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = tooltip.classList.contains(\"is-open\");\n\t\tcloseAll(tooltip);\n\t\ttooltip.classList.toggle(\"is-open\", !isOpen);\n\t});\n}\n\nfunction initDismiss(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tif(event.target.closest(\".dropdown, .popover, .tooltip\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseAll();\n\t});\n\n\tif(!keyboardDismissInitialized) {\n\t\tdocument.addEventListener(\"keydown\", event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tcloseAll();\n\t\t\t}\n\t\t});\n\n\t\tkeyboardDismissInitialized = true;\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\tinitDropdowns(root);\n\tinitPopovers(root);\n\tinitTooltips(root);\n\tinitDismiss(root);\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tcloseAll\n};\n", "const initializedRoots = new WeakSet();\nconst fileUploadState = new WeakMap();\n\nfunction getFileKey(file) {\n\treturn `${file.name}:${file.size}:${file.lastModified}`;\n}\n\nfunction clearFilePreviews(previewNode) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tpreviewNode.querySelectorAll(\"img[data-object-url]\").forEach(image => {\n\t\tURL.revokeObjectURL(image.dataset.objectUrl);\n\t});\n\tpreviewNode.innerHTML = \"\";\n\tpreviewNode.hidden = true;\n}\n\nfunction getStoredFiles(input) {\n\treturn fileUploadState.get(input) || [];\n}\n\nfunction setStoredFiles(input, files) {\n\tfileUploadState.set(input, files);\n\n\tconst transfer = new DataTransfer();\n\tfiles.forEach(file => transfer.items.add(file));\n\tinput.files = transfer.files;\n}\n\nfunction addStoredFiles(input, files) {\n\tconst storedFiles = getStoredFiles(input);\n\tconst knownKeys = new Set(storedFiles.map(getFileKey));\n\tconst nextFiles = [...storedFiles];\n\n\tfiles.forEach(file => {\n\t\tconst key = getFileKey(file);\n\n\t\tif(!knownKeys.has(key)) {\n\t\t\tknownKeys.add(key);\n\t\t\tnextFiles.push(file);\n\t\t}\n\t});\n\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction removeStoredFile(input, index) {\n\tconst nextFiles = getStoredFiles(input).filter((file, fileIndex) => fileIndex !== index);\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction getFileType(file) {\n\tconst nameParts = file.name.split(\".\");\n\tconst extension = nameParts.length > 1 ? nameParts.pop().trim() : \"\";\n\n\tif(extension) {\n\t\treturn extension.slice(0, 6).toUpperCase();\n\t}\n\n\tif(file.type) {\n\t\treturn file.type.split(\"/\").pop().slice(0, 6).toUpperCase();\n\t}\n\n\treturn \"FILE\";\n}\n\nfunction formatBytes(bytes) {\n\tif(!Number.isFinite(bytes)) {\n\t\treturn \"\";\n\t}\n\n\tif(bytes === 0) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n\tconst value = bytes / Math.pow(1024, index);\n\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nfunction updateFileUpload(input) {\n\tconst container = input.closest(\".file-upload-panel, .file-upload\");\n\tconst previewNode = container?.querySelector(\"[data-file-upload-preview]\");\n\n\tif(!container || !previewNode) {\n\t\treturn;\n\t}\n\n\tconst files = getStoredFiles(input);\n\n\tif(!files.length) {\n\t\tclearFilePreviews(previewNode);\n\t\treturn;\n\t}\n\n\tupdateFilePreviews(previewNode, files);\n}\n\nfunction updateFilePreviews(previewNode, files) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tclearFilePreviews(previewNode);\n\n\tfiles.forEach((file, index) => {\n\t\tconst figure = document.createElement(\"figure\");\n\t\tfigure.className = \"file-upload-preview-item\";\n\t\tfigure.dataset.fileUploadIndex = String(index);\n\n\t\tconst preview = document.createElement(\"div\");\n\t\tpreview.className = \"file-upload-preview-visual\";\n\n\t\tif(file.type.startsWith(\"image/\")) {\n\t\t\tconst image = document.createElement(\"img\");\n\t\t\tconst objectUrl = URL.createObjectURL(file);\n\t\t\timage.src = objectUrl;\n\t\t\timage.dataset.objectUrl = objectUrl;\n\t\t\timage.alt = \"\";\n\t\t\timage.loading = \"lazy\";\n\t\t\tpreview.append(image);\n\t\t} else {\n\t\t\tconst type = document.createElement(\"span\");\n\t\t\ttype.className = \"file-upload-preview-type\";\n\t\t\ttype.textContent = getFileType(file);\n\t\t\tpreview.append(type);\n\t\t}\n\n\t\tconst caption = document.createElement(\"figcaption\");\n\n\t\tconst name = document.createElement(\"span\");\n\t\tname.className = \"file-upload-preview-name\";\n\t\tname.textContent = file.name;\n\n\t\tconst meta = document.createElement(\"span\");\n\t\tmeta.className = \"file-upload-preview-meta\";\n\t\tmeta.textContent = `${getFileType(file)} / ${formatBytes(file.size)}`;\n\n\t\tconst remove = document.createElement(\"button\");\n\t\tremove.className = \"file-upload-preview-remove\";\n\t\tremove.type = \"button\";\n\t\tremove.dataset.fileUploadRemove = String(index);\n\t\tremove.setAttribute(\"aria-label\", `Remove ${file.name}`);\n\t\tremove.innerHTML = ``;\n\n\t\tcaption.append(name, meta);\n\t\tfigure.append(remove, preview, caption);\n\t\tpreviewNode.append(figure);\n\t});\n\n\tpreviewNode.hidden = false;\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst clearButton = event.target.closest(\"[data-input-clear]\");\n\n\t\tif(!clearButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group = clearButton.closest(\".input-group\");\n\t\tconst input = group?.querySelector(\"input, textarea\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\t\tinput.focus();\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst removeButton = event.target.closest(\"[data-file-upload-remove]\");\n\n\t\tif(!removeButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = removeButton.closest(\".file-upload-panel, .file-upload\");\n\t\tconst input = container?.querySelector(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tremoveStoredFile(input, Number(removeButton.dataset.fileUploadRemove));\n\t\tupdateFileUpload(input);\n\t\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst input = event.target.closest(\"[data-date-picker]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.focus();\n\n\t\tif(typeof input.showPicker === \"function\") {\n\t\t\ttry {\n\t\t\t\tinput.showPicker();\n\t\t\t} catch(error) {\n\t\t\t\t// Some browsers restrict showPicker() to direct user gestures or supported input types.\n\t\t\t}\n\t\t}\n\t});\n\n\troot.addEventListener(\"change\", event => {\n\t\tconst input = event.target.closest(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\taddStoredFiles(input, Array.from(input.files || []));\n\t\tupdateFileUpload(input);\n\t});\n\n\troot.addEventListener(\"reset\", event => {\n\t\tconst form = event.target.closest(\"form\");\n\n\t\tif(!form) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tform.querySelectorAll(\"[data-file-upload-input]\").forEach(input => {\n\t\t\t\tsetStoredFiles(input, []);\n\t\t\t\tupdateFileUpload(input);\n\t\t\t});\n\t\t}, 0);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tupdateFileUpload\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getPanel(details) {\n\treturn details.querySelector(\".accordion-panel\");\n}\n\nfunction prepareOpenPanel(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel) {\n\t\treturn;\n\t}\n\n\tpanel.style.height = \"auto\";\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n}\n\nfunction expand(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tdetails.open = true;\n\tpanel.style.height = \"0px\";\n\tpanel.style.opacity = \"0\";\n\tpanel.style.transform = \"translateY(-8px)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = `${panel.scrollHeight}px`;\n\t\tpanel.style.opacity = \"1\";\n\t\tpanel.style.transform = \"translateY(0)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tpanel.style.height = \"auto\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction collapse(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tpanel.style.height = `${panel.scrollHeight}px`;\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = \"0px\";\n\t\tpanel.style.opacity = \"0\";\n\t\tpanel.style.transform = \"translateY(-8px)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tdetails.open = false;\n\t\tpanel.style.height = \"\";\n\t\tpanel.style.opacity = \"\";\n\t\tpanel.style.transform = \"\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction toggle(details) {\n\tif(details.open) {\n\t\tcollapse(details);\n\t} else {\n\t\texpand(details);\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".accordion-item[open], .disclosure[open]\").forEach(prepareOpenPanel);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst summary = event.target.closest(\".accordion-summary\");\n\n\t\tif(!summary) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst details = summary.closest(\".accordion-item, .disclosure\");\n\n\t\tif(!details) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\ttoggle(details);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\texpand,\n\tcollapse,\n\ttoggle\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getTabs(root) {\n\treturn [...root.querySelectorAll('[role=\"tab\"], .tab')];\n}\n\nfunction getPanels(root) {\n\treturn [...root.querySelectorAll('[role=\"tabpanel\"], .tab-panel')];\n}\n\nfunction getPanel(root, tab) {\n\tconst panelId = tab.getAttribute(\"aria-controls\");\n\n\tif(!panelId) {\n\t\treturn null;\n\t}\n\n\treturn root.querySelector(`#${CSS.escape(panelId)}`);\n}\n\nfunction setTabState(tab, isActive) {\n\ttab.classList.toggle(\"tab-active\", isActive);\n\ttab.setAttribute(\"aria-selected\", isActive ? \"true\" : \"false\");\n\ttab.setAttribute(\"tabindex\", isActive ? \"0\" : \"-1\");\n}\n\nfunction setPanelState(panel, isActive) {\n\tpanel.classList.toggle(\"tab-panel-active\", isActive);\n\tpanel.toggleAttribute(\"hidden\", !isActive);\n}\n\nfunction activate(tab, options = {}) {\n\tif(!tab || tab.disabled || tab.getAttribute(\"aria-disabled\") === \"true\") {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\n\tif(!root) {\n\t\treturn;\n\t}\n\n\tgetTabs(root).forEach(item => setTabState(item, item === tab));\n\tgetPanels(root).forEach(panel => setPanelState(panel, false));\n\n\tconst panel = getPanel(root, tab);\n\n\tif(panel) {\n\t\tsetPanelState(panel, true);\n\t}\n\n\tif(options.focus !== false) {\n\t\ttab.focus();\n\t}\n}\n\nfunction getNextEnabledTab(tabs, activeIndex, direction) {\n\tfor(let offset = 1; offset <= tabs.length; offset++) {\n\t\tconst index = (activeIndex + (offset * direction) + tabs.length) % tabs.length;\n\t\tconst tab = tabs[index];\n\n\t\tif(!tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\") {\n\t\t\treturn tab;\n\t\t}\n\t}\n\n\treturn tabs[activeIndex];\n}\n\nfunction handleKeydown(event) {\n\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\tif(!tab) {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\tconst tabs = root ? getTabs(root) : [];\n\tconst activeIndex = tabs.indexOf(tab);\n\n\tif(activeIndex < 0) {\n\t\treturn;\n\t}\n\n\tlet nextTab = null;\n\n\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, 1);\n\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, -1);\n\t} else if(event.key === \"Home\") {\n\t\tnextTab = getNextEnabledTab(tabs, -1, 1);\n\t} else if(event.key === \"End\") {\n\t\tnextTab = getNextEnabledTab(tabs, 0, -1);\n\t}\n\n\tif(!nextTab) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\tactivate(nextTab);\n}\n\nfunction prepare(root) {\n\tconst tabs = getTabs(root);\n\tconst activeTab = tabs.find(tab => tab.classList.contains(\"tab-active\") || tab.getAttribute(\"aria-selected\") === \"true\")\n\t\t|| tabs.find(tab => !tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\");\n\n\ttabs.forEach(tab => {\n\t\ttab.setAttribute(\"role\", \"tab\");\n\t\tsetTabState(tab, tab === activeTab);\n\t});\n\n\troot.querySelectorAll(\".tabs-list\").forEach(list => {\n\t\tlist.setAttribute(\"role\", \"tablist\");\n\t});\n\n\tgetPanels(root).forEach(panel => {\n\t\tpanel.setAttribute(\"role\", \"tabpanel\");\n\t\tsetPanelState(panel, activeTab ? panel === getPanel(root, activeTab) : panel.classList.contains(\"tab-panel-active\"));\n\t});\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".tabs\").forEach(prepare);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\t\tif(!tab || !root.contains(tab)) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tactivate(tab, { focus: false });\n\t});\n\n\troot.addEventListener(\"keydown\", handleKeydown);\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tactivate\n};\n", "export default function demoNavigation() {\n const navItems = [...document.querySelectorAll(\".nav-drawer .list-item\")];\n const currentSection = document.querySelector(\"[data-docs-current-section]\");\n\n if (!navItems.length) {\n return;\n }\n\n const setActive = id => {\n navItems.forEach(item => {\n const link = item.querySelector(\".list-action\");\n const isActive = link?.getAttribute(\"href\") === `#${id}`;\n item.classList.toggle(\"list-item-active\", isActive);\n\n if (isActive && currentSection) {\n currentSection.textContent = link.querySelector(\".list-label\")?.textContent.trim() || id;\n }\n });\n };\n\n const updateFromHash = () => {\n const id = window.location.hash?.slice(1);\n\n if (id) {\n setActive(id);\n }\n };\n\n window.addEventListener(\"hashchange\", updateFromHash);\n updateFromHash();\n}\n", "function fallbackCopy(text) {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.setAttribute(\"readonly\", \"readonly\");\n textarea.style.position = \"fixed\";\n textarea.style.opacity = \"0\";\n document.body.append(textarea);\n textarea.select();\n document.execCommand(\"copy\");\n textarea.remove();\n}\n\nfunction escapeHtml(text) {\n return text\n .replace(/&/g, \"&\")\n .replace(//g, \">\");\n}\n\nfunction highlightJavascript(code) {\n const source = code.textContent;\n const tokens = /\\/\\/.*$|\\/\\*[\\s\\S]*?\\*\\/|`(?:\\\\[\\s\\S]|[^`\\\\])*`|'(?:\\\\.|[^'\\\\])*'|\"(?:\\\\.|[^\"\\\\])*\"|\\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\\b|\\b\\d+(?:\\.\\d+)?\\b|\\b[A-Za-z_$][\\w$]*(?=\\s*\\()/gm;\n let html = \"\";\n let cursor = 0;\n let match;\n\n while ((match = tokens.exec(source)) !== null) {\n const token = match[0];\n html += escapeHtml(source.slice(cursor, match.index));\n\n if (token.startsWith(\"//\") || token.startsWith(\"/*\")) {\n html += `${escapeHtml(token)}`;\n } else if (token.startsWith(\"\\\"\") || token.startsWith(\"'\") || token.startsWith(\"`\")) {\n html += `${escapeHtml(token)}`;\n } else if (/^\\d/.test(token)) {\n html += `${escapeHtml(token)}`;\n } else if (/^[A-Za-z_$][\\w$]*$/.test(token) && source[match.index + token.length]?.match(/\\s|\\(/)) {\n const keyword = /^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(token);\n html += keyword\n ? `${token}`\n : `${token}`;\n } else {\n html += escapeHtml(token);\n }\n\n cursor = match.index + token.length;\n }\n\n html += escapeHtml(source.slice(cursor));\n code.innerHTML = html;\n code.classList.add(\"hljs\");\n}\n\nfunction highlightCode() {\n document.querySelectorAll(\"code.language-js, code.language-javascript\").forEach(highlightJavascript);\n\n if (window.hljs) {\n document\n .querySelectorAll(\"code:not(.language-js):not(.language-javascript)\")\n .forEach(code => window.hljs.highlightElement(code));\n }\n}\n\nexport default function codeExamples() {\n highlightCode();\n\n document.querySelectorAll(\".code-example .btn-icon\").forEach(button => {\n button.addEventListener(\"click\", async () => {\n const example = button.closest(\".code-example\");\n const code = example?.querySelector(\"code\");\n const text = code?.textContent ?? \"\";\n const originalIcon = button.innerHTML;\n\n if (!text) {\n return;\n }\n\n try {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n } else {\n fallbackCopy(text);\n }\n } catch {\n fallbackCopy(text);\n }\n\n button.innerHTML = ``;\n\n setTimeout(() => {\n button.innerHTML = originalIcon;\n }, 1200);\n });\n });\n}\n"], + "mappings": "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", + "names": ["index_exports", "__export", "accordion_default", "drawer_default", "helper_default", "input_patterns_default", "modals_default", "navigation_shell_default", "overlays_default", "tabs_default", "toasts_default", "advancedSelect", "confirmPopup", "index_default", "editableString", "sidebarNav", "items", "listItems", "item", "aOpen", "aClose", "table", "caption", "columns", "data", "tfoot", "head", "totalColumns", "key", "body", "column", "foot", "tableCaption", "tableHead", "createElement", "type", "props", "content", "node", "value", "createAlert", "fieldsUnification", "map", "dataObj", "field", "btnLoadingState", "btn", "isLoading", "cardStatusLoadingState", "card", "iconContainer", "mainTemplate", "sidebar", "connectionStatusBadge", "status", "toogleStateBadge", "state", "timeAgo", "dateString", "date", "diff_seconds", "minutes", "hours", "days", "remain_minutes", "formatDate", "now", "today", "target_day", "diff_days", "months", "circleLoaderHTML", "emptyHereHTML", "helper_default", "appendIcon", "container", "icon", "iconWrap", "template", "type", "title", "text", "toast", "content", "toastHeader", "toastText", "progress", "progressBar", "close", "init", "props", "lifetime", "_a", "e", "lifetimeInterval", "create", "applyDefaults", "createSuccess", "createInfo", "createWarning", "createError", "toasts_default", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "modal", "backdrop", "dialog", "panel", "header", "modalTitle", "close", "body", "modalFooter", "init", "onready", "e", "create", "modalBody", "actionsResult", "actions", "actionElement", "bodyResult", "modals_default", "scrollToElementInFocus", "container", "focus", "container_rect", "focus_rect", "autoSetState", "firstVisibleOption", "lastVisibleOption", "selectOption", "input", "option", "advancedSelect", "options", "notFoundText", "popup", "notFound", "optionsContainer", "optionValue", "existsOption", "value", "ret", "stateName", "name", "handler", "eventHandler", "e", "_a", "_b", "current", "prev", "next", "selected", "val", "i", "template", "originalText", "isMultiString", "placeholder", "input", "editableString", "stringContainer", "component", "helper_default", "editBtn", "applyBtn", "cancelBtn", "content", "form", "val", "cb", "evName", "handler", "e", "confirmPopup", "text", "confirmedCb", "canceledCb", "modals_default", "paragraph", "modal", "buttonNO", "helper_default", "buttonYES", "e", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "drawer", "backdrop", "panel", "header", "drawerTitle", "close", "body", "drawerFooter", "init", "onready", "create", "drawerBody", "actionsResult", "actions", "actionElement", "bodyResult", "drawer_default", "initializedRoots", "getDrawerForToggle", "toggle", "root", "_a", "_b", "id", "open", "drawer", "firstControl", "close", "shouldRestoreFocus", "init", "event", "closeControl", "navigation_shell_default", "initializedRoots", "keyboardDismissInitialized", "closeNode", "node", "trigger", "closeAll", "except", "initDropdowns", "root", "event", "dropdown", "isOpen", "initPopovers", "popover", "initTooltips", "tooltip", "initDismiss", "init", "overlays_default", "initializedRoots", "fileUploadState", "getFileKey", "file", "clearFilePreviews", "previewNode", "image", "getStoredFiles", "input", "setStoredFiles", "files", "transfer", "addStoredFiles", "storedFiles", "knownKeys", "nextFiles", "key", "removeStoredFile", "index", "fileIndex", "getFileType", "nameParts", "extension", "formatBytes", "bytes", "units", "value", "updateFileUpload", "container", "updateFilePreviews", "figure", "preview", "objectUrl", "type", "caption", "name", "meta", "remove", "init", "root", "event", "clearButton", "group", "removeButton", "error", "form", "input_patterns_default", "initializedRoots", "getPanel", "details", "prepareOpenPanel", "panel", "expand", "handleTransitionEnd", "event", "collapse", "toggle", "init", "root", "summary", "accordion_default", "initializedRoots", "getTabs", "root", "getPanels", "getPanel", "tab", "panelId", "setTabState", "isActive", "setPanelState", "panel", "activate", "options", "_a", "item", "getNextEnabledTab", "tabs", "activeIndex", "direction", "offset", "index", "handleKeydown", "event", "nextTab", "prepare", "activeTab", "list", "init", "tabs_default", "demoNavigation", "navItems", "currentSection", "setActive", "id", "item", "_a", "link", "isActive", "updateFromHash", "fallbackCopy", "text", "textarea", "escapeHtml", "highlightJavascript", "code", "_a", "source", "tokens", "html", "cursor", "match", "token", "keyword", "highlightCode", "codeExamples", "button", "_b", "example", "originalIcon", "e", "api", "helper_default", "toasts_default", "modals_default", "advancedSelect", "editableString", "confirmPopup", "drawer_default", "navigation_shell_default", "overlays_default", "input_patterns_default", "accordion_default", "tabs_default", "demoNavigation", "codeExamples", "index_default", "api"] } diff --git a/dist/vue.html b/dist/vue.html index 2174f1f..aa25f91 100644 --- a/dist/vue.html +++ b/dist/vue.html @@ -2349,15 +2349,22 @@

    Toasts

    -

    Toasts создаются из JS и добавляются в `body` вызовом `.show()`. Для коротких уведомлений доступны методы `createInfo`, `createSuccess`, `createWarning`, `createDanger`.

    +

    Toasts создаются из JS и добавляются в `body` вызовом `.show()`. Для коротких уведомлений доступны методы `createInfo`, `createSuccess`, `createWarning`, `createDanger`. Если текст не передан — toast отображается в компактном однострочном виде.

    -

    Triggers (demo buttons)

    - +

    With text

    +
    - +
    +

    Title only

    + + + + +
    +
    Toasts JS @@ -2369,7 +2376,10 @@ { lifetime: 4000, alone: true } ).show(); -Toasts.createDanger("Error", "Произошла ошибка").show(); +Toasts.createDanger("Error", "Произошла ошибка").show(); + +// Title only — compact single-line toast +Toasts.createInfo("Saved").show();
    diff --git a/dist/vue/index.js b/dist/vue/index.js index b387deb..afa87a4 100644 --- a/dist/vue/index.js +++ b/dist/vue/index.js @@ -2481,13 +2481,17 @@ const showing = ref12(false); let timer = null; let closeTimer = null; + let progressTimer = null; + const progress = ref12(100); const dismiss = () => { window.clearTimeout(closeTimer); + window.clearInterval(progressTimer); closing.value = true; showing.value = false; closeTimer = window.setTimeout(() => { toast.value = null; closing.value = false; + progress.value = 100; window.clearTimeout(timer); timer = null; }, 300); @@ -2495,25 +2499,40 @@ const close = () => { window.clearTimeout(closeTimer); window.clearTimeout(timer); + window.clearInterval(progressTimer); closing.value = false; showing.value = false; + progress.value = 100; toast.value = null; }; const show = (options) => { window.clearTimeout(closeTimer); + window.clearInterval(progressTimer); closing.value = false; showing.value = false; + progress.value = 100; const variant = normalizeVariant(options.variant || options.type || "info", "info"); + const lifetime = options.lifetime !== void 0 ? options.lifetime : props.lifetime; toast.value = { id: Date.now(), variant: variant === "error" ? "danger" : variant, title: options.title || "", text: options.text || options.message || "", - icon: options.icon || iconByVariant[variant] || iconByVariant.info + icon: options.icon || iconByVariant[variant] || iconByVariant.info, + lifetime }; window.clearTimeout(timer); - if (options.lifetime !== 0) { - timer = window.setTimeout(dismiss, options.lifetime || props.lifetime); + if (lifetime !== 0) { + const step = 100; + const totalSteps = lifetime / step; + progress.value = 100; + progressTimer = window.setInterval(() => { + progress.value -= 100 / totalSteps; + if (progress.value <= 0) { + window.clearInterval(progressTimer); + } + }, step); + timer = window.setTimeout(dismiss, lifetime); } nextTick5(() => { requestAnimationFrame(() => { @@ -2546,18 +2565,24 @@ role: "alert" }, [ h57("div", { class: "toast-content" }, [ - h57("h4", { class: "toast-title" }, [ + h57("div", { class: "toast-header" }, [ iconNode(toast.value.icon), toast.value.title ]), - h57("p", { class: "toast-text" }, toast.value.text) + toast.value.text && h57("p", { class: "toast-text" }, toast.value.text) ]), h57("button", { class: "btn-icon toast-close", type: "button", "aria-label": "Close", onClick: dismiss - }, [iconNode("ph-x")]) + }, [iconNode("ph-x")]), + toast.value.lifetime !== 0 && h57("div", { class: "toast-progress" }, [ + h57("div", { + class: "toast-progress-bar", + style: { transform: `scaleX(${Math.max(0, progress.value / 100)})` } + }) + ]) ]) ]; }; diff --git a/dist/vue/index.js.map b/dist/vue/index.js.map index fda4687..4abd3c7 100644 --- a/dist/vue/index.js.map +++ b/dist/vue/index.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../src/vue/components/GnAccordion.js", "../../src/vue/utils.js", "../../src/vue/components/GnActionCard.js", "../../src/vue/components/GnActionList.js", "../../src/vue/components/GnActivityLog.js", "../../src/vue/components/GnAlert.js", "../../src/vue/components/GnAvatar.js", "../../src/vue/components/GnAvatarStack.js", "../../src/vue/components/GnBadge.js", "../../src/vue/components/GnButton.js", "../../src/vue/components/GnCard.js", "../../src/vue/components/GnCheckbox.js", "../../src/vue/components/GnChip.js", "../../src/vue/components/GnChipGroup.js", "../../src/vue/components/GnCombobox.js", "../../src/vue/components/GnConfirmDialog.js", "../../src/vue/components/GnModal.js", "../../src/vue/components/GnCopyButton.js", "../../src/vue/components/GnDescriptionList.js", "../../src/vue/components/GnDefinitionList.js", "../../src/vue/components/GnDropdown.js", "../../src/vue/components/GnDrawer.js", "../../src/vue/components/GnEmptyState.js", "../../src/vue/components/GnFileUpload.js", "../../src/vue/components/GnIconButton.js", "../../src/vue/components/GnIdentity.js", "../../src/vue/components/GnInput.js", "../../src/vue/components/GnInputGroup.js", "../../src/vue/components/GnList.js", "../../src/vue/components/GnLoader.js", "../../src/vue/components/GnLoginCard.js", "../../src/vue/components/GnMetricCard.js", "../../src/vue/components/GnNavList.js", "../../src/vue/composables/useVueRouter.js", "../../src/vue/components/GnNavigationShell.js", "../../src/vue/components/GnPageHeader.js", "../../src/vue/components/GnHorizontalCard.js", "../../src/vue/components/GnPagination.js", "../../src/vue/components/GnPopover.js", "../../src/vue/components/GnProgress.js", "../../src/vue/components/GnProgressStages.js", "../../src/vue/components/GnRadio.js", "../../src/vue/components/GnRadioGroup.js", "../../src/vue/components/GnRange.js", "../../src/vue/components/GnRouterTabs.js", "../../src/vue/components/GnTabs.js", "../../src/vue/components/GnSearchField.js", "../../src/vue/components/GnSelect.js", "../../src/vue/components/GnSkeleton.js", "../../src/vue/components/GnSteps.js", "../../src/vue/components/GnStatusCard.js", "../../src/vue/components/GnSwitch.js", "../../src/vue/components/GnTable.js", "../../src/vue/components/GnTextarea.js", "../../src/vue/components/GnTimeline.js", "../../src/vue/components/GnTooltip.js", "../../src/vue/components/GnToolbar.js", "../../src/vue/components/GnToastProvider.js", "../../src/vue/composables/toast-context.js", "../../src/vue/components/GnUsageMeter.js", "../../src/vue/components/GnUserCard.js", "../../src/vue/composables/useToast.js", "../../src/vue/plugin.js"], - "sourcesContent": ["import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAccordion\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tmodelValue: { type: [String, Array], default: \"\" },\n\t\tmultiple: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst localOpen = ref(props.multiple ? [] : \"\");\n\n\t\tconst getOpen = () => props.modelValue || localOpen.value;\n\t\tconst isOpen = id => props.multiple ? getOpen().includes(id) : getOpen() === id;\n\t\tconst toggle = id => {\n\t\t\tlet next;\n\n\t\t\tif(props.multiple) {\n\t\t\t\tconst current = [...getOpen()];\n\t\t\t\tnext = current.includes(id) ? current.filter(item => item !== id) : [...current, id];\n\t\t\t} else {\n\t\t\t\tnext = isOpen(id) ? \"\" : id;\n\t\t\t}\n\n\t\t\tlocalOpen.value = next;\n\t\t\temit(\"update:modelValue\", next);\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"accordion\" }, props.items.map(item => {\n\t\t\tconst open = isOpen(item.id);\n\n\t\t\treturn h(\"section\", { class: \"accordion-item\", open: open ? \"\" : undefined }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"accordion-summary\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-expanded\": open ? \"true\" : \"false\",\n\t\t\t\t\tonClick: () => toggle(item.id)\n\t\t\t\t}, [\n\t\t\t\t\th(\"span\", { class: \"accordion-summary-content\" }, [\n\t\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\t\titem.label\n\t\t\t\t\t]),\n\t\t\t\t\th(\"i\", { class: cx(\"ph ph-caret-down accordion-icon\", { \"is-open\": open }), \"aria-hidden\": \"true\" })\n\t\t\t\t]),\n\t\t\t\topen && h(\"div\", { class: \"accordion-panel\" }, slots[item.id]?.({ item, open }) || item.content)\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { h } from \"vue\";\n\nexport const variants = new Set([\n\t\"primary\",\n\t\"secondary\",\n\t\"accent\",\n\t\"success\",\n\t\"warning\",\n\t\"danger\",\n\t\"error\",\n\t\"info\"\n]);\n\nexport function cx(...items) {\n\treturn items\n\t\t.flatMap(item => {\n\t\t\tif(!item) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif(Array.isArray(item)) {\n\t\t\t\treturn item;\n\t\t\t}\n\n\t\t\tif(typeof item === \"object\") {\n\t\t\t\treturn Object.entries(item)\n\t\t\t\t\t.filter(([, enabled]) => enabled)\n\t\t\t\t\t.map(([name]) => name);\n\t\t\t}\n\n\t\t\treturn [item];\n\t\t})\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n}\n\nexport function normalizeVariant(value, fallback = \"primary\") {\n\treturn variants.has(value) ? value : fallback;\n}\n\nexport function iconNode(icon, extraClass = \"\") {\n\tif(!icon) {\n\t\treturn null;\n\t}\n\n\tconst hasPrefix = icon.includes(\"ph \") || icon.startsWith(\"ph-\");\n\n\tif(!hasPrefix) {\n\t\tif(typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`[gnexus-ui-kit] Icon \"${icon}\" is missing the required \"ph-\" prefix. Use \"ph-${icon}\" instead.`);\n\t\t}\n\t}\n\n\tconst iconClass = hasPrefix\n\t\t? icon\n\t\t: `ph-${icon}`;\n\n\treturn h(\"i\", {\n\t\tclass: cx(\"ph\", iconClass, extraClass),\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\n\nexport function slotOrText(slots, name, text) {\n\treturn slots[name] ? slots[name]() : text;\n}\n\nexport function eventValue(event) {\n\tconst target = event.target;\n\n\tif(target.type === \"checkbox\") {\n\t\treturn target.checked;\n\t}\n\n\treturn target.value;\n}\n\nexport const focusableSelector = [\n\t\"a[href]\",\n\t\"button:not([disabled])\",\n\t\"input:not([disabled])\",\n\t\"select:not([disabled])\",\n\t\"textarea:not([disabled])\",\n\t\"[tabindex]:not([tabindex='-1'])\"\n].join(\",\");\n\nexport function trapFocus(event, root) {\n\tif(event.key !== \"Tab\" || !root) {\n\t\treturn;\n\t}\n\n\tconst focusable = [...root.querySelectorAll(focusableSelector)]\n\t\t.filter(node => !node.hasAttribute(\"disabled\") && node.offsetParent !== null);\n\n\tif(!focusable.length) {\n\t\tevent.preventDefault();\n\t\troot.focus();\n\t\treturn;\n\t}\n\n\tconst first = focusable[0];\n\tconst last = focusable[focusable.length - 1];\n\n\tif(event.shiftKey && document.activeElement === first) {\n\t\tevent.preventDefault();\n\t\tlast.focus();\n\t} else if(!event.shiftKey && document.activeElement === last) {\n\t\tevent.preventDefault();\n\t\tfirst.focus();\n\t}\n}\n", "import { defineComponent, h } from \"vue\";\n\nexport default defineComponent({\n\tname: \"GnActionCard\",\n\tprops: {\n\t\tkicker: { type: String, default: \"\" },\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"article\", { class: \"card action-card\" }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"span\", { class: \"action-card-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h3\", { class: \"action-card-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"action-card-text\" }, slots.default?.() || props.text),\n\t\t\t\tslots.actions && h(\"div\", { class: \"action-card-actions\" }, slots.actions())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-actions\", attrs.class) }, props.items.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", item.muted && \"list-item-muted\")\n\t\t}, [\n\t\t\th(\"div\", { class: \"list-content\" }, [\n\t\t\t\th(\"div\", { class: \"list-title\" }, slots.title?.({ item }) || item.title || item.label || \"\"),\n\t\t\t\t(item.subtitle || slots.subtitle) && h(\"div\", { class: \"list-subtitle\" }, slots.subtitle?.({ item }) || item.subtitle)\n\t\t\t]),\n\t\t\tslots.controls && h(\"div\", { class: \"list-controls\" }, slots.controls({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActivityLog\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"activity-log\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"activity-log-row\"\n\t\t}, [\n\t\t\th(\"time\", { class: \"activity-log-time\" }, item.time),\n\t\t\th(\"span\", { class: \"activity-log-title\" }, slots[item.key]?.({ item }) || item.title),\n\t\t\tslots.actions && h(\"span\", {}, slots.actions({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAlert\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\trole: { type: String, default: \"status\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\trole: props.role,\n\t\t\t\tclass: cx(\"alert\", `alert-${variant}`, attrs.class)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatar\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tsrc: { type: String, default: \"\" },\n\t\talt: { type: String, default: \"\" },\n\t\tinitials: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false },\n\t\tstatus: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"avatar\", `avatar-${variant}`, {\n\t\t\t\t\t\"avatar-sm\": props.size === \"sm\",\n\t\t\t\t\t\"avatar-lg\": props.size === \"lg\",\n\t\t\t\t\t\"avatar-outline\": props.outline,\n\t\t\t\t\t\"is-online\": props.status === \"online\",\n\t\t\t\t\t\"is-busy\": props.status === \"busy\",\n\t\t\t\t\t\"is-offline\": props.status === \"offline\"\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\tprops.src ? h(\"img\", { src: props.src, alt: props.alt }) : iconNode(props.icon) || props.initials,\n\t\t\t\tprops.status && h(\"span\", { class: \"avatar-status\", \"aria-hidden\": \"true\" })\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatarStack\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcount: { type: [Number, String], default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"avatar-stack\" }, [\n\t\t\tprops.items.map(item => h(GnAvatar, { ...item, size: item.size || \"sm\" })),\n\t\t\tslots.default?.(),\n\t\t\tprops.count && h(\"span\", { class: \"avatar-stack-count\" }, `+${props.count}`)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnBadge\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"badge\",\n\t\t\t\t\tprops.outline && variant === \"primary\" ? \"badge-primary-outline\" : `badge-${variant}`,\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "/**\n * GnButton - Primary command component.\n *\n * @typedef {Object} GnButtonProps\n * @property {string} [variant='primary'] - primary | secondary | accent | success | warning | danger | error | info\n * @property {string} [size='md'] - sm | md | lg\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-plus\", \"ph-house\")\n * @property {boolean} [loading=false] - Show spinner and disable interaction\n * @property {boolean} [disabled=false] - Disabled state\n * @property {string} [type='button'] - button | submit | reset\n *\n * @slots default - Button label text\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnButton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tloading: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\ttype: { type: String, default: \"button\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst hasIcon = Boolean(props.icon || props.loading);\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"button\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tdisabled: props.disabled || props.loading,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"btn\",\n\t\t\t\t\t`btn-${variant}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t\"btn-small\": props.size === \"sm\",\n\t\t\t\t\t\t\"btn-large\": props.size === \"lg\",\n\t\t\t\t\t\t\"with-icon\": hasIcon,\n\t\t\t\t\t\t\"loading-state\": props.loading\n\t\t\t\t\t},\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, [\n\t\t\t\tprops.loading ? iconNode(\"ph-bold ph-spinner\") : iconNode(props.icon),\n\t\t\t\tslots.default?.()\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card\", props.variant && `card-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\t(props.title || slots.title) && h(\"header\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCheckbox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"checkbox\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"checkbox-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"checkbox-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChip\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tselected: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\tremovable: { type: Boolean, default: false },\n\t\tclickable: { type: Boolean, default: false }\n\t},\n\temits: [\"remove\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => {\n\t\t\tconst tag = props.clickable ? \"button\" : \"span\";\n\t\t\tconst variant = props.variant ? normalizeVariant(props.variant) : \"\";\n\t\t\tconst chipText = slots.default?.()?.[0]?.children;\n\n\t\t\treturn h(tag, {\n\t\t\t\t...attrs,\n\t\t\t\ttype: tag === \"button\" ? \"button\" : undefined,\n\t\t\t\tdisabled: tag === \"button\" ? props.disabled : undefined,\n\t\t\t\t\"aria-pressed\": tag === \"button\" ? String(props.selected) : undefined,\n\t\t\t\tclass: cx(\"chip\", variant && `chip-${variant}`, {\n\t\t\t\t\t\"chip-selected\": props.selected,\n\t\t\t\t\t\"chip-disabled\": props.disabled\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\ticonNode(props.icon),\n\t\t\t\tslots.default?.(),\n\t\t\t\tprops.removable && h(\"button\", {\n\t\t\t\t\tclass: \"chip-remove\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": chipText ? `Remove ${chipText}` : \"Remove\",\n\t\t\t\t\tonClick: event => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\temit(\"remove\");\n\t\t\t\t\t}\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChipGroup\",\n\tinheritAttrs: false,\n\tsetup(_, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"chip-group\", attrs.class) }, slots.default?.());\n\t}\n});\n", "import { computed, defineComponent, h, nextTick, ref } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nlet comboboxId = 0;\n\nexport default defineComponent({\n\tname: \"GnCombobox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tnotFoundText: { type: String, default: \"Nothing found\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"select\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst id = `gn-combobox-${++comboboxId}`;\n\t\tconst listboxId = `${id}-listbox`;\n\t\tconst open = ref(false);\n\t\tconst focused = ref(-1);\n\t\tconst inputRef = ref(null);\n\t\tconst normalized = computed(() => props.options.map(option => typeof option === \"object\" ? option : {\n\t\t\tvalue: option,\n\t\t\tlabel: option\n\t\t}));\n\t\tconst query = computed(() => String(props.modelValue ?? \"\").toLowerCase());\n\t\tconst filtered = computed(() => normalized.value.filter(option => String(option.label).toLowerCase().includes(query.value)));\n\t\tconst select = option => {\n\t\t\tif(!option) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\temit(\"update:modelValue\", option.label);\n\t\t\temit(\"select\", option);\n\t\t\topen.value = false;\n\t\t\tfocused.value = -1;\n\t\t};\n\t\tconst move = direction => {\n\t\t\tif(!filtered.value.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topen.value = true;\n\t\t\tfocused.value = (focused.value + direction + filtered.value.length) % filtered.value.length;\n\t\t\tnextTick(() => {\n\t\t\t\tconst container = inputRef.value?.closest(\".form-group\")?.querySelector(\".advanced-select\");\n\t\t\t\tcontainer?.querySelector(\".option.focus\")?.scrollIntoView({ block: \"nearest\" });\n\t\t\t});\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(1);\n\t\t\t} else if(event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(-1);\n\t\t\t} else if(event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselect(filtered.value[focused.value]);\n\t\t\t} else if(event.key === \"Escape\") {\n\t\t\t\topen.value = false;\n\t\t\t\tfocused.value = -1;\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tref: inputRef,\n\t\t\t\t\tid,\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\t\tautocomplete: \"off\",\n\t\t\t\t\trole: \"combobox\",\n\t\t\t\t\t\"aria-autocomplete\": \"list\",\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": listboxId,\n\t\t\t\t\t\"aria-activedescendant\": focused.value >= 0 ? `${id}-option-${focused.value}` : undefined,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonFocus: () => {\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t},\n\t\t\t\t\tonBlur: () => {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\topen.value = false;\n\t\t\t\t\t\t}, 120);\n\t\t\t\t\t},\n\t\t\t\t\tonInput: event => {\n\t\t\t\t\t\tfocused.value = -1;\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t\temit(\"update:modelValue\", eventValue(event));\n\t\t\t\t\t},\n\t\t\t\t\tonKeydown\n\t\t\t\t})\n\t\t\t]),\n\t\t\th(\"div\", { class: \"advanced-select-container\" }, [\n\t\t\t\th(\"div\", { class: cx(\"advanced-select\", { \"a-show\": open.value }) }, [\n\t\t\t\t\th(\"div\", { class: \"popup-options-container\" }, [\n\t\t\t\t\t\th(\"div\", { class: cx(\"not-found\", { show: !filtered.value.length }) }, props.notFoundText),\n\t\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\t\tid: listboxId,\n\t\t\t\t\t\t\tclass: cx(\"options\", { show: filtered.value.length }),\n\t\t\t\t\t\t\trole: \"listbox\"\n\t\t\t\t\t\t}, filtered.value.map((option, index) => h(\"div\", {\n\t\t\t\t\t\t\tid: `${id}-option-${index}`,\n\t\t\t\t\t\t\tclass: cx(\"option\", { focus: index === focused.value }),\n\t\t\t\t\t\t\trole: \"option\",\n\t\t\t\t\t\t\t\"aria-selected\": option.label === props.modelValue ? \"true\" : \"false\",\n\t\t\t\t\t\t\t\"data-value\": option.value,\n\t\t\t\t\t\t\t\"data-display-value\": option.label,\n\t\t\t\t\t\t\tonMousedown: event => {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tselect(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, option.label)))\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnButton from \"./GnButton.js\";\nimport GnModal from \"./GnModal.js\";\n\nexport default defineComponent({\n\tname: \"GnConfirmDialog\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"Requires confirmation\" },\n\t\tmessage: { type: String, default: \"\" },\n\t\tconfirmText: { type: String, default: \"YES\" },\n\t\tcancelText: { type: String, default: \"NO\" },\n\t\tconfirmVariant: { type: String, default: \"warning\" }\n\t},\n\temits: [\"update:open\", \"confirm\", \"cancel\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst close = () => emit(\"update:open\", false);\n\t\tconst cancel = () => {\n\t\t\temit(\"cancel\");\n\t\t\tclose();\n\t\t};\n\t\tconst confirm = () => {\n\t\t\temit(\"confirm\");\n\t\t\tclose();\n\t\t};\n\n\t\treturn () => h(GnModal, {\n\t\t\topen: props.open,\n\t\t\ttitle: props.title,\n\t\t\t\"onUpdate:open\": value => emit(\"update:open\", value)\n\t\t}, {\n\t\t\tdefault: () => slots.default?.() || h(\"p\", {}, props.message),\n\t\t\tactions: () => [\n\t\t\t\th(GnButton, { variant: \"primary\", onClick: cancel }, () => props.cancelText),\n\t\t\t\th(GnButton, { variant: props.confirmVariant, onClick: confirm }, () => props.confirmText)\n\t\t\t]\n\t\t});\n\t}\n});\n", "/**\n * GnModal - Accessible modal dialog with focus trapping and teleport.\n *\n * @typedef {Object} GnModalProps\n * @property {boolean} [open=false] - Dialog visibility\n * @property {string} [title=''] - Dialog title\n * @property {boolean} [closeOnBackdrop=true] - Click backdrop to close\n *\n * @slots default - Modal body content\n * @slots title - Override header title\n * @slots footer - Footer content\n * @slots actions - Action buttons (receives { close })\n * @emits update:open\n * @emits close\n */\nimport { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet modalId = 0;\n\nexport default defineComponent({\n\tname: \"GnModal\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tcloseOnBackdrop: { type: Boolean, default: true }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-modal-title-${++modalId}`;\n\t\tconst dialogRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, dialogRef.value);\n\t\t\t}\n\t\t};\n\t\tconst focusDialog = () => {\n\t\t\tnextTick(() => {\n\t\t\t\tdialogRef.value?.focus();\n\t\t\t});\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = true;\n\t\t\t\tvisible.value = true;\n\t\t\t\tnextTick(() => {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tclosing.value = false;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tfocusDialog();\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", { class: cx(\"modal\", closing.value ? \"a-hide\" : \"a-show\"), \"aria-hidden\": \"false\" }, [\n\t\t\t\th(\"div\", {\n\t\t\t\t\tclass: \"modal-backdrop\",\n\t\t\t\t\tonClick: () => props.closeOnBackdrop && close()\n\t\t\t\t}),\n\t\t\t\th(\"div\", {\n\t\t\t\t\tref: dialogRef,\n\t\t\t\t\tclass: \"modal-dialog\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"modal-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"modal-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon modal-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"modal-panel\" }, [\n\t\t\t\t\t\th(\"div\", { class: \"modal-body\" }, slots.default?.()),\n\t\t\t\t\t\t(slots.footer || slots.actions) && h(\"footer\", { class: \"modal-footer\" }, [\n\t\t\t\t\t\t\tslots.footer?.(),\n\t\t\t\t\t\t\tslots.actions && h(\"div\", { class: \"actions\" }, slots.actions({ close }))\n\t\t\t\t\t\t])\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCopyButton\",\n\tprops: {\n\t\ttext: { type: String, required: true },\n\t\ticon: { type: String, default: \"ph-copy\" },\n\t\tsuccessIcon: { type: String, default: \"ph-check\" },\n\t\tduration: { type: Number, default: 3000 },\n\t\tlabel: { type: String, default: \"Copy\" },\n\t\tsize: { type: String, default: null }\n\t},\n\temits: [\"copy\"],\n\tsetup(props, { emit }) {\n\t\tconst copied = ref(false);\n\t\tlet timer = null;\n\n\t\tconst copy = async () => {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(props.text);\n\t\t\t} catch {\n\t\t\t\t// Fallback for older browsers or non-secure contexts\n\t\t\t\tconst textarea = document.createElement(\"textarea\");\n\t\t\t\ttextarea.value = props.text;\n\t\t\t\ttextarea.style.position = \"fixed\";\n\t\t\t\ttextarea.style.opacity = \"0\";\n\t\t\t\tdocument.body.appendChild(textarea);\n\t\t\t\ttextarea.select();\n\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\tdocument.body.removeChild(textarea);\n\t\t\t}\n\n\t\t\tcopied.value = true;\n\t\t\twindow.clearTimeout(timer);\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tcopied.value = false;\n\t\t\t}, props.duration);\n\n\t\t\temit(\"copy\", props.text);\n\t\t};\n\n\t\treturn () => h(\"button\", {\n\t\t\tclass: cx(\"btn-icon\", { \"btn-icon-sm\": props.size === \"sm\" }),\n\t\t\ttype: \"button\",\n\t\t\t\"aria-label\": props.label,\n\t\t\tonClick: copy\n\t\t}, [iconNode(copied.value ? props.successIcon : props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDescriptionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcompact: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"description-list\", { \"description-list-compact\": props.compact }, attrs.class)\n\t\t}, props.items.map(item => h(\"div\", { class: \"description-list-row\" }, [\n\t\t\th(\"dt\", { class: \"description-list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: cx(\"description-list-value\", item.muted && \"description-list-value-muted\") },\n\t\t\t\tslots[item.key]?.({ item }) || item.value\n\t\t\t)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDefinitionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", { ...attrs, class: cx(\"list list-definition\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"list-row\"\n\t\t}, [\n\t\t\th(\"dt\", { class: \"list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: \"list-desc\" }, slots[item.key]?.({ item }) || item.description || item.value)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnDropdown\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Actions\" },\n\t\ticon: { type: String, default: \"ph-dots-three-outline\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\titems: { type: Array, default: () => [] }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst select = item => {\n\t\t\tif(item.disabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem.onSelect?.(item);\n\t\t\temit(\"select\", item);\n\t\t\tclose();\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"dropdown\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"dropdown-menu\", role: \"menu\" }, slots.default?.({ close }) || props.items.map(item => h(\"button\", {\n\t\t\t\tclass: cx(\"dropdown-item\", item.danger && \"dropdown-item-danger\"),\n\t\t\t\ttype: \"button\",\n\t\t\t\trole: \"menuitem\",\n\t\t\t\tdisabled: item.disabled,\n\t\t\t\tonClick: () => select(item)\n\t\t\t}, [\n\t\t\t\ticonNode(item.icon),\n\t\t\t\titem.label\n\t\t\t])))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet drawerId = 0;\n\nexport default defineComponent({\n\tname: \"GnDrawer\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tposition: { type: String, default: \"right\" }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-drawer-title-${++drawerId}`;\n\t\tconst panelRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, panelRef.value);\n\t\t\t}\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = true;\n\t\t\t\tvisible.value = true;\n\t\t\t\tnextTick(() => {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tclosing.value = false;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => panelRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", {\n\t\t\t\tclass: cx(\"drawer\", closing.value ? \"a-hide\" : \"a-show\", { \"drawer-left\": props.position === \"left\" }),\n\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"drawer-backdrop\", onClick: close }),\n\t\t\t\th(\"aside\", {\n\t\t\t\t\tref: panelRef,\n\t\t\t\t\tclass: \"drawer-panel\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"drawer-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"drawer-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon drawer-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"drawer-body\" }, slots.default?.()),\n\t\t\t\t\tslots.footer && h(\"footer\", { class: \"drawer-footer\" }, slots.footer({ close }))\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnEmptyState\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-package\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"empty-state\", props.variant && `empty-state-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"empty-state-icon\" }, [iconNode(props.icon)]),\n\t\t\th(\"h3\", { class: \"empty-state-title\" }, slots.title?.() || props.title),\n\t\t\t(props.text || slots.default) && h(\"p\", { class: \"empty-state-text\" }, slots.default?.() || props.text),\n\t\t\tslots.actions && h(\"div\", { class: \"empty-state-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnBadge from \"./GnBadge.js\";\n\nfunction fileType(file) {\n\tconst ext = file.name.split(\".\").pop();\n\treturn ext ? ext.slice(0, 6).toUpperCase() : \"FILE\";\n}\n\nfunction fileSize(file) {\n\tif(!file.size) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(file.size) / Math.log(1024)), units.length - 1);\n\tconst value = file.size / Math.pow(1024, index);\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nexport default defineComponent({\n\tname: \"GnFileUpload\",\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\ttitle: { type: String, default: \"Upload files\" },\n\t\tdescription: { type: String, default: \"Attach documents, archives or images.\" },\n\t\tprimary: { type: String, default: \"Choose files\" },\n\t\tsecondary: { type: String, default: \"Images get thumbnails, other files show their type\" },\n\t\tbadge: { type: String, default: \"\" },\n\t\tmultiple: { type: Boolean, default: true },\n\t\taccept: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"change\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst urls = ref(new Map());\n\t\tconst revokeFile = file => {\n\t\t\tconst url = urls.value.get(file);\n\n\t\t\tif(url) {\n\t\t\t\tURL.revokeObjectURL(url);\n\t\t\t\turls.value.delete(file);\n\t\t\t}\n\t\t};\n\t\tconst revokeAll = () => {\n\t\t\turls.value.forEach(url => URL.revokeObjectURL(url));\n\t\t\turls.value.clear();\n\t\t};\n\t\tconst setFiles = fileList => {\n\t\t\tconst files = Array.from(fileList || []);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst remove = index => {\n\t\t\trevokeFile(props.modelValue[index]);\n\t\t\tconst files = props.modelValue.filter((_, itemIndex) => itemIndex !== index);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst previewUrl = file => {\n\t\t\tif(!file.type?.startsWith(\"image/\")) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\n\t\t\tif(!urls.value.has(file)) {\n\t\t\t\turls.value.set(file, URL.createObjectURL(file));\n\t\t\t}\n\n\t\t\treturn urls.value.get(file);\n\t\t};\n\n\t\twatch(() => props.modelValue, files => {\n\t\t\tconst active = new Set(files);\n\t\t\t[...urls.value.keys()].forEach(file => {\n\t\t\t\tif(!active.has(file)) {\n\t\t\t\t\trevokeFile(file);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tonBeforeUnmount(revokeAll);\n\n\t\treturn () => h(\"div\", { class: \"file-upload-panel\" }, [\n\t\t\th(\"div\", { class: \"file-upload-form\" }, [\n\t\t\t\th(\"div\", { class: \"file-upload-header\" }, [\n\t\t\t\t\th(\"div\", { class: \"file-upload-heading\" }, [\n\t\t\t\t\t\th(\"h3\", { class: \"file-upload-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"p\", { class: \"file-upload-description\" }, slots.description?.() || props.description)\n\t\t\t\t\t]),\n\t\t\t\t\tprops.badge && h(GnBadge, { variant: \"info\" }, () => props.badge)\n\t\t\t\t]),\n\t\t\t\th(\"label\", { class: \"file-upload-dropzone\" }, [\n\t\t\t\t\th(\"span\", { class: \"file-upload-icon\", \"aria-hidden\": \"true\" }, [iconNode(\"ph-cloud-arrow-up\")]),\n\t\t\t\t\th(\"span\", { class: \"file-upload-body\" }, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-primary\" }, props.primary),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-secondary\" }, props.secondary)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"input\", {\n\t\t\t\t\t\ttype: \"file\",\n\t\t\t\t\t\tmultiple: props.multiple,\n\t\t\t\t\t\taccept: props.accept || undefined,\n\t\t\t\t\t\tonChange: event => setFiles(event.target.files)\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"file-upload-preview\", hidden: !props.modelValue.length }, props.modelValue.map((file, index) => h(\"figure\", {\n\t\t\t\t\tclass: \"file-upload-preview-item\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"file-upload-preview-remove\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": `Remove ${file.name}`,\n\t\t\t\t\t\tonClick: () => remove(index)\n\t\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\t\th(\"div\", { class: \"file-upload-preview-visual\" }, previewUrl(file)\n\t\t\t\t\t\t? h(\"img\", { src: previewUrl(file), alt: \"\" })\n\t\t\t\t\t\t: h(\"span\", { class: \"file-upload-preview-type\" }, fileType(file))\n\t\t\t\t\t),\n\t\t\t\t\th(\"figcaption\", {}, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-name\" }, file.name),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-meta\" }, `${fileType(file)} / ${fileSize(file)}`)\n\t\t\t\t\t])\n\t\t\t\t]))),\n\t\t\t\tslots.actions && h(\"div\", { class: \"file-upload-actions\" }, slots.actions()),\n\t\t\t\t!slots.actions && props.modelValue.length > 0 && h(\"div\", { class: \"file-upload-actions\" }, [\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\trevokeAll();\n\t\t\t\t\t\t\tsetFiles([]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => \"Reset\")\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnIconButton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ticon: { type: String, required: true },\n\t\tlabel: { type: String, required: true },\n\t\ttype: { type: String, default: \"button\" },\n\t\tsize: { type: String, default: null },\n\t\twithoutHover: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"button\", {\n\t\t\t...attrs,\n\t\t\ttype: props.type,\n\t\t\t\"aria-label\": props.label,\n\t\t\tclass: cx(\"btn-icon\", { \"btn-icon-sm\": props.size === \"sm\", \"without-hover\": props.withoutHover }, attrs.class)\n\t\t}, [iconNode(props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnIdentity\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tmeta: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"identity\" }, [\n\t\t\tslots.avatar?.() || h(GnAvatar, props.avatar),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"identity-meta\" }, slots.meta?.() || props.meta)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnInput - Text input field with label, icon, state, and help text.\n *\n * @typedef {Object} GnInputProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [type='text'] - input type attribute\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-pencil-simple\")\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {boolean} [bare=false] - Render bare input without .form-group wrapper\n *\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInput\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ttype: { type: String, default: \"text\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\tbare: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => {\n\t\t\tconst input = h(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tclass: cx(props.bare ? \"\" : \"input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t});\n\n\t\t\tif(props.bare) {\n\t\t\t\treturn input;\n\t\t\t}\n\n\t\t\treturn h(\"div\", { class: \"form-group\" }, [\n\t\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\t\tprops.label,\n\t\t\t\t\ticonNode(props.icon),\n\t\t\t\t\tinput\n\t\t\t\t]),\n\t\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInputGroup\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tcompact: { type: Boolean, default: false },\n\t\taddon: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"input-group\", { \"input-group-compact\": props.compact }, attrs.class)\n\t\t}, [\n\t\t\t(props.addon || props.icon || slots.addon) && h(\"span\", { class: \"input-group-addon\" }, slots.addon?.() || iconNode(props.icon) || props.addon),\n\t\t\tslots.default?.(),\n\t\t\tslots.action && h(\"span\", { class: \"input-group-action\" }, slots.action())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tordered: { type: Boolean, default: false },\n\t\ticons: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst tag = props.ordered ? \"ol\" : \"ul\";\n\n\t\treturn () => h(tag, {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"list\", {\n\t\t\t\t\"list-ordered\": props.ordered,\n\t\t\t\t\"with-icons\": props.icons\n\t\t\t}, attrs.class)\n\t\t}, props.items.map(item => h(\"li\", { class: \"list-item\" }, [\n\t\t\ticonNode(item.icon),\n\t\t\tslots.item?.({ item }) || item.label || item\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnLoader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tcircle: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"Loading\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => props.circle\n\t\t\t? h(\"div\", { ...attrs, class: cx(\"circle-loader\", attrs.class) }, [\n\t\t\t\ticonNode(\"ph-bold ph-spinner normalize\"),\n\t\t\t\tprops.label\n\t\t\t])\n\t\t\t: h(\"div\", { ...attrs, class: cx(\"loader\", attrs.class), role: \"status\", \"aria-label\": props.label });\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnInput from \"./GnInput.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnCheckbox from \"./GnCheckbox.js\";\nimport GnAlert from \"./GnAlert.js\";\n\nexport default defineComponent({\n\tname: \"GnLoginCard\",\n\tprops: {\n\t\ttitle: { type: String, default: \"Sign in\" },\n\t\tlogoSrc: { type: String, default: \"\" },\n\t\tlogoIcon: { type: String, default: \"\" },\n\t\tusernameLabel: { type: String, default: \"Username\" },\n\t\tusernameIcon: { type: String, default: \"ph-user\" },\n\t\tpasswordLabel: { type: String, default: \"Password\" },\n\t\tpasswordIcon: { type: String, default: \"ph-lock-key\" },\n\t\trememberMe: { type: Boolean, default: false },\n\t\trememberLabel: { type: String, default: \"Remember me\" },\n\t\tsubmitText: { type: String, default: \"Sign in\" },\n\t\tsubmitVariant: { type: String, default: \"secondary\" },\n\t\tloading: { type: Boolean, default: false },\n\t\terror: { type: String, default: \"\" },\n\t\tforgotHref: { type: String, default: \"#\" },\n\t\tforgotText: { type: String, default: \"Forgot password?\" },\n\t\tsignupHref: { type: String, default: \"#\" },\n\t\tsignupText: { type: String, default: \"Create account\" }\n\t},\n\temits: [\"submit\"],\n\tsetup(props, { emit }) {\n\t\tconst username = ref(\"\");\n\t\tconst password = ref(\"\");\n\t\tconst remember = ref(false);\n\n\t\tconst onSubmit = (event) => {\n\t\t\tevent.preventDefault();\n\t\t\temit(\"submit\", {\n\t\t\t\tusername: username.value,\n\t\t\t\tpassword: password.value,\n\t\t\t\tremember: remember.value\n\t\t\t});\n\t\t};\n\n\t\treturn () => h(\"article\", { class: \"card login-card\" }, [\n\t\t\t(props.title || props.logoSrc || props.logoIcon) && h(\"header\", { class: \"card-title login-card-header\" }, [\n\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", class: \"login-card-logo\" }),\n\t\t\t\tprops.logoIcon && !props.logoSrc && iconNode(props.logoIcon, \"login-card-logo-icon\"),\n\t\t\t\tprops.title && h(\"span\", { class: \"login-card-title\" }, props.title)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\tprops.error && h(GnAlert, { variant: \"danger\", class: \"login-card-error\" }, () => props.error),\n\t\t\t\th(\"form\", { class: \"login-card-form\", onSubmit }, [\n\t\t\t\t\th(GnInput, {\n\t\t\t\t\t\tmodelValue: username.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { username.value = v; },\n\t\t\t\t\t\tlabel: props.usernameLabel,\n\t\t\t\t\t\ticon: props.usernameIcon,\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tautocomplete: \"username\"\n\t\t\t\t\t}),\n\t\t\t\t\th(GnInput, {\n\t\t\t\t\t\tmodelValue: password.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { password.value = v; },\n\t\t\t\t\t\tlabel: props.passwordLabel,\n\t\t\t\t\t\ticon: props.passwordIcon,\n\t\t\t\t\t\ttype: \"password\",\n\t\t\t\t\t\tautocomplete: \"current-password\"\n\t\t\t\t\t}),\n\t\t\t\t\tprops.rememberMe && h(GnCheckbox, {\n\t\t\t\t\t\tmodelValue: remember.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { remember.value = v; }\n\t\t\t\t\t}, () => props.rememberLabel),\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: props.submitVariant,\n\t\t\t\t\t\tloading: props.loading,\n\t\t\t\t\t\tdisabled: props.loading,\n\t\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\t\ticon: \"ph-sign-in\",\n\t\t\t\t\t\tclass: \"login-card-submit\"\n\t\t\t\t\t}, () => props.submitText),\n\t\t\t\t\t(props.forgotHref || props.signupHref) && h(\"div\", { class: \"login-card-links\" }, [\n\t\t\t\t\t\tprops.forgotHref && h(\"a\", { href: props.forgotHref, class: \"login-card-link\" }, props.forgotText),\n\t\t\t\t\t\tprops.signupHref && h(\"a\", { href: props.signupHref, class: \"login-card-link\" }, props.signupText)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnMetricCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tlabel: { type: String, required: true },\n\t\tvalue: { type: [String, Number], required: true },\n\t\ticon: { type: String, default: \"ph-chart-line-up\" },\n\t\tdelta: { type: String, default: \"\" },\n\t\tnegative: { type: Boolean, default: false },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card metric-card\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"metric-card-header\" }, [\n\t\t\t\t\th(\"p\", { class: \"metric-card-label\" }, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"metric-card-icon\" }, [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\th(\"p\", { class: \"metric-card-value\" }, slots.value?.() || props.value),\n\t\t\t\t(props.delta || props.meta || slots.meta) && h(\"div\", { class: \"metric-card-meta\" }, [\n\t\t\t\t\tprops.delta && h(\"span\", {\n\t\t\t\t\t\tclass: cx(\"metric-card-delta\", { \"metric-card-delta-negative\": props.negative })\n\t\t\t\t\t}, props.delta),\n\t\t\t\t\tslots.meta?.() || props.meta\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\n\nexport default defineComponent({\n\tname: \"GnNavList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tconst resolveHref = to => {\n\t\t\tif(!to) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tif(typeof to === \"string\") {\n\t\t\t\treturn to;\n\t\t\t}\n\n\t\t\tif(to.path) {\n\t\t\t\treturn to.path;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst navItems = computed(() => props.items.map(item => {\n\t\t\tconst hasTo = Boolean(item.to);\n\t\t\tconst resolvedHref = hasTo\n\t\t\t\t? (hasRouter ? router.resolve(item.to).href : resolveHref(item.to))\n\t\t\t\t: item.href;\n\t\t\tconst isActive = hasTo && hasRouter\n\t\t\t\t? isRouteActive(route, item.to, props.activeMatch)\n\t\t\t\t: Boolean(item.active);\n\n\t\t\treturn {\n\t\t\t\t...item,\n\t\t\t\tresolvedHref,\n\t\t\t\tisActive,\n\t\t\t\thasTo\n\t\t\t};\n\t\t}));\n\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-nav\", attrs.class) }, navItems.value.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", { \"list-item-active\": item.isActive })\n\t\t}, [\n\t\t\th(item.resolvedHref ? \"a\" : \"button\", {\n\t\t\t\tclass: \"list-action\",\n\t\t\t\thref: item.resolvedHref,\n\t\t\t\ttype: item.resolvedHref ? undefined : \"button\",\n\t\t\t\tonClick: event => {\n\t\t\t\t\tif(item.hasTo && hasRouter) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\trouter.push(item.to);\n\t\t\t\t\t}\n\n\t\t\t\t\titem.onSelect?.(item, event);\n\t\t\t\t\temit(\"select\", item);\n\t\t\t\t}\n\t\t\t}, [\n\t\t\t\th(\"span\", { class: \"list-label\" }, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\tslots.label?.({ item }) || item.label\n\t\t\t\t]),\n\t\t\t\t(item.meta || slots.meta) && h(\"span\", { class: \"list-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t])\n\t\t])));\n\t}\n});\n", "/**\n * Safe vue-router access without hard dependency.\n * Reads $router and $route from the component instance globalProperties.\n */\nimport { getCurrentInstance } from \"vue\";\n\nexport function tryUseRouter() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$router || null;\n}\n\nexport function tryUseRoute() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$route || null;\n}\n\n/**\n * Check whether a route target matches the current route.\n *\n * @param {import(\"vue\").Ref|Object} currentRoute\n * @param {string|Object} to\n * @param {string} strategy - 'exact' | 'prefix'\n * @returns {boolean}\n */\nexport function isRouteActive(currentRoute, to, strategy = \"prefix\") {\n\tif(!currentRoute) {\n\t\treturn false;\n\t}\n\n\tconst route = currentRoute.value || currentRoute;\n\n\tif(typeof to === \"string\") {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to;\n\t\t}\n\n\t\treturn route.path === to || route.path.startsWith(to + \"/\");\n\t}\n\n\tif(to.path) {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to.path;\n\t\t}\n\n\t\treturn route.path === to.path || route.path.startsWith(to.path + \"/\");\n\t}\n\n\tif(to.name) {\n\t\treturn route.name === to.name;\n\t}\n\n\treturn false;\n}\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnNavList from \"./GnNavList.js\";\n\nlet shellId = 0;\n\nexport default defineComponent({\n\tname: \"GnNavigationShell\",\n\tprops: {\n\t\tbrand: { type: String, default: \"GNexus UI Kit\" },\n\t\tlogoSrc: { type: String, default: \"/assets/imgs/gnexus-mark.svg\" },\n\t\tcurrent: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"Sections\" },\n\t\tsubtitle: { type: String, default: \"Navigation\" },\n\t\tfooterLeft: { type: String, default: \"\" },\n\t\tfooterRight: { type: String, default: \"\" },\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst drawerId = `gn-nav-drawer-${++shellId}`;\n\t\tconst drawerRef = ref(null);\n\t\tlet previousFocus = null;\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\twatch(open, isOpen => {\n\t\t\tif(isOpen) {\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.body.classList.add(\"nav-drawer-open\");\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => drawerRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t}\n\t\t});\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t});\n\n\t\treturn () => [\n\t\t\th(\"header\", { class: \"nav-topbar\" }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"nav-topbar-toggle\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-controls\": drawerId,\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\tonClick: toggle\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(\"ph-sidebar-simple\"),\n\t\t\t\t\th(\"span\", {}, \"Menu\")\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-brand\" }, [\n\t\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", \"aria-hidden\": \"true\" }),\n\t\t\t\t\th(\"span\", {}, slots.brand?.() || props.brand)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-current\" }, slots.current?.() || props.current)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"nav-drawer-backdrop\", onClick: close }),\n\t\t\th(\"aside\", {\n\t\t\t\tref: drawerRef,\n\t\t\t\tclass: [\"nav-drawer\", { \"is-open\": open.value }],\n\t\t\t\tid: drawerId,\n\t\t\t\t\"aria-label\": \"Navigation\",\n\t\t\t\t\"aria-hidden\": open.value ? \"false\" : \"true\",\n\t\t\t\ttabindex: \"-1\"\n\t\t\t}, [\n\t\t\t\th(\"header\", { class: \"nav-drawer-header\" }, [\n\t\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-subtitle\" }, slots.subtitle?.() || props.subtitle)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"nav-drawer-close\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": \"Close navigation\",\n\t\t\t\t\t\tonClick: close\n\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t]),\n\t\t\t\th(\"nav\", { class: \"nav-drawer-body\" }, [\n\t\t\t\t\tslots.default?.({ close }) || h(GnNavList, {\n\t\t\t\t\t\titems: props.items,\n\t\t\t\t\t\tactiveMatch: props.activeMatch,\n\t\t\t\t\t\tonSelect: item => {\n\t\t\t\t\t\t\temit(\"select\", item);\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\t(slots.footer || props.footerLeft || props.footerRight) && h(\"footer\", { class: \"nav-drawer-footer\" },\n\t\t\t\t\tslots.footer?.() || [\n\t\t\t\t\t\th(\"span\", {}, props.footerLeft),\n\t\t\t\t\t\th(\"span\", {}, props.footerRight)\n\t\t\t\t\t]\n\t\t\t\t)\n\t\t\t]),\n\t\t\tslots.content?.()\n\t\t];\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPageHeader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tsubtitle: { type: String, default: \"\" },\n\t\tkicker: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\taccent: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"header\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"page-header\", {\n\t\t\t\t\"page-header-compact\": props.compact,\n\t\t\t\t\"page-header-accent\": props.accent\n\t\t\t}, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"page-header-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"div\", { class: \"page-header-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h1\", { class: \"page-header-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.subtitle || slots.subtitle) && h(\"p\", { class: \"page-header-subtitle\" }, slots.subtitle?.() || props.subtitle),\n\t\t\t\tslots.meta && h(\"div\", { class: \"page-header-meta\" }, slots.meta())\n\t\t\t]),\n\t\t\tslots.actions && h(\"div\", { class: \"page-header-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnHorizontalCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\timage: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttitleHref: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst titleNode = () => {\n\t\t\tconst content = [iconNode(props.icon), slots.title?.() || props.title];\n\n\t\t\tif(props.titleHref) {\n\t\t\t\treturn h(\"a\", { href: props.titleHref, class: \"card-title-link\" }, content);\n\t\t\t}\n\n\t\t\treturn content;\n\t\t};\n\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card card-horizontal\", attrs.class)\n\t\t}, [\n\t\t\tprops.image && h(\"div\", { class: \"card-media\" }, [\n\t\t\t\th(\"img\", { src: props.image, alt: \"\" })\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-body\" }, [\n\t\t\t\t(props.title || props.icon || slots.title) && h(\"h3\", { class: \"card-title\" }, titleNode()),\n\t\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPagination\",\n\tprops: {\n\t\tpage: { type: Number, required: true },\n\t\ttotalPages: { type: Number, required: true },\n\t\tariaLabel: { type: String, default: \"Pagination\" }\n\t},\n\temits: [\"update:page\"],\n\tsetup(props, { emit }) {\n\t\tconst setPage = page => {\n\t\t\tif(page >= 1 && page <= props.totalPages && page !== props.page) {\n\t\t\t\temit(\"update:page\", page);\n\t\t\t}\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst pages = Array.from({ length: props.totalPages }, (_, index) => index + 1);\n\n\t\t\treturn h(\"nav\", { class: \"pagination\", \"aria-label\": props.ariaLabel }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page <= 1,\n\t\t\t\t\tonClick: () => setPage(props.page - 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-left\")]),\n\t\t\t\tpages.map(page => h(\"button\", {\n\t\t\t\t\tclass: cx(\"pagination-item\", { \"pagination-item-active\": page === props.page }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-current\": page === props.page ? \"page\" : undefined,\n\t\t\t\t\tonClick: () => setPage(page)\n\t\t\t\t}, page)),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page >= props.totalPages,\n\t\t\t\t\tonClick: () => setPage(props.page + 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-right\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnPopover\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Details\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-info\" },\n\t\tvariant: { type: String, default: \"accent\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"popover\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"popover-panel\" }, [\n\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"popover-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"popover-text\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgress\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\tstriped: { type: Boolean, default: false },\n\t\tanimated: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\t\t\tconst variant = normalizeVariant(props.variant, \"secondary\");\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"progress\", `progress-${variant}`, {\n\t\t\t\t\t\"progress-striped\": props.striped,\n\t\t\t\t\t\"progress-animated\": props.animated\n\t\t\t\t}, attrs.class),\n\t\t\t\tstyle: { \"--progress-value\": `${percent}%` }\n\t\t\t}, [\n\t\t\t\t(props.label || slots.label) && h(\"div\", { class: \"progress-header\" }, [\n\t\t\t\t\th(\"span\", {}, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"progress-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"progress-track\" }, [\n\t\t\t\t\th(\"span\", {\n\t\t\t\t\t\tclass: \"progress-bar\",\n\t\t\t\t\t\trole: \"progressbar\",\n\t\t\t\t\t\t\"aria-valuenow\": props.value,\n\t\t\t\t\t\t\"aria-valuemin\": 0,\n\t\t\t\t\t\t\"aria-valuemax\": props.max\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgressStages\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"progress-stages\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: cx(\"progress-stage\", {\n\t\t\t\t\"progress-stage-complete\": item.status === \"complete\",\n\t\t\t\t\"progress-stage-current\": item.status === \"current\"\n\t\t\t})\n\t\t}, item.label || item)));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRadio\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tvalue: { type: [String, Number, Boolean], required: true },\n\t\tlabel: { type: String, default: \"\" },\n\t\tname: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"radio\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"radio\",\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: props.value,\n\t\t\t\tchecked: props.modelValue === props.value,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: () => emit(\"update:modelValue\", props.value)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"radio-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"radio-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnRadio from \"./GnRadio.js\";\n\nexport default defineComponent({\n\tname: \"GnRadioGroup\",\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tname: { type: String, default: \"gn-radio-group\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\treturn () => h(\"div\", { class: \"form-group radio-group\", role: \"radiogroup\", \"aria-label\": props.label || undefined }, [\n\t\t\tprops.label && h(\"div\", { class: \"label\" }, props.label),\n\t\t\tslots.default?.() || props.options.map(option => h(GnRadio, {\n\t\t\t\tmodelValue: props.modelValue,\n\t\t\t\t\"onUpdate:modelValue\": value => emit(\"update:modelValue\", value),\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: option.value,\n\t\t\t\tlabel: option.label,\n\t\t\t\tdisabled: option.disabled\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { eventValue } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRange\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [Number, String], default: 0 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tmin: { type: [Number, String], default: 0 },\n\t\tmax: { type: [Number, String], default: 100 },\n\t\tstep: { type: [Number, String], default: 1 }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"range\" }, [\n\t\t\th(\"label\", { class: \"label\" }, [\n\t\t\t\tprops.label,\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\ttype: \"range\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tmin: props.min,\n\t\t\t\t\tmax: props.max,\n\t\t\t\t\tstep: props.step,\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnRouterTabs \u2014 Router-aware tab switcher.\n *\n * Wraps GnTabs and drives active state from the current vue-router route.\n * When a tab is activated, the component calls router.push(item.to)\n * instead of emitting update:modelValue.\n *\n * @typedef {Object} GnRouterTabsItem\n * @property {string} id - Slot name and tab identifier\n * @property {string|Object} to - Route target (string path or { name, params, query })\n * @property {string} label - Tab label text\n * @property {string} [icon] - Phosphor icon name with ph- prefix\n * @property {boolean} [disabled] - Disabled state\n *\n * @typedef {Object} GnRouterTabsProps\n * @property {Array} items - Array of GnRouterTabsItem\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label\n * @property {string} [activeMatch='prefix'] - 'exact' | 'prefix' \u2014 how to match current route against item.to\n *\n * @slots [item.id] - One slot per item id\n */\nimport { computed, defineComponent, h, watch } from \"vue\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\nimport GnTabs from \"./GnTabs.js\";\n\nexport default defineComponent({\n\tname: \"GnRouterTabs\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tif(!hasRouter && typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\"[gnexus-ui-kit] GnRouterTabs requires vue-router. Falling back to standard tabs.\");\n\t\t}\n\n\t\tconst tabItems = computed(() => props.items.map(item => ({\n\t\t\tid: item.id,\n\t\t\tlabel: item.label,\n\t\t\ticon: item.icon,\n\t\t\tdisabled: item.disabled,\n\t\t\tto: item.to\n\t\t})));\n\n\t\tconst activeId = computed(() => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t\t}\n\n\t\t\tconst matched = tabItems.value.find(item => {\n\t\t\t\tif(item.disabled || !item.to) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn isRouteActive(route, item.to, props.activeMatch);\n\t\t\t});\n\n\t\t\treturn matched?.id || tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t});\n\n\t\tconst onUpdate = id => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst item = tabItems.value.find(i => i.id === id);\n\n\t\t\tif(item && item.to) {\n\t\t\t\trouter.push(item.to);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(GnTabs, {\n\t\t\tmodelValue: activeId.value,\n\t\t\titems: tabItems.value,\n\t\t\tcompact: props.compact,\n\t\t\tvertical: props.vertical,\n\t\t\tariaLabel: props.ariaLabel,\n\t\t\t\"onUpdate:modelValue\": onUpdate\n\t\t}, slots);\n\t}\n});\n", "/**\n * GnTabs - Accessible tab switcher with keyboard navigation.\n *\n * @typedef {Object} GnTabsProps\n * @property {string} [modelValue=''] - Active tab id\n * @property {Array} items - Array of { id, label, icon?, disabled? }\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label for the tablist\n *\n * @slots [item.id] - One slot per item id: \n * @emits update:modelValue\n */\nimport { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTabs\",\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst activeId = computed(() => props.modelValue || props.items.find(item => !item.disabled)?.id || props.items[0]?.id);\n\n\t\tconst activate = item => {\n\t\t\tif(!item.disabled) {\n\t\t\t\temit(\"update:modelValue\", item.id);\n\t\t\t}\n\t\t};\n\t\tconst enabledItems = () => props.items.filter(item => !item.disabled);\n\t\tconst move = (item, direction) => {\n\t\t\tconst items = enabledItems();\n\t\t\tconst index = items.findIndex(enabled => enabled.id === item.id);\n\t\t\tconst next = items[(index + direction + items.length) % items.length];\n\t\t\tactivate(next);\n\t\t};\n\t\tconst handleKeydown = (event, item) => {\n\t\t\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, 1);\n\t\t\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, -1);\n\t\t\t} else if(event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tactivate(enabledItems()[0]);\n\t\t\t} else if(event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst items = enabledItems();\n\t\t\t\tactivate(items[items.length - 1]);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"tabs\", {\n\t\t\t\t\"tabs-compact\": props.compact,\n\t\t\t\t\"tabs-vertical\": props.vertical\n\t\t\t})\n\t\t}, [\n\t\t\th(\"div\", { class: \"tabs-list\", role: \"tablist\", \"aria-label\": props.ariaLabel }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\t\t\t\tconst panelId = `${item.id}-panel`;\n\n\t\t\t\treturn h(\"button\", {\n\t\t\t\t\tclass: cx(\"tab\", { \"tab-active\": active }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\trole: \"tab\",\n\t\t\t\t\t\"aria-selected\": active ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": panelId,\n\t\t\t\t\t\"aria-disabled\": item.disabled ? \"true\" : undefined,\n\t\t\t\t\ttabindex: active ? \"0\" : \"-1\",\n\t\t\t\t\tonClick: () => activate(item),\n\t\t\t\t\tonKeydown: event => handleKeydown(event, item)\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\titem.label\n\t\t\t\t]);\n\t\t\t})),\n\t\t\th(\"div\", { class: \"tabs-panels\" }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\n\t\t\t\treturn h(\"div\", {\n\t\t\t\t\tid: `${item.id}-panel`,\n\t\t\t\t\tclass: cx(\"tab-panel\", { \"tab-panel-active\": active }),\n\t\t\t\t\trole: \"tabpanel\",\n\t\t\t\t\thidden: !active\n\t\t\t\t}, slots[item.id]?.({ item, active }) || (active && slots.default?.({ item, active })));\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSearchField\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tcompact: { type: Boolean, default: true },\n\t\tclearable: { type: Boolean, default: true }\n\t},\n\temits: [\"update:modelValue\", \"clear\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst clear = () => {\n\t\t\temit(\"update:modelValue\", \"\");\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"input-group search-field\", { \"input-group-compact\": props.compact })\n\t\t}, [\n\t\t\th(\"span\", { class: \"input-group-addon\" }, [iconNode(\"ph-magnifying-glass\")]),\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"search\",\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\tclass: cx(\"input-group-input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t}),\n\t\t\tprops.clearable && h(\"button\", {\n\t\t\t\tclass: \"input-group-action\",\n\t\t\t\ttype: \"button\",\n\t\t\t\t\"aria-label\": \"Clear search\",\n\t\t\t\tonClick: clear\n\t\t\t}, [iconNode(\"ph-x\")])\n\t\t]);\n\t}\n});\n", "/**\n * GnSelect - Dropdown select with label, icon, state, and help text.\n *\n * @typedef {Object} GnSelectProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {Array} [options=[]] - Array of strings or { value, label } objects\n *\n * @slots default - Override option nodes\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSelect\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst optionNodes = () => props.options.map(option => {\n\t\t\tconst value = typeof option === \"object\" ? option.value : option;\n\t\t\tconst label = typeof option === \"object\" ? option.label : option;\n\n\t\t\treturn h(\"option\", { value }, label);\n\t\t});\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"div\", { class: \"select-wrap\" }, [\n\t\t\t\t\th(\"select\", {\n\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\t\tclass: cx(\"input select\", attrs.class),\n\t\t\t\t\t\tonChange: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t\t}, slots.default?.() || optionNodes())\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSkeleton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttype: { type: String, default: \"line\" },\n\t\tstack: { type: Boolean, default: false },\n\t\tcount: { type: Number, default: 1 }\n\t},\n\tsetup(props, { attrs }) {\n\t\tconst skeleton = key => h(\"span\", {\n\t\t\tkey,\n\t\t\t...attrs,\n\t\t\tclass: cx(\"skeleton\", `skeleton-${props.type}`, attrs.class)\n\t\t});\n\n\t\treturn () => props.stack\n\t\t\t? h(\"div\", { class: \"skeleton-stack\" }, Array.from({ length: props.count }, (_, index) => skeleton(index)))\n\t\t\t: skeleton(0);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSteps\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tvertical: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"ol\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"steps\", { \"steps-vertical\": props.vertical }, attrs.class)\n\t\t}, props.items.map((item, index) => h(\"li\", {\n\t\t\tclass: cx(\"step\", {\n\t\t\t\t\"step-complete\": item.status === \"complete\",\n\t\t\t\t\"step-current\": item.status === \"current\",\n\t\t\t\t\"step-disabled\": item.disabled || item.status === \"disabled\"\n\t\t\t})\n\t\t}, [\n\t\t\th(\"span\", { class: \"step-marker\" }, item.marker || String(index + 1)),\n\t\t\th(\"h3\", { class: \"step-title\" }, item.title),\n\t\t\titem.text && h(\"p\", { class: \"step-text\" }, item.text)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnStatusCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-stack\" },\n\t\tvariant: { type: String, default: \"primary\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst variant = normalizeVariant(props.variant);\n\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card status-card\", `card-${variant}`, attrs.class) }, [\n\t\t\th(\"span\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"status-icon-container\" }, [\n\t\t\t\t\th(\"div\", { class: \"status-icon\" }, slots.icon?.() || [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"status-name\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSwitch\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"switch\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"switch-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"switch-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "/**\n * GnTable - Data table with columns, rows, scoped cell slots, and empty state.\n *\n * @typedef {Object} GnTableProps\n * @property {Array} columns - Array of { key, label } column definitions\n * @property {Array} [rows=[]] - Array of row data objects\n * @property {string} [caption=''] - Table caption\n * @property {string} [emptyText='Empty'] - Text shown when rows is empty\n *\n * @slots cell-${column.key} - Scoped slot per column: { row, column, value }\n * @slots empty - Override empty state\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTable\",\n\tprops: {\n\t\tcolumns: { type: Array, required: true },\n\t\trows: { type: Array, default: () => [] },\n\t\tcaption: { type: String, default: \"\" },\n\t\temptyText: { type: String, default: \"Empty\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { class: \"table-wrapper\" }, [\n\t\t\th(\"table\", { class: cx(\"table data-list\", { \"table-empty\": !props.rows.length }, attrs.class) }, [\n\t\t\t\tprops.caption && h(\"caption\", { class: \"table-caption\" }, props.caption),\n\t\t\t\th(\"thead\", { class: \"table-head\" }, [\n\t\t\t\t\th(\"tr\", { class: \"table-row\" }, props.columns.map(column => h(\"th\", { scope: \"col\" }, column.label)))\n\t\t\t\t]),\n\t\t\t\th(\"tbody\", { class: \"table-body\" }, props.rows.length\n\t\t\t\t\t? props.rows.map(row => h(\"tr\", { class: \"table-row\" }, props.columns.map(column => {\n\t\t\t\t\t\tconst name = `cell-${column.key}`;\n\t\t\t\t\t\treturn h(\"td\", {}, slots[name]?.({ row, column, value: row[column.key] }) || row[column.key]);\n\t\t\t\t\t})))\n\t\t\t\t\t: h(\"tr\", {}, [h(\"td\", { class: \"is-empty\", colspan: props.columns.length }, slots.empty?.() || props.emptyText)])\n\t\t\t\t)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTextarea\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"textarea\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTimeline\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ol\", { ...attrs, class: cx(\"timeline\", attrs.class) }, props.items.map(item => {\n\t\t\tconst variant = item.variant ? normalizeVariant(item.variant) : \"\";\n\n\t\t\treturn h(\"li\", { class: cx(\"timeline-item\", variant && `timeline-item-${variant}`) }, [\n\t\t\t\th(\"span\", { class: \"timeline-marker\" }, [iconNode(item.icon || \"ph-circle\")]),\n\t\t\t\th(\"div\", { class: \"timeline-content\" }, [\n\t\t\t\t\th(\"article\", { class: \"timeline-card\" }, [\n\t\t\t\t\t\th(\"header\", { class: \"timeline-header\" }, [\n\t\t\t\t\t\t\th(\"h3\", { class: \"timeline-title\" }, item.title),\n\t\t\t\t\t\t\titem.time && h(\"time\", { class: \"timeline-time\" }, item.time)\n\t\t\t\t\t\t]),\n\t\t\t\t\t\th(\"p\", { class: \"timeline-text\" }, slots[item.key]?.({ item }) || item.text),\n\t\t\t\t\t\t(item.meta || slots.meta) && h(\"div\", { class: \"timeline-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTooltip\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst open = ref(false);\n\n\t\treturn () => h(\"span\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"tooltip\", { \"is-open\": open.value }, attrs.class),\n\t\t\ttabindex: \"0\",\n\t\t\tonFocusin: () => {\n\t\t\t\topen.value = true;\n\t\t\t},\n\t\t\tonFocusout: () => {\n\t\t\t\topen.value = false;\n\t\t\t}\n\t\t}, [\n\t\t\tslots.default?.(),\n\t\t\th(\"span\", { class: \"tooltip-panel\", role: \"tooltip\" }, slots.panel?.() || props.text)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnToolbar\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"toolbar\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"toolbar-group\" }, [\n\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"toolbar-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"toolbar-meta\" }, slots.meta?.() || props.meta)\n\t\t\t\t])\n\t\t\t]),\n\t\t\t(slots.default || slots.actions) && h(\"div\", { class: \"toolbar-group\" }, slots.actions?.() || slots.default?.())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, provide, ref, nextTick } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\nimport { toastKey } from \"../composables/toast-context.js\";\n\nconst iconByVariant = {\n\tinfo: \"ph-info\",\n\tsuccess: \"ph-check-circle\",\n\twarning: \"ph-warning\",\n\tdanger: \"ph-warning-octagon\",\n\terror: \"ph-warning-octagon\",\n\tprimary: \"ph-info\",\n\tsecondary: \"ph-info\"\n};\n\nexport default defineComponent({\n\tname: \"GnToastProvider\",\n\tprops: {\n\t\tlifetime: { type: Number, default: 4000 }\n\t},\n\tsetup(props, { slots, expose }) {\n\t\tconst toast = ref(null);\n\t\tconst closing = ref(false);\n\t\tconst showing = ref(false);\n\t\tlet timer = null;\n\t\tlet closeTimer = null;\n\n\t\tconst dismiss = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\tclosing.value = true;\n\t\t\tshowing.value = false;\n\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\ttoast.value = null;\n\t\t\t\tclosing.value = false;\n\t\t\t\twindow.clearTimeout(timer);\n\t\t\t\ttimer = null;\n\t\t\t}, 300);\n\t\t};\n\n\t\tconst close = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearTimeout(timer);\n\t\t\tclosing.value = false;\n\t\t\tshowing.value = false;\n\t\t\ttoast.value = null;\n\t\t};\n\n\t\tconst show = options => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\tclosing.value = false;\n\t\t\tshowing.value = false;\n\t\t\tconst variant = normalizeVariant(options.variant || options.type || \"info\", \"info\");\n\t\t\ttoast.value = {\n\t\t\t\tid: Date.now(),\n\t\t\t\tvariant: variant === \"error\" ? \"danger\" : variant,\n\t\t\t\ttitle: options.title || \"\",\n\t\t\t\ttext: options.text || options.message || \"\",\n\t\t\t\ticon: options.icon || iconByVariant[variant] || iconByVariant.info\n\t\t\t};\n\n\t\t\twindow.clearTimeout(timer);\n\n\t\t\tif(options.lifetime !== 0) {\n\t\t\t\ttimer = window.setTimeout(dismiss, options.lifetime || props.lifetime);\n\t\t\t}\n\n\t\t\tnextTick(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tshowing.value = true;\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst api = {\n\t\t\tshow,\n\t\t\tclose,\n\t\t\tinfo: options => show({ ...options, variant: \"info\" }),\n\t\t\tsuccess: options => show({ ...options, variant: \"success\" }),\n\t\t\twarning: options => show({ ...options, variant: \"warning\" }),\n\t\t\tdanger: options => show({ ...options, variant: \"danger\" }),\n\t\t\terror: options => show({ ...options, variant: \"danger\" })\n\t\t};\n\n\t\tprovide(toastKey, api);\n\t\texpose(api);\n\n\t\tconst toastClass = () => {\n\t\t\tif (closing.value) return \"a-hide\";\n\t\t\tif (showing.value) return \"a-show\";\n\t\t\treturn \"\";\n\t\t};\n\n\t\treturn () => [\n\t\t\tslots.default?.(),\n\t\t\ttoast.value && h(\"div\", {\n\t\t\t\tclass: cx(\"toast\", toastClass(), `toast-${toast.value.variant}`),\n\t\t\t\trole: \"alert\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"toast-content\" }, [\n\t\t\t\t\th(\"h4\", { class: \"toast-title\" }, [\n\t\t\t\t\t\ticonNode(toast.value.icon),\n\t\t\t\t\t\ttoast.value.title\n\t\t\t\t\t]),\n\t\t\t\t\th(\"p\", { class: \"toast-text\" }, toast.value.text)\n\t\t\t\t]),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"btn-icon toast-close\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\tonClick: dismiss\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t])\n\t\t];\n\t}\n});\n", "export const toastKey = Symbol(\"gnexus-ui-kit-toast\");\n", "import { defineComponent, h } from \"vue\";\nimport GnProgress from \"./GnProgress.js\";\n\nexport default defineComponent({\n\tname: \"GnUsageMeter\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\n\t\t\treturn h(\"section\", { class: \"usage-meter\" }, [\n\t\t\t\th(\"h3\", { class: \"usage-meter-title\" }, [\n\t\t\t\t\tslots.title?.() || props.title,\n\t\t\t\t\th(\"span\", { class: \"usage-meter-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(GnProgress, { value: props.value, max: props.max }),\n\t\t\t\t(props.meta || slots.meta) && h(\"p\", { class: \"usage-meter-meta\" }, slots.meta?.() || props.meta)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnUserCard\",\n\tprops: {\n\t\tname: { type: String, required: true },\n\t\temail: { type: String, default: \"\" },\n\t\trole: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) },\n\t\thref: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\tactions: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst renderAvatar = () => slots.avatar?.() || h(GnAvatar, {\n\t\t\t...props.avatar,\n\t\t\tsize: props.compact ? \"sm\" : \"md\"\n\t\t});\n\n\t\tconst renderIdentity = () => h(\"span\", { class: \"identity\" }, [\n\t\t\trenderAvatar(),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, props.name),\n\t\t\t\tprops.email && h(\"span\", { class: \"identity-meta\" }, props.email)\n\t\t\t])\n\t\t]);\n\n\t\tconst renderActions = () => {\n\t\t\tif (slots.actions) return slots.actions();\n\t\t\tif (!props.actions.length) return null;\n\n\t\t\treturn h(\"div\", { class: \"user-card-actions\" },\n\t\t\t\tprops.actions.map(action => {\n\t\t\t\t\tif (props.compact) {\n\t\t\t\t\t\treturn h(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": action.label,\n\t\t\t\t\t\t\tonClick: action.onClick\n\t\t\t\t\t\t}, [iconNode(action.icon)]);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst hasIcon = !!action.icon;\n\t\t\t\t\tconst btnClass = cx(\"btn\", \"btn-small\", {\n\t\t\t\t\t\t[`btn-${action.variant}`]: action.variant,\n\t\t\t\t\t\t\"btn-secondary\": !action.variant,\n\t\t\t\t\t\t\"with-icon\": hasIcon\n\t\t\t\t\t});\n\n\t\t\t\t\treturn h(\"button\", {\n\t\t\t\t\t\tclass: btnClass,\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tonClick: action.onClick\n\t\t\t\t\t}, [\n\t\t\t\t\t\thasIcon && iconNode(action.icon),\n\t\t\t\t\t\taction.label\n\t\t\t\t\t]);\n\t\t\t\t})\n\t\t\t);\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst rootClass = cx(\"card\", \"user-card\", { \"user-card-compact\": props.compact });\n\t\t\tconst bodyChildren = [];\n\n\t\t\tif (props.href) {\n\t\t\t\tbodyChildren.push(\n\t\t\t\t\th(\"a\", {\n\t\t\t\t\t\tclass: \"profile-identity\",\n\t\t\t\t\t\thref: props.href,\n\t\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\t\trel: \"noopener noreferrer\"\n\t\t\t\t\t}, [renderIdentity()])\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tbodyChildren.push(renderIdentity());\n\t\t\t}\n\n\t\t\tif (!props.compact && props.role) {\n\t\t\t\tbodyChildren.push(h(\"span\", { class: \"user-card-role\" }, props.role));\n\t\t\t}\n\n\t\t\tif (slots.default && !props.compact) {\n\t\t\t\tbodyChildren.push(h(\"div\", { class: \"user-card-extra\" }, slots.default()));\n\t\t\t}\n\n\t\t\tconst actionsNode = renderActions();\n\t\t\tif (actionsNode) {\n\t\t\t\tbodyChildren.push(actionsNode);\n\t\t\t}\n\n\t\t\treturn h(\"article\", { class: rootClass }, [\n\t\t\t\th(\"div\", { class: \"user-card-body\" }, bodyChildren)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { inject } from \"vue\";\nimport { toastKey } from \"./toast-context.js\";\n\nexport function useToast() {\n\tconst api = inject(toastKey, null);\n\n\tif(api) {\n\t\treturn api;\n\t}\n\n\tconst missingProvider = () => {\n\t\tthrow new Error(\"GNexus UI Kit: useToast() requires near the app root.\");\n\t};\n\n\treturn {\n\t\tshow: missingProvider,\n\t\tinfo: missingProvider,\n\t\tsuccess: missingProvider,\n\t\twarning: missingProvider,\n\t\tdanger: missingProvider,\n\t\terror: missingProvider,\n\t\tclose: missingProvider\n\t};\n}\n\nexport default useToast;\n", "import GnAccordion from \"./components/GnAccordion.js\";\nimport GnActionCard from \"./components/GnActionCard.js\";\nimport GnActionList from \"./components/GnActionList.js\";\nimport GnActivityLog from \"./components/GnActivityLog.js\";\nimport GnAlert from \"./components/GnAlert.js\";\nimport GnAvatar from \"./components/GnAvatar.js\";\nimport GnAvatarStack from \"./components/GnAvatarStack.js\";\nimport GnBadge from \"./components/GnBadge.js\";\nimport GnButton from \"./components/GnButton.js\";\nimport GnCard from \"./components/GnCard.js\";\nimport GnCheckbox from \"./components/GnCheckbox.js\";\nimport GnChip from \"./components/GnChip.js\";\nimport GnCopyButton from \"./components/GnCopyButton.js\";\nimport GnChipGroup from \"./components/GnChipGroup.js\";\nimport GnCombobox from \"./components/GnCombobox.js\";\nimport GnConfirmDialog from \"./components/GnConfirmDialog.js\";\nimport GnDescriptionList from \"./components/GnDescriptionList.js\";\nimport GnDefinitionList from \"./components/GnDefinitionList.js\";\nimport GnDropdown from \"./components/GnDropdown.js\";\nimport GnDrawer from \"./components/GnDrawer.js\";\nimport GnEmptyState from \"./components/GnEmptyState.js\";\nimport GnFileUpload from \"./components/GnFileUpload.js\";\nimport GnIconButton from \"./components/GnIconButton.js\";\nimport GnIdentity from \"./components/GnIdentity.js\";\nimport GnInput from \"./components/GnInput.js\";\nimport GnInputGroup from \"./components/GnInputGroup.js\";\nimport GnList from \"./components/GnList.js\";\nimport GnLoader from \"./components/GnLoader.js\";\nimport GnLoginCard from \"./components/GnLoginCard.js\";\nimport GnMetricCard from \"./components/GnMetricCard.js\";\nimport GnModal from \"./components/GnModal.js\";\nimport GnNavList from \"./components/GnNavList.js\";\nimport GnNavigationShell from \"./components/GnNavigationShell.js\";\nimport GnPageHeader from \"./components/GnPageHeader.js\";\nimport GnHorizontalCard from \"./components/GnHorizontalCard.js\";\nimport GnPagination from \"./components/GnPagination.js\";\nimport GnPopover from \"./components/GnPopover.js\";\nimport GnProgress from \"./components/GnProgress.js\";\nimport GnProgressStages from \"./components/GnProgressStages.js\";\nimport GnRadio from \"./components/GnRadio.js\";\nimport GnRadioGroup from \"./components/GnRadioGroup.js\";\nimport GnRange from \"./components/GnRange.js\";\nimport GnRouterTabs from \"./components/GnRouterTabs.js\";\nimport GnSearchField from \"./components/GnSearchField.js\";\nimport GnSelect from \"./components/GnSelect.js\";\nimport GnSkeleton from \"./components/GnSkeleton.js\";\nimport GnSteps from \"./components/GnSteps.js\";\nimport GnStatusCard from \"./components/GnStatusCard.js\";\nimport GnSwitch from \"./components/GnSwitch.js\";\nimport GnTable from \"./components/GnTable.js\";\nimport GnTabs from \"./components/GnTabs.js\";\nimport GnTextarea from \"./components/GnTextarea.js\";\nimport GnTimeline from \"./components/GnTimeline.js\";\nimport GnTooltip from \"./components/GnTooltip.js\";\nimport GnToolbar from \"./components/GnToolbar.js\";\nimport GnToastProvider from \"./components/GnToastProvider.js\";\nimport GnUsageMeter from \"./components/GnUsageMeter.js\";\nimport GnUserCard from \"./components/GnUserCard.js\";\n\nexport const components = {\n\tGnAccordion,\n\tGnActionCard,\n\tGnActionList,\n\tGnActivityLog,\n\tGnAlert,\n\tGnAvatar,\n\tGnAvatarStack,\n\tGnBadge,\n\tGnButton,\n\tGnCard,\n\tGnCheckbox,\n\tGnChip,\n\tGnChipGroup,\n\tGnCopyButton,\n\tGnCombobox,\n\tGnConfirmDialog,\n\tGnDescriptionList,\n\tGnDefinitionList,\n\tGnDropdown,\n\tGnDrawer,\n\tGnEmptyState,\n\tGnFileUpload,\n\tGnIconButton,\n\tGnIdentity,\n\tGnInput,\n\tGnInputGroup,\n\tGnList,\n\tGnLoader,\n\tGnLoginCard,\n\tGnMetricCard,\n\tGnModal,\n\tGnNavList,\n\tGnNavigationShell,\n\tGnPageHeader,\n\tGnHorizontalCard,\n\tGnPagination,\n\tGnPopover,\n\tGnProgress,\n\tGnProgressStages,\n\tGnRadio,\n\tGnRadioGroup,\n\tGnRange,\n\tGnRouterTabs,\n\tGnSearchField,\n\tGnSelect,\n\tGnSkeleton,\n\tGnSteps,\n\tGnStatusCard,\n\tGnSwitch,\n\tGnTable,\n\tGnTabs,\n\tGnTextarea,\n\tGnTimeline,\n\tGnTooltip,\n\tGnToolbar,\n\tGnToastProvider,\n\tGnUsageMeter,\n\tGnUserCard\n};\n\nexport default {\n\tinstall(app) {\n\t\tObject.entries(components).forEach(([name, component]) => {\n\t\t\tapp.component(name, component);\n\t\t});\n\t}\n};\n"], - "mappings": "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", + "sourcesContent": ["import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAccordion\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tmodelValue: { type: [String, Array], default: \"\" },\n\t\tmultiple: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst localOpen = ref(props.multiple ? [] : \"\");\n\n\t\tconst getOpen = () => props.modelValue || localOpen.value;\n\t\tconst isOpen = id => props.multiple ? getOpen().includes(id) : getOpen() === id;\n\t\tconst toggle = id => {\n\t\t\tlet next;\n\n\t\t\tif(props.multiple) {\n\t\t\t\tconst current = [...getOpen()];\n\t\t\t\tnext = current.includes(id) ? current.filter(item => item !== id) : [...current, id];\n\t\t\t} else {\n\t\t\t\tnext = isOpen(id) ? \"\" : id;\n\t\t\t}\n\n\t\t\tlocalOpen.value = next;\n\t\t\temit(\"update:modelValue\", next);\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"accordion\" }, props.items.map(item => {\n\t\t\tconst open = isOpen(item.id);\n\n\t\t\treturn h(\"section\", { class: \"accordion-item\", open: open ? \"\" : undefined }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"accordion-summary\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-expanded\": open ? \"true\" : \"false\",\n\t\t\t\t\tonClick: () => toggle(item.id)\n\t\t\t\t}, [\n\t\t\t\t\th(\"span\", { class: \"accordion-summary-content\" }, [\n\t\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\t\titem.label\n\t\t\t\t\t]),\n\t\t\t\t\th(\"i\", { class: cx(\"ph ph-caret-down accordion-icon\", { \"is-open\": open }), \"aria-hidden\": \"true\" })\n\t\t\t\t]),\n\t\t\t\topen && h(\"div\", { class: \"accordion-panel\" }, slots[item.id]?.({ item, open }) || item.content)\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { h } from \"vue\";\n\nexport const variants = new Set([\n\t\"primary\",\n\t\"secondary\",\n\t\"accent\",\n\t\"success\",\n\t\"warning\",\n\t\"danger\",\n\t\"error\",\n\t\"info\"\n]);\n\nexport function cx(...items) {\n\treturn items\n\t\t.flatMap(item => {\n\t\t\tif(!item) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif(Array.isArray(item)) {\n\t\t\t\treturn item;\n\t\t\t}\n\n\t\t\tif(typeof item === \"object\") {\n\t\t\t\treturn Object.entries(item)\n\t\t\t\t\t.filter(([, enabled]) => enabled)\n\t\t\t\t\t.map(([name]) => name);\n\t\t\t}\n\n\t\t\treturn [item];\n\t\t})\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n}\n\nexport function normalizeVariant(value, fallback = \"primary\") {\n\treturn variants.has(value) ? value : fallback;\n}\n\nexport function iconNode(icon, extraClass = \"\") {\n\tif(!icon) {\n\t\treturn null;\n\t}\n\n\tconst hasPrefix = icon.includes(\"ph \") || icon.startsWith(\"ph-\");\n\n\tif(!hasPrefix) {\n\t\tif(typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`[gnexus-ui-kit] Icon \"${icon}\" is missing the required \"ph-\" prefix. Use \"ph-${icon}\" instead.`);\n\t\t}\n\t}\n\n\tconst iconClass = hasPrefix\n\t\t? icon\n\t\t: `ph-${icon}`;\n\n\treturn h(\"i\", {\n\t\tclass: cx(\"ph\", iconClass, extraClass),\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\n\nexport function slotOrText(slots, name, text) {\n\treturn slots[name] ? slots[name]() : text;\n}\n\nexport function eventValue(event) {\n\tconst target = event.target;\n\n\tif(target.type === \"checkbox\") {\n\t\treturn target.checked;\n\t}\n\n\treturn target.value;\n}\n\nexport const focusableSelector = [\n\t\"a[href]\",\n\t\"button:not([disabled])\",\n\t\"input:not([disabled])\",\n\t\"select:not([disabled])\",\n\t\"textarea:not([disabled])\",\n\t\"[tabindex]:not([tabindex='-1'])\"\n].join(\",\");\n\nexport function trapFocus(event, root) {\n\tif(event.key !== \"Tab\" || !root) {\n\t\treturn;\n\t}\n\n\tconst focusable = [...root.querySelectorAll(focusableSelector)]\n\t\t.filter(node => !node.hasAttribute(\"disabled\") && node.offsetParent !== null);\n\n\tif(!focusable.length) {\n\t\tevent.preventDefault();\n\t\troot.focus();\n\t\treturn;\n\t}\n\n\tconst first = focusable[0];\n\tconst last = focusable[focusable.length - 1];\n\n\tif(event.shiftKey && document.activeElement === first) {\n\t\tevent.preventDefault();\n\t\tlast.focus();\n\t} else if(!event.shiftKey && document.activeElement === last) {\n\t\tevent.preventDefault();\n\t\tfirst.focus();\n\t}\n}\n", "import { defineComponent, h } from \"vue\";\n\nexport default defineComponent({\n\tname: \"GnActionCard\",\n\tprops: {\n\t\tkicker: { type: String, default: \"\" },\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"article\", { class: \"card action-card\" }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"span\", { class: \"action-card-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h3\", { class: \"action-card-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"action-card-text\" }, slots.default?.() || props.text),\n\t\t\t\tslots.actions && h(\"div\", { class: \"action-card-actions\" }, slots.actions())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-actions\", attrs.class) }, props.items.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", item.muted && \"list-item-muted\")\n\t\t}, [\n\t\t\th(\"div\", { class: \"list-content\" }, [\n\t\t\t\th(\"div\", { class: \"list-title\" }, slots.title?.({ item }) || item.title || item.label || \"\"),\n\t\t\t\t(item.subtitle || slots.subtitle) && h(\"div\", { class: \"list-subtitle\" }, slots.subtitle?.({ item }) || item.subtitle)\n\t\t\t]),\n\t\t\tslots.controls && h(\"div\", { class: \"list-controls\" }, slots.controls({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActivityLog\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"activity-log\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"activity-log-row\"\n\t\t}, [\n\t\t\th(\"time\", { class: \"activity-log-time\" }, item.time),\n\t\t\th(\"span\", { class: \"activity-log-title\" }, slots[item.key]?.({ item }) || item.title),\n\t\t\tslots.actions && h(\"span\", {}, slots.actions({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAlert\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\trole: { type: String, default: \"status\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\trole: props.role,\n\t\t\t\tclass: cx(\"alert\", `alert-${variant}`, attrs.class)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatar\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tsrc: { type: String, default: \"\" },\n\t\talt: { type: String, default: \"\" },\n\t\tinitials: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false },\n\t\tstatus: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"avatar\", `avatar-${variant}`, {\n\t\t\t\t\t\"avatar-sm\": props.size === \"sm\",\n\t\t\t\t\t\"avatar-lg\": props.size === \"lg\",\n\t\t\t\t\t\"avatar-outline\": props.outline,\n\t\t\t\t\t\"is-online\": props.status === \"online\",\n\t\t\t\t\t\"is-busy\": props.status === \"busy\",\n\t\t\t\t\t\"is-offline\": props.status === \"offline\"\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\tprops.src ? h(\"img\", { src: props.src, alt: props.alt }) : iconNode(props.icon) || props.initials,\n\t\t\t\tprops.status && h(\"span\", { class: \"avatar-status\", \"aria-hidden\": \"true\" })\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatarStack\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcount: { type: [Number, String], default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"avatar-stack\" }, [\n\t\t\tprops.items.map(item => h(GnAvatar, { ...item, size: item.size || \"sm\" })),\n\t\t\tslots.default?.(),\n\t\t\tprops.count && h(\"span\", { class: \"avatar-stack-count\" }, `+${props.count}`)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnBadge\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"badge\",\n\t\t\t\t\tprops.outline && variant === \"primary\" ? \"badge-primary-outline\" : `badge-${variant}`,\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "/**\n * GnButton - Primary command component.\n *\n * @typedef {Object} GnButtonProps\n * @property {string} [variant='primary'] - primary | secondary | accent | success | warning | danger | error | info\n * @property {string} [size='md'] - sm | md | lg\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-plus\", \"ph-house\")\n * @property {boolean} [loading=false] - Show spinner and disable interaction\n * @property {boolean} [disabled=false] - Disabled state\n * @property {string} [type='button'] - button | submit | reset\n *\n * @slots default - Button label text\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnButton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tloading: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\ttype: { type: String, default: \"button\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst hasIcon = Boolean(props.icon || props.loading);\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"button\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tdisabled: props.disabled || props.loading,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"btn\",\n\t\t\t\t\t`btn-${variant}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t\"btn-small\": props.size === \"sm\",\n\t\t\t\t\t\t\"btn-large\": props.size === \"lg\",\n\t\t\t\t\t\t\"with-icon\": hasIcon,\n\t\t\t\t\t\t\"loading-state\": props.loading\n\t\t\t\t\t},\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, [\n\t\t\t\tprops.loading ? iconNode(\"ph-bold ph-spinner\") : iconNode(props.icon),\n\t\t\t\tslots.default?.()\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card\", props.variant && `card-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\t(props.title || slots.title) && h(\"header\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCheckbox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"checkbox\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"checkbox-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"checkbox-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChip\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tselected: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\tremovable: { type: Boolean, default: false },\n\t\tclickable: { type: Boolean, default: false }\n\t},\n\temits: [\"remove\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => {\n\t\t\tconst tag = props.clickable ? \"button\" : \"span\";\n\t\t\tconst variant = props.variant ? normalizeVariant(props.variant) : \"\";\n\t\t\tconst chipText = slots.default?.()?.[0]?.children;\n\n\t\t\treturn h(tag, {\n\t\t\t\t...attrs,\n\t\t\t\ttype: tag === \"button\" ? \"button\" : undefined,\n\t\t\t\tdisabled: tag === \"button\" ? props.disabled : undefined,\n\t\t\t\t\"aria-pressed\": tag === \"button\" ? String(props.selected) : undefined,\n\t\t\t\tclass: cx(\"chip\", variant && `chip-${variant}`, {\n\t\t\t\t\t\"chip-selected\": props.selected,\n\t\t\t\t\t\"chip-disabled\": props.disabled\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\ticonNode(props.icon),\n\t\t\t\tslots.default?.(),\n\t\t\t\tprops.removable && h(\"button\", {\n\t\t\t\t\tclass: \"chip-remove\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": chipText ? `Remove ${chipText}` : \"Remove\",\n\t\t\t\t\tonClick: event => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\temit(\"remove\");\n\t\t\t\t\t}\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChipGroup\",\n\tinheritAttrs: false,\n\tsetup(_, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"chip-group\", attrs.class) }, slots.default?.());\n\t}\n});\n", "import { computed, defineComponent, h, nextTick, ref } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nlet comboboxId = 0;\n\nexport default defineComponent({\n\tname: \"GnCombobox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tnotFoundText: { type: String, default: \"Nothing found\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"select\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst id = `gn-combobox-${++comboboxId}`;\n\t\tconst listboxId = `${id}-listbox`;\n\t\tconst open = ref(false);\n\t\tconst focused = ref(-1);\n\t\tconst inputRef = ref(null);\n\t\tconst normalized = computed(() => props.options.map(option => typeof option === \"object\" ? option : {\n\t\t\tvalue: option,\n\t\t\tlabel: option\n\t\t}));\n\t\tconst query = computed(() => String(props.modelValue ?? \"\").toLowerCase());\n\t\tconst filtered = computed(() => normalized.value.filter(option => String(option.label).toLowerCase().includes(query.value)));\n\t\tconst select = option => {\n\t\t\tif(!option) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\temit(\"update:modelValue\", option.label);\n\t\t\temit(\"select\", option);\n\t\t\topen.value = false;\n\t\t\tfocused.value = -1;\n\t\t};\n\t\tconst move = direction => {\n\t\t\tif(!filtered.value.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topen.value = true;\n\t\t\tfocused.value = (focused.value + direction + filtered.value.length) % filtered.value.length;\n\t\t\tnextTick(() => {\n\t\t\t\tconst container = inputRef.value?.closest(\".form-group\")?.querySelector(\".advanced-select\");\n\t\t\t\tcontainer?.querySelector(\".option.focus\")?.scrollIntoView({ block: \"nearest\" });\n\t\t\t});\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(1);\n\t\t\t} else if(event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(-1);\n\t\t\t} else if(event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselect(filtered.value[focused.value]);\n\t\t\t} else if(event.key === \"Escape\") {\n\t\t\t\topen.value = false;\n\t\t\t\tfocused.value = -1;\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tref: inputRef,\n\t\t\t\t\tid,\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\t\tautocomplete: \"off\",\n\t\t\t\t\trole: \"combobox\",\n\t\t\t\t\t\"aria-autocomplete\": \"list\",\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": listboxId,\n\t\t\t\t\t\"aria-activedescendant\": focused.value >= 0 ? `${id}-option-${focused.value}` : undefined,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonFocus: () => {\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t},\n\t\t\t\t\tonBlur: () => {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\topen.value = false;\n\t\t\t\t\t\t}, 120);\n\t\t\t\t\t},\n\t\t\t\t\tonInput: event => {\n\t\t\t\t\t\tfocused.value = -1;\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t\temit(\"update:modelValue\", eventValue(event));\n\t\t\t\t\t},\n\t\t\t\t\tonKeydown\n\t\t\t\t})\n\t\t\t]),\n\t\t\th(\"div\", { class: \"advanced-select-container\" }, [\n\t\t\t\th(\"div\", { class: cx(\"advanced-select\", { \"a-show\": open.value }) }, [\n\t\t\t\t\th(\"div\", { class: \"popup-options-container\" }, [\n\t\t\t\t\t\th(\"div\", { class: cx(\"not-found\", { show: !filtered.value.length }) }, props.notFoundText),\n\t\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\t\tid: listboxId,\n\t\t\t\t\t\t\tclass: cx(\"options\", { show: filtered.value.length }),\n\t\t\t\t\t\t\trole: \"listbox\"\n\t\t\t\t\t\t}, filtered.value.map((option, index) => h(\"div\", {\n\t\t\t\t\t\t\tid: `${id}-option-${index}`,\n\t\t\t\t\t\t\tclass: cx(\"option\", { focus: index === focused.value }),\n\t\t\t\t\t\t\trole: \"option\",\n\t\t\t\t\t\t\t\"aria-selected\": option.label === props.modelValue ? \"true\" : \"false\",\n\t\t\t\t\t\t\t\"data-value\": option.value,\n\t\t\t\t\t\t\t\"data-display-value\": option.label,\n\t\t\t\t\t\t\tonMousedown: event => {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tselect(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, option.label)))\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnButton from \"./GnButton.js\";\nimport GnModal from \"./GnModal.js\";\n\nexport default defineComponent({\n\tname: \"GnConfirmDialog\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"Requires confirmation\" },\n\t\tmessage: { type: String, default: \"\" },\n\t\tconfirmText: { type: String, default: \"YES\" },\n\t\tcancelText: { type: String, default: \"NO\" },\n\t\tconfirmVariant: { type: String, default: \"warning\" }\n\t},\n\temits: [\"update:open\", \"confirm\", \"cancel\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst close = () => emit(\"update:open\", false);\n\t\tconst cancel = () => {\n\t\t\temit(\"cancel\");\n\t\t\tclose();\n\t\t};\n\t\tconst confirm = () => {\n\t\t\temit(\"confirm\");\n\t\t\tclose();\n\t\t};\n\n\t\treturn () => h(GnModal, {\n\t\t\topen: props.open,\n\t\t\ttitle: props.title,\n\t\t\t\"onUpdate:open\": value => emit(\"update:open\", value)\n\t\t}, {\n\t\t\tdefault: () => slots.default?.() || h(\"p\", {}, props.message),\n\t\t\tactions: () => [\n\t\t\t\th(GnButton, { variant: \"primary\", onClick: cancel }, () => props.cancelText),\n\t\t\t\th(GnButton, { variant: props.confirmVariant, onClick: confirm }, () => props.confirmText)\n\t\t\t]\n\t\t});\n\t}\n});\n", "/**\n * GnModal - Accessible modal dialog with focus trapping and teleport.\n *\n * @typedef {Object} GnModalProps\n * @property {boolean} [open=false] - Dialog visibility\n * @property {string} [title=''] - Dialog title\n * @property {boolean} [closeOnBackdrop=true] - Click backdrop to close\n *\n * @slots default - Modal body content\n * @slots title - Override header title\n * @slots footer - Footer content\n * @slots actions - Action buttons (receives { close })\n * @emits update:open\n * @emits close\n */\nimport { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet modalId = 0;\n\nexport default defineComponent({\n\tname: \"GnModal\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tcloseOnBackdrop: { type: Boolean, default: true }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-modal-title-${++modalId}`;\n\t\tconst dialogRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, dialogRef.value);\n\t\t\t}\n\t\t};\n\t\tconst focusDialog = () => {\n\t\t\tnextTick(() => {\n\t\t\t\tdialogRef.value?.focus();\n\t\t\t});\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = true;\n\t\t\t\tvisible.value = true;\n\t\t\t\tnextTick(() => {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tclosing.value = false;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tfocusDialog();\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", { class: cx(\"modal\", closing.value ? \"a-hide\" : \"a-show\"), \"aria-hidden\": \"false\" }, [\n\t\t\t\th(\"div\", {\n\t\t\t\t\tclass: \"modal-backdrop\",\n\t\t\t\t\tonClick: () => props.closeOnBackdrop && close()\n\t\t\t\t}),\n\t\t\t\th(\"div\", {\n\t\t\t\t\tref: dialogRef,\n\t\t\t\t\tclass: \"modal-dialog\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"modal-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"modal-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon modal-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"modal-panel\" }, [\n\t\t\t\t\t\th(\"div\", { class: \"modal-body\" }, slots.default?.()),\n\t\t\t\t\t\t(slots.footer || slots.actions) && h(\"footer\", { class: \"modal-footer\" }, [\n\t\t\t\t\t\t\tslots.footer?.(),\n\t\t\t\t\t\t\tslots.actions && h(\"div\", { class: \"actions\" }, slots.actions({ close }))\n\t\t\t\t\t\t])\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCopyButton\",\n\tprops: {\n\t\ttext: { type: String, required: true },\n\t\ticon: { type: String, default: \"ph-copy\" },\n\t\tsuccessIcon: { type: String, default: \"ph-check\" },\n\t\tduration: { type: Number, default: 3000 },\n\t\tlabel: { type: String, default: \"Copy\" },\n\t\tsize: { type: String, default: null }\n\t},\n\temits: [\"copy\"],\n\tsetup(props, { emit }) {\n\t\tconst copied = ref(false);\n\t\tlet timer = null;\n\n\t\tconst copy = async () => {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(props.text);\n\t\t\t} catch {\n\t\t\t\t// Fallback for older browsers or non-secure contexts\n\t\t\t\tconst textarea = document.createElement(\"textarea\");\n\t\t\t\ttextarea.value = props.text;\n\t\t\t\ttextarea.style.position = \"fixed\";\n\t\t\t\ttextarea.style.opacity = \"0\";\n\t\t\t\tdocument.body.appendChild(textarea);\n\t\t\t\ttextarea.select();\n\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\tdocument.body.removeChild(textarea);\n\t\t\t}\n\n\t\t\tcopied.value = true;\n\t\t\twindow.clearTimeout(timer);\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tcopied.value = false;\n\t\t\t}, props.duration);\n\n\t\t\temit(\"copy\", props.text);\n\t\t};\n\n\t\treturn () => h(\"button\", {\n\t\t\tclass: cx(\"btn-icon\", { \"btn-icon-sm\": props.size === \"sm\" }),\n\t\t\ttype: \"button\",\n\t\t\t\"aria-label\": props.label,\n\t\t\tonClick: copy\n\t\t}, [iconNode(copied.value ? props.successIcon : props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDescriptionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcompact: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"description-list\", { \"description-list-compact\": props.compact }, attrs.class)\n\t\t}, props.items.map(item => h(\"div\", { class: \"description-list-row\" }, [\n\t\t\th(\"dt\", { class: \"description-list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: cx(\"description-list-value\", item.muted && \"description-list-value-muted\") },\n\t\t\t\tslots[item.key]?.({ item }) || item.value\n\t\t\t)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDefinitionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", { ...attrs, class: cx(\"list list-definition\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"list-row\"\n\t\t}, [\n\t\t\th(\"dt\", { class: \"list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: \"list-desc\" }, slots[item.key]?.({ item }) || item.description || item.value)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnDropdown\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Actions\" },\n\t\ticon: { type: String, default: \"ph-dots-three-outline\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\titems: { type: Array, default: () => [] }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst select = item => {\n\t\t\tif(item.disabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem.onSelect?.(item);\n\t\t\temit(\"select\", item);\n\t\t\tclose();\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"dropdown\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"dropdown-menu\", role: \"menu\" }, slots.default?.({ close }) || props.items.map(item => h(\"button\", {\n\t\t\t\tclass: cx(\"dropdown-item\", item.danger && \"dropdown-item-danger\"),\n\t\t\t\ttype: \"button\",\n\t\t\t\trole: \"menuitem\",\n\t\t\t\tdisabled: item.disabled,\n\t\t\t\tonClick: () => select(item)\n\t\t\t}, [\n\t\t\t\ticonNode(item.icon),\n\t\t\t\titem.label\n\t\t\t])))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet drawerId = 0;\n\nexport default defineComponent({\n\tname: \"GnDrawer\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tposition: { type: String, default: \"right\" }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-drawer-title-${++drawerId}`;\n\t\tconst panelRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, panelRef.value);\n\t\t\t}\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = true;\n\t\t\t\tvisible.value = true;\n\t\t\t\tnextTick(() => {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tclosing.value = false;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => panelRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", {\n\t\t\t\tclass: cx(\"drawer\", closing.value ? \"a-hide\" : \"a-show\", { \"drawer-left\": props.position === \"left\" }),\n\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"drawer-backdrop\", onClick: close }),\n\t\t\t\th(\"aside\", {\n\t\t\t\t\tref: panelRef,\n\t\t\t\t\tclass: \"drawer-panel\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"drawer-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"drawer-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon drawer-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"drawer-body\" }, slots.default?.()),\n\t\t\t\t\tslots.footer && h(\"footer\", { class: \"drawer-footer\" }, slots.footer({ close }))\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnEmptyState\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-package\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"empty-state\", props.variant && `empty-state-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"empty-state-icon\" }, [iconNode(props.icon)]),\n\t\t\th(\"h3\", { class: \"empty-state-title\" }, slots.title?.() || props.title),\n\t\t\t(props.text || slots.default) && h(\"p\", { class: \"empty-state-text\" }, slots.default?.() || props.text),\n\t\t\tslots.actions && h(\"div\", { class: \"empty-state-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnBadge from \"./GnBadge.js\";\n\nfunction fileType(file) {\n\tconst ext = file.name.split(\".\").pop();\n\treturn ext ? ext.slice(0, 6).toUpperCase() : \"FILE\";\n}\n\nfunction fileSize(file) {\n\tif(!file.size) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(file.size) / Math.log(1024)), units.length - 1);\n\tconst value = file.size / Math.pow(1024, index);\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nexport default defineComponent({\n\tname: \"GnFileUpload\",\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\ttitle: { type: String, default: \"Upload files\" },\n\t\tdescription: { type: String, default: \"Attach documents, archives or images.\" },\n\t\tprimary: { type: String, default: \"Choose files\" },\n\t\tsecondary: { type: String, default: \"Images get thumbnails, other files show their type\" },\n\t\tbadge: { type: String, default: \"\" },\n\t\tmultiple: { type: Boolean, default: true },\n\t\taccept: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"change\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst urls = ref(new Map());\n\t\tconst revokeFile = file => {\n\t\t\tconst url = urls.value.get(file);\n\n\t\t\tif(url) {\n\t\t\t\tURL.revokeObjectURL(url);\n\t\t\t\turls.value.delete(file);\n\t\t\t}\n\t\t};\n\t\tconst revokeAll = () => {\n\t\t\turls.value.forEach(url => URL.revokeObjectURL(url));\n\t\t\turls.value.clear();\n\t\t};\n\t\tconst setFiles = fileList => {\n\t\t\tconst files = Array.from(fileList || []);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst remove = index => {\n\t\t\trevokeFile(props.modelValue[index]);\n\t\t\tconst files = props.modelValue.filter((_, itemIndex) => itemIndex !== index);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst previewUrl = file => {\n\t\t\tif(!file.type?.startsWith(\"image/\")) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\n\t\t\tif(!urls.value.has(file)) {\n\t\t\t\turls.value.set(file, URL.createObjectURL(file));\n\t\t\t}\n\n\t\t\treturn urls.value.get(file);\n\t\t};\n\n\t\twatch(() => props.modelValue, files => {\n\t\t\tconst active = new Set(files);\n\t\t\t[...urls.value.keys()].forEach(file => {\n\t\t\t\tif(!active.has(file)) {\n\t\t\t\t\trevokeFile(file);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tonBeforeUnmount(revokeAll);\n\n\t\treturn () => h(\"div\", { class: \"file-upload-panel\" }, [\n\t\t\th(\"div\", { class: \"file-upload-form\" }, [\n\t\t\t\th(\"div\", { class: \"file-upload-header\" }, [\n\t\t\t\t\th(\"div\", { class: \"file-upload-heading\" }, [\n\t\t\t\t\t\th(\"h3\", { class: \"file-upload-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"p\", { class: \"file-upload-description\" }, slots.description?.() || props.description)\n\t\t\t\t\t]),\n\t\t\t\t\tprops.badge && h(GnBadge, { variant: \"info\" }, () => props.badge)\n\t\t\t\t]),\n\t\t\t\th(\"label\", { class: \"file-upload-dropzone\" }, [\n\t\t\t\t\th(\"span\", { class: \"file-upload-icon\", \"aria-hidden\": \"true\" }, [iconNode(\"ph-cloud-arrow-up\")]),\n\t\t\t\t\th(\"span\", { class: \"file-upload-body\" }, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-primary\" }, props.primary),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-secondary\" }, props.secondary)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"input\", {\n\t\t\t\t\t\ttype: \"file\",\n\t\t\t\t\t\tmultiple: props.multiple,\n\t\t\t\t\t\taccept: props.accept || undefined,\n\t\t\t\t\t\tonChange: event => setFiles(event.target.files)\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"file-upload-preview\", hidden: !props.modelValue.length }, props.modelValue.map((file, index) => h(\"figure\", {\n\t\t\t\t\tclass: \"file-upload-preview-item\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"file-upload-preview-remove\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": `Remove ${file.name}`,\n\t\t\t\t\t\tonClick: () => remove(index)\n\t\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\t\th(\"div\", { class: \"file-upload-preview-visual\" }, previewUrl(file)\n\t\t\t\t\t\t? h(\"img\", { src: previewUrl(file), alt: \"\" })\n\t\t\t\t\t\t: h(\"span\", { class: \"file-upload-preview-type\" }, fileType(file))\n\t\t\t\t\t),\n\t\t\t\t\th(\"figcaption\", {}, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-name\" }, file.name),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-meta\" }, `${fileType(file)} / ${fileSize(file)}`)\n\t\t\t\t\t])\n\t\t\t\t]))),\n\t\t\t\tslots.actions && h(\"div\", { class: \"file-upload-actions\" }, slots.actions()),\n\t\t\t\t!slots.actions && props.modelValue.length > 0 && h(\"div\", { class: \"file-upload-actions\" }, [\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\trevokeAll();\n\t\t\t\t\t\t\tsetFiles([]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => \"Reset\")\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnIconButton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ticon: { type: String, required: true },\n\t\tlabel: { type: String, required: true },\n\t\ttype: { type: String, default: \"button\" },\n\t\tsize: { type: String, default: null },\n\t\twithoutHover: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"button\", {\n\t\t\t...attrs,\n\t\t\ttype: props.type,\n\t\t\t\"aria-label\": props.label,\n\t\t\tclass: cx(\"btn-icon\", { \"btn-icon-sm\": props.size === \"sm\", \"without-hover\": props.withoutHover }, attrs.class)\n\t\t}, [iconNode(props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnIdentity\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tmeta: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"identity\" }, [\n\t\t\tslots.avatar?.() || h(GnAvatar, props.avatar),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"identity-meta\" }, slots.meta?.() || props.meta)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnInput - Text input field with label, icon, state, and help text.\n *\n * @typedef {Object} GnInputProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [type='text'] - input type attribute\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-pencil-simple\")\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {boolean} [bare=false] - Render bare input without .form-group wrapper\n *\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInput\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ttype: { type: String, default: \"text\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\tbare: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => {\n\t\t\tconst input = h(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tclass: cx(props.bare ? \"\" : \"input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t});\n\n\t\t\tif(props.bare) {\n\t\t\t\treturn input;\n\t\t\t}\n\n\t\t\treturn h(\"div\", { class: \"form-group\" }, [\n\t\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\t\tprops.label,\n\t\t\t\t\ticonNode(props.icon),\n\t\t\t\t\tinput\n\t\t\t\t]),\n\t\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInputGroup\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tcompact: { type: Boolean, default: false },\n\t\taddon: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"input-group\", { \"input-group-compact\": props.compact }, attrs.class)\n\t\t}, [\n\t\t\t(props.addon || props.icon || slots.addon) && h(\"span\", { class: \"input-group-addon\" }, slots.addon?.() || iconNode(props.icon) || props.addon),\n\t\t\tslots.default?.(),\n\t\t\tslots.action && h(\"span\", { class: \"input-group-action\" }, slots.action())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tordered: { type: Boolean, default: false },\n\t\ticons: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst tag = props.ordered ? \"ol\" : \"ul\";\n\n\t\treturn () => h(tag, {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"list\", {\n\t\t\t\t\"list-ordered\": props.ordered,\n\t\t\t\t\"with-icons\": props.icons\n\t\t\t}, attrs.class)\n\t\t}, props.items.map(item => h(\"li\", { class: \"list-item\" }, [\n\t\t\ticonNode(item.icon),\n\t\t\tslots.item?.({ item }) || item.label || item\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnLoader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tcircle: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"Loading\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => props.circle\n\t\t\t? h(\"div\", { ...attrs, class: cx(\"circle-loader\", attrs.class) }, [\n\t\t\t\ticonNode(\"ph-bold ph-spinner normalize\"),\n\t\t\t\tprops.label\n\t\t\t])\n\t\t\t: h(\"div\", { ...attrs, class: cx(\"loader\", attrs.class), role: \"status\", \"aria-label\": props.label });\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnInput from \"./GnInput.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnCheckbox from \"./GnCheckbox.js\";\nimport GnAlert from \"./GnAlert.js\";\n\nexport default defineComponent({\n\tname: \"GnLoginCard\",\n\tprops: {\n\t\ttitle: { type: String, default: \"Sign in\" },\n\t\tlogoSrc: { type: String, default: \"\" },\n\t\tlogoIcon: { type: String, default: \"\" },\n\t\tusernameLabel: { type: String, default: \"Username\" },\n\t\tusernameIcon: { type: String, default: \"ph-user\" },\n\t\tpasswordLabel: { type: String, default: \"Password\" },\n\t\tpasswordIcon: { type: String, default: \"ph-lock-key\" },\n\t\trememberMe: { type: Boolean, default: false },\n\t\trememberLabel: { type: String, default: \"Remember me\" },\n\t\tsubmitText: { type: String, default: \"Sign in\" },\n\t\tsubmitVariant: { type: String, default: \"secondary\" },\n\t\tloading: { type: Boolean, default: false },\n\t\terror: { type: String, default: \"\" },\n\t\tforgotHref: { type: String, default: \"#\" },\n\t\tforgotText: { type: String, default: \"Forgot password?\" },\n\t\tsignupHref: { type: String, default: \"#\" },\n\t\tsignupText: { type: String, default: \"Create account\" }\n\t},\n\temits: [\"submit\"],\n\tsetup(props, { emit }) {\n\t\tconst username = ref(\"\");\n\t\tconst password = ref(\"\");\n\t\tconst remember = ref(false);\n\n\t\tconst onSubmit = (event) => {\n\t\t\tevent.preventDefault();\n\t\t\temit(\"submit\", {\n\t\t\t\tusername: username.value,\n\t\t\t\tpassword: password.value,\n\t\t\t\tremember: remember.value\n\t\t\t});\n\t\t};\n\n\t\treturn () => h(\"article\", { class: \"card login-card\" }, [\n\t\t\t(props.title || props.logoSrc || props.logoIcon) && h(\"header\", { class: \"card-title login-card-header\" }, [\n\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", class: \"login-card-logo\" }),\n\t\t\t\tprops.logoIcon && !props.logoSrc && iconNode(props.logoIcon, \"login-card-logo-icon\"),\n\t\t\t\tprops.title && h(\"span\", { class: \"login-card-title\" }, props.title)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\tprops.error && h(GnAlert, { variant: \"danger\", class: \"login-card-error\" }, () => props.error),\n\t\t\t\th(\"form\", { class: \"login-card-form\", onSubmit }, [\n\t\t\t\t\th(GnInput, {\n\t\t\t\t\t\tmodelValue: username.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { username.value = v; },\n\t\t\t\t\t\tlabel: props.usernameLabel,\n\t\t\t\t\t\ticon: props.usernameIcon,\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tautocomplete: \"username\"\n\t\t\t\t\t}),\n\t\t\t\t\th(GnInput, {\n\t\t\t\t\t\tmodelValue: password.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { password.value = v; },\n\t\t\t\t\t\tlabel: props.passwordLabel,\n\t\t\t\t\t\ticon: props.passwordIcon,\n\t\t\t\t\t\ttype: \"password\",\n\t\t\t\t\t\tautocomplete: \"current-password\"\n\t\t\t\t\t}),\n\t\t\t\t\tprops.rememberMe && h(GnCheckbox, {\n\t\t\t\t\t\tmodelValue: remember.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { remember.value = v; }\n\t\t\t\t\t}, () => props.rememberLabel),\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: props.submitVariant,\n\t\t\t\t\t\tloading: props.loading,\n\t\t\t\t\t\tdisabled: props.loading,\n\t\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\t\ticon: \"ph-sign-in\",\n\t\t\t\t\t\tclass: \"login-card-submit\"\n\t\t\t\t\t}, () => props.submitText),\n\t\t\t\t\t(props.forgotHref || props.signupHref) && h(\"div\", { class: \"login-card-links\" }, [\n\t\t\t\t\t\tprops.forgotHref && h(\"a\", { href: props.forgotHref, class: \"login-card-link\" }, props.forgotText),\n\t\t\t\t\t\tprops.signupHref && h(\"a\", { href: props.signupHref, class: \"login-card-link\" }, props.signupText)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnMetricCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tlabel: { type: String, required: true },\n\t\tvalue: { type: [String, Number], required: true },\n\t\ticon: { type: String, default: \"ph-chart-line-up\" },\n\t\tdelta: { type: String, default: \"\" },\n\t\tnegative: { type: Boolean, default: false },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card metric-card\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"metric-card-header\" }, [\n\t\t\t\t\th(\"p\", { class: \"metric-card-label\" }, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"metric-card-icon\" }, [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\th(\"p\", { class: \"metric-card-value\" }, slots.value?.() || props.value),\n\t\t\t\t(props.delta || props.meta || slots.meta) && h(\"div\", { class: \"metric-card-meta\" }, [\n\t\t\t\t\tprops.delta && h(\"span\", {\n\t\t\t\t\t\tclass: cx(\"metric-card-delta\", { \"metric-card-delta-negative\": props.negative })\n\t\t\t\t\t}, props.delta),\n\t\t\t\t\tslots.meta?.() || props.meta\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\n\nexport default defineComponent({\n\tname: \"GnNavList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tconst resolveHref = to => {\n\t\t\tif(!to) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tif(typeof to === \"string\") {\n\t\t\t\treturn to;\n\t\t\t}\n\n\t\t\tif(to.path) {\n\t\t\t\treturn to.path;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst navItems = computed(() => props.items.map(item => {\n\t\t\tconst hasTo = Boolean(item.to);\n\t\t\tconst resolvedHref = hasTo\n\t\t\t\t? (hasRouter ? router.resolve(item.to).href : resolveHref(item.to))\n\t\t\t\t: item.href;\n\t\t\tconst isActive = hasTo && hasRouter\n\t\t\t\t? isRouteActive(route, item.to, props.activeMatch)\n\t\t\t\t: Boolean(item.active);\n\n\t\t\treturn {\n\t\t\t\t...item,\n\t\t\t\tresolvedHref,\n\t\t\t\tisActive,\n\t\t\t\thasTo\n\t\t\t};\n\t\t}));\n\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-nav\", attrs.class) }, navItems.value.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", { \"list-item-active\": item.isActive })\n\t\t}, [\n\t\t\th(item.resolvedHref ? \"a\" : \"button\", {\n\t\t\t\tclass: \"list-action\",\n\t\t\t\thref: item.resolvedHref,\n\t\t\t\ttype: item.resolvedHref ? undefined : \"button\",\n\t\t\t\tonClick: event => {\n\t\t\t\t\tif(item.hasTo && hasRouter) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\trouter.push(item.to);\n\t\t\t\t\t}\n\n\t\t\t\t\titem.onSelect?.(item, event);\n\t\t\t\t\temit(\"select\", item);\n\t\t\t\t}\n\t\t\t}, [\n\t\t\t\th(\"span\", { class: \"list-label\" }, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\tslots.label?.({ item }) || item.label\n\t\t\t\t]),\n\t\t\t\t(item.meta || slots.meta) && h(\"span\", { class: \"list-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t])\n\t\t])));\n\t}\n});\n", "/**\n * Safe vue-router access without hard dependency.\n * Reads $router and $route from the component instance globalProperties.\n */\nimport { getCurrentInstance } from \"vue\";\n\nexport function tryUseRouter() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$router || null;\n}\n\nexport function tryUseRoute() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$route || null;\n}\n\n/**\n * Check whether a route target matches the current route.\n *\n * @param {import(\"vue\").Ref|Object} currentRoute\n * @param {string|Object} to\n * @param {string} strategy - 'exact' | 'prefix'\n * @returns {boolean}\n */\nexport function isRouteActive(currentRoute, to, strategy = \"prefix\") {\n\tif(!currentRoute) {\n\t\treturn false;\n\t}\n\n\tconst route = currentRoute.value || currentRoute;\n\n\tif(typeof to === \"string\") {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to;\n\t\t}\n\n\t\treturn route.path === to || route.path.startsWith(to + \"/\");\n\t}\n\n\tif(to.path) {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to.path;\n\t\t}\n\n\t\treturn route.path === to.path || route.path.startsWith(to.path + \"/\");\n\t}\n\n\tif(to.name) {\n\t\treturn route.name === to.name;\n\t}\n\n\treturn false;\n}\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnNavList from \"./GnNavList.js\";\n\nlet shellId = 0;\n\nexport default defineComponent({\n\tname: \"GnNavigationShell\",\n\tprops: {\n\t\tbrand: { type: String, default: \"GNexus UI Kit\" },\n\t\tlogoSrc: { type: String, default: \"/assets/imgs/gnexus-mark.svg\" },\n\t\tcurrent: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"Sections\" },\n\t\tsubtitle: { type: String, default: \"Navigation\" },\n\t\tfooterLeft: { type: String, default: \"\" },\n\t\tfooterRight: { type: String, default: \"\" },\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst drawerId = `gn-nav-drawer-${++shellId}`;\n\t\tconst drawerRef = ref(null);\n\t\tlet previousFocus = null;\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\twatch(open, isOpen => {\n\t\t\tif(isOpen) {\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.body.classList.add(\"nav-drawer-open\");\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => drawerRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t}\n\t\t});\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t});\n\n\t\treturn () => [\n\t\t\th(\"header\", { class: \"nav-topbar\" }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"nav-topbar-toggle\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-controls\": drawerId,\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\tonClick: toggle\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(\"ph-sidebar-simple\"),\n\t\t\t\t\th(\"span\", {}, \"Menu\")\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-brand\" }, [\n\t\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", \"aria-hidden\": \"true\" }),\n\t\t\t\t\th(\"span\", {}, slots.brand?.() || props.brand)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-current\" }, slots.current?.() || props.current)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"nav-drawer-backdrop\", onClick: close }),\n\t\t\th(\"aside\", {\n\t\t\t\tref: drawerRef,\n\t\t\t\tclass: [\"nav-drawer\", { \"is-open\": open.value }],\n\t\t\t\tid: drawerId,\n\t\t\t\t\"aria-label\": \"Navigation\",\n\t\t\t\t\"aria-hidden\": open.value ? \"false\" : \"true\",\n\t\t\t\ttabindex: \"-1\"\n\t\t\t}, [\n\t\t\t\th(\"header\", { class: \"nav-drawer-header\" }, [\n\t\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-subtitle\" }, slots.subtitle?.() || props.subtitle)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"nav-drawer-close\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": \"Close navigation\",\n\t\t\t\t\t\tonClick: close\n\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t]),\n\t\t\t\th(\"nav\", { class: \"nav-drawer-body\" }, [\n\t\t\t\t\tslots.default?.({ close }) || h(GnNavList, {\n\t\t\t\t\t\titems: props.items,\n\t\t\t\t\t\tactiveMatch: props.activeMatch,\n\t\t\t\t\t\tonSelect: item => {\n\t\t\t\t\t\t\temit(\"select\", item);\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\t(slots.footer || props.footerLeft || props.footerRight) && h(\"footer\", { class: \"nav-drawer-footer\" },\n\t\t\t\t\tslots.footer?.() || [\n\t\t\t\t\t\th(\"span\", {}, props.footerLeft),\n\t\t\t\t\t\th(\"span\", {}, props.footerRight)\n\t\t\t\t\t]\n\t\t\t\t)\n\t\t\t]),\n\t\t\tslots.content?.()\n\t\t];\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPageHeader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tsubtitle: { type: String, default: \"\" },\n\t\tkicker: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\taccent: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"header\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"page-header\", {\n\t\t\t\t\"page-header-compact\": props.compact,\n\t\t\t\t\"page-header-accent\": props.accent\n\t\t\t}, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"page-header-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"div\", { class: \"page-header-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h1\", { class: \"page-header-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.subtitle || slots.subtitle) && h(\"p\", { class: \"page-header-subtitle\" }, slots.subtitle?.() || props.subtitle),\n\t\t\t\tslots.meta && h(\"div\", { class: \"page-header-meta\" }, slots.meta())\n\t\t\t]),\n\t\t\tslots.actions && h(\"div\", { class: \"page-header-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnHorizontalCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\timage: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttitleHref: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst titleNode = () => {\n\t\t\tconst content = [iconNode(props.icon), slots.title?.() || props.title];\n\n\t\t\tif(props.titleHref) {\n\t\t\t\treturn h(\"a\", { href: props.titleHref, class: \"card-title-link\" }, content);\n\t\t\t}\n\n\t\t\treturn content;\n\t\t};\n\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card card-horizontal\", attrs.class)\n\t\t}, [\n\t\t\tprops.image && h(\"div\", { class: \"card-media\" }, [\n\t\t\t\th(\"img\", { src: props.image, alt: \"\" })\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-body\" }, [\n\t\t\t\t(props.title || props.icon || slots.title) && h(\"h3\", { class: \"card-title\" }, titleNode()),\n\t\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPagination\",\n\tprops: {\n\t\tpage: { type: Number, required: true },\n\t\ttotalPages: { type: Number, required: true },\n\t\tariaLabel: { type: String, default: \"Pagination\" }\n\t},\n\temits: [\"update:page\"],\n\tsetup(props, { emit }) {\n\t\tconst setPage = page => {\n\t\t\tif(page >= 1 && page <= props.totalPages && page !== props.page) {\n\t\t\t\temit(\"update:page\", page);\n\t\t\t}\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst pages = Array.from({ length: props.totalPages }, (_, index) => index + 1);\n\n\t\t\treturn h(\"nav\", { class: \"pagination\", \"aria-label\": props.ariaLabel }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page <= 1,\n\t\t\t\t\tonClick: () => setPage(props.page - 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-left\")]),\n\t\t\t\tpages.map(page => h(\"button\", {\n\t\t\t\t\tclass: cx(\"pagination-item\", { \"pagination-item-active\": page === props.page }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-current\": page === props.page ? \"page\" : undefined,\n\t\t\t\t\tonClick: () => setPage(page)\n\t\t\t\t}, page)),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page >= props.totalPages,\n\t\t\t\t\tonClick: () => setPage(props.page + 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-right\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnPopover\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Details\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-info\" },\n\t\tvariant: { type: String, default: \"accent\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"popover\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"popover-panel\" }, [\n\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"popover-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"popover-text\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgress\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\tstriped: { type: Boolean, default: false },\n\t\tanimated: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\t\t\tconst variant = normalizeVariant(props.variant, \"secondary\");\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"progress\", `progress-${variant}`, {\n\t\t\t\t\t\"progress-striped\": props.striped,\n\t\t\t\t\t\"progress-animated\": props.animated\n\t\t\t\t}, attrs.class),\n\t\t\t\tstyle: { \"--progress-value\": `${percent}%` }\n\t\t\t}, [\n\t\t\t\t(props.label || slots.label) && h(\"div\", { class: \"progress-header\" }, [\n\t\t\t\t\th(\"span\", {}, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"progress-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"progress-track\" }, [\n\t\t\t\t\th(\"span\", {\n\t\t\t\t\t\tclass: \"progress-bar\",\n\t\t\t\t\t\trole: \"progressbar\",\n\t\t\t\t\t\t\"aria-valuenow\": props.value,\n\t\t\t\t\t\t\"aria-valuemin\": 0,\n\t\t\t\t\t\t\"aria-valuemax\": props.max\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgressStages\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"progress-stages\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: cx(\"progress-stage\", {\n\t\t\t\t\"progress-stage-complete\": item.status === \"complete\",\n\t\t\t\t\"progress-stage-current\": item.status === \"current\"\n\t\t\t})\n\t\t}, item.label || item)));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRadio\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tvalue: { type: [String, Number, Boolean], required: true },\n\t\tlabel: { type: String, default: \"\" },\n\t\tname: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"radio\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"radio\",\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: props.value,\n\t\t\t\tchecked: props.modelValue === props.value,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: () => emit(\"update:modelValue\", props.value)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"radio-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"radio-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnRadio from \"./GnRadio.js\";\n\nexport default defineComponent({\n\tname: \"GnRadioGroup\",\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tname: { type: String, default: \"gn-radio-group\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\treturn () => h(\"div\", { class: \"form-group radio-group\", role: \"radiogroup\", \"aria-label\": props.label || undefined }, [\n\t\t\tprops.label && h(\"div\", { class: \"label\" }, props.label),\n\t\t\tslots.default?.() || props.options.map(option => h(GnRadio, {\n\t\t\t\tmodelValue: props.modelValue,\n\t\t\t\t\"onUpdate:modelValue\": value => emit(\"update:modelValue\", value),\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: option.value,\n\t\t\t\tlabel: option.label,\n\t\t\t\tdisabled: option.disabled\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { eventValue } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRange\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [Number, String], default: 0 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tmin: { type: [Number, String], default: 0 },\n\t\tmax: { type: [Number, String], default: 100 },\n\t\tstep: { type: [Number, String], default: 1 }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"range\" }, [\n\t\t\th(\"label\", { class: \"label\" }, [\n\t\t\t\tprops.label,\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\ttype: \"range\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tmin: props.min,\n\t\t\t\t\tmax: props.max,\n\t\t\t\t\tstep: props.step,\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnRouterTabs \u2014 Router-aware tab switcher.\n *\n * Wraps GnTabs and drives active state from the current vue-router route.\n * When a tab is activated, the component calls router.push(item.to)\n * instead of emitting update:modelValue.\n *\n * @typedef {Object} GnRouterTabsItem\n * @property {string} id - Slot name and tab identifier\n * @property {string|Object} to - Route target (string path or { name, params, query })\n * @property {string} label - Tab label text\n * @property {string} [icon] - Phosphor icon name with ph- prefix\n * @property {boolean} [disabled] - Disabled state\n *\n * @typedef {Object} GnRouterTabsProps\n * @property {Array} items - Array of GnRouterTabsItem\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label\n * @property {string} [activeMatch='prefix'] - 'exact' | 'prefix' \u2014 how to match current route against item.to\n *\n * @slots [item.id] - One slot per item id\n */\nimport { computed, defineComponent, h, watch } from \"vue\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\nimport GnTabs from \"./GnTabs.js\";\n\nexport default defineComponent({\n\tname: \"GnRouterTabs\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tif(!hasRouter && typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\"[gnexus-ui-kit] GnRouterTabs requires vue-router. Falling back to standard tabs.\");\n\t\t}\n\n\t\tconst tabItems = computed(() => props.items.map(item => ({\n\t\t\tid: item.id,\n\t\t\tlabel: item.label,\n\t\t\ticon: item.icon,\n\t\t\tdisabled: item.disabled,\n\t\t\tto: item.to\n\t\t})));\n\n\t\tconst activeId = computed(() => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t\t}\n\n\t\t\tconst matched = tabItems.value.find(item => {\n\t\t\t\tif(item.disabled || !item.to) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn isRouteActive(route, item.to, props.activeMatch);\n\t\t\t});\n\n\t\t\treturn matched?.id || tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t});\n\n\t\tconst onUpdate = id => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst item = tabItems.value.find(i => i.id === id);\n\n\t\t\tif(item && item.to) {\n\t\t\t\trouter.push(item.to);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(GnTabs, {\n\t\t\tmodelValue: activeId.value,\n\t\t\titems: tabItems.value,\n\t\t\tcompact: props.compact,\n\t\t\tvertical: props.vertical,\n\t\t\tariaLabel: props.ariaLabel,\n\t\t\t\"onUpdate:modelValue\": onUpdate\n\t\t}, slots);\n\t}\n});\n", "/**\n * GnTabs - Accessible tab switcher with keyboard navigation.\n *\n * @typedef {Object} GnTabsProps\n * @property {string} [modelValue=''] - Active tab id\n * @property {Array} items - Array of { id, label, icon?, disabled? }\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label for the tablist\n *\n * @slots [item.id] - One slot per item id: \n * @emits update:modelValue\n */\nimport { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTabs\",\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst activeId = computed(() => props.modelValue || props.items.find(item => !item.disabled)?.id || props.items[0]?.id);\n\n\t\tconst activate = item => {\n\t\t\tif(!item.disabled) {\n\t\t\t\temit(\"update:modelValue\", item.id);\n\t\t\t}\n\t\t};\n\t\tconst enabledItems = () => props.items.filter(item => !item.disabled);\n\t\tconst move = (item, direction) => {\n\t\t\tconst items = enabledItems();\n\t\t\tconst index = items.findIndex(enabled => enabled.id === item.id);\n\t\t\tconst next = items[(index + direction + items.length) % items.length];\n\t\t\tactivate(next);\n\t\t};\n\t\tconst handleKeydown = (event, item) => {\n\t\t\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, 1);\n\t\t\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, -1);\n\t\t\t} else if(event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tactivate(enabledItems()[0]);\n\t\t\t} else if(event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst items = enabledItems();\n\t\t\t\tactivate(items[items.length - 1]);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"tabs\", {\n\t\t\t\t\"tabs-compact\": props.compact,\n\t\t\t\t\"tabs-vertical\": props.vertical\n\t\t\t})\n\t\t}, [\n\t\t\th(\"div\", { class: \"tabs-list\", role: \"tablist\", \"aria-label\": props.ariaLabel }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\t\t\t\tconst panelId = `${item.id}-panel`;\n\n\t\t\t\treturn h(\"button\", {\n\t\t\t\t\tclass: cx(\"tab\", { \"tab-active\": active }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\trole: \"tab\",\n\t\t\t\t\t\"aria-selected\": active ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": panelId,\n\t\t\t\t\t\"aria-disabled\": item.disabled ? \"true\" : undefined,\n\t\t\t\t\ttabindex: active ? \"0\" : \"-1\",\n\t\t\t\t\tonClick: () => activate(item),\n\t\t\t\t\tonKeydown: event => handleKeydown(event, item)\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\titem.label\n\t\t\t\t]);\n\t\t\t})),\n\t\t\th(\"div\", { class: \"tabs-panels\" }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\n\t\t\t\treturn h(\"div\", {\n\t\t\t\t\tid: `${item.id}-panel`,\n\t\t\t\t\tclass: cx(\"tab-panel\", { \"tab-panel-active\": active }),\n\t\t\t\t\trole: \"tabpanel\",\n\t\t\t\t\thidden: !active\n\t\t\t\t}, slots[item.id]?.({ item, active }) || (active && slots.default?.({ item, active })));\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSearchField\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tcompact: { type: Boolean, default: true },\n\t\tclearable: { type: Boolean, default: true }\n\t},\n\temits: [\"update:modelValue\", \"clear\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst clear = () => {\n\t\t\temit(\"update:modelValue\", \"\");\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"input-group search-field\", { \"input-group-compact\": props.compact })\n\t\t}, [\n\t\t\th(\"span\", { class: \"input-group-addon\" }, [iconNode(\"ph-magnifying-glass\")]),\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"search\",\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\tclass: cx(\"input-group-input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t}),\n\t\t\tprops.clearable && h(\"button\", {\n\t\t\t\tclass: \"input-group-action\",\n\t\t\t\ttype: \"button\",\n\t\t\t\t\"aria-label\": \"Clear search\",\n\t\t\t\tonClick: clear\n\t\t\t}, [iconNode(\"ph-x\")])\n\t\t]);\n\t}\n});\n", "/**\n * GnSelect - Dropdown select with label, icon, state, and help text.\n *\n * @typedef {Object} GnSelectProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {Array} [options=[]] - Array of strings or { value, label } objects\n *\n * @slots default - Override option nodes\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSelect\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst optionNodes = () => props.options.map(option => {\n\t\t\tconst value = typeof option === \"object\" ? option.value : option;\n\t\t\tconst label = typeof option === \"object\" ? option.label : option;\n\n\t\t\treturn h(\"option\", { value }, label);\n\t\t});\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"div\", { class: \"select-wrap\" }, [\n\t\t\t\t\th(\"select\", {\n\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\t\tclass: cx(\"input select\", attrs.class),\n\t\t\t\t\t\tonChange: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t\t}, slots.default?.() || optionNodes())\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSkeleton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttype: { type: String, default: \"line\" },\n\t\tstack: { type: Boolean, default: false },\n\t\tcount: { type: Number, default: 1 }\n\t},\n\tsetup(props, { attrs }) {\n\t\tconst skeleton = key => h(\"span\", {\n\t\t\tkey,\n\t\t\t...attrs,\n\t\t\tclass: cx(\"skeleton\", `skeleton-${props.type}`, attrs.class)\n\t\t});\n\n\t\treturn () => props.stack\n\t\t\t? h(\"div\", { class: \"skeleton-stack\" }, Array.from({ length: props.count }, (_, index) => skeleton(index)))\n\t\t\t: skeleton(0);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSteps\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tvertical: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"ol\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"steps\", { \"steps-vertical\": props.vertical }, attrs.class)\n\t\t}, props.items.map((item, index) => h(\"li\", {\n\t\t\tclass: cx(\"step\", {\n\t\t\t\t\"step-complete\": item.status === \"complete\",\n\t\t\t\t\"step-current\": item.status === \"current\",\n\t\t\t\t\"step-disabled\": item.disabled || item.status === \"disabled\"\n\t\t\t})\n\t\t}, [\n\t\t\th(\"span\", { class: \"step-marker\" }, item.marker || String(index + 1)),\n\t\t\th(\"h3\", { class: \"step-title\" }, item.title),\n\t\t\titem.text && h(\"p\", { class: \"step-text\" }, item.text)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnStatusCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-stack\" },\n\t\tvariant: { type: String, default: \"primary\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst variant = normalizeVariant(props.variant);\n\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card status-card\", `card-${variant}`, attrs.class) }, [\n\t\t\th(\"span\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"status-icon-container\" }, [\n\t\t\t\t\th(\"div\", { class: \"status-icon\" }, slots.icon?.() || [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"status-name\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSwitch\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"switch\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"switch-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"switch-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "/**\n * GnTable - Data table with columns, rows, scoped cell slots, and empty state.\n *\n * @typedef {Object} GnTableProps\n * @property {Array} columns - Array of { key, label } column definitions\n * @property {Array} [rows=[]] - Array of row data objects\n * @property {string} [caption=''] - Table caption\n * @property {string} [emptyText='Empty'] - Text shown when rows is empty\n *\n * @slots cell-${column.key} - Scoped slot per column: { row, column, value }\n * @slots empty - Override empty state\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTable\",\n\tprops: {\n\t\tcolumns: { type: Array, required: true },\n\t\trows: { type: Array, default: () => [] },\n\t\tcaption: { type: String, default: \"\" },\n\t\temptyText: { type: String, default: \"Empty\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { class: \"table-wrapper\" }, [\n\t\t\th(\"table\", { class: cx(\"table data-list\", { \"table-empty\": !props.rows.length }, attrs.class) }, [\n\t\t\t\tprops.caption && h(\"caption\", { class: \"table-caption\" }, props.caption),\n\t\t\t\th(\"thead\", { class: \"table-head\" }, [\n\t\t\t\t\th(\"tr\", { class: \"table-row\" }, props.columns.map(column => h(\"th\", { scope: \"col\" }, column.label)))\n\t\t\t\t]),\n\t\t\t\th(\"tbody\", { class: \"table-body\" }, props.rows.length\n\t\t\t\t\t? props.rows.map(row => h(\"tr\", { class: \"table-row\" }, props.columns.map(column => {\n\t\t\t\t\t\tconst name = `cell-${column.key}`;\n\t\t\t\t\t\treturn h(\"td\", {}, slots[name]?.({ row, column, value: row[column.key] }) || row[column.key]);\n\t\t\t\t\t})))\n\t\t\t\t\t: h(\"tr\", {}, [h(\"td\", { class: \"is-empty\", colspan: props.columns.length }, slots.empty?.() || props.emptyText)])\n\t\t\t\t)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTextarea\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"textarea\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTimeline\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ol\", { ...attrs, class: cx(\"timeline\", attrs.class) }, props.items.map(item => {\n\t\t\tconst variant = item.variant ? normalizeVariant(item.variant) : \"\";\n\n\t\t\treturn h(\"li\", { class: cx(\"timeline-item\", variant && `timeline-item-${variant}`) }, [\n\t\t\t\th(\"span\", { class: \"timeline-marker\" }, [iconNode(item.icon || \"ph-circle\")]),\n\t\t\t\th(\"div\", { class: \"timeline-content\" }, [\n\t\t\t\t\th(\"article\", { class: \"timeline-card\" }, [\n\t\t\t\t\t\th(\"header\", { class: \"timeline-header\" }, [\n\t\t\t\t\t\t\th(\"h3\", { class: \"timeline-title\" }, item.title),\n\t\t\t\t\t\t\titem.time && h(\"time\", { class: \"timeline-time\" }, item.time)\n\t\t\t\t\t\t]),\n\t\t\t\t\t\th(\"p\", { class: \"timeline-text\" }, slots[item.key]?.({ item }) || item.text),\n\t\t\t\t\t\t(item.meta || slots.meta) && h(\"div\", { class: \"timeline-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTooltip\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst open = ref(false);\n\n\t\treturn () => h(\"span\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"tooltip\", { \"is-open\": open.value }, attrs.class),\n\t\t\ttabindex: \"0\",\n\t\t\tonFocusin: () => {\n\t\t\t\topen.value = true;\n\t\t\t},\n\t\t\tonFocusout: () => {\n\t\t\t\topen.value = false;\n\t\t\t}\n\t\t}, [\n\t\t\tslots.default?.(),\n\t\t\th(\"span\", { class: \"tooltip-panel\", role: \"tooltip\" }, slots.panel?.() || props.text)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnToolbar\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"toolbar\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"toolbar-group\" }, [\n\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"toolbar-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"toolbar-meta\" }, slots.meta?.() || props.meta)\n\t\t\t\t])\n\t\t\t]),\n\t\t\t(slots.default || slots.actions) && h(\"div\", { class: \"toolbar-group\" }, slots.actions?.() || slots.default?.())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, provide, ref, nextTick } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\nimport { toastKey } from \"../composables/toast-context.js\";\n\nconst iconByVariant = {\n\tinfo: \"ph-info\",\n\tsuccess: \"ph-check-circle\",\n\twarning: \"ph-warning\",\n\tdanger: \"ph-warning-octagon\",\n\terror: \"ph-warning-octagon\",\n\tprimary: \"ph-info\",\n\tsecondary: \"ph-info\"\n};\n\nexport default defineComponent({\n\tname: \"GnToastProvider\",\n\tprops: {\n\t\tlifetime: { type: Number, default: 4000 }\n\t},\n\tsetup(props, { slots, expose }) {\n\t\tconst toast = ref(null);\n\t\tconst closing = ref(false);\n\t\tconst showing = ref(false);\n\t\tlet timer = null;\n\t\tlet closeTimer = null;\n\t\tlet progressTimer = null;\n\t\tconst progress = ref(100);\n\n\t\tconst dismiss = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = true;\n\t\t\tshowing.value = false;\n\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\ttoast.value = null;\n\t\t\t\tclosing.value = false;\n\t\t\t\tprogress.value = 100;\n\t\t\t\twindow.clearTimeout(timer);\n\t\t\t\ttimer = null;\n\t\t\t}, 300);\n\t\t};\n\n\t\tconst close = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearTimeout(timer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = false;\n\t\t\tshowing.value = false;\n\t\t\tprogress.value = 100;\n\t\t\ttoast.value = null;\n\t\t};\n\n\t\tconst show = options => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = false;\n\t\t\tshowing.value = false;\n\t\t\tprogress.value = 100;\n\t\t\tconst variant = normalizeVariant(options.variant || options.type || \"info\", \"info\");\n\t\t\tconst lifetime = options.lifetime !== undefined ? options.lifetime : props.lifetime;\n\t\t\ttoast.value = {\n\t\t\t\tid: Date.now(),\n\t\t\t\tvariant: variant === \"error\" ? \"danger\" : variant,\n\t\t\t\ttitle: options.title || \"\",\n\t\t\t\ttext: options.text || options.message || \"\",\n\t\t\t\ticon: options.icon || iconByVariant[variant] || iconByVariant.info,\n\t\t\t\tlifetime\n\t\t\t};\n\n\t\t\twindow.clearTimeout(timer);\n\n\t\t\tif(lifetime !== 0) {\n\t\t\t\tconst step = 100;\n\t\t\t\tconst totalSteps = lifetime / step;\n\t\t\t\tprogress.value = 100;\n\t\t\t\tprogressTimer = window.setInterval(() => {\n\t\t\t\t\tprogress.value -= 100 / totalSteps;\n\t\t\t\t\tif(progress.value <= 0) {\n\t\t\t\t\t\twindow.clearInterval(progressTimer);\n\t\t\t\t\t}\n\t\t\t\t}, step);\n\n\t\t\t\ttimer = window.setTimeout(dismiss, lifetime);\n\t\t\t}\n\n\t\t\tnextTick(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tshowing.value = true;\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst api = {\n\t\t\tshow,\n\t\t\tclose,\n\t\t\tinfo: options => show({ ...options, variant: \"info\" }),\n\t\t\tsuccess: options => show({ ...options, variant: \"success\" }),\n\t\t\twarning: options => show({ ...options, variant: \"warning\" }),\n\t\t\tdanger: options => show({ ...options, variant: \"danger\" }),\n\t\t\terror: options => show({ ...options, variant: \"danger\" })\n\t\t};\n\n\t\tprovide(toastKey, api);\n\t\texpose(api);\n\n\t\tconst toastClass = () => {\n\t\t\tif (closing.value) return \"a-hide\";\n\t\t\tif (showing.value) return \"a-show\";\n\t\t\treturn \"\";\n\t\t};\n\n\t\treturn () => [\n\t\t\tslots.default?.(),\n\t\t\ttoast.value && h(\"div\", {\n\t\t\t\tclass: cx(\"toast\", toastClass(), `toast-${toast.value.variant}`),\n\t\t\t\trole: \"alert\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"toast-content\" }, [\n\t\t\t\t\th(\"div\", { class: \"toast-header\" }, [\n\t\t\t\t\t\ticonNode(toast.value.icon),\n\t\t\t\t\t\ttoast.value.title\n\t\t\t\t\t]),\n\t\t\t\t\ttoast.value.text && h(\"p\", { class: \"toast-text\" }, toast.value.text)\n\t\t\t\t]),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"btn-icon toast-close\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\tonClick: dismiss\n\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\ttoast.value.lifetime !== 0 && h(\"div\", { class: \"toast-progress\" }, [\n\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\tclass: \"toast-progress-bar\",\n\t\t\t\t\t\tstyle: { transform: `scaleX(${Math.max(0, progress.value / 100)})` }\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t])\n\t\t];\n\t}\n});\n", "export const toastKey = Symbol(\"gnexus-ui-kit-toast\");\n", "import { defineComponent, h } from \"vue\";\nimport GnProgress from \"./GnProgress.js\";\n\nexport default defineComponent({\n\tname: \"GnUsageMeter\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\n\t\t\treturn h(\"section\", { class: \"usage-meter\" }, [\n\t\t\t\th(\"h3\", { class: \"usage-meter-title\" }, [\n\t\t\t\t\tslots.title?.() || props.title,\n\t\t\t\t\th(\"span\", { class: \"usage-meter-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(GnProgress, { value: props.value, max: props.max }),\n\t\t\t\t(props.meta || slots.meta) && h(\"p\", { class: \"usage-meter-meta\" }, slots.meta?.() || props.meta)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnUserCard\",\n\tprops: {\n\t\tname: { type: String, required: true },\n\t\temail: { type: String, default: \"\" },\n\t\trole: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) },\n\t\thref: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\tactions: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst renderAvatar = () => slots.avatar?.() || h(GnAvatar, {\n\t\t\t...props.avatar,\n\t\t\tsize: props.compact ? \"sm\" : \"md\"\n\t\t});\n\n\t\tconst renderIdentity = () => h(\"span\", { class: \"identity\" }, [\n\t\t\trenderAvatar(),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, props.name),\n\t\t\t\tprops.email && h(\"span\", { class: \"identity-meta\" }, props.email)\n\t\t\t])\n\t\t]);\n\n\t\tconst renderActions = () => {\n\t\t\tif (slots.actions) return slots.actions();\n\t\t\tif (!props.actions.length) return null;\n\n\t\t\treturn h(\"div\", { class: \"user-card-actions\" },\n\t\t\t\tprops.actions.map(action => {\n\t\t\t\t\tif (props.compact) {\n\t\t\t\t\t\treturn h(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": action.label,\n\t\t\t\t\t\t\tonClick: action.onClick\n\t\t\t\t\t\t}, [iconNode(action.icon)]);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst hasIcon = !!action.icon;\n\t\t\t\t\tconst btnClass = cx(\"btn\", \"btn-small\", {\n\t\t\t\t\t\t[`btn-${action.variant}`]: action.variant,\n\t\t\t\t\t\t\"btn-secondary\": !action.variant,\n\t\t\t\t\t\t\"with-icon\": hasIcon\n\t\t\t\t\t});\n\n\t\t\t\t\treturn h(\"button\", {\n\t\t\t\t\t\tclass: btnClass,\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tonClick: action.onClick\n\t\t\t\t\t}, [\n\t\t\t\t\t\thasIcon && iconNode(action.icon),\n\t\t\t\t\t\taction.label\n\t\t\t\t\t]);\n\t\t\t\t})\n\t\t\t);\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst rootClass = cx(\"card\", \"user-card\", { \"user-card-compact\": props.compact });\n\t\t\tconst bodyChildren = [];\n\n\t\t\tif (props.href) {\n\t\t\t\tbodyChildren.push(\n\t\t\t\t\th(\"a\", {\n\t\t\t\t\t\tclass: \"profile-identity\",\n\t\t\t\t\t\thref: props.href,\n\t\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\t\trel: \"noopener noreferrer\"\n\t\t\t\t\t}, [renderIdentity()])\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tbodyChildren.push(renderIdentity());\n\t\t\t}\n\n\t\t\tif (!props.compact && props.role) {\n\t\t\t\tbodyChildren.push(h(\"span\", { class: \"user-card-role\" }, props.role));\n\t\t\t}\n\n\t\t\tif (slots.default && !props.compact) {\n\t\t\t\tbodyChildren.push(h(\"div\", { class: \"user-card-extra\" }, slots.default()));\n\t\t\t}\n\n\t\t\tconst actionsNode = renderActions();\n\t\t\tif (actionsNode) {\n\t\t\t\tbodyChildren.push(actionsNode);\n\t\t\t}\n\n\t\t\treturn h(\"article\", { class: rootClass }, [\n\t\t\t\th(\"div\", { class: \"user-card-body\" }, bodyChildren)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { inject } from \"vue\";\nimport { toastKey } from \"./toast-context.js\";\n\nexport function useToast() {\n\tconst api = inject(toastKey, null);\n\n\tif(api) {\n\t\treturn api;\n\t}\n\n\tconst missingProvider = () => {\n\t\tthrow new Error(\"GNexus UI Kit: useToast() requires near the app root.\");\n\t};\n\n\treturn {\n\t\tshow: missingProvider,\n\t\tinfo: missingProvider,\n\t\tsuccess: missingProvider,\n\t\twarning: missingProvider,\n\t\tdanger: missingProvider,\n\t\terror: missingProvider,\n\t\tclose: missingProvider\n\t};\n}\n\nexport default useToast;\n", "import GnAccordion from \"./components/GnAccordion.js\";\nimport GnActionCard from \"./components/GnActionCard.js\";\nimport GnActionList from \"./components/GnActionList.js\";\nimport GnActivityLog from \"./components/GnActivityLog.js\";\nimport GnAlert from \"./components/GnAlert.js\";\nimport GnAvatar from \"./components/GnAvatar.js\";\nimport GnAvatarStack from \"./components/GnAvatarStack.js\";\nimport GnBadge from \"./components/GnBadge.js\";\nimport GnButton from \"./components/GnButton.js\";\nimport GnCard from \"./components/GnCard.js\";\nimport GnCheckbox from \"./components/GnCheckbox.js\";\nimport GnChip from \"./components/GnChip.js\";\nimport GnCopyButton from \"./components/GnCopyButton.js\";\nimport GnChipGroup from \"./components/GnChipGroup.js\";\nimport GnCombobox from \"./components/GnCombobox.js\";\nimport GnConfirmDialog from \"./components/GnConfirmDialog.js\";\nimport GnDescriptionList from \"./components/GnDescriptionList.js\";\nimport GnDefinitionList from \"./components/GnDefinitionList.js\";\nimport GnDropdown from \"./components/GnDropdown.js\";\nimport GnDrawer from \"./components/GnDrawer.js\";\nimport GnEmptyState from \"./components/GnEmptyState.js\";\nimport GnFileUpload from \"./components/GnFileUpload.js\";\nimport GnIconButton from \"./components/GnIconButton.js\";\nimport GnIdentity from \"./components/GnIdentity.js\";\nimport GnInput from \"./components/GnInput.js\";\nimport GnInputGroup from \"./components/GnInputGroup.js\";\nimport GnList from \"./components/GnList.js\";\nimport GnLoader from \"./components/GnLoader.js\";\nimport GnLoginCard from \"./components/GnLoginCard.js\";\nimport GnMetricCard from \"./components/GnMetricCard.js\";\nimport GnModal from \"./components/GnModal.js\";\nimport GnNavList from \"./components/GnNavList.js\";\nimport GnNavigationShell from \"./components/GnNavigationShell.js\";\nimport GnPageHeader from \"./components/GnPageHeader.js\";\nimport GnHorizontalCard from \"./components/GnHorizontalCard.js\";\nimport GnPagination from \"./components/GnPagination.js\";\nimport GnPopover from \"./components/GnPopover.js\";\nimport GnProgress from \"./components/GnProgress.js\";\nimport GnProgressStages from \"./components/GnProgressStages.js\";\nimport GnRadio from \"./components/GnRadio.js\";\nimport GnRadioGroup from \"./components/GnRadioGroup.js\";\nimport GnRange from \"./components/GnRange.js\";\nimport GnRouterTabs from \"./components/GnRouterTabs.js\";\nimport GnSearchField from \"./components/GnSearchField.js\";\nimport GnSelect from \"./components/GnSelect.js\";\nimport GnSkeleton from \"./components/GnSkeleton.js\";\nimport GnSteps from \"./components/GnSteps.js\";\nimport GnStatusCard from \"./components/GnStatusCard.js\";\nimport GnSwitch from \"./components/GnSwitch.js\";\nimport GnTable from \"./components/GnTable.js\";\nimport GnTabs from \"./components/GnTabs.js\";\nimport GnTextarea from \"./components/GnTextarea.js\";\nimport GnTimeline from \"./components/GnTimeline.js\";\nimport GnTooltip from \"./components/GnTooltip.js\";\nimport GnToolbar from \"./components/GnToolbar.js\";\nimport GnToastProvider from \"./components/GnToastProvider.js\";\nimport GnUsageMeter from \"./components/GnUsageMeter.js\";\nimport GnUserCard from \"./components/GnUserCard.js\";\n\nexport const components = {\n\tGnAccordion,\n\tGnActionCard,\n\tGnActionList,\n\tGnActivityLog,\n\tGnAlert,\n\tGnAvatar,\n\tGnAvatarStack,\n\tGnBadge,\n\tGnButton,\n\tGnCard,\n\tGnCheckbox,\n\tGnChip,\n\tGnChipGroup,\n\tGnCopyButton,\n\tGnCombobox,\n\tGnConfirmDialog,\n\tGnDescriptionList,\n\tGnDefinitionList,\n\tGnDropdown,\n\tGnDrawer,\n\tGnEmptyState,\n\tGnFileUpload,\n\tGnIconButton,\n\tGnIdentity,\n\tGnInput,\n\tGnInputGroup,\n\tGnList,\n\tGnLoader,\n\tGnLoginCard,\n\tGnMetricCard,\n\tGnModal,\n\tGnNavList,\n\tGnNavigationShell,\n\tGnPageHeader,\n\tGnHorizontalCard,\n\tGnPagination,\n\tGnPopover,\n\tGnProgress,\n\tGnProgressStages,\n\tGnRadio,\n\tGnRadioGroup,\n\tGnRange,\n\tGnRouterTabs,\n\tGnSearchField,\n\tGnSelect,\n\tGnSkeleton,\n\tGnSteps,\n\tGnStatusCard,\n\tGnSwitch,\n\tGnTable,\n\tGnTabs,\n\tGnTextarea,\n\tGnTimeline,\n\tGnTooltip,\n\tGnToolbar,\n\tGnToastProvider,\n\tGnUsageMeter,\n\tGnUserCard\n};\n\nexport default {\n\tinstall(app) {\n\t\tObject.entries(components).forEach(([name, component]) => {\n\t\t\tapp.component(name, component);\n\t\t});\n\t}\n};\n"], + "mappings": "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", "names": ["h", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "nextTick", "ref", "defineComponent", "ref", "nextTick", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "defineComponent", "ref", "onBeforeUnmount", "h", "defineComponent", "h", "nextTick", "onBeforeUnmount", "ref", "Teleport", "watch", "defineComponent", "ref", "watch", "nextTick", "_a", "onBeforeUnmount", "h", "Teleport", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "watch", "defineComponent", "ref", "watch", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "computed", "defineComponent", "h", "defineComponent", "computed", "h", "_a", "defineComponent", "h", "nextTick", "onBeforeUnmount", "ref", "watch", "defineComponent", "ref", "drawerId", "watch", "nextTick", "_a", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "defineComponent", "ref", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "computed", "defineComponent", "h", "watch", "computed", "defineComponent", "h", "defineComponent", "computed", "h", "defineComponent", "computed", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "_a", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "nextTick", "defineComponent", "ref", "nextTick", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h"] } diff --git a/src/js/components/toasts.js b/src/js/components/toasts.js index 410e20d..a08b37f 100644 --- a/src/js/components/toasts.js +++ b/src/js/components/toasts.js @@ -17,32 +17,50 @@ const content = document.createElement("div"); content.className = "toast-content"; - const toastTitle = document.createElement("h4"); - toastTitle.className = "toast-title"; - appendIcon(toastTitle, icon); - toastTitle.append(document.createTextNode(` ${title ?? ""}`)); + const toastHeader = document.createElement("div"); + toastHeader.className = "toast-header"; + appendIcon(toastHeader, icon); + toastHeader.append(document.createTextNode(` ${title ?? ""}`)); - const toastText = document.createElement("p"); - toastText.className = "toast-text"; - toastText.textContent = text ?? ""; + content.append(toastHeader); + + if(text) { + const toastText = document.createElement("p"); + toastText.className = "toast-text"; + toastText.textContent = text; + content.append(toastText); + } + + const progress = document.createElement("div"); + progress.className = "toast-progress"; + + const progressBar = document.createElement("div"); + progressBar.className = "toast-progress-bar"; + progress.append(progressBar); const close = document.createElement("button"); close.className = "btn-icon toast-close"; close.type = "button"; close.setAttribute("aria-label", "Close"); - close.textContent = "✕"; + close.innerHTML = ''; - content.append(toastTitle, toastText); - toast.append(content, close); + toast.append(content, close, progress); return toast; } function init(toast, props) { + const lifetime = props?.lifetime || 4000; + if(props?.alone) { document.querySelectorAll(".toast").forEach(i => i.close?.()); } + const progressBar = toast.querySelector(".toast-progress-bar"); + if(progressBar && lifetime > 0) { + progressBar.style.animationDuration = `${lifetime}ms`; + } + toast.close = function() { this.classList.add("a-hide"); setTimeout(() => { @@ -65,13 +83,13 @@ toast.addEventListener("mouseover", e => toast.ishovered = true); toast.addEventListener("mouseout", e => toast.ishovered = false); - if(props?.lifetime) { + if(lifetime > 0) { const lifetimeInterval = setInterval(() => { if(!toast.ishovered) { toast.close(); clearInterval(lifetimeInterval); } - }, props?.lifetime); + }, lifetime); } return toast; @@ -81,63 +99,68 @@ return init(template(type, icon, title, text), props); } -function createSuccess(title, text, props) { +function applyDefaults(props) { if(typeof props == "undefined") { props = {}; } - if(typeof props.lifetime == "undefined") { props.lifetime = 4000; } - if(typeof props.alone == "undefined") { props.alone = true; } + return props; +} +function createSuccess(title, text, props) { + props = applyDefaults(props); return create( - "success", - ``, - title, + "success", + ``, + title, text, props ); } function createInfo(title, text, props) { + props = applyDefaults(props); return create( - "info", - ``, - title, + "info", + ``, + title, text, props ); } function createWarning(title, text, props) { + props = applyDefaults(props); return create( - "warning", - ``, - title, + "warning", + ``, + title, text, props ); } function createError(title, text, props) { + props = applyDefaults(props); return create( - "danger", - ``, - title, + "danger", + ``, + title, text, props ); } export default { - create, - createInfo, - createSuccess, - createWarning, - createError, - "createDanger": createError + create, + createInfo, + createSuccess, + createWarning, + createError, + "createDanger": createError }; diff --git a/src/scss/components/_toasts.scss b/src/scss/components/_toasts.scss index 23ddb0a..90d85d0 100644 --- a/src/scss/components/_toasts.scss +++ b/src/scss/components/_toasts.scss @@ -13,10 +13,11 @@ border-left-width: $border-width-accent; padding: 0; opacity: 0; + overflow: hidden; transition-duration: $motion-slow; transition-timing-function: $motion-ease; - transition-property: opacity, top, bottom; + transition-property: opacity, bottom; &.a-show { bottom: $space-4; @@ -24,7 +25,7 @@ } &.a-hide { - bottom: $space-4 + 100px; + bottom: $space-4 - 60px; opacity: 0; } @@ -32,73 +33,115 @@ display: flex; flex-direction: column; gap: 0; + padding: $space-3 $space-4; + padding-right: $space-10; - .toast-title { - min-height: $control-height-sm; - font-size: $font-size-lg; + .toast-header { display: flex; - flex-direction: row; - gap: $space-2; align-items: center; - color: $color-black; - background: $color-primary; - padding: $space-2 $space-3; - padding-right: $space-9; + gap: $space-2; + font-size: $font-size-sm; + font-weight: $font-weight-bold; text-transform: uppercase; + color: $color-text-light; + line-height: $line-height-base; + + .ph { + font-size: $icon-size-md; + flex-shrink: 0; + } } .toast-text { font-size: $font-size-sm; - padding: $space-6 $space-4; + padding: $space-2 0 0; margin: 0; + color: $color-text-medium; + line-height: $line-height-normal; } } .toast-close { position: absolute; - top: 0; - right: 0; - color: $color-black; - height: $control-height-sm; + top: $space-1; + right: $space-2; + color: $color-text-light; width: $control-height-sm; + height: $control-height-sm; border-color: transparent; + background: transparent; + } - @include hover_touch { - color: $color-black; - background: rgba($color-black, 0.12); - border-color: rgba($color-black, 0.42); + .toast-progress { + height: 3px; + width: 100%; + background: $surface-page; + overflow: hidden; + margin-top: 1px; + + .toast-progress-bar { + height: 100%; + width: 100%; + transform-origin: left; + animation: toast-progress linear forwards; + background: $color-primary; } } &.toast-info { border-color: $color-info; + background: rgba($color-info, 0.18); - .toast-title { + .toast-header .ph { + color: $color-info; + } + + .toast-progress-bar { background: $color-info; } } &.toast-success { border-color: $color-success; + background: rgba($color-success, 0.18); - .toast-title { + .toast-header .ph { + color: $color-success; + } + + .toast-progress-bar { background: $color-success; } } &.toast-warning { border-color: $color-warning; + background: rgba($color-warning, 0.18); - .toast-title { + .toast-header .ph { + color: $color-warning; + } + + .toast-progress-bar { background: $color-warning; } } &.toast-danger { border-color: $color-error; + background: rgba($color-error, 0.18); - .toast-title { + .toast-header .ph { + color: $color-error; + } + + .toast-progress-bar { background: $color-error; } } } + +@keyframes toast-progress { + from { transform: scaleX(1); } + to { transform: scaleX(0); } +} diff --git a/src/vue/components/GnToastProvider.js b/src/vue/components/GnToastProvider.js index 85788bf..44ae3a8 100644 --- a/src/vue/components/GnToastProvider.js +++ b/src/vue/components/GnToastProvider.js @@ -23,14 +23,18 @@ const showing = ref(false); let timer = null; let closeTimer = null; + let progressTimer = null; + const progress = ref(100); const dismiss = () => { window.clearTimeout(closeTimer); + window.clearInterval(progressTimer); closing.value = true; showing.value = false; closeTimer = window.setTimeout(() => { toast.value = null; closing.value = false; + progress.value = 100; window.clearTimeout(timer); timer = null; }, 300); @@ -39,28 +43,44 @@ const close = () => { window.clearTimeout(closeTimer); window.clearTimeout(timer); + window.clearInterval(progressTimer); closing.value = false; showing.value = false; + progress.value = 100; toast.value = null; }; const show = options => { window.clearTimeout(closeTimer); + window.clearInterval(progressTimer); closing.value = false; showing.value = false; + progress.value = 100; const variant = normalizeVariant(options.variant || options.type || "info", "info"); + const lifetime = options.lifetime !== undefined ? options.lifetime : props.lifetime; toast.value = { id: Date.now(), variant: variant === "error" ? "danger" : variant, title: options.title || "", text: options.text || options.message || "", - icon: options.icon || iconByVariant[variant] || iconByVariant.info + icon: options.icon || iconByVariant[variant] || iconByVariant.info, + lifetime }; window.clearTimeout(timer); - if(options.lifetime !== 0) { - timer = window.setTimeout(dismiss, options.lifetime || props.lifetime); + if(lifetime !== 0) { + const step = 100; + const totalSteps = lifetime / step; + progress.value = 100; + progressTimer = window.setInterval(() => { + progress.value -= 100 / totalSteps; + if(progress.value <= 0) { + window.clearInterval(progressTimer); + } + }, step); + + timer = window.setTimeout(dismiss, lifetime); } nextTick(() => { @@ -96,18 +116,24 @@ role: "alert" }, [ h("div", { class: "toast-content" }, [ - h("h4", { class: "toast-title" }, [ + h("div", { class: "toast-header" }, [ iconNode(toast.value.icon), toast.value.title ]), - h("p", { class: "toast-text" }, toast.value.text) + toast.value.text && h("p", { class: "toast-text" }, toast.value.text) ]), h("button", { class: "btn-icon toast-close", type: "button", "aria-label": "Close", onClick: dismiss - }, [iconNode("ph-x")]) + }, [iconNode("ph-x")]), + toast.value.lifetime !== 0 && h("div", { class: "toast-progress" }, [ + h("div", { + class: "toast-progress-bar", + style: { transform: `scaleX(${Math.max(0, progress.value / 100)})` } + }) + ]) ]) ]; }