@optionfactory/ful
Version:
This is a minimalistic web components library built on top of [`@optionfactory/ftl`](https://github.com/optionfactory/ftl) to accelerate frontend development cycle-time. Strictly adhering to a no-build philosophy, it completely eliminates the downtime as
2 lines • 13.8 kB
CSS
ful-errors{--ful-errors-color:var(--ful-error-color);--ful-errors-bg:var(--ful-error-bg);--ful-errors-border-color:var(--ful-error-border-color);background-color:var(--ful-errors-bg);border:1px solid var(--ful-errors-border-color);border-radius:var(--ful-border-radius);color:var(--ful-errors-color);display:block;margin-bottom:1rem;padding:1rem}ful-field-error{--ful-field-error-invalid-color:var(--ful-invalid-color);display:none;:invalid &{color:var(--ful-field-error-invalid-color);display:block;margin-top:.25rem}}ful-field-warnings{display:none;&:not(:empty){display:block}}ful-field-warning{animation-composition:initial;animation:show-and-hide 5s ease forwards;background-color:var(--ful-warning-bg);border-color:var(--ful-warning-border-color);border-radius:8px;color:var(--ful-warning-color);display:block;margin:.5rem 0;padding:15px}@keyframes show-and-hide{0%{display:block;opacity:0}3%{opacity:1}90%{opacity:1}to{display:none;opacity:0}}:root{--ful-color:var(--bs-body-color,#212529);--ful-bg:var(--bs-body-bg,#fff);--ful-border-width:var(--bs-border-width,1px);--ful-border-radius:var(--bs-border-radius,0.375rem);--ful-border-color:var(--bs-border-color,#dee2e6);--ful-disabled-bg:var(--bs-secondary-bg,#e9ecef);--ful-selected-bg:var(--bs-tertiary-bg,#f8f9fa);--ful-active-color:#fff;--ful-active-bg:#007376;--ful-focus-border-color:#86b7fe;--ful-focus-box-shadow:0 0 0 .25rem rgba(13,110,253,.25);--ful-invalid-color:var(--bs-form-invalid-color,#dc3545);--ful-invalid-border-color:var(--bs-form-invalid-border-color,#dc3545);--ful-invalid-box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25);--ful-error-color:var(--bs-danger-text-emphasis,#58151c);--ful-error-bg:var(--bs-danger-bg-subtle,#f8d7da);--ful-error-border-color:var(--bs-danger-border-subtle,#f1aeb5);--ful-warning-color:var(--bs-warning-text-emphasis,#664d03);--ful-warning-bg:var(--bs-warning-bg-subtle,#fff3cd);--ful-warning-border-color:var(--bs-warning-border-subtle,#ffe69c);--ful-scrollbar-bg:var(--bs-secondary-bg,#e9ecef);--ful-scrollbar-thumb-bg:var(--ful-active-bg);--ful-scrollbar-width:12px;--ful-scrollbar-border-width:1px;--ful-inputs-bg:var(--ful-bg);--ful-inputs-border-width:var(--ful-border-width);--ful-inputs-border-radius:var(--ful-border-radius);--ful-inputs-border-color:var(--ful-border-color)}[hidden]{display:none}.ful-input,ful-input,ful-input-file,ful-input-instant,ful-input-local-date,ful-input-local-time{display:block;&:not(:defined){visibility:hidden}&[required]>.form-label>label:before{color:var(--ful-color);content:"* ";display:inline;font-weight:700}& input:focus,& textarea:focus{border-color:var(--ful-focus-border-color);box-shadow:var(--ful-focus-box-shadow)}&:invalid input,&:invalid textarea{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:var(--ful-invalid-border-color);padding-right:calc(1.5em + .75rem)}&:invalid input:focus,&:invalid textarea:focus{border-color:var(--ful-invalid-border-color);box-shadow:var(--ful-invalid-box-shadow)}}ful-item-list{--ful-item-list-item-color:var(--ful-active-color);--ful-item-list-item-border-radius:var(--ful-border-radius);--ful-item-list-item-bg:var(--ful-active-bg);display:grid;gap:4px;grid-template-columns:1fr auto;&:has(>ful-item>:nth-child(3):last-child){grid-template-columns:1fr auto auto}&>ful-item:first-child{margin-top:6px}&>ful-item:last-child{margin-bottom:6px}&>ful-item{align-items:center;display:grid;grid-column:1/-1;grid-template-columns:subgrid;line-height:21px;text-align:right;&>:first-child{background-color:var(--ful-item-list-item-bg);border-radius:var(--ful-item-list-item-border-radius);color:var(--ful-item-list-item-color);display:inline-block;min-width:30px;overflow:hidden;padding:5px .5rem;text-overflow:ellipsis;white-space:nowrap}&>:first-child,&>:last-child{text-align:left}}}ful-input-file{&>.default-dropzone{align-items:center;border:5px solid blue;cursor:pointer;display:flex;justify-content:center;min-height:100px}&:not([dropzone])>.default-dropzone,&:not([dropzone])>.dropzone,&:not([itemlist])>ful-item-list,&[noinput]>.input-group{display:none}&[readonly]{&>.default-dropzone,&>.dropzone,&>.input-group>input{pointer-events:none}}}ful-select{--ful-select-border-width:var(--ful-inputs-border-width);--ful-select-border-radius:var(--ful-inputs-border-radius);--ful-select-border-color:var(--ful-inputs-border-color);--ful-select-bg:var(--ful-inputs-bg);--ful-select-badge-color:var(--ful-active-color);--ful-select-badge-bg:var(--ful-active-bg);--ful-select-badge-border-radius:var(--ful-border-radius);--ful-select-focus-border-color:var(--ful-focus-border-color);--ful-select-focus-box-shadow:var(--ful-focus-box-shadow);cursor:pointer;display:block;badges{display:flex;flex-wrap:nowrap;gap:3px;overflow:hidden;&:has(badge){min-width:2em}}&:not([itemlist])>ful-item-list,&[itemlist] badges{display:none}badge{align-items:center;background-color:var(--ful-select-badge-bg);border-radius:var(--ful-select-badge-border-radius);color:var(--ful-select-badge-color);display:flex;line-height:1em;margin:5px 0;padding:5px 7px;white-space:nowrap}.ful-select-input-container{border:var(--ful-select-border-width) solid var(--ful-select-border-color);border-radius:var(--ful-select-border-radius);display:block;flex:1 1 auto;position:relative;width:1%;&:has(input:focus){border-color:var(--ful-select-focus-border-color);box-shadow:var(--ful-select-focus-box-shadow);outline:0}}.ful-select-input{background-color:var(--ful-select-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;border-radius:var(--ful-select-border-radius);display:flex;flex:1 1 auto;overflow:hidden;padding-left:5px;padding-right:2.25rem;z-index:5}.ful-select-input-container:not(:first-child) .ful-select-input{border-bottom-left-radius:0;border-top-left-radius:0}.ful-select-input-container:not(:last-child) .ful-select-input{border-bottom-right-radius:0;border-top-right-radius:0}&:invalid .ful-select-input-container{border-color:var(--ful-invalid-border-color)}&:disabled .ful-select-input{background-color:var(--ful-disabled-bg);background-size:0}&[readonly] .ful-select-input{background-size:0}&[itemlist]:disabled,&[itemlist][readonly]{&>.input-group{display:none}&>ful-item-list>ful-item:first-child{margin-top:0}&>ful-item-list>ful-item{&>:first-child{grid-column:1/-1}&>:last-child{display:none}}}&[required]>.form-label>label:before{color:var(--ful-color);content:"* ";display:inline;font-weight:700}input{background-color:transparent;border:0;flex:1 1 auto;line-height:1.5;margin:0;min-width:1em;outline:0;padding:.375rem 0 .375rem 7px;width:1em}}ful-dropdown{--ful-dropdown-color:var(--ful-color);--ful-dropdown-selected-bg:var(--ful-selected-bg);--ful-dropdown-active-bg:var(--ful-active-bg);--ful-dropdown-border-width:var(--ful-border-width);--ful-dropdown-border-radius:var(--ful-border-radius);--ful-dropdown-border-color:var(--ful-border-color);--ful-dropdown-background-color:var(--ful-bg);--ful-dropdown-scrollbar-width:var(--ful-scrollbar-width);--ful-dropdown-scrollbar-border-width:var(--ful-scrollbar-border-width);--ful-dropdown-scrollbar-bg:var(--ful-scrollbar-bg);--ful-dropdown-scrollbar-thumb-bg:var(--ful-scrollbar-thumb-bg);background-clip:padding-box;background-color:var(--ful-dropdown-background-color);border:var(--ful-dropdown-border-width) solid var(--ful-dropdown-border-color);border-radius:var(--ful-dropdown-border-radius);display:block;margin-top:2px;padding:.5rem 0;position:absolute;top:100%;width:100%;z-index:1000;menu{height:auto;margin:0;max-height:200px;overflow-y:auto;padding:0;&:not(:has(*)):before{content:"\f8c3";display:block;font-family:bootstrap-icons;margin:auto;width:1rem}&::-webkit-scrollbar{width:12px}&::-webkit-scrollbar-track{background-color:var(--ful-dropdown-scrollbar-bg);border-radius:var(--ful-dropdown-scrollbar-width)}&::-webkit-scrollbar-thumb{background-color:var(--ful-dropdown-active-bg);border:var(--ful-dropdown-scrollbar-border-width) solid var(--ful-dropdown-scrollbar-bg);border-radius:var(--ful-dropdown-scrollbar-width)}}li{border:0;cursor:pointer;display:block;padding:.5rem .751rem}li,li:hover,li[selected]{color:var(--ful-dropdown-color)}li:hover,li[selected]{background-color:var(--ful-dropdown-selected-bg)}li:active{background-color:var(--ful-dropdown-active-bg);color:#fff}}ful-radio-group{--ful-radio-group-label-border-color:var(--ful-border-color);--ful-radio-group-label-bg:inherit;--ful-radio-group-label-checked-border-color:var(--ful-active-bg);--ful-radio-group-label-checked-bg:#eefbfb;--ful-radio-group-label-disabled-border-color:var(--ful-border-color);--ful-radio-group-label-disabled-bg:var(--ful-disabled-bg);--ful-radio-group-active-bg:var(--ful-active-bg);display:block;&:not(:defined){visibility:hidden}&[required]>fieldset>legend:before{color:var(--ful-color);content:"* ";display:inline;font-weight:700}&>fieldset{&>legend{font-size:16px;margin:0}&>section{display:grid;gap:10px;grid-template-columns:1fr;& label{align-items:center;background-color:var(--ful-radio-group-label-bg);border:1px solid var(--ful-radio-group-label-border-color);border-radius:4px;cursor:pointer;display:flex;height:100%;padding:8px 10px;&>div{flex:1}}& label:has(input[type=radio]:checked){background-color:var(--ful-radio-group-label-checked-bg);border-color:var(--ful-radio-group-label-checked-border-color)}& label:has(input[type=radio]:disabled){background-color:var(--ful-radio-group-label-disabled-bg);border-color:var(--ful-radio-group-label-disabled-border-color)}& input[type=radio]{accent-color:var(--ful-radio-group-label-checked-border-color);height:16px;margin-left:8px;margin-right:12px;vertical-align:text-bottom;width:16px}}}&.horizontal>fieldset>section{gap:16px;grid-template-columns:1fr 1fr}&:invalid>fieldset>section label{border-color:var(--ful-radio-group-active-bg)}}ful-radio{display:none}ful-checkbox{--ful-checkbox-active-bg:var(--ful-active-bg);display:block;&:not(:defined){visibility:hidden}&[required]>.form-check>.form-check-label>label:before{color:var(--ful-color);content:"* ";display:inline;font-weight:700}& input[type=checkbox]:checked{background-color:var(--ful-checkbox-active-bg);border-color:var(--ful-checkbox-active-bg)}&:invalid input[type=checkbox]{border-color:var(--ful-invalid-border-color);&:checked{background-color:var(--ful-invalid-color)}&:focus{box-shadow:var(--ful-invalid-box-shadow)}}}ful-spinner{--ful-spinner-icon-width:1rem;--ful-spinner-icon-height:1rem;--ful-spinner-icon-border-width:0.2em;--ful-spinner-icon-vertical-align:-0.125em;--ful-spinner-icon-animation-speed:0.75s;--ful-spinner-icon-animation-name:spinner-border;--ful-spinner-icon-color:currentcolor;&:not(:defined){visibility:hidden}&.centered{align-items:center;display:flex;justify-content:center}&.big{--ful-spinner-icon-width:2rem;--ful-spinner-icon-height:2rem;--ful-spinner-icon-border-width:0.25em}&.backdrop,&.bigger{--ful-spinner-icon-width:4rem;--ful-spinner-icon-height:4rem;--ful-spinner-icon-border-width:0.5em}&.backdrop{align-items:center;background-color:hsla(0,0%,65%,.8);display:flex;height:100vh;justify-content:center;left:0;outline:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:100vw;z-index:2000;&>.ful-spinner-wrapper{background-color:#fff;border-radius:1rem;padding:2rem}}&>.ful-spinner-wrapper{display:inline;&>.ful-spinner-icon{animation:var(--ful-spinner-icon-animation-speed) linear infinite var(--ful-spinner-icon-animation-name);border:var(--ful-spinner-icon-border-width) solid var(--ful-spinner-icon-color);border-radius:50%;border-right-color:transparent;display:inline-block;height:var(--ful-spinner-icon-height);vertical-align:var(--ful-spinner-icon-vertical-align);width:var(--ful-spinner-icon-width)}}}body:has(ful-spinner.backdrop:not([hidden])){overflow:hidden}ful-pagination{display:block;margin-top:auto;&:not(:defined){visibility:hidden}& i.bi:before{line-height:24px}& .reload{align-items:center;display:flex;font-size:24px}}ful-table{display:block;&:not(:defined){visibility:hidden}& tbody[data-ref=feedback],& tbody[data-ref=initial],& tbody[data-ref=loading]{height:360px;padding:1.5rem;& td{text-align:center;vertical-align:middle;& p{margin-top:1rem}}}& .pagination-index{align-self:center}}ful-sorter{cursor:pointer;display:block;&:not(:defined){visibility:hidden}&:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f574";display:inline-block;font-family:bootstrap-icons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;vertical-align:text-top}&:not([order]):before{color:#ccc}&[order=asc]:before{content:"\f574"}&[order=desc]:before{content:"\f575"}}ful-filter-instant,ful-filter-local-date,ful-filter-text{--ful-filter-active-bg:var(--ful-active-bg);--ful-filter-active-color:var(--ful-active-color);display:block;&:not(:defined){visibility:hidden}&[required]>.form-label>label:before{color:var(--ful-color);content:"* ";display:inline;font-weight:700}.dropdown-item:active{background-color:var(--ful-filter-active-bg);color:var(--ful-filter-active-color)}}
/*# sourceMappingURL=ful.css.map */