@optionfactory/fml 8.0.2 → 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 +11 -11
- package/dist/fml.css +1 -1
- package/dist/fml.css.map +1 -1
- package/dist/fml.d.mts +36 -13
- package/dist/fml.iife.js +104 -61
- 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 +104 -61
- package/dist/fml.mjs.map +1 -1
- package/dist/ftl.d.mts +24 -1
- package/dist/ftl.iife.js +27 -26
- 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 +27 -26
- package/dist/ftl.mjs.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 +11 -11
- package/dist/web-types.json +12 -12
- package/package.json +1 -1
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"name": "Checkbox",
|
|
66
66
|
"tagName": "ful-checkbox",
|
|
67
67
|
"customElement": true,
|
|
68
|
-
"description": "A checkbox, or a switch with type=\"switch\".",
|
|
68
|
+
"description": "A checkbox, or a switch with type=\"switch\". Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
69
69
|
"attributes": [
|
|
70
70
|
{
|
|
71
71
|
"name": "value",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"name": "Input",
|
|
115
115
|
"tagName": "ful-input",
|
|
116
116
|
"customElement": true,
|
|
117
|
-
"description": "A labelled text input. Use type to pick any native input type, or textarea.",
|
|
117
|
+
"description": "A labelled text input. Use type to pick any native input type, or textarea. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
118
118
|
"attributes": [
|
|
119
119
|
{
|
|
120
120
|
"name": "value",
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
"name": "InputFile",
|
|
187
187
|
"tagName": "ful-input-file",
|
|
188
188
|
"customElement": true,
|
|
189
|
-
"description": "A file input with an optional dropzone and a list of the selected files, enforcing the size and count limits it declares.",
|
|
189
|
+
"description": "A file input with an optional dropzone and a list of the selected files, enforcing the size and count limits it declares. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
190
190
|
"attributes": [
|
|
191
191
|
{
|
|
192
192
|
"name": "value",
|
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
"name": "InputLocalDate",
|
|
332
332
|
"tagName": "ful-input-local-date",
|
|
333
333
|
"customElement": true,
|
|
334
|
-
"description": "A date input. Its bounds accept a date, now, or an offset such as +1d, -2m or +3y.",
|
|
334
|
+
"description": "A date input. Its bounds accept a date, now, or an offset such as +1d, -2m or +3y. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
335
335
|
"attributes": [
|
|
336
336
|
{
|
|
337
337
|
"name": "value",
|
|
@@ -424,7 +424,7 @@
|
|
|
424
424
|
"name": "InputLocalTime",
|
|
425
425
|
"tagName": "ful-input-local-time",
|
|
426
426
|
"customElement": true,
|
|
427
|
-
"description": "A time input. Its bounds accept a time, now, or an hour or minute offset, snapped to the step grid.",
|
|
427
|
+
"description": "A time input. Its bounds accept a time, now, or an hour or minute offset, snapped to the step grid. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
428
428
|
"attributes": [
|
|
429
429
|
{
|
|
430
430
|
"name": "value",
|
|
@@ -517,7 +517,7 @@
|
|
|
517
517
|
"name": "InputInstant",
|
|
518
518
|
"tagName": "ful-input-instant",
|
|
519
519
|
"customElement": true,
|
|
520
|
-
"description": "A datetime input whose value is read and written as an ISO instant.",
|
|
520
|
+
"description": "A datetime input whose value is read and written as an ISO instant. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
521
521
|
"attributes": [
|
|
522
522
|
{
|
|
523
523
|
"name": "value",
|
|
@@ -610,7 +610,7 @@
|
|
|
610
610
|
"name": "RadioGroup",
|
|
611
611
|
"tagName": "ful-radio-group",
|
|
612
612
|
"customElement": true,
|
|
613
|
-
"description": "A group of radios, declared as ful-radio children. With type=\"boolean\" the value is a real boolean.",
|
|
613
|
+
"description": "A group of radios, declared as ful-radio children. With type=\"boolean\" the value is a real boolean. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
614
614
|
"attributes": [
|
|
615
615
|
{
|
|
616
616
|
"name": "value",
|
|
@@ -745,7 +745,7 @@
|
|
|
745
745
|
"name": "InstantFilter",
|
|
746
746
|
"tagName": "ful-filter-instant",
|
|
747
747
|
"customElement": true,
|
|
748
|
-
"description": "A ful-table filter over an instant, with an operator and one or two bounds.",
|
|
748
|
+
"description": "A ful-table filter over an instant, with an operator and one or two bounds. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
749
749
|
"attributes": [
|
|
750
750
|
{
|
|
751
751
|
"name": "value",
|
|
@@ -817,7 +817,7 @@
|
|
|
817
817
|
"name": "LocalDateFilter",
|
|
818
818
|
"tagName": "ful-filter-local-date",
|
|
819
819
|
"customElement": true,
|
|
820
|
-
"description": "A ful-table filter over a date, with an operator and one or two bounds.",
|
|
820
|
+
"description": "A ful-table filter over a date, with an operator and one or two bounds. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
821
821
|
"attributes": [
|
|
822
822
|
{
|
|
823
823
|
"name": "value",
|
|
@@ -889,7 +889,7 @@
|
|
|
889
889
|
"name": "TextFilter",
|
|
890
890
|
"tagName": "ful-filter-text",
|
|
891
891
|
"customElement": true,
|
|
892
|
-
"description": "A ful-table filter over text, with an operator such as CONTAINS or STARTS_WITH.",
|
|
892
|
+
"description": "A ful-table filter over text, with an operator such as CONTAINS or STARTS_WITH. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
893
893
|
"attributes": [
|
|
894
894
|
{
|
|
895
895
|
"name": "value",
|
|
@@ -961,7 +961,7 @@
|
|
|
961
961
|
"name": "Select",
|
|
962
962
|
"tagName": "ful-select",
|
|
963
963
|
"customElement": true,
|
|
964
|
-
"description": "A combobox backed by a loader, with badges for the current selection.",
|
|
964
|
+
"description": "A combobox backed by a loader, with badges for the current selection. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
|
|
965
965
|
"attributes": [
|
|
966
966
|
{
|
|
967
967
|
"name": "value",
|
package/dist/fml.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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
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
3
|
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}}}
|
|
4
|
+
.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}}}
|
|
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}
|
|
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)}}}
|
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/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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"}
|
|
1
|
+
{"version":3,"file":"fml.css","sources":["../src/ful/elements/errors.css","../src/ful/elements/form.css","../src/ful/elements/files.css","../src/ful/elements/input.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-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-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-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.d.mts
CHANGED
|
@@ -351,7 +351,30 @@ declare class ParsedElement extends HTMLElement {
|
|
|
351
351
|
template(name?: string): any;
|
|
352
352
|
connectedCallback(): void;
|
|
353
353
|
attributeChangedCallback(attr: any, oldValue: any, newValue: any): void;
|
|
354
|
-
|
|
354
|
+
/**
|
|
355
|
+
* The disabled protocol follows the semantics of a native form control:
|
|
356
|
+
*
|
|
357
|
+
* - the `disabled` attribute on the host is the field's own claim, and nothing
|
|
358
|
+
* but its author ever writes or removes it, in markup or through the property.
|
|
359
|
+
* The framework never claims on the form's behalf, so there is nothing to
|
|
360
|
+
* unclaim and nothing to lose: a field declared disabled inside a disabled
|
|
361
|
+
* `<fieldset>` stays disabled when the fieldset comes back, exactly like a
|
|
362
|
+
* native input keeps its attribute.
|
|
363
|
+
* - the effective state is the claim OR a disabled fieldset ancestry, which the
|
|
364
|
+
* platform maintains on its own: `:disabled` matches both, a disabled field is
|
|
365
|
+
* left out of the submitted values, and the inner native controls are reached
|
|
366
|
+
* by the ancestry as descendants of the fieldset.
|
|
367
|
+
* - the `disabled` property reflects the claim only, like a native input's: a
|
|
368
|
+
* field disabled by its ancestry reads `false` while `matches(':disabled')`
|
|
369
|
+
* tells the effective state. Un-claiming inside a disabled fieldset cannot
|
|
370
|
+
* enable the field.
|
|
371
|
+
* - the inner controls mirror the claim and nothing else: the ancestry state is
|
|
372
|
+
* never written anywhere, so it can never go stale, and the browser composes
|
|
373
|
+
* the two on its own when it disables and re-enables a fieldset's descendants.
|
|
374
|
+
*
|
|
375
|
+
* Because of this, formDisabledCallback carries nothing the framework needs to
|
|
376
|
+
* apply, and the protocol does not define it.
|
|
377
|
+
*/
|
|
355
378
|
upgrade(): Promise<void>;
|
|
356
379
|
render(c: any): void;
|
|
357
380
|
reflect(fn: any): void;
|
|
@@ -899,8 +922,8 @@ declare class Input extends ParsedElement {
|
|
|
899
922
|
set value(value: any);
|
|
900
923
|
get readonly(): any;
|
|
901
924
|
set readonly(v: any);
|
|
902
|
-
get disabled():
|
|
903
|
-
set disabled(d:
|
|
925
|
+
get disabled(): boolean;
|
|
926
|
+
set disabled(d: boolean);
|
|
904
927
|
get required(): boolean;
|
|
905
928
|
set required(d: boolean);
|
|
906
929
|
get placeholder(): any;
|
|
@@ -1086,8 +1109,8 @@ declare class Select extends ParsedElement {
|
|
|
1086
1109
|
set value(vs: any);
|
|
1087
1110
|
get value(): any;
|
|
1088
1111
|
get entry(): [any, any][] | [any, any];
|
|
1089
|
-
get disabled():
|
|
1090
|
-
set disabled(d:
|
|
1112
|
+
get disabled(): boolean;
|
|
1113
|
+
set disabled(d: boolean);
|
|
1091
1114
|
get readonly(): any;
|
|
1092
1115
|
set readonly(v: any);
|
|
1093
1116
|
get required(): boolean;
|
|
@@ -1114,8 +1137,8 @@ declare class RadioGroup extends ParsedElement {
|
|
|
1114
1137
|
set value(value: string | boolean | null);
|
|
1115
1138
|
get readonly(): any;
|
|
1116
1139
|
set readonly(v: any);
|
|
1117
|
-
get disabled():
|
|
1118
|
-
set disabled(d:
|
|
1140
|
+
get disabled(): boolean;
|
|
1141
|
+
set disabled(d: boolean);
|
|
1119
1142
|
get required(): boolean;
|
|
1120
1143
|
set required(d: boolean);
|
|
1121
1144
|
focus(options: any): void;
|
|
@@ -1138,8 +1161,8 @@ declare class Checkbox extends ParsedElement {
|
|
|
1138
1161
|
set value(value: any);
|
|
1139
1162
|
get readonly(): any;
|
|
1140
1163
|
set readonly(v: any);
|
|
1141
|
-
get disabled():
|
|
1142
|
-
set disabled(d:
|
|
1164
|
+
get disabled(): boolean;
|
|
1165
|
+
set disabled(d: boolean);
|
|
1143
1166
|
get required(): boolean;
|
|
1144
1167
|
set required(d: boolean);
|
|
1145
1168
|
focus(options: any): void;
|
|
@@ -1266,8 +1289,8 @@ declare class InstantFilter extends Input {
|
|
|
1266
1289
|
set value(v: any[] | undefined);
|
|
1267
1290
|
get readonly(): any;
|
|
1268
1291
|
set readonly(v: any);
|
|
1269
|
-
get disabled():
|
|
1270
|
-
set disabled(d:
|
|
1292
|
+
get disabled(): boolean;
|
|
1293
|
+
set disabled(d: boolean);
|
|
1271
1294
|
}
|
|
1272
1295
|
declare class LocalDateFilter extends Input {
|
|
1273
1296
|
#private;
|
|
@@ -1278,8 +1301,8 @@ declare class LocalDateFilter extends Input {
|
|
|
1278
1301
|
set value(v: any[] | undefined);
|
|
1279
1302
|
get readonly(): any;
|
|
1280
1303
|
set readonly(v: any);
|
|
1281
|
-
get disabled():
|
|
1282
|
-
set disabled(d:
|
|
1304
|
+
get disabled(): boolean;
|
|
1305
|
+
set disabled(d: boolean);
|
|
1283
1306
|
}
|
|
1284
1307
|
declare class TextFilter extends Input {
|
|
1285
1308
|
#private;
|