@vanjana/vue-ui 0.1.135 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/theme-light.css +2 -1
  2. package/dist/theme-light.js +0 -1
  3. package/dist/types/components/basic-controls.test.d.ts +1 -0
  4. package/dist/types/components/button.test.d.ts +1 -0
  5. package/dist/types/components/button.vue.d.ts +14 -1
  6. package/dist/types/components/card.vue.d.ts +1 -0
  7. package/dist/types/components/carousel.test.d.ts +1 -0
  8. package/dist/types/components/dialog-host.test.d.ts +1 -0
  9. package/dist/types/components/dialog.test.d.ts +1 -0
  10. package/dist/types/components/form/form-field.vue.d.ts +3 -3
  11. package/dist/types/components/form/form-wrappers.test.d.ts +1 -0
  12. package/dist/types/components/form/input-select.vue.d.ts +3 -2
  13. package/dist/types/components/form/input-slider.vue.d.ts +3 -3
  14. package/dist/types/components/form/input-text-area.vue.d.ts +3 -3
  15. package/dist/types/components/form/input-text.vue.d.ts +3 -3
  16. package/dist/types/components/form/input.test.d.ts +1 -0
  17. package/dist/types/components/form/input.vue.d.ts +11 -4
  18. package/dist/types/components/form/select.test.d.ts +1 -0
  19. package/dist/types/components/form/select.vue.d.ts +17 -2
  20. package/dist/types/components/form/textarea.vue.d.ts +2 -2
  21. package/dist/types/components/index.d.ts +4 -1
  22. package/dist/types/components/notification/notification.test.d.ts +1 -0
  23. package/dist/types/components/overlay-host.test.d.ts +1 -0
  24. package/dist/types/components/page.vue.d.ts +1 -1
  25. package/dist/types/components/shell/shell.vue.d.ts +5 -5
  26. package/dist/types/directives/directives.test.d.ts +1 -0
  27. package/dist/types/model/VjRouteRecord.d.ts +5 -6
  28. package/dist/types/provider/feature-module.d.ts +21 -0
  29. package/dist/types/provider/feature-module.test.d.ts +1 -0
  30. package/dist/types/provider/index.d.ts +2 -0
  31. package/dist/types/provider/router-navigation-provider.d.ts +9 -6
  32. package/dist/types/provider/router-navigation-provider.test.d.ts +1 -0
  33. package/dist/types/provider/static-navigation-provider.test.d.ts +1 -0
  34. package/dist/types/provider/translations.d.ts +18 -0
  35. package/dist/types/services/aside.service.d.ts +6 -245
  36. package/dist/types/services/aside.store.d.ts +11 -247
  37. package/dist/types/services/aside.store.test.d.ts +1 -0
  38. package/dist/types/services/dialog.service.d.ts +1 -7
  39. package/dist/types/services/dialog.store.d.ts +13 -0
  40. package/dist/types/services/focus.d.ts +5 -0
  41. package/dist/types/services/icon-registry.test.d.ts +1 -0
  42. package/dist/types/services/index.d.ts +2 -0
  43. package/dist/types/services/notification.service.d.ts +1 -0
  44. package/dist/types/services/notification.service.test.d.ts +1 -0
  45. package/dist/types/services/overlay.service.d.ts +6 -262
  46. package/dist/types/services/overlay.store.d.ts +11 -264
  47. package/dist/types/services/resizeObserver.service.test.d.ts +1 -0
  48. package/dist/types/stories/components/button.stories.d.ts +43 -4
  49. package/dist/types/stories/components/card.stories.d.ts +3 -0
  50. package/dist/types/stories/components/compact.stories.d.ts +2 -2
  51. package/dist/types/stories/components/form-field-help.stories.d.ts +2 -2
  52. package/dist/types/stories/components/form-field.stories.d.ts +2 -2
  53. package/dist/types/stories/components/input.stories.d.ts +14 -5
  54. package/dist/types/stories/components/notification.stories.d.ts +17 -2
  55. package/dist/types/stories/components/select.stories.d.ts +1 -0
  56. package/dist/types/stories/components/textarea.stories.d.ts +2 -2
  57. package/dist/types/stories/components/tooltip.stories.d.ts +17 -2
  58. package/dist/vanjana-vue-ui.es.js +4246 -4285
  59. package/dist/vanjana-vue-ui.umd.js +1 -1
  60. package/dist/vue-ui.css +2 -1
  61. package/package.json +45 -42
  62. package/themes/common/components/form/_form-field.scss +3 -3
  63. /package/dist/types/components/{nav-bar.vue.d.ts → dialog-host.vue.d.ts} +0 -0
@@ -1 +1,2 @@
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);box-shadow:inset 0 0 0 1px var(--dc-border-button-primary);border:none}.button.secondary{background:var(--surface-button-secondary);color:var(--on-surface-button-secondary, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-secondary);border:none}.button.tertiary{background:var(--surface-button-tertiary);color:var(--on-surface-button-tertiary, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-tertiary);border:none}.button:not(:disabled):hover{background:var(--surface-button-hover);color:var(--on-surface-button-hover, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-hover);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);box-shadow:inset 0 0 0 1px var(--dc-border-base);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m)}.card header{display:flex;justify-content:space-between;align-items:center}.card header>span{display:flex;gap:var(--space-s)}.card footer{border-top:var(--border-footer);padding:var(--space-s) 0 0 0}.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 .chip__close{align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer}.chip.chip--small{padding:0 var(--space-m);font-size:x-small;line-height:1rem}.chip.chip--medium{padding:var(--space-xs) var(--space-m);font-size:small;line-height:1rem}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-primary)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.checkbox-input:disabled~.checkbox-label{opacity:.5}.dialog-card{background:var(--surface-base);color:var(--on-surface-base, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-dot-menu)}.button.dot-menu:hover{background:var(--surface-button-hover);color:var(--on-surface-button-hover, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-hover);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);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.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-l);padding-bottom:0;min-height:48px}.page header>span{gap:var(--space-m)}.page header .header-left{gap:var(--space-m)}.page header .header-titles{display:flex;flex-direction:column;gap:var(--space-l)}.page header .header-actions{gap:var(--space-l)}.page header{--space-s: .25rem;--space-m: .5rem;--space-l: .75rem}.page header button{padding-left:var(--space-l);padding-right:var(--space-l)}.page main{padding:8px;margin:-8px}.page main footer{padding-top:var(--space-s);background:var(--surface-base);color:var(--on-surface-base, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-primary)}.radio-box:hover{border-color:var(--color-primary)}.radio-label{font-size:1rem;background:var(--surface-base);color:var(--on-surface-base, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-shell-header)}.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:0 var(--space-s) var(--space-s) var(--space-s);overflow:auto}.shell .shell-content>aside{border-left:1px solid var(--color-border)}.shell .shell-content.with-navigation>main{padding:0 var(--space-m) var(--space-s) var(--space-m)}.shell .shell-navigation{flex-basis:4rem;border-bottom:var(--border-footer)!important;background:var(--surface-navigation);color:var(--on-surface-navigation, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m);border-radius:0 10px 20px 0}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-hover)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-hover)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item-active)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item-active)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link label{text-align:center}.shell .shell-navigation .shell-navigation-item-button{background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-hover)}.shell .shell-navigation .shell-navigation-icon{font-size:1.5rem;background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item)}.shell .shell-navigation .shell-navigation-item-label{display:none;background:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-skeleton)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-skeleton-shimmer)}@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);box-shadow:inset 0 0 0 1px var(--dc-border-tab)}.tab-view .tab-view-header .tab-button:hover{background:var(--surface-tab-hover);color:var(--on-surface-tab-hover, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-tab-hover)}.tab-view .tab-view-header .tab-button.active{background:var(--surface-tab-active);color:var(--on-surface-tab-active, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-tab-active)}.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}.notifications .notification{border:var(--border-dark)}.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__container{gap:var(--space-s)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-success)}.notification--info{background:var(--surface-info);color:var(--on-surface-info, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-info)}.notification--warning{background:var(--surface-warning);color:var(--on-surface-warning, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-warning)}.notification--error{background:var(--surface-danger);color:var(--on-surface-danger, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-danger)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input-label)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input-label-floating)}.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}.form-layout{column-gap:var(--space-m);row-gap: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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.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;opacity:.5}.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);box-shadow:inset 0 0 0 1px var(--dc-border-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)}.select:not(.form-field--control) .select-trigger:hover:not(:disabled){background:var(--surface-input-hover);color:var(--on-surface-input-hover, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-input-hover);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-dropdown{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;background:var(--surface-base);color:var(--on-surface-base, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.select-options{overflow-y:auto;max-height:300px}.select-option{padding:.5rem .75rem;cursor:pointer;transition:background-color .15s}.select-option:hover,.select-option.highlighted{background:var(--surface-button-hover);color:var(--on-surface-button-hover, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-hover)}.select-option.selected{background:var(--surface-button-primary);color:var(--on-surface-button-primary, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-primary);font-weight:500}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.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;background:transparent;font:inherit;color:inherit}.textarea textarea:disabled{opacity:.5;cursor:not-allowed}.textarea .clear-icon{position:absolute;right:var(--space-xs);top:-10px;padding:0px var(--space-s);opacity:.5;background:var(--surface-input);color:var(--on-surface-input, inherit);box-shadow:inset 0 0 0 1px var(--dc-border-input);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__dark: #999999;--color-border-highlight: #6d5df6;--border-footer: solid 1px var(--color-border);--border-input: solid 1px var(--color-border);--border-dark: solid 1px var(--color-border__dark);--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;--dc-border-base: transparent;--surface-input: #ffffff;--on-surface-input: #333333;--dc-border-input: transparent;--surface-input-label: #ffffff;--on-surface-input-label: #64748b;--dc-border-input-label: transparent;--surface-input-label-floating: #ffffff;--on-surface-input-label-floating: #4c1d95;--dc-border-input-label-floating: transparent;--surface-shell-header: #ffffff;--on-surface-shell-header: #2d3748;--dc-border-shell-header: transparent;--surface-navigation: #ffffff;--on-surface-navigation: #2d3748;--dc-border-navigation: transparent;--surface-navigation-item: transparent;--on-surface-navigation-item: #64748b;--dc-border-navigation-item: transparent;--surface-navigation-item-active: rgba(255, 255, 255, .5);--on-surface-navigation-item-active: #3b82c4;--dc-border-navigation-item-active: transparent;--surface-navigation-hover: transparent;--on-surface-navigation-hover: #3b82c4;--dc-border-navigation-hover: transparent;--surface-button-primary: var(--primary-gradient);--on-surface-button-primary: #ffffff;--dc-border-button-primary: transparent;--surface-button-secondary: #f97316;--on-surface-button-secondary: #ffffff;--dc-border-button-secondary: transparent;--surface-button-tertiary: transparent;--on-surface-button-tertiary: #374151;--dc-border-button-tertiary: transparent;--surface-dot-menu: #eeeeee;--on-surface-dot-menu: #374151;--dc-border-dot-menu: transparent;--surface-button-hover: #403b9c;--on-surface-button-hover: #ffffff;--dc-border-button-hover: transparent;--surface-tab: transparent;--on-surface-tab: #333333;--dc-border-tab: transparent;--surface-tab-hover: transparent;--on-surface-tab-hover: #3b82c4;--dc-border-tab-hover: transparent;--surface-tab-active: transparent;--on-surface-tab-active: #3b82c4;--dc-border-tab-active: transparent;--surface-primary: var(--primary-solid);--on-surface-primary: #ffffff;--dc-border-primary: transparent;--surface-success: #ecfdf5;--on-surface-success: #107c41;--dc-border-success: transparent;--surface-info: #e6f0ff;--on-surface-info: #0b57d0;--dc-border-info: transparent;--surface-warning: #fef3c7;--on-surface-warning: #b45309;--dc-border-warning: transparent;--surface-danger: #fee2e2;--on-surface-danger: #c2185b;--dc-border-danger: transparent;--surface-skeleton: #e9ecef;--on-surface-skeleton: #b00020;--dc-border-skeleton: transparent;--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;--dc-border-skeleton-shimmer: transparent;--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
+ .button{box-shadow:var(--box-shadow-component);border-radius:var(--border-radius-component);padding:var(--space-s) var(--space-m);justify-content:center;align-items:center;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);transition:opacity .1s ease-in-out}.button.primary{background:var(--surface-button-primary);color:var(--on-surface-button-primary,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-primary);border:none}.button.secondary{background:var(--surface-button-secondary);color:var(--on-surface-button-secondary,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-secondary);border:none}.button.tertiary{background:var(--surface-button-tertiary);color:var(--on-surface-button-tertiary,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-tertiary);border:none}.button:not(:disabled):hover{background:var(--surface-button-hover);color:var(--on-surface-button-hover,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-hover);cursor:pointer}.button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.button:active{opacity:.8;transform:scale(.98)}.button.icon-only{border-radius:50%;width:40px;height:40px}.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);box-shadow:inset 0 0 0 1px var(--dc-border-base);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m)}.card header{justify-content:space-between;align-items:center;display:flex}.card header>span{gap:var(--space-s);display:flex}.card footer{border-top:var(--border-footer);padding:var(--space-s) 0 0 0}.card .header-actions .button:not(.menu-action){padding:0 var(--space-m)}.card .header-actions .button.icon-only:not(.menu-action){border-radius:50%;width:32px;height:32px}.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);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);background:#0000000f;border-radius:2rem}.chip .chip__close{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0}.chip.chip--small{padding:0 var(--space-m);font-size:x-small;line-height:1rem}.chip.chip--medium{padding:var(--space-xs) var(--space-m);font-size:small;line-height:1rem}.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{border:2px solid var(--color-border);border-radius:var(--border-radius-input);background:var(--surface-input);width:20px;height:20px;color:var(--on-surface-input,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-input);transition:all .2s}.checkbox-icon{width:16px;height:16px}.checkbox-check{stroke-dasharray:24;stroke-dashoffset:24px;stroke:currentColor;transition:stroke-dashoffset .3s}.checkbox-input:checked+.checkbox-box{background:var(--surface-primary);color:var(--on-surface-primary,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-primary)}.checkbox-input:checked+.checkbox-box .checkbox-check{stroke-dashoffset:0}.checkbox-box:hover{border-color:var(--color-primary)}.checkbox-label{background:var(--surface-base);color:var(--on-surface-base,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-base);font-size:1rem}.checkbox-input:disabled~.checkbox-label{opacity:.5}.dialog-card{background:var(--surface-base);color:var(--on-surface-base,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.dialog-card .header-actions .button:not(.menu-action){padding:0 var(--space-m)}.dialog-card .header-actions .button.icon-only:not(.menu-action){border-radius:50%;width:32px;height:32px}.button.dot-menu{background:var(--surface-dot-menu);color:var(--on-surface-dot-menu,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-dot-menu)}.button.dot-menu:hover{background:var(--surface-button-hover);color:var(--on-surface-button-hover,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-hover);cursor:pointer}.icon-size-s{font-size:1rem}.icon-size-m{font-size:1.5rem}.icon-size-l{font-size:2rem}.vj-loading-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:9999;pointer-events:all;background:#fff9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vj-loading-overlay .vj-loading-inner{justify-content:center;align-items:center;gap:var(--space-xl);padding:var(--space-xl);border-radius:var(--space-m);box-shadow:var(--box-shadow-container);pointer-events:none;background:#ffffffeb;flex-direction:column;display:flex}.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{gap:8px;padding:12px}.vj-loading-overlay .vj-loading-inner--minimal{box-shadow:none;background:0 0;padding:6px}.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);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.menu-action{box-shadow:var(--box-shadow-component);padding:var(--space-s) var(--space-m);gap:var(--space-m);border-radius:0}.menu-action .menu-action--icon{width:24px;height:24px}.page{gap:var(--space-m)}.page header{gap:var(--space-l);min-height:48px;padding-bottom:0}.page header>span,.page header .header-left{gap:var(--space-m)}.page header .header-titles{gap:var(--space-l);flex-direction:column;display:flex}.page header .header-actions{gap:var(--space-l)}.page header{--space-s:.25rem;--space-m:.5rem;--space-l:.75rem}.page header button{padding-left:var(--space-l);padding-right:var(--space-l)}.page main{margin:-8px;padding:8px}.page main footer{padding-top:var(--space-s);background:var(--surface-base);color:var(--on-surface-base,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-base)}.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{border:2px solid var(--color-border);background:var(--surface-input);width:20px;height:20px;color:var(--on-surface-input,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-input);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.radio-dot{background:currentColor;border-radius:50%;width:10px;height:10px;transition:transform .18s;transform:scale(0)}.radio-input:checked+.radio-box .radio-dot{background:var(--surface-primary);color:var(--on-surface-primary,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-primary);transform:scale(1)}.radio-box:hover{border-color:var(--color-primary)}.radio-label{background:var(--surface-base);color:var(--on-surface-base,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-base);font-size:1rem}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.search-field>*{align-self:center}.search-field:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.search-field input{margin:0 var(--space-s);font:inherit;color:inherit;background:0 0;border:none;outline:none;padding:0}.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);box-shadow:inset 0 0 0 1px var(--dc-border-shell-header)}.shell>header .shell-title{gap:var(--space-m)}.shell>header .shell-title img{width:40px;height:40px}.shell>header .header-actions{gap:var(--space-s);display:flex}.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:0 var(--space-s) var(--space-s) var(--space-s);overflow:auto}.shell .shell-content>aside{border-left:1px solid var(--color-border)}.shell .shell-content.with-navigation>main{padding:0 var(--space-m) var(--space-s) var(--space-m)}.shell .shell-navigation{background:var(--surface-navigation);color:var(--on-surface-navigation,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m);border-radius:0 10px 20px 0;flex-basis:4rem;border-bottom:var(--border-footer)!important}.shell .shell-navigation ul{gap:var(--space-s);margin:0;padding:0}.shell .shell-navigation .shell-navigation-item{margin:0;padding:0}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link{padding:var(--space-m) var(--space-s);background:var(--surface-navigation-item);color:var(--on-surface-navigation-item,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item);border-left:5px solid #0000;text-decoration:none;transition:all .2s}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link:hover{background:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-hover);border-left:5px solid}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-hover)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link.router-link-active{background:var(--surface-navigation-item-active);color:var(--on-surface-navigation-item-active,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item-active);border-left:5px solid}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item-active)}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link label{text-align:center}.shell .shell-navigation .shell-navigation-item-button{background:var(--surface-navigation-item);color:var(--on-surface-navigation-item,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-hover)}.shell .shell-navigation .shell-navigation-icon{background:var(--surface-navigation-item);color:var(--on-surface-navigation-item,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item);font-size:1.5rem}.shell .shell-navigation .shell-navigation-item-label{background:var(--surface-navigation-item);color:var(--on-surface-navigation-item,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-navigation-item);display:none}.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);box-shadow:inset 0 0 0 1px var(--dc-border-skeleton)}.vj-skeleton:after{filter:blur(.2px);opacity:.95;background:var(--surface-skeleton-shimmer);color:var(--on-surface-skeleton-shimmer,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-skeleton-shimmer);animation:2.5s linear infinite shimmer-diag;transform:translate(0)}@keyframes shimmer-diag{0%{transform:translate(-100%,-100%)}to{transform:translate(100%,100%)}}@media (prefers-reduced-motion:reduce){.vj-skeleton .vj-skeleton:after{opacity:.6;animation:none}}.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);cursor:pointer;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:0 0;background:var(--surface-tab);color:var(--on-surface-tab,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-tab);border:none;transition:color .2s}.tab-view .tab-view-header .tab-button:hover{background:var(--surface-tab-hover);color:var(--on-surface-tab-hover,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-tab-hover)}.tab-view .tab-view-header .tab-button.active{background:var(--surface-tab-active);color:var(--on-surface-tab-active,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-tab-active)}.tab-indicator{height:var(--tab-indicator-height);background-color:var(--color-border-highlight);transition:all .3s}.tab-line{height:var(--tab-indicator-height);background-color:var(--color-border)}.tab-view-content{flex:1}.tab{animation:.2s ease-in fadeIn}@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;white-space:nowrap;opacity:0;transform-origin:50%;color:#fff;box-shadow:var(--box-shadow-container,0 6px 18px #0000001f);background:#000000d1;border-radius:6px;padding:6px 10px;font-size:.85rem;line-height:1;transition:opacity .16s,transform .16s;display:inline-block}.vj-tooltip--visible{opacity:1}.notifications .notification{border:var(--border-dark)}.notification{gap:var(--space-s);padding:var(--space-xs) var(--space-s);border-radius:var(--border-radius-component);border-left:4px solid;position:relative}.notification .notification__container{gap:var(--space-s)}.notification .notification__message{gap:var(--space-s);flex:auto}.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);box-shadow:inset 0 0 0 1px var(--dc-border-success)}.notification--info{background:var(--surface-info);color:var(--on-surface-info,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-info)}.notification--warning{background:var(--surface-warning);color:var(--on-surface-warning,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-warning)}.notification--error{background:var(--surface-danger);color:var(--on-surface-danger,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-danger)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input-label)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input-label-floating)}.form-field.disabled{opacity:var(--opacity-disabled)}.form-field .form-field__help{appearance:none;color:var(--color-text-secondary,#6b7280);background:#fff;border:none;padding:0 0 3px;top:-8px;right:-15px}.form-field .form-field__help .icon{background:#fff;font-size:1rem}.form-field.labelless{margin-top:0}.form-field.labelless .form-field__label{display:none}.form-field.form-field--underlined .form-field__label{padding-left:0!important;left:0!important}.form-field.form-field--underlined .input,.form-field.form-field--underlined .textarea{box-shadow:0px 2px 0px var(--color-border);border-radius:0!important;outline:none!important;padding-left:0!important;padding-right:0!important}.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{border-width:2px!important;border-top-style:none!important;border-top-color:currentColor!important;border-left-style:none!important;border-left-color:currentColor!important;border-right-style:none!important;border-right-color:currentColor!important;border-color:var(--color-border)!important;border-radius:0!important;outline:none!important;padding-left:0!important}.form-field.form-field--underlined .select-trigger:focus-visible{box-shadow:none!important;border-color:#7c3aed!important;outline:none!important}.form-field.form-field--outline .form-field__label-outline{margin-bottom:var(--space-xs,4px);color:var(--color-text-secondary,inherit);font-size:.875rem;font-weight:500}.form-field.form-field--outline .form-field__help{top:0}.form-field.error .input,.form-field.error .select-trigger,.form-field.error .textarea{outline-color:var(--color-error,#dc2626)!important}.form-field .form-field__error{color:var(--color-error,#dc2626);margin-top:4px;font-size:.875rem;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}.form-layout{column-gap:var(--space-m);row-gap: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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.input>*{align-self:center;width:100%}.input:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.input input{margin:0 var(--space-s);font:inherit;color:inherit;background:0 0;border:none;outline:none;padding:0}.input input:disabled{opacity:.5;cursor:not-allowed}.input .clear-icon{opacity:.5;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;outline:var(--border-input);outline-offset:-1px;background:var(--surface-input);height:40px;color:var(--on-surface-input,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-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);transition:all .2s}.select:not(.form-field--control) .select-trigger:hover:not(:disabled){background:var(--surface-input-hover);color:var(--on-surface-input-hover,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-input-hover);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-dropdown{z-index:1000;background-color:var(--color-background,#fff);border:1px solid var(--color-border,#ccc);background:var(--surface-base);max-height:300px;color:var(--on-surface-base,inherit);box-shadow:0 4px 12px #00000026;box-shadow:inset 0 0 0 1px var(--dc-border-base);border-radius:4px;overflow:hidden}.select-options{max-height:300px;overflow-y:auto}.select-option{cursor:pointer;padding:.5rem .75rem;transition:background-color .15s}.select-option:hover,.select-option.highlighted{background:var(--surface-button-hover);color:var(--on-surface-button-hover,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-hover)}.select-option.selected{background:var(--surface-button-primary);color:var(--on-surface-button-primary,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-button-primary);font-weight:500}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.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);box-shadow:inset 0 0 0 1px var(--dc-border-input)}.textarea>*{align-self:flex-start}.textarea:focus-within{outline-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.textarea textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none;padding:0}.textarea textarea:disabled{opacity:.5;cursor:not-allowed}.textarea .clear-icon{right:var(--space-xs);padding:0px var(--space-s);opacity:.5;background:var(--surface-input);color:var(--on-surface-input,inherit);box-shadow:inset 0 0 0 1px var(--dc-border-input);transition:opacity .2s ease-in;position:absolute;top:-10px}:root{--box-shadow-container:#0000003d 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:#ccc;--color-border__dark:#999;--color-border-highlight:#6d5df6;--border-footer:solid 1px var(--color-border);--border-input:solid 1px var(--color-border);--border-dark:solid 1px var(--color-border__dark);--border-radius-input:6px;--opacity-disabled:.5;--tab-indicator-height:3px;--spinner-gradient:linear-gradient(90deg, #00b3a6 0%, #6fb6ff 40%, #ffd39a 80%);--surface-base:#fff;--on-surface-base:#333;--dc-border-base:transparent;--surface-input:#fff;--on-surface-input:#333;--dc-border-input:transparent;--surface-input-label:#fff;--on-surface-input-label:#64748b;--dc-border-input-label:transparent;--surface-input-label-floating:#fff;--on-surface-input-label-floating:#4c1d95;--dc-border-input-label-floating:transparent;--surface-shell-header:#fff;--on-surface-shell-header:#2d3748;--dc-border-shell-header:transparent;--surface-navigation:#fff;--on-surface-navigation:#2d3748;--dc-border-navigation:transparent;--surface-navigation-item:transparent;--on-surface-navigation-item:#64748b;--dc-border-navigation-item:transparent;--surface-navigation-item-active:#ffffff80;--on-surface-navigation-item-active:#3b82c4;--dc-border-navigation-item-active:transparent;--surface-navigation-hover:transparent;--on-surface-navigation-hover:#3b82c4;--dc-border-navigation-hover:transparent;--surface-button-primary:var(--primary-gradient);--on-surface-button-primary:#fff;--dc-border-button-primary:transparent;--surface-button-secondary:#f97316;--on-surface-button-secondary:#fff;--dc-border-button-secondary:transparent;--surface-button-tertiary:transparent;--on-surface-button-tertiary:#374151;--dc-border-button-tertiary:transparent;--surface-dot-menu:#eee;--on-surface-dot-menu:#374151;--dc-border-dot-menu:transparent;--surface-button-hover:#403b9c;--on-surface-button-hover:#fff;--dc-border-button-hover:transparent;--surface-tab:transparent;--on-surface-tab:#333;--dc-border-tab:transparent;--surface-tab-hover:transparent;--on-surface-tab-hover:#3b82c4;--dc-border-tab-hover:transparent;--surface-tab-active:transparent;--on-surface-tab-active:#3b82c4;--dc-border-tab-active:transparent;--surface-primary:var(--primary-solid);--on-surface-primary:#fff;--dc-border-primary:transparent;--surface-success:#ecfdf5;--on-surface-success:#107c41;--dc-border-success:transparent;--surface-info:#e6f0ff;--on-surface-info:#0b57d0;--dc-border-info:transparent;--surface-warning:#fef3c7;--on-surface-warning:#b45309;--dc-border-warning:transparent;--surface-danger:#fee2e2;--on-surface-danger:#c2185b;--dc-border-danger:transparent;--surface-skeleton:#e9ecef;--on-surface-skeleton:#b00020;--dc-border-skeleton:transparent;--surface-skeleton-shimmer:linear-gradient(135deg, #fff0 30%, #ffffffa6 50%, #fff0 70%);--on-surface-skeleton-shimmer:#b00020;--dc-border-skeleton-shimmer:transparent;--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%;margin:0;padding:0}a{color:#fff}
2
+ /*$vite$:1*/
@@ -1 +0,0 @@
1
-
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -5,7 +5,20 @@ type Props = {
5
5
  secondary?: boolean;
6
6
  tertiary?: boolean;
7
7
  disabled?: boolean;
8
+ loading?: boolean;
9
+ type?: 'button' | 'submit' | 'reset';
8
10
  };
9
- declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
+ click: (event: MouseEvent) => any;
13
+ focus: (event: FocusEvent) => any;
14
+ blur: (event: FocusEvent) => any;
15
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
16
+ onClick?: ((event: MouseEvent) => any) | undefined;
17
+ onFocus?: ((event: FocusEvent) => any) | undefined;
18
+ onBlur?: ((event: FocusEvent) => any) | undefined;
19
+ }>, {
20
+ type: "button" | "submit" | "reset";
21
+ loading: boolean;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
23
  declare const _default: typeof __VLS_export;
11
24
  export default _default;
@@ -1,5 +1,6 @@
1
1
  type Props = {
2
2
  header: string;
3
+ headerId?: string;
3
4
  scrollable?: boolean;
4
5
  };
5
6
  declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import { FormFieldProps } from '@/model';
1
+ import { FormFieldProps } from '../../model';
2
2
  declare function handleInput(event: Event): void;
3
3
  declare function handleFocus(e: FocusEvent): void;
4
4
  declare function handleBlur(e: FocusEvent): void;
@@ -16,12 +16,12 @@ type __VLS_Slots = {} & {
16
16
  };
17
17
  declare const __VLS_base: import("vue").DefineComponent<FormFieldProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
18
  "update:modelValue": (...args: any[]) => void;
19
- blur: (...args: any[]) => void;
20
19
  focus: (...args: any[]) => void;
20
+ blur: (...args: any[]) => void;
21
21
  }, string, import("vue").PublicProps, Readonly<FormFieldProps> & Readonly<{
22
22
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
23
- onBlur?: ((...args: any[]) => any) | undefined;
24
23
  onFocus?: ((...args: any[]) => any) | undefined;
24
+ onBlur?: ((...args: any[]) => any) | undefined;
25
25
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
27
  declare const _default: typeof __VLS_export;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,15 +1,16 @@
1
- import { FormFieldProps } from '@/model/FormFieldProps';
1
+ import { FormFieldProps } from '../../model/FormFieldProps';
2
2
  declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
3
  props: import("vue").PublicProps & __VLS_PrettifyLocal<(FormFieldProps & {
4
4
  options: {
5
5
  label: string;
6
6
  value: string | number;
7
7
  }[];
8
+ editable?: boolean;
8
9
  }) & {
9
10
  onInput?: ((value: string | number) => any) | undefined;
10
11
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
11
- onBlur?: ((value: FocusEvent) => any) | undefined;
12
12
  onFocus?: ((value: FocusEvent) => any) | undefined;
13
+ onBlur?: ((value: FocusEvent) => any) | undefined;
13
14
  }> & (typeof globalThis extends {
14
15
  __VLS_PROPS_FALLBACK: infer P;
15
16
  } ? P : {});
@@ -1,4 +1,4 @@
1
- import { FormFieldProps } from '@/model/FormFieldProps';
1
+ import { FormFieldProps } from '../../model/FormFieldProps';
2
2
  type Props = FormFieldProps & {
3
3
  min?: number;
4
4
  max?: number;
@@ -14,13 +14,13 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
14
14
  } & {
15
15
  input: (value: number) => any;
16
16
  "update:modelValue": (value: number) => any;
17
- blur: (value: FocusEvent) => any;
18
17
  focus: (value: FocusEvent) => any;
18
+ blur: (value: FocusEvent) => any;
19
19
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
20
  onInput?: ((value: number) => any) | undefined;
21
21
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
22
- onBlur?: ((value: FocusEvent) => any) | undefined;
23
22
  onFocus?: ((value: FocusEvent) => any) | undefined;
23
+ onBlur?: ((value: FocusEvent) => any) | undefined;
24
24
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
25
  declare const _default: typeof __VLS_export;
26
26
  export default _default;
@@ -1,17 +1,17 @@
1
- import { FormFieldProps } from '@/model/FormFieldProps';
1
+ import { FormFieldProps } from '../../model/FormFieldProps';
2
2
  type Props = FormFieldProps & {
3
3
  rows?: number;
4
4
  };
5
5
  declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
6
6
  input: (value: string | number) => any;
7
7
  "update:modelValue": (value: string | number) => any;
8
- blur: (value: FocusEvent) => any;
9
8
  focus: (value: FocusEvent) => any;
9
+ blur: (value: FocusEvent) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
11
11
  onInput?: ((value: string | number) => any) | undefined;
12
12
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
13
- onBlur?: ((value: FocusEvent) => any) | undefined;
14
13
  onFocus?: ((value: FocusEvent) => any) | undefined;
14
+ onBlur?: ((value: FocusEvent) => any) | undefined;
15
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const _default: typeof __VLS_export;
17
17
  export default _default;
@@ -1,17 +1,17 @@
1
- import { FormFieldProps } from '@/model/FormFieldProps';
1
+ import { FormFieldProps } from '../../model/FormFieldProps';
2
2
  type Props = FormFieldProps & {
3
3
  type: 'text' | 'password' | 'email' | 'number';
4
4
  };
5
5
  declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
6
6
  input: (value: string | number) => any;
7
7
  "update:modelValue": (value: string | number) => any;
8
- blur: (value: FocusEvent) => any;
9
8
  focus: (value: FocusEvent) => any;
9
+ blur: (value: FocusEvent) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
11
11
  onInput?: ((value: string | number) => any) | undefined;
12
12
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
13
- onBlur?: ((value: FocusEvent) => any) | undefined;
14
13
  onFocus?: ((value: FocusEvent) => any) | undefined;
14
+ onBlur?: ((value: FocusEvent) => any) | undefined;
15
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const _default: typeof __VLS_export;
17
17
  export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,23 +1,30 @@
1
1
  type __VLS_Props = {
2
2
  icon?: string;
3
+ id?: string;
3
4
  type?: 'text' | 'password' | 'email' | 'number';
4
5
  placeholder?: string;
5
6
  disabled?: boolean;
6
7
  clearable?: boolean;
8
+ clearLabel?: string;
7
9
  };
8
10
  type __VLS_ModelProps = {
9
- modelValue?: string | number;
11
+ modelValue?: string | number | undefined;
10
12
  };
11
13
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
14
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
15
  "update:modelValue": (value: string | number | undefined) => any;
14
16
  } & {
15
- blur: (event: FocusEvent) => any;
17
+ input: (value: string | number | undefined) => any;
16
18
  focus: (event: FocusEvent) => any;
19
+ blur: (event: FocusEvent) => any;
17
20
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
+ onInput?: ((value: string | number | undefined) => any) | undefined;
18
22
  "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
19
- onBlur?: ((event: FocusEvent) => any) | undefined;
20
23
  onFocus?: ((event: FocusEvent) => any) | undefined;
21
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ onBlur?: ((event: FocusEvent) => any) | undefined;
25
+ }>, {
26
+ type: "text" | "password" | "email" | "number";
27
+ clearLabel: string;
28
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
29
  declare const _default: typeof __VLS_export;
23
30
  export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  import type { PropType } from 'vue';
2
2
  declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
3
  props: import("vue").PublicProps & __VLS_PrettifyLocal<{
4
- modelValue?: T | unknown;
4
+ modelValue?: unknown;
5
5
  } & import("vue").ExtractPublicPropTypes<{
6
6
  options: {
7
7
  type: PropType<T[]>;
@@ -35,8 +35,19 @@ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_se
35
35
  type: BooleanConstructor;
36
36
  default: boolean;
37
37
  };
38
+ clearLabel: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ editable: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
38
46
  }> & {
47
+ onInput?: ((value: unknown) => any) | undefined;
39
48
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
49
+ onFocus?: ((event: FocusEvent) => any) | undefined;
50
+ onBlur?: ((event: FocusEvent) => any) | undefined;
40
51
  }> & (typeof globalThis extends {
41
52
  __VLS_PROPS_FALLBACK: infer P;
42
53
  } ? P : {});
@@ -55,7 +66,11 @@ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_se
55
66
  selected: boolean;
56
67
  }) => any;
57
68
  };
58
- emit: (evt: "update:modelValue", value: unknown) => void;
69
+ emit: {
70
+ (e: "input", value: unknown): void;
71
+ (e: "focus", event: FocusEvent): void;
72
+ (e: "blur", event: FocusEvent): void;
73
+ } & ((event: "update:modelValue", value: unknown) => void);
59
74
  }>) => import("vue").VNode & {
60
75
  __ctx?: Awaited<typeof __VLS_setup>;
61
76
  };
@@ -12,12 +12,12 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
12
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
13
  "update:modelValue": (value: string | undefined) => any;
14
14
  } & {
15
- blur: (event: FocusEvent) => any;
16
15
  focus: (event: FocusEvent) => any;
16
+ blur: (event: FocusEvent) => any;
17
17
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
18
  "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
19
- onBlur?: ((event: FocusEvent) => any) | undefined;
20
19
  onFocus?: ((event: FocusEvent) => any) | undefined;
20
+ onBlur?: ((event: FocusEvent) => any) | undefined;
21
21
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
22
  declare const _default: typeof __VLS_export;
23
23
  export default _default;
@@ -9,6 +9,7 @@ import ChipGroup from './chip-group.vue';
9
9
  import ChipSelector from './chip-selector.vue';
10
10
  import Chip from './chip.vue';
11
11
  import Dialog from './dialog.vue';
12
+ import DialogHost from './dialog-host.vue';
12
13
  import DotMenu from './dot-menu.vue';
13
14
  import Icon from './icon.vue';
14
15
  import LinkButton from './link-button.vue';
@@ -26,9 +27,11 @@ import Timer from './timer.vue';
26
27
  import EditableLabel from './editable-label.vue';
27
28
  import Skeleton from './skeleton.vue';
28
29
  import AmountBar from './amount-bar.vue';
30
+ import Data from './data/data.vue';
31
+ import StepFlow from './step-flow.vue';
29
32
  import Upload from './upload.vue';
30
33
  export type { ChipSelectorOption, ChipSelectorProps } from './chip-selector.vue';
31
34
  export * from './form';
32
35
  export * from './shell';
33
36
  export * from './notification';
34
- export { Accordion, AmountBar, Button, ButtonBar, Card, Carousel, Checkbox, Radio, Chip, ChipGroup, ChipSelector, Dialog, DotMenu, Icon, LinkButton, Menu, MenuAction, OverlayHost, Page, Paginator, SearchField, Separator, Spinner, Tab, TabView, Timer, EditableLabel, Skeleton, Upload, };
37
+ export { Accordion, AmountBar, Button, ButtonBar, Card, Carousel, Checkbox, Data, EditableLabel, Radio, Chip, ChipGroup, ChipSelector, Dialog, DialogHost, DotMenu, Icon, LinkButton, Menu, MenuAction, OverlayHost, Page, Paginator, SearchField, Separator, Spinner, Tab, TabView, Timer, Skeleton, Upload, StepFlow, };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import { Flow } from '@/services';
1
+ import { Flow } from '../services';
2
2
  type Props = {
3
3
  title?: string;
4
4
  subTitle?: string;
@@ -3,15 +3,15 @@ type Props = {
3
3
  icon?: string;
4
4
  showNavigation?: boolean;
5
5
  };
6
- declare var __VLS_6: {}, __VLS_8: {}, __VLS_17: {}, __VLS_19: {};
6
+ declare var __VLS_11: {}, __VLS_13: {}, __VLS_22: {}, __VLS_24: {};
7
7
  type __VLS_Slots = {} & {
8
- header?: (props: typeof __VLS_6) => any;
8
+ header?: (props: typeof __VLS_11) => any;
9
9
  } & {
10
- 'header-actions'?: (props: typeof __VLS_8) => any;
10
+ 'header-actions'?: (props: typeof __VLS_13) => any;
11
11
  } & {
12
- 'navigation-fixed'?: (props: typeof __VLS_17) => any;
12
+ 'navigation-fixed'?: (props: typeof __VLS_22) => any;
13
13
  } & {
14
- default?: (props: typeof __VLS_19) => any;
14
+ default?: (props: typeof __VLS_24) => any;
15
15
  };
16
16
  declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
17
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,12 +1,11 @@
1
1
  import { RouteRecordRaw } from 'vue-router';
2
- type VjMeta = {
3
- icon: string;
4
- label: string;
5
- } | {
6
- hideInNav: true;
2
+ export type VjMeta = {
3
+ icon?: string;
4
+ label?: string;
5
+ labelKey?: string;
6
+ hideInNav?: boolean;
7
7
  };
8
8
  export type VjRouteRecord = RouteRecordRaw & {
9
9
  meta?: VjMeta;
10
10
  children?: VjRouteRecord[];
11
11
  };
12
- export {};
@@ -0,0 +1,21 @@
1
+ import type { App } from 'vue';
2
+ import type { Router } from 'vue-router';
3
+ import type { VjRouteRecord } from '../model';
4
+ import { type VjModuleTranslations, type VjTranslationConflictPolicy } from './translations';
5
+ export type VjFeatureModuleConfig = {
6
+ name: string;
7
+ routes?: VjRouteRecord[];
8
+ translations?: VjModuleTranslations;
9
+ translationScope?: string;
10
+ translationConflictPolicy?: VjTranslationConflictPolicy;
11
+ registerTranslations?: (translations: VjModuleTranslations, context: {
12
+ scope: string;
13
+ conflictPolicy: VjTranslationConflictPolicy;
14
+ }) => void | Promise<void>;
15
+ };
16
+ export type VjFeatureModule = {
17
+ name: string;
18
+ config: VjFeatureModuleConfig;
19
+ install: (app: App) => void;
20
+ };
21
+ export declare const createVjFeatureModule: (config: VjFeatureModuleConfig, router: Router) => VjFeatureModule;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,4 @@
1
1
  export * from './router-navigation-provider';
2
2
  export * from './static-navigation-provider';
3
+ export * from './translations';
4
+ export * from './feature-module';
@@ -1,5 +1,12 @@
1
1
  import { VjRouteRecord } from '../model';
2
2
  export declare const VjNavigationProviderKey = "navigationProvider";
3
+ type VisibleNavigationRoute = VjRouteRecord & {
4
+ meta: {
5
+ icon?: string;
6
+ label: string;
7
+ labelKey?: string;
8
+ };
9
+ };
3
10
  export declare const useRouterNavigationProvider: () => {
4
11
  hasParent: import("vue").ComputedRef<boolean>;
5
12
  backRoute: import("vue").ComputedRef<{
@@ -9,11 +16,7 @@ export declare const useRouterNavigationProvider: () => {
9
16
  path: string;
10
17
  name?: undefined;
11
18
  } | null>;
12
- childRoutes: import("vue").ComputedRef<(VjRouteRecord & {
13
- meta: {
14
- icon: string;
15
- label: string;
16
- };
17
- })[]>;
19
+ childRoutes: import("vue").ComputedRef<VisibleNavigationRoute[]>;
18
20
  showLabels: boolean;
19
21
  };
22
+ export {};
@@ -0,0 +1,18 @@
1
+ import { type App, type Ref } from 'vue';
2
+ export type VjNestedTranslations = {
3
+ [key: string]: string | VjNestedTranslations;
4
+ };
5
+ export type VjModuleTranslations = Record<string, VjNestedTranslations>;
6
+ export type VjTranslationConflictPolicy = 'preserve' | 'overwrite';
7
+ export declare const VjTranslationRegistryKey: unique symbol;
8
+ export type VjTranslationRegistry = {
9
+ locale: Ref<string>;
10
+ register: (translations: VjModuleTranslations, policy?: VjTranslationConflictPolicy) => void;
11
+ t: (key: string, fallback?: string) => string;
12
+ };
13
+ export declare const createVjTranslationRegistry: (initialLocale?: string) => VjTranslationRegistry;
14
+ export declare const useVjTranslations: () => {
15
+ locale: Ref<string, string>;
16
+ t: (key: string, fallback?: string) => string;
17
+ };
18
+ export declare const provideVjTranslationRegistry: (app: App, registry?: VjTranslationRegistry) => VjTranslationRegistry;