@optionfactory/ful 4.0.10 → 4.0.12
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/ful.css +1 -1
- package/dist/ful.css.map +1 -1
- package/dist/ful.iife.js +268 -15
- package/dist/ful.iife.js.map +1 -1
- package/dist/ful.iife.min.js +1 -1
- package/dist/ful.iife.min.js.map +1 -1
- package/dist/ful.min.mjs +1 -1
- package/dist/ful.min.mjs.map +1 -1
- package/dist/ful.mjs +267 -16
- package/dist/ful.mjs.map +1 -1
- package/package.json +1 -1
package/dist/ful.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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}}: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-scrollbar-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!important}.ful-input,ful-input,ful-input-instant,ful-input-local-date,ful-input-local-time{display:block;&:not(:defined){visibility:hidden}& 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-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}}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}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;&::-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}&>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}& 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}.dropdown-item:active{background-color:var(--ful-filter-active-bg);color:var(--ful-filter-active-color)}}
|
|
1
|
+
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!important}.ful-input,ful-input,ful-input-file,ful-input-instant,ful-input-local-date,ful-input-local-time{display:block;&:not(:defined){visibility:hidden}& 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-input-file{&>.dropzone{align-items:center;border:5px solid blue;cursor:pointer;display:flex;justify-content:center;min-height:100px}&>.items{display:grid;gap:4px;grid-template-columns:1fr auto auto;&>.item:first-of-type{margin-top:6px}&>.item:last-of-type{margin-bottom:6px}&>.item{align-items:center;display:grid;grid-column:1/-1;grid-template-columns:subgrid;&>.filename{display:inline-block;min-width:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}&>.size{text-align:right}}}}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}}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}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;&::-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}&>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}& 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}.dropdown-item:active{background-color:var(--ful-filter-active-bg);color:var(--ful-filter-active-color)}}
|
|
2
2
|
/*# sourceMappingURL=ful.css.map */
|
package/dist/ful.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["errors.css","form.css","input.css","select.css","radio.css","checkbox.css","spinner.css","table.css","filters.css"],"names":[],"mappings":"AAAA,WACI,yCAA0C,CAC1C,mCAAoC,CACpC,uDAAwD,CAMxD,qCAAsC,CACtC,+CAAgD,CAChD,sCAAuC,CAHvC,6BAA8B,CAH9B,aAAc,CAEd,kBAAmB,CADnB,YAMJ,CAEA,gBACI,wDAAyD,CACzD,YAAa,CAEb,WAGI,0CAA2C,CAF3C,aAAc,CACd,iBAEJ,CACJ,CCvBA,MAEI,wCAA0C,CAC1C,+BAAiC,CAEjC,6CAA+C,CAC/C,oDAAsD,CACtD,iDAAmD,CAEnD,gDAAkD,CAClD,+CAAiD,CAEjD,uBAAyB,CACzB,uBAAwB,CAExB,gCAAiC,CACjC,wDAA4D,CAE5D,wDAA0D,CAC1D,sEAAwE,CACxE,oEAAsE,CAEtE,wDAA0D,CAC1D,iDAAmD,CACnD,+DAAiE,CAEjE,0BAA2B,CAC3B,6CAA8C,CAC9C,0BAA2B,CAC3B,gCAAiC,CAGjC,6BAA8B,CAC9B,iDAAkD,CAClD,mDAAoD,CACpD,iDAEJ,CAGA,SACI,sBACJ,CC1CA,iFAQI,aAAc,CAEd,gBACI,iBACJ,CAEA,+BAEI,0CAA2C,CAC3C,sCACJ,CAGA,mCAII,qUAA4U,CAE5U,wDAAyD,CADzD,2BAA4B,CAE5B,2DAA4D,CAL5D,4CAA6C,CAC7C,kCAKJ,CAEA,+CAEI,4CAA6C,CAC7C,wCACJ,CAEJ,CCrCA,WACI,wDAAyD,CACzD,0DAA2D,CAC3D,wDAAyD,CACzD,oCAAqC,CAErC,gDAAiD,CACjD,0CAA2C,CAC3C,yDAA0D,CAC1D,6DAA8D,CAC9D,yDAA0D,CAI1D,cAAe,CADf,aAAc,CAGd,OACI,YAAa,CACb,gBAAiB,CACjB,OAAQ,CACR,eAAgB,CAChB,aACI,aACJ,CACJ,CAEA,MAQI,kBAAmB,CAFnB,2CAA4C,CAD5C,mDAAoD,CAFpD,mCAAoC,CAIpC,YAAa,CAEb,eAAgB,CAPhB,YAAa,CADb,eAAgB,CAGhB,kBAMJ,CAGA,4BAKI,0EAA2E,CAC3E,6CAA8C,CAJ9C,aAAc,CACd,aAAc,CAFd,iBAAkB,CAGlB,QAAS,CAIT,mBACI,iDAAkD,CAElD,6CAA8C,CAD9C,SAEJ,CAEJ,CAEA,kBASI,qCAAsC,CAJtC,8PAAiP,CACjP,uCAAwC,CACxC,2BAA4B,CAC5B,yBAA0B,CAI1B,6CAA8C,CAX9C,YAAa,CACb,aAAc,CAQd,eAAgB,CAPhB,gBAAiB,CACjB,qBAAsB,CAOtB,SAKJ,CAEA,gEAEI,2BAA4B,CAD5B,wBAEJ,CAEA,+DAEI,4BAA6B,CAD7B,yBAEJ,CAEA,sCACI,4CACJ,CAGA,6BAEI,uCAAwC,CADxC,iBAEJ,CACA,8BACI,iBACJ,CAGA,MASI,4BAA6B,CAR7B,QAAS,CAKT,aAAc,CADd,eAAgB,CAHhB,QAAS,CAKT,aAAc,CAJd,SAAU,CACV,6BAA8B,CAI9B,SAEJ,CAGJ,CAEA,aACI,qCAAsC,CACtC,iDAAkD,CAClD,6CAA8C,CAC9C,mDAAoD,CACpD,qDAAsD,CACtD,mDAAoD,CACpD,6CAA8C,CAC9C,yDAA0D,CAC1D,uEAAwE,CACxE,mDAAoD,CACpD,+DAAgE,CAUhE,2BAA4B,CAD5B,qDAAsD,CAEtD,8EAA+E,CAC/E,+CAAgD,CAVhD,aAAc,CAKd,cAAe,CAFf,eAAiB,CAFjB,iBAAkB,CAGlB,QAAS,CAOT,UAAW,CATX,YAAa,CAWb,KACI,WAAY,CAIZ,QAAS,CAHT,gBAAiB,CACjB,eAAgB,CAChB,SAAU,CAGV,qBACI,UACJ,CAEA,2BACI,iDAAkD,CAClD,iDACJ,CAEA,2BAEI,8CAA+C,CAC/C,wFAAyF,CAFzF,iDAGJ,CAEJ,CAEA,GAII,QAAS,CACT,cAAe,CAFf,aAAc,CAFd,qBAKJ,CAEA,yBANI,+BAUJ,CAJA,sBAGI,gDACJ,CAEA,UAEI,8CAA+C,CAD/C,UAEJ,CAEJ,CCrLA,gBACI,4DAA6D,CAC7D,kCAAmC,CACnC,iEAAkE,CAClE,0CAA2C,CAC3C,qEAAsE,CACtE,0DAA2D,CAC3D,gDAAiD,CAEjD,aAAc,CAEd,gBACI,iBACJ,CAEA,WACI,SACI,cAAe,CACf,QACJ,CAEA,UACI,YAAa,CACb,QAAS,CACT,yBAA0B,CAE1B,QAEI,kBAAmB,CAEnB,gDAAiD,CADjD,0DAA2D,CAE3D,iBAAkB,CAGlB,cAAe,CAPf,YAAa,CAMb,WAAY,CADZ,gBAAiB,CAIjB,MACI,MACJ,CACJ,CAEA,uCACI,wDAAyD,CACzD,8DACJ,CAEA,wCACI,yDAA0D,CAC1D,+DACJ,CAEA,oBAMI,8DAA+D,CAH/D,WAAY,CAFZ,eAAgB,CAChB,iBAAkB,CAGlB,0BAA2B,CAD3B,UAGJ,CACJ,CACJ,CAEA,8BACI,QAAS,CACT,6BACJ,CAEA,iCACI,6CACJ,CACJ,CAEA,UACI,YACJ,CC1EA,aAEI,6CAA8C,CAE9C,aAAc,CAEd,gBACI,iBACJ,CAEA,+BACI,8CAA+C,CAC/C,0CACJ,CAEA,+BACI,4CAA6C,CAE7C,UACI,yCACJ,CAEA,QACI,wCACJ,CACJ,CAEJ,CC3BA,YACI,6BAA8B,CAC9B,8BAA+B,CAC/B,qCAAsC,CACtC,0CAA2C,CAC3C,wCAAyC,CACzC,gDAAiD,CACjD,qCAAsC,CAEtC,gBACI,iBACJ,CAEA,WAEI,kBAAmB,CADnB,YAAa,CAEb,sBACJ,CAEA,MACI,6BAA8B,CAC9B,8BAA+B,CAC/B,sCACJ,CAQA,oBALI,6BAA8B,CAC9B,8BAA+B,CAC/B,qCA2BJ,CAxBA,WAgBI,kBAAmB,CAFnB,kCAAwC,CACxC,YAAa,CALb,YAAa,CAOb,sBAAuB,CATvB,MAAO,CAKP,SAAU,CAFV,iBAAkB,CAClB,eAAgB,CANhB,cAAe,CACf,KAAM,CAEN,WAAY,CAJZ,YAAa,CAcb,uBAEI,qBAAuB,CACvB,kBAAmB,CAFnB,YAGJ,CACJ,CAEA,uBACI,cAAe,CAEf,oBAQI,wGAAyG,CAFzG,+EAAgF,CADhF,iBAAkB,CAElB,8BAA+B,CAN/B,oBAAqB,CAErB,qCAAsC,CACtC,qDAAsD,CAFtD,mCAOJ,CACJ,CAEJ,CAEA,6CACI,eACJ,CC5EA,eACI,aAAc,CACd,eAAgB,CAChB,gBACI,iBACJ,CAEA,cACI,gBACJ,CACA,UAEI,kBAAmB,CADnB,YAAa,CAEb,cACJ,CACJ,CAEA,UACI,aAAc,CAEd,gBACI,iBACJ,CAEA,+EAII,YAAa,CACb,cAAe,CACf,KAEI,iBAAkB,CAClB,qBAAsB,CACtB,IACI,eACJ,CACJ,CACJ,CAEA,oBACI,iBACJ,CAEJ,CAGA,WAOI,cAAe,CANf,aAAc,CAEd,gBACI,iBACJ,CAIA,SASI,kCAAmC,CACnC,iCAAkC,CAClC,eAAgB,CAVhB,oBAAqB,CAErB,2BAA4B,CAC5B,iBAAkB,CAElB,mBAAoB,CADpB,eAAgB,CAGhB,aAAc,CADd,mBAAoB,CALpB,uBAUJ,CAEA,sBACI,UACJ,CAEA,oBACI,eACJ,CAEA,qBACI,eACJ,CACJ,CCjFA,yDAEI,2CAA4C,CAC5C,iDAAkD,CAElD,aAAc,CAEd,gBACI,iBACJ,CAEA,sBAEI,4CAA6C,CAD7C,oCAEJ,CAEJ","file":"ful.css","sourcesContent":["ful-errors {\n --ful-errors-color: var(--ful-error-color);\n --ful-errors-bg: var(--ful-error-bg);\n --ful-errors-border-color: var(--ful-error-border-color);\n\n display: block;\n padding: 1rem;\n margin-bottom: 1rem;\n color: var(--ful-errors-color);\n background-color: var(--ful-errors-bg);\n border: 1px solid var(--ful-errors-border-color);\n border-radius: var(--ful-border-radius);\n}\n\nful-field-error {\n --ful-field-error-invalid-color: var(--ful-invalid-color);\n display: none;\n\n :invalid & {\n display: block;\n margin-top: .25rem;\n color: var(--ful-field-error-invalid-color);\n } \n}",":root {\n\n --ful-color: var(--bs-body-color, #212529);\n --ful-bg: var(--bs-body-bg, #fff);\n\n --ful-border-width: var(--bs-border-width, 1px);\n --ful-border-radius: var(--bs-border-radius, 0.375rem);\n --ful-border-color: var(--bs-border-color, #dee2e6);\n\n --ful-disabled-bg: var(--bs-secondary-bg, #e9ecef);\n --ful-selected-bg: var(--bs-tertiary-bg, #f8f9fa);\n\n --ful-active-color: white;\n --ful-active-bg: #007376;\n\n --ful-focus-border-color: #86b7fe;\n --ful-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);\n\n --ful-invalid-color: var(--bs-form-invalid-color, #dc3545);\n --ful-invalid-border-color: var(--bs-form-invalid-border-color, #dc3545);\n --ful-invalid-box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25);\n\n --ful-error-color: var(--bs-danger-text-emphasis, #58151c);\n --ful-error-bg: var(--bs-danger-bg-subtle, #f8d7da);\n --ful-error-border-color: var(--bs-danger-border-subtle, #f1aeb5);\n\n --ful-scrollbar-bg: #e9ecef;\n --ful-scrollbar-thumb-bg: var(--ful-active-bg);\n --ful-scrollbar-width: 12px;\n --ful-scrollbar-border-width: 1px;\n\n\n --ful-inputs-bg: var(--ful-bg);\n --ful-inputs-border-width: var(--ful-border-width);\n --ful-inputs-border-radius: var(--ful-border-radius);\n --ful-inputs-border-color: var(--ful-border-color);\n\n}\n\n\n[hidden] {\n display: none !important;\n}","ful-input,\n.ful-input,\nful-input-local-date,\nful-input-local-time,\nful-input-instant {\n\n\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n & textarea:focus,\n & input:focus {\n border-color: var(--ful-focus-border-color);\n box-shadow: var(--ful-focus-box-shadow);\n }\n\n\n &:invalid textarea,\n &:invalid input {\n border-color: var(--ful-invalid-border-color);\n padding-right: calc(1.5em + .75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' 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\");\n background-repeat: no-repeat;\n background-position: right calc(.375em + .1875rem) center;\n background-size: calc(.75em + .375rem) calc(.75em + .375rem);\n }\n\n &:invalid textarea:focus,\n &:invalid input:focus {\n border-color: var(--ful-invalid-border-color);\n box-shadow: var(--ful-invalid-box-shadow);\n }\n\n}","ful-select {\n --ful-select-border-width: var(--ful-inputs-border-width);\n --ful-select-border-radius: var(--ful-inputs-border-radius);\n --ful-select-border-color: var(--ful-inputs-border-color);\n --ful-select-bg: var(--ful-inputs-bg);\n\n --ful-select-badge-color: var(--ful-active-color);\n --ful-select-badge-bg: var(--ful-active-bg);\n --ful-select-badge-border-radius: var(--ful-border-radius);\n --ful-select-focus-border-color: var(--ful-focus-border-color);\n --ful-select-focus-box-shadow: var(--ful-focus-box-shadow);\n\n\n display: block;\n cursor: pointer;\n\n badges {\n display: flex;\n flex-wrap: nowrap;\n gap: 3px;\n overflow: hidden;\n &:has(badge) {\n min-width: 2em;\n }\n }\n\n badge {\n padding: 5px 7px;\n margin: 5px 0;\n color: var(--ful-select-badge-color);\n white-space: nowrap;\n border-radius: var(--ful-select-badge-border-radius);\n background-color: var(--ful-select-badge-bg);\n display: flex;\n align-items: center; \n line-height: 1em;\n }\n\n\n .ful-select-input-container {\n position: relative;\n display: block;\n flex: 1 1 auto;\n width: 1%;\n border: var(--ful-select-border-width) solid var(--ful-select-border-color);\n border-radius: var(--ful-select-border-radius);\n \n &:has(input:focus) {\n border-color: var(--ful-select-focus-border-color);\n outline: 0;\n box-shadow: var(--ful-select-focus-box-shadow);\n }\n\n }\n\n .ful-select-input {\n display: flex;\n flex: 1 1 auto;\n padding-left: 5px;\n padding-right: 2.25rem;\n background-image: url(\"data:image/svg+xml,%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\");\n background-position: right .75rem center;\n background-repeat: no-repeat;\n background-size: 16px 12px;\n background-color: var(--ful-select-bg);\n overflow: hidden;\n z-index: 5;\n border-radius: var(--ful-select-border-radius);\n\n \n \n }\n\n .ful-select-input-container:not(:first-child) .ful-select-input {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; \n }\n\n .ful-select-input-container:not(:last-child) .ful-select-input {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; \n }\n\n &:invalid .ful-select-input-container {\n border-color: var(--ful-invalid-border-color);\n }\n\n\n &:disabled .ful-select-input {\n background-size: 0;\n background-color: var(--ful-disabled-bg);\n }\n &[readonly] .ful-select-input {\n background-size: 0;\n }\n\n\n input {\n border: 0;\n margin: 0;\n outline: 0;\n padding: .375rem 0 .375rem 7px;\n line-height: 1.5;\n flex: 1 1 auto;\n min-width: 1em;\n width: 1em;\n background-color: transparent;\n }\n\n\n}\n\nful-dropdown {\n --ful-dropdown-color: var(--ful-color);\n --ful-dropdown-selected-bg: var(--ful-selected-bg);\n --ful-dropdown-active-bg: var(--ful-active-bg);\n --ful-dropdown-border-width: var(--ful-border-width);\n --ful-dropdown-border-radius: var(--ful-border-radius);\n --ful-dropdown-border-color: var(--ful-border-color);\n --ful-dropdown-background-color: var(--ful-bg);\n --ful-dropdown-scrollbar-width: var(--ful-scrollbar-width);\n --ful-dropdown-scrollbar-border-width: var(--ful-scrollbar-border-width);\n --ful-dropdown-scrollbar-bg: var(--ful-scrollbar-bg);\n --ful-dropdown-scrollbar-thumb-bg: var(--ful-scrollbar-thumb-bg);\n\n display: block;\n position: absolute;\n z-index: 1000;\n padding: 0.5rem 0;\n top: 100%;\n margin-top: 2px;\n\n background-color: var(--ful-dropdown-background-color);\n background-clip: padding-box;\n border: var(--ful-dropdown-border-width) solid var(--ful-dropdown-border-color);\n border-radius: var(--ful-dropdown-border-radius);\n width: 100%;\n\n menu {\n height: auto;\n max-height: 200px;\n overflow-y: auto;\n padding: 0;\n margin: 0;\n\n &::-webkit-scrollbar {\n width: 12px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: var(--ful-dropdown-scrollbar-bg);\n border-radius: var(--ful-dropdown-scrollbar-width);\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: var(--ful-dropdown-scrollbar-width);\n background-color: var(--ful-dropdown-active-bg);\n border: var(--ful-dropdown-scrollbar-border-width) solid var(--ful-dropdown-scrollbar-bg);\n }\n\n }\n\n li {\n padding: .5rem .751rem;\n color: var(--ful-dropdown-color);\n display: block;\n border: 0;\n cursor: pointer;\n }\n\n li:hover,\n li[selected] {\n color: var(--ful-dropdown-color);\n background-color: var(--ful-dropdown-selected-bg);\n }\n\n li:active {\n color: #fff;\n background-color: var(--ful-dropdown-active-bg);\n }\n\n}","ful-radio-group {\n --ful-radio-group-label-border-color: var(--ful-border-color);\n --ful-radio-group-label-bg: inherit;\n --ful-radio-group-label-checked-border-color: var(--ful-active-bg);\n --ful-radio-group-label-checked-bg: #eefbfb;\n --ful-radio-group-label-disabled-border-color: var(--ful-border-color);\n --ful-radio-group-label-disabled-bg: var(--ful-disabled-bg);\n --ful-radio-group-active-bg: var(--ful-active-bg);\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n &>fieldset {\n &>legend {\n font-size: 16px;\n margin: 0;\n }\n\n &>section {\n display: grid;\n gap: 10px;\n grid-template-columns: 1fr;\n\n & label {\n display: flex;\n align-items: center;\n border: 1px solid var(--ful-radio-group-label-border-color);\n background-color: var(--ful-radio-group-label-bg);\n border-radius: 4px;\n padding: 8px 10px;\n height: 100%;\n cursor: pointer;\n\n &>div {\n flex: 1\n }\n }\n\n & label:has(input[type=radio]:checked) {\n background-color: var(--ful-radio-group-label-checked-bg);\n border-color: var(--ful-radio-group-label-checked-border-color);\n }\n\n & label:has(input[type=radio]:disabled) {\n background-color: var(--ful-radio-group-label-disabled-bg);\n border-color: var(--ful-radio-group-label-disabled-border-color);\n }\n\n & input[type=radio] {\n margin-left: 8px;\n margin-right: 12px;\n height: 16px;\n width: 16px;\n vertical-align: text-bottom;\n accent-color: var(--ful-radio-group-label-checked-border-color);\n }\n }\n }\n\n &.horizontal>fieldset>section {\n gap: 16px;\n grid-template-columns: 1fr 1fr;\n }\n\n &:invalid>fieldset>section label {\n border-color: var(--ful-radio-group-active-bg);\n }\n}\n\nful-radio {\n display: none;\n}","ful-checkbox {\n\n --ful-checkbox-active-bg: var(--ful-active-bg);\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n & input[type=checkbox]:checked {\n background-color: var(--ful-checkbox-active-bg);\n border-color: var(--ful-checkbox-active-bg);\n }\n\n &:invalid input[type=checkbox] {\n border-color: var(--ful-invalid-border-color);\n\n &:checked {\n background-color: var(--ful-invalid-color);\n }\n\n &:focus {\n box-shadow: var(--ful-invalid-box-shadow);\n }\n }\n\n}","ful-spinner {\n --ful-spinner-icon-width: 1rem;\n --ful-spinner-icon-height: 1rem;\n --ful-spinner-icon-border-width: 0.2em;\n --ful-spinner-icon-vertical-align: -0.125em;\n --ful-spinner-icon-animation-speed: 0.75s;\n --ful-spinner-icon-animation-name: spinner-border;\n --ful-spinner-icon-color: currentcolor;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n &.centered {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &.big {\n --ful-spinner-icon-width: 2rem;\n --ful-spinner-icon-height: 2rem;\n --ful-spinner-icon-border-width: 0.25em;\n }\n\n &.bigger {\n --ful-spinner-icon-width: 4rem;\n --ful-spinner-icon-height: 4rem;\n --ful-spinner-icon-border-width: 0.5em;\n }\n\n &.backdrop {\n --ful-spinner-icon-width: 4rem;\n --ful-spinner-icon-height: 4rem;\n --ful-spinner-icon-border-width: 0.5em;\n\n z-index: 2000;\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n background-color: rgb(167 167 167 / 80%);\n display: flex;\n align-items: center;\n justify-content: center;\n\n &>.ful-spinner-wrapper {\n padding: 2rem;\n background-color: white;\n border-radius: 1rem;\n }\n }\n\n &>.ful-spinner-wrapper {\n display: inline;\n\n &>.ful-spinner-icon {\n display: inline-block;\n width: var(--ful-spinner-icon-width);\n height: var(--ful-spinner-icon-height);\n vertical-align: var(--ful-spinner-icon-vertical-align);\n border-radius: 50%;\n border: var(--ful-spinner-icon-border-width) solid var(--ful-spinner-icon-color);\n border-right-color: transparent;\n animation: var(--ful-spinner-icon-animation-speed) linear infinite var(--ful-spinner-icon-animation-name);\n }\n }\n\n}\n\nbody:has(ful-spinner.backdrop:not([hidden])) {\n overflow: hidden;\n}","ful-pagination {\n display: block;\n margin-top: auto;\n &:not(:defined) {\n visibility: hidden;\n }\n\n & i.bi::before {\n line-height: 24px;\n }\n & .reload {\n display: flex;\n align-items: center;\n font-size: 24px;\n }\n}\n\nful-table {\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n & tbody[data-ref=initial],\n & tbody[data-ref=loading],\n & tbody[data-ref=feedback]\n {\n height: 360px;\n padding: 1.5rem;\n & td {\n\n text-align: center;\n vertical-align: middle;\n & p {\n margin-top: 1rem;\n }\n }\n }\n\n & .pagination-index {\n align-self: center;\n }\n\n}\n\n\nful-sorter {\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n cursor: pointer;\n\n &::before {\n display: inline-block;\n vertical-align: text-top;\n font-family: bootstrap-icons;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n content: \"\\f574\";\n }\n\n &:not([order])::before {\n color: #cccccc;\n }\n\n &[order=asc]::before {\n content: \"\\f574\"\n }\n\n &[order=desc]::before {\n content: \"\\f575\";\n }\n}","ful-filter-text, ful-filter-instant, ful-filter-local-date {\n\n --ful-filter-active-bg: var(--ful-active-bg);\n --ful-filter-active-color: var(--ful-active-color);\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n .dropdown-item:active {\n color: var(--ful-filter-active-color);\n background-color: var(--ful-filter-active-bg);\n }\n\n}"]}
|
|
1
|
+
{"version":3,"sources":["errors.css","form.css","input.css","files.css","select.css","radio.css","checkbox.css","spinner.css","table.css","filters.css"],"names":[],"mappings":"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","file":"ful.css","sourcesContent":["ful-errors {\n --ful-errors-color: var(--ful-error-color);\n --ful-errors-bg: var(--ful-error-bg);\n --ful-errors-border-color: var(--ful-error-border-color);\n\n display: block;\n padding: 1rem;\n margin-bottom: 1rem;\n color: var(--ful-errors-color);\n background-color: var(--ful-errors-bg);\n border: 1px solid var(--ful-errors-border-color);\n border-radius: var(--ful-border-radius);\n}\n\nful-field-error {\n --ful-field-error-invalid-color: var(--ful-invalid-color);\n display: none;\n\n :invalid & {\n display: block;\n margin-top: .25rem;\n color: var(--ful-field-error-invalid-color);\n } \n}\n\nful-field-warnings {\n display: none;\n &:not(:empty) {\n display: block;\n }\n}\n\nful-field-warning {\n display: block;\n margin: 0.5rem 0;\n padding: 15px;\n color: var(--ful-warning-color);\n background-color: var(--ful-warning-bg);\n border-color: var(--ful-warning-border-color);\n border-radius: 8px;\n animation: show-and-hide 5s ease forwards;\n animation-composition: initial;\n}\n\n@keyframes show-and-hide {\n 0% {\n opacity: 0;\n display: block;\n }\n\n 3% {\n opacity: 1;\n }\n\n 90% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n display: none;\n }\n}",":root {\n\n --ful-color: var(--bs-body-color, #212529);\n --ful-bg: var(--bs-body-bg, #fff);\n\n --ful-border-width: var(--bs-border-width, 1px);\n --ful-border-radius: var(--bs-border-radius, 0.375rem);\n --ful-border-color: var(--bs-border-color, #dee2e6);\n\n --ful-disabled-bg: var(--bs-secondary-bg, #e9ecef);\n --ful-selected-bg: var(--bs-tertiary-bg, #f8f9fa);\n\n --ful-active-color: white;\n --ful-active-bg: #007376;\n\n --ful-focus-border-color: #86b7fe;\n --ful-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);\n\n --ful-invalid-color: var(--bs-form-invalid-color, #dc3545);\n --ful-invalid-border-color: var(--bs-form-invalid-border-color, #dc3545);\n --ful-invalid-box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25);\n\n --ful-error-color: var(--bs-danger-text-emphasis, #58151c);\n --ful-error-bg: var(--bs-danger-bg-subtle, #f8d7da);\n --ful-error-border-color: var(--bs-danger-border-subtle, #f1aeb5);\n\n --ful-warning-color: var(--bs-warning-text-emphasis, #664d03);\n --ful-warning-bg: var(--bs-warning-bg-subtle, #fff3cd);\n --ful-warning-border-color: var(--bs-warning-border-subtle, #ffe69c);\n\n --ful-scrollbar-bg: var(--bs-secondary-bg, #e9ecef);\n --ful-scrollbar-thumb-bg: var(--ful-active-bg);\n --ful-scrollbar-width: 12px;\n --ful-scrollbar-border-width: 1px;\n\n\n --ful-inputs-bg: var(--ful-bg);\n --ful-inputs-border-width: var(--ful-border-width);\n --ful-inputs-border-radius: var(--ful-border-radius);\n --ful-inputs-border-color: var(--ful-border-color);\n\n}\n\n\n[hidden] {\n display: none !important;\n}","ful-input,\n.ful-input,\nful-input-file,\nful-input-local-date,\nful-input-local-time,\nful-input-instant {\n display: block;\n \n &:not(:defined) {\n visibility: hidden;\n }\n\n & textarea:focus,\n & input:focus {\n border-color: var(--ful-focus-border-color);\n box-shadow: var(--ful-focus-box-shadow);\n }\n\n\n &:invalid textarea,\n &:invalid input {\n border-color: var(--ful-invalid-border-color);\n padding-right: calc(1.5em + .75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' 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\");\n background-repeat: no-repeat;\n background-position: right calc(.375em + .1875rem) center;\n background-size: calc(.75em + .375rem) calc(.75em + .375rem);\n }\n\n &:invalid textarea:focus,\n &:invalid input:focus {\n border-color: var(--ful-invalid-border-color);\n box-shadow: var(--ful-invalid-box-shadow);\n }\n\n}","ful-input-file {\n &>.dropzone {\n border: 5px solid blue;\n min-height: 100px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n\n &>.items {\n display: grid;\n grid-template-columns: 1fr auto auto;\n gap: 4px;\n\n &>.item:first-of-type {\n margin-top: 6px;\n }\n\n &>.item:last-of-type {\n margin-bottom: 6px;\n }\n\n &>.item {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: subgrid;\n align-items: center;\n\n &>.filename {\n min-width: 30px;\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &>.size {\n text-align: right;\n }\n }\n }\n\n\n}\n","ful-select {\n --ful-select-border-width: var(--ful-inputs-border-width);\n --ful-select-border-radius: var(--ful-inputs-border-radius);\n --ful-select-border-color: var(--ful-inputs-border-color);\n --ful-select-bg: var(--ful-inputs-bg);\n\n --ful-select-badge-color: var(--ful-active-color);\n --ful-select-badge-bg: var(--ful-active-bg);\n --ful-select-badge-border-radius: var(--ful-border-radius);\n --ful-select-focus-border-color: var(--ful-focus-border-color);\n --ful-select-focus-box-shadow: var(--ful-focus-box-shadow);\n\n\n display: block;\n cursor: pointer;\n\n badges {\n display: flex;\n flex-wrap: nowrap;\n gap: 3px;\n overflow: hidden;\n &:has(badge) {\n min-width: 2em;\n }\n }\n\n badge {\n padding: 5px 7px;\n margin: 5px 0;\n color: var(--ful-select-badge-color);\n white-space: nowrap;\n border-radius: var(--ful-select-badge-border-radius);\n background-color: var(--ful-select-badge-bg);\n display: flex;\n align-items: center; \n line-height: 1em;\n }\n\n\n .ful-select-input-container {\n position: relative;\n display: block;\n flex: 1 1 auto;\n width: 1%;\n border: var(--ful-select-border-width) solid var(--ful-select-border-color);\n border-radius: var(--ful-select-border-radius);\n \n &:has(input:focus) {\n border-color: var(--ful-select-focus-border-color);\n outline: 0;\n box-shadow: var(--ful-select-focus-box-shadow);\n }\n\n }\n\n .ful-select-input {\n display: flex;\n flex: 1 1 auto;\n padding-left: 5px;\n padding-right: 2.25rem;\n background-image: url(\"data:image/svg+xml,%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\");\n background-position: right .75rem center;\n background-repeat: no-repeat;\n background-size: 16px 12px;\n background-color: var(--ful-select-bg);\n overflow: hidden;\n z-index: 5;\n border-radius: var(--ful-select-border-radius);\n\n \n \n }\n\n .ful-select-input-container:not(:first-child) .ful-select-input {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; \n }\n\n .ful-select-input-container:not(:last-child) .ful-select-input {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; \n }\n\n &:invalid .ful-select-input-container {\n border-color: var(--ful-invalid-border-color);\n }\n\n\n &:disabled .ful-select-input {\n background-size: 0;\n background-color: var(--ful-disabled-bg);\n }\n &[readonly] .ful-select-input {\n background-size: 0;\n }\n\n\n input {\n border: 0;\n margin: 0;\n outline: 0;\n padding: .375rem 0 .375rem 7px;\n line-height: 1.5;\n flex: 1 1 auto;\n min-width: 1em;\n width: 1em;\n background-color: transparent;\n }\n\n\n}\n\nful-dropdown {\n --ful-dropdown-color: var(--ful-color);\n --ful-dropdown-selected-bg: var(--ful-selected-bg);\n --ful-dropdown-active-bg: var(--ful-active-bg);\n --ful-dropdown-border-width: var(--ful-border-width);\n --ful-dropdown-border-radius: var(--ful-border-radius);\n --ful-dropdown-border-color: var(--ful-border-color);\n --ful-dropdown-background-color: var(--ful-bg);\n --ful-dropdown-scrollbar-width: var(--ful-scrollbar-width);\n --ful-dropdown-scrollbar-border-width: var(--ful-scrollbar-border-width);\n --ful-dropdown-scrollbar-bg: var(--ful-scrollbar-bg);\n --ful-dropdown-scrollbar-thumb-bg: var(--ful-scrollbar-thumb-bg);\n\n display: block;\n position: absolute;\n z-index: 1000;\n padding: 0.5rem 0;\n top: 100%;\n margin-top: 2px;\n\n background-color: var(--ful-dropdown-background-color);\n background-clip: padding-box;\n border: var(--ful-dropdown-border-width) solid var(--ful-dropdown-border-color);\n border-radius: var(--ful-dropdown-border-radius);\n width: 100%;\n\n menu {\n height: auto;\n max-height: 200px;\n overflow-y: auto;\n padding: 0;\n margin: 0;\n\n &::-webkit-scrollbar {\n width: 12px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: var(--ful-dropdown-scrollbar-bg);\n border-radius: var(--ful-dropdown-scrollbar-width);\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: var(--ful-dropdown-scrollbar-width);\n background-color: var(--ful-dropdown-active-bg);\n border: var(--ful-dropdown-scrollbar-border-width) solid var(--ful-dropdown-scrollbar-bg);\n }\n\n }\n\n li {\n padding: .5rem .751rem;\n color: var(--ful-dropdown-color);\n display: block;\n border: 0;\n cursor: pointer;\n }\n\n li:hover,\n li[selected] {\n color: var(--ful-dropdown-color);\n background-color: var(--ful-dropdown-selected-bg);\n }\n\n li:active {\n color: #fff;\n background-color: var(--ful-dropdown-active-bg);\n }\n\n}","ful-radio-group {\n --ful-radio-group-label-border-color: var(--ful-border-color);\n --ful-radio-group-label-bg: inherit;\n --ful-radio-group-label-checked-border-color: var(--ful-active-bg);\n --ful-radio-group-label-checked-bg: #eefbfb;\n --ful-radio-group-label-disabled-border-color: var(--ful-border-color);\n --ful-radio-group-label-disabled-bg: var(--ful-disabled-bg);\n --ful-radio-group-active-bg: var(--ful-active-bg);\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n &>fieldset {\n &>legend {\n font-size: 16px;\n margin: 0;\n }\n\n &>section {\n display: grid;\n gap: 10px;\n grid-template-columns: 1fr;\n\n & label {\n display: flex;\n align-items: center;\n border: 1px solid var(--ful-radio-group-label-border-color);\n background-color: var(--ful-radio-group-label-bg);\n border-radius: 4px;\n padding: 8px 10px;\n height: 100%;\n cursor: pointer;\n\n &>div {\n flex: 1\n }\n }\n\n & label:has(input[type=radio]:checked) {\n background-color: var(--ful-radio-group-label-checked-bg);\n border-color: var(--ful-radio-group-label-checked-border-color);\n }\n\n & label:has(input[type=radio]:disabled) {\n background-color: var(--ful-radio-group-label-disabled-bg);\n border-color: var(--ful-radio-group-label-disabled-border-color);\n }\n\n & input[type=radio] {\n margin-left: 8px;\n margin-right: 12px;\n height: 16px;\n width: 16px;\n vertical-align: text-bottom;\n accent-color: var(--ful-radio-group-label-checked-border-color);\n }\n }\n }\n\n &.horizontal>fieldset>section {\n gap: 16px;\n grid-template-columns: 1fr 1fr;\n }\n\n &:invalid>fieldset>section label {\n border-color: var(--ful-radio-group-active-bg);\n }\n}\n\nful-radio {\n display: none;\n}","ful-checkbox {\n\n --ful-checkbox-active-bg: var(--ful-active-bg);\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n & input[type=checkbox]:checked {\n background-color: var(--ful-checkbox-active-bg);\n border-color: var(--ful-checkbox-active-bg);\n }\n\n &:invalid input[type=checkbox] {\n border-color: var(--ful-invalid-border-color);\n\n &:checked {\n background-color: var(--ful-invalid-color);\n }\n\n &:focus {\n box-shadow: var(--ful-invalid-box-shadow);\n }\n }\n\n}","ful-spinner {\n --ful-spinner-icon-width: 1rem;\n --ful-spinner-icon-height: 1rem;\n --ful-spinner-icon-border-width: 0.2em;\n --ful-spinner-icon-vertical-align: -0.125em;\n --ful-spinner-icon-animation-speed: 0.75s;\n --ful-spinner-icon-animation-name: spinner-border;\n --ful-spinner-icon-color: currentcolor;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n &.centered {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &.big {\n --ful-spinner-icon-width: 2rem;\n --ful-spinner-icon-height: 2rem;\n --ful-spinner-icon-border-width: 0.25em;\n }\n\n &.bigger {\n --ful-spinner-icon-width: 4rem;\n --ful-spinner-icon-height: 4rem;\n --ful-spinner-icon-border-width: 0.5em;\n }\n\n &.backdrop {\n --ful-spinner-icon-width: 4rem;\n --ful-spinner-icon-height: 4rem;\n --ful-spinner-icon-border-width: 0.5em;\n\n z-index: 2000;\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n background-color: rgb(167 167 167 / 80%);\n display: flex;\n align-items: center;\n justify-content: center;\n\n &>.ful-spinner-wrapper {\n padding: 2rem;\n background-color: white;\n border-radius: 1rem;\n }\n }\n\n &>.ful-spinner-wrapper {\n display: inline;\n\n &>.ful-spinner-icon {\n display: inline-block;\n width: var(--ful-spinner-icon-width);\n height: var(--ful-spinner-icon-height);\n vertical-align: var(--ful-spinner-icon-vertical-align);\n border-radius: 50%;\n border: var(--ful-spinner-icon-border-width) solid var(--ful-spinner-icon-color);\n border-right-color: transparent;\n animation: var(--ful-spinner-icon-animation-speed) linear infinite var(--ful-spinner-icon-animation-name);\n }\n }\n\n}\n\nbody:has(ful-spinner.backdrop:not([hidden])) {\n overflow: hidden;\n}","ful-pagination {\n display: block;\n margin-top: auto;\n &:not(:defined) {\n visibility: hidden;\n }\n\n & i.bi::before {\n line-height: 24px;\n }\n & .reload {\n display: flex;\n align-items: center;\n font-size: 24px;\n }\n}\n\nful-table {\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n & tbody[data-ref=initial],\n & tbody[data-ref=loading],\n & tbody[data-ref=feedback]\n {\n height: 360px;\n padding: 1.5rem;\n & td {\n\n text-align: center;\n vertical-align: middle;\n & p {\n margin-top: 1rem;\n }\n }\n }\n\n & .pagination-index {\n align-self: center;\n }\n\n}\n\n\nful-sorter {\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n cursor: pointer;\n\n &::before {\n display: inline-block;\n vertical-align: text-top;\n font-family: bootstrap-icons;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n content: \"\\f574\";\n }\n\n &:not([order])::before {\n color: #cccccc;\n }\n\n &[order=asc]::before {\n content: \"\\f574\"\n }\n\n &[order=desc]::before {\n content: \"\\f575\";\n }\n}","ful-filter-text, ful-filter-instant, ful-filter-local-date {\n\n --ful-filter-active-bg: var(--ful-active-bg);\n --ful-filter-active-color: var(--ful-active-color);\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n .dropdown-item:active {\n color: var(--ful-filter-active-color);\n background-color: var(--ful-filter-active-bg);\n }\n\n}"]}
|
package/dist/ful.iife.js
CHANGED
|
@@ -1684,6 +1684,246 @@ var ful = (function (exports, ftl) {
|
|
|
1684
1684
|
}
|
|
1685
1685
|
}
|
|
1686
1686
|
|
|
1687
|
+
class InputFile extends Input {
|
|
1688
|
+
static l10n = {
|
|
1689
|
+
en: {
|
|
1690
|
+
'dropzonelabel': 'Click or drop your files here',
|
|
1691
|
+
'unaccepptablefiletype': "Only files of type {0} are supported",
|
|
1692
|
+
'maxfilesizeexceeded': "Maximum supported file size is {0}",
|
|
1693
|
+
'maxtotalsizeexceeded': "Maximum supported total file size is {0}"
|
|
1694
|
+
},
|
|
1695
|
+
it: {
|
|
1696
|
+
'dropzonelabel': 'Clicca o trascina i file qui',
|
|
1697
|
+
'unaccepptablefiletype': "Solo i file di tipo {0} sono supportati",
|
|
1698
|
+
'maxfilesizeexceeded': "La dimensione massima di un file è di {0}",
|
|
1699
|
+
'maxtotalsizeexceeded': "La dimensione massima complessiva dei file è di {0}"
|
|
1700
|
+
}
|
|
1701
|
+
}
|
|
1702
|
+
static observed = ['value', 'readonly:presence', "accept:csv", 'multiple:presence', "itemlist:presence", "dropzone:presence", "maxfilesize:number", "maxtotalsize:number"];
|
|
1703
|
+
#accept;
|
|
1704
|
+
#items;
|
|
1705
|
+
#dropzone;
|
|
1706
|
+
#warnings;
|
|
1707
|
+
_type() {
|
|
1708
|
+
return 'file';
|
|
1709
|
+
}
|
|
1710
|
+
static template = `
|
|
1711
|
+
<div class="form-label">
|
|
1712
|
+
<label>{{{{ slots.default }}}}</label>
|
|
1713
|
+
{{{{ slots.info }}}}
|
|
1714
|
+
</div>
|
|
1715
|
+
<div class="input-group">
|
|
1716
|
+
<span data-tpl-if="slots.ibefore" class="input-group-text">{{{{ slots.ibefore }}}}</span>
|
|
1717
|
+
{{{{ slots.before }}}}
|
|
1718
|
+
<input class="form-control" data-tpl-type="type" placeholder=" " form="">
|
|
1719
|
+
{{{{ slots.after }}}}
|
|
1720
|
+
<span data-tpl-if="slots.iafter" class="input-group-text">{{{{ slots.iafter }}}}</span>
|
|
1721
|
+
</div>
|
|
1722
|
+
<div data-ref="dropzone" class="dropzone" data-tpl-if="slots.dropzone">
|
|
1723
|
+
{{{{ slots.dropzone }}}}
|
|
1724
|
+
</div>
|
|
1725
|
+
<div data-ref="dropzone" class="dropzone" data-tpl-if="!slots.dropzone">
|
|
1726
|
+
{{ #l10n:t('dropzonelabel') }}
|
|
1727
|
+
</div>
|
|
1728
|
+
<div data-ref="items" class="items"></div>
|
|
1729
|
+
<ful-field-warnings></ful-field-warnings>
|
|
1730
|
+
<ful-field-error></ful-field-error>
|
|
1731
|
+
`;
|
|
1732
|
+
static templates = {
|
|
1733
|
+
items: `
|
|
1734
|
+
<div class="item" data-tpl-each="files" data-tpl-var="file" data-tpl-data-name="file.name">
|
|
1735
|
+
<div class="filename"><span>{{ file.name }}</span></div>
|
|
1736
|
+
<div class="size">{{ #bytes:format(file.size) }}</div>
|
|
1737
|
+
<button class="btn btn-sm btn-outline-danger"><i class="bi bi-x-lg"></i></button>
|
|
1738
|
+
</div>
|
|
1739
|
+
`,
|
|
1740
|
+
warning: `<ful-field-warning>{{ #l10n:t(key, args) }}</ful-field-warning>`
|
|
1741
|
+
}
|
|
1742
|
+
render(conf) {
|
|
1743
|
+
const { observed } = conf;
|
|
1744
|
+
super.render(conf);
|
|
1745
|
+
this.#items = this.querySelector("[data-ref=items]");
|
|
1746
|
+
this.#dropzone = this.querySelector("[data-ref=dropzone]");
|
|
1747
|
+
this.#warnings = this.querySelector("ful-field-warnings");
|
|
1748
|
+
this.accept = observed.accept;
|
|
1749
|
+
this.multiple = observed.multiple;
|
|
1750
|
+
this.itemlist = observed.itemlist;
|
|
1751
|
+
this.dropzone = observed.dropzone;
|
|
1752
|
+
this.maxfilesize = observed.maxfilesize;
|
|
1753
|
+
this.maxtotalsize = observed.maxtotalsize;
|
|
1754
|
+
this.#warnings.addEventListener('animationend', e => {
|
|
1755
|
+
e.target.remove();
|
|
1756
|
+
});
|
|
1757
|
+
this.#items.addEventListener('click', (e) => {
|
|
1758
|
+
if (!e.target.closest("button")) {
|
|
1759
|
+
return;
|
|
1760
|
+
}
|
|
1761
|
+
const fileName = e.target.closest(".item").dataset.name;
|
|
1762
|
+
const dt = new DataTransfer();
|
|
1763
|
+
[...this.files].filter(f => f.name !== fileName).forEach(f => dt.items.add(f));
|
|
1764
|
+
this.files = dt.files;
|
|
1765
|
+
this.#update();
|
|
1766
|
+
});
|
|
1767
|
+
this.#dropzone.addEventListener("click", (e) => {
|
|
1768
|
+
this.querySelector('input')?.click();
|
|
1769
|
+
});
|
|
1770
|
+
|
|
1771
|
+
this.#dropzone.addEventListener("dragover", (e) => {
|
|
1772
|
+
e.preventDefault();
|
|
1773
|
+
});
|
|
1774
|
+
this.#dropzone.addEventListener("drop", (e) => {
|
|
1775
|
+
e.preventDefault();
|
|
1776
|
+
const dt = new DataTransfer();
|
|
1777
|
+
[...e.dataTransfer.items].filter(i => i.kind === 'file').forEach(i => dt.items.add(i.getAsFile()));
|
|
1778
|
+
this.files = dt.files;
|
|
1779
|
+
this.#update();
|
|
1780
|
+
});
|
|
1781
|
+
this._input.addEventListener("change", (e) => {
|
|
1782
|
+
this.#update();
|
|
1783
|
+
});
|
|
1784
|
+
}
|
|
1785
|
+
#formatByteSize(v) {
|
|
1786
|
+
return (v > 1024 * 1024) ? `${Math.round(v / 1024 / 1024 * 100) / 100}MiB` : (v > 1024 ? `${Math.round(v / 1024 * 100) / 100}KiB` : `${v}B`);
|
|
1787
|
+
}
|
|
1788
|
+
#update() {
|
|
1789
|
+
this.setCustomValidity();
|
|
1790
|
+
this.#ensureAcceptable();
|
|
1791
|
+
this.#ensureFileSizes();
|
|
1792
|
+
this.#ensureTotalSize();
|
|
1793
|
+
if(this.#useItemlist){
|
|
1794
|
+
this.template('items').withOverlay({ files: this.files }).withModule('bytes', { format: this.#formatByteSize }).renderTo(this.#items);
|
|
1795
|
+
}else {
|
|
1796
|
+
this.#items.replaceChildren();
|
|
1797
|
+
}
|
|
1798
|
+
}
|
|
1799
|
+
warning(key, args) {
|
|
1800
|
+
this.template('warning').withOverlay({ key, args }).renderTo(this.#warnings);
|
|
1801
|
+
}
|
|
1802
|
+
#ensureAcceptable() {
|
|
1803
|
+
if (!this.#accept) {
|
|
1804
|
+
return;
|
|
1805
|
+
}
|
|
1806
|
+
const unacceptable = [...this.files]
|
|
1807
|
+
.filter(file => this.#accept.some(type => !file.name.toLowerCase().endsWith(type.toLowerCase())));
|
|
1808
|
+
|
|
1809
|
+
if (unacceptable.length === 0) {
|
|
1810
|
+
return;
|
|
1811
|
+
}
|
|
1812
|
+
this.warning('unaccepptablefiletype', this.#accept.join(","));
|
|
1813
|
+
const dt = new DataTransfer();
|
|
1814
|
+
[...this.files].filter(f => !unacceptable.includes(f)).forEach(f => dt.items.add(f));
|
|
1815
|
+
this.files = dt.files;
|
|
1816
|
+
}
|
|
1817
|
+
#ensureFileSizes() {
|
|
1818
|
+
if (this.#maxfilesize === null) {
|
|
1819
|
+
return;
|
|
1820
|
+
}
|
|
1821
|
+
const oversized = [...this.files]
|
|
1822
|
+
.filter(file => file.size > this.#maxfilesize);
|
|
1823
|
+
if (oversized.length === 0) {
|
|
1824
|
+
return;
|
|
1825
|
+
}
|
|
1826
|
+
this.warning('maxfilesizeexceeded', this.#formatByteSize(this.#maxfilesize));
|
|
1827
|
+
const dt = new DataTransfer();
|
|
1828
|
+
[...this.files].filter(f => !oversized.includes(f)).forEach(f => dt.items.add(f));
|
|
1829
|
+
this.files = dt.files;
|
|
1830
|
+
}
|
|
1831
|
+
#ensureTotalSize() {
|
|
1832
|
+
if (this.#maxtotalsize === null) {
|
|
1833
|
+
return;
|
|
1834
|
+
}
|
|
1835
|
+
const totalSize = [...this.files].reduce((acc, file) => acc + file.size, 0);
|
|
1836
|
+
if (totalSize <= this.#maxtotalsize) {
|
|
1837
|
+
return;
|
|
1838
|
+
}
|
|
1839
|
+
this.warning('maxtotalsizeexceeded', this.#formatByteSize(this.#maxtotalsize));
|
|
1840
|
+
this.files = new DataTransfer().files;
|
|
1841
|
+
}
|
|
1842
|
+
get accept() {
|
|
1843
|
+
return this.#accept;
|
|
1844
|
+
}
|
|
1845
|
+
set accept(vs) {
|
|
1846
|
+
this._input.accept = vs.join(",");
|
|
1847
|
+
this.#accept = vs;
|
|
1848
|
+
this.reflect(() => {
|
|
1849
|
+
this.setAttribute('accept', this._input.accept);
|
|
1850
|
+
});
|
|
1851
|
+
}
|
|
1852
|
+
get multiple() {
|
|
1853
|
+
return this._input.multiple;
|
|
1854
|
+
}
|
|
1855
|
+
set multiple(v) {
|
|
1856
|
+
this._input.multiple = v;
|
|
1857
|
+
this.reflect(() => {
|
|
1858
|
+
this.setAttribute('multiple', this._input.multiple);
|
|
1859
|
+
});
|
|
1860
|
+
}
|
|
1861
|
+
get files() {
|
|
1862
|
+
return this._input.files;
|
|
1863
|
+
}
|
|
1864
|
+
set files(vs) {
|
|
1865
|
+
this._input.files = vs;
|
|
1866
|
+
}
|
|
1867
|
+
get file() {
|
|
1868
|
+
return this.files[0] ?? null;
|
|
1869
|
+
}
|
|
1870
|
+
set file(v) {
|
|
1871
|
+
const dt = new DataTransfer();
|
|
1872
|
+
dt.items.add(v);
|
|
1873
|
+
this.files = dt.files;
|
|
1874
|
+
}
|
|
1875
|
+
get value() {
|
|
1876
|
+
const names = Array.from(this._input.files).map(f => f.name);
|
|
1877
|
+
return this.multiple ? names : (names[0] ?? null);
|
|
1878
|
+
}
|
|
1879
|
+
set value(v) {
|
|
1880
|
+
//TODO:
|
|
1881
|
+
}
|
|
1882
|
+
#maxfilesize;
|
|
1883
|
+
get maxfilesize() {
|
|
1884
|
+
return this.#maxfilesize;
|
|
1885
|
+
}
|
|
1886
|
+
set maxfilesize(v) {
|
|
1887
|
+
this.#maxfilesize = v;
|
|
1888
|
+
this.reflect(() => {
|
|
1889
|
+
this.setAttribute('maxfilesize', v);
|
|
1890
|
+
});
|
|
1891
|
+
|
|
1892
|
+
}
|
|
1893
|
+
#maxtotalsize;
|
|
1894
|
+
get maxtotalsize() {
|
|
1895
|
+
return this.#maxtotalsize;
|
|
1896
|
+
}
|
|
1897
|
+
set maxtotalsize(v) {
|
|
1898
|
+
this.#maxtotalsize = v;
|
|
1899
|
+
this.reflect(() => {
|
|
1900
|
+
this.setAttribute('maxtotalsize', v);
|
|
1901
|
+
});
|
|
1902
|
+
}
|
|
1903
|
+
#useItemlist;
|
|
1904
|
+
get itemlist() {
|
|
1905
|
+
return this.#useItemlist;
|
|
1906
|
+
}
|
|
1907
|
+
set itemlist(v) {
|
|
1908
|
+
this.#useItemlist = v;
|
|
1909
|
+
ftl.Attributes.toggle(this.#items, "hidden", !v);
|
|
1910
|
+
this.reflect(() => {
|
|
1911
|
+
ftl.Attributes.toggle(this, "itemlist", v);
|
|
1912
|
+
});
|
|
1913
|
+
}
|
|
1914
|
+
#useDropzone;
|
|
1915
|
+
get dropzone() {
|
|
1916
|
+
return this.#useDropzone;
|
|
1917
|
+
}
|
|
1918
|
+
set dropzone(v) {
|
|
1919
|
+
this.#useDropzone = v;
|
|
1920
|
+
ftl.Attributes.toggle(this.#dropzone, "hidden", !v);
|
|
1921
|
+
this.reflect(() => {
|
|
1922
|
+
ftl.Attributes.toggle(this, "dropzone", v);
|
|
1923
|
+
});
|
|
1924
|
+
}
|
|
1925
|
+
}
|
|
1926
|
+
|
|
1687
1927
|
class RemoteLoader {
|
|
1688
1928
|
#http;
|
|
1689
1929
|
#url;
|
|
@@ -1996,7 +2236,9 @@ var ful = (function (exports, ftl) {
|
|
|
1996
2236
|
this.#changed();
|
|
1997
2237
|
this.#syncBadges();
|
|
1998
2238
|
});
|
|
1999
|
-
|
|
2239
|
+
this.#input.addEventListener('change', e => {
|
|
2240
|
+
e.stopPropagation();
|
|
2241
|
+
});
|
|
2000
2242
|
this.#input.addEventListener('blur', e => {
|
|
2001
2243
|
e.stopPropagation();
|
|
2002
2244
|
if (e.relatedTarget && this.contains(e.relatedTarget)) {
|
|
@@ -2062,6 +2304,7 @@ var ful = (function (exports, ftl) {
|
|
|
2062
2304
|
this.#syncBadges();
|
|
2063
2305
|
this.#input.focus();
|
|
2064
2306
|
this.#ddmenu.hide();
|
|
2307
|
+
this.#input.value = '';
|
|
2065
2308
|
});
|
|
2066
2309
|
this.replaceChildren(fragment);
|
|
2067
2310
|
}
|
|
@@ -2085,7 +2328,7 @@ var ful = (function (exports, ftl) {
|
|
|
2085
2328
|
b.innerText = v[0];
|
|
2086
2329
|
return b;
|
|
2087
2330
|
});
|
|
2088
|
-
this.#badges.
|
|
2331
|
+
this.#badges.replaceChildren();
|
|
2089
2332
|
this.#badges.append(...badges);
|
|
2090
2333
|
}
|
|
2091
2334
|
set value(vs) {
|
|
@@ -2578,7 +2821,7 @@ var ful = (function (exports, ftl) {
|
|
|
2578
2821
|
return await this.#http.request(this.#method, this.#url)
|
|
2579
2822
|
.param("page", pageRequest.page)
|
|
2580
2823
|
.param("size", pageRequest.size)
|
|
2581
|
-
.param("sort", sortRequest
|
|
2824
|
+
.param("sort", sortRequest ? `${sortRequest.sorter},${sortRequest.order}` : null)
|
|
2582
2825
|
.param("filters", filters.length > 0 ? JSON.stringify(Object.fromEntries(filters)) : null)
|
|
2583
2826
|
.fetchJson();
|
|
2584
2827
|
}
|
|
@@ -2724,7 +2967,7 @@ var ful = (function (exports, ftl) {
|
|
|
2724
2967
|
return await this.load(this.#latestRequest.pageRequest, this.#latestRequest.sortRequest, this.#latestRequest.filterRequest);
|
|
2725
2968
|
}
|
|
2726
2969
|
async load(pageRequest, sortRequest, filterRequest) {
|
|
2727
|
-
this.#body.
|
|
2970
|
+
this.#body.replaceChildren();
|
|
2728
2971
|
this.#loading.removeAttribute("hidden", "");
|
|
2729
2972
|
this.#feedback.setAttribute("hidden", "");
|
|
2730
2973
|
this.#noAutoload.setAttribute("hidden", "");
|
|
@@ -3043,6 +3286,23 @@ var ful = (function (exports, ftl) {
|
|
|
3043
3286
|
}
|
|
3044
3287
|
}
|
|
3045
3288
|
|
|
3289
|
+
class LocalizationModule {
|
|
3290
|
+
static t(k, ...args) {
|
|
3291
|
+
//@ts-ignore
|
|
3292
|
+
const format = this.l10n[this.language][k] ?? this.l10n['en'][k] ?? k;
|
|
3293
|
+
if (args.length === 0) {
|
|
3294
|
+
return format;
|
|
3295
|
+
}
|
|
3296
|
+
return format.replace(/{(\d+)}/g, (m, is) => {
|
|
3297
|
+
return args[Number(is)];
|
|
3298
|
+
});
|
|
3299
|
+
}
|
|
3300
|
+
static tl(k, args) {
|
|
3301
|
+
return LocalizationModule.t(k, ...args);
|
|
3302
|
+
}
|
|
3303
|
+
|
|
3304
|
+
}
|
|
3305
|
+
|
|
3046
3306
|
class Plugin {
|
|
3047
3307
|
configure(registry) {
|
|
3048
3308
|
const httpClient = HttpClient.builder()
|
|
@@ -3050,22 +3310,13 @@ var ful = (function (exports, ftl) {
|
|
|
3050
3310
|
.withRedirectOnUnauthorized("/")
|
|
3051
3311
|
.build();
|
|
3052
3312
|
registry
|
|
3053
|
-
.defineModule("l10n",
|
|
3054
|
-
t: function (k, ...args) {
|
|
3055
|
-
const format = this.l10n[this.language][k] ?? this.l10n['en'][k] ?? k;
|
|
3056
|
-
if (args.length === 0) {
|
|
3057
|
-
return format;
|
|
3058
|
-
}
|
|
3059
|
-
return format.replace(/{(\d+)}/g, (m, is) => {
|
|
3060
|
-
return args[Number(is)];
|
|
3061
|
-
});
|
|
3062
|
-
}
|
|
3063
|
-
})
|
|
3313
|
+
.defineModule("l10n", LocalizationModule)
|
|
3064
3314
|
.defineComponent('http-client', httpClient)
|
|
3065
3315
|
.defineElement('ful-spinner', Spinner)
|
|
3066
3316
|
.defineElement('ful-form', Form)
|
|
3067
3317
|
.defineElement('ful-checkbox', Checkbox)
|
|
3068
3318
|
.defineElement('ful-input', Input)
|
|
3319
|
+
.defineElement('ful-input-file', InputFile)
|
|
3069
3320
|
.defineElement('ful-local-date', LocalDate)
|
|
3070
3321
|
.defineElement('ful-instant', Instant)
|
|
3071
3322
|
.defineElement('ful-input-local-date', InputLocalDate)
|
|
@@ -3104,6 +3355,7 @@ var ful = (function (exports, ftl) {
|
|
|
3104
3355
|
exports.HttpClient = HttpClient;
|
|
3105
3356
|
exports.HttpClientError = HttpClientError;
|
|
3106
3357
|
exports.Input = Input;
|
|
3358
|
+
exports.InputFile = InputFile;
|
|
3107
3359
|
exports.InputInstant = InputInstant;
|
|
3108
3360
|
exports.InputLocalDate = InputLocalDate;
|
|
3109
3361
|
exports.InputLocalTime = InputLocalTime;
|
|
@@ -3113,6 +3365,7 @@ var ful = (function (exports, ftl) {
|
|
|
3113
3365
|
exports.LocalDate = LocalDate;
|
|
3114
3366
|
exports.LocalDateFilter = LocalDateFilter;
|
|
3115
3367
|
exports.LocalStorage = LocalStorage;
|
|
3368
|
+
exports.LocalizationModule = LocalizationModule;
|
|
3116
3369
|
exports.MediaType = MediaType;
|
|
3117
3370
|
exports.Pagination = Pagination;
|
|
3118
3371
|
exports.Plugin = Plugin;
|