@optionfactory/fml 8.0.1 → 8.0.3
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 +2 -2
- package/dist/fml.css.map +1 -1
- package/dist/fml.d.mts +36 -13
- package/dist/fml.iife.js +123 -51
- 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 +123 -51
- package/dist/fml.mjs.map +1 -1
- package/dist/ftl.d.mts +24 -1
- package/dist/ftl.iife.js +46 -16
- 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 +46 -16
- package/dist/ftl.mjs.map +1 -1
- package/dist/ful.css +1 -1
- package/dist/ful.css.map +1 -1
- package/dist/ful.d.mts +12 -12
- package/dist/ful.iife.js +77 -35
- 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 +77 -35
- package/dist/ful.mjs.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/ful.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
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);display:block;padding:1rem;margin-bottom:1rem;color:var(--ful-errors-color);background-color:var(--ful-errors-bg);border:1px solid var(--ful-errors-border-color);border-radius:var(--ful-border-radius)}ful-field-error{--ful-field-error-invalid-color:var(--ful-invalid-color);display:none;:invalid &{display:block;margin-top:.25rem;color:var(--ful-field-error-invalid-color)}}ful-field-warnings{display:none;&:not(:empty){display:block}}ful-field-warning{display:block;margin:.5rem 0;padding:15px;color:var(--ful-warning-color);background-color:var(--ful-warning-bg);border-color:var(--ful-warning-border-color);border-radius:8px;animation:show-and-hide 5s ease forwards;animation-composition:initial}@keyframes show-and-hide{0%{opacity:0;display:block}3%{opacity:1}90%{opacity:1}to{opacity:0;display:none}}
|
|
2
|
-
.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}}}
|
|
3
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
|
+
.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
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
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}
|
package/dist/ful.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ful.css","sources":["../src/ful/elements/errors.css","../src/ful/elements/input.css","../src/ful/elements/form.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","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",":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-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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"}
|
|
1
|
+
{"version":3,"file":"ful.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/ful.d.mts
CHANGED
|
@@ -195,8 +195,8 @@ declare class Input extends ParsedElement {
|
|
|
195
195
|
set value(value: any);
|
|
196
196
|
get readonly(): any;
|
|
197
197
|
set readonly(v: any);
|
|
198
|
-
get disabled():
|
|
199
|
-
set disabled(d:
|
|
198
|
+
get disabled(): boolean;
|
|
199
|
+
set disabled(d: boolean);
|
|
200
200
|
get required(): boolean;
|
|
201
201
|
set required(d: boolean);
|
|
202
202
|
get placeholder(): any;
|
|
@@ -382,8 +382,8 @@ declare class Select extends ParsedElement {
|
|
|
382
382
|
set value(vs: any);
|
|
383
383
|
get value(): any;
|
|
384
384
|
get entry(): [any, any][] | [any, any];
|
|
385
|
-
get disabled():
|
|
386
|
-
set disabled(d:
|
|
385
|
+
get disabled(): boolean;
|
|
386
|
+
set disabled(d: boolean);
|
|
387
387
|
get readonly(): any;
|
|
388
388
|
set readonly(v: any);
|
|
389
389
|
get required(): boolean;
|
|
@@ -410,8 +410,8 @@ declare class RadioGroup extends ParsedElement {
|
|
|
410
410
|
set value(value: string | boolean | null);
|
|
411
411
|
get readonly(): any;
|
|
412
412
|
set readonly(v: any);
|
|
413
|
-
get disabled():
|
|
414
|
-
set disabled(d:
|
|
413
|
+
get disabled(): boolean;
|
|
414
|
+
set disabled(d: boolean);
|
|
415
415
|
get required(): boolean;
|
|
416
416
|
set required(d: boolean);
|
|
417
417
|
focus(options: any): void;
|
|
@@ -434,8 +434,8 @@ declare class Checkbox extends ParsedElement {
|
|
|
434
434
|
set value(value: any);
|
|
435
435
|
get readonly(): any;
|
|
436
436
|
set readonly(v: any);
|
|
437
|
-
get disabled():
|
|
438
|
-
set disabled(d:
|
|
437
|
+
get disabled(): boolean;
|
|
438
|
+
set disabled(d: boolean);
|
|
439
439
|
get required(): boolean;
|
|
440
440
|
set required(d: boolean);
|
|
441
441
|
focus(options: any): void;
|
|
@@ -562,8 +562,8 @@ declare class InstantFilter extends Input {
|
|
|
562
562
|
set value(v: any[] | undefined);
|
|
563
563
|
get readonly(): any;
|
|
564
564
|
set readonly(v: any);
|
|
565
|
-
get disabled():
|
|
566
|
-
set disabled(d:
|
|
565
|
+
get disabled(): boolean;
|
|
566
|
+
set disabled(d: boolean);
|
|
567
567
|
}
|
|
568
568
|
declare class LocalDateFilter extends Input {
|
|
569
569
|
#private;
|
|
@@ -574,8 +574,8 @@ declare class LocalDateFilter extends Input {
|
|
|
574
574
|
set value(v: any[] | undefined);
|
|
575
575
|
get readonly(): any;
|
|
576
576
|
set readonly(v: any);
|
|
577
|
-
get disabled():
|
|
578
|
-
set disabled(d:
|
|
577
|
+
get disabled(): boolean;
|
|
578
|
+
set disabled(d: boolean);
|
|
579
579
|
}
|
|
580
580
|
declare class TextFilter extends Input {
|
|
581
581
|
#private;
|
package/dist/ful.iife.js
CHANGED
|
@@ -778,15 +778,17 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
778
778
|
});
|
|
779
779
|
}
|
|
780
780
|
get disabled() {
|
|
781
|
-
|
|
781
|
+
//the claim only, like a native input: the effective state, claim or disabled
|
|
782
|
+
//ancestry, is what :disabled matches
|
|
783
|
+
return this.hasAttribute('disabled');
|
|
782
784
|
}
|
|
783
785
|
set disabled(d) {
|
|
784
|
-
|
|
785
|
-
//also on the host: a form associated element only matches :disabled through its
|
|
786
|
-
//own attribute, and that is what keeps it out of the submitted values. no reflect
|
|
787
|
-
//is needed, disabled is deliberately not observed: the platform delivers it
|
|
788
|
-
//through formDisabledCallback, which also covers a disabled ancestor fieldset
|
|
786
|
+
//the claim belongs to the author alone, nothing else ever writes it
|
|
789
787
|
index_mjs.Attributes.toggle(this, 'disabled', d);
|
|
788
|
+
//the inner control carries the claim as a native input would: a disabled
|
|
789
|
+
//fieldset ancestry is left to the browser, which reaches the inner control
|
|
790
|
+
//as a descendant of the fieldset and re-enables it on its own
|
|
791
|
+
index_mjs.Attributes.toggle(this._input, 'disabled', d);
|
|
790
792
|
}
|
|
791
793
|
get required() {
|
|
792
794
|
return this._input.getAttribute('aria-required') === 'true';
|
|
@@ -1706,7 +1708,9 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1706
1708
|
if (e.target.matches('input')) {
|
|
1707
1709
|
return;
|
|
1708
1710
|
}
|
|
1709
|
-
|
|
1711
|
+
//badges and other chrome are not form controls, the guard must ask the
|
|
1712
|
+
//effective state
|
|
1713
|
+
if (this.matches(':disabled') || this.readonly) {
|
|
1710
1714
|
return;
|
|
1711
1715
|
}
|
|
1712
1716
|
if (this.#ddmenu.shown) {
|
|
@@ -1722,7 +1726,7 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1722
1726
|
if (!e.target.closest('button')) {
|
|
1723
1727
|
return;
|
|
1724
1728
|
}
|
|
1725
|
-
if (this.disabled || this.readonly) {
|
|
1729
|
+
if (this.matches(':disabled') || this.readonly) {
|
|
1726
1730
|
return;
|
|
1727
1731
|
}
|
|
1728
1732
|
const idx = [...this.#items.children].indexOf(e.target.closest('ful-item'));
|
|
@@ -1735,7 +1739,7 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1735
1739
|
});
|
|
1736
1740
|
this.#badges.addEventListener('click', (e) => {
|
|
1737
1741
|
e.stopPropagation();
|
|
1738
|
-
if (this.disabled || this.readonly) {
|
|
1742
|
+
if (this.matches(':disabled') || this.readonly) {
|
|
1739
1743
|
return;
|
|
1740
1744
|
}
|
|
1741
1745
|
const idx = [...this.#badges.children].indexOf(e.target);
|
|
@@ -1760,7 +1764,7 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1760
1764
|
this.#input.value = '';
|
|
1761
1765
|
});
|
|
1762
1766
|
this.#input.addEventListener('keydown', (e) => {
|
|
1763
|
-
if (this.disabled || this.readonly) {
|
|
1767
|
+
if (this.matches(':disabled') || this.readonly) {
|
|
1764
1768
|
return;
|
|
1765
1769
|
}
|
|
1766
1770
|
switch (e.code) {
|
|
@@ -1813,7 +1817,7 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1813
1817
|
});
|
|
1814
1818
|
this.#input.addEventListener('input', (e) => {
|
|
1815
1819
|
e.stopPropagation();
|
|
1816
|
-
if (this.disabled || this.readonly) {
|
|
1820
|
+
if (this.matches(':disabled') || this.readonly) {
|
|
1817
1821
|
return;
|
|
1818
1822
|
}
|
|
1819
1823
|
dload();
|
|
@@ -1823,7 +1827,7 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1823
1827
|
if (!this.#multiple) {
|
|
1824
1828
|
this.#values.clear();
|
|
1825
1829
|
}
|
|
1826
|
-
this.#values.set(e.detail.data[0], e.detail.data.slice(1));
|
|
1830
|
+
this.#values.set(this.#coerceKey(e.detail.data[0]), e.detail.data.slice(1));
|
|
1827
1831
|
this.#changed();
|
|
1828
1832
|
this.#syncBadges();
|
|
1829
1833
|
this.#input.focus();
|
|
@@ -1874,10 +1878,36 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1874
1878
|
this.#items.replaceChildren();
|
|
1875
1879
|
this.template('items').withOverlay({ entries: this.#values.entries() }).renderTo(this.#items);
|
|
1876
1880
|
}
|
|
1881
|
+
/**
|
|
1882
|
+
* Coerces a key to the type declared by `k-type`. Keys reach the element from
|
|
1883
|
+
* both worlds: the `value` attribute is text, a loader returns whatever its
|
|
1884
|
+
* endpoint carries. One canonical type keeps the internal Map, which compares
|
|
1885
|
+
* keys strictly, consistent. A key that does not decode is left as it is.
|
|
1886
|
+
*/
|
|
1887
|
+
#coerceKey(k) {
|
|
1888
|
+
switch (this.getAttribute('k-type')) {
|
|
1889
|
+
case 'number': {
|
|
1890
|
+
const n = k === '' ? Number.NaN : Number(k);
|
|
1891
|
+
return Number.isNaN(n) ? k : n;
|
|
1892
|
+
}
|
|
1893
|
+
case 'boolean': {
|
|
1894
|
+
if (k === true || k === 'true') {
|
|
1895
|
+
return true;
|
|
1896
|
+
}
|
|
1897
|
+
if (k === false || k === 'false') {
|
|
1898
|
+
return false;
|
|
1899
|
+
}
|
|
1900
|
+
return k;
|
|
1901
|
+
}
|
|
1902
|
+
default:
|
|
1903
|
+
return String(k);
|
|
1904
|
+
}
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1877
1907
|
set value(vs) {
|
|
1878
1908
|
//the csvm mapper yields [] for a missing multiple value, an empty string is
|
|
1879
1909
|
//left alone: it is a usable key for an <option value="">
|
|
1880
|
-
const keys = vs == null ? [] : Array.isArray(vs) ? vs : [vs];
|
|
1910
|
+
const keys = (vs == null ? [] : Array.isArray(vs) ? vs : [vs]).map((k) => this.#coerceKey(k));
|
|
1881
1911
|
//the keys are known synchronously and are all `value` reads, so they are applied
|
|
1882
1912
|
//now: only the labels need the loader, until then a key stands in for its own
|
|
1883
1913
|
this.#values = new Map(keys.map((k) => [k, [k]]));
|
|
@@ -1900,7 +1930,8 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1900
1930
|
}
|
|
1901
1931
|
//label the keys that are still selected: a removal made while the lookup was in
|
|
1902
1932
|
//flight must not be undone by it, and a key the loader does not know is dropped
|
|
1903
|
-
|
|
1933
|
+
//the loader keys are coerced too, so they line up with the assigned ones
|
|
1934
|
+
const resolved = new Map(entries.map((e) => [this.#coerceKey(e[0]), e.slice(1)]));
|
|
1904
1935
|
for (const key of keys) {
|
|
1905
1936
|
if (!this.#values.has(key)) {
|
|
1906
1937
|
continue;
|
|
@@ -1926,15 +1957,17 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
1926
1957
|
return [...this.#values.entries()][0] ?? null;
|
|
1927
1958
|
}
|
|
1928
1959
|
get disabled() {
|
|
1929
|
-
|
|
1960
|
+
//the claim only, like a native input: the effective state, claim or disabled
|
|
1961
|
+
//ancestry, is what :disabled matches
|
|
1962
|
+
return this.hasAttribute('disabled');
|
|
1930
1963
|
}
|
|
1931
1964
|
set disabled(d) {
|
|
1932
|
-
|
|
1933
|
-
//also on the host: a form associated element only matches :disabled through its
|
|
1934
|
-
//own attribute, and that is what keeps it out of the submitted values. no reflect
|
|
1935
|
-
//is needed, disabled is deliberately not observed: the platform delivers it
|
|
1936
|
-
//through formDisabledCallback, which also covers a disabled ancestor fieldset
|
|
1965
|
+
//the claim belongs to the author alone, nothing else ever writes it
|
|
1937
1966
|
index_mjs.Attributes.toggle(this, 'disabled', d);
|
|
1967
|
+
//the inner control carries the claim as a native input would: a disabled
|
|
1968
|
+
//fieldset ancestry is left to the browser, which reaches the inner control
|
|
1969
|
+
//as a descendant of the fieldset and re-enables it on its own
|
|
1970
|
+
index_mjs.Attributes.toggle(this.#input, 'disabled', d);
|
|
1938
1971
|
}
|
|
1939
1972
|
get readonly() {
|
|
1940
1973
|
return this.#input.readOnly;
|
|
@@ -2082,15 +2115,17 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
2082
2115
|
});
|
|
2083
2116
|
}
|
|
2084
2117
|
get disabled() {
|
|
2085
|
-
|
|
2118
|
+
//the claim only, like a native input: the effective state, claim or disabled
|
|
2119
|
+
//ancestry, is what :disabled matches
|
|
2120
|
+
return this.hasAttribute('disabled');
|
|
2086
2121
|
}
|
|
2087
2122
|
set disabled(d) {
|
|
2088
|
-
|
|
2089
|
-
//also on the host: a form associated element only matches :disabled through its
|
|
2090
|
-
//own attribute, and that is what keeps it out of the submitted values. no reflect
|
|
2091
|
-
//is needed, disabled is deliberately not observed: the platform delivers it
|
|
2092
|
-
//through formDisabledCallback, which also covers a disabled ancestor fieldset
|
|
2123
|
+
//the claim belongs to the author alone, nothing else ever writes it
|
|
2093
2124
|
index_mjs.Attributes.toggle(this, 'disabled', d);
|
|
2125
|
+
//the group disables through its own fieldset, which carries the claim like
|
|
2126
|
+
//a native input would: a disabled outer ancestry is left to the browser,
|
|
2127
|
+
//which reaches the radios as descendants and re-enables them on its own
|
|
2128
|
+
this.#fieldset.disabled = d;
|
|
2094
2129
|
}
|
|
2095
2130
|
get required() {
|
|
2096
2131
|
return this.#fieldset.getAttribute('aria-required') === 'true';
|
|
@@ -2165,7 +2200,8 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
2165
2200
|
const label = fragment.querySelector('label');
|
|
2166
2201
|
label.addEventListener('click', () => {
|
|
2167
2202
|
this.focus();
|
|
2168
|
-
|
|
2203
|
+
//a label is not a form control, the guard must ask the effective state
|
|
2204
|
+
if (this.matches(':disabled') || this.readonly) {
|
|
2169
2205
|
return;
|
|
2170
2206
|
}
|
|
2171
2207
|
this.value = !this.value;
|
|
@@ -2200,15 +2236,17 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
2200
2236
|
});
|
|
2201
2237
|
}
|
|
2202
2238
|
get disabled() {
|
|
2203
|
-
|
|
2239
|
+
//the claim only, like a native input: the effective state, claim or disabled
|
|
2240
|
+
//ancestry, is what :disabled matches
|
|
2241
|
+
return this.hasAttribute('disabled');
|
|
2204
2242
|
}
|
|
2205
2243
|
set disabled(d) {
|
|
2206
|
-
|
|
2207
|
-
//also on the host: a form associated element only matches :disabled through its
|
|
2208
|
-
//own attribute, and that is what keeps it out of the submitted values. no reflect
|
|
2209
|
-
//is needed, disabled is deliberately not observed: the platform delivers it
|
|
2210
|
-
//through formDisabledCallback, which also covers a disabled ancestor fieldset
|
|
2244
|
+
//the claim belongs to the author alone, nothing else ever writes it
|
|
2211
2245
|
index_mjs.Attributes.toggle(this, 'disabled', d);
|
|
2246
|
+
//the inner control carries the claim as a native input would: a disabled
|
|
2247
|
+
//fieldset ancestry is left to the browser, which reaches the inner control
|
|
2248
|
+
//as a descendant of the fieldset and re-enables it on its own
|
|
2249
|
+
index_mjs.Attributes.toggle(this.#input, 'disabled', d);
|
|
2212
2250
|
}
|
|
2213
2251
|
get required() {
|
|
2214
2252
|
return this.#input.getAttribute('aria-required') === 'true';
|
|
@@ -2846,8 +2884,10 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
2846
2884
|
return super.disabled;
|
|
2847
2885
|
}
|
|
2848
2886
|
set disabled(d) {
|
|
2849
|
-
|
|
2887
|
+
//the claim and the first operand are the base's, the second operand mirrors
|
|
2888
|
+
//the claim like the first one does
|
|
2850
2889
|
super.disabled = d;
|
|
2890
|
+
index_mjs.Attributes.toggle(this.#value2, 'disabled', d);
|
|
2851
2891
|
}
|
|
2852
2892
|
}
|
|
2853
2893
|
|
|
@@ -2962,8 +3002,10 @@ var ful = (function (exports, index_mjs, index_mjs$1) {
|
|
|
2962
3002
|
return super.disabled;
|
|
2963
3003
|
}
|
|
2964
3004
|
set disabled(d) {
|
|
2965
|
-
|
|
3005
|
+
//the claim and the first operand are the base's, the second operand mirrors
|
|
3006
|
+
//the claim like the first one does
|
|
2966
3007
|
super.disabled = d;
|
|
3008
|
+
index_mjs.Attributes.toggle(this.#value2, 'disabled', d);
|
|
2967
3009
|
}
|
|
2968
3010
|
}
|
|
2969
3011
|
|