@vanjana/vue-ui 0.1.59 → 0.1.61
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.
- package/dist/theme-light.css +1 -1
- package/dist/types/components/dot-menu.vue.d.ts +2 -2
- package/dist/types/components/form/index.d.ts +2 -1
- package/dist/types/components/form/input-select.vue.d.ts +17 -3
- package/dist/types/components/form/input-text.vue.d.ts +5 -2
- package/dist/types/components/form/input.vue.d.ts +1 -1
- package/dist/types/components/form/select.vue.d.ts +2 -2
- package/dist/types/config.d.ts +22 -0
- package/dist/types/directives/compact.directive.d.ts +14 -0
- package/dist/types/directives/index.d.ts +2 -0
- package/dist/types/directives/resize.directive.d.ts +16 -0
- package/dist/types/model/FormFieldProps.d.ts +2 -0
- package/dist/types/public-api.d.ts +1 -0
- package/dist/types/services/flow.d.ts +16 -0
- package/dist/types/services/index.d.ts +2 -0
- package/dist/types/services/resizeObserver.service.d.ts +19 -0
- package/dist/types/stories/components/compact.stories.d.ts +47 -0
- package/dist/types/stories/components/form-field.stories.d.ts +26 -2
- package/dist/types/stories/components/input.stories.d.ts +2 -2
- package/dist/vanjana-vue-ui.es.js +1440 -1239
- package/dist/vanjana-vue-ui.umd.js +1 -1
- package/dist/vue-ui.css +1 -1
- package/package.json +1 -1
- package/themes/common/components/_button.scss +2 -0
- package/themes/common/components/form/_select.scss +2 -2
- package/themes/default.scss +16 -0
- /package/dist/types/stories/components/{input-text.stories.d.ts → input-text.storie.d.ts} +0 -0
package/dist/theme-light.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.button{transition:opacity .1s ease-in-out;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-m);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(--color-text-secondary)}.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}: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-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,9 +1,9 @@
|
|
|
1
1
|
type Props = {
|
|
2
2
|
icon?: string;
|
|
3
3
|
};
|
|
4
|
-
declare var
|
|
4
|
+
declare var __VLS_27: {};
|
|
5
5
|
type __VLS_Slots = {} & {
|
|
6
|
-
default?: (props: typeof
|
|
6
|
+
default?: (props: typeof __VLS_27) => any;
|
|
7
7
|
};
|
|
8
8
|
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>;
|
|
9
9
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -2,9 +2,10 @@ import FormField from './form-field.vue';
|
|
|
2
2
|
import FormLayout from './form-layout.vue';
|
|
3
3
|
import FormSection from './form-section.vue';
|
|
4
4
|
import InputSelect from './input-select.vue';
|
|
5
|
+
import InputSlider from './input-slider.vue';
|
|
5
6
|
import InputTextArea from './input-text-area.vue';
|
|
6
7
|
import InputText from './input-text.vue';
|
|
7
8
|
import Input from './input.vue';
|
|
8
9
|
import Select from './select.vue';
|
|
9
10
|
import TextArea from './textarea.vue';
|
|
10
|
-
export { FormField, FormLayout, FormSection, Input, InputSelect, InputText, InputTextArea, Select, TextArea };
|
|
11
|
+
export { InputSlider, FormField, FormLayout, FormSection, Input, InputSelect, InputText, InputTextArea, Select, TextArea };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
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
|
-
props: __VLS_PrettifyLocal<(FormFieldProps & {
|
|
3
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<(FormFieldProps & {
|
|
4
4
|
options: {
|
|
5
5
|
label: string;
|
|
6
6
|
value: string | number;
|
|
@@ -10,12 +10,26 @@ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_se
|
|
|
10
10
|
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
11
11
|
onBlur?: ((value: FocusEvent) => any) | undefined;
|
|
12
12
|
onFocus?: ((value: FocusEvent) => any) | undefined;
|
|
13
|
-
}> &
|
|
13
|
+
}> & (typeof globalThis extends {
|
|
14
14
|
__VLS_PROPS_FALLBACK: infer P;
|
|
15
15
|
} ? P : {});
|
|
16
16
|
expose: (exposed: {}) => void;
|
|
17
17
|
attrs: any;
|
|
18
|
-
slots: {
|
|
18
|
+
slots: {
|
|
19
|
+
selected?: (props: {
|
|
20
|
+
option: {
|
|
21
|
+
label: string;
|
|
22
|
+
value: string | number;
|
|
23
|
+
};
|
|
24
|
+
}) => any;
|
|
25
|
+
} & {
|
|
26
|
+
option?: (props: {
|
|
27
|
+
option: {
|
|
28
|
+
label: string;
|
|
29
|
+
value: string | number;
|
|
30
|
+
};
|
|
31
|
+
}) => any;
|
|
32
|
+
};
|
|
19
33
|
emit: {
|
|
20
34
|
(e: "update:modelValue", value: string | number): void;
|
|
21
35
|
(e: "input", value: string | number): void;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { FormFieldProps } from '@/model/FormFieldProps';
|
|
2
|
-
|
|
2
|
+
type Props = FormFieldProps & {
|
|
3
|
+
type: 'text' | 'password' | 'email' | 'number';
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
3
6
|
input: (value: string | number) => any;
|
|
4
7
|
"update:modelValue": (value: string | number) => any;
|
|
5
8
|
blur: (value: FocusEvent) => any;
|
|
6
9
|
focus: (value: FocusEvent) => any;
|
|
7
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
10
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
8
11
|
onInput?: ((value: string | number) => any) | undefined;
|
|
9
12
|
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
10
13
|
onBlur?: ((value: FocusEvent) => any) | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
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<{
|
|
2
|
-
props: __VLS_PrettifyLocal<({
|
|
2
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<({
|
|
3
3
|
options: T[];
|
|
4
4
|
placeholder?: string;
|
|
5
5
|
disabled?: boolean;
|
|
@@ -12,7 +12,7 @@ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_se
|
|
|
12
12
|
modelValue?: T | unknown;
|
|
13
13
|
}) & {
|
|
14
14
|
"onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
|
|
15
|
-
}> &
|
|
15
|
+
}> & (typeof globalThis extends {
|
|
16
16
|
__VLS_PROPS_FALLBACK: infer P;
|
|
17
17
|
} ? P : {});
|
|
18
18
|
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue-UI Library Configuration
|
|
3
|
+
* Global defaults for component behavior
|
|
4
|
+
*/
|
|
5
|
+
export type LabelPosition = 'inline' | 'outline';
|
|
6
|
+
export interface VueUIConfig {
|
|
7
|
+
form: {
|
|
8
|
+
labelPosition: LabelPosition;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Configure vue-ui library defaults
|
|
13
|
+
*/
|
|
14
|
+
export declare function configureVueUI(config: Partial<VueUIConfig>): void;
|
|
15
|
+
/**
|
|
16
|
+
* Get current configuration (merged with defaults)
|
|
17
|
+
*/
|
|
18
|
+
export declare function getVueUIConfig(): VueUIConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Reset configuration to defaults
|
|
21
|
+
*/
|
|
22
|
+
export declare function resetVueUIConfig(): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Directive } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Direktive zum Setzen der `.compact` Klasse
|
|
4
|
+
* Macht alle Form-Elemente und Buttons innerhalb des Elements kompakter (32px statt 40px)
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```vue
|
|
8
|
+
* <div v-compact>
|
|
9
|
+
* <InputText label="Name" />
|
|
10
|
+
* <VjButton>Submit</VjButton>
|
|
11
|
+
* </div>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare const compactDirective: Directive;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from 'vue';
|
|
2
|
+
type Breakpoints = Record<number, string>;
|
|
3
|
+
type ResizeCallback = (width: number, height: number, element: Element) => void;
|
|
4
|
+
type ResizeDirectiveValue = ResizeCallback | {
|
|
5
|
+
onResize?: ResizeCallback;
|
|
6
|
+
breakpoints?: Breakpoints;
|
|
7
|
+
immediate?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Vue directive: v-resize
|
|
11
|
+
* Usage:
|
|
12
|
+
* - v-resize="onResize"
|
|
13
|
+
* - v-resize="{ onResize, breakpoints: { 512: 'xs', 768: 'md' }, immediate: true }"
|
|
14
|
+
*/
|
|
15
|
+
export declare const vResize: Directive<HTMLElement, ResizeDirectiveValue>;
|
|
16
|
+
export default vResize;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LabelPosition } from '../config';
|
|
1
2
|
export type FormFieldProps = {
|
|
2
3
|
modelValue: string | number | undefined;
|
|
3
4
|
label: string;
|
|
@@ -8,4 +9,5 @@ export type FormFieldProps = {
|
|
|
8
9
|
newLine?: boolean;
|
|
9
10
|
spanRow?: boolean;
|
|
10
11
|
error?: string;
|
|
12
|
+
labelPosition?: LabelPosition;
|
|
11
13
|
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* const value = await flow.run(method, default).onError((e) => console.error(e));
|
|
3
|
+
*/
|
|
4
|
+
export declare const useFlow: () => {
|
|
5
|
+
readonly run: <T>(fn: () => Promise<T>, defaultValue?: T) => {
|
|
6
|
+
inner: () => Promise<T>;
|
|
7
|
+
defaultValue?: T | undefined;
|
|
8
|
+
handlers: Array<(err: unknown) => void>;
|
|
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>;
|
|
12
|
+
};
|
|
13
|
+
readonly running: import("vue").Ref<boolean, boolean>;
|
|
14
|
+
readonly error: import("vue").Ref<unknown, unknown>;
|
|
15
|
+
readonly clearError: () => void;
|
|
16
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type ResizeCallback = (width: number, height: number, element: Element) => void;
|
|
2
|
+
type Breakpoints = Record<number, string>;
|
|
3
|
+
declare class ResizeObserverService {
|
|
4
|
+
private static _instance;
|
|
5
|
+
private observer;
|
|
6
|
+
private targets;
|
|
7
|
+
private constructor();
|
|
8
|
+
static get instance(): ResizeObserverService;
|
|
9
|
+
private init;
|
|
10
|
+
private handleWindowResize;
|
|
11
|
+
private handleEntry;
|
|
12
|
+
observe(el: Element, callback?: ResizeCallback, options?: {
|
|
13
|
+
breakpoints?: Breakpoints;
|
|
14
|
+
immediate?: boolean;
|
|
15
|
+
}): void;
|
|
16
|
+
unobserve(el: Element, callback?: ResizeCallback): void;
|
|
17
|
+
}
|
|
18
|
+
declare const _default: ResizeObserverService;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/vue3';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("vue").DefineComponent<import("../..").FormFieldProps & {
|
|
5
|
+
type: "text" | "password" | "email" | "number";
|
|
6
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
7
|
+
input: (value: string | number) => any;
|
|
8
|
+
"update:modelValue": (value: string | number) => any;
|
|
9
|
+
blur: (value: FocusEvent) => any;
|
|
10
|
+
focus: (value: FocusEvent) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<import("../..").FormFieldProps & {
|
|
12
|
+
type: "text" | "password" | "email" | "number";
|
|
13
|
+
}> & Readonly<{
|
|
14
|
+
onInput?: ((value: string | number) => any) | undefined;
|
|
15
|
+
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
16
|
+
onBlur?: ((value: FocusEvent) => any) | undefined;
|
|
17
|
+
onFocus?: ((value: FocusEvent) => any) | undefined;
|
|
18
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
tags: string[];
|
|
20
|
+
};
|
|
21
|
+
export default meta;
|
|
22
|
+
type Story = StoryObj<typeof meta>;
|
|
23
|
+
/**
|
|
24
|
+
* Vergleich zwischen normaler Größe und compact Mode
|
|
25
|
+
* Normal: ~40px Höhe, Compact: ~32px Höhe
|
|
26
|
+
*/
|
|
27
|
+
export declare const Comparison: Story;
|
|
28
|
+
/**
|
|
29
|
+
* Vergleich mit Outline Label Position
|
|
30
|
+
* Normal: ~40px Höhe, Compact: ~32px Höhe
|
|
31
|
+
*/
|
|
32
|
+
export declare const ComparisonOutline: Story;
|
|
33
|
+
/**
|
|
34
|
+
* Verwendung mit v-compact Direktive
|
|
35
|
+
* Die Direktive setzt automatisch die .compact Klasse
|
|
36
|
+
*/
|
|
37
|
+
export declare const WithDirective: Story;
|
|
38
|
+
/**
|
|
39
|
+
* Verwendung mit CSS-Klasse
|
|
40
|
+
* Direkte Verwendung der .compact Klasse
|
|
41
|
+
*/
|
|
42
|
+
export declare const WithClass: Story;
|
|
43
|
+
/**
|
|
44
|
+
* Nested Compact - Compact innerhalb von Normal
|
|
45
|
+
* Zeigt, dass compact nur auf Kindelemente wirkt
|
|
46
|
+
*/
|
|
47
|
+
export declare const Nested: Story;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { StoryObj } from '@storybook/vue3';
|
|
2
2
|
declare const meta: {
|
|
3
3
|
title: string;
|
|
4
|
-
component: import("vue").DefineComponent<import("../..").FormFieldProps
|
|
4
|
+
component: import("vue").DefineComponent<import("../..").FormFieldProps & {
|
|
5
|
+
type: "text" | "password" | "email" | "number";
|
|
6
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
5
7
|
input: (value: string | number) => any;
|
|
6
8
|
"update:modelValue": (value: string | number) => any;
|
|
7
9
|
blur: (value: FocusEvent) => any;
|
|
8
10
|
focus: (value: FocusEvent) => any;
|
|
9
|
-
}, string, import("vue").PublicProps, Readonly<import("../..").FormFieldProps
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<import("../..").FormFieldProps & {
|
|
12
|
+
type: "text" | "password" | "email" | "number";
|
|
13
|
+
}> & Readonly<{
|
|
10
14
|
onInput?: ((value: string | number) => any) | undefined;
|
|
11
15
|
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
12
16
|
onBlur?: ((value: FocusEvent) => any) | undefined;
|
|
@@ -26,3 +30,23 @@ export declare const SelectField: Story;
|
|
|
26
30
|
export declare const SelectFieldWithValue: Story;
|
|
27
31
|
export declare const SelectFieldDisabled: Story;
|
|
28
32
|
export declare const MixedFields: Story;
|
|
33
|
+
/**
|
|
34
|
+
* Label Position: Outline
|
|
35
|
+
* The label is positioned above the input field (static).
|
|
36
|
+
*/
|
|
37
|
+
export declare const LabelPositionOutline: Story;
|
|
38
|
+
/**
|
|
39
|
+
* Label Position: Inline (default)
|
|
40
|
+
* The label floats inside the input field.
|
|
41
|
+
*/
|
|
42
|
+
export declare const LabelPositionInline: Story;
|
|
43
|
+
/**
|
|
44
|
+
* Label Position: Comparison
|
|
45
|
+
* Side-by-side comparison of inline vs outline
|
|
46
|
+
*/
|
|
47
|
+
export declare const LabelPositionComparison: Story;
|
|
48
|
+
/**
|
|
49
|
+
* Global Config: Outline
|
|
50
|
+
* Configure all form fields to use outline labels by default
|
|
51
|
+
*/
|
|
52
|
+
export declare const GlobalConfigOutline: Story;
|
|
@@ -4,7 +4,7 @@ declare const meta: {
|
|
|
4
4
|
title: string;
|
|
5
5
|
component: import("vue").DefineComponent<{
|
|
6
6
|
icon?: string;
|
|
7
|
-
type?:
|
|
7
|
+
type?: "text" | "password" | "email" | "number";
|
|
8
8
|
placeholder?: string;
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
clearable?: boolean;
|
|
@@ -17,7 +17,7 @@ declare const meta: {
|
|
|
17
17
|
focus: (event: FocusEvent) => any;
|
|
18
18
|
}, string, import("vue").PublicProps, Readonly<{
|
|
19
19
|
icon?: string;
|
|
20
|
-
type?:
|
|
20
|
+
type?: "text" | "password" | "email" | "number";
|
|
21
21
|
placeholder?: string;
|
|
22
22
|
disabled?: boolean;
|
|
23
23
|
clearable?: boolean;
|