@magmonium/one 0.1.11 → 0.1.13
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/fesm2022/{magmonium-one-magmonium-one-BubzXNx3.mjs → magmonium-one-magmonium-one-BGcwClRr.mjs} +95 -15
- package/fesm2022/magmonium-one-magmonium-one-BGcwClRr.mjs.map +1 -0
- package/fesm2022/{magmonium-one-otp-CItkJfEH.mjs → magmonium-one-otp-BhQvfyaM.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-CItkJfEH.mjs.map → magmonium-one-otp-BhQvfyaM.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-od9bbPJn.mjs → magmonium-one-password-BJyjGWvN.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-od9bbPJn.mjs.map → magmonium-one-password-BJyjGWvN.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-toggle-BEJp6jr6.mjs → magmonium-one-toggle-UVuimY8O.mjs} +2 -2
- package/fesm2022/{magmonium-one-toggle-BEJp6jr6.mjs.map → magmonium-one-toggle-UVuimY8O.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +37 -3
- package/fesm2022/magmonium-one-magmonium-one-BubzXNx3.mjs.map +0 -1
|
@@ -2481,14 +2481,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2481
2481
|
|
|
2482
2482
|
/**
|
|
2483
2483
|
* Renders a number already expressed in percent units as a `%` reading —
|
|
2484
|
-
* `42` becomes `42%`, never `4200%`. A ratio is the caller's to multiply,
|
|
2484
|
+
* `42` becomes `42.00%`, never `4200%`. A ratio is the caller's to multiply,
|
|
2485
2485
|
* the way `MoneyPipe` takes an amount rather than a currency object.
|
|
2486
2486
|
*
|
|
2487
|
+
* Two decimals by default: a percentage carries the fraction that separates
|
|
2488
|
+
* two near-equal readings, and a caller wanting the whole number asks for
|
|
2489
|
+
* `decimals: 0`.
|
|
2490
|
+
*
|
|
2487
2491
|
* Pure, unlike the other three: it reads no language and no clock, so its
|
|
2488
2492
|
* output depends on its arguments alone.
|
|
2489
2493
|
*/
|
|
2490
2494
|
class PercentagePipe {
|
|
2491
|
-
transform(value, decimals =
|
|
2495
|
+
transform(value, decimals = 2, forceSign = false) {
|
|
2492
2496
|
if (value == null || isNaN(value))
|
|
2493
2497
|
return '';
|
|
2494
2498
|
const digits = Math.max(0, Math.trunc(decimals));
|
|
@@ -6464,7 +6468,7 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
6464
6468
|
break;
|
|
6465
6469
|
}
|
|
6466
6470
|
case InputType.TOGGLE: {
|
|
6467
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
6471
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-UVuimY8O.mjs');
|
|
6468
6472
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
6469
6473
|
break;
|
|
6470
6474
|
}
|
|
@@ -6476,12 +6480,12 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
6476
6480
|
break;
|
|
6477
6481
|
}
|
|
6478
6482
|
case InputType.PASSWORD: {
|
|
6479
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
6483
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-BJyjGWvN.mjs');
|
|
6480
6484
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
6481
6485
|
break;
|
|
6482
6486
|
}
|
|
6483
6487
|
case InputType.OTP: {
|
|
6484
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
6488
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-BhQvfyaM.mjs');
|
|
6485
6489
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
6486
6490
|
break;
|
|
6487
6491
|
}
|
|
@@ -13970,6 +13974,51 @@ function generateDragStyle({ position, direction }, modal) {
|
|
|
13970
13974
|
}
|
|
13971
13975
|
}
|
|
13972
13976
|
|
|
13977
|
+
// One promise per tag, kept for the life of the page. Two overlays naming the
|
|
13978
|
+
// same widget open in the same tick often enough — a second `import()` would
|
|
13979
|
+
// resolve after the first has already defined the tag, and
|
|
13980
|
+
// `customElements.define` throws on a name it already holds.
|
|
13981
|
+
const inFlight = new Map();
|
|
13982
|
+
const defined = (tag) => typeof customElements !== 'undefined' && !!customElements.get(tag);
|
|
13983
|
+
/**
|
|
13984
|
+
* Makes `tag` renderable, loading the widget behind it if this is the first
|
|
13985
|
+
* time anything asked. Answers `false` when the tag is unknown to the map and
|
|
13986
|
+
* undefined in the registry — the caller renders nothing rather than an
|
|
13987
|
+
* element the browser treats as an unknown one.
|
|
13988
|
+
*
|
|
13989
|
+
* A tag the host already defined short-circuits: an app running as a Remote
|
|
13990
|
+
* has its panels registered by the host, and re-defining one is an error.
|
|
13991
|
+
*/
|
|
13992
|
+
function defineOverlayWidget(tag, widgets, injector) {
|
|
13993
|
+
if (!tag)
|
|
13994
|
+
return Promise.resolve(false);
|
|
13995
|
+
if (defined(tag))
|
|
13996
|
+
return Promise.resolve(true);
|
|
13997
|
+
const pending = inFlight.get(tag);
|
|
13998
|
+
if (pending)
|
|
13999
|
+
return pending;
|
|
14000
|
+
const load = widgets?.[tag];
|
|
14001
|
+
if (!load)
|
|
14002
|
+
return Promise.resolve(false);
|
|
14003
|
+
const task = load()
|
|
14004
|
+
.then((component) => {
|
|
14005
|
+
// Re-checked after the await: the host may have defined the tag while
|
|
14006
|
+
// the chunk was in the air.
|
|
14007
|
+
if (defined(tag))
|
|
14008
|
+
return true;
|
|
14009
|
+
customElements.define(tag, createCustomElement(component, { injector }));
|
|
14010
|
+
return true;
|
|
14011
|
+
})
|
|
14012
|
+
.catch(() => {
|
|
14013
|
+
// A chunk that failed to load is not a permanent verdict — the next open
|
|
14014
|
+
// gets to try again.
|
|
14015
|
+
inFlight.delete(tag);
|
|
14016
|
+
return false;
|
|
14017
|
+
});
|
|
14018
|
+
inFlight.set(tag, task);
|
|
14019
|
+
return task;
|
|
14020
|
+
}
|
|
14021
|
+
|
|
13973
14022
|
class ToggleButtonComponent extends ConfigComponent {
|
|
13974
14023
|
value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
|
|
13975
14024
|
buttons = input(...(ngDevMode ? [undefined, { debugName: "buttons" }] : /* istanbul ignore next */ []));
|
|
@@ -17544,7 +17593,7 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
17544
17593
|
break;
|
|
17545
17594
|
}
|
|
17546
17595
|
case InputType.TOGGLE: {
|
|
17547
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
17596
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-UVuimY8O.mjs');
|
|
17548
17597
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
17549
17598
|
break;
|
|
17550
17599
|
}
|
|
@@ -17556,12 +17605,12 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
17556
17605
|
break;
|
|
17557
17606
|
}
|
|
17558
17607
|
case InputType.PASSWORD: {
|
|
17559
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
17608
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-BJyjGWvN.mjs');
|
|
17560
17609
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
17561
17610
|
break;
|
|
17562
17611
|
}
|
|
17563
17612
|
case InputType.OTP: {
|
|
17564
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
17613
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-BhQvfyaM.mjs');
|
|
17565
17614
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
17566
17615
|
break;
|
|
17567
17616
|
}
|
|
@@ -24978,7 +25027,7 @@ class StatComponent {
|
|
|
24978
25027
|
return resolvePallet(color, this.themeStore.color()).color;
|
|
24979
25028
|
}
|
|
24980
25029
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24981
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: StatComponent, isStandalone: true, selector: "m-stat", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, cornerPosition: { classPropertyName: "cornerPosition", publicName: "cornerPosition", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, cornerColor: { classPropertyName: "cornerColor", publicName: "cornerColor", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-design-mode": "isDesignMode", "class.corner-left": "side() === \"left\"", "class.corner-bottom": "edge() === \"bottom\"", "class.align-left": "align() === \"left\"", "class.align-center": "align() === \"center\"", "class.align-right": "align() === \"right\"", "class.has-color": "!!resolvedColor()", "class.has-corner-color": "!!resolvedCornerColor()", "attr.data-variant": "variant()", "attr.data-surface": "surface()", "style.--m-stat-color": "resolvedColor()", "style.--m-stat-corner-color": "resolvedCornerColor()" }, classAttribute: "m-stat-host" }, ngImport: i0, template: "<div class=\"m-stat\">\n <m-key-value variant=\"bento\">\n <span key class=\"m-stat__label\" [class.m-stat__ghost]=\"labelGhost()\">{{\n labelDisplay()\n }}</span>\n <span value class=\"m-stat__value\">\n <!-- Both slots are wrappers this component owns rather than bare\n `ng-content`: what a caller projects carries the *caller's*\n encapsulation attribute, so `.m-stat__figure` and `.m-stat__corner`\n could not be put on it from here. The wrappers hold the ordering,\n the tone colour and the corner's superscript size; whatever lands\n inside them is the caller's own markup (ADR 0021). -->\n <span class=\"m-stat__figure\"><ng-content select=\"[value]\" /></span>\n <!-- One corner, ordered and aligned by CSS rather than written twice:\n `cornerPosition` is four values and the slot is one node. -->\n <span class=\"m-stat__corner\"><ng-content select=\"[corner]\" /></span>\n </span>\n </m-key-value>\n</div>\n", styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;line-height:1.4;--_tone: var(--m-mm);--_pad-y: .85em;--_pad-x: 1em;--_kv-pad: 0}:host(.is-design-mode){min-width:8em;min-height:4em}.m-stat{display:flex;flex-direction:column;min-width:0;padding:var(--_pad-y) var(--_pad-x);border-radius:.75em}.m-stat__value{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35em;min-width:0}.m-stat__figure{order:0;min-width:0;display:inline-flex;align-items:center;gap:.35em}.m-stat__corner{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.25em}.m-stat__corner:empty{display:none}.m-stat__corner{font-size:.5em;font-weight:
|
|
25030
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: StatComponent, isStandalone: true, selector: "m-stat", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, cornerPosition: { classPropertyName: "cornerPosition", publicName: "cornerPosition", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, cornerColor: { classPropertyName: "cornerColor", publicName: "cornerColor", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-design-mode": "isDesignMode", "class.corner-left": "side() === \"left\"", "class.corner-bottom": "edge() === \"bottom\"", "class.align-left": "align() === \"left\"", "class.align-center": "align() === \"center\"", "class.align-right": "align() === \"right\"", "class.has-color": "!!resolvedColor()", "class.has-corner-color": "!!resolvedCornerColor()", "attr.data-variant": "variant()", "attr.data-surface": "surface()", "style.--m-stat-color": "resolvedColor()", "style.--m-stat-corner-color": "resolvedCornerColor()" }, classAttribute: "m-stat-host" }, ngImport: i0, template: "<div class=\"m-stat\">\n <m-key-value variant=\"bento\">\n <span key class=\"m-stat__label\" [class.m-stat__ghost]=\"labelGhost()\">{{\n labelDisplay()\n }}</span>\n <span value class=\"m-stat__value\">\n <!-- Both slots are wrappers this component owns rather than bare\n `ng-content`: what a caller projects carries the *caller's*\n encapsulation attribute, so `.m-stat__figure` and `.m-stat__corner`\n could not be put on it from here. The wrappers hold the ordering,\n the tone colour and the corner's superscript size; whatever lands\n inside them is the caller's own markup (ADR 0021). -->\n <span class=\"m-stat__figure\"><ng-content select=\"[value]\" /></span>\n <!-- One corner, ordered and aligned by CSS rather than written twice:\n `cornerPosition` is four values and the slot is one node. -->\n <span class=\"m-stat__corner\"><ng-content select=\"[corner]\" /></span>\n </span>\n </m-key-value>\n</div>\n", styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;line-height:1.4;--_tone: var(--m-mm);--_pad-y: .85em;--_pad-x: 1em;--_kv-pad: 0}:host(.is-design-mode){min-width:8em;min-height:4em}.m-stat{display:flex;flex-direction:column;min-width:0;padding:var(--_pad-y) var(--_pad-x);border-radius:.75em}.m-stat__value{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35em;min-width:0}.m-stat__figure{order:0;min-width:0;display:inline-flex;align-items:center;gap:.35em}.m-stat__corner{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.25em}.m-stat__corner:empty{display:none}.m-stat__corner{font-size:.5em;font-weight:300;white-space:nowrap;letter-spacing:.01em;color:var(--m-text-tertiary);background:none;-webkit-text-fill-color:currentColor}.m-stat__ghost{color:var(--m-text-tertiary);opacity:.6;-webkit-text-fill-color:currentColor}:host(.corner-left) .m-stat__corner{order:-1}:host(.corner-bottom) .m-stat__corner{align-self:flex-end}:host(.is-design-mode) .m-stat__value{flex-direction:column;align-items:flex-start}:host(.is-design-mode) .m-stat__corner{align-self:flex-start}:host(.align-left) .m-stat{text-align:left;--_kv-align: flex-start}:host(.align-center) .m-stat{text-align:center;--_kv-align: center}:host(.align-right) .m-stat{text-align:right;--_kv-align: flex-end}:host([data-variant=compact]){--_pad-y: .45em;--_pad-x: .6em}:host([data-variant=no-padding]){--_pad-y: 0;--_pad-x: 0}:host([data-variant=no-x-padding]){--_pad-x: 0}:host(.has-color) .m-stat__figure{color:var(--m-stat-color);-webkit-text-fill-color:var(--m-stat-color)}:host(.has-corner-color) .m-stat__corner{color:var(--m-stat-corner-color)}:host([data-surface=card]) .m-stat{background:color-mix(in srgb,var(--m-background-lite) 70%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent)}:host([data-surface=shadow]) .m-stat{background:var(--m-background-lite);border:1px solid color-mix(in srgb,var(--m-border) 45%,transparent);box-shadow:0 10px 30px #0000000f;transition:box-shadow .2s ease,transform .2s ease}:host([data-surface=shadow]) .m-stat:hover{box-shadow:0 18px 44px #0000001a;transform:translateY(-2px)}:host([data-surface=glow]) .m-stat{background:color-mix(in srgb,var(--_tone) 10%,transparent);border:1px solid color-mix(in srgb,var(--_tone) 28%,transparent);box-shadow:0 12px 34px color-mix(in srgb,var(--_tone) 18%,transparent)}:host([data-surface=glow]) .m-stat__figure{text-shadow:0 2px 14px color-mix(in srgb,var(--_tone) 40%,transparent)}:host([data-surface=gradient]) .m-stat{background:linear-gradient(135deg,color-mix(in srgb,var(--_tone) 18%,transparent),color-mix(in srgb,var(--m-background-lite) 85%,transparent));border:1px solid color-mix(in srgb,var(--_tone) 20%,transparent);box-shadow:0 8px 24px #0000000d}:host([data-surface=gradient]) .m-stat__figure{text-shadow:0 1px 0 color-mix(in srgb,var(--m-background) 70%,transparent)}\n"], dependencies: [{ kind: "component", type: KeyValueComponent, selector: "m-key-value", inputs: ["variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
24982
25031
|
}
|
|
24983
25032
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StatComponent, decorators: [{
|
|
24984
25033
|
type: Component,
|
|
@@ -24996,7 +25045,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
24996
25045
|
'[attr.data-surface]': 'surface()',
|
|
24997
25046
|
'[style.--m-stat-color]': 'resolvedColor()',
|
|
24998
25047
|
'[style.--m-stat-corner-color]': 'resolvedCornerColor()',
|
|
24999
|
-
}, template: "<div class=\"m-stat\">\n <m-key-value variant=\"bento\">\n <span key class=\"m-stat__label\" [class.m-stat__ghost]=\"labelGhost()\">{{\n labelDisplay()\n }}</span>\n <span value class=\"m-stat__value\">\n <!-- Both slots are wrappers this component owns rather than bare\n `ng-content`: what a caller projects carries the *caller's*\n encapsulation attribute, so `.m-stat__figure` and `.m-stat__corner`\n could not be put on it from here. The wrappers hold the ordering,\n the tone colour and the corner's superscript size; whatever lands\n inside them is the caller's own markup (ADR 0021). -->\n <span class=\"m-stat__figure\"><ng-content select=\"[value]\" /></span>\n <!-- One corner, ordered and aligned by CSS rather than written twice:\n `cornerPosition` is four values and the slot is one node. -->\n <span class=\"m-stat__corner\"><ng-content select=\"[corner]\" /></span>\n </span>\n </m-key-value>\n</div>\n", styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;line-height:1.4;--_tone: var(--m-mm);--_pad-y: .85em;--_pad-x: 1em;--_kv-pad: 0}:host(.is-design-mode){min-width:8em;min-height:4em}.m-stat{display:flex;flex-direction:column;min-width:0;padding:var(--_pad-y) var(--_pad-x);border-radius:.75em}.m-stat__value{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35em;min-width:0}.m-stat__figure{order:0;min-width:0;display:inline-flex;align-items:center;gap:.35em}.m-stat__corner{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.25em}.m-stat__corner:empty{display:none}.m-stat__corner{font-size:.5em;font-weight:
|
|
25048
|
+
}, template: "<div class=\"m-stat\">\n <m-key-value variant=\"bento\">\n <span key class=\"m-stat__label\" [class.m-stat__ghost]=\"labelGhost()\">{{\n labelDisplay()\n }}</span>\n <span value class=\"m-stat__value\">\n <!-- Both slots are wrappers this component owns rather than bare\n `ng-content`: what a caller projects carries the *caller's*\n encapsulation attribute, so `.m-stat__figure` and `.m-stat__corner`\n could not be put on it from here. The wrappers hold the ordering,\n the tone colour and the corner's superscript size; whatever lands\n inside them is the caller's own markup (ADR 0021). -->\n <span class=\"m-stat__figure\"><ng-content select=\"[value]\" /></span>\n <!-- One corner, ordered and aligned by CSS rather than written twice:\n `cornerPosition` is four values and the slot is one node. -->\n <span class=\"m-stat__corner\"><ng-content select=\"[corner]\" /></span>\n </span>\n </m-key-value>\n</div>\n", styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;line-height:1.4;--_tone: var(--m-mm);--_pad-y: .85em;--_pad-x: 1em;--_kv-pad: 0}:host(.is-design-mode){min-width:8em;min-height:4em}.m-stat{display:flex;flex-direction:column;min-width:0;padding:var(--_pad-y) var(--_pad-x);border-radius:.75em}.m-stat__value{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35em;min-width:0}.m-stat__figure{order:0;min-width:0;display:inline-flex;align-items:center;gap:.35em}.m-stat__corner{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.25em}.m-stat__corner:empty{display:none}.m-stat__corner{font-size:.5em;font-weight:300;white-space:nowrap;letter-spacing:.01em;color:var(--m-text-tertiary);background:none;-webkit-text-fill-color:currentColor}.m-stat__ghost{color:var(--m-text-tertiary);opacity:.6;-webkit-text-fill-color:currentColor}:host(.corner-left) .m-stat__corner{order:-1}:host(.corner-bottom) .m-stat__corner{align-self:flex-end}:host(.is-design-mode) .m-stat__value{flex-direction:column;align-items:flex-start}:host(.is-design-mode) .m-stat__corner{align-self:flex-start}:host(.align-left) .m-stat{text-align:left;--_kv-align: flex-start}:host(.align-center) .m-stat{text-align:center;--_kv-align: center}:host(.align-right) .m-stat{text-align:right;--_kv-align: flex-end}:host([data-variant=compact]){--_pad-y: .45em;--_pad-x: .6em}:host([data-variant=no-padding]){--_pad-y: 0;--_pad-x: 0}:host([data-variant=no-x-padding]){--_pad-x: 0}:host(.has-color) .m-stat__figure{color:var(--m-stat-color);-webkit-text-fill-color:var(--m-stat-color)}:host(.has-corner-color) .m-stat__corner{color:var(--m-stat-corner-color)}:host([data-surface=card]) .m-stat{background:color-mix(in srgb,var(--m-background-lite) 70%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent)}:host([data-surface=shadow]) .m-stat{background:var(--m-background-lite);border:1px solid color-mix(in srgb,var(--m-border) 45%,transparent);box-shadow:0 10px 30px #0000000f;transition:box-shadow .2s ease,transform .2s ease}:host([data-surface=shadow]) .m-stat:hover{box-shadow:0 18px 44px #0000001a;transform:translateY(-2px)}:host([data-surface=glow]) .m-stat{background:color-mix(in srgb,var(--_tone) 10%,transparent);border:1px solid color-mix(in srgb,var(--_tone) 28%,transparent);box-shadow:0 12px 34px color-mix(in srgb,var(--_tone) 18%,transparent)}:host([data-surface=glow]) .m-stat__figure{text-shadow:0 2px 14px color-mix(in srgb,var(--_tone) 40%,transparent)}:host([data-surface=gradient]) .m-stat{background:linear-gradient(135deg,color-mix(in srgb,var(--_tone) 18%,transparent),color-mix(in srgb,var(--m-background-lite) 85%,transparent));border:1px solid color-mix(in srgb,var(--_tone) 20%,transparent);box-shadow:0 8px 24px #0000000d}:host([data-surface=gradient]) .m-stat__figure{text-shadow:0 1px 0 color-mix(in srgb,var(--m-background) 70%,transparent)}\n"] }]
|
|
25000
25049
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], cornerPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "cornerPosition", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "surface", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], cornerColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "cornerColor", required: false }] }], params: [{ type: i0.Input, args: [{ isSignal: true, alias: "params", required: false }] }] } });
|
|
25001
25050
|
|
|
25002
25051
|
class PwaInstallComponent {
|
|
@@ -25508,18 +25557,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
25508
25557
|
}]
|
|
25509
25558
|
}], ctorParameters: () => [], propDecorators: { tag: [{ type: i0.Input, args: [{ isSignal: true, alias: "tag", required: true }] }] } });
|
|
25510
25559
|
|
|
25560
|
+
const OVERLAY_WIDGETS = new InjectionToken('OVERLAY_WIDGETS');
|
|
25561
|
+
const provideOverlayWidgets = (map) => ({
|
|
25562
|
+
provide: OVERLAY_WIDGETS,
|
|
25563
|
+
useValue: map,
|
|
25564
|
+
});
|
|
25565
|
+
|
|
25511
25566
|
/**
|
|
25512
25567
|
* Turns an overlay's named content — a form asset name or a custom-element
|
|
25513
25568
|
* tag — into rendered content. Presentational only, no business logic.
|
|
25569
|
+
*
|
|
25570
|
+
* The tag is not assumed to answer to anything yet: the widget behind it is
|
|
25571
|
+
* loaded and defined on first open (`OVERLAY_WIDGETS`), which is what lets an
|
|
25572
|
+
* App Widget be named by an overlay without being registered at bootstrap.
|
|
25514
25573
|
*/
|
|
25515
25574
|
class OverlayBodyComponent {
|
|
25516
25575
|
form = input(...(ngDevMode ? [undefined, { debugName: "form" }] : /* istanbul ignore next */ []));
|
|
25517
25576
|
tag = input(...(ngDevMode ? [undefined, { debugName: "tag" }] : /* istanbul ignore next */ []));
|
|
25577
|
+
injector = inject(Injector);
|
|
25578
|
+
widgets = inject(OVERLAY_WIDGETS, { optional: true });
|
|
25579
|
+
// Held rather than derived: whether a tag can render is the answer to an
|
|
25580
|
+
// async question, and rendering the element before that answer arrives is
|
|
25581
|
+
// how an unknown element ends up in the DOM.
|
|
25582
|
+
ready = signal('', ...(ngDevMode ? [{ debugName: "ready" }] : /* istanbul ignore next */ []));
|
|
25583
|
+
readyTag = computed(() => this.ready() === this.tag() ? this.ready() : '', ...(ngDevMode ? [{ debugName: "readyTag" }] : /* istanbul ignore next */ []));
|
|
25584
|
+
constructor() {
|
|
25585
|
+
effect(() => {
|
|
25586
|
+
const tag = this.tag() ?? '';
|
|
25587
|
+
this.ready.set('');
|
|
25588
|
+
if (!tag)
|
|
25589
|
+
return;
|
|
25590
|
+
defineOverlayWidget(tag, this.widgets, this.injector).then((ok) => {
|
|
25591
|
+
// A tag the User changed while the chunk was loading is not this
|
|
25592
|
+
// effect's to render any more.
|
|
25593
|
+
if (ok && this.tag() === tag)
|
|
25594
|
+
this.ready.set(tag);
|
|
25595
|
+
});
|
|
25596
|
+
});
|
|
25597
|
+
}
|
|
25518
25598
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OverlayBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25519
25599
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: OverlayBodyComponent, isStandalone: true, selector: "m-overlay-body", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, tag: { classPropertyName: "tag", publicName: "tag", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
25520
25600
|
@if (form(); as f) {
|
|
25521
25601
|
<m-form [name]="f" />
|
|
25522
|
-
} @else if (
|
|
25602
|
+
} @else if (readyTag(); as t) {
|
|
25523
25603
|
<m-ce-outlet [tag]="t" />
|
|
25524
25604
|
}
|
|
25525
25605
|
`, isInline: true, dependencies: [{ kind: "component", type: FormGroupComponent, selector: "m-form, m-one-form", inputs: ["data", "state", "validation", "options", "fieldConfigs", "aclResolver", "autofocus", "readonly", "fieldRenderIds", "elements", "templates", "datas", "label", "subtitle"], outputs: ["dataChange", "act", "stateChange"] }, { kind: "component", type: CeOutletComponent, selector: "m-ce-outlet", inputs: ["tag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
@@ -25531,14 +25611,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
25531
25611
|
template: `
|
|
25532
25612
|
@if (form(); as f) {
|
|
25533
25613
|
<m-form [name]="f" />
|
|
25534
|
-
} @else if (
|
|
25614
|
+
} @else if (readyTag(); as t) {
|
|
25535
25615
|
<m-ce-outlet [tag]="t" />
|
|
25536
25616
|
}
|
|
25537
25617
|
`,
|
|
25538
25618
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
25539
25619
|
imports: [FormGroupComponent, CeOutletComponent],
|
|
25540
25620
|
}]
|
|
25541
|
-
}], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: false }] }], tag: [{ type: i0.Input, args: [{ isSignal: true, alias: "tag", required: false }] }] } });
|
|
25621
|
+
}], ctorParameters: () => [], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: false }] }], tag: [{ type: i0.Input, args: [{ isSignal: true, alias: "tag", required: false }] }] } });
|
|
25542
25622
|
|
|
25543
25623
|
/** Opens a Modal from an asset name (`modal/<name>.yml`) or an inline config. */
|
|
25544
25624
|
class ModalDirective {
|
|
@@ -31419,5 +31499,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
31419
31499
|
* Generated bundle index. Do not edit.
|
|
31420
31500
|
*/
|
|
31421
31501
|
|
|
31422
|
-
export { DateInputComponent as $, ACCESS_DOMAINS as A, BaseInputComponent as B, COMPONENT_INPUT_REGISTRY as C, CardComponent as D, CardWrapperComponent as E, CarouselComponent as F, ChartComponent as G, CheckboxInputComponent as H, IS_DESIGN_MODE as I, ClearableInputComponent as J, ColComponent as K, LabelComponent as L, ColorPickerInputComponent as M, CommentItemComponent as N, CommentsApiService as O, CommentsComponent as P, CommentsStore as Q, ComponentInputComponent as R, ComponentStepperComponent as S, TranslatePipe as T, ConfigComponent as U, ConfirmComponent as V, ContextMenuComponent as W, CustomIconClass as X, CustomIconEditComponent as Y, DEFAULT_SIZE as Z, DashboardCardComponent as _, BaseTextInputComponent as a, NavComponent as a$, DatePickerComponent as a0, DeviceService as a1, DomService as a2, Domain as a3, DotGridComponent as a4, DragListDirective as a5, DragListItemDirective as a6, DraggableDirective as a7, DropdownInputComponent as a8, FLEX_VARIANTS as a9, LOGIN_STORE as aA, LanguageComponent as aB, LogoComponent as aC, MAG_SOCKET_EVENT as aD, MHeroColorDirective as aE, MHeroComponent as aF, MODAL_REF as aG, MODAL_STORE_REF as aH, MRefDirective as aI, MStepComponent as aJ, MURL_PARAM as aK, MURL_SEP as aL, ManifestEnrichmentService as aM, MenuComponent as aN, ModalDirective as aO, ModalRef as aP, ModalStore as aQ, MoneyPipe as aR, MultiRangeInputComponent as aS, MurlUrlSerializer as aT, NAV_DEFAULT_MURL as aU, NAV_ID_SEP as aV, NAV_MAIN_BUTTONS as aW, NAV_SEGMENT_RE as aX, NAV_STORE_REF as aY, NAV_WC_COMPONENTS as aZ, NAV_WIDGET_MAP as a_, FOLDER_PICK_LISTENER as aa, FORM_ASSET_FOLDER as ab, FileService as ac, FileUploadDirective as ad, FileUploadInputComponent as ae, FlexComponent as af, FlexItemComponent as ag, FormGroupComponent as ah, FrameComponent as ai, FreezeService as aj, GRID_BREAKPOINTS as ak, GetNavService as al, HeaderComponent$1 as am, HighlightDirective as an, HttpService as ao, ICON_SOURCE as ap, IS_SIDE_PANEL as aq, IconComponent as ar, ImgComponent as as, InputType as at, InstrumentScoreComponent as au, InterceptorObservables as av, JumbotronComponent as aw, KeyValueComponent as ax, LAYOUT_ASSET_FOLDER as ay, LOGIN_COMPONENT as az, TextOutputComponent as b,
|
|
31423
|
-
//# sourceMappingURL=magmonium-one-magmonium-one-
|
|
31502
|
+
export { DateInputComponent as $, ACCESS_DOMAINS as A, BaseInputComponent as B, COMPONENT_INPUT_REGISTRY as C, CardComponent as D, CardWrapperComponent as E, CarouselComponent as F, ChartComponent as G, CheckboxInputComponent as H, IS_DESIGN_MODE as I, ClearableInputComponent as J, ColComponent as K, LabelComponent as L, ColorPickerInputComponent as M, CommentItemComponent as N, CommentsApiService as O, CommentsComponent as P, CommentsStore as Q, ComponentInputComponent as R, ComponentStepperComponent as S, TranslatePipe as T, ConfigComponent as U, ConfirmComponent as V, ContextMenuComponent as W, CustomIconClass as X, CustomIconEditComponent as Y, DEFAULT_SIZE as Z, DashboardCardComponent as _, BaseTextInputComponent as a, NavComponent as a$, DatePickerComponent as a0, DeviceService as a1, DomService as a2, Domain as a3, DotGridComponent as a4, DragListDirective as a5, DragListItemDirective as a6, DraggableDirective as a7, DropdownInputComponent as a8, FLEX_VARIANTS as a9, LOGIN_STORE as aA, LanguageComponent as aB, LogoComponent as aC, MAG_SOCKET_EVENT as aD, MHeroColorDirective as aE, MHeroComponent as aF, MODAL_REF as aG, MODAL_STORE_REF as aH, MRefDirective as aI, MStepComponent as aJ, MURL_PARAM as aK, MURL_SEP as aL, ManifestEnrichmentService as aM, MenuComponent as aN, ModalDirective as aO, ModalRef as aP, ModalStore as aQ, MoneyPipe as aR, MultiRangeInputComponent as aS, MurlUrlSerializer as aT, NAV_DEFAULT_MURL as aU, NAV_ID_SEP as aV, NAV_MAIN_BUTTONS as aW, NAV_SEGMENT_RE as aX, NAV_STORE_REF as aY, NAV_WC_COMPONENTS as aZ, NAV_WIDGET_MAP as a_, FOLDER_PICK_LISTENER as aa, FORM_ASSET_FOLDER as ab, FileService as ac, FileUploadDirective as ad, FileUploadInputComponent as ae, FlexComponent as af, FlexItemComponent as ag, FormGroupComponent as ah, FrameComponent as ai, FreezeService as aj, GRID_BREAKPOINTS as ak, GetNavService as al, HeaderComponent$1 as am, HighlightDirective as an, HttpService as ao, ICON_SOURCE as ap, IS_SIDE_PANEL as aq, IconComponent as ar, ImgComponent as as, InputType as at, InstrumentScoreComponent as au, InterceptorObservables as av, JumbotronComponent as aw, KeyValueComponent as ax, LAYOUT_ASSET_FOLDER as ay, LOGIN_COMPONENT as az, TextOutputComponent as b, SectionFormComponent as b$, NavDetailsComponent as b0, NavHeaderComponent as b1, NavMenuComponent as b2, NavStore as b3, NavTrailComponent as b4, NothingComponent as b5, NotificationElementComponent as b6, NotificationGroupComponent as b7, NotificationPopupComponent as b8, NotificationService as b9, ReactiveElementComponent as bA, RemoteComponent as bB, RemoteLoaderService as bC, ResizeElementComponent as bD, RouteContainer as bE, RowComponent as bF, SEARCH_QUERY as bG, SEARCH_RESULTS_EVENT as bH, SECTION_ACCORDION_GROUP as bI, SECTION_FORM_CONTEXT as bJ, SHARED_ICONS as bK, SIZE_CONTEXT as bL, ScoreComponent as bM, ScrollComponent as bN, ScrollService as bO, SearchPanelComponent as bP, SearchStore as bQ, SearchUserPanelComponent as bR, SectionAccordionDirective as bS, SectionAccordionGroupDirective as bT, SectionBackComponent as bU, SectionBadgesComponent as bV, SectionButtonGroupComponent as bW, SectionCardComponent as bX, SectionComponent as bY, SectionFilterComponent as bZ, SectionFooterComponent as b_, NotificationStore as ba, NotificationType as bb, NotificationWidgetComponent as bc, ONE_ASSET_BASE_URL as bd, OPTIONS_SOURCE as be, OVERLAY_WIDGETS as bf, OneApp as bg, OptionsSourceDirective as bh, OverlayBodyComponent as bi, OverlayRef as bj, OverlayService as bk, PLATFORM_BUTTON_NAV_IDS as bl, PLATFORM_EXTENSIBLE_NAV_IDS as bm, PLATFORM_NAV_MAP as bn, PLATFORM_ROOT_CHILDREN as bo, PaginationComponent as bp, PanelComponent as bq, PercentagePipe as br, PlaygroundComponent as bs, PositionDirective as bt, PwaInstallComponent as bu, ROOT_NAV$1 as bv, RadioGroupComponent as bw, RadioInputComponent as bx, RangeInputComponent as by, RatingInputComponent as bz, ButtonComponent as c, WcRouterStore as c$, SectionFormItemComponent as c0, SectionHeaderComponent as c1, SectionHeroComponent as c2, SectionSearchComponent as c3, SectionStepperComponent as c4, SectionTabsComponent as c5, SectionToggleComponent as c6, SectionToggleItemDirective as c7, SelectableCardInputComponent as c8, SelectorDirective as c9, ThemeService as cA, ThemeStore as cB, TimeAgoPipe as cC, TimelineComponent as cD, ToggleButtonComponent as cE, ToggleInputComponent as cF, ToggleRadioInputComponent as cG, ToolTipDirective as cH, TooltipComponent as cI, TranslateService as cJ, TreeGridComponent as cK, URL_SEP as cL, USER_STORE_REF as cM, USER_TAB_MAP as cN, UlComponent as cO, UniverseComponent as cP, UserApiService as cQ, UserAvatarComponent as cR, UserComponent as cS, UserNavComponent as cT, UserSettingsComponent as cU, UserStore as cV, WC_ROUTE_CHANGED_EVENT as cW, WC_SEARCH_GROUPS as cX, WIN_USER_TAB_HOOK as cY, WIN_USER_TAB_KEY as cZ, WatermarkComponent as c_, SettingsSearchBarComponent as ca, SettingsSearchService as cb, ShapeComponent as cc, SharedStoreRegistry as cd, SidePanelDirective as ce, Size as cf, SocketStore as cg, SortComponent as ch, StatComponent as ci, StepComponent as cj, StepperComponent as ck, StepsComponent as cl, StorageService as cm, StrokeLinecap as cn, StrokeLinejoin as co, SummaryComponent as cp, SvgGeneratorComponent as cq, SvgGeneratorService as cr, SvgService as cs, TOTAL_COLUMNS as ct, TRANSLATION_SOURCE as cu, TableComponent as cv, TechnicalMeterComponent as cw, TextInputComponent as cx, TextareaInputComponent as cy, ThemeComponent as cz, APP_CONTEXT_REF as d, loadingActions as d$, WrapperInputComponent as d0, anchorNavId as d1, applyColorsToElement as d2, bootstrapMagApp as d3, bootstrapPwaInstall as d4, buildWcBaseUrl as d5, calculateLuminance as d6, calculateRanks as d7, cellText as d8, checkFilterCondition as d9, getValue as dA, hasErrorComputed as dB, hexToRgb as dC, hslToRgb$1 as dD, initMagmoniumApp as dE, initialNotificationState as dF, initialState$2 as dG, initials as dH, injectAuthenticate as dI, injectInstallApp as dJ, injectParentSize as dK, injectScrollSticky as dL, isButtonName as dM, isCancelledComputed as dN, isExtensiblePlatformNavId as dO, isJson as dP, isLoadingComputed as dQ, isLocalhost as dR, isPlatformNavId as dS, isSize as dT, isTierPreview as dU, isUrlLocalhost as dV, isValidNavId as dW, isValidNavSegment as dX, isWebComponent as dY, linkToId as dZ, linkToNav as d_, childNavId as da, classListSignal as db, coerceSize as dc, cornerEdge as dd, cornerSide as de, createMap as df, createPlatformNavMap as dg, deriveAvatarGradient as dh, deriveContrastColor as di, deriveOppositeColor as dj, derivePropertyName as dk, emailValidation as dl, evaluate as dm, evaluateBool as dn, flattenTreeGridRows as dp, formatBadgeCount as dq, fullName as dr, generateClipPath as ds, generateTransform as dt, getClassList as du, getProperty as dv, getScrollParent as dw, getTierFromPreviewPath as dx, getTreeGridRow as dy, getUniqueId as dz, ASSET_BASE_URL as e, toHostNavId as e$, mInterceptor as e0, manualValidation as e1, matchFieldValidation as e2, maxLengthValidation as e3, maxValidation as e4, mergePlatformNav as e5, mergeUnique as e6, mergeUniqueBy as e7, mergeUniqueWith as e8, minAgeValidation as e9, providePlatformNavWidgets as eA, provideSearch as eB, provideSizeContext as eC, provideUserTabs as eD, publicGuard as eE, readFieldPatterns as eF, renderAddress as eG, requiredValidation as eH, resolveConfigAsset as eI, resolveIconSize as eJ, resolvePallet as eK, resolvePatternRules as eL, resolveSize as eM, rgbToHex as eN, rgbToHsl as eO, rowHasChildren as eP, samePatterns as eQ, segmentsToNavId as eR, setProperty as eS, setTreeGridChildren as eT, settingsWidgets as eU, shouldShowBadge as eV, splitNavId as eW, stringToColor as eX, toAttrBool as eY, toAttrNumber as eZ, toCssLength as e_, minLengthValidation as ea, minValidation as eb, miniMarkToHtml as ec, navIdChain as ed, navIdFor as ee, navIdSegment as ef, navIdToRoutePath as eg, navIdToSegments as eh, navToId as ei, parentNavId as ej, parseAddress as ek, parseColor as el, parsePatternNames as em, patternValidation as en, patternsValidation as eo, platformNavWidgets as ep, privateGuard as eq, processImageToSvg as er, provideAppContext as es, provideMagAppConfig as et, provideMagWcConfig as eu, provideMagWcRoutes as ev, provideModalComponents as ew, provideMurlUrlSerializer as ex, provideNavWidgets as ey, provideOverlayWidgets as ez, AccordionBodyDirective as f, toLength$1 as f0, toLocalNavId as f1, toggleTreeGridRow as f2, unfetchedPlatformNav as f3, urlValidation as f4, AccordionComponent as g, AccordionGroupComponent as h, ActionComponent as i, AnimatedGraphsComponent as j, AppCardComponent as k, AppRelationType as l, AppTileComponent as m, AssetStore as n, AssetUrlPipe as o, Assets as p, AuthActivityPageComponent as q, AuthApiService as r, AuthStore as s, AutosizeDirective as t, BadgeComponent as u, BandingComponent as v, BaseArrayInputComponent as w, BaseRootWebComponent as x, BaseWebComponent as y, ButtonGroupComponent as z };
|
|
31503
|
+
//# sourceMappingURL=magmonium-one-magmonium-one-BGcwClRr.mjs.map
|