@vanjana/vue-ui 0.1.93 → 0.1.95

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- @charset "UTF-8";.button{transition:opacity .1s ease-in-out;justify-content:center;align-items:center;box-shadow:var(--box-shadow-component);border-radius:var(--border-radius-component);padding:var(--space-s) var(--space-m);gap:var(--space-m);font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button)}.button.primary{background:var(--surface-button-primary);color:var(--on-surface-button-primary, inherit);border:none}.button.secondary{background:var(--surface-button-secondary);color:var(--on-surface-button-secondary, inherit);border:none}.button.tertiary{background:var(--surface-button-tertiary);color:var(--on-surface-button-tertiary, inherit);border:none}.button:not(:disabled):hover{background:var(--surface-button-hover);color:var(--on-surface-button-hover, inherit);cursor:pointer}.button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.button:active{transform:scale(.98);opacity:.8}.button.icon-only{width:40px;height:40px;border-radius:50%}.button-bar,.button-bar .left,.button-bar .right{gap:var(--space-m)}.card{margin-bottom:var(--space-s);background:var(--surface-base);color:var(--on-surface-base, inherit)}.card .header-actions .button:not(.menu-action){padding:0 var(--space-m)}.card .header-actions .button.icon-only:not(.menu-action){width:32px;height:32px;border-radius:50%}.card.scrollable{height:calc(100% - var(--space-m) - var(--space-m) - var(--space-s) - var(--space-s));overflow:hidden}.chip{justify-content:center;align-items:center;gap:var(--space-s);padding:var(--space-xs) var(--space-xl);border-radius:2rem;background:#0000000f;color:inherit;font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button)}.chip__close{align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer}.checkbox{gap:.5rem}.checkbox-input{opacity:0}.checkbox-input:disabled+.checkbox-box{opacity:.5}.checkbox-input:focus-visible+.checkbox-box{outline:2px solid var(--color-primary);outline-offset:2px}.checkbox-box{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--border-radius-input);transition:all .2s ease;background:var(--surface-input);color:var(--on-surface-input, inherit)}.checkbox-icon{width:16px;height:16px}.checkbox-check{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s ease;stroke:currentColor}.checkbox-input:checked+.checkbox-box{background:var(--surface-primary);color:var(--on-surface-primary, inherit)}.checkbox-input:checked+.checkbox-box .checkbox-check{stroke-dashoffset:0}.checkbox-box:hover{border-color:var(--color-primary)}.checkbox-label{font-size:1rem;background:var(--surface-base);color:var(--on-surface-base, inherit)}.checkbox-input:disabled~.checkbox-label{opacity:.5}.dialog-card{background:var(--surface-base);color:var(--on-surface-base, inherit)}.dialog-card .header-actions .button:not(.menu-action){padding:0 var(--space-m)}.dialog-card .header-actions .button.icon-only:not(.menu-action){width:32px;height:32px;border-radius:50%}.button.dot-menu{background:var(--surface-dot-menu);color:var(--on-surface-dot-menu, inherit)}.button.dot-menu:hover{background:var(--surface-button-hover);color:var(--on-surface-button-hover, inherit);cursor:pointer}.icon-size-s{font-size:1rem}.icon-size-m{font-size:1.5rem}.icon-size-l{font-size:2rem}.vj-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff9;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:9999;pointer-events:all}.vj-loading-overlay .vj-loading-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xl);padding:var(--space-xl);border-radius:var(--space-m);background:#ffffffeb;box-shadow:var(--box-shadow-container);pointer-events:none}.vj-loading-overlay .vj-loading-inner .spinner{width:5rem;height:5rem}.vj-loading-overlay .vj-loading-inner--small .spinner{width:2rem;height:2rem}.vj-loading-overlay .vj-loading-inner--small{padding:12px;gap:8px}.vj-loading-overlay .vj-loading-inner--minimal{padding:6px;background:transparent;box-shadow:none}.vj-loading-overlay .vj-loading-inner--minimal .spinner{width:1rem;height:1rem}.vj-loading-overlay--hidden{display:none}.vj-loading-text{text-align:center;font-size:var(--font-size-secondary);font-weight:var(--font-weight-secondary);line-height:var(--line-height-secondary);letter-spacing:var(--letter-spacing-secondary);font-family:var(--font-family-secondary);background:var(--surface-base);color:var(--on-surface-base, inherit)}.vj-loading-text--hidden{display:none}.menu{box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m);background:var(--surface-base);color:var(--on-surface-base, inherit)}.menu-action{box-shadow:var(--box-shadow-component);border-radius:0;padding:var(--space-s) var(--space-m);gap:var(--space-m)}.menu-action .menu-action--icon{width:24px;height:24px}.page{gap:var(--space-m)}.page header{gap:var(--space-m);padding-bottom:0;min-height:48px}.page header>span{gap:var(--space-s)}.page header .header-left{gap:var(--space-s)}.page header .header-titles{gap:var(--space-m)}.page header .header-actions{gap:var(--space-s)}.page main footer{padding-top:var(--space-s);background:var(--surface-base);color:var(--on-surface-base, inherit)}.radio{gap:.5rem}.radio-input{opacity:0}.radio-input:disabled+.radio-box{opacity:.5}.radio-input:focus-visible+.radio-box{outline:2px solid var(--color-primary);outline-offset:2px}.radio-box{width:20px;height:20px;border:2px solid var(--color-border);border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;background:var(--surface-input);color:var(--on-surface-input, inherit)}.radio-dot{width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform .18s ease;background:currentColor}.radio-input:checked+.radio-box .radio-dot{transform:scale(1);background:var(--surface-primary);color:var(--on-surface-primary, inherit)}.radio-box:hover{border-color:var(--color-primary)}.radio-label{font-size:1rem;background:var(--surface-base);color:var(--on-surface-base, inherit)}.radio-input:disabled~.radio-label{opacity:.5}.search-field{padding:var(--space-s) var(--space-l);border-radius:var(--border-radius-input);outline:var(--border-input);outline-offset:-1px;font-size:var(--font-size-primary);font-weight:var(--font-weight-primary);line-height:var(--line-height-primary);letter-spacing:var(--letter-spacing-primary);font-family:var(--font-family-primary);background:var(--surface-input);color:var(--on-surface-input, inherit)}.search-field>*{align-self:center}.search-field:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.search-field input{border:none;outline:none;padding:0;margin:0 var(--space-s);background:transparent;font:inherit;color:inherit}.search-field .reset{transition:opacity .2s ease-in}.shell{padding:0}.shell>header{padding:var(--space-s);background:var(--surface-shell-header);color:var(--on-surface-shell-header, inherit)}.shell>header .shell-title{gap:var(--space-m)}.shell>header .shell-title img{width:40px;height:40px}.shell>header .header-actions{display:flex;gap:var(--space-s)}.shell>header{border-bottom:solid var(--space-s) var(--application__color);border-image-slice:1;border-image-source:var(--application-gradient)}.shell .shell-content main{padding:var(--space-s);overflow:auto}.shell .shell-content aside{border-left:1px solid var(--color-border)}.shell .shell-content.with-navigation main{padding:var(--space-s) var(--space-m)}.shell .shell-navigation{flex-basis:4rem;border-radius:0 10px 20px 0!important;border-bottom:var(--border-footer)!important;background:var(--surface-navigation);color:var(--on-surface-navigation, inherit);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m)}.shell .shell-navigation ul{padding:0;margin:0;gap:var(--space-s)}.shell .shell-navigation .shell-navigation-item{padding:0;margin:0}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link{padding:var(--space-m) var(--space-s);text-decoration:none;border-left:solid 5px transparent;transition:all .2s ease;background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link:hover{border-left:solid 5px currentColor;background:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover, inherit)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link:hover .shell-navigation-item-label{background:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover, inherit)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link.router-link-active{border-left:solid 5px currentColor;background:var(--surface-navigation-item-active);color:var(--on-surface-navigation-item-active, inherit)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link.router-link-active .shell-navigation-item-label{background:var(--surface-navigation-item-active);color:var(--on-surface-navigation-item-active, inherit)}.shell .shell-navigation .shell-navigation-item-button{background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation .shell-navigation-item-button:hover,.shell .shell-navigation .shell-navigation-item-button:hover .shell-navigation-item-label{background:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover, inherit)}.shell .shell-navigation .shell-navigation-icon{font-size:1.5rem;background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation .shell-navigation-item-label{display:none;background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation.with-labels .shell-navigation-item-label{display:inline}.shell .shell-navigation .navigation-bottom{margin-top:auto}.vj-skeleton{background:var(--surface-skeleton);color:var(--on-surface-skeleton, inherit)}.vj-skeleton:after{transform:translate(0);filter:blur(.2px);opacity:.95;animation:shimmer-diag 2.5s linear infinite;background:var(--surface-skeleton-shimmer);color:var(--on-surface-skeleton-shimmer, inherit)}@keyframes shimmer-diag{0%{transform:translate(-100%,-100%)}to{transform:translate(100%,100%)}}@media(prefers-reduced-motion:reduce){.vj-skeleton .vj-skeleton:after{animation:none;opacity:.6}}.tab-view .tab-view-header{gap:var(--space-s);position:relative}.tab-view .tab-view-header .tab-button{padding:var(--space-s) var(--space-l);background:none;border:none;cursor:pointer;transition:color .2s;font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button);background:var(--surface-tab);color:var(--on-surface-tab, inherit)}.tab-view .tab-view-header .tab-button:hover{background:var(--surface-tab-hover);color:var(--on-surface-tab-hover, inherit)}.tab-view .tab-view-header .tab-button.active{background:var(--surface-tab-active);color:var(--on-surface-tab-active, inherit)}.tab-indicator{height:var(--tab-indicator-height);background-color:var(--color-border-highlight);transition:all .3s ease}.tab-line{height:var(--tab-indicator-height);background-color:var(--color-border)}.tab-view-content{flex:1}.tab{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vj-tooltip{font-size:var(--font-size-secondary);font-weight:var(--font-weight-secondary);line-height:var(--line-height-secondary);letter-spacing:var(--letter-spacing-secondary);font-family:var(--font-family-secondary);pointer-events:none;display:inline-block;padding:6px 10px;border-radius:6px;font-size:.85rem;line-height:1;white-space:nowrap;opacity:0;transform-origin:center;transition:opacity .16s ease,transform .16s ease;background:#000000d1;color:#fff;box-shadow:var(--box-shadow-container, 0 6px 18px rgba(0, 0, 0, .12))}.vj-tooltip--visible{opacity:1}.notification{position:relative;gap:var(--space-s);padding:var(--space-xs) var(--space-s);border-radius:var(--border-radius-component);border-left:4px solid}.notification .notification__message{flex:1 1 auto;gap:var(--space-s)}.notification .notification__message .notification__title{font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button)}.notification .notification__icon{flex-shrink:0;font-size:24px}.notification--success{background:var(--surface-success);color:var(--on-surface-success, inherit)}.notification--info{background:var(--surface-info);color:var(--on-surface-info, inherit)}.notification--warning{background:var(--surface-warning);color:var(--on-surface-warning, inherit)}.notification--error{background:var(--surface-danger);color:var(--on-surface-danger, inherit)}.form-field{margin-top:var(--space-s);font-family:inherit}.form-field .form-field__label{left:var(--space-s);padding:0 var(--space-xs);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);font-family:var(--font-family-caption);background:var(--surface-input-label);color:var(--on-surface-input-label, inherit)}.form-field .form-field__label--float{left:var(--space-m);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);font-family:var(--font-family-caption);background:var(--surface-input-label-floating);color:var(--on-surface-input-label-floating, inherit)}.form-field.disabled{opacity:var(--opacity-disabled)}.form-field.labelless{margin-top:0}.form-field.labelless .form-field__label{display:none}.form-field.form-field--underlined .form-field__label{left:0!important;padding-left:0!important}.form-field.form-field--underlined .input,.form-field.form-field--underlined .textarea{border-radius:0!important;padding-left:0!important;padding-right:0!important;outline:none!important;box-shadow:0 2px 0 var(--color-border)}.form-field.form-field--underlined .input:focus-within,.form-field.form-field--underlined .textarea:focus-within{box-shadow:0 2px #7c3aed!important}.form-field.form-field--underlined .select-trigger{outline:none!important;border-left:none!important;border-right:none!important;border-top:none!important;border-radius:0!important;border-width:2px!important;padding-left:0!important;border-color:var(--color-border)!important}.form-field.form-field--underlined .select-trigger:focus-visible{outline:none!important;box-shadow:none!important;border-color:#7c3aed!important}.input{border-radius:var(--border-radius-input);outline:var(--border-input);outline-offset:-1px;padding:var(--space-s) var(--space-l);gap:var(--space-s);font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input);background:var(--surface-input);color:var(--on-surface-input, inherit)}.input>*{align-self:center;width:100%}.input:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.input input{border:none;outline:none;padding:0;margin:0 var(--space-s);background:transparent;font:inherit;color:inherit}.input input:disabled{opacity:.5;cursor:not-allowed}.input .clear-icon{transition:opacity .2s ease-in}.select:not(.form-field--control) .select-trigger{border:var(--border-input);border-radius:var(--border-radius-input);padding:var(--space-s) var(--space-l);text-align:left;transition:all .2s;height:40px;outline:var(--border-input);outline-offset:-1px;background:var(--surface-input);color:var(--on-surface-input, inherit);font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input)}.select:not(.form-field--control) .select-trigger:hover:not(:disabled){background:var(--surface-input-hover);color:var(--on-surface-input-hover, inherit);border-color:var(--color-primary)}.select:not(.form-field--control) .select-trigger:focus-visible{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.select:not(.form-field--control) .select-placeholder{color:var(--on-surface-input, inherit)}.select:not(.form-field--control) .select-dropdown{background-color:var(--color-background);border-color:var(--color-border);border-radius:var(--border-radius-s)}.select:not(.form-field--control) .select-option:hover,.select:not(.form-field--control) .select-option.highlighted{background-color:var(--color-hover)}.select:not(.form-field--control) .select-option.selected{background-color:var(--color-primary-light);color:var(--color-primary)}.select.form-field--control .select-trigger{font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input);background:var(--surface-input);color:var(--on-surface-input, inherit)}.select.form-field--control .select-placeholder{color:var(--color-text-secondary)}.textarea{padding:var(--space-s) var(--space-l);border-radius:var(--border-radius-input);outline:var(--border-input);outline-offset:-1px;font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input);background:var(--surface-input);color:var(--on-surface-input, inherit)}.textarea>*{align-self:flex-start}.textarea:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.textarea textarea{border:none;outline:none;padding:0;margin:0 var(--space-s);background:transparent;font:inherit;color:inherit}.textarea textarea:disabled{opacity:.5;cursor:not-allowed}.textarea .clear-icon{transition:opacity .2s ease-in}:root{--box-shadow-container: rgba(0, 0, 0, .24) 0px 3px 8px;--padding-container: .5rem;--border-radius-component: 6px;--border-radius-container: 4px;--space-xs: .25rem;--space-s: .5rem;--space-m: .75rem;--space-l: 1em;--space-xl: 1.5rem}.compact{--space-xs: .15rem;--space-s: .25rem;--space-m: .5rem;--space-l: .75em;--space-xl: 1rem}.compact .select:not(.form-field--control) .select-trigger{height:32px}:root{--primary-solid: #3b82c4;--primary-gradient: linear-gradient(90deg, #3b82c4 0%, #6197ca 45%, #3b82c4 100%);--application__color: var(--primary-solid);--application-gradient: linear-gradient(90deg, #e8f6ff 0%, #d6e9ff 35%, #f7f9ff 70%, #fff8ea 100%);--color-border: #cccccc;--color-border-highlight: #6d5df6;--border-footer: solid 1px var(--color-border);--border-input: solid 1px var(--color-border);--border-radius-input: 6px;--opacity-disabled: .5;--tab-indicator-height: 3px;--spinner-gradient: linear-gradient(90deg, #00b3a6 0%, #6fb6ff 40%, #ffd39a 80%);--surface-base: #ffffff;--on-surface-base: #333333;--surface-input: #ffffff;--on-surface-input: #333333;--surface-input-label: #ffffff;--on-surface-input-label: #64748b;--surface-input-label-floating: #ffffff;--on-surface-input-label-floating: #4c1d95;--surface-shell-header: #ffffff;--on-surface-shell-header: #2d3748;--surface-navigation: #ffffff;--on-surface-navigation: #2d3748;--surface-navigation-item: transparent;--on-surface-navigation-item: #64748b;--surface-navigation-item-active: rgba(255, 255, 255, .5);--on-surface-navigation-item-active: #3b82c4;--surface-navigation-hover: transparent;--on-surface-navigation-hover: #3b82c4;--surface-button-primary: var(--primary-gradient);--on-surface-button-primary: #ffffff;--surface-button-secondary: #f97316;--on-surface-button-secondary: #ffffff;--surface-button-tertiary: transparent;--on-surface-button-tertiary: #374151;--surface-dot-menu: #eeeeee;--on-surface-dot-menu: #374151;--surface-button-hover: #403b9c;--on-surface-button-hover: #ffffff;--surface-tab: transparent;--on-surface-tab: #333333;--surface-tab-hover: transparent;--on-surface-tab-hover: #3b82c4;--surface-tab-active: transparent;--on-surface-tab-active: #3b82c4;--surface-primary: var(--primary-solid);--on-surface-primary: #ffffff;--surface-success: #1fb67a;--on-surface-success: #ffffff;--surface-info: #e6f0ff;--on-surface-info: #0b57d0;--surface-warning: #f59e0b;--on-surface-warning: #ffffff;--surface-danger: #e11d48;--on-surface-danger: #ffffff;--surface-skeleton: #e9ecef;--on-surface-skeleton: #b00020;--surface-skeleton-shimmer: linear-gradient(135deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .65) 50%, rgba(255, 255, 255, 0) 70%);--on-surface-skeleton-shimmer: #b00020;--font-size-title: 24px;--font-weight-title: 600;--line-height-title: 1.2;--letter-spacing-title: normal;--font-family-title: var(--font-family, inherit)}:root h1{font-size:var(--font-size-title);font-weight:var(--font-weight-title);line-height:var(--line-height-title);letter-spacing:var(--letter-spacing-title);font-family:var(--font-family-title);margin:0}:root{--font-size-subtitle: 24px;--font-weight-subtitle: 600;--line-height-subtitle: 1.2;--letter-spacing-subtitle: normal;--font-family-subtitle: var(--font-family, inherit)}:root h2{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);line-height:var(--line-height-subtitle);letter-spacing:var(--letter-spacing-subtitle);font-family:var(--font-family-subtitle);margin:0}:root{--font-size-header: 18px;--font-weight-header: 600;--line-height-header: 32px;--letter-spacing-header: normal;--font-family-header: var(--font-family, inherit)}:root h3{font-size:var(--font-size-header);font-weight:var(--font-weight-header);line-height:var(--line-height-header);letter-spacing:var(--letter-spacing-header);font-family:var(--font-family-header);margin:0}:root{--font-size-primary: 16px;--font-weight-primary: 400;--line-height-primary: 1.2;--letter-spacing-primary: normal;--font-family-primary: var(--font-family, inherit)}:root body{font-size:var(--font-size-primary);font-weight:var(--font-weight-primary);line-height:var(--line-height-primary);letter-spacing:var(--letter-spacing-primary);font-family:var(--font-family-primary);margin:0}:root{--font-size-secondary: 14px;--font-weight-secondary: 300;--line-height-secondary: 16px;--letter-spacing-secondary: normal;--font-family-secondary: var(--font-family, inherit)}:root secondary{font-size:var(--font-size-secondary);font-weight:var(--font-weight-secondary);line-height:var(--line-height-secondary);letter-spacing:var(--letter-spacing-secondary);font-family:var(--font-family-secondary);margin:0}:root{--font-size-input: 16px;--font-weight-input: 400;--line-height-input: 24px;--letter-spacing-input: normal;--font-family-input: var(--font-family, inherit)}:root input{font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input);margin:0}:root{--font-size-caption: 14px;--font-weight-caption: 400;--line-height-caption: 24px;--letter-spacing-caption: normal;--font-family-caption: var(--font-family, inherit)}:root label{font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);font-family:var(--font-family-caption);margin:0}:root{--font-size-button: 16px;--font-weight-button: 600;--line-height-button: 24px;--letter-spacing-button: normal;--font-family-button: var(--font-family, inherit)}:root button{font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button);margin:0}html,body{height:100%;padding:0;margin:0}a{color:#fff}
1
+ @charset "UTF-8";.button{transition:opacity .1s ease-in-out;justify-content:center;align-items:center;box-shadow:var(--box-shadow-component);border-radius:var(--border-radius-component);padding:var(--space-s) var(--space-m);gap:var(--space-m);font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button)}.button.primary{background:var(--surface-button-primary);color:var(--on-surface-button-primary, inherit);border:none}.button.secondary{background:var(--surface-button-secondary);color:var(--on-surface-button-secondary, inherit);border:none}.button.tertiary{background:var(--surface-button-tertiary);color:var(--on-surface-button-tertiary, inherit);border:none}.button:not(:disabled):hover{background:var(--surface-button-hover);color:var(--on-surface-button-hover, inherit);cursor:pointer}.button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.button:active{transform:scale(.98);opacity:.8}.button.icon-only{width:40px;height:40px;border-radius:50%}.button-bar,.button-bar .left,.button-bar .right{gap:var(--space-m)}.card{margin-bottom:var(--space-s);background:var(--surface-base);color:var(--on-surface-base, inherit)}.card .header-actions .button:not(.menu-action){padding:0 var(--space-m)}.card .header-actions .button.icon-only:not(.menu-action){width:32px;height:32px;border-radius:50%}.card.scrollable{height:calc(100% - var(--space-m) - var(--space-m) - var(--space-s) - var(--space-s));overflow:hidden}.chip{justify-content:center;align-items:center;gap:var(--space-s);padding:var(--space-xs) var(--space-xl);border-radius:2rem;background:#0000000f;color:inherit;font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button)}.chip__close{align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer}.checkbox{gap:.5rem}.checkbox-input{opacity:0}.checkbox-input:disabled+.checkbox-box{opacity:.5}.checkbox-input:focus-visible+.checkbox-box{outline:2px solid var(--color-primary);outline-offset:2px}.checkbox-box{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--border-radius-input);transition:all .2s ease;background:var(--surface-input);color:var(--on-surface-input, inherit)}.checkbox-icon{width:16px;height:16px}.checkbox-check{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s ease;stroke:currentColor}.checkbox-input:checked+.checkbox-box{background:var(--surface-primary);color:var(--on-surface-primary, inherit)}.checkbox-input:checked+.checkbox-box .checkbox-check{stroke-dashoffset:0}.checkbox-box:hover{border-color:var(--color-primary)}.checkbox-label{font-size:1rem;background:var(--surface-base);color:var(--on-surface-base, inherit)}.checkbox-input:disabled~.checkbox-label{opacity:.5}.dialog-card{background:var(--surface-base);color:var(--on-surface-base, inherit)}.dialog-card .header-actions .button:not(.menu-action){padding:0 var(--space-m)}.dialog-card .header-actions .button.icon-only:not(.menu-action){width:32px;height:32px;border-radius:50%}.button.dot-menu{background:var(--surface-dot-menu);color:var(--on-surface-dot-menu, inherit)}.button.dot-menu:hover{background:var(--surface-button-hover);color:var(--on-surface-button-hover, inherit);cursor:pointer}.icon-size-s{font-size:1rem}.icon-size-m{font-size:1.5rem}.icon-size-l{font-size:2rem}.vj-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff9;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:9999;pointer-events:all}.vj-loading-overlay .vj-loading-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xl);padding:var(--space-xl);border-radius:var(--space-m);background:#ffffffeb;box-shadow:var(--box-shadow-container);pointer-events:none}.vj-loading-overlay .vj-loading-inner .spinner{width:5rem;height:5rem}.vj-loading-overlay .vj-loading-inner--small .spinner{width:2rem;height:2rem}.vj-loading-overlay .vj-loading-inner--small{padding:12px;gap:8px}.vj-loading-overlay .vj-loading-inner--minimal{padding:6px;background:transparent;box-shadow:none}.vj-loading-overlay .vj-loading-inner--minimal .spinner{width:1rem;height:1rem}.vj-loading-overlay--hidden{display:none}.vj-loading-text{text-align:center;font-size:var(--font-size-secondary);font-weight:var(--font-weight-secondary);line-height:var(--line-height-secondary);letter-spacing:var(--letter-spacing-secondary);font-family:var(--font-family-secondary);background:var(--surface-base);color:var(--on-surface-base, inherit)}.vj-loading-text--hidden{display:none}.menu{box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m);background:var(--surface-base);color:var(--on-surface-base, inherit)}.menu-action{box-shadow:var(--box-shadow-component);border-radius:0;padding:var(--space-s) var(--space-m);gap:var(--space-m)}.menu-action .menu-action--icon{width:24px;height:24px}.page{gap:var(--space-m)}.page header{gap:var(--space-m);padding-bottom:0;min-height:48px}.page header>span{gap:var(--space-s)}.page header .header-left{gap:var(--space-s)}.page header .header-titles{gap:var(--space-m)}.page header .header-actions{gap:var(--space-s)}.page main footer{padding-top:var(--space-s);background:var(--surface-base);color:var(--on-surface-base, inherit)}.radio{gap:.5rem}.radio-input{opacity:0}.radio-input:disabled+.radio-box{opacity:.5}.radio-input:focus-visible+.radio-box{outline:2px solid var(--color-primary);outline-offset:2px}.radio-box{width:20px;height:20px;border:2px solid var(--color-border);border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;background:var(--surface-input);color:var(--on-surface-input, inherit)}.radio-dot{width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform .18s ease;background:currentColor}.radio-input:checked+.radio-box .radio-dot{transform:scale(1);background:var(--surface-primary);color:var(--on-surface-primary, inherit)}.radio-box:hover{border-color:var(--color-primary)}.radio-label{font-size:1rem;background:var(--surface-base);color:var(--on-surface-base, inherit)}.radio-input:disabled~.radio-label{opacity:.5}.search-field{padding:var(--space-s) var(--space-l);border-radius:var(--border-radius-input);outline:var(--border-input);outline-offset:-1px;font-size:var(--font-size-primary);font-weight:var(--font-weight-primary);line-height:var(--line-height-primary);letter-spacing:var(--letter-spacing-primary);font-family:var(--font-family-primary);background:var(--surface-input);color:var(--on-surface-input, inherit)}.search-field>*{align-self:center}.search-field:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.search-field input{border:none;outline:none;padding:0;margin:0 var(--space-s);background:transparent;font:inherit;color:inherit}.search-field .reset{transition:opacity .2s ease-in}.shell{padding:0}.shell>header{padding:var(--space-s);background:var(--surface-shell-header);color:var(--on-surface-shell-header, inherit)}.shell>header .shell-title{gap:var(--space-m)}.shell>header .shell-title img{width:40px;height:40px}.shell>header .header-actions{display:flex;gap:var(--space-s)}.shell>header{border-bottom:solid var(--space-s) var(--application__color);border-image-slice:1;border-image-source:var(--application-gradient)}.shell .shell-content main{padding:var(--space-s);overflow:auto}.shell .shell-content aside{border-left:1px solid var(--color-border)}.shell .shell-content.with-navigation main{padding:var(--space-s) var(--space-m)}.shell .shell-navigation{flex-basis:4rem;border-radius:0 10px 20px 0!important;border-bottom:var(--border-footer)!important;background:var(--surface-navigation);color:var(--on-surface-navigation, inherit);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m)}.shell .shell-navigation ul{padding:0;margin:0;gap:var(--space-s)}.shell .shell-navigation .shell-navigation-item{padding:0;margin:0}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link{padding:var(--space-m) var(--space-s);text-decoration:none;border-left:solid 5px transparent;transition:all .2s ease;background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link:hover{border-left:solid 5px currentColor;background:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover, inherit)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link:hover .shell-navigation-item-label{background:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover, inherit)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link.router-link-active{border-left:solid 5px currentColor;background:var(--surface-navigation-item-active);color:var(--on-surface-navigation-item-active, inherit)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link.router-link-active .shell-navigation-item-label{background:var(--surface-navigation-item-active);color:var(--on-surface-navigation-item-active, inherit)}.shell .shell-navigation .shell-navigation-item-button{background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation .shell-navigation-item-button:hover,.shell .shell-navigation .shell-navigation-item-button:hover .shell-navigation-item-label{background:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover, inherit)}.shell .shell-navigation .shell-navigation-icon{font-size:1.5rem;background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation .shell-navigation-item-label{display:none;background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation.with-labels .shell-navigation-item-label{display:inline}.shell .shell-navigation .navigation-bottom{margin-top:auto}.vj-skeleton{background:var(--surface-skeleton);color:var(--on-surface-skeleton, inherit)}.vj-skeleton:after{transform:translate(0);filter:blur(.2px);opacity:.95;animation:shimmer-diag 2.5s linear infinite;background:var(--surface-skeleton-shimmer);color:var(--on-surface-skeleton-shimmer, inherit)}@keyframes shimmer-diag{0%{transform:translate(-100%,-100%)}to{transform:translate(100%,100%)}}@media(prefers-reduced-motion:reduce){.vj-skeleton .vj-skeleton:after{animation:none;opacity:.6}}.tab-view .tab-view-header{gap:var(--space-s);position:relative}.tab-view .tab-view-header .tab-button{padding:var(--space-s) var(--space-l);background:none;border:none;cursor:pointer;transition:color .2s;font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button);background:var(--surface-tab);color:var(--on-surface-tab, inherit)}.tab-view .tab-view-header .tab-button:hover{background:var(--surface-tab-hover);color:var(--on-surface-tab-hover, inherit)}.tab-view .tab-view-header .tab-button.active{background:var(--surface-tab-active);color:var(--on-surface-tab-active, inherit)}.tab-indicator{height:var(--tab-indicator-height);background-color:var(--color-border-highlight);transition:all .3s ease}.tab-line{height:var(--tab-indicator-height);background-color:var(--color-border)}.tab-view-content{flex:1}.tab{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vj-tooltip{font-size:var(--font-size-secondary);font-weight:var(--font-weight-secondary);line-height:var(--line-height-secondary);letter-spacing:var(--letter-spacing-secondary);font-family:var(--font-family-secondary);pointer-events:none;display:inline-block;padding:6px 10px;border-radius:6px;font-size:.85rem;line-height:1;white-space:nowrap;opacity:0;transform-origin:center;transition:opacity .16s ease,transform .16s ease;background:#000000d1;color:#fff;box-shadow:var(--box-shadow-container, 0 6px 18px rgba(0, 0, 0, .12))}.vj-tooltip--visible{opacity:1}.notification{position:relative;gap:var(--space-s);padding:var(--space-xs) var(--space-s);border-radius:var(--border-radius-component);border-left:4px solid}.notification .notification__message{flex:1 1 auto;gap:var(--space-s)}.notification .notification__message .notification__title{font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button)}.notification .notification__icon{flex-shrink:0;font-size:24px}.notification--success{background:var(--surface-success);color:var(--on-surface-success, inherit)}.notification--info{background:var(--surface-info);color:var(--on-surface-info, inherit)}.notification--warning{background:var(--surface-warning);color:var(--on-surface-warning, inherit)}.notification--error{background:var(--surface-danger);color:var(--on-surface-danger, inherit)}.form-field{margin-top:var(--space-l);font-family:inherit}.form-field .form-field__label{left:var(--space-s);padding:0 var(--space-xs);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);font-family:var(--font-family-caption);background:var(--surface-input-label);color:var(--on-surface-input-label, inherit)}.form-field .form-field__label--float{left:var(--space-m);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);font-family:var(--font-family-caption);background:var(--surface-input-label-floating);color:var(--on-surface-input-label-floating, inherit)}.form-field.disabled{opacity:var(--opacity-disabled)}.form-field .form-field__help{top:-8px;right:-15px;appearance:none;border:none;background:transparent;padding:0 0 3px;color:var(--color-text-secondary, #6b7280);background:#fff}.form-field .form-field__help .icon{font-size:1rem;background:#fff}.form-field.labelless{margin-top:0}.form-field.labelless .form-field__label{display:none}.form-field.form-field--underlined .form-field__label{left:0!important;padding-left:0!important}.form-field.form-field--underlined .input,.form-field.form-field--underlined .textarea{border-radius:0!important;padding-left:0!important;padding-right:0!important;outline:none!important;box-shadow:0 2px 0 var(--color-border)}.form-field.form-field--underlined .input:focus-within,.form-field.form-field--underlined .textarea:focus-within{box-shadow:0 2px #7c3aed!important}.form-field.form-field--underlined .select-trigger{outline:none!important;border-left:none!important;border-right:none!important;border-top:none!important;border-radius:0!important;border-width:2px!important;padding-left:0!important;border-color:var(--color-border)!important}.form-field.form-field--underlined .select-trigger:focus-visible{outline:none!important;box-shadow:none!important;border-color:#7c3aed!important}.form-field.form-field--outline .form-field__label-outline{margin-bottom:var(--space-xs, 4px);font-size:.875rem;font-weight:500;color:var(--color-text-secondary, inherit)}.form-field.form-field--outline .form-field__help{top:0}.form-field.error :deep(.input),.form-field.error :deep(.select-trigger),.form-field.error :deep(.textarea){outline-color:var(--color-error, #dc2626)!important}.form-field .form-field__error{margin-top:4px;font-size:.875rem;color:var(--color-error, #dc2626);line-height:1.4}.form-field.form-field--outline.form-field--underlined .form-field__label-outline{margin-bottom:0}.form-field.form-field--outline.form-field--underlined .input{padding-top:0}.input{border-radius:var(--border-radius-input);outline:var(--border-input);outline-offset:-1px;padding:var(--space-s) var(--space-l);gap:var(--space-s);font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input);background:var(--surface-input);color:var(--on-surface-input, inherit)}.input>*{align-self:center;width:100%}.input:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.input input{border:none;outline:none;padding:0;margin:0 var(--space-s);background:transparent;font:inherit;color:inherit}.input input:disabled{opacity:.5;cursor:not-allowed}.input .clear-icon{transition:opacity .2s ease-in}.select:not(.form-field--control) .select-trigger{border:var(--border-input);border-radius:var(--border-radius-input);padding:var(--space-s) var(--space-l);text-align:left;transition:all .2s;height:40px;outline:var(--border-input);outline-offset:-1px;background:var(--surface-input);color:var(--on-surface-input, inherit);font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input)}.select:not(.form-field--control) .select-trigger:hover:not(:disabled){background:var(--surface-input-hover);color:var(--on-surface-input-hover, inherit);border-color:var(--color-primary)}.select:not(.form-field--control) .select-trigger:focus-visible{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.select:not(.form-field--control) .select-placeholder{color:var(--on-surface-input, inherit)}.select:not(.form-field--control) .select-dropdown{background-color:var(--color-background);border-color:var(--color-border);border-radius:var(--border-radius-s)}.select:not(.form-field--control) .select-option:hover,.select:not(.form-field--control) .select-option.highlighted{background-color:var(--color-hover)}.select:not(.form-field--control) .select-option.selected{background-color:var(--color-primary-light);color:var(--color-primary)}.select.form-field--control .select-trigger{font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input);background:var(--surface-input);color:var(--on-surface-input, inherit)}.select.form-field--control .select-placeholder{color:var(--color-text-secondary)}.textarea{padding:var(--space-s) var(--space-l);border-radius:var(--border-radius-input);outline:var(--border-input);outline-offset:-1px;font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input);background:var(--surface-input);color:var(--on-surface-input, inherit)}.textarea>*{align-self:flex-start}.textarea:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.textarea textarea{border:none;outline:none;padding:0;margin:0 var(--space-s);background:transparent;font:inherit;color:inherit}.textarea textarea:disabled{opacity:.5;cursor:not-allowed}.textarea .clear-icon{transition:opacity .2s ease-in}:root{--box-shadow-container: rgba(0, 0, 0, .24) 0px 3px 8px;--padding-container: .5rem;--border-radius-component: 6px;--border-radius-container: 4px;--space-xs: .25rem;--space-s: .5rem;--space-m: .75rem;--space-l: 1em;--space-xl: 1.5rem}.compact{--space-xs: .15rem;--space-s: .25rem;--space-m: .5rem;--space-l: .75em;--space-xl: 1rem}.compact .select:not(.form-field--control) .select-trigger{height:32px}:root{--primary-solid: #3b82c4;--primary-gradient: linear-gradient(90deg, #3b82c4 0%, #6197ca 45%, #3b82c4 100%);--application__color: var(--primary-solid);--application-gradient: linear-gradient(90deg, #e8f6ff 0%, #d6e9ff 35%, #f7f9ff 70%, #fff8ea 100%);--color-border: #cccccc;--color-border-highlight: #6d5df6;--border-footer: solid 1px var(--color-border);--border-input: solid 1px var(--color-border);--border-radius-input: 6px;--opacity-disabled: .5;--tab-indicator-height: 3px;--spinner-gradient: linear-gradient(90deg, #00b3a6 0%, #6fb6ff 40%, #ffd39a 80%);--surface-base: #ffffff;--on-surface-base: #333333;--surface-input: #ffffff;--on-surface-input: #333333;--surface-input-label: #ffffff;--on-surface-input-label: #64748b;--surface-input-label-floating: #ffffff;--on-surface-input-label-floating: #4c1d95;--surface-shell-header: #ffffff;--on-surface-shell-header: #2d3748;--surface-navigation: #ffffff;--on-surface-navigation: #2d3748;--surface-navigation-item: transparent;--on-surface-navigation-item: #64748b;--surface-navigation-item-active: rgba(255, 255, 255, .5);--on-surface-navigation-item-active: #3b82c4;--surface-navigation-hover: transparent;--on-surface-navigation-hover: #3b82c4;--surface-button-primary: var(--primary-gradient);--on-surface-button-primary: #ffffff;--surface-button-secondary: #f97316;--on-surface-button-secondary: #ffffff;--surface-button-tertiary: transparent;--on-surface-button-tertiary: #374151;--surface-dot-menu: #eeeeee;--on-surface-dot-menu: #374151;--surface-button-hover: #403b9c;--on-surface-button-hover: #ffffff;--surface-tab: transparent;--on-surface-tab: #333333;--surface-tab-hover: transparent;--on-surface-tab-hover: #3b82c4;--surface-tab-active: transparent;--on-surface-tab-active: #3b82c4;--surface-primary: var(--primary-solid);--on-surface-primary: #ffffff;--surface-success: #1fb67a;--on-surface-success: #ffffff;--surface-info: #e6f0ff;--on-surface-info: #0b57d0;--surface-warning: #f59e0b;--on-surface-warning: #ffffff;--surface-danger: #e11d48;--on-surface-danger: #ffffff;--surface-skeleton: #e9ecef;--on-surface-skeleton: #b00020;--surface-skeleton-shimmer: linear-gradient(135deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .65) 50%, rgba(255, 255, 255, 0) 70%);--on-surface-skeleton-shimmer: #b00020;--font-size-title: 24px;--font-weight-title: 600;--line-height-title: 1.2;--letter-spacing-title: normal;--font-family-title: var(--font-family, inherit)}:root h1{font-size:var(--font-size-title);font-weight:var(--font-weight-title);line-height:var(--line-height-title);letter-spacing:var(--letter-spacing-title);font-family:var(--font-family-title);margin:0}:root{--font-size-subtitle: 24px;--font-weight-subtitle: 600;--line-height-subtitle: 1.2;--letter-spacing-subtitle: normal;--font-family-subtitle: var(--font-family, inherit)}:root h2{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);line-height:var(--line-height-subtitle);letter-spacing:var(--letter-spacing-subtitle);font-family:var(--font-family-subtitle);margin:0}:root{--font-size-header: 18px;--font-weight-header: 600;--line-height-header: 32px;--letter-spacing-header: normal;--font-family-header: var(--font-family, inherit)}:root h3{font-size:var(--font-size-header);font-weight:var(--font-weight-header);line-height:var(--line-height-header);letter-spacing:var(--letter-spacing-header);font-family:var(--font-family-header);margin:0}:root{--font-size-primary: 16px;--font-weight-primary: 400;--line-height-primary: 1.2;--letter-spacing-primary: normal;--font-family-primary: var(--font-family, inherit)}:root body{font-size:var(--font-size-primary);font-weight:var(--font-weight-primary);line-height:var(--line-height-primary);letter-spacing:var(--letter-spacing-primary);font-family:var(--font-family-primary);margin:0}:root{--font-size-secondary: 14px;--font-weight-secondary: 300;--line-height-secondary: 16px;--letter-spacing-secondary: normal;--font-family-secondary: var(--font-family, inherit)}:root secondary{font-size:var(--font-size-secondary);font-weight:var(--font-weight-secondary);line-height:var(--line-height-secondary);letter-spacing:var(--letter-spacing-secondary);font-family:var(--font-family-secondary);margin:0}:root{--font-size-input: 16px;--font-weight-input: 400;--line-height-input: 24px;--letter-spacing-input: normal;--font-family-input: var(--font-family, inherit)}:root input{font-size:var(--font-size-input);font-weight:var(--font-weight-input);line-height:var(--line-height-input);letter-spacing:var(--letter-spacing-input);font-family:var(--font-family-input);margin:0}:root{--font-size-caption: 14px;--font-weight-caption: 400;--line-height-caption: 24px;--letter-spacing-caption: normal;--font-family-caption: var(--font-family, inherit)}:root label{font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);font-family:var(--font-family-caption);margin:0}:root{--font-size-button: 16px;--font-weight-button: 600;--line-height-button: 24px;--letter-spacing-button: normal;--font-family-button: var(--font-family, inherit)}:root button{font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);letter-spacing:var(--letter-spacing-button);font-family:var(--font-family-button);margin:0}html,body{height:100%;padding:0;margin:0}a{color:#fff}
@@ -23,3 +23,4 @@ type Story = StoryObj<typeof meta>;
23
23
  export declare const InputWithHelp: Story;
24
24
  export declare const PasswordWithHelp: Story;
25
25
  export declare const SelectWithHelp: Story;
26
+ export declare const Appearances: Story;
@@ -2594,7 +2594,7 @@ const ba = ["data-colspan", "data-newline"], ya = ["for"], wa = { class: "form-f
2594
2594
  ], 14, ba);
2595
2595
  };
2596
2596
  }
2597
- }), Fe = /* @__PURE__ */ B(Va, [["__scopeId", "data-v-4b88a7e5"]]), Ea = /* @__PURE__ */ A({
2597
+ }), Fe = /* @__PURE__ */ B(Va, [["__scopeId", "data-v-19959d5e"]]), Ea = /* @__PURE__ */ A({
2598
2598
  __name: "form-layout",
2599
2599
  props: {
2600
2600
  columns: { type: Number, default: 4 },
@@ -2804,7 +2804,14 @@ const ba = ["data-colspan", "data-newline"], ya = ["for"], wa = { class: "form-f
2804
2804
  },
2805
2805
  emits: ["update:modelValue", "input", "focus", "blur"],
2806
2806
  setup(e, { emit: n }) {
2807
- const t = e, o = n, l = C(t.modelValue), i = (a) => {
2807
+ const t = e, o = n, l = C(t.modelValue);
2808
+ X(
2809
+ () => t.modelValue,
2810
+ (a) => {
2811
+ l.value = a;
2812
+ }
2813
+ );
2814
+ const i = (a) => {
2808
2815
  l.value = a, o("update:modelValue", a);
2809
2816
  };
2810
2817
  return (a, r) => (v(), j(Fe, {
@@ -1 +1 @@
1
- (function(_,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(_=typeof globalThis<"u"?globalThis:_||self,e(_.VanjanaVueUi={},_.Vue,_.VueRouter))})(this,(function(_,e,et){"use strict";const S=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},dn={},fn={class:"button-bar"},un={class:"left"},mn={class:"right"};function pn(t,o){return e.openBlock(),e.createElementBlock("div",fn,[e.createElementVNode("div",un,[e.renderSlot(t.$slots,"left",{},void 0,!0)]),e.createElementVNode("div",mn,[e.renderSlot(t.$slots,"default",{},void 0,!0)])])}const tt=S(dn,[["render",pn],["__scopeId","data-v-45a6ed1a"]]);var $=(t=>(t.HOME="fa-regular fa-house",t.DASHBOARD="fa-solid fa-gauge",t.MENU="fa-solid fa-bars",t.DOT_MENU="fa-solid fa-ellipsis-vertical",t.BACK="fa-regular fa-hand-point-left",t.LOGOUT="fa-solid fa-right-from-bracket",t.CHEVRON_LEFT="fa-solid fa-chevron-left",t.CHEVRON_RIGHT="fa-solid fa-chevron-right",t.CHEVRON_UP="fa-solid fa-chevron-up",t.CHEVRON_DOWN="fa-solid fa-chevron-down",t.PREVIOUS="fa-solid fa-angle-left",t.FIRST="fa-solid fa-angles-left",t.NEXT="fa-solid fa-angle-right",t.LAST="fa-solid fa-angles-right",t.USER="fa-regular fa-user-circle",t.CHARACTER="fa-solid fa-person",t.SETTINGS="fa-solid fa-gear",t.ADD="fa-regular fa-plus",t.EDIT="fa-solid fa-pen",t.REMOVE="fa-regular fa-trash-can",t.DELETE="fa-regular fa-trash-can",t.SHARE="fa-solid fa-share-nodes",t.SORT="fa-regular fa-arrow-up-arrow-down",t.CLOSE="fa-regular fa-circle-xmark",t.SAVE="fa-regular fa-floppy-disk",t.COPY="fa-regular fa-copy",t.DUPLICATE="fa-regular fa-clone",t.CUT="fa-solid fa-scissors",t.PASTE="fa-regular fa-clipboard",t.REFRESH="fa-solid fa-rotate-right",t.RELOAD="fa-solid fa-arrows-rotate",t.PRINT="fa-solid fa-print",t.FILTER="fa-solid fa-filter",t.UNDO="fa-solid fa-rotate-left",t.REDO="fa-solid fa-rotate-right",t.PIN="fa-solid fa-thumbtack",t.EXPAND="fa-solid fa-expand",t.COLLAPSE="fa-solid fa-compress",t.EXTERNAL_LINK="fa-solid fa-arrow-up-right-from-square",t.INFO="fa-solid fa-circle-info",t.WARNING="fa-solid fa-triangle-exclamation",t.ERROR="fa-regular fa-circle-xmark",t.CHECK="fa-regular fa-circle-check",t.LOVE="fa-regular fa-heart",t.STAR="fa-regular fa-star",t.STAR_FILLED="fa-solid fa-star",t.HELP="fa-regular fa-circle-question",t.QUESTION="fa-solid fa-question",t.PROJECT="fa-regular fa-folder-open",t.FOLDER="fa-regular fa-folder",t.FILE_TEXT="fa-regular fa-file-lines",t.UPLOAD="fa-solid fa-cloud-arrow-up",t.DOWNLOAD="fa-solid fa-cloud-arrow-down",t.ATTACHMENT="fa-solid fa-paperclip",t.LINK="fa-solid fa-link",t.TAG="fa-solid fa-tag",t.TAGS="fa-solid fa-tags",t.SEARCH="fa-solid fa-magnifying-glass",t.MESSAGE_SQUARE="fa-regular fa-message",t.MAIL="fa-regular fa-envelope",t.SHOPPING_BAG="fa-regular fa-bag-shopping",t.COMMENT="fa-regular fa-comment",t.COMMENTS="fa-regular fa-comments",t.CALENDAR="fa-regular fa-calendar",t.CALENDAR_DAY="fa-solid fa-calendar-day",t.CLOCK="fa-regular fa-clock",t.HISTORY="fa-solid fa-clock-rotate-left",t.LOCK="fa-solid fa-lock",t.UNLOCK="fa-solid fa-lock-open",t.EYE="fa-regular fa-eye",t.EYE_SLASH="fa-regular fa-eye-slash",t.SHIELD="fa-solid fa-shield",t.LIST="fa-solid fa-list",t.GRID="fa-solid fa-grid",t.TABLE="fa-solid fa-table",t.COLUMNS="fa-solid fa-columns",t.BELL="fa-regular fa-bell",t.IMAGE="fa-regular fa-image",t))($||{}),D=(t=>(t.S="icon-size-s",t.M="icon-size-m",t.L="icon-size-l",t))(D||{});const W=e.defineComponent({__name:"icon",props:{icon:{},size:{}},setup(t){const o=t,n=D.M,l=e.computed(()=>`${o.icon} ${o.size??n}`);return(a,r)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(l.value)},null,2))}}),hn=["disabled"],he=S(e.defineComponent({__name:"button",props:{label:{},icon:{},primary:{type:Boolean},secondary:{type:Boolean},tertiary:{type:Boolean},disabled:{type:Boolean}},setup(t){const o=t,n=D.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary"),a=e.computed(()=>!o.label&&!!o.icon);return(r,i)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["button",l.value,{"icon-only":a.value}]),disabled:t.disabled},[t.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],10,hn))}}),[["__scopeId","data-v-f31c33cf"]]),gn={key:0,class:"header-actions"},bn={key:0},ge=S(e.defineComponent({__name:"card",props:{header:{},scrollable:{type:Boolean}},setup(t){const o=e.useSlots();return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{scrollable:t.scrollable}])},[e.createElementVNode("header",null,[e.createElementVNode("h3",null,e.toDisplayString(t.header),1),e.unref(o).headerActions?(e.openBlock(),e.createElementBlock("span",gn,[e.renderSlot(n.$slots,"headerActions",{},void 0,!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("main",null,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),e.unref(o).footer?(e.openBlock(),e.createElementBlock("footer",bn,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-ec6ab562"]]),yn=["aria-label"],wn={key:0,class:"carousel-indicators"},kn=S(e.defineComponent({__name:"carousel",props:{autoplay:{type:Boolean},interval:{},loop:{type:Boolean},pauseOnHover:{type:Boolean},startIndex:{},ariaLabel:{}},setup(t){const o=t,n=o.autoplay??!1,l=o.interval??4e3,a=o.loop??!0,r=o.pauseOnHover??!0,i=o.startIndex??0,c=o.ariaLabel??"Carousel",d=e.ref(Math.max(0,i)),s=e.ref(null),f=e.ref(null),u=e.ref(0),m=e.ref(0);let p=!1;const h=e.ref(0),k=e.ref(!1);let g=null,y=null;const w=e.ref(null),b=e.ref(null),E=()=>{h.value=s.value?s.value.children.length:0,h.value===0?d.value=0:d.value>=h.value&&(d.value=a?0:h.value-1),L()},x=e.computed(()=>u.value>0?{transform:`translateX(${-d.value*u.value+m.value}px)`}:{transform:`translateX(-${d.value*100}%)`}),L=()=>{s.value&&Array.from(s.value.children).forEach((B,ee)=>{try{ee===d.value?B.removeAttribute("aria-hidden"):B.setAttribute("aria-hidden","true")}catch{}})},V=()=>{C(),!(!n||h.value<=1)&&(r&&k.value||(g=setTimeout(()=>{R(),V()},l)))},C=()=>{g&&(clearTimeout(g),g=null)},v=()=>{h.value!==0&&(d.value<=0?d.value=a?h.value-1:0:d.value--)},R=()=>{h.value!==0&&(d.value>=h.value-1?d.value=a?0:h.value-1:d.value++)},T=B=>{B<0||B>=h.value||(d.value=B)},X=()=>{k.value=!0,r&&C()},q=()=>{k.value=!1,V()},G=B=>{B.key==="ArrowLeft"?v():B.key==="ArrowRight"&&R()};let se=0,j=0;const U=B=>{se=B.touches[0].clientX,j=0},N=B=>{j=B.touches[0].clientX-se},z=()=>{j>50?v():j<-50&&R(),j=0};let Re=0;const ln=B=>{if(B.isPrimary!==!1&&!(B.pointerType==="mouse"&&B.button!==0)){p=!0,Re=B.clientX,m.value=0,C();try{B.target?.setPointerCapture?.(B.pointerId)}catch{}}},an=B=>{p&&(m.value=B.clientX-Re,B.preventDefault())},rn=()=>{if(!p)return;p=!1;const B=Math.max(50,u.value*.15);m.value>B?v():m.value<-B&&R(),m.value=0,V()},sn=B=>{try{B.target?.releasePointerCapture?.(B.pointerId)}catch{}rn()},cn=()=>rn();return e.onMounted(()=>{e.nextTick(()=>{if(E(),s.value&&(y=new MutationObserver(E),y.observe(s.value,{childList:!0}),s.value.addEventListener("touchstart",U,{passive:!0}),s.value.addEventListener("touchmove",N,{passive:!0}),s.value.addEventListener("touchend",z)),f.value){const B=()=>{u.value=f.value?f.value.clientWidth:0};B();const ee=window.ResizeObserver;if(ee&&f.value){const te=new ee(()=>B());te.observe(f.value),w.value=te}else window.addEventListener("resize",B),b.value=B;f.value&&(f.value.addEventListener("pointerdown",ln),f.value.addEventListener("pointermove",an),f.value.addEventListener("pointerup",sn),f.value.addEventListener("pointercancel",cn))}L(),V()})}),e.onBeforeUnmount(()=>{C(),y&&s.value&&y.disconnect(),s.value&&(s.value.removeEventListener("touchstart",U),s.value.removeEventListener("touchmove",N),s.value.removeEventListener("touchend",z)),f.value&&(w.value&&w.value.disconnect&&w.value.disconnect(),b.value&&window.removeEventListener("resize",b.value),f.value.removeEventListener("pointerdown",ln),f.value.removeEventListener("pointermove",an),f.value.removeEventListener("pointerup",sn),f.value.removeEventListener("pointercancel",cn))}),e.watch([d,()=>h.value],()=>{L()}),e.watch([()=>k.value,d],()=>{V()}),(B,ee)=>{const te=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("div",{class:"carousel",role:"region","aria-roledescription":"carousel","aria-label":e.unref(c),tabindex:"0",onKeydown:G,onMouseenter:X,onMouseleave:q},[e.createElementVNode("div",{class:"carousel-window",ref_key:"windowRef",ref:f},[e.createElementVNode("div",{class:"carousel-track",ref_key:"track",ref:s,style:e.normalizeStyle(x.value)},[e.renderSlot(B.$slots,"default",{},void 0,!0)],4)],512),e.createVNode(te,{class:"carousel-btn prev",icon:e.unref($).PREVIOUS,onClick:v,type:"button","aria-label":"Previous slide"},null,8,["icon"]),e.createVNode(te,{class:"carousel-btn next",icon:e.unref($).NEXT,onClick:R,type:"button","aria-label":"Next slide"},null,8,["icon"]),h.value>1?(e.openBlock(),e.createElementBlock("div",wn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,pe=>(e.openBlock(),e.createBlock(te,{key:pe-1,class:e.normalizeClass(["indicator",{active:pe-1===d.value}]),onClick:Ia=>T(pe-1),"aria-current":pe-1===d.value,"aria-label":`Go to slide ${pe}`,type:"button"},null,8,["class","onClick","aria-current","aria-label"]))),128))])):e.createCommentVNode("",!0)],40,yn)}}}),[["__scopeId","data-v-232abca2"]]),_n={class:"checkbox"},Vn=["checked","disabled"],Cn={key:0,class:"checkbox-label"},nt=S(e.defineComponent({__name:"checkbox",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=l=>{const a=l.target;o.value=a.checked};return(l,a)=>(e.openBlock(),e.createElementBlock("label",_n,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"checkbox-input"},null,40,Vn),a[0]||(a[0]=e.createElementVNode("span",{class:"checkbox-box"},[e.createElementVNode("svg",{class:"checkbox-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{class:"checkbox-check",d:"M5 12L10 17L20 7",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),t.label?(e.openBlock(),e.createElementBlock("span",Cn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-d44b45ff"]]),En={class:"radio"},Bn=["checked","disabled"],vn={key:0,class:"radio-label"},Sn=S(e.defineComponent({__name:"radio",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=l=>{const a=l.target;o.value=a.checked};return(l,a)=>(e.openBlock(),e.createElementBlock("label",En,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"radio-input"},null,40,Bn),a[0]||(a[0]=e.createElementVNode("span",{class:"radio-box"},[e.createElementVNode("span",{class:"radio-dot","aria-hidden":"true"})],-1)),t.label?(e.openBlock(),e.createElementBlock("span",vn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f9e4bb65"]]),xn={class:"chip__label"},Te=S(e.defineComponent({__name:"chip",props:e.mergeModels({label:{},dismissable:{type:Boolean},color:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","dismiss","click"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),a=o,r=n.dismissable??!1,i=e.computed(()=>{const d={};return n.color&&(d.color=`var(--on-surface-${n.color})`,d.background=`var(--surface-${n.color})`),d}),c=()=>{a("dismiss",l.value)};return(d,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["chip",{"chip--dismissable":e.unref(r)}]),style:e.normalizeStyle(i.value),onClick:s[0]||(s[0]=f=>d.$emit("click"))},[e.createElementVNode("span",xn,e.toDisplayString(t.label),1),e.unref(r)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"chip__close",type:"button",onClick:e.withModifiers(c,["stop"]),"aria-label":"Dismiss"},[e.createVNode(W,{icon:e.unref($).CLOSE,size:e.unref(D).S},null,8,["icon","size"])])):e.createCommentVNode("",!0)],6))}}),[["__scopeId","data-v-c2014a3b"]]),$n={class:"chip-group"},Ln={key:0,class:"chip-group__label"},Rn={class:"chip-group__container"},Tn=["onDragover","onDrop"],Dn=["onDragstart","onDragover","onDragenter","onDrop"],Nn=["onDragover","onDrop"],An={key:1,class:"chip-group__hint"},De=S(e.defineComponent({__name:"chip-group",props:{items:{default:()=>[]},label:{},hint:{},dismissable:{type:Boolean,default:!0},color:{},itemKey:{default:"value"},itemLabel:{default:"label"}},emits:["update:items","reorder","dismiss","chip-click"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),r=e.ref(null);function i(g,y){return typeof g=="string"?`${g}-${y}`:g[n.itemKey]!==void 0?String(g[n.itemKey]):`item-${y}`}function c(g){return typeof g=="string"?g:g[n.itemLabel]!==void 0?String(g[n.itemLabel]):String(g.value||"")}function d(g,y){a.value=g,y.dataTransfer&&(y.dataTransfer.effectAllowed="move",y.dataTransfer.setData("text/plain",String(g)))}function s(g,y){a.value===null||a.value===g||(y.preventDefault(),y.dataTransfer&&(y.dataTransfer.dropEffect="move"))}function f(g){a.value===null||a.value===g||(r.value=g)}function u(){}function m(g,y){return a.value===null||r.value===null||a.value===g?!1:y==="before"&&r.value===g&&a.value>g||y==="after"&&r.value===g&&a.value<g}function p(g,y){if(y.preventDefault(),a.value===null||a.value===g)return;const w=[...n.items],b=w[a.value];w.splice(a.value,1),w.splice(g,0,b),l("update:items",w),l("reorder",w)}function h(){a.value=null,r.value=null}function k(g){const y=n.items[g],w=n.items.filter((b,E)=>E!==g);l("update:items",w),l("dismiss",y,g)}return(g,y)=>(e.openBlock(),e.createElementBlock("div",$n,[t.label?(e.openBlock(),e.createElementBlock("label",Ln,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Rn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(w,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i(w,b)},[m(b,"before")?(e.openBlock(),e.createElementBlock("div",{key:0,class:"chip-group__drop-indicator",onDragover:e.withModifiers(E=>s(b,E),["prevent"]),onDrop:E=>p(b,E)},null,40,Tn)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["chip-group__item",{"chip-group__item--dragging":a.value===b}]),draggable:"true",onDragstart:E=>d(b,E),onDragover:e.withModifiers(E=>s(b,E),["prevent"]),onDragenter:e.withModifiers(E=>f(b),["prevent"]),onDragleave:u,onDrop:E=>p(b,E),onDragend:h},[e.createVNode(Te,{label:c(w),dismissable:typeof w=="string"?t.dismissable:w.dismissable??t.dismissable,color:typeof w=="string"?t.color:w.color??t.color,onDismiss:E=>k(b),onClick:E=>g.$emit("chip-click",w,b)},null,8,["label","dismissable","color","onDismiss","onClick"])],42,Dn),m(b,"after")?(e.openBlock(),e.createElementBlock("div",{key:1,class:"chip-group__drop-indicator",onDragover:e.withModifiers(E=>s(b,E),["prevent"]),onDrop:E=>p(b,E)},null,40,Nn)):e.createCommentVNode("",!0)],64))),128))]),t.hint?(e.openBlock(),e.createElementBlock("div",An,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-66199d19"]]),Mn={class:"dialog-content"},On={key:1},Pn={class:"dialog-footer"},be=S(e.defineComponent({__name:"dialog",props:{modelValue:{type:Boolean,default:!1},title:{},message:{},component:{},componentProps:{},showFooter:{type:Boolean,default:!1},showCancel:{type:Boolean,default:!0},confirmText:{default:"OK"},cancelText:{default:"Abbrechen"},closeOnBackdrop:{type:Boolean,default:!1},closeOnEscape:{type:Boolean,default:!0}},emits:["update:modelValue","confirm","cancel","close"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,f=>a.value=f);const r=()=>{a.value=!1,l("update:modelValue",!1),l("close")},i=()=>{l("confirm"),r()},c=()=>{l("cancel"),r()},d=()=>{n.closeOnBackdrop&&r()},s=f=>{f.key==="Escape"&&n.closeOnEscape&&a.value&&r()};return e.onMounted(()=>{document.addEventListener("keydown",s)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",s)}),(f,u)=>{const m=e.resolveComponent("VjIcon"),p=e.resolveComponent("VjButton"),h=e.resolveComponent("VjCard");return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"dialog-fade"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-backdrop",onClick:d},[e.createVNode(e.Transition,{name:"dialog-scale"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-wrapper",onClick:u[0]||(u[0]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(h,{class:"dialog-card",header:t.title||""},e.createSlots({headerActions:e.withCtx(()=>[e.createVNode(m,{icon:e.unref($).CLOSE,size:e.unref(D).S,class:"dialog-close",onClick:r},null,8,["icon","size"])]),default:e.withCtx(()=>[e.createElementVNode("div",Mn,[t.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),e.mergeProps({key:0},t.componentProps,{onClose:r}),null,16)):t.message?(e.openBlock(),e.createElementBlock("div",On,e.toDisplayString(t.message),1)):e.renderSlot(f.$slots,"default",{key:2},void 0,!0)])]),_:2},[t.showFooter?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",Pn,[e.renderSlot(f.$slots,"footer",{},()=>[t.showCancel?(e.openBlock(),e.createBlock(p,{key:0,secondary:"",onClick:c,label:t.cancelText},null,8,["label"])):e.createCommentVNode("",!0),e.createVNode(p,{primary:"",onClick:i,label:t.confirmText},null,8,["label"])],!0)])]),key:"0"}:void 0]),1032,["header"])])):e.createCommentVNode("",!0)]),_:3})])):e.createCommentVNode("",!0)]),_:3})])}}}),[["__scopeId","data-v-6af510b3"]]),jn={class:"vj-chip-selector"},zn={class:"options-grid"},Fn=["onClick"],In={key:0,class:"no-options"},ot=S(e.defineComponent({__name:"chip-selector",props:{items:{default:()=>[]},label:{default:""},hint:{default:""},options:{},dialogTitle:{},addButtonText:{default:"+ Add..."}},emits:["update:items"],setup(t,{emit:o}){const n=t,l=o,a=e.ref([...n.items]),r=e.ref(!1),i=e.computed(()=>n.options.filter(s=>!a.value.includes(s.value)));function c(s){const f=s;a.value=f,l("update:items",f)}function d(s){if(!a.value.includes(s)){const f=[...a.value,s];a.value=f,l("update:items",f)}}return e.watch(()=>n.items,s=>{JSON.stringify(s)!==JSON.stringify(a.value)&&(a.value=[...s])},{deep:!0}),(s,f)=>(e.openBlock(),e.createElementBlock("div",jn,[e.createVNode(De,{items:a.value,"onUpdate:items":[f[0]||(f[0]=u=>a.value=u),c],label:t.label,hint:t.hint},null,8,["items","label","hint"]),e.createElementVNode("button",{type:"button",class:"add-button",onClick:f[1]||(f[1]=u=>r.value=!0)},e.toDisplayString(t.addButtonText),1),e.createVNode(be,{modelValue:r.value,"onUpdate:modelValue":f[2]||(f[2]=u=>r.value=u),title:t.dialogTitle||`Add ${t.label}`,"close-on-backdrop":""},{default:e.withCtx(()=>[e.createElementVNode("div",zn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,u=>(e.openBlock(),e.createElementBlock("button",{key:u.value,type:"button",class:"option-btn",onClick:m=>d(u.value)},"+ "+e.toDisplayString(u.label),9,Fn))),128))]),i.value.length===0?(e.openBlock(),e.createElementBlock("div",In,"All options already selected")):e.createCommentVNode("",!0)]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-f2e1b880"]]),ne=Math.min,A=Math.max,ye=Math.round,we=Math.floor,F=t=>({x:t,y:t}),Hn={left:"right",right:"left",bottom:"top",top:"bottom"},Un={start:"end",end:"start"};function lt(t,o,n){return A(t,ne(o,n))}function ce(t,o){return typeof t=="function"?t(o):t}function Y(t){return t.split("-")[0]}function de(t){return t.split("-")[1]}function at(t){return t==="x"?"y":"x"}function it(t){return t==="y"?"height":"width"}const Wn=new Set(["top","bottom"]);function K(t){return Wn.has(Y(t))?"y":"x"}function rt(t){return at(K(t))}function Kn(t,o,n){n===void 0&&(n=!1);const l=de(t),a=rt(t),r=it(a);let i=a==="x"?l===(n?"end":"start")?"right":"left":l==="start"?"bottom":"top";return o.reference[r]>o.floating[r]&&(i=ke(i)),[i,ke(i)]}function Xn(t){const o=ke(t);return[Ne(t),o,Ne(o)]}function Ne(t){return t.replace(/start|end/g,o=>Un[o])}const st=["left","right"],ct=["right","left"],qn=["top","bottom"],Gn=["bottom","top"];function Yn(t,o,n){switch(t){case"top":case"bottom":return n?o?ct:st:o?st:ct;case"left":case"right":return o?qn:Gn;default:return[]}}function Jn(t,o,n,l){const a=de(t);let r=Yn(Y(t),n==="start",l);return a&&(r=r.map(i=>i+"-"+a),o&&(r=r.concat(r.map(Ne)))),r}function ke(t){return t.replace(/left|right|bottom|top/g,o=>Hn[o])}function Qn(t){return{top:0,right:0,bottom:0,left:0,...t}}function Zn(t){return typeof t!="number"?Qn(t):{top:t,right:t,bottom:t,left:t}}function _e(t){const{x:o,y:n,width:l,height:a}=t;return{width:l,height:a,top:n,left:o,right:o+l,bottom:n+a,x:o,y:n}}function dt(t,o,n){let{reference:l,floating:a}=t;const r=K(o),i=rt(o),c=it(i),d=Y(o),s=r==="y",f=l.x+l.width/2-a.width/2,u=l.y+l.height/2-a.height/2,m=l[c]/2-a[c]/2;let p;switch(d){case"top":p={x:f,y:l.y-a.height};break;case"bottom":p={x:f,y:l.y+l.height};break;case"right":p={x:l.x+l.width,y:u};break;case"left":p={x:l.x-a.width,y:u};break;default:p={x:l.x,y:l.y}}switch(de(o)){case"start":p[i]-=m*(n&&s?-1:1);break;case"end":p[i]+=m*(n&&s?-1:1);break}return p}const eo=async(t,o,n)=>{const{placement:l="bottom",strategy:a="absolute",middleware:r=[],platform:i}=n,c=r.filter(Boolean),d=await(i.isRTL==null?void 0:i.isRTL(o));let s=await i.getElementRects({reference:t,floating:o,strategy:a}),{x:f,y:u}=dt(s,l,d),m=l,p={},h=0;for(let k=0;k<c.length;k++){const{name:g,fn:y}=c[k],{x:w,y:b,data:E,reset:x}=await y({x:f,y:u,initialPlacement:l,placement:m,strategy:a,middlewareData:p,rects:s,platform:i,elements:{reference:t,floating:o}});f=w??f,u=b??u,p={...p,[g]:{...p[g],...E}},x&&h<=50&&(h++,typeof x=="object"&&(x.placement&&(m=x.placement),x.rects&&(s=x.rects===!0?await i.getElementRects({reference:t,floating:o,strategy:a}):x.rects),{x:f,y:u}=dt(s,m,d)),k=-1)}return{x:f,y:u,placement:m,strategy:a,middlewareData:p}};async function Ae(t,o){var n;o===void 0&&(o={});const{x:l,y:a,platform:r,rects:i,elements:c,strategy:d}=t,{boundary:s="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:m=!1,padding:p=0}=ce(o,t),h=Zn(p),g=c[m?u==="floating"?"reference":"floating":u],y=_e(await r.getClippingRect({element:(n=await(r.isElement==null?void 0:r.isElement(g)))==null||n?g:g.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(c.floating)),boundary:s,rootBoundary:f,strategy:d})),w=u==="floating"?{x:l,y:a,width:i.floating.width,height:i.floating.height}:i.reference,b=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c.floating)),E=await(r.isElement==null?void 0:r.isElement(b))?await(r.getScale==null?void 0:r.getScale(b))||{x:1,y:1}:{x:1,y:1},x=_e(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:w,offsetParent:b,strategy:d}):w);return{top:(y.top-x.top+h.top)/E.y,bottom:(x.bottom-y.bottom+h.bottom)/E.y,left:(y.left-x.left+h.left)/E.x,right:(x.right-y.right+h.right)/E.x}}const to=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var n,l;const{placement:a,middlewareData:r,rects:i,initialPlacement:c,platform:d,elements:s}=o,{mainAxis:f=!0,crossAxis:u=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:k=!0,...g}=ce(t,o);if((n=r.arrow)!=null&&n.alignmentOffset)return{};const y=Y(a),w=K(c),b=Y(c)===c,E=await(d.isRTL==null?void 0:d.isRTL(s.floating)),x=m||(b||!k?[ke(c)]:Xn(c)),L=h!=="none";!m&&L&&x.push(...Jn(c,k,h,E));const V=[c,...x],C=await Ae(o,g),v=[];let R=((l=r.flip)==null?void 0:l.overflows)||[];if(f&&v.push(C[y]),u){const G=Kn(a,i,E);v.push(C[G[0]],C[G[1]])}if(R=[...R,{placement:a,overflows:v}],!v.every(G=>G<=0)){var T,X;const G=(((T=r.flip)==null?void 0:T.index)||0)+1,se=V[G];if(se&&(!(u==="alignment"?w!==K(se):!1)||R.every(N=>K(N.placement)===w?N.overflows[0]>0:!0)))return{data:{index:G,overflows:R},reset:{placement:se}};let j=(X=R.filter(U=>U.overflows[0]<=0).sort((U,N)=>U.overflows[1]-N.overflows[1])[0])==null?void 0:X.placement;if(!j)switch(p){case"bestFit":{var q;const U=(q=R.filter(N=>{if(L){const z=K(N.placement);return z===w||z==="y"}return!0}).map(N=>[N.placement,N.overflows.filter(z=>z>0).reduce((z,Re)=>z+Re,0)]).sort((N,z)=>N[1]-z[1])[0])==null?void 0:q[0];U&&(j=U);break}case"initialPlacement":j=c;break}if(a!==j)return{reset:{placement:j}}}return{}}}},no=new Set(["left","top"]);async function oo(t,o){const{placement:n,platform:l,elements:a}=t,r=await(l.isRTL==null?void 0:l.isRTL(a.floating)),i=Y(n),c=de(n),d=K(n)==="y",s=no.has(i)?-1:1,f=r&&d?-1:1,u=ce(o,t);let{mainAxis:m,crossAxis:p,alignmentAxis:h}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return c&&typeof h=="number"&&(p=c==="end"?h*-1:h),d?{x:p*f,y:m*s}:{x:m*s,y:p*f}}const lo=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var n,l;const{x:a,y:r,placement:i,middlewareData:c}=o,d=await oo(o,t);return i===((n=c.offset)==null?void 0:n.placement)&&(l=c.arrow)!=null&&l.alignmentOffset?{}:{x:a+d.x,y:r+d.y,data:{...d,placement:i}}}}},ao=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){const{x:n,y:l,placement:a}=o,{mainAxis:r=!0,crossAxis:i=!1,limiter:c={fn:g=>{let{x:y,y:w}=g;return{x:y,y:w}}},...d}=ce(t,o),s={x:n,y:l},f=await Ae(o,d),u=K(Y(a)),m=at(u);let p=s[m],h=s[u];if(r){const g=m==="y"?"top":"left",y=m==="y"?"bottom":"right",w=p+f[g],b=p-f[y];p=lt(w,p,b)}if(i){const g=u==="y"?"top":"left",y=u==="y"?"bottom":"right",w=h+f[g],b=h-f[y];h=lt(w,h,b)}const k=c.fn({...o,[m]:p,[u]:h});return{...k,data:{x:k.x-n,y:k.y-l,enabled:{[m]:r,[u]:i}}}}}},io=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(o){var n,l;const{placement:a,rects:r,platform:i,elements:c}=o,{apply:d=()=>{},...s}=ce(t,o),f=await Ae(o,s),u=Y(a),m=de(a),p=K(a)==="y",{width:h,height:k}=r.floating;let g,y;u==="top"||u==="bottom"?(g=u,y=m===(await(i.isRTL==null?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(y=u,g=m==="end"?"top":"bottom");const w=k-f.top-f.bottom,b=h-f.left-f.right,E=ne(k-f[g],w),x=ne(h-f[y],b),L=!o.middlewareData.shift;let V=E,C=x;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(C=b),(l=o.middlewareData.shift)!=null&&l.enabled.y&&(V=w),L&&!m){const R=A(f.left,0),T=A(f.right,0),X=A(f.top,0),q=A(f.bottom,0);p?C=h-2*(R!==0||T!==0?R+T:A(f.left,f.right)):V=k-2*(X!==0||q!==0?X+q:A(f.top,f.bottom))}await d({...o,availableWidth:C,availableHeight:V});const v=await i.getDimensions(c.floating);return h!==v.width||k!==v.height?{reset:{rects:!0}}:{}}}};function Ve(){return typeof window<"u"}function Q(t){return Me(t)?(t.nodeName||"").toLowerCase():"#document"}function M(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function I(t){var o;return(o=(Me(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function Me(t){return Ve()?t instanceof Node||t instanceof M(t).Node:!1}function O(t){return Ve()?t instanceof Element||t instanceof M(t).Element:!1}function H(t){return Ve()?t instanceof HTMLElement||t instanceof M(t).HTMLElement:!1}function ft(t){return!Ve()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof M(t).ShadowRoot}const ro=new Set(["inline","contents"]);function fe(t){const{overflow:o,overflowX:n,overflowY:l,display:a}=P(t);return/auto|scroll|overlay|hidden|clip/.test(o+l+n)&&!ro.has(a)}const so=new Set(["table","td","th"]);function co(t){return so.has(Q(t))}const fo=[":popover-open",":modal"];function Ce(t){return fo.some(o=>{try{return t.matches(o)}catch{return!1}})}const uo=["transform","translate","scale","rotate","perspective"],mo=["transform","translate","scale","rotate","perspective","filter"],po=["paint","layout","strict","content"];function Oe(t){const o=Pe(),n=O(t)?P(t):t;return uo.some(l=>n[l]?n[l]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!o&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!o&&(n.filter?n.filter!=="none":!1)||mo.some(l=>(n.willChange||"").includes(l))||po.some(l=>(n.contain||"").includes(l))}function ho(t){let o=J(t);for(;H(o)&&!oe(o);){if(Oe(o))return o;if(Ce(o))return null;o=J(o)}return null}function Pe(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const go=new Set(["html","body","#document"]);function oe(t){return go.has(Q(t))}function P(t){return M(t).getComputedStyle(t)}function Ee(t){return O(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function J(t){if(Q(t)==="html")return t;const o=t.assignedSlot||t.parentNode||ft(t)&&t.host||I(t);return ft(o)?o.host:o}function ut(t){const o=J(t);return oe(o)?t.ownerDocument?t.ownerDocument.body:t.body:H(o)&&fe(o)?o:ut(o)}function ue(t,o,n){var l;o===void 0&&(o=[]),n===void 0&&(n=!0);const a=ut(t),r=a===((l=t.ownerDocument)==null?void 0:l.body),i=M(a);if(r){const c=je(i);return o.concat(i,i.visualViewport||[],fe(a)?a:[],c&&n?ue(c):[])}return o.concat(a,ue(a,[],n))}function je(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function mt(t){const o=P(t);let n=parseFloat(o.width)||0,l=parseFloat(o.height)||0;const a=H(t),r=a?t.offsetWidth:n,i=a?t.offsetHeight:l,c=ye(n)!==r||ye(l)!==i;return c&&(n=r,l=i),{width:n,height:l,$:c}}function ze(t){return O(t)?t:t.contextElement}function le(t){const o=ze(t);if(!H(o))return F(1);const n=o.getBoundingClientRect(),{width:l,height:a,$:r}=mt(o);let i=(r?ye(n.width):n.width)/l,c=(r?ye(n.height):n.height)/a;return(!i||!Number.isFinite(i))&&(i=1),(!c||!Number.isFinite(c))&&(c=1),{x:i,y:c}}const bo=F(0);function pt(t){const o=M(t);return!Pe()||!o.visualViewport?bo:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function yo(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==M(t)?!1:o}function Z(t,o,n,l){o===void 0&&(o=!1),n===void 0&&(n=!1);const a=t.getBoundingClientRect(),r=ze(t);let i=F(1);o&&(l?O(l)&&(i=le(l)):i=le(t));const c=yo(r,n,l)?pt(r):F(0);let d=(a.left+c.x)/i.x,s=(a.top+c.y)/i.y,f=a.width/i.x,u=a.height/i.y;if(r){const m=M(r),p=l&&O(l)?M(l):l;let h=m,k=je(h);for(;k&&l&&p!==h;){const g=le(k),y=k.getBoundingClientRect(),w=P(k),b=y.left+(k.clientLeft+parseFloat(w.paddingLeft))*g.x,E=y.top+(k.clientTop+parseFloat(w.paddingTop))*g.y;d*=g.x,s*=g.y,f*=g.x,u*=g.y,d+=b,s+=E,h=M(k),k=je(h)}}return _e({width:f,height:u,x:d,y:s})}function Be(t,o){const n=Ee(t).scrollLeft;return o?o.left+n:Z(I(t)).left+n}function ht(t,o){const n=t.getBoundingClientRect(),l=n.left+o.scrollLeft-Be(t,n),a=n.top+o.scrollTop;return{x:l,y:a}}function wo(t){let{elements:o,rect:n,offsetParent:l,strategy:a}=t;const r=a==="fixed",i=I(l),c=o?Ce(o.floating):!1;if(l===i||c&&r)return n;let d={scrollLeft:0,scrollTop:0},s=F(1);const f=F(0),u=H(l);if((u||!u&&!r)&&((Q(l)!=="body"||fe(i))&&(d=Ee(l)),H(l))){const p=Z(l);s=le(l),f.x=p.x+l.clientLeft,f.y=p.y+l.clientTop}const m=i&&!u&&!r?ht(i,d):F(0);return{width:n.width*s.x,height:n.height*s.y,x:n.x*s.x-d.scrollLeft*s.x+f.x+m.x,y:n.y*s.y-d.scrollTop*s.y+f.y+m.y}}function ko(t){return Array.from(t.getClientRects())}function _o(t){const o=I(t),n=Ee(t),l=t.ownerDocument.body,a=A(o.scrollWidth,o.clientWidth,l.scrollWidth,l.clientWidth),r=A(o.scrollHeight,o.clientHeight,l.scrollHeight,l.clientHeight);let i=-n.scrollLeft+Be(t);const c=-n.scrollTop;return P(l).direction==="rtl"&&(i+=A(o.clientWidth,l.clientWidth)-a),{width:a,height:r,x:i,y:c}}const gt=25;function Vo(t,o){const n=M(t),l=I(t),a=n.visualViewport;let r=l.clientWidth,i=l.clientHeight,c=0,d=0;if(a){r=a.width,i=a.height;const f=Pe();(!f||f&&o==="fixed")&&(c=a.offsetLeft,d=a.offsetTop)}const s=Be(l);if(s<=0){const f=l.ownerDocument,u=f.body,m=getComputedStyle(u),p=f.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,h=Math.abs(l.clientWidth-u.clientWidth-p);h<=gt&&(r-=h)}else s<=gt&&(r+=s);return{width:r,height:i,x:c,y:d}}const Co=new Set(["absolute","fixed"]);function Eo(t,o){const n=Z(t,!0,o==="fixed"),l=n.top+t.clientTop,a=n.left+t.clientLeft,r=H(t)?le(t):F(1),i=t.clientWidth*r.x,c=t.clientHeight*r.y,d=a*r.x,s=l*r.y;return{width:i,height:c,x:d,y:s}}function bt(t,o,n){let l;if(o==="viewport")l=Vo(t,n);else if(o==="document")l=_o(I(t));else if(O(o))l=Eo(o,n);else{const a=pt(t);l={x:o.x-a.x,y:o.y-a.y,width:o.width,height:o.height}}return _e(l)}function yt(t,o){const n=J(t);return n===o||!O(n)||oe(n)?!1:P(n).position==="fixed"||yt(n,o)}function Bo(t,o){const n=o.get(t);if(n)return n;let l=ue(t,[],!1).filter(c=>O(c)&&Q(c)!=="body"),a=null;const r=P(t).position==="fixed";let i=r?J(t):t;for(;O(i)&&!oe(i);){const c=P(i),d=Oe(i);!d&&c.position==="fixed"&&(a=null),(r?!d&&!a:!d&&c.position==="static"&&!!a&&Co.has(a.position)||fe(i)&&!d&&yt(t,i))?l=l.filter(f=>f!==i):a=c,i=J(i)}return o.set(t,l),l}function vo(t){let{element:o,boundary:n,rootBoundary:l,strategy:a}=t;const i=[...n==="clippingAncestors"?Ce(o)?[]:Bo(o,this._c):[].concat(n),l],c=i[0],d=i.reduce((s,f)=>{const u=bt(o,f,a);return s.top=A(u.top,s.top),s.right=ne(u.right,s.right),s.bottom=ne(u.bottom,s.bottom),s.left=A(u.left,s.left),s},bt(o,c,a));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function So(t){const{width:o,height:n}=mt(t);return{width:o,height:n}}function xo(t,o,n){const l=H(o),a=I(o),r=n==="fixed",i=Z(t,!0,r,o);let c={scrollLeft:0,scrollTop:0};const d=F(0);function s(){d.x=Be(a)}if(l||!l&&!r)if((Q(o)!=="body"||fe(a))&&(c=Ee(o)),l){const p=Z(o,!0,r,o);d.x=p.x+o.clientLeft,d.y=p.y+o.clientTop}else a&&s();r&&!l&&a&&s();const f=a&&!l&&!r?ht(a,c):F(0),u=i.left+c.scrollLeft-d.x-f.x,m=i.top+c.scrollTop-d.y-f.y;return{x:u,y:m,width:i.width,height:i.height}}function Fe(t){return P(t).position==="static"}function wt(t,o){if(!H(t)||P(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return I(t)===n&&(n=n.ownerDocument.body),n}function kt(t,o){const n=M(t);if(Ce(t))return n;if(!H(t)){let a=J(t);for(;a&&!oe(a);){if(O(a)&&!Fe(a))return a;a=J(a)}return n}let l=wt(t,o);for(;l&&co(l)&&Fe(l);)l=wt(l,o);return l&&oe(l)&&Fe(l)&&!Oe(l)?n:l||ho(t)||n}const $o=async function(t){const o=this.getOffsetParent||kt,n=this.getDimensions,l=await n(t.floating);return{reference:xo(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function Lo(t){return P(t).direction==="rtl"}const Ro={convertOffsetParentRelativeRectToViewportRelativeRect:wo,getDocumentElement:I,getClippingRect:vo,getOffsetParent:kt,getElementRects:$o,getClientRects:ko,getDimensions:So,getScale:le,isElement:O,isRTL:Lo};function _t(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function To(t,o){let n=null,l;const a=I(t);function r(){var c;clearTimeout(l),(c=n)==null||c.disconnect(),n=null}function i(c,d){c===void 0&&(c=!1),d===void 0&&(d=1),r();const s=t.getBoundingClientRect(),{left:f,top:u,width:m,height:p}=s;if(c||o(),!m||!p)return;const h=we(u),k=we(a.clientWidth-(f+m)),g=we(a.clientHeight-(u+p)),y=we(f),b={rootMargin:-h+"px "+-k+"px "+-g+"px "+-y+"px",threshold:A(0,ne(1,d))||1};let E=!0;function x(L){const V=L[0].intersectionRatio;if(V!==d){if(!E)return i();V?i(!1,V):l=setTimeout(()=>{i(!1,1e-7)},1e3)}V===1&&!_t(s,t.getBoundingClientRect())&&i(),E=!1}try{n=new IntersectionObserver(x,{...b,root:a.ownerDocument})}catch{n=new IntersectionObserver(x,b)}n.observe(t)}return i(!0),r}function ve(t,o,n,l){l===void 0&&(l={});const{ancestorScroll:a=!0,ancestorResize:r=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=l,s=ze(t),f=a||r?[...s?ue(s):[],...ue(o)]:[];f.forEach(y=>{a&&y.addEventListener("scroll",n,{passive:!0}),r&&y.addEventListener("resize",n)});const u=s&&c?To(s,n):null;let m=-1,p=null;i&&(p=new ResizeObserver(y=>{let[w]=y;w&&w.target===s&&p&&(p.unobserve(o),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var b;(b=p)==null||b.observe(o)})),n()}),s&&!d&&p.observe(s),p.observe(o));let h,k=d?Z(t):null;d&&g();function g(){const y=Z(t);k&&!_t(k,y)&&n(),k=y,h=requestAnimationFrame(g)}return n(),()=>{var y;f.forEach(w=>{a&&w.removeEventListener("scroll",n),r&&w.removeEventListener("resize",n)}),u?.(),(y=p)==null||y.disconnect(),p=null,d&&cancelAnimationFrame(h)}}const Se=lo,xe=ao,$e=to,Do=io,Vt=(t,o,n)=>{const l=new Map,a={platform:Ro,...n},r={...a.platform,_c:l};return eo(t,o,{...a,platform:r})};function No(t){return t!=null&&typeof t=="object"&&"$el"in t}function Ct(t){if(No(t)){const o=t.$el;return Me(o)&&Q(o)==="#comment"?null:o}return t}function me(t){return typeof t=="function"?t():e.unref(t)}function Et(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Bt(t,o){const n=Et(t);return Math.round(o*n)/n}function Ie(t,o,n){n===void 0&&(n={});const l=n.whileElementsMounted,a=e.computed(()=>{var V;return(V=me(n.open))!=null?V:!0}),r=e.computed(()=>me(n.middleware)),i=e.computed(()=>{var V;return(V=me(n.placement))!=null?V:"bottom"}),c=e.computed(()=>{var V;return(V=me(n.strategy))!=null?V:"absolute"}),d=e.computed(()=>{var V;return(V=me(n.transform))!=null?V:!0}),s=e.computed(()=>Ct(t.value)),f=e.computed(()=>Ct(o.value)),u=e.ref(0),m=e.ref(0),p=e.ref(c.value),h=e.ref(i.value),k=e.shallowRef({}),g=e.ref(!1),y=e.computed(()=>{const V={position:p.value,left:"0",top:"0"};if(!f.value)return V;const C=Bt(f.value,u.value),v=Bt(f.value,m.value);return d.value?{...V,transform:"translate("+C+"px, "+v+"px)",...Et(f.value)>=1.5&&{willChange:"transform"}}:{position:p.value,left:C+"px",top:v+"px"}});let w;function b(){if(s.value==null||f.value==null)return;const V=a.value;Vt(s.value,f.value,{middleware:r.value,placement:i.value,strategy:c.value}).then(C=>{u.value=C.x,m.value=C.y,p.value=C.strategy,h.value=C.placement,k.value=C.middlewareData,g.value=V!==!1})}function E(){typeof w=="function"&&(w(),w=void 0)}function x(){if(E(),l===void 0){b();return}if(s.value!=null&&f.value!=null){w=l(s.value,f.value,b);return}}function L(){a.value||(g.value=!1)}return e.watch([r,i,c,a],b,{flush:"sync"}),e.watch([s,f],x,{flush:"sync"}),e.watch(a,L,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(E),{x:e.shallowReadonly(u),y:e.shallowReadonly(m),strategy:e.shallowReadonly(p),placement:e.shallowReadonly(h),middlewareData:e.shallowReadonly(k),isPositioned:e.shallowReadonly(g),floatingStyles:y,update:b}}const vt=S(e.defineComponent({inheritAttrs:!1,__name:"dot-menu",props:{icon:{}},setup(t){const o=t,n=e.ref(!1),l=e.ref(null),a=e.ref(null),r=e.computed(()=>o.icon??$.DOT_MENU),{floatingStyles:i}=Ie(l,a,{placement:"bottom-end",middleware:[Se(8),$e(),xe({padding:8})],whileElementsMounted:ve}),c=()=>{n.value=!n.value},d=()=>{n.value=!1},s=f=>{const u=f.target;u&&(u.closest(".menu-action")||u.closest('[role="menuitem"]')||u.closest("a"))&&d()};return(f,u)=>{const m=e.resolveComponent("VjButton"),p=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["dot-menu-container",f.$attrs.class])},[e.createVNode(m,{ref_key:"buttonRef",ref:l,class:"dot-menu",tertiary:"",icon:r.value,onClick:c},null,8,["icon"]),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createBlock(p,{key:0,ref_key:"floatingRef",ref:a,style:e.normalizeStyle(e.unref(i)),class:"menu-dropdown",onClose:d,onClick:s},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:3})],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-backdrop",onClick:d})):e.createCommentVNode("",!0)]))],64)}}}),[["__scopeId","data-v-67bd71e4"]]),St=S(e.defineComponent({__name:"link-button",props:{label:{},icon:{},to:{},primary:{type:Boolean},secondary:{type:Boolean},tertiary:{type:Boolean},disabled:{type:Boolean}},setup(t){const o=t,n=D.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary");return(a,r)=>{const i=e.resolveComponent("router-link");return e.openBlock(),e.createBlock(i,{to:t.to,class:e.normalizeClass(["button",l.value]),disabled:t.disabled},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)]),_:1},8,["to","class","disabled"])}}}),[["__scopeId","data-v-bd3cf2f5"]]),Ao=["disabled"],Mo={class:"menu-action--icon"},xt=S(e.defineComponent({__name:"menu-action",props:{label:{},icon:{},disabled:{type:Boolean}},setup(t){const o=D.S;return(n,l)=>(e.openBlock(),e.createElementBlock("button",{class:"menu-action button tertiary",disabled:t.disabled},[e.createElementVNode("span",Mo,[t.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:t.icon,size:e.unref(o)},null,8,["icon","size"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",null,e.toDisplayString(t.label),1)],8,Ao))}}),[["__scopeId","data-v-07850995"]]),Oo={},Po={class:"menu"};function jo(t,o){return e.openBlock(),e.createElementBlock("div",Po,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const $t=S(Oo,[["render",jo],["__scopeId","data-v-259fec08"]]),Lt={mounted(t){t.classList.add("compact")},unmounted(t){t.classList.remove("compact")}},Rt=['input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]'].join(", ");function zo(t){const o=t.querySelectorAll(Rt);for(const n of Array.from(o))if(n.offsetParent!==null||n.getClientRects().length>0)return n;return null}const Tt={mounted(t,o){const n=typeof o.value=="number"?o.value:0,l=()=>{if(t.matches(Rt)){t.focus();return}const a=zo(t);a&&a.focus()};n>0?setTimeout(l,n):requestAnimationFrame(l)}};class He{static _instance=null;observer=null;targets=new Map;constructor(){this.init()}static get instance(){return this._instance||(this._instance=new He),this._instance}init(){typeof window<"u"&&"ResizeObserver"in window?this.observer=new ResizeObserver(o=>{for(const n of o)this.handleEntry(n)}):typeof window<"u"&&globalThis.addEventListener("resize",this.handleWindowResize)}handleWindowResize=()=>{for(const o of this.targets.keys()){const n=o.getBoundingClientRect(),l={target:o,contentRect:n};this.handleEntry(l)}};handleEntry(o){const n=this.targets.get(o.target);if(!n)return;const l=o.contentRect.width,a=o.contentRect.height,r=o.target;for(const i of n.callbacks)try{i(l,a,r)}catch(c){console.error("resize callback error",c)}if(n.breakpoints){const i=Object.keys(n.breakpoints).map(d=>Number(d)).filter(d=>!Number.isNaN(d)).sort((d,s)=>d-s);let c;for(const d of i)l>=d&&(c=n.breakpoints[d]);c!==n.currentClass&&(n.currentClass&&o.target.classList.remove(n.currentClass),c&&o.target.classList.add(c),n.currentClass=c)}}observe(o,n,l){const a=this.targets.get(o);if(a)n&&a.callbacks.add(n),l?.breakpoints&&(a.breakpoints=l.breakpoints);else{const r=new Set;n&&r.add(n),this.targets.set(o,{callbacks:r,breakpoints:l?.breakpoints}),this.observer&&this.observer.observe(o)}if(l?.immediate){const r=o.getBoundingClientRect(),i={target:o,contentRect:r};if(this.handleEntry(i),n){const c=r.width,d=r.height;n(c,d,o)}}}unobserve(o,n){const l=this.targets.get(o);l&&(n&&l.callbacks.delete(n),(!n||l.callbacks.size===0)&&(this.targets.delete(o),this.observer&&this.observer.unobserve(o),l.currentClass&&o.classList&&o.classList.remove(l.currentClass)))}}const ae=He.instance,Dt={mounted(t,o){const n=o.value,l=typeof n=="function"?n:n?.onResize,a=typeof n=="object"&&n?.breakpoints?n.breakpoints:void 0,r=typeof n=="object"&&!!n?.immediate,i=t;i.__resize_cb=l,i.__resize_breakpoints=a,l&&ae.observe(t,l,{breakpoints:a,immediate:r})},updated(t,o){const n=t,l=n.__resize_cb,a=n.__resize_breakpoints,r=o.value,i=typeof r=="function"?r:r?.onResize,c=typeof r=="object"&&r?.breakpoints?r.breakpoints:void 0;if(l!==i){l&&ae.unobserve(t,l),i&&ae.observe(t,i,{breakpoints:c,immediate:!!(r&&typeof r=="object"&&r.immediate)}),n.__resize_cb=i,n.__resize_breakpoints=c;return}JSON.stringify(a||{})!==JSON.stringify(c||{})&&(l&&ae.unobserve(t,l),i&&ae.observe(t,i,{breakpoints:c,immediate:!0}),n.__resize_breakpoints=c)},unmounted(t){const o=t,n=o.__resize_cb;n&&ae.unobserve(t,n),delete o.__resize_cb,delete o.__resize_breakpoints}},Fo={},Io={class:"spinner"};function Ho(t,o){return e.openBlock(),e.createElementBlock("div",Io)}const Ue=S(Fo,[["render",Ho],["__scopeId","data-v-b957fb82"]]),Uo=200,Wo=120;function Nt(t,o){const n=o.querySelector(".vj-loading-inner");if(!n)return;const l=t.clientHeight||t.getBoundingClientRect().height;n.classList.remove("vj-loading-inner--small","vj-loading-inner--minimal");const a=n.querySelector(".vj-loading-text");a&&a.classList.remove("vj-loading-text--hidden"),l<=Wo?(n.classList.add("vj-loading-inner--minimal"),a&&a.classList.add("vj-loading-text--hidden")):l<=Uo&&n.classList.add("vj-loading-inner--small")}const At={mounted(t,o){let n,l;if(typeof o.value=="object"&&o.value!==null){const m=o.value;n=!!(m.active??!0),l=m.text}else n=!!o.value,l=void 0;const a=getComputedStyle(t),r={overlay:document.createElement("div")};(a.position==="static"||!a.position)&&(r.originalPosition=t.style.position,t.style.position="relative");const i=r.overlay;i.className="vj-loading-overlay",n||i.classList.add("vj-loading-overlay--hidden");const c=document.createElement("div"),d=document.createElement("div");d.className="vj-loading-inner",d.appendChild(c);let s;l&&(s=document.createElement("div"),s.className="vj-loading-text",s.textContent=l,d.appendChild(s)),i.appendChild(d),Nt(t,i);const f=e.createVNode(Ue);e.render(f,c),r.spinnerVnode=f,r.spinnerContainer=c,n&&(t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"),t.appendChild(i);const u=t;u.__vjLoading=r},updated(t,o){const l=t.__vjLoading;if(!l)return;const{overlay:a}=l;let r,i;if(typeof o.value=="object"&&o.value!==null){const d=o.value;r=!!(d.active??!0),i=d.text}else r=!!o.value,i=void 0;r?(a.classList.remove("vj-loading-overlay--hidden"),t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"):(a.classList.add("vj-loading-overlay--hidden"),t.removeAttribute("aria-busy"),t.style.pointerEvents="");const c=a.querySelector(".vj-loading-inner");if(c){const d=c.querySelector(".vj-loading-text");if(d)i?d.textContent=i:d.remove();else if(i){const s=document.createElement("div");s.className="vj-loading-text",s.textContent=i,c.appendChild(s)}}Nt(t,a)},unmounted(t){const o=t,n=o.__vjLoading;if(!n)return;const{overlay:l,originalPosition:a}=n;try{n.spinnerContainer&&e.render(null,n.spinnerContainer)}catch{}l&&l.parentElement===t&&t.removeChild(l),a!==void 0&&(t.style.position=a),o.__vjLoading=void 0}},Ko=t=>{const o=document.createElement("div");return o.className="vj-tooltip",o.setAttribute("role","tooltip"),o.style.position="absolute",o.style.top="0",o.style.left="0",o.style.pointerEvents="none",o.style.zIndex="10000",o.textContent=t,o};function Mt(t){if(!t)return{content:"",placement:"top",delay:200};if(typeof t.value=="string")return{content:t.value,placement:"top",delay:200};const n=t.value||{},l=n.placement??"top";return{content:n.content??"",placement:l,delay:n.delay??200}}const We={mounted(t,o){const n=Mt(o),l=Ko(n.content);document.body.appendChild(l);const a={tooltip:l,cleanup:void 0,showTimer:null,hideTimer:null},r=async()=>{const p=await Vt(t,l,{placement:n.placement,middleware:[Se(6),$e(),xe({padding:8})]}),{x:h,y:k}=p;Object.assign(l.style,{left:`${h}px`,top:`${k}px`})},i=()=>{a.hideTimer&&window.clearTimeout(a.hideTimer),a.showTimer=window.setTimeout(()=>{l.classList.add("vj-tooltip--visible"),r(),a.cleanup=ve(t,l,r)},n.delay)},c=()=>{a.showTimer&&window.clearTimeout(a.showTimer),a.hideTimer=window.setTimeout(()=>{if(l.classList.remove("vj-tooltip--visible"),a.cleanup){try{a.cleanup()}catch{}a.cleanup=void 0}},50)},d=p=>{i()},s=p=>{c()},f=()=>i(),u=()=>c(),m=p=>{p.pointerType==="touch"&&(i(),a.docHandler=h=>{!l.contains(h.target)&&!t.contains(h.target)&&(c(),document.removeEventListener("pointerdown",a.docHandler),a.docHandler=void 0)},document.addEventListener("pointerdown",a.docHandler))};t.addEventListener("pointerenter",d),t.addEventListener("pointerleave",s),t.addEventListener("focus",f),t.addEventListener("blur",u),t.addEventListener("pointerdown",m),a.onPointerEnter=d,a.onPointerLeave=s,a.onFocus=f,a.onBlur=u,a.onPointerDown=m,t.__vjTooltip=a},updated(t,o){const n=t.__vjTooltip;if(!n)return;const l=Mt(o);n.tooltip.textContent=l.content},unmounted(t){const o=t.__vjTooltip;if(o){try{o.cleanup&&o.cleanup()}catch{}o.tooltip&&o.tooltip.parentElement&&o.tooltip.parentElement.removeChild(o.tooltip),o.onPointerEnter&&t.removeEventListener("pointerenter",o.onPointerEnter),o.onPointerLeave&&t.removeEventListener("pointerleave",o.onPointerLeave),o.onFocus&&t.removeEventListener("focus",o.onFocus),o.onBlur&&t.removeEventListener("blur",o.onBlur),o.onPointerDown&&t.removeEventListener("pointerdown",o.onPointerDown),o.docHandler&&document.removeEventListener("pointerdown",o.docHandler),t.__vjTooltip=void 0}}},Xo={class:"notification__icon"},qo={class:"notification__message"},Go={class:"notification__title"},Yo={class:"notification__text"},Jo=S(e.defineComponent({__name:"notification",props:{type:{},title:{},message:{}},emits:["close"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>{switch(n.type){case"success":return $.CHECK;case"warning":return $.WARNING;case"error":return $.ERROR;default:return $.INFO}}),r=()=>{l("close")};return(i,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["notification",`notification--${t.type}`]),onClick:r},[e.createElementVNode("div",Xo,[e.createVNode(W,{icon:a.value},null,8,["icon"])]),e.createElementVNode("div",qo,[e.createElementVNode("div",Go,e.toDisplayString(t.title),1),e.createElementVNode("div",Yo,e.toDisplayString(t.message),1)]),e.createVNode(he,{class:"notification__close compact",icon:e.unref($).CLOSE,onClick:e.withModifiers(r,["stop"]),tertiary:""},null,8,["icon"])],2))}}),[["__scopeId","data-v-ca4451c0"]]),Qo={class:"page"},Zo={class:"header-left"},el={class:"header-titles"},tl={key:0},nl={class:"header-actions"},ol={key:0,class:"page-error"},ll={key:1,class:"contents"},al={key:2,class:"actions"},il={key:3},rl={key:0},Ot=S(e.defineComponent({directives:{loading:At},__name:"page",props:{title:{},subTitle:{},backLabel:{},scrollable:{type:Boolean},errorMessage:{},flow:{},loadingMessage:{}},emits:["back"],setup(t,{emit:o}){const n=t,l=e.computed(()=>n.flow?.running?.value??!1),a=e.computed(()=>n.flow?.error?.value??null),r=e.computed(()=>n.errorMessage??(a.value?String(a.value):null));return(i,c)=>{const d=e.resolveComponent("VjButton"),s=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Qo,[e.createElementVNode("header",null,[e.createElementVNode("div",Zo,[t.backLabel?(e.openBlock(),e.createBlock(d,{key:0,tertiary:"",icon:e.unref($).BACK,onClick:c[0]||(c[0]=f=>i.$emit("back")),size:"small"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("div",el,[e.createElementVNode("h1",null,e.toDisplayString(t.title),1),t.subTitle?(e.openBlock(),e.createElementBlock("h2",tl,e.toDisplayString(t.subTitle),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",nl,[e.renderSlot(i.$slots,"headerActions",{},void 0,!0)])]),e.createElementVNode("main",{class:e.normalizeClass({scrollable:t.scrollable})},[r.value?(e.openBlock(),e.createElementBlock("div",ol,[e.renderSlot(i.$slots,"error",{},()=>[e.createVNode(Jo,{type:"error",title:r.value,message:r.value},null,8,["title","message"])],!0)])):e.createCommentVNode("",!0),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ll,[e.renderSlot(i.$slots,"default",{},void 0,!0)])),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",al,[e.renderSlot(i.$slots,"actions",{},void 0,!0)])),i.$slots.flexFooter?(e.openBlock(),e.createElementBlock("footer",il,[e.renderSlot(i.$slots,"flexFooter",{},void 0,!0)])):e.createCommentVNode("",!0)],2),i.$slots.footer?(e.openBlock(),e.createElementBlock("footer",rl,[e.renderSlot(i.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)])),[[s,{active:l.value,text:n.loadingMessage}]])}}}),[["__scopeId","data-v-3e724555"]]),sl={class:"paginator-info","aria-live":"polite"},Pt=S(e.defineComponent({__name:"paginator",props:e.mergeModels({totalItems:{},pageSize:{},labels:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),a=o,r=e.computed(()=>Math.max(1,Math.ceil((n.totalItems??0)/n.pageSize))),i=e.computed(()=>Math.min(Math.max(1,l.value??1),r.value)),c=e.computed(()=>i.value),d=e.computed(()=>i.value<=1),s=e.computed(()=>i.value>=r.value),f=e.computed(()=>n.labels?.item??"Eintrag"),u=e.computed(()=>n.labels?.of??"von"),m=y=>{const w=Math.min(Math.max(1,Math.floor(y)),r.value);w!==l.value&&(l.value=w,a("change",w))},p=()=>m(1),h=()=>m(i.value-1),k=()=>m(i.value+1),g=()=>m(r.value);return e.watch([()=>n.totalItems,()=>n.pageSize],()=>{l.value>r.value&&m(r.value)}),(y,w)=>{const b=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("nav",{class:"paginator","aria-label":"Pagination",onKeydown:w[0]||(w[0]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["enter"]))},[e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref($).FIRST,disabled:d.value,onClick:p,"aria-label":"First page"},null,8,["icon","disabled"]),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref($).PREVIOUS,disabled:d.value,onClick:h,"aria-label":"Previous page"},null,8,["icon","disabled"]),e.renderSlot(y.$slots,"info",{current:i.value,totalPages:r.value,goTo:m},()=>[e.createElementVNode("div",sl,e.toDisplayString(f.value)+" "+e.toDisplayString(c.value)+" "+e.toDisplayString(u.value)+" "+e.toDisplayString(r.value),1)],!0),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref($).NEXT,disabled:s.value,onClick:k,"aria-label":"Next page"},null,8,["icon","disabled"]),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref($).LAST,disabled:s.value,onClick:g,"aria-label":"Last page"},null,8,["icon","disabled"])],32)}}}),[["__scopeId","data-v-b6fa8efe"]]),cl={class:"search-field"},dl=["value","placeholder"],jt=S(e.defineComponent({__name:"search-field",props:e.mergeModels({placeholder:{default:"Search..."}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=r=>{o.value=r.target.value},l=()=>{o.value=""},a=e.computed(()=>!o.value);return(r,i)=>{const c=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",cl,[e.createVNode(c,{icon:e.unref($).SEARCH,size:e.unref(D).S},null,8,["icon","size"]),e.createElementVNode("input",{value:o.value,onInput:n,type:"text",placeholder:t.placeholder},null,40,dl),e.createVNode(c,{class:e.normalizeClass(["reset",{invisible:a.value}]),icon:e.unref($).CLOSE,size:e.unref(D).S,onClick:l},null,8,["class","icon","size"])])}}}),[["__scopeId","data-v-2771c8ed"]]),zt=S(e.defineComponent({__name:"separator",props:{vertical:{type:Boolean}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["separator",{vertical:t.vertical}])},null,2))}}),[["__scopeId","data-v-e354bb4e"]]),fl={class:"tab-view"},ul={ref:"headerRef",class:"tab-view-header"},ml=["onClick"],pl={class:"tab-view-content"},Ft=S(e.defineComponent({__name:"tab-view",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref([]),l=e.ref([]),a=e.ref({width:"0px",transform:"translateX(0px)"}),r=(s,f)=>{s&&(l.value[f]=s)},i=()=>{const s=n.value.findIndex(f=>f.name===o.value);if(s>=0&&l.value[s]){const f=l.value[s],u=f.offsetWidth,m=f.offsetLeft;a.value={width:`${u}px`,transform:`translateX(${m}px)`}}},c=(s,f)=>{n.value.find(u=>u.name===s)||(n.value.push({name:s,label:f}),e.nextTick(()=>{!o.value&&n.value.length===1&&(o.value=s),i()}))},d=s=>{o.value=s};return e.watch(o,()=>{e.nextTick(()=>{i()})}),e.provide("tabView",{activeTab:()=>o.value,registerTab:c}),(s,f)=>(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",ul,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(u,m)=>(e.openBlock(),e.createElementBlock("div",{key:u.name,ref_for:!0,ref:p=>r(p,m),class:e.normalizeClass(["tab-button",{active:o.value===u.name}]),onClick:p=>d(u.name)},e.toDisplayString(u.label),11,ml))),128)),f[0]||(f[0]=e.createElementVNode("div",{class:"tab-line"},null,-1)),e.createElementVNode("div",{class:"tab-indicator",style:e.normalizeStyle(a.value)},null,4)],512),e.createElementVNode("div",pl,[e.renderSlot(s.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-3d4ee454"]]),hl={key:0,class:"tab"},It=e.defineComponent({__name:"tab",props:{name:{},label:{}},setup(t){const o=t,n=e.inject("tabView"),l=e.computed(()=>n?.activeTab()===o.name);return e.onMounted(()=>{n?.registerTab(o.name,o.label)}),(a,r)=>l.value?(e.openBlock(),e.createElementBlock("div",hl,[e.renderSlot(a.$slots,"default")])):e.createCommentVNode("",!0)}}),gl=["onKeydown"],bl=S(e.defineComponent({__name:"editable-label",props:{modelValue:{},showIcon:{type:Boolean}},emits:["update:modelValue","edit"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>n.modelValue??""),r=e.ref(a.value),i=e.ref(!1),c=e.ref(!1),d=e.ref(null),s=e.computed(()=>!!n.showIcon);e.watch(a,p=>{r.value=p});function f(){i.value=!0,e.nextTick(()=>d.value?.focus())}function u(){i.value=!1,r.value!==a.value&&(l("update:modelValue",r.value),l("edit",r.value))}function m(){r.value=a.value,i.value=!1}return(p,h)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["vj-editable-label",{editing:i.value}]),onMouseenter:h[1]||(h[1]=k=>c.value=!0),onMouseleave:h[2]||(h[2]=k=>c.value=!1)},[i.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"inputRef",ref:d,class:"edit-input","onUpdate:modelValue":h[0]||(h[0]=k=>r.value=k),onKeydown:[e.withKeys(e.withModifiers(u,["prevent"]),["enter"]),e.withKeys(e.withModifiers(m,["prevent"]),["esc"])],onBlur:u},null,40,gl)),[[e.vModelText,r.value]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:"label-text",onClick:f,title:"Click to edit"},e.toDisplayString(a.value),1),c.value||s.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"edit-icon",onClick:e.withModifiers(f,["stop"])},[e.createVNode(W,{icon:e.unref($).EDIT},null,8,["icon"])])):e.createCommentVNode("",!0)],64))],34))}}),[["__scopeId","data-v-cdc52c5b"]]),yl="200% 200%",Ht=S(e.defineComponent({__name:"skeleton",props:{width:{},height:{},borderRadius:{}},setup(t){const o=t,n=e.computed(()=>o.width??"100%"),l=e.computed(()=>o.height??"16px"),a=e.computed(()=>o.borderRadius??"4px");return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-skeleton",style:e.normalizeStyle({width:n.value,height:l.value,borderRadius:a.value,backgroundSize:yl}),"aria-hidden":"true"},null,4))}}),[["__scopeId","data-v-ac05e016"]]),Ut={form:{labelPosition:"inline",appearance:"bordered"}};let Le={};function wl(t){Le={...Le,...t,form:{...Ut.form,...t.form}}}function Ke(){return{form:{...Ut.form,...Le.form}}}function kl(){Le={}}const _l=["data-colspan","data-newline"],Vl=["for"],Cl={class:"form-field__wrapper"},El=["for"],Bl={key:1,class:"form-field__error"},vl={key:2,class:"form-field__help",type:"button","aria-label":"Hilfe"},ie=S(e.defineComponent({directives:{tooltip:We},__name:"form-field",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{}},emits:["update:modelValue","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),r=e.ref(!1),i=e.computed(()=>`form-field-${n.id??Math.random().toString(36).slice(2)}`),c=e.computed(()=>n.labelPosition??Ke().form.labelPosition),d=e.computed(()=>n.appearance??Ke().form.appearance);e.watch(()=>n.modelValue,h=>a.value=h);const s=e.computed(()=>{if(c.value==="outline")return!0;const h=a.value!==""&&a.value!==null&&a.value!==void 0;return r.value||h}),f=e.computed(()=>c.value==="outline"||s.value?n.placeholder:"");function u(h){const g=h.target.value;a.value=g,l("update:modelValue",g)}function m(h){r.value=!0,l("focus",h)}function p(h){r.value=!1,l("blur",h)}return(h,k)=>{const g=e.resolveComponent("VjIcon"),y=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-field",`form-field--${c.value}`,`form-field--${d.value}`,{disabled:t.disabled},{labelless:!t.label},{error:!!t.error}]),"data-colspan":n.spanRow?void 0:n.colspan,"data-newline":n.spanRow||n.newLine?"true":void 0,style:e.normalizeStyle(n.spanRow?{gridColumn:"1 / -1"}:void 0)},[t.label&&c.value==="outline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-field__label-outline"},e.toDisplayString(t.label),9,Vl)):e.createCommentVNode("",!0),e.createElementVNode("div",Cl,[e.renderSlot(h.$slots,"control",{id:i.value,value:a.value,onInput:u,onFocus:m,onBlur:p,disabled:t.disabled,placeholder:f.value},void 0,!0),t.label&&c.value==="inline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:e.normalizeClass(["form-field__label",{"form-field__label--float":s.value}])},e.toDisplayString(t.label),11,El)):e.createCommentVNode("",!0)]),t.error?(e.openBlock(),e.createElementBlock("div",Bl,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),n.helpText?e.withDirectives((e.openBlock(),e.createElementBlock("button",vl,[e.createVNode(g,{icon:e.unref($).HELP},null,8,["icon"])])),[[y,n.helpText]]):e.createCommentVNode("",!0)],14,_l)}}}),[["__scopeId","data-v-4b88a7e5"]]),Wt=S(e.defineComponent({__name:"form-layout",props:{columns:{type:Number,default:4},gap:{type:String,default:"0.75rem"}},setup(t){const o=t,n=e.ref(null);let l=null;function a(){if(!n.value)return;Array.from(n.value.children).forEach(i=>{const c=i.getAttribute("data-colspan"),d=c?Math.max(1,Number(c)||1):1,s=i.getAttribute("data-newline");s!==null&&s!=="false"?i.style.gridColumn="1 / -1":i.style.gridColumn=`span ${d}`})}return e.onMounted(()=>{e.nextTick(()=>{a(),n.value&&(l=new MutationObserver(()=>a()),l.observe(n.value,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["data-colspan","data-newline"]}))})}),e.onBeforeUnmount(()=>{l?.disconnect()}),e.watch(()=>o.columns,()=>e.nextTick(a)),e.watch(()=>o.gap,()=>e.nextTick(a)),(r,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:n,class:"form-layout",style:e.normalizeStyle({gridTemplateColumns:`repeat(${t.columns}, minmax(0, 1fr))`,gap:t.gap})},[e.renderSlot(r.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-96f62ab7"]]),Sl={key:0,class:"form-section__title","data-newline":""},Kt=S(e.defineComponent({__name:"form-section",props:{title:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.title?(e.openBlock(),e.createElementBlock("h3",Sl,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},void 0,!0)],64))}}),[["__scopeId","data-v-69cff1d0"]]),xl=["id","disabled"],$l={class:"select-value"},Ll={key:1,class:"select-placeholder"},Rl={class:"select-options"},Tl=["onClick","onMouseenter"],Xe=S(e.defineComponent({inheritAttrs:!1,__name:"select",props:e.mergeModels({options:{},placeholder:{},disabled:{type:Boolean},optionLabel:{type:Function},id:{},optionValue:{type:Function},icon:{},clearable:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:o}){const n=t,l=e.useModel(t,"modelValue"),a=e.ref(!1),r=e.ref(-1),i=e.ref(null),c=e.ref(null),d=e.ref(null),{floatingStyles:s}=Ie(c,d,{placement:"bottom-start",middleware:[Se(4),$e(),xe({padding:8}),Do({apply({rects:b,elements:E}){Object.assign(E.floating.style,{minWidth:`${b.reference.width}px`})}})],whileElementsMounted:ve}),f=b=>n.optionLabel?typeof n.optionLabel=="function"?n.optionLabel(b):String(b[n.optionLabel]):String(b),u=b=>n.optionValue?typeof n.optionValue=="function"?n.optionValue(b):b[n.optionValue]:b,m=e.computed(()=>n.options.find(b=>u(b)===l.value)),p=b=>u(b)===l.value,h=()=>{n.disabled||(a.value=!a.value)},k=()=>{a.value=!1,r.value=-1},g=b=>{l.value=u(b),k()},y=()=>{l.value=void 0},w=b=>{a.value&&i.value&&!i.value.contains(b.target)&&k()};return e.onMounted(()=>{document.addEventListener("click",w)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",w)}),e.watch(a,b=>{b&&m.value&&(r.value=n.options.findIndex(E=>p(E)))}),o({focus:()=>c.value?.focus(),blur:()=>c.value?.blur()}),(b,E)=>{const x=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"selectRef",ref:i,class:e.normalizeClass(["select",b.$attrs.class])},[e.createElementVNode("button",{ref_key:"buttonRef",ref:c,type:"button",class:"select-trigger",id:n.id,onClick:h,disabled:t.disabled},[n.icon?(e.openBlock(),e.createBlock(x,{key:0,icon:n.icon,size:e.unref(D).S,class:"select-icon-left"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("span",$l,[m.value?e.renderSlot(b.$slots,"selected",{key:0,option:m.value},()=>[e.createTextVNode(e.toDisplayString(f(m.value)),1)],!0):(e.openBlock(),e.createElementBlock("span",Ll,e.toDisplayString(t.placeholder),1))]),n.clearable&&m.value&&!t.disabled?(e.openBlock(),e.createBlock(x,{key:1,icon:e.unref($).CLOSE,size:e.unref(D).S,class:"select-clear-icon",onClick:e.withModifiers(y,["stop"])},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createVNode(x,{icon:e.unref($).CHEVRON_DOWN,size:e.unref(D).S,class:e.normalizeClass(["select-icon-right",{open:a.value}])},null,8,["icon","size","class"])],8,xl),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"floatingRef",ref:d,style:e.normalizeStyle(e.unref(s)),class:"select-dropdown"},[e.createElementVNode("div",Rl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(L,V)=>(e.openBlock(),e.createElementBlock("div",{key:String(u(L)),class:e.normalizeClass(["select-option",{selected:p(L),highlighted:r.value===V}]),onClick:C=>g(L),onMouseenter:C=>r.value=V},[e.renderSlot(b.$slots,"option",{option:L,selected:p(L)},()=>[e.createTextVNode(e.toDisplayString(f(L)),1)],!0)],42,Tl))),128))])],4)):e.createCommentVNode("",!0)]),_:3})],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"select-backdrop",onClick:k})):e.createCommentVNode("",!0)]))],64)}}}),[["__scopeId","data-v-fc22f0e9"]]),Xt=e.defineComponent({__name:"input-select",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},options:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),r=i=>{a.value=i,l("update:modelValue",i)};return(i,c)=>(e.openBlock(),e.createBlock(ie,{modelValue:a.value,"onUpdate:modelValue":r,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error,helpText:n.helpText,labelPosition:n.labelPosition,appearance:n.appearance},{control:e.withCtx(({id:d,disabled:s,placeholder:f})=>[e.createVNode(Xe,{id:d,modelValue:a.value,"onUpdate:modelValue":[c[0]||(c[0]=u=>a.value=u),r],options:n.options,placeholder:f,disabled:s,"option-label":u=>u.label,"option-value":u=>u.value,clearable:""},e.createSlots({_:2},[i.$slots.selected?{name:"selected",fn:e.withCtx(({option:u})=>[e.renderSlot(i.$slots,"selected",{option:u})]),key:"0"}:void 0,i.$slots.option?{name:"option",fn:e.withCtx(({option:u})=>[e.renderSlot(i.$slots,"option",{option:u})]),key:"1"}:void 0]),1032,["id","modelValue","options","placeholder","disabled","option-label","option-value"])]),_:3},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","helpText","labelPosition","appearance"]))}}),Dl=["aria-valuemin","aria-valuemax","aria-valuenow","aria-label"],Nl=["aria-valuemin","aria-valuemax","aria-valuenow"],Al=S(e.defineComponent({__name:"slider",props:{modelValue:{default:void 0},min:{default:0},max:{default:100},step:{default:1},range:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),r=e.ref(!1),i=e.ref(!1),c=(V,C,v)=>Math.min(Math.max(V,C),v),d=e.ref(n.range?Array.isArray(n.modelValue)?n.modelValue[0]:n.min:typeof n.modelValue=="number"?n.modelValue:n.min),s=e.ref(n.range&&Array.isArray(n.modelValue)?n.modelValue[1]:n.max);e.watch(()=>n.modelValue,V=>{n.range?Array.isArray(V)&&(d.value=c(V[0],n.min,n.max),s.value=c(V[1],n.min,n.max)):typeof V=="number"&&(d.value=c(V,n.min,n.max))},{immediate:!0});const f=V=>(V-n.min)/(n.max-n.min)*100,u=e.computed(()=>({left:`${f(d.value)}%`})),m=e.computed(()=>({left:`${f(s.value)}%`})),p=e.computed(()=>{if(!n.range)return{width:`${f(d.value)}%`,left:"0%"};const V=f(d.value),C=f(s.value);return{left:`${V}%`,width:`${Math.max(0,C-V)}%`}});let h=null,k=null;const g=async(V,C)=>{h=V,k=C.pointerId,V==="low"?r.value=!0:i.value=!0;try{C.target.setPointerCapture(C.pointerId)}catch{}window.addEventListener("pointermove",w),window.addEventListener("pointerup",y)},y=V=>{if(k!=null&&V)try{V.target.releasePointerCapture(V.pointerId)}catch{}h=null,k=null,r.value=!1,i.value=!1,window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",y),x()},w=V=>{if(!h||!a.value)return;const C=a.value.getBoundingClientRect(),v=c(V.clientX-C.left,0,C.width),R=n.min+v/C.width*(n.max-n.min),T=Math.round(R/n.step)*n.step;h==="low"?n.range?d.value=Math.min(T,s.value):d.value=c(T,n.min,n.max):h==="high"&&(s.value=Math.max(T,d.value))},b=V=>{if(!a.value)return;const C=a.value.getBoundingClientRect(),v=c(V.clientX-C.left,0,C.width),R=n.min+v/C.width*(n.max-n.min),T=Math.round(R/n.step)*n.step;if(n.range){const X=Math.abs(T-d.value),q=Math.abs(T-s.value);X<=q?d.value=Math.min(T,s.value):s.value=Math.max(T,d.value)}else d.value=c(T,n.min,n.max);x()},E=(V,C)=>{const v=n.step,R=C.key==="ArrowLeft"||C.key==="ArrowDown"?-1:C.key==="ArrowRight"||C.key==="ArrowUp"?1:0;if(R){if(V==="low"){const T=c(d.value+R*v,n.min,n.range?s.value:n.max);d.value=T,r.value=!0,setTimeout(()=>r.value=!1,800)}else{const T=c(s.value+R*v,n.range?d.value:n.max,n.max);s.value=T,i.value=!0,setTimeout(()=>i.value=!1,800)}x()}},x=()=>{n.range?(l("update:modelValue",[d.value,s.value]),l("change",[d.value,s.value])):(l("update:modelValue",d.value),l("change",d.value))};e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",y)}),e.watch([()=>n.min,()=>n.max],()=>{d.value=c(d.value,n.min,n.max),s.value=c(s.value,n.min,n.max)});const L=e.computed(()=>n.range);return e.nextTick(()=>{n.modelValue===void 0&&(n.range?l("update:modelValue",[d.value,s.value]):l("update:modelValue",d.value))}),(V,C)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-slider",onPointerdown:C[8]||(C[8]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"track",ref_key:"track",ref:a,onClick:b},[e.createElementVNode("div",{class:"range",style:e.normalizeStyle(p.value)},null,4),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tooltip",style:e.normalizeStyle({left:u.value.left})},e.toDisplayString(d.value),5)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"handle low",style:e.normalizeStyle(u.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":d.value,"aria-label":L.value?"Lower value":"Value",onPointerdown:C[0]||(C[0]=e.withModifiers(v=>g("low",v),["prevent"])),onFocus:C[1]||(C[1]=v=>r.value=!0),onBlur:C[2]||(C[2]=v=>r.value=!1),onKeydown:C[3]||(C[3]=e.withModifiers(v=>E("low",v),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Dl),L.value&&i.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"tooltip",style:e.normalizeStyle({left:m.value.left})},e.toDisplayString(s.value),5)):e.createCommentVNode("",!0),L.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"handle high",style:e.normalizeStyle(m.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":s.value,"aria-label":"Upper value",onPointerdown:C[4]||(C[4]=e.withModifiers(v=>g("high",v),["prevent"])),onFocus:C[5]||(C[5]=v=>i.value=!0),onBlur:C[6]||(C[6]=v=>i.value=!1),onKeydown:C[7]||(C[7]=e.withModifiers(v=>E("high",v),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Nl)):e.createCommentVNode("",!0)],512)],32))}}),[["__scopeId","data-v-d47c7475"]]),Ml=["onFocusin","onFocusout"],qt=S(e.defineComponent({__name:"input-slider",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},min:{},max:{},step:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=n.modelValue===void 0?0:Number(n.modelValue),r=e.ref(Number.isNaN(a)?0:a),i=c=>{const d=typeof c=="number"?c:Number(c??0);r.value=Number.isNaN(d)?0:d,l("update:modelValue",r.value),l("input",r.value)};return(c,d)=>(e.openBlock(),e.createBlock(ie,{modelValue:r.value,"onUpdate:modelValue":i,label:n.label,id:n.id,placeholder:" ",disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error},{control:e.withCtx(({id:s,disabled:f,placeholder:u,onFocus:m,onBlur:p})=>[e.createElementVNode("div",{class:"input-slider__control",onFocusin:m,onFocusout:p},[e.createVNode(Al,{id:s,modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=h=>r.value=h),min:n.min,max:n.max,step:n.step,range:!1,disabled:f},null,8,["id","modelValue","min","max","step","disabled"])],40,Ml)]),_:1},8,["modelValue","label","id","disabled","colspan","newLine","spanRow","error"]))}}),[["__scopeId","data-v-051e6d17"]]),Ol={class:"textarea"},Pl=["value","placeholder","disabled","rows"],qe=S(e.defineComponent({__name:"textarea",props:e.mergeModels({icon:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean},rows:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=o,l=e.useModel(t,"modelValue"),a=s=>{l.value=s.target.value},r=()=>{l.value=""},i=s=>{n("focus",s)},c=s=>{n("blur",s)},d=e.computed(()=>!l.value);return(s,f)=>{const u=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",Ol,[t.icon?(e.openBlock(),e.createBlock(u,{key:0,icon:t.icon,size:e.unref(D).S,class:"textarea-icon"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("textarea",{value:l.value,onInput:a,onFocus:i,onBlur:c,placeholder:t.placeholder,disabled:t.disabled,rows:t.rows},null,40,Pl),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(u,{key:1,class:e.normalizeClass(["clear-icon",{invisible:d.value}]),icon:e.unref($).CLOSE,size:e.unref(D).S,onClick:r},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-2ea43716"]]),Gt=e.defineComponent({__name:"input-text-area",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},rows:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=f=>l("update:modelValue",f),r=f=>l("input",f),i=f=>l("focus",f),c=f=>l("blur",f),d=f=>{a(f??"")},s=e.computed(()=>{const f=n.modelValue;return f==null?"":String(f)});return(f,u)=>(e.openBlock(),e.createBlock(ie,{modelValue:n.modelValue,"onUpdate:modelValue":a,onInput:r,onFocus:i,onBlur:c,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,labelPosition:n.labelPosition,error:n.error,helpText:n.helpText,appearance:n.appearance},{control:e.withCtx(({id:m,disabled:p,placeholder:h,onFocus:k,onBlur:g})=>[e.createVNode(qe,{id:m,modelValue:s.value,"onUpdate:modelValue":d,onFocus:y=>{k(y),i(y)},onBlur:y=>{g(y),c(y)},placeholder:h,disabled:p,rows:n.rows,clearable:""},null,8,["id","modelValue","onFocus","onBlur","placeholder","disabled","rows"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","labelPosition","error","helpText","appearance"]))}}),jl={class:"input"},zl=["value","type","placeholder","disabled"],Ge=S(e.defineComponent({__name:"input",props:e.mergeModels({icon:{},type:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=o,l=e.useModel(t,"modelValue"),a=s=>{l.value=s.target.value},r=()=>{l.value=""},i=s=>{n("focus",s)},c=s=>{n("blur",s)},d=e.computed(()=>!l.value);return(s,f)=>{const u=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",jl,[t.icon?(e.openBlock(),e.createBlock(u,{key:0,icon:t.icon,size:e.unref(D).S},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("input",{value:l.value,onInput:a,onFocus:i,onBlur:c,type:t.type,placeholder:t.placeholder,disabled:t.disabled},null,40,zl),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(u,{key:1,class:e.normalizeClass(["clear-icon",{invisible:d.value}]),icon:e.unref($).CLOSE,size:e.unref(D).S,onClick:r},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-3187d49c"]]),Yt=e.defineComponent({__name:"input-text",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},type:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=s=>l("update:modelValue",s),r=s=>l("input",s),i=s=>l("focus",s),c=s=>l("blur",s),d=s=>{a(s??"")};return(s,f)=>(e.openBlock(),e.createBlock(ie,{modelValue:t.modelValue,"onUpdate:modelValue":a,onInput:r,onFocus:i,onBlur:c,label:t.label,id:t.id,placeholder:t.placeholder,disabled:t.disabled,colspan:t.colspan,newLine:t.newLine,spanRow:t.spanRow,error:t.error,helpText:n.helpText,labelPosition:t.labelPosition,appearance:t.appearance},{control:e.withCtx(({id:u,disabled:m,placeholder:p,onFocus:h,onBlur:k})=>[e.createVNode(Ge,{id:u,modelValue:t.modelValue,type:t.type,"onUpdate:modelValue":d,onFocus:g=>{h(g),i(g)},onBlur:g=>{k(g),c(g)},placeholder:p,disabled:m,clearable:""},null,8,["id","modelValue","type","onFocus","onBlur","placeholder","disabled"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","helpText","labelPosition","appearance"]))}}),Fl={class:"shell-navigation-item"},Il={class:"shell-navigation-item-label"},Hl={key:1,class:"shell-navigation-item-link"},Ul=["aria-expanded"],Wl={class:"shell-navigation-item-label"},Jt=S(e.defineComponent({__name:"shell-navigation-item",props:{label:{},icon:{},to:{}},setup(t){const o=e.useSlots(),n=e.computed(()=>!!o.default),l=e.ref(!1),a=e.ref(null),r=e.ref(null),{floatingStyles:i}=Ie(a,r,{placement:"right-start",middleware:[Se(8),$e(),xe({padding:8})],whileElementsMounted:ve}),c=m=>{n.value&&(l.value=!l.value)},d=()=>{l.value=!1},s=m=>{d()},f=m=>{(m.key==="Escape"||m.key==="Esc")&&d()},u=m=>{const p=m.target;p&&(a.value&&a.value.contains(p)||r.value&&r.value.contains(p)||d())};return e.watch(l,m=>{m?(window.addEventListener("keydown",f),window.addEventListener("pointerdown",u)):(window.removeEventListener("keydown",f),window.removeEventListener("pointerdown",u))}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",f),window.removeEventListener("pointerdown",u)}),(m,p)=>{const h=e.resolveComponent("VjIcon"),k=e.resolveComponent("RouterLink"),g=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock("li",Fl,[t.to?(e.openBlock(),e.createBlock(k,{key:0,to:t.to,class:"shell-navigation-item-link"},{default:e.withCtx(()=>[e.createVNode(h,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",Il,e.toDisplayString(t.label),1)]),_:1},8,["to"])):(e.openBlock(),e.createElementBlock("div",Hl,[e.createElementVNode("button",{ref_key:"buttonRef",ref:a,class:"shell-navigation-item-button",onClick:e.withModifiers(c,["stop"]),"aria-expanded":l.value,type:"button"},[e.createVNode(h,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",Wl,e.toDisplayString(t.label),1)],8,Ul),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(g,{key:0,ref_key:"floatingRef",ref:r,style:e.normalizeStyle(e.unref(i)),class:"shell-navigation-item-menu",onClose:d,onClick:e.withModifiers(s,["stop"])},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:3}),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-backdrop",onClick:d})):e.createCommentVNode("",!0)]))]))])}}}),[["__scopeId","data-v-3a50d1c2"]]),Kl={class:"navigation-top"},Xl={key:0,class:"navigation-bottom"},Ye=S(e.defineComponent({__name:"shell-navigation",setup(t){const o=e.inject(Zt,en()),n=e.computed(()=>o.showLabels);return(l,a)=>{const r=e.resolveComponent("VjShellNavigationItem");return e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["shell-navigation",{"with-labels":n.value}])},[e.createElementVNode("ul",Kl,[e.unref(o).hasParent&&e.unref(o).backRoute.value?(e.openBlock(),e.createBlock(r,{key:0,to:e.unref(o).backRoute.value,label:"BACK",icon:e.unref($).HOME},null,8,["to","icon"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).childRoutes.value,i=>(e.openBlock(),e.createBlock(r,{key:i.name,to:{name:i.name},label:i.meta.label,icon:i.meta.icon??e.unref($).HOME},null,8,["to","label","icon"]))),128))]),l.$slots.fixed?(e.openBlock(),e.createElementBlock("ul",Xl,[e.renderSlot(l.$slots,"fixed",{},void 0,!0)])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-306cfc22"]]),ql={class:"shell"},Gl={class:"shell-title"},Yl=["src"],Jl={class:"header-actions"},Qt=S(e.defineComponent({__name:"shell",props:{title:{},icon:{},showNavigation:{type:Boolean}},setup(t){const o=nn(),n=e.toRef(o,"asideComponent"),l=e.toRef(o,"hasAside"),a=e.toRef(o,"asideData"),r=e.computed(()=>{const i=a.value;return i&&typeof i=="object"?i:{}});return(i,c)=>{const d=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock("div",ql,[e.createElementVNode("header",null,[e.createElementVNode("span",Gl,[t.icon?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.icon,alt:"Shell Icon"},null,8,Yl)):e.createCommentVNode("",!0),e.createElementVNode("h1",null,e.toDisplayString(t.title),1)]),e.createElementVNode("div",Jl,[e.renderSlot(i.$slots,"header-actions",{},void 0,!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["shell-content",{"with-navigation":t.showNavigation}])},[t.showNavigation?(e.openBlock(),e.createBlock(e.unref(Ye),{key:0},e.createSlots({_:2},[i.$slots?.["navigation-fixed"]?{name:"fixed",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"navigation-fixed",{},void 0,!0)]),key:"0"}:void 0]),1024)):e.createCommentVNode("",!0),e.createElementVNode("main",null,[e.renderSlot(i.$slots,"default",{},()=>[e.createVNode(d)],!0)]),e.createElementVNode("aside",{class:e.normalizeClass({"aside-visible":l.value})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),e.normalizeProps(e.guardReactiveProps(r.value)),null,16))],2)],2),c[0]||(c[0]=e.createElementVNode("footer",null,null,-1))])}}}),[["__scopeId","data-v-4dfd0097"]]),Zt="navigationProvider";function Ql(t){return!!t.meta&&"icon"in t.meta&&"label"in t.meta}const en=()=>{const t=et.useRouter(),o=et.useRoute(),n=!0,l=e.computed(()=>{const f=t.getRoutes();return f.filter(u=>u.path!=="/"&&!f.some(m=>m.children?.some(p=>p.name===u.name)))}),a=e.computed(()=>{const f=o.matched;return f.length?f[f.length-1]:null}),r=e.computed(()=>{const f=o.matched;return f.length>1?f[f.length-2]:null}),i=e.computed(()=>!!(a.value?.children?.length||r.value)),c=e.computed(()=>a.value?.children?.length?a.value:r.value?.children?.length?r.value:null),d=e.computed(()=>{if(!c.value)return null;const u=t.getRoutes().find(m=>m.children?.some(p=>p.name===c.value.name));return u?{name:u.name}:{path:"/"}}),s=e.computed(()=>{let f=[];return o.path==="/"?f=l.value:a.value?.children?.length?f=a.value.children:r.value?.children?.length?f=r.value.children:f=l.value,f.filter(Ql)});return{hasParent:i,backRoute:d,childRoutes:s,showLabels:n}},Zl=(t,o=!0,n=void 0)=>{const l=e.isRef(t)?t:e.ref(t),a=!!n,r=e.ref(n||null);return{hasParent:a,backRoute:r,childRoutes:l,showLabels:o}},Je=e.ref(!1),Qe=e.ref(null),Ze=e.ref(null);let re=[];const tn=t=>(re.push(t),()=>{re=re.filter(o=>o!==t)}),ea=(t,o)=>(re=[],Qe.value=t,Ze.value=o??null,Je.value=!0,{onClose:n=>tn(n)}),ta=t=>{try{re.forEach(o=>{try{o(t)}catch(n){console.error("aside onClose callback error",n)}})}finally{Je.value=!1,setTimeout(na,1e3)}},na=()=>{re=[],Qe.value=null,Ze.value=null},oa={asideComponent:Qe,asideData:Ze,showAside:ea,closeAside:ta,onAsideClose:tn,hasAside:Je},nn=()=>oa,la=(t,o)=>{let n=null;return(...a)=>{n&&clearTimeout(n),n=setTimeout(()=>{t(...a)},o)}};class aa{containerElement=null;apps=[];ensureContainer(){return this.containerElement||(this.containerElement=document.createElement("div"),this.containerElement.id="vj-dialog-container",document.body.appendChild(this.containerElement)),this.containerElement}open(o){return new Promise(n=>{const l=this.ensureContainer(),a=document.createElement("div");l.appendChild(a);let r=!1;const i=()=>{r||(r=!0,setTimeout(()=>{const d=this.apps.find(s=>s.element===a);d&&(d.app.unmount(),this.apps=this.apps.filter(s=>s!==d)),a.remove()},300))},c=e.createApp({setup(){return()=>e.h(be,{modelValue:!0,title:o.title,message:o.message,component:o.component,componentProps:o.componentProps,showFooter:o.showFooter??!0,showCancel:o.showCancel??!0,confirmText:o.confirmText,cancelText:o.cancelText,closeOnBackdrop:o.closeOnBackdrop??!1,closeOnEscape:o.closeOnEscape??!0,onConfirm:()=>{n(!0),i()},onCancel:()=>{n(!1),i()},onClose:()=>{r||n(!1),i()}})}});c.component("VjCard",ge),c.component("VjIcon",W),c.component("VjButton",he),c.mount(a),this.apps.push({app:c,element:a})})}confirm(o){return this.open({title:o.title,message:o.message,showFooter:!0,showCancel:!0,confirmText:o.confirmText??"OK",cancelText:o.cancelText??"Abbrechen"})}alert(o,n){return this.open({title:o,message:n,showFooter:!0,showCancel:!1,confirmText:"OK"})}closeAll(){this.apps.forEach(({app:o,element:n})=>{o.unmount(),n.remove()}),this.apps=[]}}const on=new aa;function ia(){return on}const ra=()=>{const t=e.ref(!1),o=e.ref(null),n=()=>{o.value=null};class l{inner;defaultValue;handlers=[];constructor(i,c){this.inner=i,this.defaultValue=c}onError(i){return this.handlers.push(i),this}async exec(){o.value=null,t.value=!0;try{return await this.inner()}catch(i){o.value=i;for(const c of this.handlers)try{c(i)}catch(d){console.error("onError handler failed",d)}if(this.defaultValue!==void 0)return this.defaultValue;throw i}finally{t.value=!1}}then(i,c){return this.exec().then(i,c)}}function a(r,i){return new l(r,i)}return{run:a,running:t,error:o,clearError:n}};class sa{notifications=e.ref([]);notificationIdCounter=0;getNotifications(){return this.notifications}show(o,n,l,a){const r=`notification-${++this.notificationIdCounter}-${Date.now()}`,i=o==="error"?void 0:a??5e3,c={id:r,type:o,title:n,message:l,duration:i};return this.notifications.value.unshift(c),i&&setTimeout(()=>{this.remove(r)},i),r}info(o,n,l){return this.show("info",o,n,l)}warning(o,n,l){return this.show("warning",o,n,l)}error(o,n){return this.show("error",o,n)}success(o,n,l){return this.show("success",o,n,l)}remove(o){const n=this.notifications.value.findIndex(l=>l.id===o);n!==-1&&this.notifications.value.splice(n,1)}clearAll(){this.notifications.value=[]}}const ca=new sa,da={install(t){t.component("VjButton",he),t.component("VjButtonBar",tt),t.component("VjCard",ge),t.component("VjChip",Te),t.component("VjChipGroup",De),t.component("VjChipSelector",ot),t.component("VjCarousel",ge),t.component("VjCheckbox",nt),t.component("VjDotMenu",vt),t.component("VjDialog",be),t.component("VjIcon",W),t.component("VjLinkButton",St),t.component("VjMenu",$t),t.component("VjMenuAction",xt),t.component("VjPage",Ot),t.component("VjPaginator",Pt),t.component("VjTab",It),t.component("VjTabView",Ft),t.component("VjSkeleton",Ht),t.component("VjSpinner",Ue),t.component("VjInput",Ge),t.component("VjSelect",Xe),t.component("VjTextArea",qe),t.component("VjFormField",ie),t.component("VjFormLayout",Wt),t.component("VjFormSection",Kt),t.component("VjInputText",Yt),t.component("VjInputTextArea",Gt),t.component("VjInputSelect",Xt),t.component("VjInputSlider",qt),t.component("VjShellNavigation",Ye),t.component("VjShellNavigationItem",Jt),t.component("VjShell",Qt),t.component("VjSearchField",jt),t.component("VjSeparator",zt),t.directive("focus",Tt),t.directive("resize",Dt),t.directive("compact",Lt),t.directive("tooltip",We)}};_.Button=he,_.ButtonBar=tt,_.Card=ge,_.Carousel=kn,_.Checkbox=nt,_.Chip=Te,_.ChipGroup=De,_.ChipSelector=ot,_.Dialog=be,_.DotMenu=vt,_.EditableLabel=bl,_.FocusFirstDirective=Tt,_.FormField=ie,_.FormLayout=Wt,_.FormSection=Kt,_.Icon=W,_.IconNames=$,_.IconSize=D,_.Input=Ge,_.InputSelect=Xt,_.InputSlider=qt,_.InputText=Yt,_.InputTextArea=Gt,_.LinkButton=St,_.LoadingDirective=At,_.Menu=$t,_.MenuAction=xt,_.Page=Ot,_.Paginator=Pt,_.Radio=Sn,_.ResizeDirective=Dt,_.SearchField=jt,_.Select=Xe,_.Separator=zt,_.Shell=Qt,_.ShellNavigation=Ye,_.ShellNavigationItem=Jt,_.Skeleton=Ht,_.Spinner=Ue,_.Tab=It,_.TabView=Ft,_.TextArea=qe,_.TooltipDirective=We,_.VjComponents=da,_.VjNavigationProviderKey=Zt,_.compactDirective=Lt,_.configureVueUI=wl,_.dialogService=on,_.getVueUIConfig=Ke,_.notificationService=ca,_.resetVueUIConfig=kl,_.useAsideService=nn,_.useDebounce=la,_.useDialog=ia,_.useFlow=ra,_.useRouterNavigationProvider=en,_.useStaticNavigationProvider=Zl,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(_,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(_=typeof globalThis<"u"?globalThis:_||self,e(_.VanjanaVueUi={},_.Vue,_.VueRouter))})(this,(function(_,e,et){"use strict";const S=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},dn={},fn={class:"button-bar"},un={class:"left"},mn={class:"right"};function pn(t,o){return e.openBlock(),e.createElementBlock("div",fn,[e.createElementVNode("div",un,[e.renderSlot(t.$slots,"left",{},void 0,!0)]),e.createElementVNode("div",mn,[e.renderSlot(t.$slots,"default",{},void 0,!0)])])}const tt=S(dn,[["render",pn],["__scopeId","data-v-45a6ed1a"]]);var $=(t=>(t.HOME="fa-regular fa-house",t.DASHBOARD="fa-solid fa-gauge",t.MENU="fa-solid fa-bars",t.DOT_MENU="fa-solid fa-ellipsis-vertical",t.BACK="fa-regular fa-hand-point-left",t.LOGOUT="fa-solid fa-right-from-bracket",t.CHEVRON_LEFT="fa-solid fa-chevron-left",t.CHEVRON_RIGHT="fa-solid fa-chevron-right",t.CHEVRON_UP="fa-solid fa-chevron-up",t.CHEVRON_DOWN="fa-solid fa-chevron-down",t.PREVIOUS="fa-solid fa-angle-left",t.FIRST="fa-solid fa-angles-left",t.NEXT="fa-solid fa-angle-right",t.LAST="fa-solid fa-angles-right",t.USER="fa-regular fa-user-circle",t.CHARACTER="fa-solid fa-person",t.SETTINGS="fa-solid fa-gear",t.ADD="fa-regular fa-plus",t.EDIT="fa-solid fa-pen",t.REMOVE="fa-regular fa-trash-can",t.DELETE="fa-regular fa-trash-can",t.SHARE="fa-solid fa-share-nodes",t.SORT="fa-regular fa-arrow-up-arrow-down",t.CLOSE="fa-regular fa-circle-xmark",t.SAVE="fa-regular fa-floppy-disk",t.COPY="fa-regular fa-copy",t.DUPLICATE="fa-regular fa-clone",t.CUT="fa-solid fa-scissors",t.PASTE="fa-regular fa-clipboard",t.REFRESH="fa-solid fa-rotate-right",t.RELOAD="fa-solid fa-arrows-rotate",t.PRINT="fa-solid fa-print",t.FILTER="fa-solid fa-filter",t.UNDO="fa-solid fa-rotate-left",t.REDO="fa-solid fa-rotate-right",t.PIN="fa-solid fa-thumbtack",t.EXPAND="fa-solid fa-expand",t.COLLAPSE="fa-solid fa-compress",t.EXTERNAL_LINK="fa-solid fa-arrow-up-right-from-square",t.INFO="fa-solid fa-circle-info",t.WARNING="fa-solid fa-triangle-exclamation",t.ERROR="fa-regular fa-circle-xmark",t.CHECK="fa-regular fa-circle-check",t.LOVE="fa-regular fa-heart",t.STAR="fa-regular fa-star",t.STAR_FILLED="fa-solid fa-star",t.HELP="fa-regular fa-circle-question",t.QUESTION="fa-solid fa-question",t.PROJECT="fa-regular fa-folder-open",t.FOLDER="fa-regular fa-folder",t.FILE_TEXT="fa-regular fa-file-lines",t.UPLOAD="fa-solid fa-cloud-arrow-up",t.DOWNLOAD="fa-solid fa-cloud-arrow-down",t.ATTACHMENT="fa-solid fa-paperclip",t.LINK="fa-solid fa-link",t.TAG="fa-solid fa-tag",t.TAGS="fa-solid fa-tags",t.SEARCH="fa-solid fa-magnifying-glass",t.MESSAGE_SQUARE="fa-regular fa-message",t.MAIL="fa-regular fa-envelope",t.SHOPPING_BAG="fa-regular fa-bag-shopping",t.COMMENT="fa-regular fa-comment",t.COMMENTS="fa-regular fa-comments",t.CALENDAR="fa-regular fa-calendar",t.CALENDAR_DAY="fa-solid fa-calendar-day",t.CLOCK="fa-regular fa-clock",t.HISTORY="fa-solid fa-clock-rotate-left",t.LOCK="fa-solid fa-lock",t.UNLOCK="fa-solid fa-lock-open",t.EYE="fa-regular fa-eye",t.EYE_SLASH="fa-regular fa-eye-slash",t.SHIELD="fa-solid fa-shield",t.LIST="fa-solid fa-list",t.GRID="fa-solid fa-grid",t.TABLE="fa-solid fa-table",t.COLUMNS="fa-solid fa-columns",t.BELL="fa-regular fa-bell",t.IMAGE="fa-regular fa-image",t))($||{}),D=(t=>(t.S="icon-size-s",t.M="icon-size-m",t.L="icon-size-l",t))(D||{});const W=e.defineComponent({__name:"icon",props:{icon:{},size:{}},setup(t){const o=t,n=D.M,l=e.computed(()=>`${o.icon} ${o.size??n}`);return(a,r)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(l.value)},null,2))}}),hn=["disabled"],he=S(e.defineComponent({__name:"button",props:{label:{},icon:{},primary:{type:Boolean},secondary:{type:Boolean},tertiary:{type:Boolean},disabled:{type:Boolean}},setup(t){const o=t,n=D.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary"),a=e.computed(()=>!o.label&&!!o.icon);return(r,i)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["button",l.value,{"icon-only":a.value}]),disabled:t.disabled},[t.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],10,hn))}}),[["__scopeId","data-v-f31c33cf"]]),gn={key:0,class:"header-actions"},bn={key:0},ge=S(e.defineComponent({__name:"card",props:{header:{},scrollable:{type:Boolean}},setup(t){const o=e.useSlots();return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{scrollable:t.scrollable}])},[e.createElementVNode("header",null,[e.createElementVNode("h3",null,e.toDisplayString(t.header),1),e.unref(o).headerActions?(e.openBlock(),e.createElementBlock("span",gn,[e.renderSlot(n.$slots,"headerActions",{},void 0,!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("main",null,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),e.unref(o).footer?(e.openBlock(),e.createElementBlock("footer",bn,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-ec6ab562"]]),yn=["aria-label"],wn={key:0,class:"carousel-indicators"},kn=S(e.defineComponent({__name:"carousel",props:{autoplay:{type:Boolean},interval:{},loop:{type:Boolean},pauseOnHover:{type:Boolean},startIndex:{},ariaLabel:{}},setup(t){const o=t,n=o.autoplay??!1,l=o.interval??4e3,a=o.loop??!0,r=o.pauseOnHover??!0,i=o.startIndex??0,c=o.ariaLabel??"Carousel",d=e.ref(Math.max(0,i)),s=e.ref(null),f=e.ref(null),u=e.ref(0),m=e.ref(0);let p=!1;const h=e.ref(0),k=e.ref(!1);let g=null,y=null;const w=e.ref(null),b=e.ref(null),E=()=>{h.value=s.value?s.value.children.length:0,h.value===0?d.value=0:d.value>=h.value&&(d.value=a?0:h.value-1),L()},x=e.computed(()=>u.value>0?{transform:`translateX(${-d.value*u.value+m.value}px)`}:{transform:`translateX(-${d.value*100}%)`}),L=()=>{s.value&&Array.from(s.value.children).forEach((B,ee)=>{try{ee===d.value?B.removeAttribute("aria-hidden"):B.setAttribute("aria-hidden","true")}catch{}})},V=()=>{C(),!(!n||h.value<=1)&&(r&&k.value||(g=setTimeout(()=>{R(),V()},l)))},C=()=>{g&&(clearTimeout(g),g=null)},v=()=>{h.value!==0&&(d.value<=0?d.value=a?h.value-1:0:d.value--)},R=()=>{h.value!==0&&(d.value>=h.value-1?d.value=a?0:h.value-1:d.value++)},T=B=>{B<0||B>=h.value||(d.value=B)},X=()=>{k.value=!0,r&&C()},q=()=>{k.value=!1,V()},G=B=>{B.key==="ArrowLeft"?v():B.key==="ArrowRight"&&R()};let se=0,j=0;const U=B=>{se=B.touches[0].clientX,j=0},N=B=>{j=B.touches[0].clientX-se},z=()=>{j>50?v():j<-50&&R(),j=0};let Re=0;const ln=B=>{if(B.isPrimary!==!1&&!(B.pointerType==="mouse"&&B.button!==0)){p=!0,Re=B.clientX,m.value=0,C();try{B.target?.setPointerCapture?.(B.pointerId)}catch{}}},an=B=>{p&&(m.value=B.clientX-Re,B.preventDefault())},rn=()=>{if(!p)return;p=!1;const B=Math.max(50,u.value*.15);m.value>B?v():m.value<-B&&R(),m.value=0,V()},sn=B=>{try{B.target?.releasePointerCapture?.(B.pointerId)}catch{}rn()},cn=()=>rn();return e.onMounted(()=>{e.nextTick(()=>{if(E(),s.value&&(y=new MutationObserver(E),y.observe(s.value,{childList:!0}),s.value.addEventListener("touchstart",U,{passive:!0}),s.value.addEventListener("touchmove",N,{passive:!0}),s.value.addEventListener("touchend",z)),f.value){const B=()=>{u.value=f.value?f.value.clientWidth:0};B();const ee=window.ResizeObserver;if(ee&&f.value){const te=new ee(()=>B());te.observe(f.value),w.value=te}else window.addEventListener("resize",B),b.value=B;f.value&&(f.value.addEventListener("pointerdown",ln),f.value.addEventListener("pointermove",an),f.value.addEventListener("pointerup",sn),f.value.addEventListener("pointercancel",cn))}L(),V()})}),e.onBeforeUnmount(()=>{C(),y&&s.value&&y.disconnect(),s.value&&(s.value.removeEventListener("touchstart",U),s.value.removeEventListener("touchmove",N),s.value.removeEventListener("touchend",z)),f.value&&(w.value&&w.value.disconnect&&w.value.disconnect(),b.value&&window.removeEventListener("resize",b.value),f.value.removeEventListener("pointerdown",ln),f.value.removeEventListener("pointermove",an),f.value.removeEventListener("pointerup",sn),f.value.removeEventListener("pointercancel",cn))}),e.watch([d,()=>h.value],()=>{L()}),e.watch([()=>k.value,d],()=>{V()}),(B,ee)=>{const te=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("div",{class:"carousel",role:"region","aria-roledescription":"carousel","aria-label":e.unref(c),tabindex:"0",onKeydown:G,onMouseenter:X,onMouseleave:q},[e.createElementVNode("div",{class:"carousel-window",ref_key:"windowRef",ref:f},[e.createElementVNode("div",{class:"carousel-track",ref_key:"track",ref:s,style:e.normalizeStyle(x.value)},[e.renderSlot(B.$slots,"default",{},void 0,!0)],4)],512),e.createVNode(te,{class:"carousel-btn prev",icon:e.unref($).PREVIOUS,onClick:v,type:"button","aria-label":"Previous slide"},null,8,["icon"]),e.createVNode(te,{class:"carousel-btn next",icon:e.unref($).NEXT,onClick:R,type:"button","aria-label":"Next slide"},null,8,["icon"]),h.value>1?(e.openBlock(),e.createElementBlock("div",wn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,pe=>(e.openBlock(),e.createBlock(te,{key:pe-1,class:e.normalizeClass(["indicator",{active:pe-1===d.value}]),onClick:Ia=>T(pe-1),"aria-current":pe-1===d.value,"aria-label":`Go to slide ${pe}`,type:"button"},null,8,["class","onClick","aria-current","aria-label"]))),128))])):e.createCommentVNode("",!0)],40,yn)}}}),[["__scopeId","data-v-232abca2"]]),_n={class:"checkbox"},Vn=["checked","disabled"],Cn={key:0,class:"checkbox-label"},nt=S(e.defineComponent({__name:"checkbox",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=l=>{const a=l.target;o.value=a.checked};return(l,a)=>(e.openBlock(),e.createElementBlock("label",_n,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"checkbox-input"},null,40,Vn),a[0]||(a[0]=e.createElementVNode("span",{class:"checkbox-box"},[e.createElementVNode("svg",{class:"checkbox-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{class:"checkbox-check",d:"M5 12L10 17L20 7",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),t.label?(e.openBlock(),e.createElementBlock("span",Cn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-d44b45ff"]]),En={class:"radio"},Bn=["checked","disabled"],vn={key:0,class:"radio-label"},Sn=S(e.defineComponent({__name:"radio",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=l=>{const a=l.target;o.value=a.checked};return(l,a)=>(e.openBlock(),e.createElementBlock("label",En,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"radio-input"},null,40,Bn),a[0]||(a[0]=e.createElementVNode("span",{class:"radio-box"},[e.createElementVNode("span",{class:"radio-dot","aria-hidden":"true"})],-1)),t.label?(e.openBlock(),e.createElementBlock("span",vn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f9e4bb65"]]),xn={class:"chip__label"},Te=S(e.defineComponent({__name:"chip",props:e.mergeModels({label:{},dismissable:{type:Boolean},color:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","dismiss","click"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),a=o,r=n.dismissable??!1,i=e.computed(()=>{const d={};return n.color&&(d.color=`var(--on-surface-${n.color})`,d.background=`var(--surface-${n.color})`),d}),c=()=>{a("dismiss",l.value)};return(d,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["chip",{"chip--dismissable":e.unref(r)}]),style:e.normalizeStyle(i.value),onClick:s[0]||(s[0]=f=>d.$emit("click"))},[e.createElementVNode("span",xn,e.toDisplayString(t.label),1),e.unref(r)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"chip__close",type:"button",onClick:e.withModifiers(c,["stop"]),"aria-label":"Dismiss"},[e.createVNode(W,{icon:e.unref($).CLOSE,size:e.unref(D).S},null,8,["icon","size"])])):e.createCommentVNode("",!0)],6))}}),[["__scopeId","data-v-c2014a3b"]]),$n={class:"chip-group"},Ln={key:0,class:"chip-group__label"},Rn={class:"chip-group__container"},Tn=["onDragover","onDrop"],Dn=["onDragstart","onDragover","onDragenter","onDrop"],Nn=["onDragover","onDrop"],An={key:1,class:"chip-group__hint"},De=S(e.defineComponent({__name:"chip-group",props:{items:{default:()=>[]},label:{},hint:{},dismissable:{type:Boolean,default:!0},color:{},itemKey:{default:"value"},itemLabel:{default:"label"}},emits:["update:items","reorder","dismiss","chip-click"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),r=e.ref(null);function i(g,y){return typeof g=="string"?`${g}-${y}`:g[n.itemKey]!==void 0?String(g[n.itemKey]):`item-${y}`}function c(g){return typeof g=="string"?g:g[n.itemLabel]!==void 0?String(g[n.itemLabel]):String(g.value||"")}function d(g,y){a.value=g,y.dataTransfer&&(y.dataTransfer.effectAllowed="move",y.dataTransfer.setData("text/plain",String(g)))}function s(g,y){a.value===null||a.value===g||(y.preventDefault(),y.dataTransfer&&(y.dataTransfer.dropEffect="move"))}function f(g){a.value===null||a.value===g||(r.value=g)}function u(){}function m(g,y){return a.value===null||r.value===null||a.value===g?!1:y==="before"&&r.value===g&&a.value>g||y==="after"&&r.value===g&&a.value<g}function p(g,y){if(y.preventDefault(),a.value===null||a.value===g)return;const w=[...n.items],b=w[a.value];w.splice(a.value,1),w.splice(g,0,b),l("update:items",w),l("reorder",w)}function h(){a.value=null,r.value=null}function k(g){const y=n.items[g],w=n.items.filter((b,E)=>E!==g);l("update:items",w),l("dismiss",y,g)}return(g,y)=>(e.openBlock(),e.createElementBlock("div",$n,[t.label?(e.openBlock(),e.createElementBlock("label",Ln,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Rn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(w,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i(w,b)},[m(b,"before")?(e.openBlock(),e.createElementBlock("div",{key:0,class:"chip-group__drop-indicator",onDragover:e.withModifiers(E=>s(b,E),["prevent"]),onDrop:E=>p(b,E)},null,40,Tn)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["chip-group__item",{"chip-group__item--dragging":a.value===b}]),draggable:"true",onDragstart:E=>d(b,E),onDragover:e.withModifiers(E=>s(b,E),["prevent"]),onDragenter:e.withModifiers(E=>f(b),["prevent"]),onDragleave:u,onDrop:E=>p(b,E),onDragend:h},[e.createVNode(Te,{label:c(w),dismissable:typeof w=="string"?t.dismissable:w.dismissable??t.dismissable,color:typeof w=="string"?t.color:w.color??t.color,onDismiss:E=>k(b),onClick:E=>g.$emit("chip-click",w,b)},null,8,["label","dismissable","color","onDismiss","onClick"])],42,Dn),m(b,"after")?(e.openBlock(),e.createElementBlock("div",{key:1,class:"chip-group__drop-indicator",onDragover:e.withModifiers(E=>s(b,E),["prevent"]),onDrop:E=>p(b,E)},null,40,Nn)):e.createCommentVNode("",!0)],64))),128))]),t.hint?(e.openBlock(),e.createElementBlock("div",An,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-66199d19"]]),Mn={class:"dialog-content"},On={key:1},Pn={class:"dialog-footer"},be=S(e.defineComponent({__name:"dialog",props:{modelValue:{type:Boolean,default:!1},title:{},message:{},component:{},componentProps:{},showFooter:{type:Boolean,default:!1},showCancel:{type:Boolean,default:!0},confirmText:{default:"OK"},cancelText:{default:"Abbrechen"},closeOnBackdrop:{type:Boolean,default:!1},closeOnEscape:{type:Boolean,default:!0}},emits:["update:modelValue","confirm","cancel","close"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,f=>a.value=f);const r=()=>{a.value=!1,l("update:modelValue",!1),l("close")},i=()=>{l("confirm"),r()},c=()=>{l("cancel"),r()},d=()=>{n.closeOnBackdrop&&r()},s=f=>{f.key==="Escape"&&n.closeOnEscape&&a.value&&r()};return e.onMounted(()=>{document.addEventListener("keydown",s)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",s)}),(f,u)=>{const m=e.resolveComponent("VjIcon"),p=e.resolveComponent("VjButton"),h=e.resolveComponent("VjCard");return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"dialog-fade"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-backdrop",onClick:d},[e.createVNode(e.Transition,{name:"dialog-scale"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-wrapper",onClick:u[0]||(u[0]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(h,{class:"dialog-card",header:t.title||""},e.createSlots({headerActions:e.withCtx(()=>[e.createVNode(m,{icon:e.unref($).CLOSE,size:e.unref(D).S,class:"dialog-close",onClick:r},null,8,["icon","size"])]),default:e.withCtx(()=>[e.createElementVNode("div",Mn,[t.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),e.mergeProps({key:0},t.componentProps,{onClose:r}),null,16)):t.message?(e.openBlock(),e.createElementBlock("div",On,e.toDisplayString(t.message),1)):e.renderSlot(f.$slots,"default",{key:2},void 0,!0)])]),_:2},[t.showFooter?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",Pn,[e.renderSlot(f.$slots,"footer",{},()=>[t.showCancel?(e.openBlock(),e.createBlock(p,{key:0,secondary:"",onClick:c,label:t.cancelText},null,8,["label"])):e.createCommentVNode("",!0),e.createVNode(p,{primary:"",onClick:i,label:t.confirmText},null,8,["label"])],!0)])]),key:"0"}:void 0]),1032,["header"])])):e.createCommentVNode("",!0)]),_:3})])):e.createCommentVNode("",!0)]),_:3})])}}}),[["__scopeId","data-v-6af510b3"]]),jn={class:"vj-chip-selector"},zn={class:"options-grid"},Fn=["onClick"],In={key:0,class:"no-options"},ot=S(e.defineComponent({__name:"chip-selector",props:{items:{default:()=>[]},label:{default:""},hint:{default:""},options:{},dialogTitle:{},addButtonText:{default:"+ Add..."}},emits:["update:items"],setup(t,{emit:o}){const n=t,l=o,a=e.ref([...n.items]),r=e.ref(!1),i=e.computed(()=>n.options.filter(s=>!a.value.includes(s.value)));function c(s){const f=s;a.value=f,l("update:items",f)}function d(s){if(!a.value.includes(s)){const f=[...a.value,s];a.value=f,l("update:items",f)}}return e.watch(()=>n.items,s=>{JSON.stringify(s)!==JSON.stringify(a.value)&&(a.value=[...s])},{deep:!0}),(s,f)=>(e.openBlock(),e.createElementBlock("div",jn,[e.createVNode(De,{items:a.value,"onUpdate:items":[f[0]||(f[0]=u=>a.value=u),c],label:t.label,hint:t.hint},null,8,["items","label","hint"]),e.createElementVNode("button",{type:"button",class:"add-button",onClick:f[1]||(f[1]=u=>r.value=!0)},e.toDisplayString(t.addButtonText),1),e.createVNode(be,{modelValue:r.value,"onUpdate:modelValue":f[2]||(f[2]=u=>r.value=u),title:t.dialogTitle||`Add ${t.label}`,"close-on-backdrop":""},{default:e.withCtx(()=>[e.createElementVNode("div",zn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,u=>(e.openBlock(),e.createElementBlock("button",{key:u.value,type:"button",class:"option-btn",onClick:m=>d(u.value)},"+ "+e.toDisplayString(u.label),9,Fn))),128))]),i.value.length===0?(e.openBlock(),e.createElementBlock("div",In,"All options already selected")):e.createCommentVNode("",!0)]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-f2e1b880"]]),ne=Math.min,A=Math.max,ye=Math.round,we=Math.floor,F=t=>({x:t,y:t}),Hn={left:"right",right:"left",bottom:"top",top:"bottom"},Un={start:"end",end:"start"};function lt(t,o,n){return A(t,ne(o,n))}function ce(t,o){return typeof t=="function"?t(o):t}function Y(t){return t.split("-")[0]}function de(t){return t.split("-")[1]}function at(t){return t==="x"?"y":"x"}function it(t){return t==="y"?"height":"width"}const Wn=new Set(["top","bottom"]);function K(t){return Wn.has(Y(t))?"y":"x"}function rt(t){return at(K(t))}function Kn(t,o,n){n===void 0&&(n=!1);const l=de(t),a=rt(t),r=it(a);let i=a==="x"?l===(n?"end":"start")?"right":"left":l==="start"?"bottom":"top";return o.reference[r]>o.floating[r]&&(i=ke(i)),[i,ke(i)]}function Xn(t){const o=ke(t);return[Ne(t),o,Ne(o)]}function Ne(t){return t.replace(/start|end/g,o=>Un[o])}const st=["left","right"],ct=["right","left"],qn=["top","bottom"],Gn=["bottom","top"];function Yn(t,o,n){switch(t){case"top":case"bottom":return n?o?ct:st:o?st:ct;case"left":case"right":return o?qn:Gn;default:return[]}}function Jn(t,o,n,l){const a=de(t);let r=Yn(Y(t),n==="start",l);return a&&(r=r.map(i=>i+"-"+a),o&&(r=r.concat(r.map(Ne)))),r}function ke(t){return t.replace(/left|right|bottom|top/g,o=>Hn[o])}function Qn(t){return{top:0,right:0,bottom:0,left:0,...t}}function Zn(t){return typeof t!="number"?Qn(t):{top:t,right:t,bottom:t,left:t}}function _e(t){const{x:o,y:n,width:l,height:a}=t;return{width:l,height:a,top:n,left:o,right:o+l,bottom:n+a,x:o,y:n}}function dt(t,o,n){let{reference:l,floating:a}=t;const r=K(o),i=rt(o),c=it(i),d=Y(o),s=r==="y",f=l.x+l.width/2-a.width/2,u=l.y+l.height/2-a.height/2,m=l[c]/2-a[c]/2;let p;switch(d){case"top":p={x:f,y:l.y-a.height};break;case"bottom":p={x:f,y:l.y+l.height};break;case"right":p={x:l.x+l.width,y:u};break;case"left":p={x:l.x-a.width,y:u};break;default:p={x:l.x,y:l.y}}switch(de(o)){case"start":p[i]-=m*(n&&s?-1:1);break;case"end":p[i]+=m*(n&&s?-1:1);break}return p}const eo=async(t,o,n)=>{const{placement:l="bottom",strategy:a="absolute",middleware:r=[],platform:i}=n,c=r.filter(Boolean),d=await(i.isRTL==null?void 0:i.isRTL(o));let s=await i.getElementRects({reference:t,floating:o,strategy:a}),{x:f,y:u}=dt(s,l,d),m=l,p={},h=0;for(let k=0;k<c.length;k++){const{name:g,fn:y}=c[k],{x:w,y:b,data:E,reset:x}=await y({x:f,y:u,initialPlacement:l,placement:m,strategy:a,middlewareData:p,rects:s,platform:i,elements:{reference:t,floating:o}});f=w??f,u=b??u,p={...p,[g]:{...p[g],...E}},x&&h<=50&&(h++,typeof x=="object"&&(x.placement&&(m=x.placement),x.rects&&(s=x.rects===!0?await i.getElementRects({reference:t,floating:o,strategy:a}):x.rects),{x:f,y:u}=dt(s,m,d)),k=-1)}return{x:f,y:u,placement:m,strategy:a,middlewareData:p}};async function Ae(t,o){var n;o===void 0&&(o={});const{x:l,y:a,platform:r,rects:i,elements:c,strategy:d}=t,{boundary:s="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:m=!1,padding:p=0}=ce(o,t),h=Zn(p),g=c[m?u==="floating"?"reference":"floating":u],y=_e(await r.getClippingRect({element:(n=await(r.isElement==null?void 0:r.isElement(g)))==null||n?g:g.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(c.floating)),boundary:s,rootBoundary:f,strategy:d})),w=u==="floating"?{x:l,y:a,width:i.floating.width,height:i.floating.height}:i.reference,b=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c.floating)),E=await(r.isElement==null?void 0:r.isElement(b))?await(r.getScale==null?void 0:r.getScale(b))||{x:1,y:1}:{x:1,y:1},x=_e(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:w,offsetParent:b,strategy:d}):w);return{top:(y.top-x.top+h.top)/E.y,bottom:(x.bottom-y.bottom+h.bottom)/E.y,left:(y.left-x.left+h.left)/E.x,right:(x.right-y.right+h.right)/E.x}}const to=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var n,l;const{placement:a,middlewareData:r,rects:i,initialPlacement:c,platform:d,elements:s}=o,{mainAxis:f=!0,crossAxis:u=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:k=!0,...g}=ce(t,o);if((n=r.arrow)!=null&&n.alignmentOffset)return{};const y=Y(a),w=K(c),b=Y(c)===c,E=await(d.isRTL==null?void 0:d.isRTL(s.floating)),x=m||(b||!k?[ke(c)]:Xn(c)),L=h!=="none";!m&&L&&x.push(...Jn(c,k,h,E));const V=[c,...x],C=await Ae(o,g),v=[];let R=((l=r.flip)==null?void 0:l.overflows)||[];if(f&&v.push(C[y]),u){const G=Kn(a,i,E);v.push(C[G[0]],C[G[1]])}if(R=[...R,{placement:a,overflows:v}],!v.every(G=>G<=0)){var T,X;const G=(((T=r.flip)==null?void 0:T.index)||0)+1,se=V[G];if(se&&(!(u==="alignment"?w!==K(se):!1)||R.every(N=>K(N.placement)===w?N.overflows[0]>0:!0)))return{data:{index:G,overflows:R},reset:{placement:se}};let j=(X=R.filter(U=>U.overflows[0]<=0).sort((U,N)=>U.overflows[1]-N.overflows[1])[0])==null?void 0:X.placement;if(!j)switch(p){case"bestFit":{var q;const U=(q=R.filter(N=>{if(L){const z=K(N.placement);return z===w||z==="y"}return!0}).map(N=>[N.placement,N.overflows.filter(z=>z>0).reduce((z,Re)=>z+Re,0)]).sort((N,z)=>N[1]-z[1])[0])==null?void 0:q[0];U&&(j=U);break}case"initialPlacement":j=c;break}if(a!==j)return{reset:{placement:j}}}return{}}}},no=new Set(["left","top"]);async function oo(t,o){const{placement:n,platform:l,elements:a}=t,r=await(l.isRTL==null?void 0:l.isRTL(a.floating)),i=Y(n),c=de(n),d=K(n)==="y",s=no.has(i)?-1:1,f=r&&d?-1:1,u=ce(o,t);let{mainAxis:m,crossAxis:p,alignmentAxis:h}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return c&&typeof h=="number"&&(p=c==="end"?h*-1:h),d?{x:p*f,y:m*s}:{x:m*s,y:p*f}}const lo=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var n,l;const{x:a,y:r,placement:i,middlewareData:c}=o,d=await oo(o,t);return i===((n=c.offset)==null?void 0:n.placement)&&(l=c.arrow)!=null&&l.alignmentOffset?{}:{x:a+d.x,y:r+d.y,data:{...d,placement:i}}}}},ao=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){const{x:n,y:l,placement:a}=o,{mainAxis:r=!0,crossAxis:i=!1,limiter:c={fn:g=>{let{x:y,y:w}=g;return{x:y,y:w}}},...d}=ce(t,o),s={x:n,y:l},f=await Ae(o,d),u=K(Y(a)),m=at(u);let p=s[m],h=s[u];if(r){const g=m==="y"?"top":"left",y=m==="y"?"bottom":"right",w=p+f[g],b=p-f[y];p=lt(w,p,b)}if(i){const g=u==="y"?"top":"left",y=u==="y"?"bottom":"right",w=h+f[g],b=h-f[y];h=lt(w,h,b)}const k=c.fn({...o,[m]:p,[u]:h});return{...k,data:{x:k.x-n,y:k.y-l,enabled:{[m]:r,[u]:i}}}}}},io=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(o){var n,l;const{placement:a,rects:r,platform:i,elements:c}=o,{apply:d=()=>{},...s}=ce(t,o),f=await Ae(o,s),u=Y(a),m=de(a),p=K(a)==="y",{width:h,height:k}=r.floating;let g,y;u==="top"||u==="bottom"?(g=u,y=m===(await(i.isRTL==null?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(y=u,g=m==="end"?"top":"bottom");const w=k-f.top-f.bottom,b=h-f.left-f.right,E=ne(k-f[g],w),x=ne(h-f[y],b),L=!o.middlewareData.shift;let V=E,C=x;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(C=b),(l=o.middlewareData.shift)!=null&&l.enabled.y&&(V=w),L&&!m){const R=A(f.left,0),T=A(f.right,0),X=A(f.top,0),q=A(f.bottom,0);p?C=h-2*(R!==0||T!==0?R+T:A(f.left,f.right)):V=k-2*(X!==0||q!==0?X+q:A(f.top,f.bottom))}await d({...o,availableWidth:C,availableHeight:V});const v=await i.getDimensions(c.floating);return h!==v.width||k!==v.height?{reset:{rects:!0}}:{}}}};function Ve(){return typeof window<"u"}function Q(t){return Me(t)?(t.nodeName||"").toLowerCase():"#document"}function M(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function I(t){var o;return(o=(Me(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function Me(t){return Ve()?t instanceof Node||t instanceof M(t).Node:!1}function O(t){return Ve()?t instanceof Element||t instanceof M(t).Element:!1}function H(t){return Ve()?t instanceof HTMLElement||t instanceof M(t).HTMLElement:!1}function ft(t){return!Ve()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof M(t).ShadowRoot}const ro=new Set(["inline","contents"]);function fe(t){const{overflow:o,overflowX:n,overflowY:l,display:a}=P(t);return/auto|scroll|overlay|hidden|clip/.test(o+l+n)&&!ro.has(a)}const so=new Set(["table","td","th"]);function co(t){return so.has(Q(t))}const fo=[":popover-open",":modal"];function Ce(t){return fo.some(o=>{try{return t.matches(o)}catch{return!1}})}const uo=["transform","translate","scale","rotate","perspective"],mo=["transform","translate","scale","rotate","perspective","filter"],po=["paint","layout","strict","content"];function Oe(t){const o=Pe(),n=O(t)?P(t):t;return uo.some(l=>n[l]?n[l]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!o&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!o&&(n.filter?n.filter!=="none":!1)||mo.some(l=>(n.willChange||"").includes(l))||po.some(l=>(n.contain||"").includes(l))}function ho(t){let o=J(t);for(;H(o)&&!oe(o);){if(Oe(o))return o;if(Ce(o))return null;o=J(o)}return null}function Pe(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const go=new Set(["html","body","#document"]);function oe(t){return go.has(Q(t))}function P(t){return M(t).getComputedStyle(t)}function Ee(t){return O(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function J(t){if(Q(t)==="html")return t;const o=t.assignedSlot||t.parentNode||ft(t)&&t.host||I(t);return ft(o)?o.host:o}function ut(t){const o=J(t);return oe(o)?t.ownerDocument?t.ownerDocument.body:t.body:H(o)&&fe(o)?o:ut(o)}function ue(t,o,n){var l;o===void 0&&(o=[]),n===void 0&&(n=!0);const a=ut(t),r=a===((l=t.ownerDocument)==null?void 0:l.body),i=M(a);if(r){const c=je(i);return o.concat(i,i.visualViewport||[],fe(a)?a:[],c&&n?ue(c):[])}return o.concat(a,ue(a,[],n))}function je(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function mt(t){const o=P(t);let n=parseFloat(o.width)||0,l=parseFloat(o.height)||0;const a=H(t),r=a?t.offsetWidth:n,i=a?t.offsetHeight:l,c=ye(n)!==r||ye(l)!==i;return c&&(n=r,l=i),{width:n,height:l,$:c}}function ze(t){return O(t)?t:t.contextElement}function le(t){const o=ze(t);if(!H(o))return F(1);const n=o.getBoundingClientRect(),{width:l,height:a,$:r}=mt(o);let i=(r?ye(n.width):n.width)/l,c=(r?ye(n.height):n.height)/a;return(!i||!Number.isFinite(i))&&(i=1),(!c||!Number.isFinite(c))&&(c=1),{x:i,y:c}}const bo=F(0);function pt(t){const o=M(t);return!Pe()||!o.visualViewport?bo:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function yo(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==M(t)?!1:o}function Z(t,o,n,l){o===void 0&&(o=!1),n===void 0&&(n=!1);const a=t.getBoundingClientRect(),r=ze(t);let i=F(1);o&&(l?O(l)&&(i=le(l)):i=le(t));const c=yo(r,n,l)?pt(r):F(0);let d=(a.left+c.x)/i.x,s=(a.top+c.y)/i.y,f=a.width/i.x,u=a.height/i.y;if(r){const m=M(r),p=l&&O(l)?M(l):l;let h=m,k=je(h);for(;k&&l&&p!==h;){const g=le(k),y=k.getBoundingClientRect(),w=P(k),b=y.left+(k.clientLeft+parseFloat(w.paddingLeft))*g.x,E=y.top+(k.clientTop+parseFloat(w.paddingTop))*g.y;d*=g.x,s*=g.y,f*=g.x,u*=g.y,d+=b,s+=E,h=M(k),k=je(h)}}return _e({width:f,height:u,x:d,y:s})}function Be(t,o){const n=Ee(t).scrollLeft;return o?o.left+n:Z(I(t)).left+n}function ht(t,o){const n=t.getBoundingClientRect(),l=n.left+o.scrollLeft-Be(t,n),a=n.top+o.scrollTop;return{x:l,y:a}}function wo(t){let{elements:o,rect:n,offsetParent:l,strategy:a}=t;const r=a==="fixed",i=I(l),c=o?Ce(o.floating):!1;if(l===i||c&&r)return n;let d={scrollLeft:0,scrollTop:0},s=F(1);const f=F(0),u=H(l);if((u||!u&&!r)&&((Q(l)!=="body"||fe(i))&&(d=Ee(l)),H(l))){const p=Z(l);s=le(l),f.x=p.x+l.clientLeft,f.y=p.y+l.clientTop}const m=i&&!u&&!r?ht(i,d):F(0);return{width:n.width*s.x,height:n.height*s.y,x:n.x*s.x-d.scrollLeft*s.x+f.x+m.x,y:n.y*s.y-d.scrollTop*s.y+f.y+m.y}}function ko(t){return Array.from(t.getClientRects())}function _o(t){const o=I(t),n=Ee(t),l=t.ownerDocument.body,a=A(o.scrollWidth,o.clientWidth,l.scrollWidth,l.clientWidth),r=A(o.scrollHeight,o.clientHeight,l.scrollHeight,l.clientHeight);let i=-n.scrollLeft+Be(t);const c=-n.scrollTop;return P(l).direction==="rtl"&&(i+=A(o.clientWidth,l.clientWidth)-a),{width:a,height:r,x:i,y:c}}const gt=25;function Vo(t,o){const n=M(t),l=I(t),a=n.visualViewport;let r=l.clientWidth,i=l.clientHeight,c=0,d=0;if(a){r=a.width,i=a.height;const f=Pe();(!f||f&&o==="fixed")&&(c=a.offsetLeft,d=a.offsetTop)}const s=Be(l);if(s<=0){const f=l.ownerDocument,u=f.body,m=getComputedStyle(u),p=f.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,h=Math.abs(l.clientWidth-u.clientWidth-p);h<=gt&&(r-=h)}else s<=gt&&(r+=s);return{width:r,height:i,x:c,y:d}}const Co=new Set(["absolute","fixed"]);function Eo(t,o){const n=Z(t,!0,o==="fixed"),l=n.top+t.clientTop,a=n.left+t.clientLeft,r=H(t)?le(t):F(1),i=t.clientWidth*r.x,c=t.clientHeight*r.y,d=a*r.x,s=l*r.y;return{width:i,height:c,x:d,y:s}}function bt(t,o,n){let l;if(o==="viewport")l=Vo(t,n);else if(o==="document")l=_o(I(t));else if(O(o))l=Eo(o,n);else{const a=pt(t);l={x:o.x-a.x,y:o.y-a.y,width:o.width,height:o.height}}return _e(l)}function yt(t,o){const n=J(t);return n===o||!O(n)||oe(n)?!1:P(n).position==="fixed"||yt(n,o)}function Bo(t,o){const n=o.get(t);if(n)return n;let l=ue(t,[],!1).filter(c=>O(c)&&Q(c)!=="body"),a=null;const r=P(t).position==="fixed";let i=r?J(t):t;for(;O(i)&&!oe(i);){const c=P(i),d=Oe(i);!d&&c.position==="fixed"&&(a=null),(r?!d&&!a:!d&&c.position==="static"&&!!a&&Co.has(a.position)||fe(i)&&!d&&yt(t,i))?l=l.filter(f=>f!==i):a=c,i=J(i)}return o.set(t,l),l}function vo(t){let{element:o,boundary:n,rootBoundary:l,strategy:a}=t;const i=[...n==="clippingAncestors"?Ce(o)?[]:Bo(o,this._c):[].concat(n),l],c=i[0],d=i.reduce((s,f)=>{const u=bt(o,f,a);return s.top=A(u.top,s.top),s.right=ne(u.right,s.right),s.bottom=ne(u.bottom,s.bottom),s.left=A(u.left,s.left),s},bt(o,c,a));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function So(t){const{width:o,height:n}=mt(t);return{width:o,height:n}}function xo(t,o,n){const l=H(o),a=I(o),r=n==="fixed",i=Z(t,!0,r,o);let c={scrollLeft:0,scrollTop:0};const d=F(0);function s(){d.x=Be(a)}if(l||!l&&!r)if((Q(o)!=="body"||fe(a))&&(c=Ee(o)),l){const p=Z(o,!0,r,o);d.x=p.x+o.clientLeft,d.y=p.y+o.clientTop}else a&&s();r&&!l&&a&&s();const f=a&&!l&&!r?ht(a,c):F(0),u=i.left+c.scrollLeft-d.x-f.x,m=i.top+c.scrollTop-d.y-f.y;return{x:u,y:m,width:i.width,height:i.height}}function Fe(t){return P(t).position==="static"}function wt(t,o){if(!H(t)||P(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return I(t)===n&&(n=n.ownerDocument.body),n}function kt(t,o){const n=M(t);if(Ce(t))return n;if(!H(t)){let a=J(t);for(;a&&!oe(a);){if(O(a)&&!Fe(a))return a;a=J(a)}return n}let l=wt(t,o);for(;l&&co(l)&&Fe(l);)l=wt(l,o);return l&&oe(l)&&Fe(l)&&!Oe(l)?n:l||ho(t)||n}const $o=async function(t){const o=this.getOffsetParent||kt,n=this.getDimensions,l=await n(t.floating);return{reference:xo(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function Lo(t){return P(t).direction==="rtl"}const Ro={convertOffsetParentRelativeRectToViewportRelativeRect:wo,getDocumentElement:I,getClippingRect:vo,getOffsetParent:kt,getElementRects:$o,getClientRects:ko,getDimensions:So,getScale:le,isElement:O,isRTL:Lo};function _t(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function To(t,o){let n=null,l;const a=I(t);function r(){var c;clearTimeout(l),(c=n)==null||c.disconnect(),n=null}function i(c,d){c===void 0&&(c=!1),d===void 0&&(d=1),r();const s=t.getBoundingClientRect(),{left:f,top:u,width:m,height:p}=s;if(c||o(),!m||!p)return;const h=we(u),k=we(a.clientWidth-(f+m)),g=we(a.clientHeight-(u+p)),y=we(f),b={rootMargin:-h+"px "+-k+"px "+-g+"px "+-y+"px",threshold:A(0,ne(1,d))||1};let E=!0;function x(L){const V=L[0].intersectionRatio;if(V!==d){if(!E)return i();V?i(!1,V):l=setTimeout(()=>{i(!1,1e-7)},1e3)}V===1&&!_t(s,t.getBoundingClientRect())&&i(),E=!1}try{n=new IntersectionObserver(x,{...b,root:a.ownerDocument})}catch{n=new IntersectionObserver(x,b)}n.observe(t)}return i(!0),r}function ve(t,o,n,l){l===void 0&&(l={});const{ancestorScroll:a=!0,ancestorResize:r=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=l,s=ze(t),f=a||r?[...s?ue(s):[],...ue(o)]:[];f.forEach(y=>{a&&y.addEventListener("scroll",n,{passive:!0}),r&&y.addEventListener("resize",n)});const u=s&&c?To(s,n):null;let m=-1,p=null;i&&(p=new ResizeObserver(y=>{let[w]=y;w&&w.target===s&&p&&(p.unobserve(o),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var b;(b=p)==null||b.observe(o)})),n()}),s&&!d&&p.observe(s),p.observe(o));let h,k=d?Z(t):null;d&&g();function g(){const y=Z(t);k&&!_t(k,y)&&n(),k=y,h=requestAnimationFrame(g)}return n(),()=>{var y;f.forEach(w=>{a&&w.removeEventListener("scroll",n),r&&w.removeEventListener("resize",n)}),u?.(),(y=p)==null||y.disconnect(),p=null,d&&cancelAnimationFrame(h)}}const Se=lo,xe=ao,$e=to,Do=io,Vt=(t,o,n)=>{const l=new Map,a={platform:Ro,...n},r={...a.platform,_c:l};return eo(t,o,{...a,platform:r})};function No(t){return t!=null&&typeof t=="object"&&"$el"in t}function Ct(t){if(No(t)){const o=t.$el;return Me(o)&&Q(o)==="#comment"?null:o}return t}function me(t){return typeof t=="function"?t():e.unref(t)}function Et(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Bt(t,o){const n=Et(t);return Math.round(o*n)/n}function Ie(t,o,n){n===void 0&&(n={});const l=n.whileElementsMounted,a=e.computed(()=>{var V;return(V=me(n.open))!=null?V:!0}),r=e.computed(()=>me(n.middleware)),i=e.computed(()=>{var V;return(V=me(n.placement))!=null?V:"bottom"}),c=e.computed(()=>{var V;return(V=me(n.strategy))!=null?V:"absolute"}),d=e.computed(()=>{var V;return(V=me(n.transform))!=null?V:!0}),s=e.computed(()=>Ct(t.value)),f=e.computed(()=>Ct(o.value)),u=e.ref(0),m=e.ref(0),p=e.ref(c.value),h=e.ref(i.value),k=e.shallowRef({}),g=e.ref(!1),y=e.computed(()=>{const V={position:p.value,left:"0",top:"0"};if(!f.value)return V;const C=Bt(f.value,u.value),v=Bt(f.value,m.value);return d.value?{...V,transform:"translate("+C+"px, "+v+"px)",...Et(f.value)>=1.5&&{willChange:"transform"}}:{position:p.value,left:C+"px",top:v+"px"}});let w;function b(){if(s.value==null||f.value==null)return;const V=a.value;Vt(s.value,f.value,{middleware:r.value,placement:i.value,strategy:c.value}).then(C=>{u.value=C.x,m.value=C.y,p.value=C.strategy,h.value=C.placement,k.value=C.middlewareData,g.value=V!==!1})}function E(){typeof w=="function"&&(w(),w=void 0)}function x(){if(E(),l===void 0){b();return}if(s.value!=null&&f.value!=null){w=l(s.value,f.value,b);return}}function L(){a.value||(g.value=!1)}return e.watch([r,i,c,a],b,{flush:"sync"}),e.watch([s,f],x,{flush:"sync"}),e.watch(a,L,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(E),{x:e.shallowReadonly(u),y:e.shallowReadonly(m),strategy:e.shallowReadonly(p),placement:e.shallowReadonly(h),middlewareData:e.shallowReadonly(k),isPositioned:e.shallowReadonly(g),floatingStyles:y,update:b}}const vt=S(e.defineComponent({inheritAttrs:!1,__name:"dot-menu",props:{icon:{}},setup(t){const o=t,n=e.ref(!1),l=e.ref(null),a=e.ref(null),r=e.computed(()=>o.icon??$.DOT_MENU),{floatingStyles:i}=Ie(l,a,{placement:"bottom-end",middleware:[Se(8),$e(),xe({padding:8})],whileElementsMounted:ve}),c=()=>{n.value=!n.value},d=()=>{n.value=!1},s=f=>{const u=f.target;u&&(u.closest(".menu-action")||u.closest('[role="menuitem"]')||u.closest("a"))&&d()};return(f,u)=>{const m=e.resolveComponent("VjButton"),p=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["dot-menu-container",f.$attrs.class])},[e.createVNode(m,{ref_key:"buttonRef",ref:l,class:"dot-menu",tertiary:"",icon:r.value,onClick:c},null,8,["icon"]),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createBlock(p,{key:0,ref_key:"floatingRef",ref:a,style:e.normalizeStyle(e.unref(i)),class:"menu-dropdown",onClose:d,onClick:s},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:3})],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-backdrop",onClick:d})):e.createCommentVNode("",!0)]))],64)}}}),[["__scopeId","data-v-67bd71e4"]]),St=S(e.defineComponent({__name:"link-button",props:{label:{},icon:{},to:{},primary:{type:Boolean},secondary:{type:Boolean},tertiary:{type:Boolean},disabled:{type:Boolean}},setup(t){const o=t,n=D.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary");return(a,r)=>{const i=e.resolveComponent("router-link");return e.openBlock(),e.createBlock(i,{to:t.to,class:e.normalizeClass(["button",l.value]),disabled:t.disabled},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)]),_:1},8,["to","class","disabled"])}}}),[["__scopeId","data-v-bd3cf2f5"]]),Ao=["disabled"],Mo={class:"menu-action--icon"},xt=S(e.defineComponent({__name:"menu-action",props:{label:{},icon:{},disabled:{type:Boolean}},setup(t){const o=D.S;return(n,l)=>(e.openBlock(),e.createElementBlock("button",{class:"menu-action button tertiary",disabled:t.disabled},[e.createElementVNode("span",Mo,[t.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:t.icon,size:e.unref(o)},null,8,["icon","size"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",null,e.toDisplayString(t.label),1)],8,Ao))}}),[["__scopeId","data-v-07850995"]]),Oo={},Po={class:"menu"};function jo(t,o){return e.openBlock(),e.createElementBlock("div",Po,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const $t=S(Oo,[["render",jo],["__scopeId","data-v-259fec08"]]),Lt={mounted(t){t.classList.add("compact")},unmounted(t){t.classList.remove("compact")}},Rt=['input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]'].join(", ");function zo(t){const o=t.querySelectorAll(Rt);for(const n of Array.from(o))if(n.offsetParent!==null||n.getClientRects().length>0)return n;return null}const Tt={mounted(t,o){const n=typeof o.value=="number"?o.value:0,l=()=>{if(t.matches(Rt)){t.focus();return}const a=zo(t);a&&a.focus()};n>0?setTimeout(l,n):requestAnimationFrame(l)}};class He{static _instance=null;observer=null;targets=new Map;constructor(){this.init()}static get instance(){return this._instance||(this._instance=new He),this._instance}init(){typeof window<"u"&&"ResizeObserver"in window?this.observer=new ResizeObserver(o=>{for(const n of o)this.handleEntry(n)}):typeof window<"u"&&globalThis.addEventListener("resize",this.handleWindowResize)}handleWindowResize=()=>{for(const o of this.targets.keys()){const n=o.getBoundingClientRect(),l={target:o,contentRect:n};this.handleEntry(l)}};handleEntry(o){const n=this.targets.get(o.target);if(!n)return;const l=o.contentRect.width,a=o.contentRect.height,r=o.target;for(const i of n.callbacks)try{i(l,a,r)}catch(c){console.error("resize callback error",c)}if(n.breakpoints){const i=Object.keys(n.breakpoints).map(d=>Number(d)).filter(d=>!Number.isNaN(d)).sort((d,s)=>d-s);let c;for(const d of i)l>=d&&(c=n.breakpoints[d]);c!==n.currentClass&&(n.currentClass&&o.target.classList.remove(n.currentClass),c&&o.target.classList.add(c),n.currentClass=c)}}observe(o,n,l){const a=this.targets.get(o);if(a)n&&a.callbacks.add(n),l?.breakpoints&&(a.breakpoints=l.breakpoints);else{const r=new Set;n&&r.add(n),this.targets.set(o,{callbacks:r,breakpoints:l?.breakpoints}),this.observer&&this.observer.observe(o)}if(l?.immediate){const r=o.getBoundingClientRect(),i={target:o,contentRect:r};if(this.handleEntry(i),n){const c=r.width,d=r.height;n(c,d,o)}}}unobserve(o,n){const l=this.targets.get(o);l&&(n&&l.callbacks.delete(n),(!n||l.callbacks.size===0)&&(this.targets.delete(o),this.observer&&this.observer.unobserve(o),l.currentClass&&o.classList&&o.classList.remove(l.currentClass)))}}const ae=He.instance,Dt={mounted(t,o){const n=o.value,l=typeof n=="function"?n:n?.onResize,a=typeof n=="object"&&n?.breakpoints?n.breakpoints:void 0,r=typeof n=="object"&&!!n?.immediate,i=t;i.__resize_cb=l,i.__resize_breakpoints=a,l&&ae.observe(t,l,{breakpoints:a,immediate:r})},updated(t,o){const n=t,l=n.__resize_cb,a=n.__resize_breakpoints,r=o.value,i=typeof r=="function"?r:r?.onResize,c=typeof r=="object"&&r?.breakpoints?r.breakpoints:void 0;if(l!==i){l&&ae.unobserve(t,l),i&&ae.observe(t,i,{breakpoints:c,immediate:!!(r&&typeof r=="object"&&r.immediate)}),n.__resize_cb=i,n.__resize_breakpoints=c;return}JSON.stringify(a||{})!==JSON.stringify(c||{})&&(l&&ae.unobserve(t,l),i&&ae.observe(t,i,{breakpoints:c,immediate:!0}),n.__resize_breakpoints=c)},unmounted(t){const o=t,n=o.__resize_cb;n&&ae.unobserve(t,n),delete o.__resize_cb,delete o.__resize_breakpoints}},Fo={},Io={class:"spinner"};function Ho(t,o){return e.openBlock(),e.createElementBlock("div",Io)}const Ue=S(Fo,[["render",Ho],["__scopeId","data-v-b957fb82"]]),Uo=200,Wo=120;function Nt(t,o){const n=o.querySelector(".vj-loading-inner");if(!n)return;const l=t.clientHeight||t.getBoundingClientRect().height;n.classList.remove("vj-loading-inner--small","vj-loading-inner--minimal");const a=n.querySelector(".vj-loading-text");a&&a.classList.remove("vj-loading-text--hidden"),l<=Wo?(n.classList.add("vj-loading-inner--minimal"),a&&a.classList.add("vj-loading-text--hidden")):l<=Uo&&n.classList.add("vj-loading-inner--small")}const At={mounted(t,o){let n,l;if(typeof o.value=="object"&&o.value!==null){const m=o.value;n=!!(m.active??!0),l=m.text}else n=!!o.value,l=void 0;const a=getComputedStyle(t),r={overlay:document.createElement("div")};(a.position==="static"||!a.position)&&(r.originalPosition=t.style.position,t.style.position="relative");const i=r.overlay;i.className="vj-loading-overlay",n||i.classList.add("vj-loading-overlay--hidden");const c=document.createElement("div"),d=document.createElement("div");d.className="vj-loading-inner",d.appendChild(c);let s;l&&(s=document.createElement("div"),s.className="vj-loading-text",s.textContent=l,d.appendChild(s)),i.appendChild(d),Nt(t,i);const f=e.createVNode(Ue);e.render(f,c),r.spinnerVnode=f,r.spinnerContainer=c,n&&(t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"),t.appendChild(i);const u=t;u.__vjLoading=r},updated(t,o){const l=t.__vjLoading;if(!l)return;const{overlay:a}=l;let r,i;if(typeof o.value=="object"&&o.value!==null){const d=o.value;r=!!(d.active??!0),i=d.text}else r=!!o.value,i=void 0;r?(a.classList.remove("vj-loading-overlay--hidden"),t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"):(a.classList.add("vj-loading-overlay--hidden"),t.removeAttribute("aria-busy"),t.style.pointerEvents="");const c=a.querySelector(".vj-loading-inner");if(c){const d=c.querySelector(".vj-loading-text");if(d)i?d.textContent=i:d.remove();else if(i){const s=document.createElement("div");s.className="vj-loading-text",s.textContent=i,c.appendChild(s)}}Nt(t,a)},unmounted(t){const o=t,n=o.__vjLoading;if(!n)return;const{overlay:l,originalPosition:a}=n;try{n.spinnerContainer&&e.render(null,n.spinnerContainer)}catch{}l&&l.parentElement===t&&t.removeChild(l),a!==void 0&&(t.style.position=a),o.__vjLoading=void 0}},Ko=t=>{const o=document.createElement("div");return o.className="vj-tooltip",o.setAttribute("role","tooltip"),o.style.position="absolute",o.style.top="0",o.style.left="0",o.style.pointerEvents="none",o.style.zIndex="10000",o.textContent=t,o};function Mt(t){if(!t)return{content:"",placement:"top",delay:200};if(typeof t.value=="string")return{content:t.value,placement:"top",delay:200};const n=t.value||{},l=n.placement??"top";return{content:n.content??"",placement:l,delay:n.delay??200}}const We={mounted(t,o){const n=Mt(o),l=Ko(n.content);document.body.appendChild(l);const a={tooltip:l,cleanup:void 0,showTimer:null,hideTimer:null},r=async()=>{const p=await Vt(t,l,{placement:n.placement,middleware:[Se(6),$e(),xe({padding:8})]}),{x:h,y:k}=p;Object.assign(l.style,{left:`${h}px`,top:`${k}px`})},i=()=>{a.hideTimer&&window.clearTimeout(a.hideTimer),a.showTimer=window.setTimeout(()=>{l.classList.add("vj-tooltip--visible"),r(),a.cleanup=ve(t,l,r)},n.delay)},c=()=>{a.showTimer&&window.clearTimeout(a.showTimer),a.hideTimer=window.setTimeout(()=>{if(l.classList.remove("vj-tooltip--visible"),a.cleanup){try{a.cleanup()}catch{}a.cleanup=void 0}},50)},d=p=>{i()},s=p=>{c()},f=()=>i(),u=()=>c(),m=p=>{p.pointerType==="touch"&&(i(),a.docHandler=h=>{!l.contains(h.target)&&!t.contains(h.target)&&(c(),document.removeEventListener("pointerdown",a.docHandler),a.docHandler=void 0)},document.addEventListener("pointerdown",a.docHandler))};t.addEventListener("pointerenter",d),t.addEventListener("pointerleave",s),t.addEventListener("focus",f),t.addEventListener("blur",u),t.addEventListener("pointerdown",m),a.onPointerEnter=d,a.onPointerLeave=s,a.onFocus=f,a.onBlur=u,a.onPointerDown=m,t.__vjTooltip=a},updated(t,o){const n=t.__vjTooltip;if(!n)return;const l=Mt(o);n.tooltip.textContent=l.content},unmounted(t){const o=t.__vjTooltip;if(o){try{o.cleanup&&o.cleanup()}catch{}o.tooltip&&o.tooltip.parentElement&&o.tooltip.parentElement.removeChild(o.tooltip),o.onPointerEnter&&t.removeEventListener("pointerenter",o.onPointerEnter),o.onPointerLeave&&t.removeEventListener("pointerleave",o.onPointerLeave),o.onFocus&&t.removeEventListener("focus",o.onFocus),o.onBlur&&t.removeEventListener("blur",o.onBlur),o.onPointerDown&&t.removeEventListener("pointerdown",o.onPointerDown),o.docHandler&&document.removeEventListener("pointerdown",o.docHandler),t.__vjTooltip=void 0}}},Xo={class:"notification__icon"},qo={class:"notification__message"},Go={class:"notification__title"},Yo={class:"notification__text"},Jo=S(e.defineComponent({__name:"notification",props:{type:{},title:{},message:{}},emits:["close"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>{switch(n.type){case"success":return $.CHECK;case"warning":return $.WARNING;case"error":return $.ERROR;default:return $.INFO}}),r=()=>{l("close")};return(i,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["notification",`notification--${t.type}`]),onClick:r},[e.createElementVNode("div",Xo,[e.createVNode(W,{icon:a.value},null,8,["icon"])]),e.createElementVNode("div",qo,[e.createElementVNode("div",Go,e.toDisplayString(t.title),1),e.createElementVNode("div",Yo,e.toDisplayString(t.message),1)]),e.createVNode(he,{class:"notification__close compact",icon:e.unref($).CLOSE,onClick:e.withModifiers(r,["stop"]),tertiary:""},null,8,["icon"])],2))}}),[["__scopeId","data-v-ca4451c0"]]),Qo={class:"page"},Zo={class:"header-left"},el={class:"header-titles"},tl={key:0},nl={class:"header-actions"},ol={key:0,class:"page-error"},ll={key:1,class:"contents"},al={key:2,class:"actions"},il={key:3},rl={key:0},Ot=S(e.defineComponent({directives:{loading:At},__name:"page",props:{title:{},subTitle:{},backLabel:{},scrollable:{type:Boolean},errorMessage:{},flow:{},loadingMessage:{}},emits:["back"],setup(t,{emit:o}){const n=t,l=e.computed(()=>n.flow?.running?.value??!1),a=e.computed(()=>n.flow?.error?.value??null),r=e.computed(()=>n.errorMessage??(a.value?String(a.value):null));return(i,c)=>{const d=e.resolveComponent("VjButton"),s=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Qo,[e.createElementVNode("header",null,[e.createElementVNode("div",Zo,[t.backLabel?(e.openBlock(),e.createBlock(d,{key:0,tertiary:"",icon:e.unref($).BACK,onClick:c[0]||(c[0]=f=>i.$emit("back")),size:"small"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("div",el,[e.createElementVNode("h1",null,e.toDisplayString(t.title),1),t.subTitle?(e.openBlock(),e.createElementBlock("h2",tl,e.toDisplayString(t.subTitle),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",nl,[e.renderSlot(i.$slots,"headerActions",{},void 0,!0)])]),e.createElementVNode("main",{class:e.normalizeClass({scrollable:t.scrollable})},[r.value?(e.openBlock(),e.createElementBlock("div",ol,[e.renderSlot(i.$slots,"error",{},()=>[e.createVNode(Jo,{type:"error",title:r.value,message:r.value},null,8,["title","message"])],!0)])):e.createCommentVNode("",!0),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ll,[e.renderSlot(i.$slots,"default",{},void 0,!0)])),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",al,[e.renderSlot(i.$slots,"actions",{},void 0,!0)])),i.$slots.flexFooter?(e.openBlock(),e.createElementBlock("footer",il,[e.renderSlot(i.$slots,"flexFooter",{},void 0,!0)])):e.createCommentVNode("",!0)],2),i.$slots.footer?(e.openBlock(),e.createElementBlock("footer",rl,[e.renderSlot(i.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)])),[[s,{active:l.value,text:n.loadingMessage}]])}}}),[["__scopeId","data-v-3e724555"]]),sl={class:"paginator-info","aria-live":"polite"},Pt=S(e.defineComponent({__name:"paginator",props:e.mergeModels({totalItems:{},pageSize:{},labels:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),a=o,r=e.computed(()=>Math.max(1,Math.ceil((n.totalItems??0)/n.pageSize))),i=e.computed(()=>Math.min(Math.max(1,l.value??1),r.value)),c=e.computed(()=>i.value),d=e.computed(()=>i.value<=1),s=e.computed(()=>i.value>=r.value),f=e.computed(()=>n.labels?.item??"Eintrag"),u=e.computed(()=>n.labels?.of??"von"),m=y=>{const w=Math.min(Math.max(1,Math.floor(y)),r.value);w!==l.value&&(l.value=w,a("change",w))},p=()=>m(1),h=()=>m(i.value-1),k=()=>m(i.value+1),g=()=>m(r.value);return e.watch([()=>n.totalItems,()=>n.pageSize],()=>{l.value>r.value&&m(r.value)}),(y,w)=>{const b=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("nav",{class:"paginator","aria-label":"Pagination",onKeydown:w[0]||(w[0]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["enter"]))},[e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref($).FIRST,disabled:d.value,onClick:p,"aria-label":"First page"},null,8,["icon","disabled"]),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref($).PREVIOUS,disabled:d.value,onClick:h,"aria-label":"Previous page"},null,8,["icon","disabled"]),e.renderSlot(y.$slots,"info",{current:i.value,totalPages:r.value,goTo:m},()=>[e.createElementVNode("div",sl,e.toDisplayString(f.value)+" "+e.toDisplayString(c.value)+" "+e.toDisplayString(u.value)+" "+e.toDisplayString(r.value),1)],!0),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref($).NEXT,disabled:s.value,onClick:k,"aria-label":"Next page"},null,8,["icon","disabled"]),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref($).LAST,disabled:s.value,onClick:g,"aria-label":"Last page"},null,8,["icon","disabled"])],32)}}}),[["__scopeId","data-v-b6fa8efe"]]),cl={class:"search-field"},dl=["value","placeholder"],jt=S(e.defineComponent({__name:"search-field",props:e.mergeModels({placeholder:{default:"Search..."}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=r=>{o.value=r.target.value},l=()=>{o.value=""},a=e.computed(()=>!o.value);return(r,i)=>{const c=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",cl,[e.createVNode(c,{icon:e.unref($).SEARCH,size:e.unref(D).S},null,8,["icon","size"]),e.createElementVNode("input",{value:o.value,onInput:n,type:"text",placeholder:t.placeholder},null,40,dl),e.createVNode(c,{class:e.normalizeClass(["reset",{invisible:a.value}]),icon:e.unref($).CLOSE,size:e.unref(D).S,onClick:l},null,8,["class","icon","size"])])}}}),[["__scopeId","data-v-2771c8ed"]]),zt=S(e.defineComponent({__name:"separator",props:{vertical:{type:Boolean}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["separator",{vertical:t.vertical}])},null,2))}}),[["__scopeId","data-v-e354bb4e"]]),fl={class:"tab-view"},ul={ref:"headerRef",class:"tab-view-header"},ml=["onClick"],pl={class:"tab-view-content"},Ft=S(e.defineComponent({__name:"tab-view",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref([]),l=e.ref([]),a=e.ref({width:"0px",transform:"translateX(0px)"}),r=(s,f)=>{s&&(l.value[f]=s)},i=()=>{const s=n.value.findIndex(f=>f.name===o.value);if(s>=0&&l.value[s]){const f=l.value[s],u=f.offsetWidth,m=f.offsetLeft;a.value={width:`${u}px`,transform:`translateX(${m}px)`}}},c=(s,f)=>{n.value.find(u=>u.name===s)||(n.value.push({name:s,label:f}),e.nextTick(()=>{!o.value&&n.value.length===1&&(o.value=s),i()}))},d=s=>{o.value=s};return e.watch(o,()=>{e.nextTick(()=>{i()})}),e.provide("tabView",{activeTab:()=>o.value,registerTab:c}),(s,f)=>(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",ul,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(u,m)=>(e.openBlock(),e.createElementBlock("div",{key:u.name,ref_for:!0,ref:p=>r(p,m),class:e.normalizeClass(["tab-button",{active:o.value===u.name}]),onClick:p=>d(u.name)},e.toDisplayString(u.label),11,ml))),128)),f[0]||(f[0]=e.createElementVNode("div",{class:"tab-line"},null,-1)),e.createElementVNode("div",{class:"tab-indicator",style:e.normalizeStyle(a.value)},null,4)],512),e.createElementVNode("div",pl,[e.renderSlot(s.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-3d4ee454"]]),hl={key:0,class:"tab"},It=e.defineComponent({__name:"tab",props:{name:{},label:{}},setup(t){const o=t,n=e.inject("tabView"),l=e.computed(()=>n?.activeTab()===o.name);return e.onMounted(()=>{n?.registerTab(o.name,o.label)}),(a,r)=>l.value?(e.openBlock(),e.createElementBlock("div",hl,[e.renderSlot(a.$slots,"default")])):e.createCommentVNode("",!0)}}),gl=["onKeydown"],bl=S(e.defineComponent({__name:"editable-label",props:{modelValue:{},showIcon:{type:Boolean}},emits:["update:modelValue","edit"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>n.modelValue??""),r=e.ref(a.value),i=e.ref(!1),c=e.ref(!1),d=e.ref(null),s=e.computed(()=>!!n.showIcon);e.watch(a,p=>{r.value=p});function f(){i.value=!0,e.nextTick(()=>d.value?.focus())}function u(){i.value=!1,r.value!==a.value&&(l("update:modelValue",r.value),l("edit",r.value))}function m(){r.value=a.value,i.value=!1}return(p,h)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["vj-editable-label",{editing:i.value}]),onMouseenter:h[1]||(h[1]=k=>c.value=!0),onMouseleave:h[2]||(h[2]=k=>c.value=!1)},[i.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"inputRef",ref:d,class:"edit-input","onUpdate:modelValue":h[0]||(h[0]=k=>r.value=k),onKeydown:[e.withKeys(e.withModifiers(u,["prevent"]),["enter"]),e.withKeys(e.withModifiers(m,["prevent"]),["esc"])],onBlur:u},null,40,gl)),[[e.vModelText,r.value]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:"label-text",onClick:f,title:"Click to edit"},e.toDisplayString(a.value),1),c.value||s.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"edit-icon",onClick:e.withModifiers(f,["stop"])},[e.createVNode(W,{icon:e.unref($).EDIT},null,8,["icon"])])):e.createCommentVNode("",!0)],64))],34))}}),[["__scopeId","data-v-cdc52c5b"]]),yl="200% 200%",Ht=S(e.defineComponent({__name:"skeleton",props:{width:{},height:{},borderRadius:{}},setup(t){const o=t,n=e.computed(()=>o.width??"100%"),l=e.computed(()=>o.height??"16px"),a=e.computed(()=>o.borderRadius??"4px");return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-skeleton",style:e.normalizeStyle({width:n.value,height:l.value,borderRadius:a.value,backgroundSize:yl}),"aria-hidden":"true"},null,4))}}),[["__scopeId","data-v-ac05e016"]]),Ut={form:{labelPosition:"inline",appearance:"bordered"}};let Le={};function wl(t){Le={...Le,...t,form:{...Ut.form,...t.form}}}function Ke(){return{form:{...Ut.form,...Le.form}}}function kl(){Le={}}const _l=["data-colspan","data-newline"],Vl=["for"],Cl={class:"form-field__wrapper"},El=["for"],Bl={key:1,class:"form-field__error"},vl={key:2,class:"form-field__help",type:"button","aria-label":"Hilfe"},ie=S(e.defineComponent({directives:{tooltip:We},__name:"form-field",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{}},emits:["update:modelValue","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),r=e.ref(!1),i=e.computed(()=>`form-field-${n.id??Math.random().toString(36).slice(2)}`),c=e.computed(()=>n.labelPosition??Ke().form.labelPosition),d=e.computed(()=>n.appearance??Ke().form.appearance);e.watch(()=>n.modelValue,h=>a.value=h);const s=e.computed(()=>{if(c.value==="outline")return!0;const h=a.value!==""&&a.value!==null&&a.value!==void 0;return r.value||h}),f=e.computed(()=>c.value==="outline"||s.value?n.placeholder:"");function u(h){const g=h.target.value;a.value=g,l("update:modelValue",g)}function m(h){r.value=!0,l("focus",h)}function p(h){r.value=!1,l("blur",h)}return(h,k)=>{const g=e.resolveComponent("VjIcon"),y=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-field",`form-field--${c.value}`,`form-field--${d.value}`,{disabled:t.disabled},{labelless:!t.label},{error:!!t.error}]),"data-colspan":n.spanRow?void 0:n.colspan,"data-newline":n.spanRow||n.newLine?"true":void 0,style:e.normalizeStyle(n.spanRow?{gridColumn:"1 / -1"}:void 0)},[t.label&&c.value==="outline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-field__label-outline"},e.toDisplayString(t.label),9,Vl)):e.createCommentVNode("",!0),e.createElementVNode("div",Cl,[e.renderSlot(h.$slots,"control",{id:i.value,value:a.value,onInput:u,onFocus:m,onBlur:p,disabled:t.disabled,placeholder:f.value},void 0,!0),t.label&&c.value==="inline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:e.normalizeClass(["form-field__label",{"form-field__label--float":s.value}])},e.toDisplayString(t.label),11,El)):e.createCommentVNode("",!0)]),t.error?(e.openBlock(),e.createElementBlock("div",Bl,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),n.helpText?e.withDirectives((e.openBlock(),e.createElementBlock("button",vl,[e.createVNode(g,{icon:e.unref($).HELP},null,8,["icon"])])),[[y,n.helpText]]):e.createCommentVNode("",!0)],14,_l)}}}),[["__scopeId","data-v-19959d5e"]]),Wt=S(e.defineComponent({__name:"form-layout",props:{columns:{type:Number,default:4},gap:{type:String,default:"0.75rem"}},setup(t){const o=t,n=e.ref(null);let l=null;function a(){if(!n.value)return;Array.from(n.value.children).forEach(i=>{const c=i.getAttribute("data-colspan"),d=c?Math.max(1,Number(c)||1):1,s=i.getAttribute("data-newline");s!==null&&s!=="false"?i.style.gridColumn="1 / -1":i.style.gridColumn=`span ${d}`})}return e.onMounted(()=>{e.nextTick(()=>{a(),n.value&&(l=new MutationObserver(()=>a()),l.observe(n.value,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["data-colspan","data-newline"]}))})}),e.onBeforeUnmount(()=>{l?.disconnect()}),e.watch(()=>o.columns,()=>e.nextTick(a)),e.watch(()=>o.gap,()=>e.nextTick(a)),(r,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:n,class:"form-layout",style:e.normalizeStyle({gridTemplateColumns:`repeat(${t.columns}, minmax(0, 1fr))`,gap:t.gap})},[e.renderSlot(r.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-96f62ab7"]]),Sl={key:0,class:"form-section__title","data-newline":""},Kt=S(e.defineComponent({__name:"form-section",props:{title:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.title?(e.openBlock(),e.createElementBlock("h3",Sl,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},void 0,!0)],64))}}),[["__scopeId","data-v-69cff1d0"]]),xl=["id","disabled"],$l={class:"select-value"},Ll={key:1,class:"select-placeholder"},Rl={class:"select-options"},Tl=["onClick","onMouseenter"],Xe=S(e.defineComponent({inheritAttrs:!1,__name:"select",props:e.mergeModels({options:{},placeholder:{},disabled:{type:Boolean},optionLabel:{type:Function},id:{},optionValue:{type:Function},icon:{},clearable:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:o}){const n=t,l=e.useModel(t,"modelValue"),a=e.ref(!1),r=e.ref(-1),i=e.ref(null),c=e.ref(null),d=e.ref(null),{floatingStyles:s}=Ie(c,d,{placement:"bottom-start",middleware:[Se(4),$e(),xe({padding:8}),Do({apply({rects:b,elements:E}){Object.assign(E.floating.style,{minWidth:`${b.reference.width}px`})}})],whileElementsMounted:ve}),f=b=>n.optionLabel?typeof n.optionLabel=="function"?n.optionLabel(b):String(b[n.optionLabel]):String(b),u=b=>n.optionValue?typeof n.optionValue=="function"?n.optionValue(b):b[n.optionValue]:b,m=e.computed(()=>n.options.find(b=>u(b)===l.value)),p=b=>u(b)===l.value,h=()=>{n.disabled||(a.value=!a.value)},k=()=>{a.value=!1,r.value=-1},g=b=>{l.value=u(b),k()},y=()=>{l.value=void 0},w=b=>{a.value&&i.value&&!i.value.contains(b.target)&&k()};return e.onMounted(()=>{document.addEventListener("click",w)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",w)}),e.watch(a,b=>{b&&m.value&&(r.value=n.options.findIndex(E=>p(E)))}),o({focus:()=>c.value?.focus(),blur:()=>c.value?.blur()}),(b,E)=>{const x=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"selectRef",ref:i,class:e.normalizeClass(["select",b.$attrs.class])},[e.createElementVNode("button",{ref_key:"buttonRef",ref:c,type:"button",class:"select-trigger",id:n.id,onClick:h,disabled:t.disabled},[n.icon?(e.openBlock(),e.createBlock(x,{key:0,icon:n.icon,size:e.unref(D).S,class:"select-icon-left"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("span",$l,[m.value?e.renderSlot(b.$slots,"selected",{key:0,option:m.value},()=>[e.createTextVNode(e.toDisplayString(f(m.value)),1)],!0):(e.openBlock(),e.createElementBlock("span",Ll,e.toDisplayString(t.placeholder),1))]),n.clearable&&m.value&&!t.disabled?(e.openBlock(),e.createBlock(x,{key:1,icon:e.unref($).CLOSE,size:e.unref(D).S,class:"select-clear-icon",onClick:e.withModifiers(y,["stop"])},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createVNode(x,{icon:e.unref($).CHEVRON_DOWN,size:e.unref(D).S,class:e.normalizeClass(["select-icon-right",{open:a.value}])},null,8,["icon","size","class"])],8,xl),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"floatingRef",ref:d,style:e.normalizeStyle(e.unref(s)),class:"select-dropdown"},[e.createElementVNode("div",Rl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(L,V)=>(e.openBlock(),e.createElementBlock("div",{key:String(u(L)),class:e.normalizeClass(["select-option",{selected:p(L),highlighted:r.value===V}]),onClick:C=>g(L),onMouseenter:C=>r.value=V},[e.renderSlot(b.$slots,"option",{option:L,selected:p(L)},()=>[e.createTextVNode(e.toDisplayString(f(L)),1)],!0)],42,Tl))),128))])],4)):e.createCommentVNode("",!0)]),_:3})],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"select-backdrop",onClick:k})):e.createCommentVNode("",!0)]))],64)}}}),[["__scopeId","data-v-fc22f0e9"]]),Xt=e.defineComponent({__name:"input-select",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},options:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,i=>{a.value=i});const r=i=>{a.value=i,l("update:modelValue",i)};return(i,c)=>(e.openBlock(),e.createBlock(ie,{modelValue:a.value,"onUpdate:modelValue":r,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error,helpText:n.helpText,labelPosition:n.labelPosition,appearance:n.appearance},{control:e.withCtx(({id:d,disabled:s,placeholder:f})=>[e.createVNode(Xe,{id:d,modelValue:a.value,"onUpdate:modelValue":[c[0]||(c[0]=u=>a.value=u),r],options:n.options,placeholder:f,disabled:s,"option-label":u=>u.label,"option-value":u=>u.value,clearable:""},e.createSlots({_:2},[i.$slots.selected?{name:"selected",fn:e.withCtx(({option:u})=>[e.renderSlot(i.$slots,"selected",{option:u})]),key:"0"}:void 0,i.$slots.option?{name:"option",fn:e.withCtx(({option:u})=>[e.renderSlot(i.$slots,"option",{option:u})]),key:"1"}:void 0]),1032,["id","modelValue","options","placeholder","disabled","option-label","option-value"])]),_:3},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","helpText","labelPosition","appearance"]))}}),Dl=["aria-valuemin","aria-valuemax","aria-valuenow","aria-label"],Nl=["aria-valuemin","aria-valuemax","aria-valuenow"],Al=S(e.defineComponent({__name:"slider",props:{modelValue:{default:void 0},min:{default:0},max:{default:100},step:{default:1},range:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),r=e.ref(!1),i=e.ref(!1),c=(V,C,v)=>Math.min(Math.max(V,C),v),d=e.ref(n.range?Array.isArray(n.modelValue)?n.modelValue[0]:n.min:typeof n.modelValue=="number"?n.modelValue:n.min),s=e.ref(n.range&&Array.isArray(n.modelValue)?n.modelValue[1]:n.max);e.watch(()=>n.modelValue,V=>{n.range?Array.isArray(V)&&(d.value=c(V[0],n.min,n.max),s.value=c(V[1],n.min,n.max)):typeof V=="number"&&(d.value=c(V,n.min,n.max))},{immediate:!0});const f=V=>(V-n.min)/(n.max-n.min)*100,u=e.computed(()=>({left:`${f(d.value)}%`})),m=e.computed(()=>({left:`${f(s.value)}%`})),p=e.computed(()=>{if(!n.range)return{width:`${f(d.value)}%`,left:"0%"};const V=f(d.value),C=f(s.value);return{left:`${V}%`,width:`${Math.max(0,C-V)}%`}});let h=null,k=null;const g=async(V,C)=>{h=V,k=C.pointerId,V==="low"?r.value=!0:i.value=!0;try{C.target.setPointerCapture(C.pointerId)}catch{}window.addEventListener("pointermove",w),window.addEventListener("pointerup",y)},y=V=>{if(k!=null&&V)try{V.target.releasePointerCapture(V.pointerId)}catch{}h=null,k=null,r.value=!1,i.value=!1,window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",y),x()},w=V=>{if(!h||!a.value)return;const C=a.value.getBoundingClientRect(),v=c(V.clientX-C.left,0,C.width),R=n.min+v/C.width*(n.max-n.min),T=Math.round(R/n.step)*n.step;h==="low"?n.range?d.value=Math.min(T,s.value):d.value=c(T,n.min,n.max):h==="high"&&(s.value=Math.max(T,d.value))},b=V=>{if(!a.value)return;const C=a.value.getBoundingClientRect(),v=c(V.clientX-C.left,0,C.width),R=n.min+v/C.width*(n.max-n.min),T=Math.round(R/n.step)*n.step;if(n.range){const X=Math.abs(T-d.value),q=Math.abs(T-s.value);X<=q?d.value=Math.min(T,s.value):s.value=Math.max(T,d.value)}else d.value=c(T,n.min,n.max);x()},E=(V,C)=>{const v=n.step,R=C.key==="ArrowLeft"||C.key==="ArrowDown"?-1:C.key==="ArrowRight"||C.key==="ArrowUp"?1:0;if(R){if(V==="low"){const T=c(d.value+R*v,n.min,n.range?s.value:n.max);d.value=T,r.value=!0,setTimeout(()=>r.value=!1,800)}else{const T=c(s.value+R*v,n.range?d.value:n.max,n.max);s.value=T,i.value=!0,setTimeout(()=>i.value=!1,800)}x()}},x=()=>{n.range?(l("update:modelValue",[d.value,s.value]),l("change",[d.value,s.value])):(l("update:modelValue",d.value),l("change",d.value))};e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",y)}),e.watch([()=>n.min,()=>n.max],()=>{d.value=c(d.value,n.min,n.max),s.value=c(s.value,n.min,n.max)});const L=e.computed(()=>n.range);return e.nextTick(()=>{n.modelValue===void 0&&(n.range?l("update:modelValue",[d.value,s.value]):l("update:modelValue",d.value))}),(V,C)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-slider",onPointerdown:C[8]||(C[8]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"track",ref_key:"track",ref:a,onClick:b},[e.createElementVNode("div",{class:"range",style:e.normalizeStyle(p.value)},null,4),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tooltip",style:e.normalizeStyle({left:u.value.left})},e.toDisplayString(d.value),5)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"handle low",style:e.normalizeStyle(u.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":d.value,"aria-label":L.value?"Lower value":"Value",onPointerdown:C[0]||(C[0]=e.withModifiers(v=>g("low",v),["prevent"])),onFocus:C[1]||(C[1]=v=>r.value=!0),onBlur:C[2]||(C[2]=v=>r.value=!1),onKeydown:C[3]||(C[3]=e.withModifiers(v=>E("low",v),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Dl),L.value&&i.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"tooltip",style:e.normalizeStyle({left:m.value.left})},e.toDisplayString(s.value),5)):e.createCommentVNode("",!0),L.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"handle high",style:e.normalizeStyle(m.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":s.value,"aria-label":"Upper value",onPointerdown:C[4]||(C[4]=e.withModifiers(v=>g("high",v),["prevent"])),onFocus:C[5]||(C[5]=v=>i.value=!0),onBlur:C[6]||(C[6]=v=>i.value=!1),onKeydown:C[7]||(C[7]=e.withModifiers(v=>E("high",v),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Nl)):e.createCommentVNode("",!0)],512)],32))}}),[["__scopeId","data-v-d47c7475"]]),Ml=["onFocusin","onFocusout"],qt=S(e.defineComponent({__name:"input-slider",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},min:{},max:{},step:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=n.modelValue===void 0?0:Number(n.modelValue),r=e.ref(Number.isNaN(a)?0:a),i=c=>{const d=typeof c=="number"?c:Number(c??0);r.value=Number.isNaN(d)?0:d,l("update:modelValue",r.value),l("input",r.value)};return(c,d)=>(e.openBlock(),e.createBlock(ie,{modelValue:r.value,"onUpdate:modelValue":i,label:n.label,id:n.id,placeholder:" ",disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error},{control:e.withCtx(({id:s,disabled:f,placeholder:u,onFocus:m,onBlur:p})=>[e.createElementVNode("div",{class:"input-slider__control",onFocusin:m,onFocusout:p},[e.createVNode(Al,{id:s,modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=h=>r.value=h),min:n.min,max:n.max,step:n.step,range:!1,disabled:f},null,8,["id","modelValue","min","max","step","disabled"])],40,Ml)]),_:1},8,["modelValue","label","id","disabled","colspan","newLine","spanRow","error"]))}}),[["__scopeId","data-v-051e6d17"]]),Ol={class:"textarea"},Pl=["value","placeholder","disabled","rows"],qe=S(e.defineComponent({__name:"textarea",props:e.mergeModels({icon:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean},rows:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=o,l=e.useModel(t,"modelValue"),a=s=>{l.value=s.target.value},r=()=>{l.value=""},i=s=>{n("focus",s)},c=s=>{n("blur",s)},d=e.computed(()=>!l.value);return(s,f)=>{const u=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",Ol,[t.icon?(e.openBlock(),e.createBlock(u,{key:0,icon:t.icon,size:e.unref(D).S,class:"textarea-icon"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("textarea",{value:l.value,onInput:a,onFocus:i,onBlur:c,placeholder:t.placeholder,disabled:t.disabled,rows:t.rows},null,40,Pl),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(u,{key:1,class:e.normalizeClass(["clear-icon",{invisible:d.value}]),icon:e.unref($).CLOSE,size:e.unref(D).S,onClick:r},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-2ea43716"]]),Gt=e.defineComponent({__name:"input-text-area",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},rows:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=f=>l("update:modelValue",f),r=f=>l("input",f),i=f=>l("focus",f),c=f=>l("blur",f),d=f=>{a(f??"")},s=e.computed(()=>{const f=n.modelValue;return f==null?"":String(f)});return(f,u)=>(e.openBlock(),e.createBlock(ie,{modelValue:n.modelValue,"onUpdate:modelValue":a,onInput:r,onFocus:i,onBlur:c,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,labelPosition:n.labelPosition,error:n.error,helpText:n.helpText,appearance:n.appearance},{control:e.withCtx(({id:m,disabled:p,placeholder:h,onFocus:k,onBlur:g})=>[e.createVNode(qe,{id:m,modelValue:s.value,"onUpdate:modelValue":d,onFocus:y=>{k(y),i(y)},onBlur:y=>{g(y),c(y)},placeholder:h,disabled:p,rows:n.rows,clearable:""},null,8,["id","modelValue","onFocus","onBlur","placeholder","disabled","rows"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","labelPosition","error","helpText","appearance"]))}}),jl={class:"input"},zl=["value","type","placeholder","disabled"],Ge=S(e.defineComponent({__name:"input",props:e.mergeModels({icon:{},type:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=o,l=e.useModel(t,"modelValue"),a=s=>{l.value=s.target.value},r=()=>{l.value=""},i=s=>{n("focus",s)},c=s=>{n("blur",s)},d=e.computed(()=>!l.value);return(s,f)=>{const u=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",jl,[t.icon?(e.openBlock(),e.createBlock(u,{key:0,icon:t.icon,size:e.unref(D).S},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("input",{value:l.value,onInput:a,onFocus:i,onBlur:c,type:t.type,placeholder:t.placeholder,disabled:t.disabled},null,40,zl),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(u,{key:1,class:e.normalizeClass(["clear-icon",{invisible:d.value}]),icon:e.unref($).CLOSE,size:e.unref(D).S,onClick:r},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-3187d49c"]]),Yt=e.defineComponent({__name:"input-text",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},type:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=s=>l("update:modelValue",s),r=s=>l("input",s),i=s=>l("focus",s),c=s=>l("blur",s),d=s=>{a(s??"")};return(s,f)=>(e.openBlock(),e.createBlock(ie,{modelValue:t.modelValue,"onUpdate:modelValue":a,onInput:r,onFocus:i,onBlur:c,label:t.label,id:t.id,placeholder:t.placeholder,disabled:t.disabled,colspan:t.colspan,newLine:t.newLine,spanRow:t.spanRow,error:t.error,helpText:n.helpText,labelPosition:t.labelPosition,appearance:t.appearance},{control:e.withCtx(({id:u,disabled:m,placeholder:p,onFocus:h,onBlur:k})=>[e.createVNode(Ge,{id:u,modelValue:t.modelValue,type:t.type,"onUpdate:modelValue":d,onFocus:g=>{h(g),i(g)},onBlur:g=>{k(g),c(g)},placeholder:p,disabled:m,clearable:""},null,8,["id","modelValue","type","onFocus","onBlur","placeholder","disabled"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","helpText","labelPosition","appearance"]))}}),Fl={class:"shell-navigation-item"},Il={class:"shell-navigation-item-label"},Hl={key:1,class:"shell-navigation-item-link"},Ul=["aria-expanded"],Wl={class:"shell-navigation-item-label"},Jt=S(e.defineComponent({__name:"shell-navigation-item",props:{label:{},icon:{},to:{}},setup(t){const o=e.useSlots(),n=e.computed(()=>!!o.default),l=e.ref(!1),a=e.ref(null),r=e.ref(null),{floatingStyles:i}=Ie(a,r,{placement:"right-start",middleware:[Se(8),$e(),xe({padding:8})],whileElementsMounted:ve}),c=m=>{n.value&&(l.value=!l.value)},d=()=>{l.value=!1},s=m=>{d()},f=m=>{(m.key==="Escape"||m.key==="Esc")&&d()},u=m=>{const p=m.target;p&&(a.value&&a.value.contains(p)||r.value&&r.value.contains(p)||d())};return e.watch(l,m=>{m?(window.addEventListener("keydown",f),window.addEventListener("pointerdown",u)):(window.removeEventListener("keydown",f),window.removeEventListener("pointerdown",u))}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",f),window.removeEventListener("pointerdown",u)}),(m,p)=>{const h=e.resolveComponent("VjIcon"),k=e.resolveComponent("RouterLink"),g=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock("li",Fl,[t.to?(e.openBlock(),e.createBlock(k,{key:0,to:t.to,class:"shell-navigation-item-link"},{default:e.withCtx(()=>[e.createVNode(h,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",Il,e.toDisplayString(t.label),1)]),_:1},8,["to"])):(e.openBlock(),e.createElementBlock("div",Hl,[e.createElementVNode("button",{ref_key:"buttonRef",ref:a,class:"shell-navigation-item-button",onClick:e.withModifiers(c,["stop"]),"aria-expanded":l.value,type:"button"},[e.createVNode(h,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",Wl,e.toDisplayString(t.label),1)],8,Ul),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(g,{key:0,ref_key:"floatingRef",ref:r,style:e.normalizeStyle(e.unref(i)),class:"shell-navigation-item-menu",onClose:d,onClick:e.withModifiers(s,["stop"])},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:3}),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-backdrop",onClick:d})):e.createCommentVNode("",!0)]))]))])}}}),[["__scopeId","data-v-3a50d1c2"]]),Kl={class:"navigation-top"},Xl={key:0,class:"navigation-bottom"},Ye=S(e.defineComponent({__name:"shell-navigation",setup(t){const o=e.inject(Zt,en()),n=e.computed(()=>o.showLabels);return(l,a)=>{const r=e.resolveComponent("VjShellNavigationItem");return e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["shell-navigation",{"with-labels":n.value}])},[e.createElementVNode("ul",Kl,[e.unref(o).hasParent&&e.unref(o).backRoute.value?(e.openBlock(),e.createBlock(r,{key:0,to:e.unref(o).backRoute.value,label:"BACK",icon:e.unref($).HOME},null,8,["to","icon"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).childRoutes.value,i=>(e.openBlock(),e.createBlock(r,{key:i.name,to:{name:i.name},label:i.meta.label,icon:i.meta.icon??e.unref($).HOME},null,8,["to","label","icon"]))),128))]),l.$slots.fixed?(e.openBlock(),e.createElementBlock("ul",Xl,[e.renderSlot(l.$slots,"fixed",{},void 0,!0)])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-306cfc22"]]),ql={class:"shell"},Gl={class:"shell-title"},Yl=["src"],Jl={class:"header-actions"},Qt=S(e.defineComponent({__name:"shell",props:{title:{},icon:{},showNavigation:{type:Boolean}},setup(t){const o=nn(),n=e.toRef(o,"asideComponent"),l=e.toRef(o,"hasAside"),a=e.toRef(o,"asideData"),r=e.computed(()=>{const i=a.value;return i&&typeof i=="object"?i:{}});return(i,c)=>{const d=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock("div",ql,[e.createElementVNode("header",null,[e.createElementVNode("span",Gl,[t.icon?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.icon,alt:"Shell Icon"},null,8,Yl)):e.createCommentVNode("",!0),e.createElementVNode("h1",null,e.toDisplayString(t.title),1)]),e.createElementVNode("div",Jl,[e.renderSlot(i.$slots,"header-actions",{},void 0,!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["shell-content",{"with-navigation":t.showNavigation}])},[t.showNavigation?(e.openBlock(),e.createBlock(e.unref(Ye),{key:0},e.createSlots({_:2},[i.$slots?.["navigation-fixed"]?{name:"fixed",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"navigation-fixed",{},void 0,!0)]),key:"0"}:void 0]),1024)):e.createCommentVNode("",!0),e.createElementVNode("main",null,[e.renderSlot(i.$slots,"default",{},()=>[e.createVNode(d)],!0)]),e.createElementVNode("aside",{class:e.normalizeClass({"aside-visible":l.value})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),e.normalizeProps(e.guardReactiveProps(r.value)),null,16))],2)],2),c[0]||(c[0]=e.createElementVNode("footer",null,null,-1))])}}}),[["__scopeId","data-v-4dfd0097"]]),Zt="navigationProvider";function Ql(t){return!!t.meta&&"icon"in t.meta&&"label"in t.meta}const en=()=>{const t=et.useRouter(),o=et.useRoute(),n=!0,l=e.computed(()=>{const f=t.getRoutes();return f.filter(u=>u.path!=="/"&&!f.some(m=>m.children?.some(p=>p.name===u.name)))}),a=e.computed(()=>{const f=o.matched;return f.length?f[f.length-1]:null}),r=e.computed(()=>{const f=o.matched;return f.length>1?f[f.length-2]:null}),i=e.computed(()=>!!(a.value?.children?.length||r.value)),c=e.computed(()=>a.value?.children?.length?a.value:r.value?.children?.length?r.value:null),d=e.computed(()=>{if(!c.value)return null;const u=t.getRoutes().find(m=>m.children?.some(p=>p.name===c.value.name));return u?{name:u.name}:{path:"/"}}),s=e.computed(()=>{let f=[];return o.path==="/"?f=l.value:a.value?.children?.length?f=a.value.children:r.value?.children?.length?f=r.value.children:f=l.value,f.filter(Ql)});return{hasParent:i,backRoute:d,childRoutes:s,showLabels:n}},Zl=(t,o=!0,n=void 0)=>{const l=e.isRef(t)?t:e.ref(t),a=!!n,r=e.ref(n||null);return{hasParent:a,backRoute:r,childRoutes:l,showLabels:o}},Je=e.ref(!1),Qe=e.ref(null),Ze=e.ref(null);let re=[];const tn=t=>(re.push(t),()=>{re=re.filter(o=>o!==t)}),ea=(t,o)=>(re=[],Qe.value=t,Ze.value=o??null,Je.value=!0,{onClose:n=>tn(n)}),ta=t=>{try{re.forEach(o=>{try{o(t)}catch(n){console.error("aside onClose callback error",n)}})}finally{Je.value=!1,setTimeout(na,1e3)}},na=()=>{re=[],Qe.value=null,Ze.value=null},oa={asideComponent:Qe,asideData:Ze,showAside:ea,closeAside:ta,onAsideClose:tn,hasAside:Je},nn=()=>oa,la=(t,o)=>{let n=null;return(...a)=>{n&&clearTimeout(n),n=setTimeout(()=>{t(...a)},o)}};class aa{containerElement=null;apps=[];ensureContainer(){return this.containerElement||(this.containerElement=document.createElement("div"),this.containerElement.id="vj-dialog-container",document.body.appendChild(this.containerElement)),this.containerElement}open(o){return new Promise(n=>{const l=this.ensureContainer(),a=document.createElement("div");l.appendChild(a);let r=!1;const i=()=>{r||(r=!0,setTimeout(()=>{const d=this.apps.find(s=>s.element===a);d&&(d.app.unmount(),this.apps=this.apps.filter(s=>s!==d)),a.remove()},300))},c=e.createApp({setup(){return()=>e.h(be,{modelValue:!0,title:o.title,message:o.message,component:o.component,componentProps:o.componentProps,showFooter:o.showFooter??!0,showCancel:o.showCancel??!0,confirmText:o.confirmText,cancelText:o.cancelText,closeOnBackdrop:o.closeOnBackdrop??!1,closeOnEscape:o.closeOnEscape??!0,onConfirm:()=>{n(!0),i()},onCancel:()=>{n(!1),i()},onClose:()=>{r||n(!1),i()}})}});c.component("VjCard",ge),c.component("VjIcon",W),c.component("VjButton",he),c.mount(a),this.apps.push({app:c,element:a})})}confirm(o){return this.open({title:o.title,message:o.message,showFooter:!0,showCancel:!0,confirmText:o.confirmText??"OK",cancelText:o.cancelText??"Abbrechen"})}alert(o,n){return this.open({title:o,message:n,showFooter:!0,showCancel:!1,confirmText:"OK"})}closeAll(){this.apps.forEach(({app:o,element:n})=>{o.unmount(),n.remove()}),this.apps=[]}}const on=new aa;function ia(){return on}const ra=()=>{const t=e.ref(!1),o=e.ref(null),n=()=>{o.value=null};class l{inner;defaultValue;handlers=[];constructor(i,c){this.inner=i,this.defaultValue=c}onError(i){return this.handlers.push(i),this}async exec(){o.value=null,t.value=!0;try{return await this.inner()}catch(i){o.value=i;for(const c of this.handlers)try{c(i)}catch(d){console.error("onError handler failed",d)}if(this.defaultValue!==void 0)return this.defaultValue;throw i}finally{t.value=!1}}then(i,c){return this.exec().then(i,c)}}function a(r,i){return new l(r,i)}return{run:a,running:t,error:o,clearError:n}};class sa{notifications=e.ref([]);notificationIdCounter=0;getNotifications(){return this.notifications}show(o,n,l,a){const r=`notification-${++this.notificationIdCounter}-${Date.now()}`,i=o==="error"?void 0:a??5e3,c={id:r,type:o,title:n,message:l,duration:i};return this.notifications.value.unshift(c),i&&setTimeout(()=>{this.remove(r)},i),r}info(o,n,l){return this.show("info",o,n,l)}warning(o,n,l){return this.show("warning",o,n,l)}error(o,n){return this.show("error",o,n)}success(o,n,l){return this.show("success",o,n,l)}remove(o){const n=this.notifications.value.findIndex(l=>l.id===o);n!==-1&&this.notifications.value.splice(n,1)}clearAll(){this.notifications.value=[]}}const ca=new sa,da={install(t){t.component("VjButton",he),t.component("VjButtonBar",tt),t.component("VjCard",ge),t.component("VjChip",Te),t.component("VjChipGroup",De),t.component("VjChipSelector",ot),t.component("VjCarousel",ge),t.component("VjCheckbox",nt),t.component("VjDotMenu",vt),t.component("VjDialog",be),t.component("VjIcon",W),t.component("VjLinkButton",St),t.component("VjMenu",$t),t.component("VjMenuAction",xt),t.component("VjPage",Ot),t.component("VjPaginator",Pt),t.component("VjTab",It),t.component("VjTabView",Ft),t.component("VjSkeleton",Ht),t.component("VjSpinner",Ue),t.component("VjInput",Ge),t.component("VjSelect",Xe),t.component("VjTextArea",qe),t.component("VjFormField",ie),t.component("VjFormLayout",Wt),t.component("VjFormSection",Kt),t.component("VjInputText",Yt),t.component("VjInputTextArea",Gt),t.component("VjInputSelect",Xt),t.component("VjInputSlider",qt),t.component("VjShellNavigation",Ye),t.component("VjShellNavigationItem",Jt),t.component("VjShell",Qt),t.component("VjSearchField",jt),t.component("VjSeparator",zt),t.directive("focus",Tt),t.directive("resize",Dt),t.directive("compact",Lt),t.directive("tooltip",We)}};_.Button=he,_.ButtonBar=tt,_.Card=ge,_.Carousel=kn,_.Checkbox=nt,_.Chip=Te,_.ChipGroup=De,_.ChipSelector=ot,_.Dialog=be,_.DotMenu=vt,_.EditableLabel=bl,_.FocusFirstDirective=Tt,_.FormField=ie,_.FormLayout=Wt,_.FormSection=Kt,_.Icon=W,_.IconNames=$,_.IconSize=D,_.Input=Ge,_.InputSelect=Xt,_.InputSlider=qt,_.InputText=Yt,_.InputTextArea=Gt,_.LinkButton=St,_.LoadingDirective=At,_.Menu=$t,_.MenuAction=xt,_.Page=Ot,_.Paginator=Pt,_.Radio=Sn,_.ResizeDirective=Dt,_.SearchField=jt,_.Select=Xe,_.Separator=zt,_.Shell=Qt,_.ShellNavigation=Ye,_.ShellNavigationItem=Jt,_.Skeleton=Ht,_.Spinner=Ue,_.Tab=It,_.TabView=Ft,_.TextArea=qe,_.TooltipDirective=We,_.VjComponents=da,_.VjNavigationProviderKey=Zt,_.compactDirective=Lt,_.configureVueUI=wl,_.dialogService=on,_.getVueUIConfig=Ke,_.notificationService=ca,_.resetVueUIConfig=kl,_.useAsideService=nn,_.useDebounce=la,_.useDialog=ia,_.useFlow=ra,_.useRouterNavigationProvider=en,_.useStaticNavigationProvider=Zl,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
package/dist/vue-ui.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.button-bar[data-v-45a6ed1a]{display:flex;justify-content:space-between;align-items:center}.button-bar .left[data-v-45a6ed1a],.button-bar .right[data-v-45a6ed1a],.button[data-v-f31c33cf]{display:inline-flex;align-items:center}.card[data-v-ec6ab562]{display:flex;flex-direction:column;gap:var(--space-m);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m)}.card header[data-v-ec6ab562]{display:flex;justify-content:space-between;align-items:center}.card header>span[data-v-ec6ab562]{display:flex;gap:var(--space-s)}.card footer[data-v-ec6ab562]{border-top:var(--border-footer);padding:var(--space-s) 0 0 0}.card.scrollable[data-v-ec6ab562]{overflow:hidden}.card.scrollable main[data-v-ec6ab562]{flex:1 1 auto;overflow-y:auto}.carousel[data-v-232abca2]{position:relative;overflow:visible;outline:none}.carousel-window[data-v-232abca2]{overflow:hidden}.carousel-track[data-v-232abca2]{display:flex;width:100%;transition:transform .4s ease}[data-v-232abca2] .carousel-slide{flex:0 0 100%;max-width:100%}.carousel-btn[data-v-232abca2]{position:absolute;top:50%;transform:translateY(-50%);cursor:pointer}.carousel-btn.prev[data-v-232abca2]{left:.5rem}.carousel-btn.next[data-v-232abca2]{right:.5rem}.carousel-indicators[data-v-232abca2]{position:absolute;left:50%;transform:translate(-50%);bottom:.5rem;display:flex;gap:.5rem}.indicator[data-v-232abca2]{width:10px;height:10px;border-radius:50%;background:#0000004d;border:none;padding:0;cursor:pointer}.indicator.active[data-v-232abca2]{background:#000c;scale:1.2}.indicator[data-v-232abca2]:hover{scale:1.5}.checkbox[data-v-d44b45ff]{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input[data-v-d44b45ff]{position:absolute;width:0;height:0}.checkbox-input:disabled+.checkbox-box[data-v-d44b45ff]{cursor:not-allowed}.checkbox-box[data-v-d44b45ff]{display:flex;align-items:center;justify-content:center}.checkbox-input:disabled~.checkbox-label[data-v-d44b45ff]{cursor:not-allowed}.radio[data-v-f9e4bb65]{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.radio-input[data-v-f9e4bb65]{position:absolute;width:0;height:0}.radio-input:disabled+.radio-box[data-v-f9e4bb65]{cursor:not-allowed}.radio-box[data-v-f9e4bb65]{display:flex;align-items:center;justify-content:center}.radio-dot[data-v-f9e4bb65]{width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform .18s ease;background:currentColor}.radio-input:checked+.radio-box .radio-dot[data-v-f9e4bb65]{transform:scale(1)}.radio-input:disabled~.radio-label[data-v-f9e4bb65]{opacity:.5}.chip[data-v-c2014a3b],.chip__close[data-v-c2014a3b]{display:inline-flex}.chip-group[data-v-66199d19]{display:flex;flex-direction:column;gap:.5rem}.chip-group__label[data-v-66199d19]{font-size:.875rem;font-weight:500;color:var(--on-surface)}.chip-group__container[data-v-66199d19]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.chip-group__item[data-v-66199d19]{cursor:move;transition:opacity .2s,transform .2s}.chip-group__item[data-v-66199d19]:hover{transform:scale(1.02)}.chip-group__item--dragging[data-v-66199d19]{opacity:.5}.chip-group__add-btn[data-v-66199d19]{padding:.5rem .75rem;border:1px dashed var(--outline);background:transparent;color:var(--primary);border-radius:1rem;cursor:pointer;font-size:.875rem;transition:all .2s;white-space:nowrap}.chip-group__add-btn[data-v-66199d19]:hover{background:var(--surface-container);border-color:var(--primary);border-style:solid}.chip-group__add-btn[data-v-66199d19]:active{transform:scale(.98)}.chip-group__drop-indicator[data-v-66199d19]{width:4rem;height:2.5rem;background-color:#ff0;border-radius:4px;margin:0 -.25rem;animation:pulse-66199d19 .5s ease-in-out infinite;box-shadow:0 0 12px var(--primary),0 0 24px var(--primary);position:relative}.chip-group__drop-indicator[data-v-66199d19]:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--primary);border-radius:50%;box-shadow:0 0 8px var(--primary)}@keyframes pulse-66199d19{0%,to{opacity:.7;transform:scaleY(.95);box-shadow:0 0 8px var(--primary),0 0 16px var(--primary)}50%{opacity:1;transform:scaleY(1.05);box-shadow:0 0 16px var(--primary),0 0 32px var(--primary)}}.chip-group__hint[data-v-66199d19]{font-size:.75rem;color:var(--on-surface-variant);margin-top:-.25rem}.dialog-backdrop[data-v-6af510b3]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-wrapper[data-v-6af510b3]{max-width:90vw;max-height:90vh;overflow:auto}.dialog-card[data-v-6af510b3]{min-width:400px}.dialog-header[data-v-6af510b3]{display:flex;justify-content:space-between;align-items:center;width:100%}.dialog-title[data-v-6af510b3]{margin:0;font-size:1.25rem;font-weight:600}.dialog-close[data-v-6af510b3]{cursor:pointer;padding:.25rem}.dialog-close[data-v-6af510b3]:hover{opacity:.7}.dialog-content[data-v-6af510b3]{padding:0}.dialog-footer[data-v-6af510b3]{display:flex;justify-content:flex-end;gap:.5rem}.dialog-fade-enter-active[data-v-6af510b3],.dialog-fade-leave-active[data-v-6af510b3]{transition:opacity .2s ease}.dialog-fade-enter-from[data-v-6af510b3],.dialog-fade-leave-to[data-v-6af510b3]{opacity:0}.dialog-scale-enter-active[data-v-6af510b3],.dialog-scale-leave-active[data-v-6af510b3]{transition:transform .2s ease,opacity .2s ease}.dialog-scale-enter-from[data-v-6af510b3],.dialog-scale-leave-to[data-v-6af510b3]{transform:scale(.95);opacity:0}.vj-chip-selector[data-v-f2e1b880]{display:flex;flex-direction:column}.add-button[data-v-f2e1b880]{margin-top:.5rem;padding:.5rem 1rem;border:1px dashed var(--vj-color-border);background:transparent;border-radius:var(--vj-border-radius);color:var(--vj-color-text-secondary);cursor:pointer;font-size:.875rem;transition:all .2s;width:100%}.add-button[data-v-f2e1b880]:hover{border-color:var(--vj-color-primary);color:var(--vj-color-primary);background:var(--vj-color-primary-bg)}.options-grid[data-v-f2e1b880]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;padding:1rem 0;max-height:60vh;overflow-y:auto}.option-btn[data-v-f2e1b880]{padding:.75rem 1rem;border:1px solid var(--vj-color-border);background:var(--vj-color-bg);border-radius:var(--vj-border-radius);color:var(--vj-color-text);cursor:pointer;font-size:.875rem;transition:all .2s;text-align:left}.option-btn[data-v-f2e1b880]:hover{border-color:var(--vj-color-primary);background:var(--vj-color-primary-bg);color:var(--vj-color-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.option-btn[data-v-f2e1b880]:active{transform:translateY(0)}.no-options[data-v-f2e1b880]{padding:2rem;text-align:center;color:var(--vj-color-text-secondary);font-style:italic}.dot-menu-container[data-v-67bd71e4]{position:relative}.dot-menu[data-v-67bd71e4]{border-radius:50%;aspect-ratio:1/1;cursor:pointer}.menu-dropdown[data-v-67bd71e4]{z-index:1000}.menu-backdrop[data-v-67bd71e4]{position:fixed;inset:0;z-index:999;background:transparent}.menu-enter-active[data-v-67bd71e4],.menu-leave-active[data-v-67bd71e4]{transition:opacity .2s ease,transform .2s ease}.menu-enter-from[data-v-67bd71e4],.menu-leave-to[data-v-67bd71e4]{opacity:0;transform:translateY(-8px)}.button[data-v-bd3cf2f5]{display:inline-flex;align-items:center}.menu-action[data-v-07850995]{display:flex;align-items:center;width:100%}.menu-action .menu-action--icon[data-v-07850995]{display:flex;align-items:center;justify-content:center}.menu[data-v-259fec08]{display:inline-flex;flex-direction:column}.spinner[data-v-b957fb82]{min-width:1.5rem;min-height:1.5rem;max-width:5rem;max-height:5rem;width:100%;height:100%;aspect-ratio:1/1;border-radius:50%;position:relative;background:var(--spinner-gradient);mask:radial-gradient(farthest-side,transparent calc(100% - 6px),black 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),black 0);animation:spin-b957fb82 4s linear infinite,plasma-b957fb82 2s ease-in-out infinite alternate;background-size:200% 200%;filter:blur(.4px) contrast(1.45);border:1px solid rgba(0,0,0,.06)}@keyframes spin-b957fb82{to{transform:rotate(360deg)}}@keyframes plasma-b957fb82{0%{background-position:5% 50%}to{background-position:95% 50%}}.spinner[data-v-b957fb82]{box-shadow:0 0 34px 10px #ff822847,0 0 68px 14px #ffc8782e inset}.notification[data-v-ca4451c0]{display:flex;align-items:flex-start;cursor:pointer}.notification .notification__message[data-v-ca4451c0]{display:flex;flex-direction:column}.page[data-v-3e724555]{display:flex;flex-direction:column;width:100%;height:100%}.page header[data-v-3e724555]{display:flex;align-items:center;justify-content:space-between}.page header .header-left[data-v-3e724555]{display:flex;align-items:center;flex:1}.page header .header-titles[data-v-3e724555]{display:flex;align-items:baseline}.page header .header-actions[data-v-3e724555]{display:flex;align-items:center}.page main[data-v-3e724555]{flex:1 1 auto;overflow:auto;overflow:hidden}.page main.scrollable[data-v-3e724555]{overflow:auto}.page main footer[data-v-3e724555]{position:sticky;bottom:0}.paginator[data-v-b6fa8efe]{display:inline-flex;align-items:center;gap:.5rem}.paginator-info[data-v-b6fa8efe]{font-size:.9rem;color:#000c;padding:0 .5rem}.search-field[data-v-2771c8ed]{display:inline-flex}.search-field input[data-v-2771c8ed]{flex-grow:1}.search-field .reset[data-v-2771c8ed]{cursor:pointer}.search-field .invisible[data-v-2771c8ed]{opacity:0;pointer-events:none}.separator[data-v-e354bb4e]{width:100%;height:1px;background-color:#ddd}.separator.vertical[data-v-e354bb4e]{width:1px;height:100%}.tab-view[data-v-3d4ee454]{display:flex;flex-direction:column}.tab-view-header[data-v-3d4ee454]{display:flex;position:relative}.tab-button[data-v-3d4ee454]{cursor:pointer}.tab-indicator[data-v-3d4ee454]{position:absolute;bottom:0;left:0}.tab-line[data-v-3d4ee454]{position:absolute;bottom:0;left:0;right:0}.tab-view-content[data-v-3d4ee454]{flex:1}.vj-editable-label[data-v-cdc52c5b]{display:inline-flex;align-items:center;gap:8px}.vj-editable-label .label-text[data-v-cdc52c5b]{-webkit-user-select:text;user-select:text;cursor:text;white-space:pre-wrap}.vj-editable-label .edit-icon[data-v-cdc52c5b]{opacity:0;transition:opacity .15s ease-in-out;cursor:pointer;display:inline-flex;align-items:center}.vj-editable-label:hover .edit-icon[data-v-cdc52c5b],.vj-editable-label.editing .edit-icon[data-v-cdc52c5b]{opacity:1}.vj-editable-label .edit-input[data-v-cdc52c5b]{font:inherit;padding:2px 6px;border-radius:4px;border:1px solid rgba(0,0,0,.12);outline:none}.vj-skeleton[data-v-ac05e016]{position:relative;overflow:hidden}.vj-skeleton[data-v-ac05e016]:after{content:"";position:absolute;top:-150%;left:-150%;width:300%;height:300%;transform:translate(0);pointer-events:none}.form-field[data-v-4b88a7e5]{margin-top:var(--space-s);position:relative;width:100%;font-family:inherit}.form-field .form-field__wrapper[data-v-4b88a7e5]{position:relative;width:100%}.form-field.form-field--inline .form-field__label[data-v-4b88a7e5]{position:absolute;top:50%;left:12px;transform:translateY(-50%);font-size:1rem;color:var(--color-text-secondary, #6b7280);background:transparent;padding:0 4px;transition:transform .2s ease,font-size .2s ease,top .2s ease,left .2s ease,color .2s ease;pointer-events:none;z-index:1}.form-field.form-field--inline .form-field__label--float[data-v-4b88a7e5]{top:0;left:8px;transform:translateY(-50%);font-size:.75rem;font-weight:500;color:var(--color-primary, #3b82f6);background:var(--color-surface, white)}.form-field.form-field--outline .form-field__label-outline[data-v-4b88a7e5]{display:block;margin-bottom:var(--space-xs, 4px);font-size:.875rem;font-weight:500;color:var(--color-text-secondary, inherit)}.form-field.error[data-v-4b88a7e5] .input,.form-field.error[data-v-4b88a7e5] .select-trigger,.form-field.error[data-v-4b88a7e5] .textarea{outline-color:var(--color-error, #dc2626)!important}.form-field .form-field__help[data-v-4b88a7e5]{position:absolute;top:-8px;right:-15px;appearance:none;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0 0 3px;color:var(--color-text-secondary, #6b7280);cursor:pointer;background:#fff}.form-field .form-field__help .icon[data-v-4b88a7e5]{font-size:1rem;background:#fff}.form-field .form-field__error[data-v-4b88a7e5]{margin-top:4px;font-size:.875rem;color:var(--color-error, #dc2626);line-height:1.4}.form-field.disabled[data-v-4b88a7e5]{opacity:var(--opacity-disabled, .5)}.form-field.labelless[data-v-4b88a7e5]{margin-top:0}.form-layout[data-v-96f62ab7]{display:grid;width:100%;align-items:start}.form-layout[data-v-96f62ab7]>*{box-sizing:border-box}.form-section__title[data-v-69cff1d0]{margin:var(--space-m) 0 var(--space-s) 0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #333);border-bottom:1px solid var(--color-border, #e0e0e0);padding-bottom:var(--space-xs)}.select[data-v-fc22f0e9]{position:relative;width:100%}.select .select-trigger[data-v-fc22f0e9]{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer}.select .select-trigger[data-v-fc22f0e9]:hover:not(:disabled){border-color:var(--color-primary, #007bff)}.select .select-trigger[data-v-fc22f0e9]:disabled{opacity:.5;cursor:not-allowed}.select.form-field--control .select-trigger[data-v-fc22f0e9]{padding:0;background:transparent;border:none;border-radius:0}.select.form-field--control .select-trigger[data-v-fc22f0e9]:hover:not(:disabled){border-color:transparent}.select.form-field--control .select-trigger[data-v-fc22f0e9]:focus-visible{outline:none}.select .select-icon-left[data-v-fc22f0e9]{margin-right:.5rem;flex-shrink:0}.select .select-value[data-v-fc22f0e9]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select .select-placeholder[data-v-fc22f0e9]{color:var(--color-text-secondary, #999)}.select .select-clear-icon[data-v-fc22f0e9]{margin-left:.5rem;cursor:pointer;flex-shrink:0;transition:opacity .2s}.select .select-clear-icon[data-v-fc22f0e9]:hover{opacity:.7}.select .select-icon-right[data-v-fc22f0e9]{margin-left:.5rem;transition:transform .2s;flex-shrink:0}.select .select-icon-right.open[data-v-fc22f0e9]{transform:rotate(180deg)}.select .select-dropdown[data-v-fc22f0e9]{z-index:1000;background-color:var(--color-background, #fff);border:1px solid var(--color-border, #ccc);border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow:hidden}.select .select-options[data-v-fc22f0e9]{overflow-y:auto;max-height:300px}.select .select-option[data-v-fc22f0e9]{padding:.5rem .75rem;cursor:pointer;transition:background-color .15s}.select .select-option[data-v-fc22f0e9]:hover,.select .select-option.highlighted[data-v-fc22f0e9]{background-color:var(--color-hover, #f5f5f5)}.select .select-option.selected[data-v-fc22f0e9]{background-color:var(--color-primary-light, #e7f3ff);color:var(--color-primary, #007bff);font-weight:500}.select .select-backdrop[data-v-fc22f0e9]{position:fixed;inset:0;z-index:999;background:transparent}.select .dropdown-enter-active[data-v-fc22f0e9],.select .dropdown-leave-active[data-v-fc22f0e9]{transition:opacity .2s ease,transform .2s ease}.select .dropdown-enter-from[data-v-fc22f0e9],.select .dropdown-leave-to[data-v-fc22f0e9]{opacity:0;transform:translateY(-8px)}.vj-slider[data-v-d47c7475]{width:100%}.track[data-v-d47c7475]{position:relative;height:8px;background:#00000014;border-radius:4px}.range[data-v-d47c7475]{position:absolute;height:100%;background:#0078d4cc;border-radius:4px}.handle[data-v-d47c7475]{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:#fff;border:2px solid rgba(0,0,0,.2);border-radius:50%;box-shadow:0 1px 2px #0000001f}.handle[data-v-d47c7475]:hover{border-color:#0006;width:20px;height:20px}.handle[data-v-d47c7475]:focus{outline:none;box-shadow:0 0 0 4px #0078d426}.tooltip[data-v-d47c7475]{position:absolute;transform:translate(-50%);bottom:calc(100% + 10px);background:#000000d9;color:#fff;padding:6px 8px;border-radius:4px;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none;z-index:5}.tooltip[data-v-d47c7475]:after{content:"";position:absolute;left:50%;transform:translate(-50%);top:100%;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.85)}.handle[data-v-d47c7475]{z-index:3}.input-slider__control[data-v-051e6d17]{display:flex;align-items:center;padding:var(--space-l) var(--space-m)}.input-slider__control[data-v-051e6d17] .vj-slider{width:100%}.textarea[data-v-2ea43716]{display:flex}.textarea .textarea-icon[data-v-2ea43716]{align-self:flex-start;margin-top:.25rem}.textarea textarea[data-v-2ea43716]{flex-grow:1;resize:vertical;min-height:80px}.textarea .clear-icon[data-v-2ea43716]{cursor:pointer;align-self:flex-start;margin-top:.25rem}.textarea .invisible[data-v-2ea43716]{opacity:0;pointer-events:none}.input[data-v-3187d49c]{display:flex}.input input[data-v-3187d49c]{flex-grow:1}.input .clear-icon[data-v-3187d49c]{cursor:pointer}.input .invisible[data-v-3187d49c]{opacity:0;pointer-events:none}.shell-navigation-item[data-v-3a50d1c2]{display:flex;list-style:none}.shell-navigation-item .shell-navigation-item-link[data-v-3a50d1c2]{display:flex;flex-direction:column;justify-content:center;align-items:center;background:none;border:none;padding:0;cursor:pointer;width:100%}.shell-navigation-item .shell-navigation-item-icon[data-v-3a50d1c2]{font-size:1.5rem}.shell-navigation-item .shell-navigation-item-button[data-v-3a50d1c2]{display:flex;flex-direction:column;justify-content:center;align-items:center;border:none;padding:0;cursor:pointer;width:100%}.shell-navigation-item .shell-navigation-item-menu[data-v-3a50d1c2]{z-index:1000;position:absolute}.shell-navigation-item .menu-backdrop[data-v-3a50d1c2]{position:fixed;inset:0;z-index:999;background:transparent}.shell-navigation[data-v-306cfc22]{display:flex;flex-direction:column}.shell-navigation ul[data-v-306cfc22]{display:flex;flex-direction:column;justify-content:flex-start}.shell-navigation ul li[data-v-306cfc22]{list-style:none}.shell-navigation ul li .shell-navigation-link[data-v-306cfc22]{display:flex;flex-direction:column;justify-content:center;align-items:center}.shell-navigation .navigation-top[data-v-306cfc22]{flex:1;overflow-y:auto;overflow-x:hidden;direction:rtl}.shell-navigation .navigation-bottom[data-v-306cfc22]{border-top:var(--border-footer);padding-top:var(--space-s);flex-shrink:0}.shell[data-v-4dfd0097]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.shell header[data-v-4dfd0097]{display:flex;justify-content:space-between}.shell header .shell-title[data-v-4dfd0097]{display:flex;align-items:center}.shell .shell-content[data-v-4dfd0097]{flex:1 1 auto;display:flex;overflow:hidden}.shell .shell-content main[data-v-4dfd0097]{flex:1 1 auto;overflow:auto}.shell .shell-content aside[data-v-4dfd0097]{width:100%;max-width:0px;border-left:1px solid var(--color-border);transition:transform .3s ease-in-out;transition:max-width .75s ease-in}.shell .shell-content aside[data-v-4dfd0097]>*{width:100%;height:100%}.shell .shell-content aside.aside-visible[data-v-4dfd0097]{max-width:500px}
1
+ @charset "UTF-8";.button-bar[data-v-45a6ed1a]{display:flex;justify-content:space-between;align-items:center}.button-bar .left[data-v-45a6ed1a],.button-bar .right[data-v-45a6ed1a],.button[data-v-f31c33cf]{display:inline-flex;align-items:center}.card[data-v-ec6ab562]{display:flex;flex-direction:column;gap:var(--space-m);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m)}.card header[data-v-ec6ab562]{display:flex;justify-content:space-between;align-items:center}.card header>span[data-v-ec6ab562]{display:flex;gap:var(--space-s)}.card footer[data-v-ec6ab562]{border-top:var(--border-footer);padding:var(--space-s) 0 0 0}.card.scrollable[data-v-ec6ab562]{overflow:hidden}.card.scrollable main[data-v-ec6ab562]{flex:1 1 auto;overflow-y:auto}.carousel[data-v-232abca2]{position:relative;overflow:visible;outline:none}.carousel-window[data-v-232abca2]{overflow:hidden}.carousel-track[data-v-232abca2]{display:flex;width:100%;transition:transform .4s ease}[data-v-232abca2] .carousel-slide{flex:0 0 100%;max-width:100%}.carousel-btn[data-v-232abca2]{position:absolute;top:50%;transform:translateY(-50%);cursor:pointer}.carousel-btn.prev[data-v-232abca2]{left:.5rem}.carousel-btn.next[data-v-232abca2]{right:.5rem}.carousel-indicators[data-v-232abca2]{position:absolute;left:50%;transform:translate(-50%);bottom:.5rem;display:flex;gap:.5rem}.indicator[data-v-232abca2]{width:10px;height:10px;border-radius:50%;background:#0000004d;border:none;padding:0;cursor:pointer}.indicator.active[data-v-232abca2]{background:#000c;scale:1.2}.indicator[data-v-232abca2]:hover{scale:1.5}.checkbox[data-v-d44b45ff]{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input[data-v-d44b45ff]{position:absolute;width:0;height:0}.checkbox-input:disabled+.checkbox-box[data-v-d44b45ff]{cursor:not-allowed}.checkbox-box[data-v-d44b45ff]{display:flex;align-items:center;justify-content:center}.checkbox-input:disabled~.checkbox-label[data-v-d44b45ff]{cursor:not-allowed}.radio[data-v-f9e4bb65]{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.radio-input[data-v-f9e4bb65]{position:absolute;width:0;height:0}.radio-input:disabled+.radio-box[data-v-f9e4bb65]{cursor:not-allowed}.radio-box[data-v-f9e4bb65]{display:flex;align-items:center;justify-content:center}.radio-dot[data-v-f9e4bb65]{width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform .18s ease;background:currentColor}.radio-input:checked+.radio-box .radio-dot[data-v-f9e4bb65]{transform:scale(1)}.radio-input:disabled~.radio-label[data-v-f9e4bb65]{opacity:.5}.chip[data-v-c2014a3b],.chip__close[data-v-c2014a3b]{display:inline-flex}.chip-group[data-v-66199d19]{display:flex;flex-direction:column;gap:.5rem}.chip-group__label[data-v-66199d19]{font-size:.875rem;font-weight:500;color:var(--on-surface)}.chip-group__container[data-v-66199d19]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.chip-group__item[data-v-66199d19]{cursor:move;transition:opacity .2s,transform .2s}.chip-group__item[data-v-66199d19]:hover{transform:scale(1.02)}.chip-group__item--dragging[data-v-66199d19]{opacity:.5}.chip-group__add-btn[data-v-66199d19]{padding:.5rem .75rem;border:1px dashed var(--outline);background:transparent;color:var(--primary);border-radius:1rem;cursor:pointer;font-size:.875rem;transition:all .2s;white-space:nowrap}.chip-group__add-btn[data-v-66199d19]:hover{background:var(--surface-container);border-color:var(--primary);border-style:solid}.chip-group__add-btn[data-v-66199d19]:active{transform:scale(.98)}.chip-group__drop-indicator[data-v-66199d19]{width:4rem;height:2.5rem;background-color:#ff0;border-radius:4px;margin:0 -.25rem;animation:pulse-66199d19 .5s ease-in-out infinite;box-shadow:0 0 12px var(--primary),0 0 24px var(--primary);position:relative}.chip-group__drop-indicator[data-v-66199d19]:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--primary);border-radius:50%;box-shadow:0 0 8px var(--primary)}@keyframes pulse-66199d19{0%,to{opacity:.7;transform:scaleY(.95);box-shadow:0 0 8px var(--primary),0 0 16px var(--primary)}50%{opacity:1;transform:scaleY(1.05);box-shadow:0 0 16px var(--primary),0 0 32px var(--primary)}}.chip-group__hint[data-v-66199d19]{font-size:.75rem;color:var(--on-surface-variant);margin-top:-.25rem}.dialog-backdrop[data-v-6af510b3]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-wrapper[data-v-6af510b3]{max-width:90vw;max-height:90vh;overflow:auto}.dialog-card[data-v-6af510b3]{min-width:400px}.dialog-header[data-v-6af510b3]{display:flex;justify-content:space-between;align-items:center;width:100%}.dialog-title[data-v-6af510b3]{margin:0;font-size:1.25rem;font-weight:600}.dialog-close[data-v-6af510b3]{cursor:pointer;padding:.25rem}.dialog-close[data-v-6af510b3]:hover{opacity:.7}.dialog-content[data-v-6af510b3]{padding:0}.dialog-footer[data-v-6af510b3]{display:flex;justify-content:flex-end;gap:.5rem}.dialog-fade-enter-active[data-v-6af510b3],.dialog-fade-leave-active[data-v-6af510b3]{transition:opacity .2s ease}.dialog-fade-enter-from[data-v-6af510b3],.dialog-fade-leave-to[data-v-6af510b3]{opacity:0}.dialog-scale-enter-active[data-v-6af510b3],.dialog-scale-leave-active[data-v-6af510b3]{transition:transform .2s ease,opacity .2s ease}.dialog-scale-enter-from[data-v-6af510b3],.dialog-scale-leave-to[data-v-6af510b3]{transform:scale(.95);opacity:0}.vj-chip-selector[data-v-f2e1b880]{display:flex;flex-direction:column}.add-button[data-v-f2e1b880]{margin-top:.5rem;padding:.5rem 1rem;border:1px dashed var(--vj-color-border);background:transparent;border-radius:var(--vj-border-radius);color:var(--vj-color-text-secondary);cursor:pointer;font-size:.875rem;transition:all .2s;width:100%}.add-button[data-v-f2e1b880]:hover{border-color:var(--vj-color-primary);color:var(--vj-color-primary);background:var(--vj-color-primary-bg)}.options-grid[data-v-f2e1b880]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;padding:1rem 0;max-height:60vh;overflow-y:auto}.option-btn[data-v-f2e1b880]{padding:.75rem 1rem;border:1px solid var(--vj-color-border);background:var(--vj-color-bg);border-radius:var(--vj-border-radius);color:var(--vj-color-text);cursor:pointer;font-size:.875rem;transition:all .2s;text-align:left}.option-btn[data-v-f2e1b880]:hover{border-color:var(--vj-color-primary);background:var(--vj-color-primary-bg);color:var(--vj-color-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.option-btn[data-v-f2e1b880]:active{transform:translateY(0)}.no-options[data-v-f2e1b880]{padding:2rem;text-align:center;color:var(--vj-color-text-secondary);font-style:italic}.dot-menu-container[data-v-67bd71e4]{position:relative}.dot-menu[data-v-67bd71e4]{border-radius:50%;aspect-ratio:1/1;cursor:pointer}.menu-dropdown[data-v-67bd71e4]{z-index:1000}.menu-backdrop[data-v-67bd71e4]{position:fixed;inset:0;z-index:999;background:transparent}.menu-enter-active[data-v-67bd71e4],.menu-leave-active[data-v-67bd71e4]{transition:opacity .2s ease,transform .2s ease}.menu-enter-from[data-v-67bd71e4],.menu-leave-to[data-v-67bd71e4]{opacity:0;transform:translateY(-8px)}.button[data-v-bd3cf2f5]{display:inline-flex;align-items:center}.menu-action[data-v-07850995]{display:flex;align-items:center;width:100%}.menu-action .menu-action--icon[data-v-07850995]{display:flex;align-items:center;justify-content:center}.menu[data-v-259fec08]{display:inline-flex;flex-direction:column}.spinner[data-v-b957fb82]{min-width:1.5rem;min-height:1.5rem;max-width:5rem;max-height:5rem;width:100%;height:100%;aspect-ratio:1/1;border-radius:50%;position:relative;background:var(--spinner-gradient);mask:radial-gradient(farthest-side,transparent calc(100% - 6px),black 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),black 0);animation:spin-b957fb82 4s linear infinite,plasma-b957fb82 2s ease-in-out infinite alternate;background-size:200% 200%;filter:blur(.4px) contrast(1.45);border:1px solid rgba(0,0,0,.06)}@keyframes spin-b957fb82{to{transform:rotate(360deg)}}@keyframes plasma-b957fb82{0%{background-position:5% 50%}to{background-position:95% 50%}}.spinner[data-v-b957fb82]{box-shadow:0 0 34px 10px #ff822847,0 0 68px 14px #ffc8782e inset}.notification[data-v-ca4451c0]{display:flex;align-items:flex-start;cursor:pointer}.notification .notification__message[data-v-ca4451c0]{display:flex;flex-direction:column}.page[data-v-3e724555]{display:flex;flex-direction:column;width:100%;height:100%}.page header[data-v-3e724555]{display:flex;align-items:center;justify-content:space-between}.page header .header-left[data-v-3e724555]{display:flex;align-items:center;flex:1}.page header .header-titles[data-v-3e724555]{display:flex;align-items:baseline}.page header .header-actions[data-v-3e724555]{display:flex;align-items:center}.page main[data-v-3e724555]{flex:1 1 auto;overflow:auto;overflow:hidden}.page main.scrollable[data-v-3e724555]{overflow:auto}.page main footer[data-v-3e724555]{position:sticky;bottom:0}.paginator[data-v-b6fa8efe]{display:inline-flex;align-items:center;gap:.5rem}.paginator-info[data-v-b6fa8efe]{font-size:.9rem;color:#000c;padding:0 .5rem}.search-field[data-v-2771c8ed]{display:inline-flex}.search-field input[data-v-2771c8ed]{flex-grow:1}.search-field .reset[data-v-2771c8ed]{cursor:pointer}.search-field .invisible[data-v-2771c8ed]{opacity:0;pointer-events:none}.separator[data-v-e354bb4e]{width:100%;height:1px;background-color:#ddd}.separator.vertical[data-v-e354bb4e]{width:1px;height:100%}.tab-view[data-v-3d4ee454]{display:flex;flex-direction:column}.tab-view-header[data-v-3d4ee454]{display:flex;position:relative}.tab-button[data-v-3d4ee454]{cursor:pointer}.tab-indicator[data-v-3d4ee454]{position:absolute;bottom:0;left:0}.tab-line[data-v-3d4ee454]{position:absolute;bottom:0;left:0;right:0}.tab-view-content[data-v-3d4ee454]{flex:1}.vj-editable-label[data-v-cdc52c5b]{display:inline-flex;align-items:center;gap:8px}.vj-editable-label .label-text[data-v-cdc52c5b]{-webkit-user-select:text;user-select:text;cursor:text;white-space:pre-wrap}.vj-editable-label .edit-icon[data-v-cdc52c5b]{opacity:0;transition:opacity .15s ease-in-out;cursor:pointer;display:inline-flex;align-items:center}.vj-editable-label:hover .edit-icon[data-v-cdc52c5b],.vj-editable-label.editing .edit-icon[data-v-cdc52c5b]{opacity:1}.vj-editable-label .edit-input[data-v-cdc52c5b]{font:inherit;padding:2px 6px;border-radius:4px;border:1px solid rgba(0,0,0,.12);outline:none}.vj-skeleton[data-v-ac05e016]{position:relative;overflow:hidden}.vj-skeleton[data-v-ac05e016]:after{content:"";position:absolute;top:-150%;left:-150%;width:300%;height:300%;transform:translate(0);pointer-events:none}.form-field[data-v-19959d5e],.form-field .form-field__wrapper[data-v-19959d5e]{position:relative;width:100%}.form-field.form-field--inline .form-field__label[data-v-19959d5e]{position:absolute;top:50%;left:12px;transform:translateY(-50%);font-size:1rem;color:var(--color-text-secondary, #6b7280);background:transparent;padding:0 4px;transition:transform .2s ease,font-size .2s ease,top .2s ease,left .2s ease,color .2s ease;pointer-events:none;z-index:1}.form-field.form-field--inline .form-field__label--float[data-v-19959d5e]{top:0;left:8px;transform:translateY(-50%);font-size:.75rem;font-weight:500;color:var(--color-primary, #3b82f6);background:var(--color-surface, white)}.form-field.form-field--outline .form-field__label-outline[data-v-19959d5e]{display:block}.form-field .form-field__help[data-v-19959d5e]{position:absolute;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.form-field.disabled[data-v-19959d5e]{opacity:var(--opacity-disabled, .5)}.form-field.labelless[data-v-19959d5e]{margin-top:0}.form-layout[data-v-96f62ab7]{display:grid;width:100%;align-items:start}.form-layout[data-v-96f62ab7]>*{box-sizing:border-box}.form-section__title[data-v-69cff1d0]{margin:var(--space-m) 0 var(--space-s) 0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #333);border-bottom:1px solid var(--color-border, #e0e0e0);padding-bottom:var(--space-xs)}.select[data-v-fc22f0e9]{position:relative;width:100%}.select .select-trigger[data-v-fc22f0e9]{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer}.select .select-trigger[data-v-fc22f0e9]:hover:not(:disabled){border-color:var(--color-primary, #007bff)}.select .select-trigger[data-v-fc22f0e9]:disabled{opacity:.5;cursor:not-allowed}.select.form-field--control .select-trigger[data-v-fc22f0e9]{padding:0;background:transparent;border:none;border-radius:0}.select.form-field--control .select-trigger[data-v-fc22f0e9]:hover:not(:disabled){border-color:transparent}.select.form-field--control .select-trigger[data-v-fc22f0e9]:focus-visible{outline:none}.select .select-icon-left[data-v-fc22f0e9]{margin-right:.5rem;flex-shrink:0}.select .select-value[data-v-fc22f0e9]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select .select-placeholder[data-v-fc22f0e9]{color:var(--color-text-secondary, #999)}.select .select-clear-icon[data-v-fc22f0e9]{margin-left:.5rem;cursor:pointer;flex-shrink:0;transition:opacity .2s}.select .select-clear-icon[data-v-fc22f0e9]:hover{opacity:.7}.select .select-icon-right[data-v-fc22f0e9]{margin-left:.5rem;transition:transform .2s;flex-shrink:0}.select .select-icon-right.open[data-v-fc22f0e9]{transform:rotate(180deg)}.select .select-dropdown[data-v-fc22f0e9]{z-index:1000;background-color:var(--color-background, #fff);border:1px solid var(--color-border, #ccc);border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow:hidden}.select .select-options[data-v-fc22f0e9]{overflow-y:auto;max-height:300px}.select .select-option[data-v-fc22f0e9]{padding:.5rem .75rem;cursor:pointer;transition:background-color .15s}.select .select-option[data-v-fc22f0e9]:hover,.select .select-option.highlighted[data-v-fc22f0e9]{background-color:var(--color-hover, #f5f5f5)}.select .select-option.selected[data-v-fc22f0e9]{background-color:var(--color-primary-light, #e7f3ff);color:var(--color-primary, #007bff);font-weight:500}.select .select-backdrop[data-v-fc22f0e9]{position:fixed;inset:0;z-index:999;background:transparent}.select .dropdown-enter-active[data-v-fc22f0e9],.select .dropdown-leave-active[data-v-fc22f0e9]{transition:opacity .2s ease,transform .2s ease}.select .dropdown-enter-from[data-v-fc22f0e9],.select .dropdown-leave-to[data-v-fc22f0e9]{opacity:0;transform:translateY(-8px)}.vj-slider[data-v-d47c7475]{width:100%}.track[data-v-d47c7475]{position:relative;height:8px;background:#00000014;border-radius:4px}.range[data-v-d47c7475]{position:absolute;height:100%;background:#0078d4cc;border-radius:4px}.handle[data-v-d47c7475]{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:#fff;border:2px solid rgba(0,0,0,.2);border-radius:50%;box-shadow:0 1px 2px #0000001f}.handle[data-v-d47c7475]:hover{border-color:#0006;width:20px;height:20px}.handle[data-v-d47c7475]:focus{outline:none;box-shadow:0 0 0 4px #0078d426}.tooltip[data-v-d47c7475]{position:absolute;transform:translate(-50%);bottom:calc(100% + 10px);background:#000000d9;color:#fff;padding:6px 8px;border-radius:4px;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none;z-index:5}.tooltip[data-v-d47c7475]:after{content:"";position:absolute;left:50%;transform:translate(-50%);top:100%;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.85)}.handle[data-v-d47c7475]{z-index:3}.input-slider__control[data-v-051e6d17]{display:flex;align-items:center;padding:var(--space-l) var(--space-m)}.input-slider__control[data-v-051e6d17] .vj-slider{width:100%}.textarea[data-v-2ea43716]{display:flex}.textarea .textarea-icon[data-v-2ea43716]{align-self:flex-start;margin-top:.25rem}.textarea textarea[data-v-2ea43716]{flex-grow:1;resize:vertical;min-height:80px}.textarea .clear-icon[data-v-2ea43716]{cursor:pointer;align-self:flex-start;margin-top:.25rem}.textarea .invisible[data-v-2ea43716]{opacity:0;pointer-events:none}.input[data-v-3187d49c]{display:flex}.input input[data-v-3187d49c]{flex-grow:1}.input .clear-icon[data-v-3187d49c]{cursor:pointer}.input .invisible[data-v-3187d49c]{opacity:0;pointer-events:none}.shell-navigation-item[data-v-3a50d1c2]{display:flex;list-style:none}.shell-navigation-item .shell-navigation-item-link[data-v-3a50d1c2]{display:flex;flex-direction:column;justify-content:center;align-items:center;background:none;border:none;padding:0;cursor:pointer;width:100%}.shell-navigation-item .shell-navigation-item-icon[data-v-3a50d1c2]{font-size:1.5rem}.shell-navigation-item .shell-navigation-item-button[data-v-3a50d1c2]{display:flex;flex-direction:column;justify-content:center;align-items:center;border:none;padding:0;cursor:pointer;width:100%}.shell-navigation-item .shell-navigation-item-menu[data-v-3a50d1c2]{z-index:1000;position:absolute}.shell-navigation-item .menu-backdrop[data-v-3a50d1c2]{position:fixed;inset:0;z-index:999;background:transparent}.shell-navigation[data-v-306cfc22]{display:flex;flex-direction:column}.shell-navigation ul[data-v-306cfc22]{display:flex;flex-direction:column;justify-content:flex-start}.shell-navigation ul li[data-v-306cfc22]{list-style:none}.shell-navigation ul li .shell-navigation-link[data-v-306cfc22]{display:flex;flex-direction:column;justify-content:center;align-items:center}.shell-navigation .navigation-top[data-v-306cfc22]{flex:1;overflow-y:auto;overflow-x:hidden;direction:rtl}.shell-navigation .navigation-bottom[data-v-306cfc22]{border-top:var(--border-footer);padding-top:var(--space-s);flex-shrink:0}.shell[data-v-4dfd0097]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.shell header[data-v-4dfd0097]{display:flex;justify-content:space-between}.shell header .shell-title[data-v-4dfd0097]{display:flex;align-items:center}.shell .shell-content[data-v-4dfd0097]{flex:1 1 auto;display:flex;overflow:hidden}.shell .shell-content main[data-v-4dfd0097]{flex:1 1 auto;overflow:auto}.shell .shell-content aside[data-v-4dfd0097]{width:100%;max-width:0px;border-left:1px solid var(--color-border);transition:transform .3s ease-in-out;transition:max-width .75s ease-in}.shell .shell-content aside[data-v-4dfd0097]>*{width:100%;height:100%}.shell .shell-content aside.aside-visible[data-v-4dfd0097]{max-width:500px}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vanjana/vue-ui",
3
- "version": "0.1.93",
3
+ "version": "0.1.95",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/vanjana-vue-ui.umd.js",
@@ -1,7 +1,7 @@
1
1
  @use "../../mixins" as *;
2
2
 
3
3
  .form-field {
4
- margin-top: var(--space-s);
4
+ margin-top: var(--space-l);
5
5
  font-family: inherit;
6
6
 
7
7
  /* LABEL */
@@ -22,6 +22,22 @@
22
22
  opacity: var(--opacity-disabled);
23
23
  }
24
24
 
25
+ .form-field__help {
26
+ top: -8px;
27
+ right: -15px;
28
+ appearance: none;
29
+ border: none;
30
+ background: transparent;
31
+ padding: 0px 0px 3px 0px;
32
+ color: var(--color-text-secondary, #6b7280);
33
+ background: white;
34
+
35
+ .icon {
36
+ font-size: 1rem;
37
+ background: white;
38
+ }
39
+ }
40
+
25
41
  &.labelless {
26
42
  margin-top: 0;
27
43
 
@@ -66,4 +82,42 @@
66
82
  }
67
83
  }
68
84
  }
85
+
86
+ /* OUTLINE LABEL (always on top) */
87
+ &.form-field--outline {
88
+ .form-field__label-outline {
89
+ margin-bottom: var(--space-xs, 4px);
90
+ font-size: 0.875rem;
91
+ font-weight: 500;
92
+ color: var(--color-text-secondary, inherit);
93
+ }
94
+ .form-field__help {
95
+ top: 0px;
96
+ }
97
+ }
98
+
99
+ /* ERROR */
100
+ &.error {
101
+ :deep(.input),
102
+ :deep(.select-trigger),
103
+ :deep(.textarea) {
104
+ outline-color: var(--color-error, #dc2626) !important;
105
+ }
106
+ }
107
+
108
+ .form-field__error {
109
+ margin-top: 4px;
110
+ font-size: 0.875rem;
111
+ color: var(--color-error, #dc2626);
112
+ line-height: 1.4;
113
+ }
114
+ }
115
+
116
+ .form-field.form-field--outline.form-field--underlined {
117
+ .form-field__label-outline {
118
+ margin-bottom: 0;
119
+ }
120
+ .input {
121
+ padding-top: 0;
122
+ }
69
123
  }