@optionfactory/ful 0.72.0 → 0.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ful.css +1 -1
- package/dist/ful.css.map +1 -1
- package/dist/ful.iife.js +21 -144
- 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 +22 -143
- package/dist/ful.mjs.map +1 -1
- package/package.json +1 -1
package/dist/ful.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
ful-errors{--ful-errors-color:var(--bs-danger-text-emphasis);--ful-errors-bg:var(--bs-danger-bg-subtle);--ful-errors-border-color:var(--bs-danger-border-subtle);--ful-errors-border-radius:0.375rem;background-color:var(--ful-errors-bg);border:1px solid var(--ful-errors-border-color);border-radius:var(--ful-errors-border-radius);color:var(--ful-errors-color);display:block;margin-bottom:1rem;padding:1rem}ful-field-error{display:none}[ful-validated-field]:has(.is-invalid) ful-field-error{color:var(--bs-form-invalid-color);display:block;font-size:.875em;margin-top:.25rem}ful-input:not(:defined){visibility:hidden}ful-input{display:block}ful-input:has(.is-invalid) ful-field-error{display:block}ful-select:not(:defined){visibility:hidden}ful-select{display:block}ful-select .ts-control{border-radius:inherit!important}ful-select:has(.is-invalid) .invalid-feedback{display:block}ful-select:has(.is-invalid) .form-control,ful-select:has(.is-invalid) .form-select{border-color:var(--bs-form-invalid-border-color)!important}ful-select:has(.is-invalid) .focus .ts-control{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}ful-radio-group:not(:defined){visibility:hidden}ful-radio{display:none}ful-radio-group{--ful-radio-group-label-border-color:var(--bs-border-color);--ful-radio-group-label-border-color-checked:#46ce95;--ful-radio-group-label-background-color:inherit;--ful-radio-group-label-background-color-checked:#f5fffc;display:block}ful-radio-group>fieldset legend{font-size:16px;margin:0}ful-radio-group>fieldset>section{display:grid;gap:10px;grid-template-columns:1fr}ful-radio-group.horizontal>fieldset>section{gap:16px;grid-template-columns:1fr 1fr}ful-radio-group>fieldset input[type=radio]{height:16px;margin-left:8px;margin-right:12px;vertical-align:text-bottom;width:16px}ful-radio-group>fieldset label:has(input[type=radio]){background-color:var(--ful-radio-group-label-background-color);border:1px solid var(--ful-radio-group-label-border-color);border-radius:4px;display:block;padding:6px 10px}ful-radio-group>fieldset label:has(input[type=radio].is-invalid){border-color:var(--bs-form-invalid-border-color)}ful-radio-group>fieldset label:has(input[type=radio]:checked){background-color:var(--ful-radio-group-label-background-color-checked);border-color:var(--ful-radio-group-label-border-color-checked)}ful-radio-group:has(.is-invalid) ful-field-error{display:block}ful-spinner:not(:defined){visibility:hidden}ful-spinner{--ful-spinner-icon-width:1rem;--ful-spinner-icon-height:1rem;--ful-spinner-icon-border-width:0.2em;--ful-spinner-icon-vertical-align:-0.125em;--ful-spinner-icon-animation-speed:0.75s;--ful-spinner-icon-animation-name:spinner-border;--ful-spinner-icon-color:currentcolor}ful-spinner.centered{align-items:center;display:flex;justify-content:center}ful-spinner.big{--ful-spinner-icon-width:2rem;--ful-spinner-icon-height:2rem;--ful-spinner-icon-border-width:0.25em}ful-spinner.backdrop,ful-spinner.bigger{--ful-spinner-icon-width:4rem;--ful-spinner-icon-height:4rem;--ful-spinner-icon-border-width:0.5em}ful-spinner.backdrop{align-items:center;background-color:hsla(0,0%,65%,.8);display:flex;height:100vh;justify-content:center;left:0;outline:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:100vw;z-index:2000}ful-spinner>.ful-spinner-wrapper{display:inline}ful-spinner.backdrop>.ful-spinner-wrapper{background-color:#fff;border-radius:1rem;padding:2rem}ful-spinner>.ful-spinner-wrapper>.ful-spinner-icon{animation:var(--ful-spinner-icon-animation-speed) linear infinite var(--ful-spinner-icon-animation-name);border:var(--ful-spinner-icon-border-width) solid var(--ful-spinner-icon-color);border-radius:50%;border-right-color:transparent;display:inline-block;height:var(--ful-spinner-icon-height);vertical-align:var(--ful-spinner-icon-vertical-align);width:var(--ful-spinner-icon-width)}body:has(ful-spinner.backdrop:not([hidden])){overflow:hidden}
|
|
1
|
+
ful-errors{--ful-errors-color:var(--bs-danger-text-emphasis);--ful-errors-bg:var(--bs-danger-bg-subtle);--ful-errors-border-color:var(--bs-danger-border-subtle);--ful-errors-border-radius:0.375rem;background-color:var(--ful-errors-bg);border:1px solid var(--ful-errors-border-color);border-radius:var(--ful-errors-border-radius);color:var(--ful-errors-color);display:block;margin-bottom:1rem;padding:1rem}ful-field-error{display:none}[ful-validated-field]:has(.is-invalid) ful-field-error{color:var(--bs-form-invalid-color);display:block;font-size:.875em;margin-top:.25rem}ful-input:not(:defined){visibility:hidden}ful-input{display:block}ful-input:has(.is-invalid) ful-field-error{display:block}ful-select:not(:defined){visibility:hidden}ful-select{display:block}ful-select .ts-control{border-radius:inherit!important}ful-select:has(.is-invalid) .invalid-feedback{display:block}ful-select:has(.is-invalid) .form-control,ful-select:has(.is-invalid) .form-select{border-color:var(--bs-form-invalid-border-color)!important}ful-select:has(.is-invalid) .focus .ts-control{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}ful-radio-group:not(:defined){visibility:hidden}ful-radio{display:none}ful-radio-group{--ful-radio-group-label-border-color:var(--bs-border-color);--ful-radio-group-label-border-color-checked:#46ce95;--ful-radio-group-label-background-color:inherit;--ful-radio-group-label-background-color-checked:#f5fffc;display:block}ful-radio-group>fieldset legend{font-size:16px;margin:0}ful-radio-group>fieldset>section{display:grid;gap:10px;grid-template-columns:1fr}ful-radio-group.horizontal>fieldset>section{gap:16px;grid-template-columns:1fr 1fr}ful-radio-group>fieldset input[type=radio]{height:16px;margin-left:8px;margin-right:12px;vertical-align:text-bottom;width:16px}ful-radio-group>fieldset label:has(input[type=radio]){background-color:var(--ful-radio-group-label-background-color);border:1px solid var(--ful-radio-group-label-border-color);border-radius:4px;display:block;padding:6px 10px}ful-radio-group>fieldset label:has(input[type=radio].is-invalid){border-color:var(--bs-form-invalid-border-color)}ful-radio-group>fieldset label:has(input[type=radio]:checked){background-color:var(--ful-radio-group-label-background-color-checked);border-color:var(--ful-radio-group-label-border-color-checked)}ful-radio-group:has(.is-invalid) ful-field-error{display:block}ful-spinner:not(:defined){visibility:hidden}ful-spinner{--ful-spinner-icon-width:1rem;--ful-spinner-icon-height:1rem;--ful-spinner-icon-border-width:0.2em;--ful-spinner-icon-vertical-align:-0.125em;--ful-spinner-icon-animation-speed:0.75s;--ful-spinner-icon-animation-name:spinner-border;--ful-spinner-icon-color:currentcolor}ful-spinner.centered{align-items:center;display:flex;justify-content:center}ful-spinner.big{--ful-spinner-icon-width:2rem;--ful-spinner-icon-height:2rem;--ful-spinner-icon-border-width:0.25em}ful-spinner.backdrop,ful-spinner.bigger{--ful-spinner-icon-width:4rem;--ful-spinner-icon-height:4rem;--ful-spinner-icon-border-width:0.5em}ful-spinner.backdrop{align-items:center;background-color:hsla(0,0%,65%,.8);display:flex;height:100vh;justify-content:center;left:0;outline:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:100vw;z-index:2000}ful-spinner>.ful-spinner-wrapper{display:inline}ful-spinner.backdrop>.ful-spinner-wrapper{background-color:#fff;border-radius:1rem;padding:2rem}ful-spinner>.ful-spinner-wrapper>.ful-spinner-icon{animation:var(--ful-spinner-icon-animation-speed) linear infinite var(--ful-spinner-icon-animation-name);border:var(--ful-spinner-icon-border-width) solid var(--ful-spinner-icon-color);border-radius:50%;border-right-color:transparent;display:inline-block;height:var(--ful-spinner-icon-height);vertical-align:var(--ful-spinner-icon-vertical-align);width:var(--ful-spinner-icon-width)}body:has(ful-spinner.backdrop:not([hidden])){overflow:hidden}
|
|
2
2
|
/*# sourceMappingURL=ful.css.map */
|
package/dist/ful.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["errors.scss","input.scss","select.scss","radio.scss","spinner.scss"
|
|
1
|
+
{"version":3,"sources":["errors.scss","input.scss","select.scss","radio.scss","spinner.scss"],"names":[],"mappings":"AAAA,WACE,iDAAkD,CAClD,0CAA2C,CAC3C,wDAAyD,CACzD,mCAAoC,CAKpC,qCAAsC,CACtC,+CAAgD,CAChD,6CAA8C,CAH9C,6BAA8B,CAH9B,aAAc,CAEd,kBAAmB,CADnB,YAMF,CAEA,gBACE,YACF,CAEA,uDAIE,kCAAmC,CAHnC,aAAc,CAEd,gBAAkB,CADlB,iBAGF,CCvBA,wBACE,iBACF,CAEA,UACE,aACF,CAEA,2CACE,aACF,CCVA,yBACE,iBACF,CAEA,WACE,aACF,CAEA,uBAEE,+BACF,CAEA,8CACE,aACF,CAEA,mFAEE,0DACF,CAEA,+CACE,sDACF,CCxBA,8BACE,iBACF,CAEA,UACE,YACF,CAEA,gBAEE,2DAA4D,CAC5D,oDAAqD,CACrD,gDAAiD,CACjD,wDAAyD,CAJzD,aAKF,CAEA,gCACE,cAAe,CACf,QACF,CAEA,iCACE,YAAa,CACb,QAAS,CACT,yBACF,CAEA,4CACE,QAAS,CACT,6BACF,CAEA,2CAGE,WAAY,CAFZ,eAAgB,CAChB,iBAAkB,CAGlB,0BAA2B,CAD3B,UAEF,CAEA,sDAGE,8DAA+D,CAD/D,0DAA2D,CAE3D,iBAAkB,CAHlB,aAAc,CAId,gBACF,CAEA,iEACE,gDACF,CAEA,8DACE,sEAAuE,CACvE,8DACF,CAEA,iDACE,aACF,CC3DA,0BACE,iBACF,CAEA,YACE,6BAA8B,CAC9B,8BAA+B,CAC/B,qCAAsC,CACtC,0CAA2C,CAC3C,wCAAyC,CACzC,gDAAiD,CACjD,qCACF,CAEA,qBAEE,kBAAmB,CADnB,YAAa,CAEb,sBACF,CAEA,gBACE,6BAA8B,CAC9B,8BAA+B,CAC/B,sCACF,CAQA,wCALE,6BAA8B,CAC9B,8BAA+B,CAC/B,qCAoBF,CAjBA,qBAeE,kBAAmB,CAFnB,kCAA0C,CAC1C,YAAa,CALb,YAAa,CAOb,sBAAuB,CATvB,MAAO,CAKP,SAAU,CAFV,iBAAkB,CAClB,eAAgB,CANhB,cAAe,CACf,KAAM,CAEN,WAAY,CAJZ,YAaF,CAEA,iCACE,cACF,CAEA,0CAEE,qBAAuB,CACvB,kBAAmB,CAFnB,YAGF,CAEA,mDAQE,wGAAyG,CAFzG,+EAAgF,CADhF,iBAAkB,CAElB,8BAA+B,CAN/B,oBAAqB,CAErB,qCAAsC,CACtC,qDAAsD,CAFtD,mCAOF,CAEA,6CACE,eACF","file":"ful.css","sourcesContent":["ful-errors {\n --ful-errors-color: var(--bs-danger-text-emphasis);\n --ful-errors-bg: var(--bs-danger-bg-subtle);\n --ful-errors-border-color: var(--bs-danger-border-subtle);\n --ful-errors-border-radius: 0.375rem;\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-errors-border-radius);\n}\n\nful-field-error {\n display: none;\n}\n\n[ful-validated-field]:has(.is-invalid) ful-field-error {\n display: block;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--bs-form-invalid-color);\n}","ful-input:not(:defined) {\n visibility: hidden;\n}\n\nful-input {\n display: block;\n}\n\nful-input:has(.is-invalid) ful-field-error {\n display: block;\n}","ful-select:not(:defined) {\n visibility: hidden;\n}\n\nful-select {\n display: block;\n}\n\nful-select .ts-control {\n /*fixes border radius on box-shadow*/\n border-radius: inherit !important;\n}\n\nful-select:has(.is-invalid) .invalid-feedback {\n display: block;\n}\n\nful-select:has(.is-invalid) .form-select,\nful-select:has(.is-invalid) .form-control {\n border-color: var(--bs-form-invalid-border-color) !important;\n}\n\nful-select:has(.is-invalid) .focus .ts-control {\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}","ful-radio-group:not(:defined) {\n visibility: hidden;\n}\n\nful-radio {\n display: none;\n}\n\nful-radio-group {\n display: block;\n --ful-radio-group-label-border-color: var(--bs-border-color);\n --ful-radio-group-label-border-color-checked: #46ce95;\n --ful-radio-group-label-background-color: inherit;\n --ful-radio-group-label-background-color-checked: #f5fffc;\n}\n\nful-radio-group > fieldset legend {\n font-size: 16px;\n margin: 0;\n}\n\nful-radio-group > fieldset > section {\n display: grid;\n gap: 10px;\n grid-template-columns: 1fr;\n}\n\nful-radio-group.horizontal > fieldset > section {\n gap: 16px;\n grid-template-columns: 1fr 1fr;\n}\n\nful-radio-group > fieldset input[type=radio] {\n margin-left: 8px;\n margin-right: 12px;\n height: 16px;\n width: 16px;\n vertical-align: text-bottom;\n}\n\nful-radio-group > fieldset label:has(input[type=radio]) {\n display: block;\n border: 1px solid var(--ful-radio-group-label-border-color);\n background-color: var(--ful-radio-group-label-background-color);\n border-radius: 4px;\n padding: 6px 10px;\n}\n\nful-radio-group > fieldset label:has(input[type=radio].is-invalid) {\n border-color: var(--bs-form-invalid-border-color);\n}\n\nful-radio-group > fieldset label:has(input[type=radio]:checked) {\n background-color: var(--ful-radio-group-label-background-color-checked);\n border-color: var(--ful-radio-group-label-border-color-checked);\n}\n\nful-radio-group:has(.is-invalid) ful-field-error {\n display: block;\n}","ful-spinner:not(:defined) {\n visibility: hidden;\n}\n\nful-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\nful-spinner.centered {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\nful-spinner.big {\n --ful-spinner-icon-width: 2rem;\n --ful-spinner-icon-height: 2rem;\n --ful-spinner-icon-border-width: 0.25em;\n}\n\nful-spinner.bigger {\n --ful-spinner-icon-width: 4rem;\n --ful-spinner-icon-height: 4rem;\n --ful-spinner-icon-border-width: 0.5em;\n}\n\nful-spinner.backdrop {\n --ful-spinner-icon-width: 4rem;\n --ful-spinner-icon-height: 4rem;\n --ful-spinner-icon-border-width: 0.5em;\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: rgba(167, 167, 167, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\nful-spinner > .ful-spinner-wrapper {\n display: inline;\n}\n\nful-spinner.backdrop > .ful-spinner-wrapper {\n padding: 2rem;\n background-color: white;\n border-radius: 1rem;\n}\n\nful-spinner > .ful-spinner-wrapper > .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\nbody:has(ful-spinner.backdrop:not([hidden])) {\n overflow: hidden;\n}"]}
|
package/dist/ful.iife.js
CHANGED
|
@@ -569,40 +569,6 @@ var ful = (function (exports) {
|
|
|
569
569
|
}
|
|
570
570
|
}
|
|
571
571
|
|
|
572
|
-
// SyncEvent.on($0, 'asd', async e => { await ful.timing.sleep(10_000); return 3; })
|
|
573
|
-
// const success = await new SyncEvent("asd").dispatchTo($0);
|
|
574
|
-
class SyncEvent extends CustomEvent {
|
|
575
|
-
#promises;
|
|
576
|
-
#results;
|
|
577
|
-
constructor(type, options) {
|
|
578
|
-
super(type, {...options, cancelable: true});
|
|
579
|
-
this.#promises = [];
|
|
580
|
-
this.#results = [];
|
|
581
|
-
}
|
|
582
|
-
get results(){
|
|
583
|
-
return this.#results;
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
async dispatchTo(el) {
|
|
587
|
-
// unlike "native" events, which are fired by the browser and invoke
|
|
588
|
-
// event handlers asynchronously via the event loop, dispatchEvent()
|
|
589
|
-
// invokes event handlers synchronously.
|
|
590
|
-
// see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent
|
|
591
|
-
el.dispatchEvent(this);
|
|
592
|
-
//we ignore the result of dispatchEvent and use defaultPrevented instead
|
|
593
|
-
//because handlers can be async
|
|
594
|
-
this.#results = await Promise.all(this.#promises);
|
|
595
|
-
return !this.defaultPrevented;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
static on(el, type, h, useCapture) {
|
|
599
|
-
el.addEventListener(type, e => {
|
|
600
|
-
//e *must* be an async event
|
|
601
|
-
e.#promises.push(h(e));
|
|
602
|
-
}, useCapture);
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
|
|
606
572
|
class Fragments {
|
|
607
573
|
/**
|
|
608
574
|
*
|
|
@@ -858,7 +824,9 @@ var ful = (function (exports) {
|
|
|
858
824
|
const mappers = {
|
|
859
825
|
'string': attr => attr,
|
|
860
826
|
'number': attr => attr === null ? null : Number(attr),
|
|
861
|
-
'
|
|
827
|
+
'presence': attr => attr !== null,
|
|
828
|
+
'state': attr => attr !== null,
|
|
829
|
+
'bool': attr => attr === 'true',
|
|
862
830
|
'json': attr => JSON.parse(attr)
|
|
863
831
|
};
|
|
864
832
|
|
|
@@ -953,7 +921,7 @@ var ful = (function (exports) {
|
|
|
953
921
|
}
|
|
954
922
|
};
|
|
955
923
|
|
|
956
|
-
for (const [attr, type] of attrsAndTypes.filter(([a, t]) => t === '
|
|
924
|
+
for (const [attr, type] of attrsAndTypes.filter(([a, t]) => t === 'state')) {
|
|
957
925
|
Object.defineProperty(k.prototype, attr, {
|
|
958
926
|
enumerable: true,
|
|
959
927
|
configurable: true,
|
|
@@ -961,18 +929,8 @@ var ful = (function (exports) {
|
|
|
961
929
|
return this.internals.states.has(`--${attr}`);
|
|
962
930
|
},
|
|
963
931
|
set(value) {
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
const after = new SyncEvent(`${attr}:${this.initialized ? 'changed' : 'inited'}`, { detail });
|
|
967
|
-
(async () => {
|
|
968
|
-
if (!await before.dispatchTo(this)) {
|
|
969
|
-
return;
|
|
970
|
-
}
|
|
971
|
-
//see https://developer.mozilla.org/en-US/docs/Web/API/CustomStateSet#using_double_dash_prefixed_idents
|
|
972
|
-
this.internals.states[value ? 'add' : 'delete'](`--${attr}`);
|
|
973
|
-
this.reflect(() => Attributes.toggle(this, attr, value));
|
|
974
|
-
await after.dispatchTo(this);
|
|
975
|
-
})();
|
|
932
|
+
this.internals.states[value ? 'add' : 'delete'](`--${attr}`);
|
|
933
|
+
this.reflect(() => Attributes.toggle(this, attr, value));
|
|
976
934
|
}
|
|
977
935
|
});
|
|
978
936
|
}
|
|
@@ -1034,7 +992,7 @@ var ful = (function (exports) {
|
|
|
1034
992
|
if (el.dataset['fulBindType'] === 'boolean') {
|
|
1035
993
|
return !el.value ? null : el.value === 'true';
|
|
1036
994
|
}
|
|
1037
|
-
return el.value || null;
|
|
995
|
+
return el.value === '' || el.value === undefined ? null : el.value;
|
|
1038
996
|
}
|
|
1039
997
|
|
|
1040
998
|
function mutate(el, raw) {
|
|
@@ -1168,9 +1126,7 @@ var ful = (function (exports) {
|
|
|
1168
1126
|
input.setAttribute('ful-validation-target', '');
|
|
1169
1127
|
input.addEventListener('change', (evt) => {
|
|
1170
1128
|
evt.stopPropagation();
|
|
1171
|
-
|
|
1172
|
-
evt.preventDefault();
|
|
1173
|
-
}
|
|
1129
|
+
Events.dispatchChange(el, el.value);
|
|
1174
1130
|
});
|
|
1175
1131
|
const id = input.getAttribute('id') || el.getAttribute('input-id') || Attributes.uid('ful-input');
|
|
1176
1132
|
Attributes.forward('input-', el, slots.input);
|
|
@@ -1194,9 +1150,6 @@ var ful = (function (exports) {
|
|
|
1194
1150
|
return this.input.value;
|
|
1195
1151
|
}
|
|
1196
1152
|
set value(value) {
|
|
1197
|
-
if(!Events.dispatchChange(this, value)){
|
|
1198
|
-
return;
|
|
1199
|
-
}
|
|
1200
1153
|
this.input.value = value;
|
|
1201
1154
|
}
|
|
1202
1155
|
}
|
|
@@ -1275,13 +1228,14 @@ var ful = (function (exports) {
|
|
|
1275
1228
|
}
|
|
1276
1229
|
callback(data);
|
|
1277
1230
|
};
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
1231
|
this.ts = new TomSelect(input, Object.assign(remote ? {
|
|
1281
1232
|
preload: 'focus',
|
|
1282
1233
|
load: this._unwrappedRemoteLoad,
|
|
1283
1234
|
shouldLoad: (query) => this.shouldLoad ? this.shouldLoad(query) : true
|
|
1284
1235
|
} : {}, tsDefaultConfig, this.tsConfig));
|
|
1236
|
+
this.ts.on('change', value => {
|
|
1237
|
+
Events.dispatchChange(this, this.value);
|
|
1238
|
+
});
|
|
1285
1239
|
//we remove the input to move it
|
|
1286
1240
|
input.addEventListener('change', (evt) => {
|
|
1287
1241
|
evt.stopPropagation();
|
|
@@ -1290,10 +1244,10 @@ var ful = (function (exports) {
|
|
|
1290
1244
|
template.renderTo(this, { id, tsId, name, input, slots });
|
|
1291
1245
|
}
|
|
1292
1246
|
#loader;
|
|
1293
|
-
set loader(l){
|
|
1247
|
+
set loader(l) {
|
|
1294
1248
|
this.#loader = l;
|
|
1295
1249
|
// loader can be configured later so we load now
|
|
1296
|
-
if(this.hasAttribute('value')){
|
|
1250
|
+
if (this.hasAttribute('value')) {
|
|
1297
1251
|
this.value = this.getAttribute("value");
|
|
1298
1252
|
}
|
|
1299
1253
|
}
|
|
@@ -1302,20 +1256,18 @@ var ful = (function (exports) {
|
|
|
1302
1256
|
return v === '' ? null : v;
|
|
1303
1257
|
}
|
|
1304
1258
|
set value(value) {
|
|
1305
|
-
if(!Events.dispatchChange(this, value)){
|
|
1306
|
-
return;
|
|
1307
|
-
}
|
|
1308
1259
|
(async () => {
|
|
1309
1260
|
if (this._remote) {
|
|
1310
1261
|
await this._unwrappedRemoteLoad({ byId: value }, this.ts.loadCallback.bind(this.ts));
|
|
1311
1262
|
}
|
|
1312
|
-
|
|
1263
|
+
const silent = true;
|
|
1264
|
+
this.ts.setValue(value, silent);
|
|
1313
1265
|
})();
|
|
1314
1266
|
}
|
|
1315
1267
|
}
|
|
1316
1268
|
|
|
1317
1269
|
class RadioGroup extends ParsedElement({
|
|
1318
|
-
observed: ['value', 'disabled:
|
|
1270
|
+
observed: ['value', 'disabled:state'],
|
|
1319
1271
|
slots: true,
|
|
1320
1272
|
template: `
|
|
1321
1273
|
<fieldset ful-validated-field>
|
|
@@ -1351,12 +1303,11 @@ var ful = (function (exports) {
|
|
|
1351
1303
|
input.setAttribute('name', `${name}-ignore`);
|
|
1352
1304
|
input.setAttribute('ful-validation-target', '');
|
|
1353
1305
|
input.dataset['fulBindInclude'] = 'never';
|
|
1354
|
-
input.addEventListener('change',
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
});
|
|
1306
|
+
input.addEventListener('change', evt => {
|
|
1307
|
+
evt.stopPropagation();
|
|
1308
|
+
//change is not cancelable
|
|
1309
|
+
Events.dispatchChange(el, this.value);
|
|
1310
|
+
});
|
|
1360
1311
|
const label = Fragments.fromChildNodes(el);
|
|
1361
1312
|
return [input, label];
|
|
1362
1313
|
});
|
|
@@ -1390,78 +1341,6 @@ var ful = (function (exports) {
|
|
|
1390
1341
|
}
|
|
1391
1342
|
}
|
|
1392
1343
|
|
|
1393
|
-
class Wizard extends HTMLElement {
|
|
1394
|
-
constructor() {
|
|
1395
|
-
super();
|
|
1396
|
-
this.progress = [...this.children].filter(e => e.matches("header,ol,ul"));
|
|
1397
|
-
|
|
1398
|
-
this.progress.forEach(p => {
|
|
1399
|
-
const children = [...p.children];
|
|
1400
|
-
const current = children.filter(e => e.matches(".active"))[0];
|
|
1401
|
-
if (current === undefined && children.length > 0) {
|
|
1402
|
-
children[0].classList.add('active');
|
|
1403
|
-
}
|
|
1404
|
-
});
|
|
1405
|
-
if (this.querySelector('section.current') === null) {
|
|
1406
|
-
const firstSection = this.querySelector('section:first-of-type');
|
|
1407
|
-
if (firstSection !== null) {
|
|
1408
|
-
firstSection.classList.add('current');
|
|
1409
|
-
}
|
|
1410
|
-
}
|
|
1411
|
-
}
|
|
1412
|
-
next() {
|
|
1413
|
-
this.progress.forEach(p => {
|
|
1414
|
-
const children = [...p.children];
|
|
1415
|
-
const current = children.filter(e => e.matches(".active"))[0];
|
|
1416
|
-
current?.classList.remove('active');
|
|
1417
|
-
current?.nextElementSibling?.classList.add('active');
|
|
1418
|
-
});
|
|
1419
|
-
const currentSection = this.querySelector('section.current');
|
|
1420
|
-
currentSection.classList.remove("current");
|
|
1421
|
-
currentSection.nextElementSibling.classList.add('current');
|
|
1422
|
-
|
|
1423
|
-
this.dispatchEvent(new CustomEvent('wizard:activate', {
|
|
1424
|
-
bubbles: true,
|
|
1425
|
-
cancelable: true
|
|
1426
|
-
}));
|
|
1427
|
-
|
|
1428
|
-
}
|
|
1429
|
-
prev() {
|
|
1430
|
-
this.progress.forEach(p => {
|
|
1431
|
-
const children = [...p.children];
|
|
1432
|
-
const current = children.filter(e => e.matches(".active"))[0];
|
|
1433
|
-
current?.classList.remove('active');
|
|
1434
|
-
current?.previousElementSibling?.classList.add('active');
|
|
1435
|
-
});
|
|
1436
|
-
const currentSection = this.querySelector('section.current');
|
|
1437
|
-
currentSection.classList.remove("current");
|
|
1438
|
-
currentSection.previousElementSibling.classList.add('current');
|
|
1439
|
-
this.dispatchEvent(new CustomEvent('wizard:activate', {
|
|
1440
|
-
bubbles: true,
|
|
1441
|
-
cancelable: true
|
|
1442
|
-
}));
|
|
1443
|
-
}
|
|
1444
|
-
moveTo(n) {
|
|
1445
|
-
this.progress.forEach(p => {
|
|
1446
|
-
const children = [...p.children];
|
|
1447
|
-
const current = children.filter(e => e.matches(".active"))[0];
|
|
1448
|
-
current?.classList.remove('active');
|
|
1449
|
-
p.children[+n]?.classList.add('active');
|
|
1450
|
-
});
|
|
1451
|
-
const currentSection = this.querySelector('section.current');
|
|
1452
|
-
currentSection?.classList.remove("current");
|
|
1453
|
-
const nthSection = this.querySelector(`section:nth-child(${+n})`);
|
|
1454
|
-
nthSection.classList.add('current');
|
|
1455
|
-
this.dispatchEvent(new CustomEvent('wizard:activate', {
|
|
1456
|
-
bubbles: true,
|
|
1457
|
-
cancelable: true
|
|
1458
|
-
}));
|
|
1459
|
-
}
|
|
1460
|
-
static configure() {
|
|
1461
|
-
return Wizard.custom('ful-wizard');
|
|
1462
|
-
}
|
|
1463
|
-
}
|
|
1464
|
-
|
|
1465
1344
|
exports.Attributes = Attributes;
|
|
1466
1345
|
exports.AuthorizationCodeFlow = AuthorizationCodeFlow;
|
|
1467
1346
|
exports.AuthorizationCodeFlowInterceptor = AuthorizationCodeFlowInterceptor;
|
|
@@ -1484,10 +1363,8 @@ var ful = (function (exports) {
|
|
|
1484
1363
|
exports.Select = Select;
|
|
1485
1364
|
exports.SessionStorage = SessionStorage;
|
|
1486
1365
|
exports.Spinner = Spinner;
|
|
1487
|
-
exports.SyncEvent = SyncEvent;
|
|
1488
1366
|
exports.TemplatesRegistry = TemplatesRegistry;
|
|
1489
1367
|
exports.VersionedStorage = VersionedStorage;
|
|
1490
|
-
exports.Wizard = Wizard;
|
|
1491
1368
|
exports.elements = elements;
|
|
1492
1369
|
exports.jsonPatch = jsonPatch;
|
|
1493
1370
|
exports.jsonPost = jsonPost;
|