@magmonium/one 0.1.7 → 0.1.8

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.
@@ -6431,7 +6431,7 @@ class SectionFormItemComponent extends ConfigComponent {
6431
6431
  break;
6432
6432
  }
6433
6433
  case InputType.TOGGLE: {
6434
- const { ToggleInputComponent } = await import('./magmonium-one-toggle-DP2v-cj_.mjs');
6434
+ const { ToggleInputComponent } = await import('./magmonium-one-toggle-B8O-rWHB.mjs');
6435
6435
  this.createDynamicComponent(seq, ToggleInputComponent, [], true);
6436
6436
  break;
6437
6437
  }
@@ -6443,12 +6443,12 @@ class SectionFormItemComponent extends ConfigComponent {
6443
6443
  break;
6444
6444
  }
6445
6445
  case InputType.PASSWORD: {
6446
- const { PasswordInputComponent } = await import('./magmonium-one-password-CJ24zcHB.mjs');
6446
+ const { PasswordInputComponent } = await import('./magmonium-one-password-Bqm1V9VB.mjs');
6447
6447
  this.createDynamicComponent(seq, PasswordInputComponent);
6448
6448
  break;
6449
6449
  }
6450
6450
  case InputType.OTP: {
6451
- const { OtpInputComponent } = await import('./magmonium-one-otp-B84sMtyK.mjs');
6451
+ const { OtpInputComponent } = await import('./magmonium-one-otp-DYuoJFYd.mjs');
6452
6452
  this.createDynamicComponent(seq, OtpInputComponent);
6453
6453
  break;
6454
6454
  }
@@ -7266,7 +7266,7 @@ class LogoComponent {
7266
7266
  lightGradientInv = this.lightGradient;
7267
7267
  themeStore = inject(ThemeStore);
7268
7268
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: LogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7269
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: LogoComponent, isStandalone: true, selector: "m-logo", inputs: { animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, alive: { classPropertyName: "alive", publicName: "alive", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "themeStore.osTheme()", "attr.data-alive": "alive()", "attr.data-variant": "variant()", "class.is-interactive": "interactive()", "class.has-border": "resolvedBorder()", "style.width": "resolvedWidth()", "style.height": "resolvedWidth() ? \"auto\" : null", "style.padding": "resolvedPadding()", "style.border-width": "resolvedBorder()", "style.border-color": "resolvedColor()" } }, ngImport: i0, template: "<svg viewBox=\"0 0 90 135\" xmlns=\"http://www.w3.org/2000/svg\">\n\n <defs>\n <!-- Alive state gradients -->\n <linearGradient id=\"aliveGradientDark\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#10b981;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#4f46e5;stop-opacity:1\" />\n </linearGradient>\n\n <linearGradient id=\"aliveGradientLight\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#34d399;stop-color-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#818cf8;stop-opacity:1\" />\n </linearGradient>\n\n <!-- Dead state gradients -->\n <linearGradient id=\"deadGradientDark\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#374151;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#1f2937;stop-opacity:1\" />\n </linearGradient>\n\n <linearGradient id=\"deadGradientLight\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#6b7280;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#4b5563;stop-opacity:1\" />\n </linearGradient>\n\n <!-- Grain for the `grained` variant. Density belongs to the mark, not to\n the half: both halves of the top mark take the packed tile and both\n halves of the bottom mark the scattered one, so the two triangles\n either side of a mark's diagonal are always grained alike and the\n marks stay the same drawing at two weights. Same dot, twice the pitch\n \u2014 one grain thinned out, not a second texture. Tiles are in viewBox\n units, so the dots scale with the mark. -->\n <pattern id=\"grainDotsDense\" width=\"3\" height=\"3\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"0.75\" cy=\"0.75\" r=\"0.9\" fill=\"#fff\" />\n <circle cx=\"2.25\" cy=\"2.25\" r=\"0.9\" fill=\"#fff\" />\n </pattern>\n\n <pattern id=\"grainDotsSparse\" width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"1.5\" cy=\"1.5\" r=\"0.9\" fill=\"#fff\" />\n <circle cx=\"4.5\" cy=\"4.5\" r=\"0.9\" fill=\"#fff\" />\n </pattern>\n\n <!-- The grain is cut as a mask, not painted as a fill: a fill would take\n the halves' gradient (or flat colour) away, a mask leaves it and only\n decides which parts of it survive. One mask per half, not per mark \u2014\n the two halves overlap, and a mask on the pair would cut them as one\n shape and lose the overlap the mark is built on. -->\n <mask id=\"grainDense\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"90\" height=\"135\">\n <rect x=\"0\" y=\"0\" width=\"90\" height=\"135\" fill=\"url(#grainDotsDense)\" />\n </mask>\n\n <mask id=\"grainSparse\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"90\" height=\"135\">\n <rect x=\"0\" y=\"0\" width=\"90\" height=\"135\" fill=\"url(#grainDotsSparse)\" />\n </mask>\n </defs>\n\n <!-- Every half carries its own paint on both fill and stroke, so the `lined`\n variant needs nothing but a stroke width from the sass \u2014 the outline is\n already the same gradient (or flat colour) the fill would have been.\n Every other variant keeps the sass default of stroke-width 0. -->\n <g [class.animation]=\"animation()\">\n <!-- Top-Right (Recessive) -->\n <path [attr.fill]=\"lightGradient()\" [attr.stroke]=\"lightGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"light\" d=\"M85 5 L5 65 L85 65 Z\" />\n <!-- Top-Left (Dominant) -->\n <path [attr.fill]=\"darkGradient()\" [attr.stroke]=\"darkGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"dark\" d=\"M5 5 L5 65 L85 65 Z\" />\n </g>\n\n <g [class.animation]=\"animation()\">\n <!-- Bottom-Left (Recessive) -->\n <path [attr.fill]=\"lightGradientInv()\" [attr.stroke]=\"lightGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"light\" d=\"M5 70 L85 70 L5 130 Z\" />\n <!-- Bottom-Right (Dominant) -->\n <path [attr.fill]=\"darkGradientInv()\" [attr.stroke]=\"darkGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"dark\" d=\"M85 70 L5 70 L85 130 Z\" />\n </g>\n</svg>\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)}}@keyframes pulse-dark{0%{opacity:.3;transform:scale(.98) translateZ(5px);filter:saturate(.9) brightness(.95)}50%{opacity:.6;transform:scale(1.03) translateZ(15px);filter:saturate(1.2) brightness(1.1)}to{opacity:.3;transform:scale(.98) translateZ(5px);filter:saturate(.9) brightness(.95)}}@keyframes pulse-light{0%{opacity:.7;transform:scale(.99) translateZ(8px);filter:saturate(1) brightness(1)}50%{opacity:.9;transform:scale(1.02) translateZ(12px);filter:saturate(1.3) brightness(1.15)}to{opacity:.7;transform:scale(.99) translateZ(8px);filter:saturate(1) brightness(1)}}@keyframes gradient-shift{0%{filter:hue-rotate(0deg) saturate(1)}25%{filter:hue-rotate(15deg) saturate(1.2)}50%{filter:hue-rotate(30deg) saturate(1.4)}75%{filter:hue-rotate(15deg) saturate(1.2)}to{filter:hue-rotate(0deg) saturate(1)}}:host{display:block;width:100%;height:100%;perspective:1000px;transition:all .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box}:host(.has-border){border-style:solid;border-color:var(--m-border)}svg{display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease}.light,.dark{stroke-width:0;stroke-linejoin:round}.light{opacity:.92;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25)) brightness(1.05);color:#f0f6fc}.dark{opacity:1;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,.15)) brightness(.98);color:#24292f}.animation .light{animation:pulse-dark 4s cubic-bezier(.4,0,.2,1) infinite}.animation .dark{animation:pulse-light 4s cubic-bezier(.4,0,.2,1) infinite;animation-delay:.75s}:host(.is-interactive){cursor:pointer}:host(.is-interactive):hover svg{transform:scale(1.02)}:host(.is-interactive):hover .dark,:host(.is-interactive):hover .light{animation:gradient-shift 2s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2)) brightness(1.1) saturate(1.3)}:host(.is-interactive):active svg{transform:scale(.98)}:host(.is-interactive):active .dark,:host(.is-interactive):active .light{filter:brightness(.95) contrast(1.05) saturate(.9);transition:all .15s cubic-bezier(.4,0,.2,1)}:host[data-alive=true] .dark,:host[data-alive=true] .light{filter:drop-shadow(0 6px 12px rgba(124,58,237,.4)) brightness(1.1)}:host[data-alive=false] .light{filter:drop-shadow(0 4px 8px rgba(0,0,0,.5)) brightness(.95)}:host[data-alive=false] .dark{filter:drop-shadow(0 4px 8px rgba(0,0,0,.25)) brightness(.98)}:host([data-variant=flat]) .light,:host([data-variant=flat]) .dark{filter:none}:host([data-variant=flat]).is-interactive:hover .light,:host([data-variant=flat]).is-interactive:hover .dark{animation:none;filter:none}:host([data-variant=shadow]) .light,:host([data-variant=shadow]) .dark{filter:none}:host([data-variant=shadow]) svg{filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}:host([data-variant=shadow]).is-interactive:hover .light,:host([data-variant=shadow]).is-interactive:hover .dark{animation:none;filter:none}:host([data-variant=shadow]).is-interactive:hover svg{filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}:host([data-variant=lined]) .light,:host([data-variant=lined]) .dark{filter:none;stroke-width:3}:host([data-variant=lined]) .dark{fill-opacity:.16}:host([data-variant=lined]) .light{fill-opacity:.07}:host([data-variant=lined]).is-interactive:hover .light,:host([data-variant=lined]).is-interactive:hover .dark{animation:none;filter:none;stroke-width:4}:host([data-variant=lined]).is-interactive:hover .dark{fill-opacity:.24}:host([data-variant=lined]).is-interactive:hover .light{fill-opacity:.12}:host([data-variant=grained]) .light,:host([data-variant=grained]) .dark{filter:none}:host([data-variant=grained]) .light{opacity:.5}:host([data-variant=grained]).is-interactive:hover .light,:host([data-variant=grained]).is-interactive:hover .dark{animation:none;filter:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7269
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: LogoComponent, isStandalone: true, selector: "m-logo", inputs: { animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, alive: { classPropertyName: "alive", publicName: "alive", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "themeStore.osTheme()", "attr.data-alive": "alive()", "attr.data-variant": "variant()", "class.is-interactive": "interactive()", "class.has-border": "resolvedBorder()", "style.width": "resolvedWidth()", "style.height": "resolvedWidth() ? \"auto\" : null", "style.padding": "resolvedPadding()", "style.border-width": "resolvedBorder()", "style.border-color": "resolvedColor()" } }, ngImport: i0, template: "<svg viewBox=\"0 0 90 135\" xmlns=\"http://www.w3.org/2000/svg\">\n\n <defs>\n <!-- Alive state gradients -->\n <linearGradient id=\"aliveGradientDark\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#10b981;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#4f46e5;stop-opacity:1\" />\n </linearGradient>\n\n <linearGradient id=\"aliveGradientLight\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#34d399;stop-color-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#818cf8;stop-opacity:1\" />\n </linearGradient>\n\n <!-- Dead state gradients -->\n <linearGradient id=\"deadGradientDark\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#374151;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#1f2937;stop-opacity:1\" />\n </linearGradient>\n\n <linearGradient id=\"deadGradientLight\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#6b7280;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#4b5563;stop-opacity:1\" />\n </linearGradient>\n\n <!-- Grain for the `grained` variant. Density belongs to the mark, not to\n the half: both halves of the top mark take the packed tile and both\n halves of the bottom mark the scattered one, so the two triangles\n either side of a mark's diagonal are always grained alike and the\n marks stay the same drawing at two weights. Same dot, twice the pitch\n \u2014 one grain thinned out, not a second texture. Tiles are in viewBox\n units, so the dots scale with the mark. -->\n <pattern id=\"grainDotsDense\" width=\"3\" height=\"3\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"0.75\" cy=\"0.75\" r=\"0.9\" fill=\"#fff\" />\n <circle cx=\"2.25\" cy=\"2.25\" r=\"0.9\" fill=\"#fff\" />\n </pattern>\n\n <pattern id=\"grainDotsSparse\" width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"1.5\" cy=\"1.5\" r=\"0.9\" fill=\"#fff\" />\n <circle cx=\"4.5\" cy=\"4.5\" r=\"0.9\" fill=\"#fff\" />\n </pattern>\n\n <!-- The grain is cut as a mask, not painted as a fill: a fill would take\n the halves' gradient (or flat colour) away, a mask leaves it and only\n decides which parts of it survive. One mask per half, not per mark \u2014\n the two halves overlap, and a mask on the pair would cut them as one\n shape and lose the overlap the mark is built on. -->\n <mask id=\"grainDense\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"90\" height=\"135\">\n <rect x=\"0\" y=\"0\" width=\"90\" height=\"135\" fill=\"url(#grainDotsDense)\" />\n </mask>\n\n <mask id=\"grainSparse\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"90\" height=\"135\">\n <rect x=\"0\" y=\"0\" width=\"90\" height=\"135\" fill=\"url(#grainDotsSparse)\" />\n </mask>\n </defs>\n\n <!-- Every half carries its own paint on both fill and stroke, so the `lined`\n variant needs nothing but a stroke width from the sass \u2014 the outline is\n already the same gradient (or flat colour) the fill would have been.\n Every other variant keeps the sass default of stroke-width 0. -->\n <g [class.animation]=\"animation()\">\n <!-- Top-Right (Recessive) -->\n <path [attr.fill]=\"lightGradient()\" [attr.stroke]=\"lightGradientInv()\" [attr.mask]=\"topGrain()\" class=\"light\" d=\"M85 5 L5 65 L85 65 Z\" />\n <!-- Top-Left (Dominant) -->\n <path [attr.fill]=\"darkGradient()\" [attr.stroke]=\"darkGradientInv()\" [attr.mask]=\"topGrain()\" class=\"dark\" d=\"M5 5 L5 65 L85 65 Z\" />\n </g>\n\n <g [class.animation]=\"animation()\">\n <!-- Bottom-Left (Recessive) -->\n <path [attr.fill]=\"lightGradientInv()\" [attr.stroke]=\"lightGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"light\" d=\"M5 70 L85 70 L5 130 Z\" />\n <!-- Bottom-Right (Dominant) -->\n <path [attr.fill]=\"darkGradientInv()\" [attr.stroke]=\"darkGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"dark\" d=\"M85 70 L5 70 L85 130 Z\" />\n </g>\n</svg>\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)}}@keyframes pulse-dark{0%{opacity:.3;transform:scale(.98) translateZ(5px);filter:saturate(.9) brightness(.95)}50%{opacity:.6;transform:scale(1.03) translateZ(15px);filter:saturate(1.2) brightness(1.1)}to{opacity:.3;transform:scale(.98) translateZ(5px);filter:saturate(.9) brightness(.95)}}@keyframes pulse-light{0%{opacity:.7;transform:scale(.99) translateZ(8px);filter:saturate(1) brightness(1)}50%{opacity:.9;transform:scale(1.02) translateZ(12px);filter:saturate(1.3) brightness(1.15)}to{opacity:.7;transform:scale(.99) translateZ(8px);filter:saturate(1) brightness(1)}}@keyframes gradient-shift{0%{filter:hue-rotate(0deg) saturate(1)}25%{filter:hue-rotate(15deg) saturate(1.2)}50%{filter:hue-rotate(30deg) saturate(1.4)}75%{filter:hue-rotate(15deg) saturate(1.2)}to{filter:hue-rotate(0deg) saturate(1)}}:host{display:block;width:100%;height:100%;perspective:1000px;transition:all .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box}:host(.has-border){border-style:solid;border-color:var(--m-border)}svg{display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease}.light,.dark{stroke-width:0;stroke-linejoin:round}.light{opacity:.92;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25)) brightness(1.05);color:#f0f6fc}.dark{opacity:1;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,.15)) brightness(.98);color:#24292f}.animation .light{animation:pulse-dark 4s cubic-bezier(.4,0,.2,1) infinite}.animation .dark{animation:pulse-light 4s cubic-bezier(.4,0,.2,1) infinite;animation-delay:.75s}:host(.is-interactive){cursor:pointer}:host(.is-interactive):hover svg{transform:scale(1.02)}:host(.is-interactive):hover .dark,:host(.is-interactive):hover .light{animation:gradient-shift 2s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2)) brightness(1.1) saturate(1.3)}:host(.is-interactive):active svg{transform:scale(.98)}:host(.is-interactive):active .dark,:host(.is-interactive):active .light{filter:brightness(.95) contrast(1.05) saturate(.9);transition:all .15s cubic-bezier(.4,0,.2,1)}:host[data-alive=true] .dark,:host[data-alive=true] .light{filter:drop-shadow(0 6px 12px rgba(124,58,237,.4)) brightness(1.1)}:host[data-alive=false] .light{filter:drop-shadow(0 4px 8px rgba(0,0,0,.5)) brightness(.95)}:host[data-alive=false] .dark{filter:drop-shadow(0 4px 8px rgba(0,0,0,.25)) brightness(.98)}:host([data-variant=flat]) .light,:host([data-variant=flat]) .dark{filter:none}:host([data-variant=flat]).is-interactive:hover .light,:host([data-variant=flat]).is-interactive:hover .dark{animation:none;filter:none}:host([data-variant=shadow]) .light,:host([data-variant=shadow]) .dark{filter:none}:host([data-variant=shadow]) svg{filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}:host([data-variant=shadow]).is-interactive:hover .light,:host([data-variant=shadow]).is-interactive:hover .dark{animation:none;filter:none}:host([data-variant=shadow]).is-interactive:hover svg{filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}:host([data-variant=lined]) .light,:host([data-variant=lined]) .dark{filter:none;stroke-width:3}:host([data-variant=lined]) .dark{fill-opacity:.16}:host([data-variant=lined]) .light{fill-opacity:.07}:host([data-variant=lined]).is-interactive:hover .light,:host([data-variant=lined]).is-interactive:hover .dark{animation:none;filter:none;stroke-width:4}:host([data-variant=lined]).is-interactive:hover .dark{fill-opacity:.24}:host([data-variant=lined]).is-interactive:hover .light{fill-opacity:.12}:host([data-variant=grained]) .light,:host([data-variant=grained]) .dark{filter:none}:host([data-variant=grained]) .light{opacity:.5}:host([data-variant=grained]).is-interactive:hover .light,:host([data-variant=grained]).is-interactive:hover .dark{animation:none;filter:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7270
7270
  }
7271
7271
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: LogoComponent, decorators: [{
7272
7272
  type: Component,
@@ -7288,7 +7288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
7288
7288
  // A coloured Logo paints its border the same colour as the mark; without
7289
7289
  // one the sass default ($border) stands.
7290
7290
  '[style.border-color]': 'resolvedColor()',
7291
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg viewBox=\"0 0 90 135\" xmlns=\"http://www.w3.org/2000/svg\">\n\n <defs>\n <!-- Alive state gradients -->\n <linearGradient id=\"aliveGradientDark\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#10b981;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#4f46e5;stop-opacity:1\" />\n </linearGradient>\n\n <linearGradient id=\"aliveGradientLight\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#34d399;stop-color-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#818cf8;stop-opacity:1\" />\n </linearGradient>\n\n <!-- Dead state gradients -->\n <linearGradient id=\"deadGradientDark\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#374151;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#1f2937;stop-opacity:1\" />\n </linearGradient>\n\n <linearGradient id=\"deadGradientLight\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#6b7280;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#4b5563;stop-opacity:1\" />\n </linearGradient>\n\n <!-- Grain for the `grained` variant. Density belongs to the mark, not to\n the half: both halves of the top mark take the packed tile and both\n halves of the bottom mark the scattered one, so the two triangles\n either side of a mark's diagonal are always grained alike and the\n marks stay the same drawing at two weights. Same dot, twice the pitch\n \u2014 one grain thinned out, not a second texture. Tiles are in viewBox\n units, so the dots scale with the mark. -->\n <pattern id=\"grainDotsDense\" width=\"3\" height=\"3\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"0.75\" cy=\"0.75\" r=\"0.9\" fill=\"#fff\" />\n <circle cx=\"2.25\" cy=\"2.25\" r=\"0.9\" fill=\"#fff\" />\n </pattern>\n\n <pattern id=\"grainDotsSparse\" width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"1.5\" cy=\"1.5\" r=\"0.9\" fill=\"#fff\" />\n <circle cx=\"4.5\" cy=\"4.5\" r=\"0.9\" fill=\"#fff\" />\n </pattern>\n\n <!-- The grain is cut as a mask, not painted as a fill: a fill would take\n the halves' gradient (or flat colour) away, a mask leaves it and only\n decides which parts of it survive. One mask per half, not per mark \u2014\n the two halves overlap, and a mask on the pair would cut them as one\n shape and lose the overlap the mark is built on. -->\n <mask id=\"grainDense\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"90\" height=\"135\">\n <rect x=\"0\" y=\"0\" width=\"90\" height=\"135\" fill=\"url(#grainDotsDense)\" />\n </mask>\n\n <mask id=\"grainSparse\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"90\" height=\"135\">\n <rect x=\"0\" y=\"0\" width=\"90\" height=\"135\" fill=\"url(#grainDotsSparse)\" />\n </mask>\n </defs>\n\n <!-- Every half carries its own paint on both fill and stroke, so the `lined`\n variant needs nothing but a stroke width from the sass \u2014 the outline is\n already the same gradient (or flat colour) the fill would have been.\n Every other variant keeps the sass default of stroke-width 0. -->\n <g [class.animation]=\"animation()\">\n <!-- Top-Right (Recessive) -->\n <path [attr.fill]=\"lightGradient()\" [attr.stroke]=\"lightGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"light\" d=\"M85 5 L5 65 L85 65 Z\" />\n <!-- Top-Left (Dominant) -->\n <path [attr.fill]=\"darkGradient()\" [attr.stroke]=\"darkGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"dark\" d=\"M5 5 L5 65 L85 65 Z\" />\n </g>\n\n <g [class.animation]=\"animation()\">\n <!-- Bottom-Left (Recessive) -->\n <path [attr.fill]=\"lightGradientInv()\" [attr.stroke]=\"lightGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"light\" d=\"M5 70 L85 70 L5 130 Z\" />\n <!-- Bottom-Right (Dominant) -->\n <path [attr.fill]=\"darkGradientInv()\" [attr.stroke]=\"darkGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"dark\" d=\"M85 70 L5 70 L85 130 Z\" />\n </g>\n</svg>\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)}}@keyframes pulse-dark{0%{opacity:.3;transform:scale(.98) translateZ(5px);filter:saturate(.9) brightness(.95)}50%{opacity:.6;transform:scale(1.03) translateZ(15px);filter:saturate(1.2) brightness(1.1)}to{opacity:.3;transform:scale(.98) translateZ(5px);filter:saturate(.9) brightness(.95)}}@keyframes pulse-light{0%{opacity:.7;transform:scale(.99) translateZ(8px);filter:saturate(1) brightness(1)}50%{opacity:.9;transform:scale(1.02) translateZ(12px);filter:saturate(1.3) brightness(1.15)}to{opacity:.7;transform:scale(.99) translateZ(8px);filter:saturate(1) brightness(1)}}@keyframes gradient-shift{0%{filter:hue-rotate(0deg) saturate(1)}25%{filter:hue-rotate(15deg) saturate(1.2)}50%{filter:hue-rotate(30deg) saturate(1.4)}75%{filter:hue-rotate(15deg) saturate(1.2)}to{filter:hue-rotate(0deg) saturate(1)}}:host{display:block;width:100%;height:100%;perspective:1000px;transition:all .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box}:host(.has-border){border-style:solid;border-color:var(--m-border)}svg{display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease}.light,.dark{stroke-width:0;stroke-linejoin:round}.light{opacity:.92;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25)) brightness(1.05);color:#f0f6fc}.dark{opacity:1;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,.15)) brightness(.98);color:#24292f}.animation .light{animation:pulse-dark 4s cubic-bezier(.4,0,.2,1) infinite}.animation .dark{animation:pulse-light 4s cubic-bezier(.4,0,.2,1) infinite;animation-delay:.75s}:host(.is-interactive){cursor:pointer}:host(.is-interactive):hover svg{transform:scale(1.02)}:host(.is-interactive):hover .dark,:host(.is-interactive):hover .light{animation:gradient-shift 2s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2)) brightness(1.1) saturate(1.3)}:host(.is-interactive):active svg{transform:scale(.98)}:host(.is-interactive):active .dark,:host(.is-interactive):active .light{filter:brightness(.95) contrast(1.05) saturate(.9);transition:all .15s cubic-bezier(.4,0,.2,1)}:host[data-alive=true] .dark,:host[data-alive=true] .light{filter:drop-shadow(0 6px 12px rgba(124,58,237,.4)) brightness(1.1)}:host[data-alive=false] .light{filter:drop-shadow(0 4px 8px rgba(0,0,0,.5)) brightness(.95)}:host[data-alive=false] .dark{filter:drop-shadow(0 4px 8px rgba(0,0,0,.25)) brightness(.98)}:host([data-variant=flat]) .light,:host([data-variant=flat]) .dark{filter:none}:host([data-variant=flat]).is-interactive:hover .light,:host([data-variant=flat]).is-interactive:hover .dark{animation:none;filter:none}:host([data-variant=shadow]) .light,:host([data-variant=shadow]) .dark{filter:none}:host([data-variant=shadow]) svg{filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}:host([data-variant=shadow]).is-interactive:hover .light,:host([data-variant=shadow]).is-interactive:hover .dark{animation:none;filter:none}:host([data-variant=shadow]).is-interactive:hover svg{filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}:host([data-variant=lined]) .light,:host([data-variant=lined]) .dark{filter:none;stroke-width:3}:host([data-variant=lined]) .dark{fill-opacity:.16}:host([data-variant=lined]) .light{fill-opacity:.07}:host([data-variant=lined]).is-interactive:hover .light,:host([data-variant=lined]).is-interactive:hover .dark{animation:none;filter:none;stroke-width:4}:host([data-variant=lined]).is-interactive:hover .dark{fill-opacity:.24}:host([data-variant=lined]).is-interactive:hover .light{fill-opacity:.12}:host([data-variant=grained]) .light,:host([data-variant=grained]) .dark{filter:none}:host([data-variant=grained]) .light{opacity:.5}:host([data-variant=grained]).is-interactive:hover .light,:host([data-variant=grained]).is-interactive:hover .dark{animation:none;filter:none}\n"] }]
7291
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg viewBox=\"0 0 90 135\" xmlns=\"http://www.w3.org/2000/svg\">\n\n <defs>\n <!-- Alive state gradients -->\n <linearGradient id=\"aliveGradientDark\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#10b981;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#4f46e5;stop-opacity:1\" />\n </linearGradient>\n\n <linearGradient id=\"aliveGradientLight\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#34d399;stop-color-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#818cf8;stop-opacity:1\" />\n </linearGradient>\n\n <!-- Dead state gradients -->\n <linearGradient id=\"deadGradientDark\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#374151;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#1f2937;stop-opacity:1\" />\n </linearGradient>\n\n <linearGradient id=\"deadGradientLight\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#6b7280;stop-opacity:1\" />\n <stop offset=\"100%\" style=\"stop-color:#4b5563;stop-opacity:1\" />\n </linearGradient>\n\n <!-- Grain for the `grained` variant. Density belongs to the mark, not to\n the half: both halves of the top mark take the packed tile and both\n halves of the bottom mark the scattered one, so the two triangles\n either side of a mark's diagonal are always grained alike and the\n marks stay the same drawing at two weights. Same dot, twice the pitch\n \u2014 one grain thinned out, not a second texture. Tiles are in viewBox\n units, so the dots scale with the mark. -->\n <pattern id=\"grainDotsDense\" width=\"3\" height=\"3\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"0.75\" cy=\"0.75\" r=\"0.9\" fill=\"#fff\" />\n <circle cx=\"2.25\" cy=\"2.25\" r=\"0.9\" fill=\"#fff\" />\n </pattern>\n\n <pattern id=\"grainDotsSparse\" width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\">\n <circle cx=\"1.5\" cy=\"1.5\" r=\"0.9\" fill=\"#fff\" />\n <circle cx=\"4.5\" cy=\"4.5\" r=\"0.9\" fill=\"#fff\" />\n </pattern>\n\n <!-- The grain is cut as a mask, not painted as a fill: a fill would take\n the halves' gradient (or flat colour) away, a mask leaves it and only\n decides which parts of it survive. One mask per half, not per mark \u2014\n the two halves overlap, and a mask on the pair would cut them as one\n shape and lose the overlap the mark is built on. -->\n <mask id=\"grainDense\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"90\" height=\"135\">\n <rect x=\"0\" y=\"0\" width=\"90\" height=\"135\" fill=\"url(#grainDotsDense)\" />\n </mask>\n\n <mask id=\"grainSparse\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"90\" height=\"135\">\n <rect x=\"0\" y=\"0\" width=\"90\" height=\"135\" fill=\"url(#grainDotsSparse)\" />\n </mask>\n </defs>\n\n <!-- Every half carries its own paint on both fill and stroke, so the `lined`\n variant needs nothing but a stroke width from the sass \u2014 the outline is\n already the same gradient (or flat colour) the fill would have been.\n Every other variant keeps the sass default of stroke-width 0. -->\n <g [class.animation]=\"animation()\">\n <!-- Top-Right (Recessive) -->\n <path [attr.fill]=\"lightGradient()\" [attr.stroke]=\"lightGradientInv()\" [attr.mask]=\"topGrain()\" class=\"light\" d=\"M85 5 L5 65 L85 65 Z\" />\n <!-- Top-Left (Dominant) -->\n <path [attr.fill]=\"darkGradient()\" [attr.stroke]=\"darkGradientInv()\" [attr.mask]=\"topGrain()\" class=\"dark\" d=\"M5 5 L5 65 L85 65 Z\" />\n </g>\n\n <g [class.animation]=\"animation()\">\n <!-- Bottom-Left (Recessive) -->\n <path [attr.fill]=\"lightGradientInv()\" [attr.stroke]=\"lightGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"light\" d=\"M5 70 L85 70 L5 130 Z\" />\n <!-- Bottom-Right (Dominant) -->\n <path [attr.fill]=\"darkGradientInv()\" [attr.stroke]=\"darkGradientInv()\" [attr.mask]=\"bottomGrain()\" class=\"dark\" d=\"M85 70 L5 70 L85 130 Z\" />\n </g>\n</svg>\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)}}@keyframes pulse-dark{0%{opacity:.3;transform:scale(.98) translateZ(5px);filter:saturate(.9) brightness(.95)}50%{opacity:.6;transform:scale(1.03) translateZ(15px);filter:saturate(1.2) brightness(1.1)}to{opacity:.3;transform:scale(.98) translateZ(5px);filter:saturate(.9) brightness(.95)}}@keyframes pulse-light{0%{opacity:.7;transform:scale(.99) translateZ(8px);filter:saturate(1) brightness(1)}50%{opacity:.9;transform:scale(1.02) translateZ(12px);filter:saturate(1.3) brightness(1.15)}to{opacity:.7;transform:scale(.99) translateZ(8px);filter:saturate(1) brightness(1)}}@keyframes gradient-shift{0%{filter:hue-rotate(0deg) saturate(1)}25%{filter:hue-rotate(15deg) saturate(1.2)}50%{filter:hue-rotate(30deg) saturate(1.4)}75%{filter:hue-rotate(15deg) saturate(1.2)}to{filter:hue-rotate(0deg) saturate(1)}}:host{display:block;width:100%;height:100%;perspective:1000px;transition:all .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box}:host(.has-border){border-style:solid;border-color:var(--m-border)}svg{display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease}.light,.dark{stroke-width:0;stroke-linejoin:round}.light{opacity:.92;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25)) brightness(1.05);color:#f0f6fc}.dark{opacity:1;transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,.15)) brightness(.98);color:#24292f}.animation .light{animation:pulse-dark 4s cubic-bezier(.4,0,.2,1) infinite}.animation .dark{animation:pulse-light 4s cubic-bezier(.4,0,.2,1) infinite;animation-delay:.75s}:host(.is-interactive){cursor:pointer}:host(.is-interactive):hover svg{transform:scale(1.02)}:host(.is-interactive):hover .dark,:host(.is-interactive):hover .light{animation:gradient-shift 2s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2)) brightness(1.1) saturate(1.3)}:host(.is-interactive):active svg{transform:scale(.98)}:host(.is-interactive):active .dark,:host(.is-interactive):active .light{filter:brightness(.95) contrast(1.05) saturate(.9);transition:all .15s cubic-bezier(.4,0,.2,1)}:host[data-alive=true] .dark,:host[data-alive=true] .light{filter:drop-shadow(0 6px 12px rgba(124,58,237,.4)) brightness(1.1)}:host[data-alive=false] .light{filter:drop-shadow(0 4px 8px rgba(0,0,0,.5)) brightness(.95)}:host[data-alive=false] .dark{filter:drop-shadow(0 4px 8px rgba(0,0,0,.25)) brightness(.98)}:host([data-variant=flat]) .light,:host([data-variant=flat]) .dark{filter:none}:host([data-variant=flat]).is-interactive:hover .light,:host([data-variant=flat]).is-interactive:hover .dark{animation:none;filter:none}:host([data-variant=shadow]) .light,:host([data-variant=shadow]) .dark{filter:none}:host([data-variant=shadow]) svg{filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}:host([data-variant=shadow]).is-interactive:hover .light,:host([data-variant=shadow]).is-interactive:hover .dark{animation:none;filter:none}:host([data-variant=shadow]).is-interactive:hover svg{filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}:host([data-variant=lined]) .light,:host([data-variant=lined]) .dark{filter:none;stroke-width:3}:host([data-variant=lined]) .dark{fill-opacity:.16}:host([data-variant=lined]) .light{fill-opacity:.07}:host([data-variant=lined]).is-interactive:hover .light,:host([data-variant=lined]).is-interactive:hover .dark{animation:none;filter:none;stroke-width:4}:host([data-variant=lined]).is-interactive:hover .dark{fill-opacity:.24}:host([data-variant=lined]).is-interactive:hover .light{fill-opacity:.12}:host([data-variant=grained]) .light,:host([data-variant=grained]) .dark{filter:none}:host([data-variant=grained]) .light{opacity:.5}:host([data-variant=grained]).is-interactive:hover .light,:host([data-variant=grained]).is-interactive:hover .dark{animation:none;filter:none}\n"] }]
7292
7292
  }], propDecorators: { animation: [{ type: i0.Input, args: [{ isSignal: true, alias: "animation", required: false }] }], alive: [{ type: i0.Input, args: [{ isSignal: true, alias: "alive", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], interactive: [{ type: i0.Input, args: [{ isSignal: true, alias: "interactive", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], border: [{ type: i0.Input, args: [{ isSignal: true, alias: "border", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
7293
7293
 
7294
7294
  // YAML-sourced configs arrive as strings, so booleans need coercing.
@@ -17511,7 +17511,7 @@ class WrapperInputComponent extends ConfigComponent {
17511
17511
  break;
17512
17512
  }
17513
17513
  case InputType.TOGGLE: {
17514
- const { ToggleInputComponent } = await import('./magmonium-one-toggle-DP2v-cj_.mjs');
17514
+ const { ToggleInputComponent } = await import('./magmonium-one-toggle-B8O-rWHB.mjs');
17515
17515
  this.createDynamicComponent(seq, ToggleInputComponent, [], true);
17516
17516
  break;
17517
17517
  }
@@ -17523,12 +17523,12 @@ class WrapperInputComponent extends ConfigComponent {
17523
17523
  break;
17524
17524
  }
17525
17525
  case InputType.PASSWORD: {
17526
- const { PasswordInputComponent } = await import('./magmonium-one-password-CJ24zcHB.mjs');
17526
+ const { PasswordInputComponent } = await import('./magmonium-one-password-Bqm1V9VB.mjs');
17527
17527
  this.createDynamicComponent(seq, PasswordInputComponent);
17528
17528
  break;
17529
17529
  }
17530
17530
  case InputType.OTP: {
17531
- const { OtpInputComponent } = await import('./magmonium-one-otp-B84sMtyK.mjs');
17531
+ const { OtpInputComponent } = await import('./magmonium-one-otp-DYuoJFYd.mjs');
17532
17532
  this.createDynamicComponent(seq, OtpInputComponent);
17533
17533
  break;
17534
17534
  }
@@ -24862,15 +24862,110 @@ class KeyValueComponent {
24862
24862
  variant = input('pill', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
24863
24863
  hostClass = computed(() => `m-key-value m-key-value--${this.variant()}`, ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
24864
24864
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: KeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24865
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: KeyValueComponent, isStandalone: true, selector: "m-key-value", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClass()" } }, ngImport: i0, template: "<div [class]=\"hostClass()\">\n <span class=\"m-key-value__key\"><ng-content select=\"[key]\" /></span>\n <span class=\"m-key-value__value\"><ng-content select=\"[value]\" /></span>\n</div>", 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%;--_kv-size: 1em;font-size:var(--_kv-size);line-height:1.4}.m-key-value{position:relative}.m-key-value__key{color:var(--m-text-tertiary);display:inline-block;min-width:0}.m-key-value__value{color:var(--m-text);display:inline-block;min-width:0}.m-key-value--bento{display:flex;flex-direction:column;gap:.35em;padding:.85em 1em}.m-key-value--bento .m-key-value__key{font-size:.75em;text-transform:uppercase;letter-spacing:.08em;font-weight:600;opacity:.85}.m-key-value--bento .m-key-value__value{font-size:1.65em;font-weight:700;line-height:1.15;letter-spacing:-.01em;background:linear-gradient(135deg,var(--m-text),color-mix(in srgb,var(--m-mm) 40%,var(--m-text)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.m-key-value--pill{display:inline-flex;align-items:center;gap:.65em;width:auto;padding:.3em .85em;border-radius:999px;background:color-mix(in srgb,var(--m-background-lite) 60%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent);transition:background .18s ease,border-color .18s ease}.m-key-value--pill:hover{background:color-mix(in srgb,var(--m-background-lite) 85%,transparent);border-color:color-mix(in srgb,var(--m-mm) 35%,var(--m-border))}.m-key-value--pill .m-key-value__key{font-weight:600;white-space:nowrap;letter-spacing:.01em}.m-key-value--pill .m-key-value__key:after{content:\"\";display:inline-block;width:1px;height:.95em;margin-left:.65em;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--m-border) 90%,transparent),transparent);vertical-align:middle}.m-key-value--pill .m-key-value__value{white-space:nowrap;font-weight:600}.m-key-value--leader{display:flex;align-items:baseline;justify-content:space-between;gap:.75em;padding:.4em 0;transition:border-color .18s ease}.m-key-value--leader .m-key-value__key{white-space:nowrap;padding-right:.5em;font-weight:600;letter-spacing:.01em}.m-key-value--leader .m-key-value__value{white-space:nowrap;padding-left:.5em;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24865
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: KeyValueComponent, isStandalone: true, selector: "m-key-value", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClass()" } }, ngImport: i0, template: "<div [class]=\"hostClass()\">\n <span class=\"m-key-value__key\"><ng-content select=\"[key]\" /></span>\n <span class=\"m-key-value__value\"><ng-content select=\"[value]\" /></span>\n</div>", 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%;--_kv-size: 1em;font-size:var(--_kv-size);line-height:1.4}.m-key-value{position:relative}.m-key-value__key{color:var(--m-text-tertiary);display:inline-block;min-width:0}.m-key-value__value{color:var(--m-text);display:inline-block;min-width:0}.m-key-value--bento{display:flex;flex-direction:column;gap:.35em;padding:var(--_kv-pad, .85em 1em);align-items:var(--_kv-align, stretch)}.m-key-value--bento .m-key-value__key{font-size:.75em;text-transform:uppercase;letter-spacing:.08em;font-weight:600;opacity:.85}.m-key-value--bento .m-key-value__value{font-size:1.65em;font-weight:700;line-height:1.15;letter-spacing:-.01em;background:linear-gradient(135deg,var(--m-text),color-mix(in srgb,var(--m-mm) 40%,var(--m-text)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.m-key-value--pill{display:inline-flex;align-items:center;gap:.65em;width:auto;padding:.3em .85em;border-radius:999px;background:color-mix(in srgb,var(--m-background-lite) 60%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent);transition:background .18s ease,border-color .18s ease}.m-key-value--pill:hover{background:color-mix(in srgb,var(--m-background-lite) 85%,transparent);border-color:color-mix(in srgb,var(--m-mm) 35%,var(--m-border))}.m-key-value--pill .m-key-value__key{font-weight:600;white-space:nowrap;letter-spacing:.01em}.m-key-value--pill .m-key-value__key:after{content:\"\";display:inline-block;width:1px;height:.95em;margin-left:.65em;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--m-border) 90%,transparent),transparent);vertical-align:middle}.m-key-value--pill .m-key-value__value{white-space:nowrap;font-weight:600}.m-key-value--leader{display:flex;align-items:baseline;justify-content:space-between;gap:.75em;padding:.4em 0;transition:border-color .18s ease}.m-key-value--leader .m-key-value__key{white-space:nowrap;padding-right:.5em;font-weight:600;letter-spacing:.01em}.m-key-value--leader .m-key-value__value{white-space:nowrap;padding-left:.5em;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24866
24866
  }
24867
24867
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: KeyValueComponent, decorators: [{
24868
24868
  type: Component,
24869
24869
  args: [{ selector: 'm-key-value', changeDetection: ChangeDetectionStrategy.OnPush, host: {
24870
24870
  '[class]': 'hostClass()',
24871
- }, template: "<div [class]=\"hostClass()\">\n <span class=\"m-key-value__key\"><ng-content select=\"[key]\" /></span>\n <span class=\"m-key-value__value\"><ng-content select=\"[value]\" /></span>\n</div>", 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%;--_kv-size: 1em;font-size:var(--_kv-size);line-height:1.4}.m-key-value{position:relative}.m-key-value__key{color:var(--m-text-tertiary);display:inline-block;min-width:0}.m-key-value__value{color:var(--m-text);display:inline-block;min-width:0}.m-key-value--bento{display:flex;flex-direction:column;gap:.35em;padding:.85em 1em}.m-key-value--bento .m-key-value__key{font-size:.75em;text-transform:uppercase;letter-spacing:.08em;font-weight:600;opacity:.85}.m-key-value--bento .m-key-value__value{font-size:1.65em;font-weight:700;line-height:1.15;letter-spacing:-.01em;background:linear-gradient(135deg,var(--m-text),color-mix(in srgb,var(--m-mm) 40%,var(--m-text)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.m-key-value--pill{display:inline-flex;align-items:center;gap:.65em;width:auto;padding:.3em .85em;border-radius:999px;background:color-mix(in srgb,var(--m-background-lite) 60%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent);transition:background .18s ease,border-color .18s ease}.m-key-value--pill:hover{background:color-mix(in srgb,var(--m-background-lite) 85%,transparent);border-color:color-mix(in srgb,var(--m-mm) 35%,var(--m-border))}.m-key-value--pill .m-key-value__key{font-weight:600;white-space:nowrap;letter-spacing:.01em}.m-key-value--pill .m-key-value__key:after{content:\"\";display:inline-block;width:1px;height:.95em;margin-left:.65em;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--m-border) 90%,transparent),transparent);vertical-align:middle}.m-key-value--pill .m-key-value__value{white-space:nowrap;font-weight:600}.m-key-value--leader{display:flex;align-items:baseline;justify-content:space-between;gap:.75em;padding:.4em 0;transition:border-color .18s ease}.m-key-value--leader .m-key-value__key{white-space:nowrap;padding-right:.5em;font-weight:600;letter-spacing:.01em}.m-key-value--leader .m-key-value__value{white-space:nowrap;padding-left:.5em;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600}\n"] }]
24871
+ }, template: "<div [class]=\"hostClass()\">\n <span class=\"m-key-value__key\"><ng-content select=\"[key]\" /></span>\n <span class=\"m-key-value__value\"><ng-content select=\"[value]\" /></span>\n</div>", 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%;--_kv-size: 1em;font-size:var(--_kv-size);line-height:1.4}.m-key-value{position:relative}.m-key-value__key{color:var(--m-text-tertiary);display:inline-block;min-width:0}.m-key-value__value{color:var(--m-text);display:inline-block;min-width:0}.m-key-value--bento{display:flex;flex-direction:column;gap:.35em;padding:var(--_kv-pad, .85em 1em);align-items:var(--_kv-align, stretch)}.m-key-value--bento .m-key-value__key{font-size:.75em;text-transform:uppercase;letter-spacing:.08em;font-weight:600;opacity:.85}.m-key-value--bento .m-key-value__value{font-size:1.65em;font-weight:700;line-height:1.15;letter-spacing:-.01em;background:linear-gradient(135deg,var(--m-text),color-mix(in srgb,var(--m-mm) 40%,var(--m-text)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.m-key-value--pill{display:inline-flex;align-items:center;gap:.65em;width:auto;padding:.3em .85em;border-radius:999px;background:color-mix(in srgb,var(--m-background-lite) 60%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent);transition:background .18s ease,border-color .18s ease}.m-key-value--pill:hover{background:color-mix(in srgb,var(--m-background-lite) 85%,transparent);border-color:color-mix(in srgb,var(--m-mm) 35%,var(--m-border))}.m-key-value--pill .m-key-value__key{font-weight:600;white-space:nowrap;letter-spacing:.01em}.m-key-value--pill .m-key-value__key:after{content:\"\";display:inline-block;width:1px;height:.95em;margin-left:.65em;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--m-border) 90%,transparent),transparent);vertical-align:middle}.m-key-value--pill .m-key-value__value{white-space:nowrap;font-weight:600}.m-key-value--leader{display:flex;align-items:baseline;justify-content:space-between;gap:.75em;padding:.4em 0;transition:border-color .18s ease}.m-key-value--leader .m-key-value__key{white-space:nowrap;padding-right:.5em;font-weight:600;letter-spacing:.01em}.m-key-value--leader .m-key-value__value{white-space:nowrap;padding-left:.5em;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600}\n"] }]
24872
24872
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
24873
24873
 
24874
+ /**
24875
+ * Which side of the value the corner takes, and which edge of its line box it
24876
+ * rides. Two readings of one attribute, split here rather than in the template
24877
+ * so the flex `order` and the `align-self` each get a plain string to switch
24878
+ * on — and so an unknown value lands on the default corner rather than on none.
24879
+ */
24880
+ const cornerSide = (position) => position === 'top-left' || position === 'bottom-left' ? 'left' : 'right';
24881
+ const cornerEdge = (position) => position === 'bottom-left' || position === 'bottom-right' ? 'bottom' : 'top';
24882
+
24883
+ /**
24884
+ * A KeyValue with a corner mark: a label, a large value, and a small secondary
24885
+ * value set against the value itself (CONTEXT.md Stat).
24886
+ *
24887
+ * The label is an attribute because it is a TranslationAsset key and never
24888
+ * anything else; the other two are `ng-content` slots, so what a figure and
24889
+ * its mark are made of — a TextOutput reading state, an Icon, a VariantBranch
24890
+ * picking between them — is the caller's markup rather than a string this
24891
+ * component would have to re-invent inputs for (ADR 0021).
24892
+ */
24893
+ class StatComponent {
24894
+ label = input(undefined, ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
24895
+ /**
24896
+ * The tile's box density (`default`, `compact`, `no-padding`,
24897
+ * `no-x-padding`). A Stat owns its padding box so it can stand alone; a tile
24898
+ * dropped inside a Card, a table cell or a tight Col drops that padding here
24899
+ * rather than at the call site.
24900
+ */
24901
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
24902
+ cornerPosition = input('top-right', ...(ngDevMode ? [{ debugName: "cornerPosition" }] : /* istanbul ignore next */ []));
24903
+ align = input('left', ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
24904
+ surface = input('plain', ...(ngDevMode ? [{ debugName: "surface" }] : /* istanbul ignore next */ []));
24905
+ /**
24906
+ * A ThemeColor key (`success`, `mm`, …) or a raw CSS colour for the large
24907
+ * figure, resolved the way a TextOutput's and an Icon's are so a token
24908
+ * follows the active theme. Set, it also stands the figure down from
24909
+ * bento's clipped gradient — a gradient cannot be one colour.
24910
+ */
24911
+ color = input(undefined, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
24912
+ /** Same, for the corner mark. */
24913
+ cornerColor = input(undefined, ...(ngDevMode ? [{ debugName: "cornerColor" }] : /* istanbul ignore next */ []));
24914
+ /** MessageVariable values for the label (ADR 0020). */
24915
+ params = input(undefined, ...(ngDevMode ? [{ debugName: "params" }] : /* istanbul ignore next */ []));
24916
+ translateService = inject(TranslateService);
24917
+ themeStore = inject(ThemeStore);
24918
+ isDesignMode = !!inject(IS_DESIGN_MODE, {
24919
+ optional: true,
24920
+ });
24921
+ side = computed(() => cornerSide(this.cornerPosition()), ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
24922
+ edge = computed(() => cornerEdge(this.cornerPosition()), ...(ngDevMode ? [{ debugName: "edge" }] : /* istanbul ignore next */ []));
24923
+ resolvedColor = computed(() => this.paint(this.color()), ...(ngDevMode ? [{ debugName: "resolvedColor" }] : /* istanbul ignore next */ []));
24924
+ resolvedCornerColor = computed(() => this.paint(this.cornerColor()), ...(ngDevMode ? [{ debugName: "resolvedCornerColor" }] : /* istanbul ignore next */ []));
24925
+ // A label is a TranslationAsset key and nothing else — there is no switch
24926
+ // and no literal half to fall back to (ADR 0021). The other two atoms are
24927
+ // markup rather than strings this could speak for, so this is the one text
24928
+ // the component translates.
24929
+ labelText = computed(() => {
24930
+ const raw = this.label();
24931
+ if (!raw)
24932
+ return '';
24933
+ return this.translateService.translate(raw, this.params());
24934
+ }, ...(ngDevMode ? [{ debugName: "labelText" }] : /* istanbul ignore next */ []));
24935
+ // On the Canvas an unwritten label still draws, for the reason a TextOutput
24936
+ // draws its own stand-in there: a tile that is blank in three places is not
24937
+ // legible as a tile at all (ADR 0021). Never in Preview, never in the
24938
+ // emitted app. The two slots need no such stand-in — the editor draws its
24939
+ // own drop chrome inside them.
24940
+ labelGhost = computed(() => this.isDesignMode && !this.labelText(), ...(ngDevMode ? [{ debugName: "labelGhost" }] : /* istanbul ignore next */ []));
24941
+ labelDisplay = computed(() => this.labelGhost() ? 'Label' : this.labelText(), ...(ngDevMode ? [{ debugName: "labelDisplay" }] : /* istanbul ignore next */ []));
24942
+ paint(color) {
24943
+ if (!color)
24944
+ return null;
24945
+ return resolvePallet(color, this.themeStore.color()).color;
24946
+ }
24947
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24948
+ 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:600;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(.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 });
24949
+ }
24950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StatComponent, decorators: [{
24951
+ type: Component,
24952
+ args: [{ selector: 'm-stat', imports: [KeyValueComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
24953
+ class: 'm-stat-host',
24954
+ '[class.is-design-mode]': 'isDesignMode',
24955
+ '[class.corner-left]': 'side() === "left"',
24956
+ '[class.corner-bottom]': 'edge() === "bottom"',
24957
+ '[class.align-left]': 'align() === "left"',
24958
+ '[class.align-center]': 'align() === "center"',
24959
+ '[class.align-right]': 'align() === "right"',
24960
+ '[class.has-color]': '!!resolvedColor()',
24961
+ '[class.has-corner-color]': '!!resolvedCornerColor()',
24962
+ '[attr.data-variant]': 'variant()',
24963
+ '[attr.data-surface]': 'surface()',
24964
+ '[style.--m-stat-color]': 'resolvedColor()',
24965
+ '[style.--m-stat-corner-color]': 'resolvedCornerColor()',
24966
+ }, 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:600;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(.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"] }]
24967
+ }], 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 }] }] } });
24968
+
24874
24969
  class PwaInstallComponent {
24875
24970
  manifest = signal(null, ...(ngDevMode ? [{ debugName: "manifest" }] : /* istanbul ignore next */ []));
24876
24971
  state = signal('loading', ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
@@ -31291,5 +31386,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
31291
31386
  * Generated bundle index. Do not edit.
31292
31387
  */
31293
31388
 
31294
- 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, SectionHeaderComponent 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, RemoteLoaderService as bA, ResizeElementComponent as bB, RouteContainer as bC, RowComponent as bD, SEARCH_QUERY as bE, SEARCH_RESULTS_EVENT as bF, SECTION_ACCORDION_GROUP as bG, SECTION_FORM_CONTEXT as bH, SHARED_ICONS as bI, SIZE_CONTEXT as bJ, ScoreComponent as bK, ScrollComponent as bL, ScrollService as bM, SearchPanelComponent as bN, SearchStore as bO, SearchUserPanelComponent as bP, SectionAccordionDirective as bQ, SectionAccordionGroupDirective as bR, SectionBackComponent as bS, SectionBadgesComponent as bT, SectionButtonGroupComponent as bU, SectionCardComponent as bV, SectionComponent as bW, SectionFilterComponent as bX, SectionFooterComponent as bY, SectionFormComponent as bZ, SectionFormItemComponent as b_, NotificationStore as ba, NotificationType as bb, NotificationWidgetComponent as bc, ONE_ASSET_BASE_URL as bd, OPTIONS_SOURCE as be, OneApp as bf, OptionsSourceDirective as bg, OverlayBodyComponent as bh, OverlayRef as bi, OverlayService as bj, PLATFORM_BUTTON_NAV_IDS as bk, PLATFORM_EXTENSIBLE_NAV_IDS as bl, PLATFORM_NAV_MAP as bm, PLATFORM_ROOT_CHILDREN as bn, PaginationComponent as bo, PanelComponent as bp, PlaygroundComponent as bq, PositionDirective as br, PwaInstallComponent as bs, ROOT_NAV$1 as bt, RadioGroupComponent as bu, RadioInputComponent as bv, RangeInputComponent as bw, RatingInputComponent as bx, ReactiveElementComponent as by, RemoteComponent as bz, ButtonComponent as c, applyColorsToElement as c$, SectionHeroComponent as c0, SectionSearchComponent as c1, SectionStepperComponent as c2, SectionTabsComponent as c3, SectionToggleComponent as c4, SectionToggleItemDirective as c5, SelectableCardInputComponent as c6, SelectorDirective as c7, SettingsSearchBarComponent as c8, SettingsSearchService as c9, TimelineComponent as cA, ToggleButtonComponent as cB, ToggleInputComponent as cC, ToggleRadioInputComponent as cD, ToolTipDirective as cE, TooltipComponent as cF, TranslateService as cG, TreeGridComponent as cH, URL_SEP as cI, USER_STORE_REF as cJ, USER_TAB_MAP as cK, UlComponent as cL, UniverseComponent as cM, UserApiService as cN, UserAvatarComponent as cO, UserComponent as cP, UserNavComponent as cQ, UserSettingsComponent as cR, UserStore as cS, WC_ROUTE_CHANGED_EVENT as cT, WC_SEARCH_GROUPS as cU, WIN_USER_TAB_HOOK as cV, WIN_USER_TAB_KEY as cW, WatermarkComponent as cX, WcRouterStore as cY, WrapperInputComponent as cZ, anchorNavId as c_, ShapeComponent as ca, SharedStoreRegistry as cb, SidePanelDirective as cc, Size as cd, SocketStore as ce, SortComponent as cf, StepComponent as cg, StepperComponent as ch, StepsComponent as ci, StorageService as cj, StrokeLinecap as ck, StrokeLinejoin as cl, SummaryComponent as cm, SvgGeneratorComponent as cn, SvgGeneratorService as co, SvgService as cp, TOTAL_COLUMNS as cq, TRANSLATION_SOURCE as cr, TableComponent as cs, TechnicalMeterComponent as ct, TextInputComponent as cu, TextareaInputComponent as cv, ThemeComponent as cw, ThemeService as cx, ThemeStore as cy, TimeAgoPipe as cz, APP_CONTEXT_REF as d, maxValidation as d$, bootstrapMagApp as d0, bootstrapPwaInstall as d1, buildWcBaseUrl as d2, calculateLuminance as d3, calculateRanks as d4, cellText as d5, checkFilterCondition as d6, childNavId as d7, classListSignal as d8, coerceSize as d9, initialNotificationState as dA, initialState$2 as dB, initials as dC, injectAuthenticate as dD, injectInstallApp as dE, injectParentSize as dF, injectScrollSticky as dG, isButtonName as dH, isCancelledComputed as dI, isExtensiblePlatformNavId as dJ, isJson as dK, isLoadingComputed as dL, isLocalhost as dM, isPlatformNavId as dN, isSize as dO, isTierPreview as dP, isUrlLocalhost as dQ, isValidNavId as dR, isValidNavSegment as dS, isWebComponent as dT, linkToId as dU, linkToNav as dV, loadingActions as dW, mInterceptor as dX, manualValidation as dY, matchFieldValidation as dZ, maxLengthValidation as d_, createMap as da, createPlatformNavMap as db, deriveAvatarGradient as dc, deriveContrastColor as dd, deriveOppositeColor as de, derivePropertyName as df, emailValidation as dg, evaluate as dh, evaluateBool as di, flattenTreeGridRows as dj, formatBadgeCount as dk, fullName as dl, generateClipPath as dm, generateTransform as dn, getClassList as dp, getProperty as dq, getScrollParent as dr, getTierFromPreviewPath as ds, getTreeGridRow as dt, getUniqueId as du, getValue as dv, hasErrorComputed as dw, hexToRgb as dx, hslToRgb$1 as dy, initMagmoniumApp as dz, ASSET_BASE_URL as e, mergePlatformNav as e0, mergeUnique as e1, mergeUniqueBy as e2, mergeUniqueWith as e3, minAgeValidation as e4, minLengthValidation as e5, minValidation as e6, miniMarkToHtml as e7, navIdChain as e8, navIdFor as e9, renderAddress as eA, requiredValidation as eB, resolveConfigAsset as eC, resolveIconSize as eD, resolvePallet as eE, resolvePatternRules as eF, resolveSize as eG, rgbToHex as eH, rgbToHsl as eI, rowHasChildren as eJ, samePatterns as eK, segmentsToNavId as eL, setProperty as eM, setTreeGridChildren as eN, settingsWidgets as eO, shouldShowBadge as eP, splitNavId as eQ, stringToColor as eR, toAttrBool as eS, toAttrNumber as eT, toCssLength as eU, toHostNavId as eV, toLength$1 as eW, toLocalNavId as eX, toggleTreeGridRow as eY, unfetchedPlatformNav as eZ, urlValidation as e_, navIdSegment as ea, navIdToRoutePath as eb, navIdToSegments as ec, navToId as ed, parentNavId as ee, parseAddress as ef, parseColor as eg, parsePatternNames as eh, patternValidation as ei, patternsValidation as ej, platformNavWidgets as ek, privateGuard as el, processImageToSvg as em, provideAppContext as en, provideMagAppConfig as eo, provideMagWcConfig as ep, provideMagWcRoutes as eq, provideModalComponents as er, provideMurlUrlSerializer as es, provideNavWidgets as et, providePlatformNavWidgets as eu, provideSearch as ev, provideSizeContext as ew, provideUserTabs as ex, publicGuard as ey, readFieldPatterns as ez, AccordionBodyDirective as f, 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 };
31295
- //# sourceMappingURL=magmonium-one-magmonium-one-DN4BjorJ.mjs.map
31389
+ 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, SectionHeaderComponent 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, RemoteLoaderService as bA, ResizeElementComponent as bB, RouteContainer as bC, RowComponent as bD, SEARCH_QUERY as bE, SEARCH_RESULTS_EVENT as bF, SECTION_ACCORDION_GROUP as bG, SECTION_FORM_CONTEXT as bH, SHARED_ICONS as bI, SIZE_CONTEXT as bJ, ScoreComponent as bK, ScrollComponent as bL, ScrollService as bM, SearchPanelComponent as bN, SearchStore as bO, SearchUserPanelComponent as bP, SectionAccordionDirective as bQ, SectionAccordionGroupDirective as bR, SectionBackComponent as bS, SectionBadgesComponent as bT, SectionButtonGroupComponent as bU, SectionCardComponent as bV, SectionComponent as bW, SectionFilterComponent as bX, SectionFooterComponent as bY, SectionFormComponent as bZ, SectionFormItemComponent as b_, NotificationStore as ba, NotificationType as bb, NotificationWidgetComponent as bc, ONE_ASSET_BASE_URL as bd, OPTIONS_SOURCE as be, OneApp as bf, OptionsSourceDirective as bg, OverlayBodyComponent as bh, OverlayRef as bi, OverlayService as bj, PLATFORM_BUTTON_NAV_IDS as bk, PLATFORM_EXTENSIBLE_NAV_IDS as bl, PLATFORM_NAV_MAP as bm, PLATFORM_ROOT_CHILDREN as bn, PaginationComponent as bo, PanelComponent as bp, PlaygroundComponent as bq, PositionDirective as br, PwaInstallComponent as bs, ROOT_NAV$1 as bt, RadioGroupComponent as bu, RadioInputComponent as bv, RangeInputComponent as bw, RatingInputComponent as bx, ReactiveElementComponent as by, RemoteComponent as bz, ButtonComponent as c, anchorNavId as c$, SectionHeroComponent as c0, SectionSearchComponent as c1, SectionStepperComponent as c2, SectionTabsComponent as c3, SectionToggleComponent as c4, SectionToggleItemDirective as c5, SelectableCardInputComponent as c6, SelectorDirective as c7, SettingsSearchBarComponent as c8, SettingsSearchService as c9, TimeAgoPipe as cA, TimelineComponent as cB, ToggleButtonComponent as cC, ToggleInputComponent as cD, ToggleRadioInputComponent as cE, ToolTipDirective as cF, TooltipComponent as cG, TranslateService as cH, TreeGridComponent as cI, URL_SEP as cJ, USER_STORE_REF as cK, USER_TAB_MAP as cL, UlComponent as cM, UniverseComponent as cN, UserApiService as cO, UserAvatarComponent as cP, UserComponent as cQ, UserNavComponent as cR, UserSettingsComponent as cS, UserStore as cT, WC_ROUTE_CHANGED_EVENT as cU, WC_SEARCH_GROUPS as cV, WIN_USER_TAB_HOOK as cW, WIN_USER_TAB_KEY as cX, WatermarkComponent as cY, WcRouterStore as cZ, WrapperInputComponent as c_, ShapeComponent as ca, SharedStoreRegistry as cb, SidePanelDirective as cc, Size as cd, SocketStore as ce, SortComponent as cf, StatComponent as cg, StepComponent as ch, StepperComponent as ci, StepsComponent as cj, StorageService as ck, StrokeLinecap as cl, StrokeLinejoin as cm, SummaryComponent as cn, SvgGeneratorComponent as co, SvgGeneratorService as cp, SvgService as cq, TOTAL_COLUMNS as cr, TRANSLATION_SOURCE as cs, TableComponent as ct, TechnicalMeterComponent as cu, TextInputComponent as cv, TextareaInputComponent as cw, ThemeComponent as cx, ThemeService as cy, ThemeStore as cz, APP_CONTEXT_REF as d, manualValidation as d$, applyColorsToElement as d0, bootstrapMagApp as d1, bootstrapPwaInstall as d2, buildWcBaseUrl as d3, calculateLuminance as d4, calculateRanks as d5, cellText as d6, checkFilterCondition as d7, childNavId as d8, classListSignal as d9, hexToRgb as dA, hslToRgb$1 as dB, initMagmoniumApp as dC, initialNotificationState as dD, initialState$2 as dE, initials as dF, injectAuthenticate as dG, injectInstallApp as dH, injectParentSize as dI, injectScrollSticky as dJ, isButtonName as dK, isCancelledComputed as dL, isExtensiblePlatformNavId as dM, isJson as dN, isLoadingComputed as dO, isLocalhost as dP, isPlatformNavId as dQ, isSize as dR, isTierPreview as dS, isUrlLocalhost as dT, isValidNavId as dU, isValidNavSegment as dV, isWebComponent as dW, linkToId as dX, linkToNav as dY, loadingActions as dZ, mInterceptor as d_, coerceSize as da, cornerEdge as db, cornerSide as dc, createMap as dd, createPlatformNavMap as de, deriveAvatarGradient as df, deriveContrastColor as dg, deriveOppositeColor as dh, derivePropertyName as di, emailValidation as dj, evaluate as dk, evaluateBool as dl, flattenTreeGridRows as dm, formatBadgeCount as dn, fullName as dp, generateClipPath as dq, generateTransform as dr, getClassList as ds, getProperty as dt, getScrollParent as du, getTierFromPreviewPath as dv, getTreeGridRow as dw, getUniqueId as dx, getValue as dy, hasErrorComputed as dz, ASSET_BASE_URL as e, toggleTreeGridRow as e$, matchFieldValidation as e0, maxLengthValidation as e1, maxValidation as e2, mergePlatformNav as e3, mergeUnique as e4, mergeUniqueBy as e5, mergeUniqueWith as e6, minAgeValidation as e7, minLengthValidation as e8, minValidation as e9, provideUserTabs as eA, publicGuard as eB, readFieldPatterns as eC, renderAddress as eD, requiredValidation as eE, resolveConfigAsset as eF, resolveIconSize as eG, resolvePallet as eH, resolvePatternRules as eI, resolveSize as eJ, rgbToHex as eK, rgbToHsl as eL, rowHasChildren as eM, samePatterns as eN, segmentsToNavId as eO, setProperty as eP, setTreeGridChildren as eQ, settingsWidgets as eR, shouldShowBadge as eS, splitNavId as eT, stringToColor as eU, toAttrBool as eV, toAttrNumber as eW, toCssLength as eX, toHostNavId as eY, toLength$1 as eZ, toLocalNavId as e_, miniMarkToHtml as ea, navIdChain as eb, navIdFor as ec, navIdSegment as ed, navIdToRoutePath as ee, navIdToSegments as ef, navToId as eg, parentNavId as eh, parseAddress as ei, parseColor as ej, parsePatternNames as ek, patternValidation as el, patternsValidation as em, platformNavWidgets as en, privateGuard as eo, processImageToSvg as ep, provideAppContext as eq, provideMagAppConfig as er, provideMagWcConfig as es, provideMagWcRoutes as et, provideModalComponents as eu, provideMurlUrlSerializer as ev, provideNavWidgets as ew, providePlatformNavWidgets as ex, provideSearch as ey, provideSizeContext as ez, AccordionBodyDirective as f, unfetchedPlatformNav as f0, urlValidation as f1, 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 };
31390
+ //# sourceMappingURL=magmonium-one-magmonium-one-CkXhEAlY.mjs.map