@vanjana/vue-ui 0.1.61 → 0.1.85

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 (64) hide show
  1. package/dist/theme-light.css +1 -1
  2. package/dist/types/components/chip-group.vue.d.ts +40 -0
  3. package/dist/types/components/chip-selector.vue.d.ts +24 -0
  4. package/dist/types/components/chip.vue.d.ts +28 -0
  5. package/dist/types/components/dialog.vue.d.ts +2 -2
  6. package/dist/types/components/editable-label.vue.d.ts +13 -0
  7. package/dist/types/components/form/form-field.vue.d.ts +2 -2
  8. package/dist/types/components/form/input-select.vue.d.ts +1 -1
  9. package/dist/types/components/form/input-slider.vue.d.ts +2 -2
  10. package/dist/types/components/form/input-text-area.vue.d.ts +2 -2
  11. package/dist/types/components/form/input-text.vue.d.ts +2 -2
  12. package/dist/types/components/form/input.vue.d.ts +1 -1
  13. package/dist/types/components/form/textarea.vue.d.ts +1 -1
  14. package/dist/types/components/index.d.ts +10 -2
  15. package/dist/types/components/notification/notification.vue.d.ts +13 -0
  16. package/dist/types/components/notification/notifications.vue.d.ts +3 -0
  17. package/dist/types/components/page.vue.d.ts +3 -0
  18. package/dist/types/components/paginator.vue.d.ts +1 -1
  19. package/dist/types/components/radio.vue.d.ts +15 -0
  20. package/dist/types/components/shell/shell-navigation-item.vue.d.ts +1 -1
  21. package/dist/types/components/shell/shell.vue.d.ts +4 -2
  22. package/dist/types/components/skeleton.vue.d.ts +8 -0
  23. package/dist/types/components/slider.vue.d.ts +2 -2
  24. package/dist/types/components/spinner.vue.d.ts +3 -0
  25. package/dist/types/config.d.ts +2 -0
  26. package/dist/types/directives/index.d.ts +1 -0
  27. package/dist/types/directives/loading.directive.d.ts +7 -0
  28. package/dist/types/model/FormFieldProps.d.ts +2 -1
  29. package/dist/types/model/Icons.d.ts +43 -3
  30. package/dist/types/services/flow.d.ts +3 -2
  31. package/dist/types/services/index.d.ts +2 -1
  32. package/dist/types/services/notification.service.d.ts +62 -0
  33. package/dist/types/stories/components/chip-group.stories.d.ts +48 -0
  34. package/dist/types/stories/components/chip-selector.stories.d.ts +38 -0
  35. package/dist/types/stories/components/chip.stories.d.ts +37 -0
  36. package/dist/types/stories/components/compact.stories.d.ts +2 -2
  37. package/dist/types/stories/components/dialog.stories.d.ts +5 -5
  38. package/dist/types/stories/components/editable-label.stories.d.ts +30 -0
  39. package/dist/types/stories/components/form-field.stories.d.ts +27 -2
  40. package/dist/types/stories/components/input.stories.d.ts +1 -1
  41. package/dist/types/stories/components/notification.stories.d.ts +44 -0
  42. package/dist/types/stories/components/page.stories.d.ts +13 -0
  43. package/dist/types/stories/components/radio.stories.d.ts +65 -0
  44. package/dist/types/stories/components/shell.stories.d.ts +4 -0
  45. package/dist/types/stories/components/skeleton.stories.d.ts +30 -0
  46. package/dist/types/stories/components/spinner.stories.d.ts +10 -0
  47. package/dist/types/stories/components/textarea.stories.d.ts +1 -1
  48. package/dist/types/stories/directives/loading.stories.d.ts +8 -0
  49. package/dist/vanjana-vue-ui.es.js +2104 -1609
  50. package/dist/vanjana-vue-ui.umd.js +1 -1
  51. package/dist/vue-ui.css +1 -1
  52. package/package.json +3 -2
  53. package/themes/common/_components.scss +6 -0
  54. package/themes/common/_mixins.scss +1 -1
  55. package/themes/common/components/_checkbox.scss +43 -9
  56. package/themes/common/components/_chip.scss +24 -0
  57. package/themes/common/components/_loading-overlay.scss +67 -0
  58. package/themes/common/components/_radio.scss +59 -0
  59. package/themes/common/components/_shell.scss +25 -28
  60. package/themes/common/components/_skeleton.scss +31 -0
  61. package/themes/common/components/form/_form-field.scss +39 -2
  62. package/themes/common/components/form/_input.scss +1 -1
  63. package/themes/common/components/notification/_notification.scss +39 -0
  64. package/themes/light/theme.scss +31 -7
@@ -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-color:var(--surface-button-primary);color:var(--on-surface-button-primary, inherit);border:none}.button.secondary{background-color:var(--surface-button-secondary);color:var(--on-surface-button-secondary, inherit);border:none}.button.tertiary{background-color:var(--surface-button-tertiary);color:var(--on-surface-button-tertiary, inherit);border:none}.button:not(:disabled):hover{background-color: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{background-color: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}.checkbox{gap:var(--space-s)}.checkbox:hover .checkbox-box{border-color:var(--color-primary)}.checkbox-box{border-color:var(--color-border);border-radius:var(--border-radius-s);background-color:var(--color-background)}.checkbox-icon{color:var(--color-primary-contrast)}.checkbox-input:checked+.checkbox-box{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-label{color:var(--color-text-primary)}.dialog-card{background-color: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-color:var(--surface-dot-menu);color:var(--on-surface-dot-menu, inherit)}.button.dot-menu:hover{background-color: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}.menu{box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m);background-color: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:var(--space-m)}.page header>span{gap:var(--space-s)}.page main footer{padding-top:var(--space-s);background-color:var(--surface-base);color:var(--on-surface-base, inherit)}.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-color: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)}.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{--application__color: blue;--application-gradient: linear-gradient(90deg, #e0f7ff 0%, #c5dbff 20%, #fff9e6 50%, #ffe4f0 75%, #ffd9f2 100%);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;overflow:auto}.shell .shell-content aside{border-left:1px solid var(--color-border)}.shell .shell-content.with-navigation main{padding:0 var(--space-m)}.shell .shell-navigation{flex-basis:4rem;border-radius:0 10px 20px 0!important;border-bottom:var(--border-footer)!important;background-color: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 ul .shell-navigation-item{padding:0;margin:0}.shell .shell-navigation ul .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}.shell .shell-navigation ul .shell-navigation-item .shell-navigation-item-link .shell-navigation-icon{font-size:1.5rem}.shell .shell-navigation ul .shell-navigation-item .shell-navigation-item-link{background-color:var(--surface-navigation-item);color:var(--on-surface-navigation-item, inherit)}.shell .shell-navigation ul .shell-navigation-item .shell-navigation-item-link:hover{background-color:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover, inherit);border-left:solid 5px currentColor}.shell .shell-navigation ul .shell-navigation-item .shell-navigation-item-link.router-link-active{background-color:var(--surface-navigation-hover);color:var(--on-surface-navigation-hover, inherit);border-left:solid 5px currentColor;background-color:#ffffff80}.shell .shell-navigation .shell-navigation-item-label{display:none}.shell .shell-navigation.with-labels .shell-navigation-item-label{display:inline}.shell .shell-navigation .navigation-bottom{margin-top:auto}.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-color:var(--surface-tab);color:var(--on-surface-tab, inherit)}.tab-view .tab-view-header .tab-button:hover{background-color:var(--surface-tab-hover);color:var(--on-surface-tab-hover, inherit)}.tab-view .tab-view-header .tab-button.active{background-color: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}}.form-field{margin-top:var(--space-s);font-family:inherit}.form-field .form-field__label{left:8px;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-color:var(--surface-input-label);color:var(--on-surface-input-label, inherit)}.form-field .form-field__label--float{left:12px;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-color: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}.input{padding:var(--space-s) var(--space-l);border-radius:var(--border-radius-input);outline:var(--border-input);outline-offset:-1px;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-color: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-color: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-color: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-color: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-color: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{--color-border: #dedede;--color-border-highlight: #4f46e5;--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;--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-navigation: #ffffff;--on-surface-navigation: #2d3748;--surface-navigation-item: transparent;--on-surface-navigation-item: #64748b;--surface-navigation-hover: transparent;--on-surface-navigation-hover: #4f46e5;--surface-button-primary: #4f46e5;--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: #4f46e5;--surface-tab-active: transparent;--on-surface-tab-active: #4f46e5;--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-title: 24px;--font-weight-title: 600;--line-height-title: 1.2;--letter-spacing-title: normal;--font-family-title: var(--font-family, inherit)}:root h2{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-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-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{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:var(--space-m)}.page header>span{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:0 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}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link .shell-navigation-icon{font-size:1.5rem}.shell .shell-navigation .shell-navigation-item .shell-navigation-item-link{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.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-label{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)}.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}}.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}
@@ -0,0 +1,40 @@
1
+ export type ChipGroupItem = string | {
2
+ label: string;
3
+ value: string | number;
4
+ dismissable?: boolean;
5
+ color?: string;
6
+ [key: string]: unknown;
7
+ };
8
+ export type ChipGroupProps = {
9
+ items?: ChipGroupItem[];
10
+ label?: string;
11
+ hint?: string;
12
+ dismissable?: boolean;
13
+ color?: string;
14
+ itemKey?: string;
15
+ itemLabel?: string;
16
+ };
17
+ export type ChipGroupEmits = {
18
+ (e: 'update:items', items: ChipGroupItem[]): void;
19
+ (e: 'reorder', items: ChipGroupItem[]): void;
20
+ (e: 'dismiss', item: ChipGroupItem, index: number): void;
21
+ (e: 'chip-click', item: ChipGroupItem, index: number): void;
22
+ };
23
+ declare const __VLS_export: import("vue").DefineComponent<ChipGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
24
+ dismiss: (item: ChipGroupItem, index: number) => any;
25
+ "update:items": (items: ChipGroupItem[]) => any;
26
+ reorder: (items: ChipGroupItem[]) => any;
27
+ "chip-click": (item: ChipGroupItem, index: number) => any;
28
+ }, string, import("vue").PublicProps, Readonly<ChipGroupProps> & Readonly<{
29
+ onDismiss?: ((item: ChipGroupItem, index: number) => any) | undefined;
30
+ "onUpdate:items"?: ((items: ChipGroupItem[]) => any) | undefined;
31
+ onReorder?: ((items: ChipGroupItem[]) => any) | undefined;
32
+ "onChip-click"?: ((item: ChipGroupItem, index: number) => any) | undefined;
33
+ }>, {
34
+ dismissable: boolean;
35
+ items: ChipGroupItem[];
36
+ itemKey: string;
37
+ itemLabel: string;
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ declare const _default: typeof __VLS_export;
40
+ export default _default;
@@ -0,0 +1,24 @@
1
+ export interface ChipSelectorOption {
2
+ label: string;
3
+ value: string;
4
+ }
5
+ export interface ChipSelectorProps {
6
+ items?: string[];
7
+ label?: string;
8
+ hint?: string;
9
+ options: ChipSelectorOption[];
10
+ dialogTitle?: string;
11
+ addButtonText?: string;
12
+ }
13
+ declare const __VLS_export: import("vue").DefineComponent<ChipSelectorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ "update:items": (value: string[]) => any;
15
+ }, string, import("vue").PublicProps, Readonly<ChipSelectorProps> & Readonly<{
16
+ "onUpdate:items"?: ((value: string[]) => any) | undefined;
17
+ }>, {
18
+ label: string;
19
+ items: string[];
20
+ hint: string;
21
+ addButtonText: string;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
@@ -0,0 +1,28 @@
1
+ export type ChipProps = {
2
+ label: string;
3
+ dismissable?: boolean;
4
+ color?: string;
5
+ };
6
+ export type ChipEmits = {
7
+ (e: 'update:modelValue', v: unknown): void;
8
+ (e: 'dismiss', v: unknown): void;
9
+ (e: 'click'): void;
10
+ };
11
+ type __VLS_Props = ChipProps;
12
+ type __VLS_ModelProps = {
13
+ modelValue?: string | number | Record<string, unknown>;
14
+ };
15
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
16
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ "update:modelValue": (value: string | number | Record<string, unknown> | undefined) => any;
18
+ } & {
19
+ click: () => any;
20
+ "update:modelValue": (v: unknown) => any;
21
+ dismiss: (v: unknown) => any;
22
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
23
+ onClick?: (() => any) | undefined;
24
+ "onUpdate:modelValue"?: ((v: unknown) => any) | undefined;
25
+ onDismiss?: ((v: unknown) => any) | undefined;
26
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ declare const _default: typeof __VLS_export;
28
+ export default _default;
@@ -19,14 +19,14 @@ type __VLS_Slots = {} & {
19
19
  footer?: (props: typeof __VLS_43) => any;
20
20
  };
21
21
  declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
22
- "update:modelValue": (value: boolean) => any;
23
22
  cancel: () => any;
24
23
  close: () => any;
24
+ "update:modelValue": (value: boolean) => any;
25
25
  confirm: () => any;
26
26
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
27
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
28
27
  onCancel?: (() => any) | undefined;
29
28
  onClose?: (() => any) | undefined;
29
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
30
30
  onConfirm?: (() => any) | undefined;
31
31
  }>, {
32
32
  modelValue: boolean;
@@ -0,0 +1,13 @@
1
+ type Props = {
2
+ modelValue?: string;
3
+ showIcon?: boolean;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (...args: any[]) => void;
7
+ edit: (...args: any[]) => void;
8
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
9
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
10
+ onEdit?: ((...args: any[]) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -15,13 +15,13 @@ type __VLS_Slots = {} & {
15
15
  control?: (props: typeof __VLS_1) => any;
16
16
  };
17
17
  declare const __VLS_base: import("vue").DefineComponent<FormFieldProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
- "update:modelValue": (...args: any[]) => void;
19
18
  blur: (...args: any[]) => void;
20
19
  focus: (...args: any[]) => void;
20
+ "update:modelValue": (...args: any[]) => void;
21
21
  }, string, import("vue").PublicProps, Readonly<FormFieldProps> & Readonly<{
22
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
23
22
  onBlur?: ((...args: any[]) => any) | undefined;
24
23
  onFocus?: ((...args: any[]) => any) | undefined;
24
+ "onUpdate:modelValue"?: ((...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;
@@ -7,9 +7,9 @@ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_se
7
7
  }[];
8
8
  }) & {
9
9
  onInput?: ((value: string | number) => any) | undefined;
10
- "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
11
10
  onBlur?: ((value: FocusEvent) => any) | undefined;
12
11
  onFocus?: ((value: FocusEvent) => any) | undefined;
12
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
13
13
  }> & (typeof globalThis extends {
14
14
  __VLS_PROPS_FALLBACK: infer P;
15
15
  } ? P : {});
@@ -6,14 +6,14 @@ type Props = FormFieldProps & {
6
6
  };
7
7
  declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
8
  input: (value: number) => any;
9
- "update:modelValue": (value: number) => any;
10
9
  blur: (value: FocusEvent) => any;
11
10
  focus: (value: FocusEvent) => any;
11
+ "update:modelValue": (value: number) => any;
12
12
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
13
13
  onInput?: ((value: number) => any) | undefined;
14
- "onUpdate:modelValue"?: ((value: number) => any) | undefined;
15
14
  onBlur?: ((value: FocusEvent) => any) | undefined;
16
15
  onFocus?: ((value: FocusEvent) => any) | undefined;
16
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
17
17
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
18
  declare const _default: typeof __VLS_export;
19
19
  export default _default;
@@ -4,14 +4,14 @@ type Props = FormFieldProps & {
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
- "update:modelValue": (value: string | number) => any;
8
7
  blur: (value: FocusEvent) => any;
9
8
  focus: (value: FocusEvent) => any;
9
+ "update:modelValue": (value: string | number) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
11
11
  onInput?: ((value: string | number) => any) | undefined;
12
- "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
13
12
  onBlur?: ((value: FocusEvent) => any) | undefined;
14
13
  onFocus?: ((value: FocusEvent) => any) | undefined;
14
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
15
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const _default: typeof __VLS_export;
17
17
  export default _default;
@@ -4,14 +4,14 @@ type Props = FormFieldProps & {
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
- "update:modelValue": (value: string | number) => any;
8
7
  blur: (value: FocusEvent) => any;
9
8
  focus: (value: FocusEvent) => any;
9
+ "update:modelValue": (value: string | number) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
11
11
  onInput?: ((value: string | number) => any) | undefined;
12
- "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
13
12
  onBlur?: ((value: FocusEvent) => any) | undefined;
14
13
  onFocus?: ((value: FocusEvent) => any) | undefined;
14
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
15
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const _default: typeof __VLS_export;
17
17
  export default _default;
@@ -15,9 +15,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
15
15
  blur: (event: FocusEvent) => any;
16
16
  focus: (event: FocusEvent) => any;
17
17
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
- "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
19
18
  onBlur?: ((event: FocusEvent) => any) | undefined;
20
19
  onFocus?: ((event: FocusEvent) => any) | undefined;
20
+ "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
21
21
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
22
  declare const _default: typeof __VLS_export;
23
23
  export default _default;
@@ -15,9 +15,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
15
15
  blur: (event: FocusEvent) => any;
16
16
  focus: (event: FocusEvent) => any;
17
17
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
- "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
19
18
  onBlur?: ((event: FocusEvent) => any) | undefined;
20
19
  onFocus?: ((event: FocusEvent) => any) | undefined;
20
+ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
21
21
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
22
  declare const _default: typeof __VLS_export;
23
23
  export default _default;
@@ -1,8 +1,12 @@
1
1
  import ButtonBar from './button-bar.vue';
2
2
  import Button from './button.vue';
3
3
  import Card from './card.vue';
4
- import Checkbox from './checkbox.vue';
5
4
  import Carousel from './carousel.vue';
5
+ import Checkbox from './checkbox.vue';
6
+ import Radio from './radio.vue';
7
+ import ChipGroup from './chip-group.vue';
8
+ import ChipSelector from './chip-selector.vue';
9
+ import Chip from './chip.vue';
6
10
  import Dialog from './dialog.vue';
7
11
  import DotMenu from './dot-menu.vue';
8
12
  import Icon from './icon.vue';
@@ -13,8 +17,12 @@ import Page from './page.vue';
13
17
  import Paginator from './paginator.vue';
14
18
  import SearchField from './search-field.vue';
15
19
  import Separator from './separator.vue';
20
+ import Spinner from './spinner.vue';
16
21
  import TabView from './tab-view.vue';
17
22
  import Tab from './tab.vue';
23
+ import EditableLabel from './editable-label.vue';
24
+ import Skeleton from './skeleton.vue';
25
+ export type { ChipSelectorOption, ChipSelectorProps } from './chip-selector.vue';
18
26
  export * from './form';
19
27
  export * from './shell';
20
- export { Button, ButtonBar, Card, Carousel, Checkbox, Dialog, DotMenu, Icon, LinkButton, Menu, MenuAction, Page, Paginator, SearchField, Separator, Tab, TabView, };
28
+ export { Button, ButtonBar, Card, Carousel, Checkbox, Radio, Chip, ChipGroup, ChipSelector, Dialog, DotMenu, Icon, LinkButton, Menu, MenuAction, Page, Paginator, SearchField, Separator, Spinner, Tab, TabView, EditableLabel, Skeleton, };
@@ -0,0 +1,13 @@
1
+ import { NotificationType } from '../../services';
2
+ export interface NotificationProps {
3
+ type: NotificationType;
4
+ title: string;
5
+ message: string;
6
+ }
7
+ declare const __VLS_export: import("vue").DefineComponent<NotificationProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ close: () => any;
9
+ }, string, import("vue").PublicProps, Readonly<NotificationProps> & Readonly<{
10
+ onClose?: (() => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -1,7 +1,10 @@
1
+ import { Flow } from '@/services';
1
2
  type Props = {
2
3
  title: string;
3
4
  scrollable?: boolean;
4
5
  errorMessage?: string | null;
6
+ flow?: Flow;
7
+ loadingMessage?: string;
5
8
  };
6
9
  declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {}, __VLS_9: {}, __VLS_11: {};
7
10
  type __VLS_Slots = {} & {
@@ -23,8 +23,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
23
23
  change: (...args: any[]) => void;
24
24
  "update:modelValue": (value: number) => void;
25
25
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
26
- "onUpdate:modelValue"?: ((value: number) => any) | undefined;
27
26
  onChange?: ((...args: any[]) => any) | undefined;
27
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
28
28
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
30
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,15 @@
1
+ type __VLS_Props = {
2
+ label?: string;
3
+ disabled?: boolean;
4
+ };
5
+ type __VLS_ModelProps = {
6
+ modelValue?: boolean;
7
+ };
8
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:modelValue": (value: boolean | undefined) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: boolean | undefined) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
@@ -1,7 +1,7 @@
1
1
  type Props = {
2
2
  label: string;
3
3
  icon?: string;
4
- to: string | object;
4
+ to?: string | object;
5
5
  };
6
6
  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>;
7
7
  declare const _default: typeof __VLS_export;
@@ -3,11 +3,13 @@ type Props = {
3
3
  icon?: string;
4
4
  showNavigation?: boolean;
5
5
  };
6
- declare var __VLS_1: {}, __VLS_8: {};
6
+ declare var __VLS_1: {}, __VLS_10: {}, __VLS_12: {};
7
7
  type __VLS_Slots = {} & {
8
8
  'header-actions'?: (props: typeof __VLS_1) => any;
9
9
  } & {
10
- default?: (props: typeof __VLS_8) => any;
10
+ 'navigation-fixed'?: (props: typeof __VLS_10) => any;
11
+ } & {
12
+ default?: (props: typeof __VLS_12) => any;
11
13
  };
12
14
  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>;
13
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1,8 @@
1
+ type Props = {
2
+ width?: string;
3
+ height?: string;
4
+ borderRadius?: string;
5
+ };
6
+ 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>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -6,11 +6,11 @@ type Props = {
6
6
  range?: boolean;
7
7
  };
8
8
  declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
- "update:modelValue": (...args: any[]) => void;
10
9
  change: (...args: any[]) => void;
10
+ "update:modelValue": (...args: any[]) => void;
11
11
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
12
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
13
12
  onChange?: ((...args: any[]) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
14
14
  }>, {
15
15
  modelValue: number | [number, number];
16
16
  range: boolean;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -3,9 +3,11 @@
3
3
  * Global defaults for component behavior
4
4
  */
5
5
  export type LabelPosition = 'inline' | 'outline';
6
+ export type Appearance = 'bordered' | 'underlined';
6
7
  export interface VueUIConfig {
7
8
  form: {
8
9
  labelPosition: LabelPosition;
10
+ appearance: Appearance;
9
11
  };
10
12
  }
11
13
  /**
@@ -1,3 +1,4 @@
1
1
  export { compactDirective } from './compact.directive';
2
2
  export { vFocusFirst } from './focus.directive';
3
3
  export { vResize } from './resize.directive';
4
+ export { vLoading } from './loading.directive';
@@ -0,0 +1,7 @@
1
+ import { Directive } from 'vue';
2
+ type LoadingBinding = boolean | {
3
+ active?: boolean;
4
+ text?: string;
5
+ };
6
+ export declare const vLoading: Directive<HTMLElement, LoadingBinding>;
7
+ export default vLoading;
@@ -1,4 +1,4 @@
1
- import type { LabelPosition } from '../config';
1
+ import type { Appearance, LabelPosition } from '../config';
2
2
  export type FormFieldProps = {
3
3
  modelValue: string | number | undefined;
4
4
  label: string;
@@ -10,4 +10,5 @@ export type FormFieldProps = {
10
10
  spanRow?: boolean;
11
11
  error?: string;
12
12
  labelPosition?: LabelPosition;
13
+ appearance?: Appearance;
13
14
  };
@@ -22,18 +22,58 @@ export declare enum IconNames {
22
22
  SHARE = "fa-solid fa-share-nodes",
23
23
  SORT = "fa-regular fa-arrow-up-arrow-down",
24
24
  CLOSE = "fa-regular fa-circle-xmark",
25
- INFO = "fa-regular fa-circle-info",
26
- WARNING = "fa-regular fa-triangle-exclamation",
25
+ SAVE = "fa-regular fa-floppy-disk",
26
+ COPY = "fa-regular fa-copy",
27
+ DUPLICATE = "fa-regular fa-clone",
28
+ CUT = "fa-solid fa-scissors",
29
+ PASTE = "fa-regular fa-clipboard",
30
+ REFRESH = "fa-solid fa-rotate-right",
31
+ RELOAD = "fa-solid fa-arrows-rotate",
32
+ PRINT = "fa-solid fa-print",
33
+ FILTER = "fa-solid fa-filter",
34
+ UNDO = "fa-solid fa-rotate-left",
35
+ REDO = "fa-solid fa-rotate-right",
36
+ PIN = "fa-solid fa-thumbtack",
37
+ EXPAND = "fa-solid fa-expand",
38
+ COLLAPSE = "fa-solid fa-compress",
39
+ EXTERNAL_LINK = "fa-solid fa-arrow-up-right-from-square",
40
+ INFO = "fa-solid fa-circle-info",
41
+ WARNING = "fa-solid fa-triangle-exclamation",
27
42
  ERROR = "fa-regular fa-circle-xmark",
28
43
  CHECK = "fa-regular fa-circle-check",
29
44
  LOVE = "fa-regular fa-heart",
45
+ STAR = "fa-regular fa-star",
46
+ STAR_FILLED = "fa-solid fa-star",
47
+ HELP = "fa-regular fa-circle-question",
48
+ QUESTION = "fa-solid fa-question",
30
49
  PROJECT = "fa-regular fa-folder-open",
31
50
  FOLDER = "fa-regular fa-folder",
32
51
  FILE_TEXT = "fa-regular fa-file-lines",
33
52
  UPLOAD = "fa-solid fa-cloud-arrow-up",
34
53
  DOWNLOAD = "fa-solid fa-cloud-arrow-down",
54
+ ATTACHMENT = "fa-solid fa-paperclip",
55
+ LINK = "fa-solid fa-link",
56
+ TAG = "fa-solid fa-tag",
57
+ TAGS = "fa-solid fa-tags",
35
58
  SEARCH = "fa-solid fa-magnifying-glass",
36
59
  MESSAGE_SQUARE = "fa-regular fa-message",
37
60
  MAIL = "fa-regular fa-envelope",
38
- SHOPPING_BAG = "fa-regular fa-bag-shopping"
61
+ SHOPPING_BAG = "fa-regular fa-bag-shopping",
62
+ COMMENT = "fa-regular fa-comment",
63
+ COMMENTS = "fa-regular fa-comments",
64
+ CALENDAR = "fa-regular fa-calendar",
65
+ CALENDAR_DAY = "fa-solid fa-calendar-day",
66
+ CLOCK = "fa-regular fa-clock",
67
+ HISTORY = "fa-solid fa-clock-rotate-left",
68
+ LOCK = "fa-solid fa-lock",
69
+ UNLOCK = "fa-solid fa-lock-open",
70
+ EYE = "fa-regular fa-eye",
71
+ EYE_SLASH = "fa-regular fa-eye-slash",
72
+ SHIELD = "fa-solid fa-shield",
73
+ LIST = "fa-solid fa-list",
74
+ GRID = "fa-solid fa-grid",
75
+ TABLE = "fa-solid fa-table",
76
+ COLUMNS = "fa-solid fa-columns",
77
+ BELL = "fa-regular fa-bell",
78
+ IMAGE = "fa-regular fa-image"
39
79
  }
@@ -7,10 +7,11 @@ export declare const useFlow: () => {
7
7
  defaultValue?: T | undefined;
8
8
  handlers: Array<(err: unknown) => void>;
9
9
  onError(fn: (err: unknown) => void): /*elided*/ any;
10
- exec(): Promise<T | undefined>;
11
- then<TResult1 = T | undefined, TResult2 = never>(onfulfilled?: ((value: T | undefined) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
10
+ exec(): Promise<T>;
11
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
12
12
  };
13
13
  readonly running: import("vue").Ref<boolean, boolean>;
14
14
  readonly error: import("vue").Ref<unknown, unknown>;
15
15
  readonly clearError: () => void;
16
16
  };
17
+ export type Flow = ReturnType<typeof useFlow>;
@@ -1,5 +1,6 @@
1
1
  export * from './aside.service';
2
2
  export * from './debounce';
3
- export * from './flow';
4
3
  export * from './dialog.service';
4
+ export * from './flow';
5
+ export * from './notification.service';
5
6
  export * from './resizeObserver.service';