@optionfactory/fml 8.0.1 → 8.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom-elements.json +1210 -0
- package/dist/fml.css +1 -1
- package/dist/fml.css.map +1 -1
- package/dist/fml.iife.js +35 -6
- package/dist/fml.iife.js.map +1 -1
- package/dist/fml.iife.min.js +1 -1
- package/dist/fml.iife.min.js.map +1 -1
- package/dist/fml.min.mjs +1 -1
- package/dist/fml.min.mjs.map +1 -1
- package/dist/fml.mjs +35 -6
- package/dist/fml.mjs.map +1 -1
- package/dist/ftl.iife.js +35 -6
- package/dist/ftl.iife.js.map +1 -1
- package/dist/ftl.iife.min.js +1 -1
- package/dist/ftl.iife.min.js.map +1 -1
- package/dist/ftl.min.mjs +1 -1
- package/dist/ftl.min.mjs.map +1 -1
- package/dist/ftl.mjs +35 -6
- package/dist/ftl.mjs.map +1 -1
- package/dist/ful.css +1 -1
- package/dist/ful.css.map +1 -1
- package/dist/vscode.html-custom-data.json +357 -0
- package/dist/web-types.json +1006 -0
- package/package.json +6 -3
package/dist/fml.css
CHANGED
|
@@ -2,8 +2,8 @@ ful-errors{--ful-errors-color:var(--ful-error-color);--ful-errors-bg:var(--ful-e
|
|
|
2
2
|
: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 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 0.25rem rgba(var(--bs-danger-rgb), 0.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}
|
|
3
3
|
.ful-input,ful-input,ful-input-file,ful-input-instant,ful-input-local-date,ful-input-local-time{display:block;&[uppercase] input,&[uppercase] textarea{text-transform:uppercase}&:not(:defined){visibility:hidden}&[required]>.form-label>label:before{content:"* ";display:inline;font-weight:700;color:var(--ful-color)}& input:focus,& textarea:focus{border-color:var(--ful-focus-border-color);box-shadow:var(--ful-focus-box-shadow)}&:invalid input,&:invalid textarea{border-color:var(--ful-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23dc3545%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%224.5%22%2F%3E%3Cpath%20stroke-linejoin%3D%22round%22%20d%3D%22M5.8%203.6h.4L6%206.5z%22%2F%3E%3Ccircle%20cx%3D%226%22%20cy%3D%228.2%22%20r%3D%22.6%22%20fill%3D%22%23dc3545%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}&: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;grid-template-columns:1fr auto;gap:4px;&: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{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;text-align:right;line-height:21px;&>:first-child{min-width:30px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px .5rem;color:var(--ful-item-list-item-color);border-radius:var(--ful-item-list-item-border-radius);background-color:var(--ful-item-list-item-bg)}&>:first-child,&>:last-child{text-align:left}}}
|
|
4
4
|
ful-input-file{&>.default-dropzone{border:5px solid blue;min-height:100px;display:flex;align-items:center;justify-content:center;cursor:pointer}&: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}}}
|
|
5
|
-
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{content:"* ";display:inline;font-weight:700;color:var(--ful-color)}&>fieldset{&>legend{font-size:16px;margin:0}&>section{display:grid;gap:10px;grid-template-columns:1fr;& label{display:flex;align-items:center;border:1px solid var(--ful-radio-group-label-border-color);background-color:var(--ful-radio-group-label-bg);border-radius:4px;padding:8px 10px;height:100%;cursor:pointer;&>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]{margin-left:8px;margin-right:12px;height:16px;width:16px;vertical-align:text-bottom;accent-color:var(--ful-radio-group-label-checked-border-color)}}}&.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}
|
|
6
5
|
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);display:block;cursor:pointer;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{padding:5px 7px;margin:5px 0;color:var(--ful-select-badge-color);white-space:nowrap;border-radius:var(--ful-select-badge-border-radius);background-color:var(--ful-select-badge-bg);display:flex;align-items:center;line-height:1em}.ful-select-input-container{position:relative;display:block;flex:1 1 auto;width:1%;border:var(--ful-select-border-width) solid var(--ful-select-border-color);border-radius:var(--ful-select-border-radius);&:has(input:focus){border-color:var(--ful-select-focus-border-color);outline:0;box-shadow:var(--ful-select-focus-box-shadow)}}.ful-select-input{display:flex;flex:1 1 auto;padding-left:5px;padding-right:2.25rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23343a40%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22m2%205%206%206%206-6%22%2F%3E%3C%2Fsvg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;background-color:var(--ful-select-bg);overflow:hidden;z-index:5;border-radius:var(--ful-select-border-radius)}.ful-select-input-container:not(:first-child) .ful-select-input{border-top-left-radius:0;border-bottom-left-radius:0}.ful-select-input-container:not(:last-child) .ful-select-input{border-top-right-radius:0;border-bottom-right-radius:0}&:invalid .ful-select-input-container{border-color:var(--ful-invalid-border-color)}&:disabled .ful-select-input{background-size:0;background-color:var(--ful-disabled-bg)}&[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{content:"* ";display:inline;font-weight:700;color:var(--ful-color)}input{border:0;margin:0;outline:0;padding:.375rem 0 .375rem 7px;line-height:1.5;flex:1 1 auto;min-width:1em;width:1em;background-color:transparent}}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);display:block;position:absolute;z-index:1000;padding:.5rem 0;top:100%;margin-top:2px;background-color:var(--ful-dropdown-background-color);background-clip:padding-box;border:var(--ful-dropdown-border-width) solid var(--ful-dropdown-border-color);border-radius:var(--ful-dropdown-border-radius);width:100%;menu{height:auto;max-height:200px;overflow-y:auto;padding:0;margin:0;&:not(:has(*)):before{font-family:bootstrap-icons;display:block;content:"\f8c3";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{border-radius:var(--ful-dropdown-scrollbar-width);background-color:var(--ful-dropdown-active-bg);border:var(--ful-dropdown-scrollbar-border-width) solid var(--ful-dropdown-scrollbar-bg)}}li{padding:.5rem .751rem;display:block;border:0;cursor:pointer}li,li:hover,li[selected]{color:var(--ful-dropdown-color)}li:hover,li[selected]{background-color:var(--ful-dropdown-selected-bg)}li:active{color:#fff;background-color:var(--ful-dropdown-active-bg)}}
|
|
6
|
+
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{content:"* ";display:inline;font-weight:700;color:var(--ful-color)}&>fieldset{&>legend{font-size:16px;margin:0}&>section{display:grid;gap:10px;grid-template-columns:1fr;& label{display:flex;align-items:center;border:1px solid var(--ful-radio-group-label-border-color);background-color:var(--ful-radio-group-label-bg);border-radius:4px;padding:8px 10px;height:100%;cursor:pointer;&>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]{margin-left:8px;margin-right:12px;height:16px;width:16px;vertical-align:text-bottom;accent-color:var(--ful-radio-group-label-checked-border-color)}}}&.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}
|
|
7
7
|
ful-checkbox{--ful-checkbox-active-bg:var(--ful-active-bg);display:block;&:not(:defined){visibility:hidden}&[required]>.form-check>.form-check-label>label:before{content:"* ";display:inline;font-weight:700;color:var(--ful-color)}& 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)}}}
|
|
8
8
|
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{display:flex;align-items:center;justify-content:center}&.big{--ful-spinner-icon-width:2rem;--ful-spinner-icon-height:2rem;--ful-spinner-icon-border-width:0.25em}&.bigger{--ful-spinner-icon-width:4rem;--ful-spinner-icon-height:4rem;--ful-spinner-icon-border-width:0.5em}&.backdrop{--ful-spinner-icon-width:4rem;--ful-spinner-icon-height:4rem;--ful-spinner-icon-border-width:0.5em;z-index:2000;position:fixed;top:0;left:0;width:100vw;height:100vh;overflow-x:hidden;overflow-y:auto;outline:0;background-color:hsla(0,0%,65.5%,.8);display:flex;align-items:center;justify-content:center;&>.ful-spinner-wrapper{padding:2rem;background-color:#fff;border-radius:1rem}}&>.ful-spinner-wrapper{display:inline;&>.ful-spinner-icon{display:inline-block;width:var(--ful-spinner-icon-width);height:var(--ful-spinner-icon-height);vertical-align:var(--ful-spinner-icon-vertical-align);border-radius:50%;border:var(--ful-spinner-icon-border-width) solid var(--ful-spinner-icon-color);border-right-color:transparent;animation:var(--ful-spinner-icon-animation-speed) linear infinite var(--ful-spinner-icon-animation-name)}}}body:has(ful-spinner.backdrop:not([hidden])){overflow:hidden}
|
|
9
9
|
ful-pagination{display:block;margin-top:auto;&:not(:defined){visibility:hidden}& i.bi:before{line-height:24px}& .reload{display:flex;align-items:center;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{display:block;&:not(:defined){visibility:hidden}cursor:pointer;&:before{display:inline-block;vertical-align:text-top;font-family:bootstrap-icons;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f574"}&:not([order]):before{color:#ccc}&[order=asc]:before{content:"\f574"}&[order=desc]:before{content:"\f575"}}
|
package/dist/fml.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fml.css","sources":["../src/ful/elements/errors.css","../src/ful/elements/form.css","../src/ful/elements/input.css","../src/ful/elements/files.css","../src/ful/elements/radio.css","../src/ful/elements/select.css","../src/ful/elements/checkbox.css","../src/ful/elements/spinner.css","../src/ful/elements/table.css","../src/ful/elements/filters.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: 0.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}\n",":root {\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 0.25rem rgba(13, 110, 253, 0.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 0.25rem rgba(var(--bs-danger-rgb), 0.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 --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[hidden] {\n /* biome-ignore lint/complexity/noImportantStyles: must beat an element's own display */\n display: none !important;\n}\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 &[uppercase] input,\n &[uppercase] textarea {\n text-transform: uppercase;\n }\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n &[required] > .form-label > label::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\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 &:invalid textarea,\n &:invalid input {\n border-color: var(--ful-invalid-border-color);\n padding-right: calc(1.5em + 0.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(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.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\nful-item-list {\n --ful-item-list-item-color: var(--ful-active-color);\n --ful-item-list-item-border-radius: var(--ful-border-radius);\n --ful-item-list-item-bg: var(--ful-active-bg);\n\n display: grid;\n grid-template-columns: 1fr auto;\n gap: 4px;\n\n &:has(> ful-item > *:nth-child(3):last-child) {\n grid-template-columns: 1fr auto auto;\n }\n\n & > ful-item:first-child {\n margin-top: 6px;\n }\n\n & > ful-item:last-child {\n margin-bottom: 6px;\n }\n\n & > ful-item {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: subgrid;\n align-items: center;\n text-align: right;\n line-height: 21px;\n\n & > *:first-child {\n text-align: left;\n min-width: 30px;\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding: 5px 0.5rem;\n color: var(--ful-item-list-item-color);\n border-radius: var(--ful-item-list-item-border-radius);\n background-color: var(--ful-item-list-item-bg);\n }\n\n & > *:last-child {\n text-align: left;\n }\n }\n}\n","ful-input-file {\n & > .default-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 &[noinput] > .input-group {\n display: none;\n }\n\n &:not([dropzone]) > .default-dropzone,\n &:not([dropzone]) > .dropzone {\n display: none;\n }\n\n &:not([itemlist]) > ful-item-list {\n display: none;\n }\n\n &[readonly] {\n & > .default-dropzone,\n & > .dropzone {\n pointer-events: none;\n }\n\n & > .input-group > input {\n pointer-events: none;\n }\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 &[required] > fieldset > legend::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\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}\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 display: block;\n cursor: pointer;\n\n badges {\n display: flex;\n flex-wrap: nowrap;\n gap: 3px;\n overflow: hidden;\n\n &:has(badge) {\n min-width: 2em;\n }\n }\n\n &[itemlist] badges {\n display: none;\n }\n\n &:not([itemlist]) > ful-item-list {\n display: none;\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 .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 .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 0.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 .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 &:disabled .ful-select-input {\n background-size: 0;\n background-color: var(--ful-disabled-bg);\n }\n\n &[readonly] .ful-select-input {\n background-size: 0;\n }\n\n &[itemlist][readonly],\n &[itemlist]:disabled {\n & > .input-group {\n display: none;\n }\n & > ful-item-list > ful-item:first-child {\n margin-top: 0;\n }\n & > ful-item-list > ful-item {\n & > *:first-child {\n grid-column: 1 / -1;\n }\n & > *:last-child {\n display: none;\n }\n }\n }\n\n &[required] > .form-label > label::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\n }\n\n input {\n border: 0;\n margin: 0;\n outline: 0;\n padding: 0.375rem 0 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\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 &:not(:has(*))::before {\n font-family: bootstrap-icons;\n display: block;\n content: \"\\f8c3\";\n margin: auto;\n width: 1rem;\n }\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 li {\n padding: 0.5rem 0.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-checkbox {\n --ful-checkbox-active-bg: var(--ful-active-bg);\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n &[required] > .form-check > .form-check-label > label::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\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\nbody:has(ful-spinner.backdrop:not([hidden])) {\n overflow: hidden;\n}\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 height: 360px;\n padding: 1.5rem;\n & td {\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\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}\n","ful-filter-text,\nful-filter-instant,\nful-filter-local-date {\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 &[required] > .form-label > label::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\n }\n\n .dropdown-item:active {\n color: var(--ful-filter-active-color);\n background-color: var(--ful-filter-active-bg);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fml.css","sources":["../src/ful/elements/errors.css","../src/ful/elements/form.css","../src/ful/elements/input.css","../src/ful/elements/files.css","../src/ful/elements/select.css","../src/ful/elements/radio.css","../src/ful/elements/checkbox.css","../src/ful/elements/spinner.css","../src/ful/elements/table.css","../src/ful/elements/filters.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: 0.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}\n",":root {\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 0.25rem rgba(13, 110, 253, 0.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 0.25rem rgba(var(--bs-danger-rgb), 0.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 --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[hidden] {\n /* biome-ignore lint/complexity/noImportantStyles: must beat an element's own display */\n display: none !important;\n}\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 &[uppercase] input,\n &[uppercase] textarea {\n text-transform: uppercase;\n }\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n &[required] > .form-label > label::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\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 &:invalid textarea,\n &:invalid input {\n border-color: var(--ful-invalid-border-color);\n padding-right: calc(1.5em + 0.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(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.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\nful-item-list {\n --ful-item-list-item-color: var(--ful-active-color);\n --ful-item-list-item-border-radius: var(--ful-border-radius);\n --ful-item-list-item-bg: var(--ful-active-bg);\n\n display: grid;\n grid-template-columns: 1fr auto;\n gap: 4px;\n\n &:has(> ful-item > *:nth-child(3):last-child) {\n grid-template-columns: 1fr auto auto;\n }\n\n & > ful-item:first-child {\n margin-top: 6px;\n }\n\n & > ful-item:last-child {\n margin-bottom: 6px;\n }\n\n & > ful-item {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: subgrid;\n align-items: center;\n text-align: right;\n line-height: 21px;\n\n & > *:first-child {\n text-align: left;\n min-width: 30px;\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding: 5px 0.5rem;\n color: var(--ful-item-list-item-color);\n border-radius: var(--ful-item-list-item-border-radius);\n background-color: var(--ful-item-list-item-bg);\n }\n\n & > *:last-child {\n text-align: left;\n }\n }\n}\n","ful-input-file {\n & > .default-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 &[noinput] > .input-group {\n display: none;\n }\n\n &:not([dropzone]) > .default-dropzone,\n &:not([dropzone]) > .dropzone {\n display: none;\n }\n\n &:not([itemlist]) > ful-item-list {\n display: none;\n }\n\n &[readonly] {\n & > .default-dropzone,\n & > .dropzone {\n pointer-events: none;\n }\n\n & > .input-group > input {\n pointer-events: none;\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 display: block;\n cursor: pointer;\n\n badges {\n display: flex;\n flex-wrap: nowrap;\n gap: 3px;\n overflow: hidden;\n\n &:has(badge) {\n min-width: 2em;\n }\n }\n\n &[itemlist] badges {\n display: none;\n }\n\n &:not([itemlist]) > ful-item-list {\n display: none;\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 .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 .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 0.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 .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 &:disabled .ful-select-input {\n background-size: 0;\n background-color: var(--ful-disabled-bg);\n }\n\n &[readonly] .ful-select-input {\n background-size: 0;\n }\n\n &[itemlist][readonly],\n &[itemlist]:disabled {\n & > .input-group {\n display: none;\n }\n & > ful-item-list > ful-item:first-child {\n margin-top: 0;\n }\n & > ful-item-list > ful-item {\n & > *:first-child {\n grid-column: 1 / -1;\n }\n & > *:last-child {\n display: none;\n }\n }\n }\n\n &[required] > .form-label > label::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\n }\n\n input {\n border: 0;\n margin: 0;\n outline: 0;\n padding: 0.375rem 0 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\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 &:not(:has(*))::before {\n font-family: bootstrap-icons;\n display: block;\n content: \"\\f8c3\";\n margin: auto;\n width: 1rem;\n }\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 li {\n padding: 0.5rem 0.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 &[required] > fieldset > legend::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\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}\n","ful-checkbox {\n --ful-checkbox-active-bg: var(--ful-active-bg);\n\n display: block;\n\n &:not(:defined) {\n visibility: hidden;\n }\n\n &[required] > .form-check > .form-check-label > label::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\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\nbody:has(ful-spinner.backdrop:not([hidden])) {\n overflow: hidden;\n}\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 height: 360px;\n padding: 1.5rem;\n & td {\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\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}\n","ful-filter-text,\nful-filter-instant,\nful-filter-local-date {\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 &[required] > .form-label > label::before {\n content: \"* \";\n display: inline;\n font-weight: 700;\n color: var(--ful-color);\n }\n\n .dropdown-item:active {\n color: var(--ful-filter-active-color);\n background-color: var(--ful-filter-active-bg);\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/fml.iife.js
CHANGED
|
@@ -4381,25 +4381,38 @@ var fml = (function (exports) {
|
|
|
4381
4381
|
);
|
|
4382
4382
|
});
|
|
4383
4383
|
}
|
|
4384
|
+
#finished = new Map();
|
|
4384
4385
|
enqueue(el) {
|
|
4385
4386
|
if (this.#q.has(el)) {
|
|
4386
4387
|
//already upgrading, can happen when disconnecting an element
|
|
4387
4388
|
//while it's already queued for upgrade (e.g.: ful-form)
|
|
4388
4389
|
return;
|
|
4389
4390
|
}
|
|
4391
|
+
//settling waits on a signal that only ever resolves, so nothing here attaches a
|
|
4392
|
+
//rejection handler to the upgrade itself: a component that fails is still
|
|
4393
|
+
//reported the way it always was
|
|
4394
|
+
const { promise: finished, resolve: markFinished } = /** @type {PromiseWithResolvers<void>} */ (
|
|
4395
|
+
Promise.withResolvers()
|
|
4396
|
+
);
|
|
4390
4397
|
const promise = Nodes.waitParsed(el)
|
|
4391
4398
|
.then(() => el.upgrade())
|
|
4392
|
-
.finally(() =>
|
|
4399
|
+
.finally(() => {
|
|
4400
|
+
this.#q.delete(el);
|
|
4401
|
+
this.#finished.delete(el);
|
|
4402
|
+
markFinished();
|
|
4403
|
+
});
|
|
4393
4404
|
this.#q.set(el, promise);
|
|
4405
|
+
this.#finished.set(el, finished);
|
|
4394
4406
|
}
|
|
4395
4407
|
/**
|
|
4396
|
-
* Waits for every queued upgrade, including the ones enqueued while
|
|
4397
|
-
* a component is only queued once its parent connects it, so a single pass
|
|
4398
|
-
* miss everything nested.
|
|
4408
|
+
* Waits for every queued upgrade to settle, including the ones enqueued while
|
|
4409
|
+
* waiting: a component is only queued once its parent connects it, so a single pass
|
|
4410
|
+
* would miss everything nested. A component that fails to upgrade does not hold the
|
|
4411
|
+
* others back, readiness means the queue drained rather than that everything worked.
|
|
4399
4412
|
*/
|
|
4400
4413
|
async settle() {
|
|
4401
|
-
while (this.#
|
|
4402
|
-
await Promise.all(Array.from(this.#
|
|
4414
|
+
while (this.#finished.size !== 0) {
|
|
4415
|
+
await Promise.all(Array.from(this.#finished.values()));
|
|
4403
4416
|
}
|
|
4404
4417
|
}
|
|
4405
4418
|
get entries() {
|
|
@@ -4691,6 +4704,19 @@ var fml = (function (exports) {
|
|
|
4691
4704
|
return;
|
|
4692
4705
|
}
|
|
4693
4706
|
Reflect.set(this, 'disabled', disabled);
|
|
4707
|
+
if (disabled) {
|
|
4708
|
+
this.#unclaimFormDisabled();
|
|
4709
|
+
}
|
|
4710
|
+
}
|
|
4711
|
+
//a disabled ancestor fieldset already matches the element through :disabled, and
|
|
4712
|
+
//an attribute of its own would keep the element disabled once the fieldset is
|
|
4713
|
+
//re-enabled, as formDisabledCallback(false) is only delivered on an actual state
|
|
4714
|
+
//change. a claim of its own made while already disabled by ancestry is safe: the
|
|
4715
|
+
//platform fires no callback for it, so it survives the fieldset being re-enabled
|
|
4716
|
+
#unclaimFormDisabled() {
|
|
4717
|
+
if (this.closest('fieldset:disabled')) {
|
|
4718
|
+
this.removeAttribute('disabled');
|
|
4719
|
+
}
|
|
4694
4720
|
}
|
|
4695
4721
|
async upgrade() {
|
|
4696
4722
|
if (this.#parsed) {
|
|
@@ -4706,6 +4732,9 @@ var fml = (function (exports) {
|
|
|
4706
4732
|
);
|
|
4707
4733
|
const disabled = this.#disabledBeforeParsed ?? false;
|
|
4708
4734
|
await this.render({ slots, observed, disabled });
|
|
4735
|
+
if (disabled) {
|
|
4736
|
+
this.#unclaimFormDisabled();
|
|
4737
|
+
}
|
|
4709
4738
|
}
|
|
4710
4739
|
render(c) {}
|
|
4711
4740
|
reflect(fn) {
|