@magmonium/one 0.2.74 → 0.2.76

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.
@@ -7032,7 +7032,7 @@ class SectionFormItemComponent extends ConfigComponent {
7032
7032
  break;
7033
7033
  }
7034
7034
  case InputType.TOGGLE: {
7035
- const { ToggleInputComponent } = await import('./magmonium-one-toggle-tg8Tunvt.mjs');
7035
+ const { ToggleInputComponent } = await import('./magmonium-one-toggle-CFE-kU71.mjs');
7036
7036
  this.createDynamicComponent(seq, ToggleInputComponent, [], true);
7037
7037
  break;
7038
7038
  }
@@ -7044,12 +7044,12 @@ class SectionFormItemComponent extends ConfigComponent {
7044
7044
  break;
7045
7045
  }
7046
7046
  case InputType.PASSWORD: {
7047
- const { PasswordInputComponent } = await import('./magmonium-one-password-iaX_F0Sl.mjs');
7047
+ const { PasswordInputComponent } = await import('./magmonium-one-password-CwOHegN8.mjs');
7048
7048
  this.createDynamicComponent(seq, PasswordInputComponent);
7049
7049
  break;
7050
7050
  }
7051
7051
  case InputType.OTP: {
7052
- const { OtpInputComponent } = await import('./magmonium-one-otp-C_Nmyg8p.mjs');
7052
+ const { OtpInputComponent } = await import('./magmonium-one-otp-COT-10lP.mjs');
7053
7053
  this.createDynamicComponent(seq, OtpInputComponent);
7054
7054
  break;
7055
7055
  }
@@ -8775,6 +8775,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
8775
8775
  let HeaderComponent$1 = class HeaderComponent {
8776
8776
  level = input(3, ...(ngDevMode ? [{ debugName: "level" }] : /* istanbul ignore next */ []));
8777
8777
  label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
8778
+ // Drawn inside the heading rather than beside it. A glyph placed as the
8779
+ // heading's sibling has no line box of its own to centre against — it ends
8780
+ // up centred on whatever column it sits next to, which is how a Canvas
8781
+ // header's icon came to line up with the label slot's drop rect instead of
8782
+ // with the label. Inside, the two share one line box at every level.
8783
+ icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
8778
8784
  actionButton = input(...(ngDevMode ? [undefined, { debugName: "actionButton" }] : /* istanbul ignore next */ []));
8779
8785
  // The action Button's accessible name. It renders icon-only, so the label is
8780
8786
  // the only thing a screen reader has to go on — without it the button reads
@@ -8817,10 +8823,13 @@ let HeaderComponent$1 = class HeaderComponent {
8817
8823
  ? (this.label() ?? '')
8818
8824
  : this.translateService.translate(this.label(), this.params()), ...(ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []));
8819
8825
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8820
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: HeaderComponent, isStandalone: true, selector: "m-header", inputs: { level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, actionButton: { classPropertyName: "actionButton", publicName: "actionButton", isSignal: true, isRequired: false, transformFunction: null }, actionLabel: { classPropertyName: "actionLabel", publicName: "actionLabel", isSignal: true, isRequired: false, transformFunction: null }, noTranslate: { classPropertyName: "noTranslate", publicName: "noTranslate", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: `
8826
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: HeaderComponent, isStandalone: true, selector: "m-header", inputs: { level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, actionButton: { classPropertyName: "actionButton", publicName: "actionButton", isSignal: true, isRequired: false, transformFunction: null }, actionLabel: { classPropertyName: "actionLabel", publicName: "actionLabel", isSignal: true, isRequired: false, transformFunction: null }, noTranslate: { classPropertyName: "noTranslate", publicName: "noTranslate", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: `
8821
8827
  @switch (level()) {
8822
8828
  @case (1) {
8823
8829
  <h1 class="header__heading">
8830
+ @if (icon(); as iconName) {
8831
+ <m-icon class="header__icon" [name]="iconName" />
8832
+ }
8824
8833
  <span>{{ text() }}</span>
8825
8834
  <ng-content />
8826
8835
  @if (actionConfig(); as action) {
@@ -8830,6 +8839,9 @@ let HeaderComponent$1 = class HeaderComponent {
8830
8839
  }
8831
8840
  @case (2) {
8832
8841
  <h2 class="header__heading">
8842
+ @if (icon(); as iconName) {
8843
+ <m-icon class="header__icon" [name]="iconName" />
8844
+ }
8833
8845
  <span>{{ text() }}</span>
8834
8846
  <ng-content />
8835
8847
  @if (actionConfig(); as action) {
@@ -8839,6 +8851,9 @@ let HeaderComponent$1 = class HeaderComponent {
8839
8851
  }
8840
8852
  @case (3) {
8841
8853
  <h3 class="header__heading">
8854
+ @if (icon(); as iconName) {
8855
+ <m-icon class="header__icon" [name]="iconName" />
8856
+ }
8842
8857
  <span>{{ text() }}</span>
8843
8858
  <ng-content />
8844
8859
  @if (actionConfig(); as action) {
@@ -8848,6 +8863,9 @@ let HeaderComponent$1 = class HeaderComponent {
8848
8863
  }
8849
8864
  @case (4) {
8850
8865
  <h4 class="header__heading">
8866
+ @if (icon(); as iconName) {
8867
+ <m-icon class="header__icon" [name]="iconName" />
8868
+ }
8851
8869
  <span>{{ text() }}</span>
8852
8870
  <ng-content />
8853
8871
  @if (actionConfig(); as action) {
@@ -8857,6 +8875,9 @@ let HeaderComponent$1 = class HeaderComponent {
8857
8875
  }
8858
8876
  @case (5) {
8859
8877
  <h5 class="header__heading">
8878
+ @if (icon(); as iconName) {
8879
+ <m-icon class="header__icon" [name]="iconName" />
8880
+ }
8860
8881
  <span>{{ text() }}</span>
8861
8882
  <ng-content />
8862
8883
  @if (actionConfig(); as action) {
@@ -8866,6 +8887,9 @@ let HeaderComponent$1 = class HeaderComponent {
8866
8887
  }
8867
8888
  @case (6) {
8868
8889
  <h6 class="header__heading">
8890
+ @if (icon(); as iconName) {
8891
+ <m-icon class="header__icon" [name]="iconName" />
8892
+ }
8869
8893
  <span>{{ text() }}</span>
8870
8894
  <ng-content />
8871
8895
  @if (actionConfig(); as action) {
@@ -8874,14 +8898,17 @@ let HeaderComponent$1 = class HeaderComponent {
8874
8898
  </h6>
8875
8899
  }
8876
8900
  }
8877
- `, isInline: true, 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)}}.header__heading{display:flex;flex-direction:row;align-items:center;justify-content:var(--m-header-justify, flex-start);gap:.75rem;margin:0;padding:0;line-height:1.1;font-weight:800;letter-spacing:-.025em;color:var(--m-header-color, var(--m-text));transition:transform .2s cubic-bezier(.4,0,.2,1)}.header__heading:hover{transform:translate(2px)}.header__action{margin-left:auto}.header__action span{display:inline-block;vertical-align:middle}h1.header__heading{font-size:var(--m-header-font-size, 2.25rem);font-weight:300;color:var(--m-text-quaternary);letter-spacing:-.035em;line-height:1.15}h2.header__heading{font-size:var(--m-header-font-size, 1.75rem);font-weight:300;color:var(--m-text-tertiary);letter-spacing:-.03em;line-height:1.2}h3.header__heading{font-size:var(--m-header-font-size, 1.375rem);font-weight:400;color:var(--m-text-secondary);letter-spacing:-.025em}h4.header__heading{font-size:var(--m-header-font-size, 1.125rem);font-weight:500;color:var(--m-text);letter-spacing:-.02em}h5.header__heading{font-size:var(--m-header-font-size, 1rem);font-weight:600;color:var(--m-text);letter-spacing:-.01em}h6.header__heading{font-size:var(--m-header-font-size, .875rem);font-weight:600;color:var(--m-text);letter-spacing:.05em;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8901
+ `, isInline: true, 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)}}.header__heading{display:flex;flex-direction:row;align-items:center;justify-content:var(--m-header-justify, flex-start);gap:.75rem;margin:0;padding:0;line-height:1.1;font-weight:800;letter-spacing:-.025em;color:var(--m-header-color, var(--m-text));transition:transform .2s cubic-bezier(.4,0,.2,1)}.header__heading:hover{transform:translate(2px)}.header__icon{flex-shrink:0}.header__action{margin-left:auto}.header__action span{display:inline-block;vertical-align:middle}h1.header__heading{font-size:var(--m-header-font-size, 2.25rem);font-weight:300;color:var(--m-text-quaternary);letter-spacing:-.035em;line-height:1.15}h2.header__heading{font-size:var(--m-header-font-size, 1.75rem);font-weight:300;color:var(--m-text-tertiary);letter-spacing:-.03em;line-height:1.2}h3.header__heading{font-size:var(--m-header-font-size, 1.375rem);font-weight:400;color:var(--m-text-secondary);letter-spacing:-.025em}h4.header__heading{font-size:var(--m-header-font-size, 1.125rem);font-weight:500;color:var(--m-text);letter-spacing:-.02em}h5.header__heading{font-size:var(--m-header-font-size, 1rem);font-weight:600;color:var(--m-text);letter-spacing:-.01em}h6.header__heading{font-size:var(--m-header-font-size, .875rem);font-weight:600;color:var(--m-text);letter-spacing:.05em;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8878
8902
  };
8879
8903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: HeaderComponent$1, decorators: [{
8880
8904
  type: Component,
8881
- args: [{ selector: 'm-header', imports: [ButtonComponent], template: `
8905
+ args: [{ selector: 'm-header', imports: [ButtonComponent, IconComponent], template: `
8882
8906
  @switch (level()) {
8883
8907
  @case (1) {
8884
8908
  <h1 class="header__heading">
8909
+ @if (icon(); as iconName) {
8910
+ <m-icon class="header__icon" [name]="iconName" />
8911
+ }
8885
8912
  <span>{{ text() }}</span>
8886
8913
  <ng-content />
8887
8914
  @if (actionConfig(); as action) {
@@ -8891,6 +8918,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
8891
8918
  }
8892
8919
  @case (2) {
8893
8920
  <h2 class="header__heading">
8921
+ @if (icon(); as iconName) {
8922
+ <m-icon class="header__icon" [name]="iconName" />
8923
+ }
8894
8924
  <span>{{ text() }}</span>
8895
8925
  <ng-content />
8896
8926
  @if (actionConfig(); as action) {
@@ -8900,6 +8930,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
8900
8930
  }
8901
8931
  @case (3) {
8902
8932
  <h3 class="header__heading">
8933
+ @if (icon(); as iconName) {
8934
+ <m-icon class="header__icon" [name]="iconName" />
8935
+ }
8903
8936
  <span>{{ text() }}</span>
8904
8937
  <ng-content />
8905
8938
  @if (actionConfig(); as action) {
@@ -8909,6 +8942,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
8909
8942
  }
8910
8943
  @case (4) {
8911
8944
  <h4 class="header__heading">
8945
+ @if (icon(); as iconName) {
8946
+ <m-icon class="header__icon" [name]="iconName" />
8947
+ }
8912
8948
  <span>{{ text() }}</span>
8913
8949
  <ng-content />
8914
8950
  @if (actionConfig(); as action) {
@@ -8918,6 +8954,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
8918
8954
  }
8919
8955
  @case (5) {
8920
8956
  <h5 class="header__heading">
8957
+ @if (icon(); as iconName) {
8958
+ <m-icon class="header__icon" [name]="iconName" />
8959
+ }
8921
8960
  <span>{{ text() }}</span>
8922
8961
  <ng-content />
8923
8962
  @if (actionConfig(); as action) {
@@ -8927,6 +8966,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
8927
8966
  }
8928
8967
  @case (6) {
8929
8968
  <h6 class="header__heading">
8969
+ @if (icon(); as iconName) {
8970
+ <m-icon class="header__icon" [name]="iconName" />
8971
+ }
8930
8972
  <span>{{ text() }}</span>
8931
8973
  <ng-content />
8932
8974
  @if (actionConfig(); as action) {
@@ -8935,11 +8977,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
8935
8977
  </h6>
8936
8978
  }
8937
8979
  }
8938
- `, changeDetection: ChangeDetectionStrategy.OnPush, 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)}}.header__heading{display:flex;flex-direction:row;align-items:center;justify-content:var(--m-header-justify, flex-start);gap:.75rem;margin:0;padding:0;line-height:1.1;font-weight:800;letter-spacing:-.025em;color:var(--m-header-color, var(--m-text));transition:transform .2s cubic-bezier(.4,0,.2,1)}.header__heading:hover{transform:translate(2px)}.header__action{margin-left:auto}.header__action span{display:inline-block;vertical-align:middle}h1.header__heading{font-size:var(--m-header-font-size, 2.25rem);font-weight:300;color:var(--m-text-quaternary);letter-spacing:-.035em;line-height:1.15}h2.header__heading{font-size:var(--m-header-font-size, 1.75rem);font-weight:300;color:var(--m-text-tertiary);letter-spacing:-.03em;line-height:1.2}h3.header__heading{font-size:var(--m-header-font-size, 1.375rem);font-weight:400;color:var(--m-text-secondary);letter-spacing:-.025em}h4.header__heading{font-size:var(--m-header-font-size, 1.125rem);font-weight:500;color:var(--m-text);letter-spacing:-.02em}h5.header__heading{font-size:var(--m-header-font-size, 1rem);font-weight:600;color:var(--m-text);letter-spacing:-.01em}h6.header__heading{font-size:var(--m-header-font-size, .875rem);font-weight:600;color:var(--m-text);letter-spacing:.05em;text-transform:uppercase}\n"] }]
8939
- }], propDecorators: { level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], actionButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionButton", required: false }] }], actionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionLabel", required: false }] }], noTranslate: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTranslate", required: false }] }], params: [{ type: i0.Input, args: [{ isSignal: true, alias: "params", required: false }] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }] } });
8980
+ `, changeDetection: ChangeDetectionStrategy.OnPush, 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)}}.header__heading{display:flex;flex-direction:row;align-items:center;justify-content:var(--m-header-justify, flex-start);gap:.75rem;margin:0;padding:0;line-height:1.1;font-weight:800;letter-spacing:-.025em;color:var(--m-header-color, var(--m-text));transition:transform .2s cubic-bezier(.4,0,.2,1)}.header__heading:hover{transform:translate(2px)}.header__icon{flex-shrink:0}.header__action{margin-left:auto}.header__action span{display:inline-block;vertical-align:middle}h1.header__heading{font-size:var(--m-header-font-size, 2.25rem);font-weight:300;color:var(--m-text-quaternary);letter-spacing:-.035em;line-height:1.15}h2.header__heading{font-size:var(--m-header-font-size, 1.75rem);font-weight:300;color:var(--m-text-tertiary);letter-spacing:-.03em;line-height:1.2}h3.header__heading{font-size:var(--m-header-font-size, 1.375rem);font-weight:400;color:var(--m-text-secondary);letter-spacing:-.025em}h4.header__heading{font-size:var(--m-header-font-size, 1.125rem);font-weight:500;color:var(--m-text);letter-spacing:-.02em}h5.header__heading{font-size:var(--m-header-font-size, 1rem);font-weight:600;color:var(--m-text);letter-spacing:-.01em}h6.header__heading{font-size:var(--m-header-font-size, .875rem);font-weight:600;color:var(--m-text);letter-spacing:.05em;text-transform:uppercase}\n"] }]
8981
+ }], propDecorators: { level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], actionButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionButton", required: false }] }], actionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionLabel", required: false }] }], noTranslate: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTranslate", required: false }] }], params: [{ type: i0.Input, args: [{ isSignal: true, alias: "params", required: false }] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }] } });
8940
8982
 
8941
8983
  const SECTION_CONTEXT = new InjectionToken('SECTION_CONTEXT');
8942
8984
 
8985
+ // The line box each heading level draws, straight from `header.sass`: its font
8986
+ // size and its line-height. The icon beside a heading is boxed to the same
8987
+ // span so the two centre on one another — `--m-header-font-size` is read
8988
+ // first, so a caller resizing the heading moves the icon's box with it.
8989
+ const HEADER_LINE_BOX = {
8990
+ 1: 'calc(var(--m-header-font-size, 2.25rem) * 1.15)',
8991
+ 2: 'calc(var(--m-header-font-size, 1.75rem) * 1.2)',
8992
+ 3: 'calc(var(--m-header-font-size, 1.375rem) * 1.1)',
8993
+ 4: 'calc(var(--m-header-font-size, 1.125rem) * 1.1)',
8994
+ 5: 'calc(var(--m-header-font-size, 1rem) * 1.1)',
8995
+ 6: 'calc(var(--m-header-font-size, 0.875rem) * 1.1)',
8996
+ };
8943
8997
  class SectionHeaderComponent {
8944
8998
  sticky = input(false, ...(ngDevMode ? [{ debugName: "sticky" }] : /* istanbul ignore next */ []));
8945
8999
  level = input(3, ...(ngDevMode ? [{ debugName: "level" }] : /* istanbul ignore next */ []));
@@ -9000,6 +9054,9 @@ class SectionHeaderComponent {
9000
9054
  // `align` — the same value that places `.m-section__body` — so header and
9001
9055
  // body stay in one column.
9002
9056
  boxAlign = computed(() => this.sectionContext?.align?.() ?? 'left', ...(ngDevMode ? [{ debugName: "boxAlign" }] : /* istanbul ignore next */ []));
9057
+ // The icon sits in the row, not in the heading, so it has no line box of its
9058
+ // own to centre against — it gets the heading's.
9059
+ iconBox = computed(() => HEADER_LINE_BOX[this.level()], ...(ngDevMode ? [{ debugName: "iconBox" }] : /* istanbul ignore next */ []));
9003
9060
  isSticky = computed(() => this.sticky() && this.scrollSticky(), ...(ngDevMode ? [{ debugName: "isSticky" }] : /* istanbul ignore next */ []));
9004
9061
  hasMenu = computed(() => !!this.menu() || !!this.menuName(), ...(ngDevMode ? [{ debugName: "hasMenu" }] : /* istanbul ignore next */ []));
9005
9062
  actionConfig = computed(() => {
@@ -9038,7 +9095,7 @@ class SectionHeaderComponent {
9038
9095
  this.accordion()?.toggle();
9039
9096
  }
9040
9097
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SectionHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9041
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SectionHeaderComponent, isStandalone: true, selector: "m-section-header", inputs: { sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, subLabel: { classPropertyName: "subLabel", publicName: "subLabel", isSignal: true, isRequired: false, transformFunction: null }, noTranslate: { classPropertyName: "noTranslate", publicName: "noTranslate", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null }, menuName: { classPropertyName: "menuName", publicName: "menuName", isSignal: true, isRequired: false, transformFunction: null }, visibilityRule: { classPropertyName: "visibilityRule", publicName: "visibilityRule", isSignal: true, isRequired: false, transformFunction: null }, disableRule: { classPropertyName: "disableRule", publicName: "disableRule", isSignal: true, isRequired: false, transformFunction: null }, extraData: { classPropertyName: "extraData", publicName: "extraData", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, showBack: { classPropertyName: "showBack", publicName: "showBack", isSignal: true, isRequired: false, transformFunction: null }, actionButton: { classPropertyName: "actionButton", publicName: "actionButton", isSignal: true, isRequired: false, transformFunction: null }, actionLabel: { classPropertyName: "actionLabel", publicName: "actionLabel", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", action: "action", back: "back" }, host: { properties: { "class.is-sticky-enabled": "sticky()", "class.is-sticky": "isSticky()", "class.has-menu": "hasMenu()", "class.align-left": "alignment() === \"left\"", "class.align-center": "alignment() === \"center\"", "class.align-right": "alignment() === \"right\"", "class.has-sidepanel": "sidepanel()", "class.no-border": "noBorder()", "class.spacing": "spacing()", "class.box-center": "boxAlign() === \"center\"", "class.box-right": "boxAlign() === \"right\"", "style.--m-section-header-max-width": "resolvedMaxWidth()" }, classAttribute: "m-section-header" }, ngImport: i0, template: "<!-- One declaration of the row, rendered by whichever branch `spacing` picks.\n Hoisted into a template rather than written twice: an `<ng-content>` may\n appear once per selector in a component, so the duplicated copy caught\n nothing and a header projecting a title rendered it in the `spacing`\n branch alone. -->\n<ng-template #body>\n @if (accordion(); as accordionRef) {\n <div\n class=\"section-header__toggle\"\n [class.section-header__toggle--rotate]=\"toggleRotates()\"\n [class.section-header__toggle--open]=\"accordionRef.isOpen()\"\n [id]=\"accordionRef.headerId\"\n [attr.aria-expanded]=\"accordionRef.isOpen()\"\n [attr.aria-controls]=\"accordionRef.bodyId\"\n >\n <m-button\n [config]=\"{ icon: toggleIconName(), iconOnly: true, variant: 'ghost' }\"\n (clicked)=\"onToggleClick()\" />\n </div>\n }\n @if (showBack()) {\n <div class=\"section-header__back\">\n <m-button\n [config]=\"{ icon: 'arrow_back', iconOnly: true }\"\n (clicked)=\"back.emit()\" />\n </div>\n } @else if (icon(); as iconName) {\n <m-icon [name]=\"iconName\" />\n }\n <div\n class=\"section-header__title\"\n [class.section-header__title--reverse]=\"reverse()\"\n >\n <!-- The title slot is the catch-all rather than a `[label]` one: every\n header already projecting a heading writes it unselected, and a\n selector here would drop that content on the floor. What the design\n page emits \u2014 `<span label>` \u2014 is caught by it too, nothing else\n claiming the node. -->\n <ng-content />\n <!-- The written label, drawn beside the slot rather than as its\n `ng-content` fallback. A fallback renders only while *nothing* is\n projected, and the design Canvas always projects the slot span \u2014\n empty until a Control is dropped in it \u2014 so a fallback there would\n blank the label a header is still configured with. `label` answers\n instead, which no header projecting a title sets. -->\n @if (label()) {\n <m-header\n [level]=\"level()\"\n [label]=\"label()\"\n [params]=\"params()\"\n [noTranslate]=\"noTranslate()\" />\n }\n @if (subText(); as sub) {\n <span class=\"section-header__sub\">{{ sub }}</span>\n }\n </div>\n <!-- A FilterGroup projected into the header row, selected by tag rather than\n by an attribute \u2014 the same shape a Section catches its `m-action` with.\n A header has room for one icon and not for a row, so a group landing\n here is squeezed by placement (ADR 0025); nothing here enforces that,\n the caller binding `[squeeze]` on the tag it projects. -->\n <div class=\"section-header__filters\">\n <ng-content select=\"m-section-filter-group\" />\n </div>\n @if (actionConfig(); as action) {\n <div class=\"section-header__action\">\n <m-button [config]=\"action\" (clicked)=\"actionClick.emit()\" />\n </div>\n }\n @if (hasMenu()) {\n <div class=\"section-header__menu\">\n <m-context-menu\n [config]=\"menu()\"\n [name]=\"menuName()\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"action.emit($event)\"\n />\n </div>\n }\n</ng-template>\n\n<!-- Always the same two boxes, whether or not a `maxWidth` is in force. The\n border and the sticky backdrop live on the host and keep spanning the\n Section's full width; only this container narrows and is placed by the\n Section's `align`, so the heading lines up with the body under it. -->\n<div class=\"section-header__container\">\n <div class=\"section-header__inner\">\n <ng-container [ngTemplateOutlet]=\"body\" />\n </div>\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:flex;align-items:center;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);padding:var(--section-header-py, .85rem) var(--section-px, 1rem);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}:host(.spacing){padding:0;width:100%}.section-header__container{width:100%;min-width:0;max-width:var(--m-section-header-max-width, none);margin-inline:0 auto}:host(.box-center) .section-header__container{margin-inline:auto}:host(.box-right) .section-header__container{margin-inline:auto 0}.section-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.section-header__inner .section-header__title{flex:1;min-width:0;gap:.5rem}:host(.spacing) .section-header__inner{padding:1rem 1.5rem}:host(.has-sidepanel){padding-right:50px}:host(.has-sidepanel.has-menu){padding-right:50px}:host(.spacing.has-sidepanel) .section-header__inner{padding-right:calc(1.5rem + 50px)}:host(.is-sticky-enabled){position:sticky;top:0;z-index:10}:host(.is-sticky-enabled){background:color-mix(in srgb,var(--m-background) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.section-header__toggle{display:flex;flex-shrink:0}.section-header__toggle.section-header__toggle--rotate m-button{display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-header__toggle.section-header__toggle--rotate.section-header__toggle--open m-button{transform:rotate(180deg)}.section-header__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}m-header{min-width:0}.section-header__title--reverse{flex-direction:column-reverse}.section-header__sub{font-size:.8rem;color:var(--m-text-secondary);line-height:1.2}:host(.align-center){--m-header-justify: center}:host(.align-right){--m-header-justify: flex-end}:host(.has-menu){padding-right:0}:host(.spacing.has-menu) .section-header__inner{padding-right:0}.section-header__filters{display:contents}.section-header__filters m-section-filter-group{width:auto;flex-shrink:0;border-bottom:none}.section-header__back{display:flex;align-items:center;flex-shrink:0}.section-header__menu,.section-header__action{margin-left:auto;flex-shrink:0;display:flex;align-items:center}.section-header__action+.section-header__menu{margin-left:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ContextMenuComponent, selector: "m-context-menu, m-one-context-menu", inputs: ["toggle", "remote", "exclude", "visibilityRule", "disableRule", "extraData", "inverted", "options"], outputs: ["toggleChange", "action"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9098
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SectionHeaderComponent, isStandalone: true, selector: "m-section-header", inputs: { sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, subLabel: { classPropertyName: "subLabel", publicName: "subLabel", isSignal: true, isRequired: false, transformFunction: null }, noTranslate: { classPropertyName: "noTranslate", publicName: "noTranslate", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null }, menuName: { classPropertyName: "menuName", publicName: "menuName", isSignal: true, isRequired: false, transformFunction: null }, visibilityRule: { classPropertyName: "visibilityRule", publicName: "visibilityRule", isSignal: true, isRequired: false, transformFunction: null }, disableRule: { classPropertyName: "disableRule", publicName: "disableRule", isSignal: true, isRequired: false, transformFunction: null }, extraData: { classPropertyName: "extraData", publicName: "extraData", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, showBack: { classPropertyName: "showBack", publicName: "showBack", isSignal: true, isRequired: false, transformFunction: null }, actionButton: { classPropertyName: "actionButton", publicName: "actionButton", isSignal: true, isRequired: false, transformFunction: null }, actionLabel: { classPropertyName: "actionLabel", publicName: "actionLabel", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", action: "action", back: "back" }, host: { properties: { "class.is-sticky-enabled": "sticky()", "class.is-sticky": "isSticky()", "class.has-menu": "hasMenu()", "class.align-left": "alignment() === \"left\"", "class.align-center": "alignment() === \"center\"", "class.align-right": "alignment() === \"right\"", "class.has-sidepanel": "sidepanel()", "class.no-border": "noBorder()", "class.spacing": "spacing()", "class.box-center": "boxAlign() === \"center\"", "class.box-right": "boxAlign() === \"right\"", "style.--m-section-header-max-width": "resolvedMaxWidth()", "style.--m-section-header-icon-box": "iconBox()" }, classAttribute: "m-section-header" }, ngImport: i0, template: "<!-- One declaration of the row, rendered by whichever branch `spacing` picks.\n Hoisted into a template rather than written twice: an `<ng-content>` may\n appear once per selector in a component, so the duplicated copy caught\n nothing and a header projecting a title rendered it in the `spacing`\n branch alone. -->\n<ng-template #body>\n @if (accordion(); as accordionRef) {\n <div\n class=\"section-header__toggle\"\n [class.section-header__toggle--rotate]=\"toggleRotates()\"\n [class.section-header__toggle--open]=\"accordionRef.isOpen()\"\n [id]=\"accordionRef.headerId\"\n [attr.aria-expanded]=\"accordionRef.isOpen()\"\n [attr.aria-controls]=\"accordionRef.bodyId\"\n >\n <m-button\n [config]=\"{ icon: toggleIconName(), iconOnly: true, variant: 'ghost' }\"\n (clicked)=\"onToggleClick()\" />\n </div>\n }\n @if (showBack()) {\n <div class=\"section-header__back\">\n <m-button\n [config]=\"{ icon: 'arrow_back', iconOnly: true }\"\n (clicked)=\"back.emit()\" />\n </div>\n } @else if (!label() && icon(); as iconName) {\n <!-- Only where no label is written. A header with one hands the icon to\n `m-header`, which draws it inside the heading's line box and so on the\n heading's own centre line. Beside a projected title there is no such\n box to borrow, so the glyph is boxed to the level's line box here and\n centred in it \u2014 otherwise it centres against the whole title column,\n which on the Canvas is the label slot's drop rect stacked above the\n heading. -->\n <div class=\"section-header__icon\">\n <m-icon [name]=\"iconName\" />\n </div>\n }\n <div\n class=\"section-header__title\"\n [class.section-header__title--reverse]=\"reverse()\"\n >\n <!-- The title slot is the catch-all rather than a `[label]` one: every\n header already projecting a heading writes it unselected, and a\n selector here would drop that content on the floor. What the design\n page emits \u2014 `<span label>` \u2014 is caught by it too, nothing else\n claiming the node. -->\n <ng-content />\n <!-- The written label, drawn beside the slot rather than as its\n `ng-content` fallback. A fallback renders only while *nothing* is\n projected, and the design Canvas always projects the slot span \u2014\n empty until a Control is dropped in it \u2014 so a fallback there would\n blank the label a header is still configured with. `label` answers\n instead, which no header projecting a title sets. -->\n @if (label()) {\n <m-header\n [level]=\"level()\"\n [label]=\"label()\"\n [icon]=\"icon()\"\n [params]=\"params()\"\n [noTranslate]=\"noTranslate()\" />\n }\n @if (subText(); as sub) {\n <span class=\"section-header__sub\">{{ sub }}</span>\n }\n </div>\n <!-- A FilterGroup projected into the header row, selected by tag rather than\n by an attribute \u2014 the same shape a Section catches its `m-action` with.\n A header has room for one icon and not for a row, so a group landing\n here is squeezed by placement (ADR 0025); nothing here enforces that,\n the caller binding `[squeeze]` on the tag it projects. -->\n <div class=\"section-header__filters\">\n <ng-content select=\"m-section-filter-group\" />\n </div>\n @if (actionConfig(); as action) {\n <div class=\"section-header__action\">\n <m-button [config]=\"action\" (clicked)=\"actionClick.emit()\" />\n </div>\n }\n @if (hasMenu()) {\n <div class=\"section-header__menu\">\n <m-context-menu\n [config]=\"menu()\"\n [name]=\"menuName()\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"action.emit($event)\"\n />\n </div>\n }\n</ng-template>\n\n<!-- Always the same two boxes, whether or not a `maxWidth` is in force. The\n border and the sticky backdrop live on the host and keep spanning the\n Section's full width; only this container narrows and is placed by the\n Section's `align`, so the heading lines up with the body under it. -->\n<div class=\"section-header__container\">\n <div class=\"section-header__inner\">\n <ng-container [ngTemplateOutlet]=\"body\" />\n </div>\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:flex;align-items:center;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);padding:var(--section-header-py, .85rem) var(--section-px, 1rem);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}:host(.spacing){padding:0;width:100%}.section-header__container{width:100%;min-width:0;max-width:var(--m-section-header-max-width, none);margin-inline:0 auto}:host(.box-center) .section-header__container{margin-inline:auto}:host(.box-right) .section-header__container{margin-inline:auto 0}.section-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.section-header__inner .section-header__title{flex:1;min-width:0;gap:.5rem}:host(.spacing) .section-header__inner{padding:1rem 1.5rem}:host(.has-sidepanel){padding-right:50px}:host(.has-sidepanel.has-menu){padding-right:50px}:host(.spacing.has-sidepanel) .section-header__inner{padding-right:calc(1.5rem + 50px)}:host(.is-sticky-enabled){position:sticky;top:0;z-index:10}:host(.is-sticky-enabled){background:color-mix(in srgb,var(--m-background) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.section-header__toggle{display:flex;flex-shrink:0}.section-header__toggle.section-header__toggle--rotate m-button{display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-header__toggle.section-header__toggle--rotate.section-header__toggle--open m-button{transform:rotate(180deg)}.section-header__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}m-header{min-width:0}.section-header__title--reverse{flex-direction:column-reverse}.section-header__sub{font-size:.8rem;color:var(--m-text-secondary);line-height:1.2}:host(.align-center){--m-header-justify: center}:host(.align-right){--m-header-justify: flex-end}:host(.has-menu){padding-right:0}:host(.spacing.has-menu) .section-header__inner{padding-right:0}.section-header__filters{display:contents}.section-header__filters m-section-filter-group{width:auto;flex-shrink:0;border-bottom:none}.section-header__back{display:flex;align-items:center;flex-shrink:0}.section-header__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-start;height:var(--m-section-header-icon-box, 1.5125rem)}.section-header__menu,.section-header__action{margin-left:auto;flex-shrink:0;display:flex;align-items:center}.section-header__action+.section-header__menu{margin-left:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ContextMenuComponent, selector: "m-context-menu, m-one-context-menu", inputs: ["toggle", "remote", "exclude", "visibilityRule", "disableRule", "extraData", "inverted", "options"], outputs: ["toggleChange", "action"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9042
9099
  }
9043
9100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SectionHeaderComponent, decorators: [{
9044
9101
  type: Component,
@@ -9062,7 +9119,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
9062
9119
  '[class.box-center]': 'boxAlign() === "center"',
9063
9120
  '[class.box-right]': 'boxAlign() === "right"',
9064
9121
  '[style.--m-section-header-max-width]': 'resolvedMaxWidth()',
9065
- }, template: "<!-- One declaration of the row, rendered by whichever branch `spacing` picks.\n Hoisted into a template rather than written twice: an `<ng-content>` may\n appear once per selector in a component, so the duplicated copy caught\n nothing and a header projecting a title rendered it in the `spacing`\n branch alone. -->\n<ng-template #body>\n @if (accordion(); as accordionRef) {\n <div\n class=\"section-header__toggle\"\n [class.section-header__toggle--rotate]=\"toggleRotates()\"\n [class.section-header__toggle--open]=\"accordionRef.isOpen()\"\n [id]=\"accordionRef.headerId\"\n [attr.aria-expanded]=\"accordionRef.isOpen()\"\n [attr.aria-controls]=\"accordionRef.bodyId\"\n >\n <m-button\n [config]=\"{ icon: toggleIconName(), iconOnly: true, variant: 'ghost' }\"\n (clicked)=\"onToggleClick()\" />\n </div>\n }\n @if (showBack()) {\n <div class=\"section-header__back\">\n <m-button\n [config]=\"{ icon: 'arrow_back', iconOnly: true }\"\n (clicked)=\"back.emit()\" />\n </div>\n } @else if (icon(); as iconName) {\n <m-icon [name]=\"iconName\" />\n }\n <div\n class=\"section-header__title\"\n [class.section-header__title--reverse]=\"reverse()\"\n >\n <!-- The title slot is the catch-all rather than a `[label]` one: every\n header already projecting a heading writes it unselected, and a\n selector here would drop that content on the floor. What the design\n page emits \u2014 `<span label>` \u2014 is caught by it too, nothing else\n claiming the node. -->\n <ng-content />\n <!-- The written label, drawn beside the slot rather than as its\n `ng-content` fallback. A fallback renders only while *nothing* is\n projected, and the design Canvas always projects the slot span \u2014\n empty until a Control is dropped in it \u2014 so a fallback there would\n blank the label a header is still configured with. `label` answers\n instead, which no header projecting a title sets. -->\n @if (label()) {\n <m-header\n [level]=\"level()\"\n [label]=\"label()\"\n [params]=\"params()\"\n [noTranslate]=\"noTranslate()\" />\n }\n @if (subText(); as sub) {\n <span class=\"section-header__sub\">{{ sub }}</span>\n }\n </div>\n <!-- A FilterGroup projected into the header row, selected by tag rather than\n by an attribute \u2014 the same shape a Section catches its `m-action` with.\n A header has room for one icon and not for a row, so a group landing\n here is squeezed by placement (ADR 0025); nothing here enforces that,\n the caller binding `[squeeze]` on the tag it projects. -->\n <div class=\"section-header__filters\">\n <ng-content select=\"m-section-filter-group\" />\n </div>\n @if (actionConfig(); as action) {\n <div class=\"section-header__action\">\n <m-button [config]=\"action\" (clicked)=\"actionClick.emit()\" />\n </div>\n }\n @if (hasMenu()) {\n <div class=\"section-header__menu\">\n <m-context-menu\n [config]=\"menu()\"\n [name]=\"menuName()\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"action.emit($event)\"\n />\n </div>\n }\n</ng-template>\n\n<!-- Always the same two boxes, whether or not a `maxWidth` is in force. The\n border and the sticky backdrop live on the host and keep spanning the\n Section's full width; only this container narrows and is placed by the\n Section's `align`, so the heading lines up with the body under it. -->\n<div class=\"section-header__container\">\n <div class=\"section-header__inner\">\n <ng-container [ngTemplateOutlet]=\"body\" />\n </div>\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:flex;align-items:center;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);padding:var(--section-header-py, .85rem) var(--section-px, 1rem);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}:host(.spacing){padding:0;width:100%}.section-header__container{width:100%;min-width:0;max-width:var(--m-section-header-max-width, none);margin-inline:0 auto}:host(.box-center) .section-header__container{margin-inline:auto}:host(.box-right) .section-header__container{margin-inline:auto 0}.section-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.section-header__inner .section-header__title{flex:1;min-width:0;gap:.5rem}:host(.spacing) .section-header__inner{padding:1rem 1.5rem}:host(.has-sidepanel){padding-right:50px}:host(.has-sidepanel.has-menu){padding-right:50px}:host(.spacing.has-sidepanel) .section-header__inner{padding-right:calc(1.5rem + 50px)}:host(.is-sticky-enabled){position:sticky;top:0;z-index:10}:host(.is-sticky-enabled){background:color-mix(in srgb,var(--m-background) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.section-header__toggle{display:flex;flex-shrink:0}.section-header__toggle.section-header__toggle--rotate m-button{display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-header__toggle.section-header__toggle--rotate.section-header__toggle--open m-button{transform:rotate(180deg)}.section-header__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}m-header{min-width:0}.section-header__title--reverse{flex-direction:column-reverse}.section-header__sub{font-size:.8rem;color:var(--m-text-secondary);line-height:1.2}:host(.align-center){--m-header-justify: center}:host(.align-right){--m-header-justify: flex-end}:host(.has-menu){padding-right:0}:host(.spacing.has-menu) .section-header__inner{padding-right:0}.section-header__filters{display:contents}.section-header__filters m-section-filter-group{width:auto;flex-shrink:0;border-bottom:none}.section-header__back{display:flex;align-items:center;flex-shrink:0}.section-header__menu,.section-header__action{margin-left:auto;flex-shrink:0;display:flex;align-items:center}.section-header__action+.section-header__menu{margin-left:0}\n"] }]
9122
+ '[style.--m-section-header-icon-box]': 'iconBox()',
9123
+ }, template: "<!-- One declaration of the row, rendered by whichever branch `spacing` picks.\n Hoisted into a template rather than written twice: an `<ng-content>` may\n appear once per selector in a component, so the duplicated copy caught\n nothing and a header projecting a title rendered it in the `spacing`\n branch alone. -->\n<ng-template #body>\n @if (accordion(); as accordionRef) {\n <div\n class=\"section-header__toggle\"\n [class.section-header__toggle--rotate]=\"toggleRotates()\"\n [class.section-header__toggle--open]=\"accordionRef.isOpen()\"\n [id]=\"accordionRef.headerId\"\n [attr.aria-expanded]=\"accordionRef.isOpen()\"\n [attr.aria-controls]=\"accordionRef.bodyId\"\n >\n <m-button\n [config]=\"{ icon: toggleIconName(), iconOnly: true, variant: 'ghost' }\"\n (clicked)=\"onToggleClick()\" />\n </div>\n }\n @if (showBack()) {\n <div class=\"section-header__back\">\n <m-button\n [config]=\"{ icon: 'arrow_back', iconOnly: true }\"\n (clicked)=\"back.emit()\" />\n </div>\n } @else if (!label() && icon(); as iconName) {\n <!-- Only where no label is written. A header with one hands the icon to\n `m-header`, which draws it inside the heading's line box and so on the\n heading's own centre line. Beside a projected title there is no such\n box to borrow, so the glyph is boxed to the level's line box here and\n centred in it \u2014 otherwise it centres against the whole title column,\n which on the Canvas is the label slot's drop rect stacked above the\n heading. -->\n <div class=\"section-header__icon\">\n <m-icon [name]=\"iconName\" />\n </div>\n }\n <div\n class=\"section-header__title\"\n [class.section-header__title--reverse]=\"reverse()\"\n >\n <!-- The title slot is the catch-all rather than a `[label]` one: every\n header already projecting a heading writes it unselected, and a\n selector here would drop that content on the floor. What the design\n page emits \u2014 `<span label>` \u2014 is caught by it too, nothing else\n claiming the node. -->\n <ng-content />\n <!-- The written label, drawn beside the slot rather than as its\n `ng-content` fallback. A fallback renders only while *nothing* is\n projected, and the design Canvas always projects the slot span \u2014\n empty until a Control is dropped in it \u2014 so a fallback there would\n blank the label a header is still configured with. `label` answers\n instead, which no header projecting a title sets. -->\n @if (label()) {\n <m-header\n [level]=\"level()\"\n [label]=\"label()\"\n [icon]=\"icon()\"\n [params]=\"params()\"\n [noTranslate]=\"noTranslate()\" />\n }\n @if (subText(); as sub) {\n <span class=\"section-header__sub\">{{ sub }}</span>\n }\n </div>\n <!-- A FilterGroup projected into the header row, selected by tag rather than\n by an attribute \u2014 the same shape a Section catches its `m-action` with.\n A header has room for one icon and not for a row, so a group landing\n here is squeezed by placement (ADR 0025); nothing here enforces that,\n the caller binding `[squeeze]` on the tag it projects. -->\n <div class=\"section-header__filters\">\n <ng-content select=\"m-section-filter-group\" />\n </div>\n @if (actionConfig(); as action) {\n <div class=\"section-header__action\">\n <m-button [config]=\"action\" (clicked)=\"actionClick.emit()\" />\n </div>\n }\n @if (hasMenu()) {\n <div class=\"section-header__menu\">\n <m-context-menu\n [config]=\"menu()\"\n [name]=\"menuName()\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"action.emit($event)\"\n />\n </div>\n }\n</ng-template>\n\n<!-- Always the same two boxes, whether or not a `maxWidth` is in force. The\n border and the sticky backdrop live on the host and keep spanning the\n Section's full width; only this container narrows and is placed by the\n Section's `align`, so the heading lines up with the body under it. -->\n<div class=\"section-header__container\">\n <div class=\"section-header__inner\">\n <ng-container [ngTemplateOutlet]=\"body\" />\n </div>\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:flex;align-items:center;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);padding:var(--section-header-py, .85rem) var(--section-px, 1rem);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}:host(.spacing){padding:0;width:100%}.section-header__container{width:100%;min-width:0;max-width:var(--m-section-header-max-width, none);margin-inline:0 auto}:host(.box-center) .section-header__container{margin-inline:auto}:host(.box-right) .section-header__container{margin-inline:auto 0}.section-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.section-header__inner .section-header__title{flex:1;min-width:0;gap:.5rem}:host(.spacing) .section-header__inner{padding:1rem 1.5rem}:host(.has-sidepanel){padding-right:50px}:host(.has-sidepanel.has-menu){padding-right:50px}:host(.spacing.has-sidepanel) .section-header__inner{padding-right:calc(1.5rem + 50px)}:host(.is-sticky-enabled){position:sticky;top:0;z-index:10}:host(.is-sticky-enabled){background:color-mix(in srgb,var(--m-background) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.section-header__toggle{display:flex;flex-shrink:0}.section-header__toggle.section-header__toggle--rotate m-button{display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-header__toggle.section-header__toggle--rotate.section-header__toggle--open m-button{transform:rotate(180deg)}.section-header__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}m-header{min-width:0}.section-header__title--reverse{flex-direction:column-reverse}.section-header__sub{font-size:.8rem;color:var(--m-text-secondary);line-height:1.2}:host(.align-center){--m-header-justify: center}:host(.align-right){--m-header-justify: flex-end}:host(.has-menu){padding-right:0}:host(.spacing.has-menu) .section-header__inner{padding-right:0}.section-header__filters{display:contents}.section-header__filters m-section-filter-group{width:auto;flex-shrink:0;border-bottom:none}.section-header__back{display:flex;align-items:center;flex-shrink:0}.section-header__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-start;height:var(--m-section-header-icon-box, 1.5125rem)}.section-header__menu,.section-header__action{margin-left:auto;flex-shrink:0;display:flex;align-items:center}.section-header__action+.section-header__menu{margin-left:0}\n"] }]
9066
9124
  }], propDecorators: { sticky: [{ type: i0.Input, args: [{ isSignal: true, alias: "sticky", required: false }] }], level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], subLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "subLabel", required: false }] }], noTranslate: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTranslate", required: false }] }], params: [{ type: i0.Input, args: [{ isSignal: true, alias: "params", required: false }] }], reverse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverse", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], menu: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu", required: false }] }], menuName: [{ type: i0.Input, args: [{ isSignal: true, alias: "menuName", required: false }] }], visibilityRule: [{ type: i0.Input, args: [{ isSignal: true, alias: "visibilityRule", required: false }] }], disableRule: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableRule", required: false }] }], extraData: [{ type: i0.Input, args: [{ isSignal: true, alias: "extraData", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], showBack: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBack", required: false }] }], actionButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionButton", required: false }] }], actionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionLabel", required: false }] }], spacing: [{ type: i0.Input, args: [{ isSignal: true, alias: "spacing", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }], action: [{ type: i0.Output, args: ["action"] }], back: [{ type: i0.Output, args: ["back"] }] } });
9067
9125
 
9068
9126
  const BACK_BTN = {
@@ -9106,7 +9164,7 @@ class SectionBackComponent {
9106
9164
  <m-header [level]="3" [label]="label() ?? 'magmonium'" />
9107
9165
  }
9108
9166
  }
9109
- `, isInline: true, 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:flex;align-items:center;gap:.75rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}m-logo{flex-shrink:0;width:1.5rem;height:1.5rem}m-header{flex:1;min-width:0}:host>span{display:contents}:host.has-padding-x{padding-inline:var(--section-px, 1rem)}:host.has-padding-y{padding-block:var(--section-header-py, .85rem)}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9167
+ `, isInline: true, 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:flex;align-items:center;gap:.75rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}m-logo{flex-shrink:0;width:1.5rem;height:1.5rem}m-header{flex:1;min-width:0}:host>span{display:contents}:host.has-padding-x{padding-inline:var(--section-px, 1rem)}:host.has-padding-y{padding-block:var(--section-header-py, .85rem)}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9110
9168
  }
9111
9169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SectionBackComponent, decorators: [{
9112
9170
  type: Component,
@@ -10242,7 +10300,7 @@ class SectionSearchComponent extends BaseTextInputComponent {
10242
10300
  />
10243
10301
  </div>
10244
10302
  }
10245
- `, isInline: true, 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:flex;align-items:center;width:100%;grid-column:1/-1;box-sizing:border-box;min-height:var(--section-header-min-height, calc(var(--section-header-py, 1rem) * 2 + 1.375rem));border-bottom:1px solid var(--m-section-search-border, var(--m-backdrop-border));padding:var(--section-header-py, .75rem) var(--section-px, 1rem);--m-header-size: 1rem}:host.has-sidepanel{padding-right:50px}:host.has-results{flex-direction:column;align-items:stretch}:host(.no-border){border-bottom:none}:host(.is-sticky-enabled){position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--m-background) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.section-search__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.section-search__bar>*:not(.section-search__toggle){flex:1;min-width:0}.section-search__bar m-header{font-size:1rem}.section-search__bar .section-search__toggle{flex-shrink:0;margin-inline-start:auto;--m-button-size: 1rem !important}.section-search__field{display:flex;align-items:center;width:100%}.section-search__field m-input-clear{width:100%}.section-search__results{display:block;width:100%;padding-top:.5rem}\n"], dependencies: [{ kind: "component", type: ClearableInputComponent, selector: "m-input-clear", inputs: ["value", "config", "required", "disabled", "readonly", "invalid", "focused", "touched", "errors", "icon", "placeholder", "type", "inputId"], outputs: ["valueChange", "touchedChange"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10303
+ `, isInline: true, 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:flex;align-items:center;width:100%;grid-column:1/-1;box-sizing:border-box;min-height:var(--section-header-min-height, calc(var(--section-header-py, 1rem) * 2 + 1.375rem));border-bottom:1px solid var(--m-section-search-border, var(--m-backdrop-border));padding:var(--section-header-py, .75rem) var(--section-px, 1rem);--m-header-size: 1rem}:host.has-sidepanel{padding-right:50px}:host.has-results{flex-direction:column;align-items:stretch}:host(.no-border){border-bottom:none}:host(.is-sticky-enabled){position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--m-background) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.section-search__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.section-search__bar>*:not(.section-search__toggle){flex:1;min-width:0}.section-search__bar m-header{font-size:1rem}.section-search__bar .section-search__toggle{flex-shrink:0;margin-inline-start:auto;--m-button-size: 1rem !important}.section-search__field{display:flex;align-items:center;width:100%}.section-search__field m-input-clear{width:100%}.section-search__results{display:block;width:100%;padding-top:.5rem}\n"], dependencies: [{ kind: "component", type: ClearableInputComponent, selector: "m-input-clear", inputs: ["value", "config", "required", "disabled", "readonly", "invalid", "focused", "touched", "errors", "icon", "placeholder", "type", "inputId"], outputs: ["valueChange", "touchedChange"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10246
10304
  }
10247
10305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SectionSearchComponent, decorators: [{
10248
10306
  type: Component,
@@ -12543,7 +12601,7 @@ class SectionFilterComponent {
12543
12601
  </div>
12544
12602
  </div>
12545
12603
  </div>
12546
- `, isInline: true, 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;border-bottom:1px solid var(--m-section-filter-border, var(--m-backdrop-border))}:host(.no-border){border-bottom:none}.section-filter__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, 1rem) * 2 + 1.375rem));padding:var(--section-header-py, .75rem) var(--section-px, 1rem)}.section-filter__bar m-header{flex:1;min-width:0;font-size:1rem}.section-filter__bar .section-filter__clear{flex-shrink:0;--m-button-size: .85rem;--m-button-color: var(--m-mm);opacity:.7}.section-filter__bar .section-filter__clear:hover{opacity:1}.section-filter__bar .section-filter__toggle{flex-shrink:0;--m-button-size: 1rem !important}.section-filter__bar .section-filter__toggle.is-active{--m-button-color: var(--m-mm) !important}.section-filter__badges{display:flex;flex-wrap:wrap;gap:.375rem;flex:1;min-width:0;align-items:center}.section-filter__badges m-badge{--m-badge-size: .6rem;--m-badge-chip-padding: 0 .25em}.section-filter__badges m-badge m-button{--m-button-size: .6em;--m-button-color: var(--m-mm);opacity:.7}.section-filter__badges m-badge m-button:hover{opacity:1}.section-filter__dropdown{flex-shrink:0}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: BadgeComponent, selector: "m-badge", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "directive", type: SelectorDirective, selector: "[mSelector]", inputs: ["mSelector", "disabled"], outputs: ["opened", "closed"], exportAs: ["mSelector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12604
+ `, isInline: true, 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;border-bottom:1px solid var(--m-section-filter-border, var(--m-backdrop-border))}:host(.no-border){border-bottom:none}.section-filter__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, 1rem) * 2 + 1.375rem));padding:var(--section-header-py, .75rem) var(--section-px, 1rem)}.section-filter__bar m-header{flex:1;min-width:0;font-size:1rem}.section-filter__bar .section-filter__clear{flex-shrink:0;--m-button-size: .85rem;--m-button-color: var(--m-mm);opacity:.7}.section-filter__bar .section-filter__clear:hover{opacity:1}.section-filter__bar .section-filter__toggle{flex-shrink:0;--m-button-size: 1rem !important}.section-filter__bar .section-filter__toggle.is-active{--m-button-color: var(--m-mm) !important}.section-filter__badges{display:flex;flex-wrap:wrap;gap:.375rem;flex:1;min-width:0;align-items:center}.section-filter__badges m-badge{--m-badge-size: .6rem;--m-badge-chip-padding: 0 .25em}.section-filter__badges m-badge m-button{--m-button-size: .6em;--m-button-color: var(--m-mm);opacity:.7}.section-filter__badges m-badge m-button:hover{opacity:1}.section-filter__dropdown{flex-shrink:0}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: BadgeComponent, selector: "m-badge", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "directive", type: SelectorDirective, selector: "[mSelector]", inputs: ["mSelector", "disabled"], outputs: ["opened", "closed"], exportAs: ["mSelector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12547
12605
  }
12548
12606
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SectionFilterComponent, decorators: [{
12549
12607
  type: Component,
@@ -15883,7 +15941,7 @@ class UserComponent {
15883
15941
  }
15884
15942
  </div>
15885
15943
  </div>
15886
- `, isInline: true, 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)}}.user-profile{display:flex;align-items:flex-start;gap:.75em;padding:.25em;border-radius:.75em;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-avatar{display:flex;flex:0 0 auto}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:.15em;flex:1;min-width:0}.user-header{display:flex;align-items:center;gap:.75em;flex-wrap:wrap}.user-content{display:contents}.user-info:has(.user-content>*) .user-meta,.user-info:has(.user-content>*) .user-meta-loading{display:none}m-header{--m-header-font-size: 1em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta{display:flex;align-items:center;gap:.4em;color:var(--m-text-secondary);font-size:.8em;font-weight:600;line-height:1.2;opacity:.8}.user-meta-item{display:flex;align-items:center}.user-meta-divider{width:.2em;height:.2em;border-radius:50%;background:var(--m-text-tertiary);opacity:.4}.user-name-loading,.user-meta-loading{border-radius:.35em;background:var(--m-text-tertiary);opacity:.15;animation:user-skeleton-pulse 1.4s ease-in-out infinite}.user-name-loading{width:8em;height:1.2em}.user-meta-loading{width:5em;height:.96em}@keyframes user-skeleton-pulse{0%,to{opacity:.15}50%{opacity:.28}}\n"], dependencies: [{ kind: "component", type: UserAvatarComponent, selector: "m-user-avatar", inputs: ["user", "variant"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15944
+ `, isInline: true, 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)}}.user-profile{display:flex;align-items:flex-start;gap:.75em;padding:.25em;border-radius:.75em;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-text-fill-color:currentColor}.user-avatar{display:flex;flex:0 0 auto}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:.15em;flex:1;min-width:0}.user-header{display:flex;align-items:center;gap:.75em;flex-wrap:wrap}.user-content{display:contents}.user-info:has(.user-content>*) .user-meta,.user-info:has(.user-content>*) .user-meta-loading{display:none}m-header{--m-header-font-size: 1em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta{display:flex;align-items:center;gap:.4em;color:var(--m-text-secondary);font-size:.8em;font-weight:600;line-height:1.2;opacity:.8}.user-meta-item{display:flex;align-items:center}.user-meta-divider{width:.2em;height:.2em;border-radius:50%;background:var(--m-text-tertiary);opacity:.4}.user-name-loading,.user-meta-loading{border-radius:.35em;background:var(--m-text-tertiary);opacity:.15;animation:user-skeleton-pulse 1.4s ease-in-out infinite}.user-name-loading{width:8em;height:1.2em}.user-meta-loading{width:5em;height:.96em}@keyframes user-skeleton-pulse{0%,to{opacity:.15}50%{opacity:.28}}\n"], dependencies: [{ kind: "component", type: UserAvatarComponent, selector: "m-user-avatar", inputs: ["user", "variant"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15887
15945
  }
15888
15946
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: UserComponent, decorators: [{
15889
15947
  type: Component,
@@ -15923,7 +15981,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
15923
15981
  }
15924
15982
  </div>
15925
15983
  </div>
15926
- `, changeDetection: ChangeDetectionStrategy.OnPush, 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)}}.user-profile{display:flex;align-items:flex-start;gap:.75em;padding:.25em;border-radius:.75em;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-avatar{display:flex;flex:0 0 auto}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:.15em;flex:1;min-width:0}.user-header{display:flex;align-items:center;gap:.75em;flex-wrap:wrap}.user-content{display:contents}.user-info:has(.user-content>*) .user-meta,.user-info:has(.user-content>*) .user-meta-loading{display:none}m-header{--m-header-font-size: 1em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta{display:flex;align-items:center;gap:.4em;color:var(--m-text-secondary);font-size:.8em;font-weight:600;line-height:1.2;opacity:.8}.user-meta-item{display:flex;align-items:center}.user-meta-divider{width:.2em;height:.2em;border-radius:50%;background:var(--m-text-tertiary);opacity:.4}.user-name-loading,.user-meta-loading{border-radius:.35em;background:var(--m-text-tertiary);opacity:.15;animation:user-skeleton-pulse 1.4s ease-in-out infinite}.user-name-loading{width:8em;height:1.2em}.user-meta-loading{width:5em;height:.96em}@keyframes user-skeleton-pulse{0%,to{opacity:.15}50%{opacity:.28}}\n"] }]
15984
+ `, changeDetection: ChangeDetectionStrategy.OnPush, 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)}}.user-profile{display:flex;align-items:flex-start;gap:.75em;padding:.25em;border-radius:.75em;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-text-fill-color:currentColor}.user-avatar{display:flex;flex:0 0 auto}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:.15em;flex:1;min-width:0}.user-header{display:flex;align-items:center;gap:.75em;flex-wrap:wrap}.user-content{display:contents}.user-info:has(.user-content>*) .user-meta,.user-info:has(.user-content>*) .user-meta-loading{display:none}m-header{--m-header-font-size: 1em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta{display:flex;align-items:center;gap:.4em;color:var(--m-text-secondary);font-size:.8em;font-weight:600;line-height:1.2;opacity:.8}.user-meta-item{display:flex;align-items:center}.user-meta-divider{width:.2em;height:.2em;border-radius:50%;background:var(--m-text-tertiary);opacity:.4}.user-name-loading,.user-meta-loading{border-radius:.35em;background:var(--m-text-tertiary);opacity:.15;animation:user-skeleton-pulse 1.4s ease-in-out infinite}.user-name-loading{width:8em;height:1.2em}.user-meta-loading{width:5em;height:.96em}@keyframes user-skeleton-pulse{0%,to{opacity:.15}50%{opacity:.28}}\n"] }]
15927
15985
  }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], user: [{ type: i0.Input, args: [{ isSignal: true, alias: "user", required: false }] }], firstName: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstName", required: false }] }], lastName: [{ type: i0.Input, args: [{ isSignal: true, alias: "lastName", required: false }] }], profilePic: [{ type: i0.Input, args: [{ isSignal: true, alias: "profilePic", required: false }] }] } });
15928
15986
 
15929
15987
  const checkPassword = (value, password) => {
@@ -16923,7 +16981,7 @@ class ConfirmComponent {
16923
16981
  <m-one-button name="okay" [label]="confirmText()" (clicked)="accept()" />
16924
16982
  </div>
16925
16983
  </div>
16926
- `, isInline: true, 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)}}.confirm{display:flex;flex-direction:column;min-width:320px;max-width:440px;padding:2.5rem;background:var(--m-backdrop-modal, rgba(255, 255, 255, .85));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:0;position:relative;overflow:hidden}.confirm__header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9375rem;margin-bottom:1.5rem}.confirm__icon{width:64px;height:64px;border-radius:1.6rem;display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--m-backdrop-mm, rgba(65, 105, 225, .1));color:var(--m-mm, #4169e1)}.confirm__icon .m-icon{width:32px;height:32px}.confirm__title{margin:0;font-size:1.375rem;font-weight:700;color:var(--m-text-900);letter-spacing:-.02em}.confirm__content{text-align:center;margin-bottom:2rem}.confirm__body{margin:0;font-size:1rem;line-height:1.6;color:var(--m-text-600)}.confirm__actions{width:100%;margin-top:auto;display:flex;justify-content:center;gap:1rem}.confirm--danger .confirm__icon{background:var(--m-backdrop-error, rgba(235, 25, 26, .1));color:var(--m-error, #EB191A)}.confirm--warning .confirm__icon{background:var(--m-backdrop-warning, rgba(247, 122, 2, .1));color:var(--m-warning, #F77A02)}.confirm--success .confirm__icon{background:var(--m-backdrop-success, rgba(109, 168, 47, .1));color:var(--m-success, #6da82f)}.confirm--info .confirm__icon{background:var(--m-info-lite, rgba(3, 102, 214, .1));color:var(--m-info, #0366d6)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16984
+ `, isInline: true, 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)}}.confirm{display:flex;flex-direction:column;min-width:320px;max-width:440px;padding:2.5rem;background:var(--m-backdrop-modal, rgba(255, 255, 255, .85));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:0;position:relative;overflow:hidden}.confirm__header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9375rem;margin-bottom:1.5rem}.confirm__icon{width:64px;height:64px;border-radius:1.6rem;display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--m-backdrop-mm, rgba(65, 105, 225, .1));color:var(--m-mm, #4169e1)}.confirm__icon .m-icon{width:32px;height:32px}.confirm__title{margin:0;font-size:1.375rem;font-weight:700;color:var(--m-text-900);letter-spacing:-.02em}.confirm__content{text-align:center;margin-bottom:2rem}.confirm__body{margin:0;font-size:1rem;line-height:1.6;color:var(--m-text-600)}.confirm__actions{width:100%;margin-top:auto;display:flex;justify-content:center;gap:1rem}.confirm--danger .confirm__icon{background:var(--m-backdrop-error, rgba(235, 25, 26, .1));color:var(--m-error, #EB191A)}.confirm--warning .confirm__icon{background:var(--m-backdrop-warning, rgba(247, 122, 2, .1));color:var(--m-warning, #F77A02)}.confirm--success .confirm__icon{background:var(--m-backdrop-success, rgba(109, 168, 47, .1));color:var(--m-success, #6da82f)}.confirm--info .confirm__icon{background:var(--m-info-lite, rgba(3, 102, 214, .1));color:var(--m-info, #0366d6)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16927
16985
  }
16928
16986
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConfirmComponent, decorators: [{
16929
16987
  type: Component,
@@ -20880,7 +20938,7 @@ class WrapperInputComponent extends ConfigComponent {
20880
20938
  break;
20881
20939
  }
20882
20940
  case InputType.TOGGLE: {
20883
- const { ToggleInputComponent } = await import('./magmonium-one-toggle-tg8Tunvt.mjs');
20941
+ const { ToggleInputComponent } = await import('./magmonium-one-toggle-CFE-kU71.mjs');
20884
20942
  this.createDynamicComponent(seq, ToggleInputComponent, [], true);
20885
20943
  break;
20886
20944
  }
@@ -20892,12 +20950,12 @@ class WrapperInputComponent extends ConfigComponent {
20892
20950
  break;
20893
20951
  }
20894
20952
  case InputType.PASSWORD: {
20895
- const { PasswordInputComponent } = await import('./magmonium-one-password-iaX_F0Sl.mjs');
20953
+ const { PasswordInputComponent } = await import('./magmonium-one-password-CwOHegN8.mjs');
20896
20954
  this.createDynamicComponent(seq, PasswordInputComponent);
20897
20955
  break;
20898
20956
  }
20899
20957
  case InputType.OTP: {
20900
- const { OtpInputComponent } = await import('./magmonium-one-otp-C_Nmyg8p.mjs');
20958
+ const { OtpInputComponent } = await import('./magmonium-one-otp-COT-10lP.mjs');
20901
20959
  this.createDynamicComponent(seq, OtpInputComponent);
20902
20960
  break;
20903
20961
  }
@@ -22840,7 +22898,7 @@ class FormGroupComponent extends ConfigComponent {
22840
22898
  }
22841
22899
  }
22842
22900
  </div>
22843
- `, isInline: true, 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%}.form-group{display:flex;flex-direction:column;gap:var(--m-form-group-gap, 1.5rem)}.form-group__header{display:flex;flex-direction:column;gap:4px;margin-bottom:.5rem}.form-group__subtitle{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;opacity:.5;color:var(--mm-color, #ffd700)}.form-group__title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;opacity:.9}.form-group__content{display:flex;flex-wrap:wrap;gap:var(--m-form-group-content-gap, 1rem 1.25rem)}.form-group__content>*{flex:1 1 100%;min-width:0}.form-group__content>.col-1{flex:1 1 calc(1 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-2{flex:2 1 calc(2 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-3{flex:3 1 calc(.25*(100% + 1.25rem) - 1.25rem)}.form-group__content>.col-4{flex:4 1 calc(4 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-5{flex:5 1 calc(5 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-6{flex:6 1 calc(.5*(100% + 1.25rem) - 1.25rem)}.form-group__content>.col-7{flex:7 1 calc(7 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-8{flex:8 1 calc(8 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-9{flex:9 1 calc(.75*(100% + 1.25rem) - 1.25rem)}.form-group__content>.col-10{flex:10 1 calc(10 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-11{flex:11 1 calc(11 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-12{flex:12 1 calc(1*(100% + 1.25rem) - 1.25rem)}@media(max-width:480px){.form-group__content>*{flex-basis:100%}}:host(.m-form--compact) .form-group{gap:.5rem}:host(.m-form--compact) .form-group__content{display:block;gap:0}\n"], dependencies: [{ kind: "component", type: WrapperInputComponent, selector: "m-input-wrapper", inputs: ["remote", "value", "readonly", "state", "focused", "form", "options", "dir", "element", "data", "template", "placeholder", "aclResolver", "formValues"], outputs: ["valueChange", "stateChange", "act", "fieldKey", "fieldType"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22901
+ `, isInline: true, 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%}.form-group{display:flex;flex-direction:column;gap:var(--m-form-group-gap, 1.5rem)}.form-group__header{display:flex;flex-direction:column;gap:4px;margin-bottom:.5rem}.form-group__subtitle{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;opacity:.5;color:var(--mm-color, #ffd700)}.form-group__title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;opacity:.9}.form-group__content{display:flex;flex-wrap:wrap;gap:var(--m-form-group-content-gap, 1rem 1.25rem)}.form-group__content>*{flex:1 1 100%;min-width:0}.form-group__content>.col-1{flex:1 1 calc(1 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-2{flex:2 1 calc(2 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-3{flex:3 1 calc(.25*(100% + 1.25rem) - 1.25rem)}.form-group__content>.col-4{flex:4 1 calc(4 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-5{flex:5 1 calc(5 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-6{flex:6 1 calc(.5*(100% + 1.25rem) - 1.25rem)}.form-group__content>.col-7{flex:7 1 calc(7 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-8{flex:8 1 calc(8 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-9{flex:9 1 calc(.75*(100% + 1.25rem) - 1.25rem)}.form-group__content>.col-10{flex:10 1 calc(10 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-11{flex:11 1 calc(11 * (100% + 1.25rem) / 12 - 1.25rem)}.form-group__content>.col-12{flex:12 1 calc(1*(100% + 1.25rem) - 1.25rem)}@media(max-width:480px){.form-group__content>*{flex-basis:100%}}:host(.m-form--compact) .form-group{gap:.5rem}:host(.m-form--compact) .form-group__content{display:block;gap:0}\n"], dependencies: [{ kind: "component", type: WrapperInputComponent, selector: "m-input-wrapper", inputs: ["remote", "value", "readonly", "state", "focused", "form", "options", "dir", "element", "data", "template", "placeholder", "aclResolver", "formValues"], outputs: ["valueChange", "stateChange", "act", "fieldKey", "fieldType"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22844
22902
  }
22845
22903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormGroupComponent, decorators: [{
22846
22904
  type: Component,
@@ -23642,7 +23700,7 @@ class DashboardCardComponent {
23642
23700
  this.hasFooter.set(hasFooterSlot);
23643
23701
  }
23644
23702
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DashboardCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23645
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DashboardCardComponent, isStandalone: true, selector: "m-dashboard-card, m-one-dashboard-card", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, buttonGroup: { classPropertyName: "buttonGroup", publicName: "buttonGroup", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.no-footer": "!hasFooter()" } }, ngImport: i0, template: "<m-card variant=\"dashboard\">\n @if (title() || icon() || buttonGroup()) {\n <div slot=\"header\" class=\"m-dashboard-card__header\">\n <div class=\"m-dashboard-card__header-left\">\n @if (icon()) {\n <m-icon [name]=\"icon()!\" color=\"mm\" />\n }\n @if (title()) {\n <m-header [level]=\"4\" color=\"textSecondary\">{{ title()! | translate }}</m-header>\n }\n <ng-content select=\"[slot=header]\"></ng-content>\n </div>\n\n @if (buttonGroup()) {\n <div class=\"m-dashboard-card__header-right\">\n <m-button-group [name]=\"buttonGroup()!\" [config]=\"{ isContext: true }\" />\n </div>\n }\n </div>\n }\n\n <div slot=\"content\" class=\"m-dashboard-card__body\">\n <ng-content select=\"[slot=content]\"></ng-content>\n <ng-content></ng-content>\n </div>\n\n @if (hasFooter()) {\n <div slot=\"footer\" class=\"m-dashboard-card__footer\">\n <ng-content select=\"[slot=footer]\"></ng-content>\n </div>\n }\n</m-card>\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%}.m-dashboard-card__header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.m-dashboard-card__header-left{display:flex;flex-direction:row;align-items:center;gap:1rem}.m-dashboard-card__header-left m-header,.m-dashboard-card__header-left h1,.m-dashboard-card__header-left h2,.m-dashboard-card__header-left h3,.m-dashboard-card__header-left h4,.m-dashboard-card__header-left h5,.m-dashboard-card__header-left h6{margin:0;padding:0;display:inline-flex;align-items:center}.m-dashboard-card__header-left m-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:var(--m-background-lite);color:var(--m-mm);border:1px solid var(--m-border);box-shadow:0 4px 10px #00000008}.m-dashboard-card__header-right{display:flex;align-items:center;margin-left:auto}.m-dashboard-card__body,.m-dashboard-card__footer{width:100%;display:block}:host.no-footer .m-dashboard-card__body{padding-bottom:.75rem}\n"], dependencies: [{ kind: "component", type: CardComponent, selector: "m-card,m-one-card", inputs: ["variant", "spacing", "fullHeight", "padding", "href", "clickable"], outputs: ["clicked"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23703
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DashboardCardComponent, isStandalone: true, selector: "m-dashboard-card, m-one-dashboard-card", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, buttonGroup: { classPropertyName: "buttonGroup", publicName: "buttonGroup", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.no-footer": "!hasFooter()" } }, ngImport: i0, template: "<m-card variant=\"dashboard\">\n @if (title() || icon() || buttonGroup()) {\n <div slot=\"header\" class=\"m-dashboard-card__header\">\n <div class=\"m-dashboard-card__header-left\">\n @if (icon()) {\n <m-icon [name]=\"icon()!\" color=\"mm\" />\n }\n @if (title()) {\n <m-header [level]=\"4\" color=\"textSecondary\">{{ title()! | translate }}</m-header>\n }\n <ng-content select=\"[slot=header]\"></ng-content>\n </div>\n\n @if (buttonGroup()) {\n <div class=\"m-dashboard-card__header-right\">\n <m-button-group [name]=\"buttonGroup()!\" [config]=\"{ isContext: true }\" />\n </div>\n }\n </div>\n }\n\n <div slot=\"content\" class=\"m-dashboard-card__body\">\n <ng-content select=\"[slot=content]\"></ng-content>\n <ng-content></ng-content>\n </div>\n\n @if (hasFooter()) {\n <div slot=\"footer\" class=\"m-dashboard-card__footer\">\n <ng-content select=\"[slot=footer]\"></ng-content>\n </div>\n }\n</m-card>\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%}.m-dashboard-card__header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.m-dashboard-card__header-left{display:flex;flex-direction:row;align-items:center;gap:1rem}.m-dashboard-card__header-left m-header,.m-dashboard-card__header-left h1,.m-dashboard-card__header-left h2,.m-dashboard-card__header-left h3,.m-dashboard-card__header-left h4,.m-dashboard-card__header-left h5,.m-dashboard-card__header-left h6{margin:0;padding:0;display:inline-flex;align-items:center}.m-dashboard-card__header-left m-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:var(--m-background-lite);color:var(--m-mm);border:1px solid var(--m-border);box-shadow:0 4px 10px #00000008}.m-dashboard-card__header-right{display:flex;align-items:center;margin-left:auto}.m-dashboard-card__body,.m-dashboard-card__footer{width:100%;display:block}:host.no-footer .m-dashboard-card__body{padding-bottom:.75rem}\n"], dependencies: [{ kind: "component", type: CardComponent, selector: "m-card,m-one-card", inputs: ["variant", "spacing", "fullHeight", "padding", "href", "clickable"], outputs: ["clicked"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23646
23704
  }
23647
23705
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DashboardCardComponent, decorators: [{
23648
23706
  type: Component,
@@ -27472,7 +27530,7 @@ class TreeGridComponent extends ConfigComponent {
27472
27530
  </table>
27473
27531
  </div>
27474
27532
  </div>
27475
- `, isInline: true, 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)}}.m-table{display:flex;flex-direction:column;border:1px solid var(--m-backdrop-border);border-radius:12px;overflow:clip;background:#ffffffe6;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);position:relative;transition:background-color .3s ease}.m-table--flat{border:none;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}.m-table__toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1.5rem var(--m-table-toolbar-padding-x, 1.25rem);border-bottom:1px solid var(--m-backdrop-border);gap:1.5rem;background:color-mix(in srgb,var(--m-background) 45%,transparent)}.m-table--flat .m-table__toolbar{background:transparent;padding-left:0;padding-right:0}.m-table__title{margin:0;font-size:1.25rem;font-weight:800;color:var(--m-text);letter-spacing:-.02em;flex:1}.m-table__search{flex:0 1 auto;display:flex;align-items:center}.m-table__search .m-input-wrapper{width:100%}.m-table__mobile-view{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;flex:1;overflow:auto}.m-table__empty-mobile{padding:3rem 1.5rem;text-align:center;color:var(--m-text-tertiary);font-size:.9375rem;font-weight:500;font-style:italic;opacity:.8;background:color-mix(in srgb,var(--m-background) 20%,transparent);border-radius:12px;border:1px dashed var(--m-backdrop-border)}.m-table__wrapper{overflow:auto;flex:1}.m-table__wrapper::-webkit-scrollbar{width:6px;height:6px}.m-table__wrapper::-webkit-scrollbar-track{background:transparent}.m-table__wrapper::-webkit-scrollbar-thumb{background:var(--m-backdrop-border);border-radius:10px}.m-table__wrapper::-webkit-scrollbar-thumb:hover{background:var(--m-text-tertiary)}.m-table__table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}mark.m-table__highlight{background:var(--m-highlight);color:#000;border-radius:2px;padding:0 2px;font-weight:700;box-shadow:0 1px 4px #0003}mark.m-table__highlight .m-one-pagination{margin-left:auto;--m-button-size: 2.25rem;--m-pagination-gap: .375rem}.m-table-pagination{display:flex;align-items:center;gap:1.5rem;padding:1.25rem var(--m-table-pagination-padding-x, 1.25rem);border-top:1px solid var(--m-backdrop-border);font-size:.8125rem;flex-wrap:wrap;background:color-mix(in srgb,var(--m-background) 40%,transparent)}.m-table--flat .m-table-pagination{background:transparent;padding-left:0;padding-right:0}.m-table-pagination__size{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;color:var(--m-text-secondary);font-weight:500}.m-table-pagination__select{border:1px solid var(--m-backdrop-border);border-radius:8px;background:var(--m-backdrop-surface);color:var(--m-text);padding:.375rem .625rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.m-table-pagination__select:hover{background:var(--m-backdrop-glass);border-color:var(--m-mm);box-shadow:0 0 0 3px color-mix(in srgb,var(--m-mm) 10%,transparent)}.m-table-pagination__select:focus{border-color:var(--m-mm);box-shadow:0 0 0 3px color-mix(in srgb,var(--m-mm) 20%,transparent)}.m-table-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:1rem 1.25rem;background:color-mix(in srgb,var(--m-background-lite) 60%,transparent);border-bottom:1px solid var(--m-backdrop-border);box-shadow:inset 0 2px 4px #00000005;overflow-x:auto;scrollbar-width:none}.m-table-filter::-webkit-scrollbar{display:none}.m-table--flat .m-table-filter{background:transparent;padding-left:0;padding-right:0;border-bottom:none}.m-table-filter__item{display:flex;align-items:center;gap:10px;padding:.4375rem 1rem;border-radius:12px;background:var(--m-background);border:1px solid var(--m-backdrop-border);color:var(--m-text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none;font-weight:500}.m-table-filter__item:hover{border-color:var(--m-mm);color:var(--m-mm);background:var(--m-background);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.m-table-filter__item--active{background:var(--m-mm);border-color:var(--m-mm);color:var(--m-inverse-text);font-weight:600;box-shadow:0 8px 16px color-mix(in srgb,var(--m-mm) 25%,transparent)}.m-table-filter__item--active:hover{background:var(--m-mm);border-color:var(--m-mm);color:var(--m-inverse-text);transform:translateY(-1px)}.m-table-filter__item--active .m-table-filter__badge{background:#fff3;color:var(--m-inverse-text);border-color:#ffffff1a}.m-table-filter__item--primary{background:var(--m-mm);border-color:var(--m-mm);color:var(--m-inverse-text);font-weight:600;box-shadow:0 8px 16px color-mix(in srgb,var(--m-mm) 25%,transparent)}.m-table-filter__item--primary:hover{background:var(--m-mm);border-color:var(--m-mm);color:var(--m-inverse-text);transform:translateY(-1px);box-shadow:0 10px 20px color-mix(in srgb,var(--m-mm) 30%,transparent)}.m-table-filter__item--primary .m-table-filter__badge{background:#fff3;color:var(--m-inverse-text);border-color:#ffffff1a}.m-table-filter__item--danger{border-color:var(--m-error);color:var(--m-error)}.m-table-filter__item--danger:hover{border-color:var(--m-error);color:var(--m-error);background:var(--m-backdrop-error);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--m-error) 12%,transparent)}.m-table-filter__item--danger .m-table-filter__badge{background:var(--m-backdrop-error);color:var(--m-error);border-color:color-mix(in srgb,var(--m-error) 20%,transparent)}.m-table-filter__label{font-size:.8125rem;font-weight:600;letter-spacing:.01em}.m-table-filter__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:100px;background:var(--m-backdrop-surface);color:var(--m-text-secondary);font-size:.6875rem;font-weight:700;border:1px solid var(--m-backdrop-border);transition:all .2s ease}.m-table-thead__th{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--m-background) 95%,transparent);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);padding:1.25rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--m-text-tertiary);border-bottom:2px solid var(--m-backdrop-border);white-space:nowrap;transition:all .2s ease}.m-table-thead__th:hover{color:var(--m-text);background:var(--m-background)}@media(min-width:769px){.m-table-thead__th--fixed{z-index:20;background:var(--m-background)}}@media(max-width:768px){.m-table-thead__th--fixed{position:static;z-index:auto}}.m-table-thead__th--fixed{border-right:none}@media(min-width:769px){.m-table-thead__th--fixed-last{border-right:1px solid var(--m-backdrop-border)}}@media(max-width:768px){.m-table-thead__th--fixed-last{border-right:none}}.m-table-thead__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.m-table-thead__th--select{width:48px;min-width:48px;max-width:48px;padding:0 1rem;text-align:center}.m-table-thead__th--select input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--m-mm);border-radius:3px;display:block;margin:0 auto}.m-table-thead__cell{display:flex;align-items:center;gap:.5rem}.m-table-thead__sort-icon{color:var(--m-mm);opacity:.6;transition:opacity .2s ease}.m-table-thead__th:hover .m-table-thead__sort-icon{opacity:1}.m-table-thead__menu-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-left:auto;border:none;background:transparent;cursor:pointer;color:var(--m-text-tertiary);border-radius:6px;opacity:0;transition:all .15ms ease}.m-table-thead__menu-btn:hover{background:var(--m-backdrop-surface);color:var(--m-text)}.m-table-thead__th:hover .m-table-thead__menu-btn{opacity:1}.m-table-body__row{transition:background-color .3s cubic-bezier(.4,0,.2,1);position:relative}.m-table-body__row:hover{background:color-mix(in srgb,var(--m-mm) 5%,transparent)}.m-table-body__row:hover .m-table-body__cell{background:inherit}.m-table-body__cell{padding:1rem 1.25rem;font-size:.875rem;color:var(--m-text);border-bottom:1px solid var(--m-backdrop-border);white-space:nowrap;vertical-align:middle;background:transparent;transition:background-color .3s ease}.m-table-body__cell[class*=--number],.m-table-body__cell[class*=--currency],.m-table-body__cell[class*=--percent]{font-family:Inter,Roboto Mono,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.01em}@media(min-width:769px){.m-table-body__cell--fixed{position:sticky;background:var(--m-background);z-index:5}}@media(max-width:768px){.m-table-body__cell--fixed{position:static;background:transparent;z-index:auto}}.m-table-body__cell--fixed{border-right:none;transition:background-color .3s ease}.m-table-body__row:hover .m-table-body__cell--fixed{background:color-mix(in srgb,var(--m-mm) 5%,var(--m-background));z-index:6}@media(min-width:769px){.m-table-body__cell--fixed-last{border-right:1px solid var(--m-backdrop-border)}}@media(max-width:768px){.m-table-body__cell--fixed-last{border-right:none}}.m-table-body__cell--context-menu{padding-top:.35rem;padding-bottom:.35rem}.m-table-body__cell--select{width:48px;min-width:48px;max-width:48px;padding:0 1rem;text-align:center}.m-table-body__cell--select input[type=checkbox],.m-table-body__cell--select input[type=radio]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--m-mm);display:block;margin:0 auto}.m-table-body__input{border:none;border-bottom:2px solid var(--m-backdrop-border);background:transparent;font-size:.875rem;color:var(--m-text);padding:.25rem;outline:none;width:100%;transition:border-bottom-color .2s ease}.m-table-body__input:focus{border-bottom-color:var(--m-mm)}.m-table-body__action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;cursor:pointer;color:var(--m-text-tertiary);border-radius:8px;transition:all .2s ease}.m-table-body__action-btn:hover{background:var(--m-backdrop-surface);color:var(--m-text)}.m-table-body__empty{text-align:center;padding:4rem;color:var(--m-text-tertiary);font-size:1rem;font-weight:500;letter-spacing:.02em;font-style:italic;opacity:.7}.m-table-body__link{color:var(--m-mm);text-decoration:none;cursor:pointer;font-weight:600;transition:color .2s ease}.m-table-body__link:hover{text-decoration:underline;color:var(--m-mm-lite)}.m-table-body__value{padding:.25rem .5rem;border-radius:6px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.m-table-body__value--positive{color:var(--m-success);background:var(--m-backdrop-success)}.m-table-body__value--negative{color:var(--m-error);background:var(--m-backdrop-error)}.m-table-body__dash{color:var(--m-text-tertiary);font-weight:400;font-style:italic;opacity:.8}.m-tree-grid{--m-tree-grid-icon: .75rem}.m-tree-grid .m-table-thead__th,.m-tree-grid .m-table-body__cell{padding:.375rem .5rem}.m-tree-grid .m-table-thead__th{font-size:.6875rem;letter-spacing:.06em;border-bottom-width:1px}.m-tree-grid__tree-cell{display:flex;align-items:center;gap:0;min-width:0}.m-tree-grid__indent{flex:0 0 auto;width:calc(var(--m-tree-grid-depth, 0) * var(--m-tree-grid-indent, var(--m-tree-grid-icon)))}.m-tree-grid__toggle{flex:0 0 auto;width:var(--m-tree-grid-icon);height:var(--m-tree-grid-icon);display:inline-flex;align-items:center;justify-content:center}.m-tree-grid__toggle m-button{--m-button-size: .333rem}.m-tree-grid__toggle-spacer{width:var(--m-tree-grid-icon);height:var(--m-tree-grid-icon);flex:0 0 auto}.m-tree-grid__lead-icon{flex:0 0 auto;display:inline-flex;align-items:center;margin-left:.125rem;opacity:.75}.m-tree-grid__lead-icon m-icon{--m-icon-size: .75rem}.m-tree-grid__label{min-width:0;margin-left:.25rem;overflow:hidden;text-overflow:ellipsis;font-size:.875em;line-height:1.25}.m-tree-grid .m-table-body__row{cursor:pointer}.m-tree-grid .m-table-body__row--selected{background:color-mix(in srgb,var(--m-mm) 12%,transparent)}.m-tree-grid .m-table__toolbar{padding:.5rem;background:var(--m-background)}.m-tree-grid .m-table__search{flex:1 1 auto;width:100%}.m-tree-grid .m-table__search m-input-wrapper,.m-tree-grid .m-table__search .m-input-wrapper{width:100%}.m-tree-grid__match{background:var(--m-highlight);padding:0;color:inherit;border-radius:2px}\n"], dependencies: [{ kind: "component", type: TableHeaderComponent, selector: "m-table-header", inputs: ["visibleColumns", "fixedCount", "fixedOffset", "sortState", "selectable", "allSelected", "someSelected"], outputs: ["sortClick", "selectAll"] }, { kind: "component", type: FreezeComponent, selector: "m-freeze", inputs: ["config"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: ContextMenuComponent, selector: "m-context-menu, m-one-context-menu", inputs: ["toggle", "remote", "exclude", "visibilityRule", "disableRule", "extraData", "inverted", "options"], outputs: ["toggleChange", "action"] }, { kind: "component", type: WrapperInputComponent, selector: "m-input-wrapper", inputs: ["remote", "value", "readonly", "state", "focused", "form", "options", "dir", "element", "data", "template", "placeholder", "aclResolver", "formValues"], outputs: ["valueChange", "stateChange", "act", "fieldKey", "fieldType"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
27533
+ `, isInline: true, 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)}}.m-table{display:flex;flex-direction:column;border:1px solid var(--m-backdrop-border);border-radius:12px;overflow:clip;background:#ffffffe6;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);position:relative;transition:background-color .3s ease}.m-table--flat{border:none;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}.m-table__toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1.5rem var(--m-table-toolbar-padding-x, 1.25rem);border-bottom:1px solid var(--m-backdrop-border);gap:1.5rem;background:color-mix(in srgb,var(--m-background) 45%,transparent)}.m-table--flat .m-table__toolbar{background:transparent;padding-left:0;padding-right:0}.m-table__title{margin:0;font-size:1.25rem;font-weight:800;color:var(--m-text);letter-spacing:-.02em;flex:1}.m-table__search{flex:0 1 auto;display:flex;align-items:center}.m-table__search .m-input-wrapper{width:100%}.m-table__mobile-view{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;flex:1;overflow:auto}.m-table__empty-mobile{padding:3rem 1.5rem;text-align:center;color:var(--m-text-tertiary);font-size:.9375rem;font-weight:500;font-style:italic;opacity:.8;background:color-mix(in srgb,var(--m-background) 20%,transparent);border-radius:12px;border:1px dashed var(--m-backdrop-border)}.m-table__wrapper{overflow:auto;flex:1}.m-table__wrapper::-webkit-scrollbar{width:6px;height:6px}.m-table__wrapper::-webkit-scrollbar-track{background:transparent}.m-table__wrapper::-webkit-scrollbar-thumb{background:var(--m-backdrop-border);border-radius:10px}.m-table__wrapper::-webkit-scrollbar-thumb:hover{background:var(--m-text-tertiary)}.m-table__table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}mark.m-table__highlight{background:var(--m-highlight);color:#000;border-radius:2px;padding:0 2px;font-weight:700;box-shadow:0 1px 4px #0003}mark.m-table__highlight .m-one-pagination{margin-left:auto;--m-button-size: 2.25rem;--m-pagination-gap: .375rem}.m-table-pagination{display:flex;align-items:center;gap:1.5rem;padding:1.25rem var(--m-table-pagination-padding-x, 1.25rem);border-top:1px solid var(--m-backdrop-border);font-size:.8125rem;flex-wrap:wrap;background:color-mix(in srgb,var(--m-background) 40%,transparent)}.m-table--flat .m-table-pagination{background:transparent;padding-left:0;padding-right:0}.m-table-pagination__size{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;color:var(--m-text-secondary);font-weight:500}.m-table-pagination__select{border:1px solid var(--m-backdrop-border);border-radius:8px;background:var(--m-backdrop-surface);color:var(--m-text);padding:.375rem .625rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.m-table-pagination__select:hover{background:var(--m-backdrop-glass);border-color:var(--m-mm);box-shadow:0 0 0 3px color-mix(in srgb,var(--m-mm) 10%,transparent)}.m-table-pagination__select:focus{border-color:var(--m-mm);box-shadow:0 0 0 3px color-mix(in srgb,var(--m-mm) 20%,transparent)}.m-table-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:1rem 1.25rem;background:color-mix(in srgb,var(--m-background-lite) 60%,transparent);border-bottom:1px solid var(--m-backdrop-border);box-shadow:inset 0 2px 4px #00000005;overflow-x:auto;scrollbar-width:none}.m-table-filter::-webkit-scrollbar{display:none}.m-table--flat .m-table-filter{background:transparent;padding-left:0;padding-right:0;border-bottom:none}.m-table-filter__item{display:flex;align-items:center;gap:10px;padding:.4375rem 1rem;border-radius:12px;background:var(--m-background);border:1px solid var(--m-backdrop-border);color:var(--m-text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none;font-weight:500}.m-table-filter__item:hover{border-color:var(--m-mm);color:var(--m-mm);background:var(--m-background);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.m-table-filter__item--active{background:var(--m-mm);border-color:var(--m-mm);color:var(--m-inverse-text);font-weight:600;box-shadow:0 8px 16px color-mix(in srgb,var(--m-mm) 25%,transparent)}.m-table-filter__item--active:hover{background:var(--m-mm);border-color:var(--m-mm);color:var(--m-inverse-text);transform:translateY(-1px)}.m-table-filter__item--active .m-table-filter__badge{background:#fff3;color:var(--m-inverse-text);border-color:#ffffff1a}.m-table-filter__item--primary{background:var(--m-mm);border-color:var(--m-mm);color:var(--m-inverse-text);font-weight:600;box-shadow:0 8px 16px color-mix(in srgb,var(--m-mm) 25%,transparent)}.m-table-filter__item--primary:hover{background:var(--m-mm);border-color:var(--m-mm);color:var(--m-inverse-text);transform:translateY(-1px);box-shadow:0 10px 20px color-mix(in srgb,var(--m-mm) 30%,transparent)}.m-table-filter__item--primary .m-table-filter__badge{background:#fff3;color:var(--m-inverse-text);border-color:#ffffff1a}.m-table-filter__item--danger{border-color:var(--m-error);color:var(--m-error)}.m-table-filter__item--danger:hover{border-color:var(--m-error);color:var(--m-error);background:var(--m-backdrop-error);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--m-error) 12%,transparent)}.m-table-filter__item--danger .m-table-filter__badge{background:var(--m-backdrop-error);color:var(--m-error);border-color:color-mix(in srgb,var(--m-error) 20%,transparent)}.m-table-filter__label{font-size:.8125rem;font-weight:600;letter-spacing:.01em}.m-table-filter__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:100px;background:var(--m-backdrop-surface);color:var(--m-text-secondary);font-size:.6875rem;font-weight:700;border:1px solid var(--m-backdrop-border);transition:all .2s ease}.m-table-thead__th{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--m-background) 95%,transparent);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);padding:1.25rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--m-text-tertiary);border-bottom:2px solid var(--m-backdrop-border);white-space:nowrap;transition:all .2s ease}.m-table-thead__th:hover{color:var(--m-text);background:var(--m-background)}@media(min-width:769px){.m-table-thead__th--fixed{z-index:20;background:var(--m-background)}}@media(max-width:768px){.m-table-thead__th--fixed{position:static;z-index:auto}}.m-table-thead__th--fixed{border-right:none}@media(min-width:769px){.m-table-thead__th--fixed-last{border-right:1px solid var(--m-backdrop-border)}}@media(max-width:768px){.m-table-thead__th--fixed-last{border-right:none}}.m-table-thead__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.m-table-thead__th--select{width:48px;min-width:48px;max-width:48px;padding:0 1rem;text-align:center}.m-table-thead__th--select input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--m-mm);border-radius:3px;display:block;margin:0 auto}.m-table-thead__cell{display:flex;align-items:center;gap:.5rem}.m-table-thead__sort-icon{color:var(--m-mm);opacity:.6;transition:opacity .2s ease}.m-table-thead__th:hover .m-table-thead__sort-icon{opacity:1}.m-table-thead__menu-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-left:auto;border:none;background:transparent;cursor:pointer;color:var(--m-text-tertiary);border-radius:6px;opacity:0;transition:all .15ms ease}.m-table-thead__menu-btn:hover{background:var(--m-backdrop-surface);color:var(--m-text)}.m-table-thead__th:hover .m-table-thead__menu-btn{opacity:1}.m-table-body__row{transition:background-color .3s cubic-bezier(.4,0,.2,1);position:relative}.m-table-body__row:hover{background:color-mix(in srgb,var(--m-mm) 5%,transparent)}.m-table-body__row:hover .m-table-body__cell{background:inherit}.m-table-body__cell{padding:1rem 1.25rem;font-size:.875rem;color:var(--m-text);border-bottom:1px solid var(--m-backdrop-border);white-space:nowrap;vertical-align:middle;background:transparent;transition:background-color .3s ease}.m-table-body__cell[class*=--number],.m-table-body__cell[class*=--currency],.m-table-body__cell[class*=--percent]{font-family:Inter,Roboto Mono,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.01em}@media(min-width:769px){.m-table-body__cell--fixed{position:sticky;background:var(--m-background);z-index:5}}@media(max-width:768px){.m-table-body__cell--fixed{position:static;background:transparent;z-index:auto}}.m-table-body__cell--fixed{border-right:none;transition:background-color .3s ease}.m-table-body__row:hover .m-table-body__cell--fixed{background:color-mix(in srgb,var(--m-mm) 5%,var(--m-background));z-index:6}@media(min-width:769px){.m-table-body__cell--fixed-last{border-right:1px solid var(--m-backdrop-border)}}@media(max-width:768px){.m-table-body__cell--fixed-last{border-right:none}}.m-table-body__cell--context-menu{padding-top:.35rem;padding-bottom:.35rem}.m-table-body__cell--select{width:48px;min-width:48px;max-width:48px;padding:0 1rem;text-align:center}.m-table-body__cell--select input[type=checkbox],.m-table-body__cell--select input[type=radio]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--m-mm);display:block;margin:0 auto}.m-table-body__input{border:none;border-bottom:2px solid var(--m-backdrop-border);background:transparent;font-size:.875rem;color:var(--m-text);padding:.25rem;outline:none;width:100%;transition:border-bottom-color .2s ease}.m-table-body__input:focus{border-bottom-color:var(--m-mm)}.m-table-body__action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;cursor:pointer;color:var(--m-text-tertiary);border-radius:8px;transition:all .2s ease}.m-table-body__action-btn:hover{background:var(--m-backdrop-surface);color:var(--m-text)}.m-table-body__empty{text-align:center;padding:4rem;color:var(--m-text-tertiary);font-size:1rem;font-weight:500;letter-spacing:.02em;font-style:italic;opacity:.7}.m-table-body__link{color:var(--m-mm);text-decoration:none;cursor:pointer;font-weight:600;transition:color .2s ease}.m-table-body__link:hover{text-decoration:underline;color:var(--m-mm-lite)}.m-table-body__value{padding:.25rem .5rem;border-radius:6px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.m-table-body__value--positive{color:var(--m-success);background:var(--m-backdrop-success)}.m-table-body__value--negative{color:var(--m-error);background:var(--m-backdrop-error)}.m-table-body__dash{color:var(--m-text-tertiary);font-weight:400;font-style:italic;opacity:.8}.m-tree-grid{--m-tree-grid-icon: .75rem}.m-tree-grid .m-table-thead__th,.m-tree-grid .m-table-body__cell{padding:.375rem .5rem}.m-tree-grid .m-table-thead__th{font-size:.6875rem;letter-spacing:.06em;border-bottom-width:1px}.m-tree-grid__tree-cell{display:flex;align-items:center;gap:0;min-width:0}.m-tree-grid__indent{flex:0 0 auto;width:calc(var(--m-tree-grid-depth, 0) * var(--m-tree-grid-indent, var(--m-tree-grid-icon)))}.m-tree-grid__toggle{flex:0 0 auto;width:var(--m-tree-grid-icon);height:var(--m-tree-grid-icon);display:inline-flex;align-items:center;justify-content:center}.m-tree-grid__toggle m-button{--m-button-size: .333rem}.m-tree-grid__toggle-spacer{width:var(--m-tree-grid-icon);height:var(--m-tree-grid-icon);flex:0 0 auto}.m-tree-grid__lead-icon{flex:0 0 auto;display:inline-flex;align-items:center;margin-left:.125rem;opacity:.75}.m-tree-grid__lead-icon m-icon{--m-icon-size: .75rem}.m-tree-grid__label{min-width:0;margin-left:.25rem;overflow:hidden;text-overflow:ellipsis;font-size:.875em;line-height:1.25}.m-tree-grid .m-table-body__row{cursor:pointer}.m-tree-grid .m-table-body__row--selected{background:color-mix(in srgb,var(--m-mm) 12%,transparent)}.m-tree-grid .m-table__toolbar{padding:.5rem;background:var(--m-background)}.m-tree-grid .m-table__search{flex:1 1 auto;width:100%}.m-tree-grid .m-table__search m-input-wrapper,.m-tree-grid .m-table__search .m-input-wrapper{width:100%}.m-tree-grid__match{background:var(--m-highlight);padding:0;color:inherit;border-radius:2px}\n"], dependencies: [{ kind: "component", type: TableHeaderComponent, selector: "m-table-header", inputs: ["visibleColumns", "fixedCount", "fixedOffset", "sortState", "selectable", "allSelected", "someSelected"], outputs: ["sortClick", "selectAll"] }, { kind: "component", type: FreezeComponent, selector: "m-freeze", inputs: ["config"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: ContextMenuComponent, selector: "m-context-menu, m-one-context-menu", inputs: ["toggle", "remote", "exclude", "visibilityRule", "disableRule", "extraData", "inverted", "options"], outputs: ["toggleChange", "action"] }, { kind: "component", type: WrapperInputComponent, selector: "m-input-wrapper", inputs: ["remote", "value", "readonly", "state", "focused", "form", "options", "dir", "element", "data", "template", "placeholder", "aclResolver", "formValues"], outputs: ["valueChange", "stateChange", "act", "fieldKey", "fieldType"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
27476
27534
  }
27477
27535
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TreeGridComponent, decorators: [{
27478
27536
  type: Component,
@@ -27919,7 +27977,7 @@ class SummaryComponent extends ConfigComponent {
27919
27977
  return typeof value === 'string' ? parseFloat(value) : value;
27920
27978
  }
27921
27979
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SummaryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
27922
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SummaryComponent, isStandalone: true, selector: "m-summary, m-one-summary", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClicked: "actionClicked" }, usesInheritance: true, ngImport: i0, template: "@if (effectiveData(); as d) {\n <div class=\"m-summary\">\n <m-one-card variant=\"dashboard\" spacing=\"compact\">\n <div slot=\"header\" class=\"m-summary__header\">\n @if (d.badges?.length) {\n <div class=\"m-summary__badges\">\n @for (badge of d.badges; track $index) {\n <span class=\"m-summary__badge\">{{ badge | translate }}</span>\n }\n </div>\n }\n <div class=\"m-summary__header-text\">\n <div class=\"m-summary__title-group\">\n @if (d.icon) {\n <div class=\"m-summary__icon\">\n <m-icon [name]=\"d.icon\" [remote]=\"remote() ?? config()?.remote\" />\n </div>\n }\n <m-header [level]=\"2\">{{ d.title | translate }}</m-header>\n </div>\n @if (d.subtitle) {\n <p class=\"m-summary__subtitle\">{{ d.subtitle | translate }}</p>\n }\n </div>\n </div>\n\n <div slot=\"content\" class=\"m-summary__content\">\n @if (d.rows?.length) {\n <div class=\"m-summary__rows\">\n @for (row of d.rows; track $index) {\n <div\n class=\"m-summary__row {{ row.class || '' }}\"\n [class.m-summary__row--type-percentage]=\"row.type === 'percentage'\"\n >\n <div class=\"m-summary__row-accent\"></div>\n <div class=\"m-summary__row-content\">\n <span class=\"m-summary__row-label\">{{ row.label | translate }}</span>\n <span class=\"m-summary__row-value\">\n @switch (row.type) {\n @case ('money') {\n {{ asNumber(row.value) | money }}\n }\n @case ('percentage') {\n {{ asNumber(row.value) | number: '1.2-2' }}%\n }\n @case ('number') {\n {{ asNumber(row.value) | number }}\n }\n @default {\n {{ row.value }}\n }\n }\n </span>\n </div>\n </div>\n }\n </div>\n }\n </div>\n\n <div slot=\"footer\" class=\"m-summary__actions\">\n @for (action of d.actions; track $index) {\n @if (action.isGroup) {\n <m-button-group\n [name]=\"action.name\"\n [one]=\"false\"\n [remote]=\"remote() ?? config()?.remote\"\n (clicked)=\"onActionClick({ ...action, name: $event?.name ?? '' })\"\n />\n } @else {\n <m-button\n [name]=\"action.name\"\n [nav]=\"action.nav\"\n [navParams]=\"action.navParams\"\n [variant]=\"action.variant\"\n [remote]=\"remote() ?? config()?.remote\"\n (clicked)=\"onActionClick(action)\"\n />\n }\n }\n </div>\n </m-one-card>\n </div>\n}\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 summary-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;flex:1;--summary-accent: var(--m-mm);--summary-bg: var(--m-background-lite);--summary-border: var(--m-border);--summary-text: var(--m-text);--summary-text-muted: var(--m-text-secondary)}.m-summary{width:100%;height:100%;flex:1;position:relative;border-radius:12px;animation:summary-fade-in .4s ease-out;box-shadow:none}.m-summary__header{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.m-summary__badges{display:flex;flex-wrap:wrap;gap:.4rem}.m-summary__badge{display:inline-flex;align-items:center;padding:.2rem .6rem;background:color-mix(in srgb,var(--m-mm) 10%,transparent);color:var(--m-mm);border-radius:4px;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border:1px solid color-mix(in srgb,var(--m-mm) 20%,transparent)}.m-summary__header-text{display:flex;flex-direction:column}.m-summary__title-group{display:flex;align-items:center;gap:.75rem}.m-summary__icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--m-mm) 10%,transparent);color:var(--m-mm);border-radius:8px;padding:.4rem;border:1px solid color-mix(in srgb,var(--m-mm) 20%,transparent)}.m-summary__title{font-size:1.25rem;font-weight:700;margin:0;letter-spacing:-.02em;line-height:1.2;color:var(--summary-text)}.m-summary__subtitle{font-size:.85rem;font-weight:400;color:var(--summary-text-muted);margin:.15rem 0 0}.m-summary__content{position:relative;display:flex;flex-direction:column;flex:1;padding:1rem 0}.m-summary__rows{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--summary-border);border:1px solid var(--summary-border);border-radius:8px;overflow:hidden}@media(max-width:480px){.m-summary__rows{grid-template-columns:1fr}}.m-summary__row{position:relative;background:var(--summary-bg);transition:background .2s ease;display:flex;cursor:default}.m-summary__row:hover{background:color-mix(in srgb,var(--m-mm) 4%,transparent)}.m-summary__row:hover .m-summary__row-accent{opacity:1}.m-summary__row.pos .m-summary__row-value{color:var(--m-success)}.m-summary__row.neg .m-summary__row-value{color:var(--m-error)}.m-summary__row-accent{width:4px;background:var(--summary-accent);opacity:0;transition:opacity .2s ease;position:absolute;left:0;top:0;bottom:0}.m-summary__row-content{padding:1rem;display:flex;flex-direction:column;gap:.2rem;flex:1}.m-summary__row-label{font-size:.65rem;font-weight:600;color:var(--summary-text-muted);text-transform:uppercase;letter-spacing:.05em}.m-summary__row-value{font-size:1.2rem;font-weight:700;color:var(--summary-text);font-feature-settings:\"tnum\";line-height:1}.m-summary__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;width:100%;padding-top:1rem}@media(max-width:480px){.m-summary__actions{flex-direction:column}}.m-summary__actions .m-button,.m-summary__actions .m-button-group{flex:0 1 auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CardComponent, selector: "m-card,m-one-card", inputs: ["variant", "spacing", "fullHeight", "padding", "href", "clickable"], outputs: ["clicked"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: MoneyPipe, name: "money" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27980
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SummaryComponent, isStandalone: true, selector: "m-summary, m-one-summary", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClicked: "actionClicked" }, usesInheritance: true, ngImport: i0, template: "@if (effectiveData(); as d) {\n <div class=\"m-summary\">\n <m-one-card variant=\"dashboard\" spacing=\"compact\">\n <div slot=\"header\" class=\"m-summary__header\">\n @if (d.badges?.length) {\n <div class=\"m-summary__badges\">\n @for (badge of d.badges; track $index) {\n <span class=\"m-summary__badge\">{{ badge | translate }}</span>\n }\n </div>\n }\n <div class=\"m-summary__header-text\">\n <div class=\"m-summary__title-group\">\n @if (d.icon) {\n <div class=\"m-summary__icon\">\n <m-icon [name]=\"d.icon\" [remote]=\"remote() ?? config()?.remote\" />\n </div>\n }\n <m-header [level]=\"2\">{{ d.title | translate }}</m-header>\n </div>\n @if (d.subtitle) {\n <p class=\"m-summary__subtitle\">{{ d.subtitle | translate }}</p>\n }\n </div>\n </div>\n\n <div slot=\"content\" class=\"m-summary__content\">\n @if (d.rows?.length) {\n <div class=\"m-summary__rows\">\n @for (row of d.rows; track $index) {\n <div\n class=\"m-summary__row {{ row.class || '' }}\"\n [class.m-summary__row--type-percentage]=\"row.type === 'percentage'\"\n >\n <div class=\"m-summary__row-accent\"></div>\n <div class=\"m-summary__row-content\">\n <span class=\"m-summary__row-label\">{{ row.label | translate }}</span>\n <span class=\"m-summary__row-value\">\n @switch (row.type) {\n @case ('money') {\n {{ asNumber(row.value) | money }}\n }\n @case ('percentage') {\n {{ asNumber(row.value) | number: '1.2-2' }}%\n }\n @case ('number') {\n {{ asNumber(row.value) | number }}\n }\n @default {\n {{ row.value }}\n }\n }\n </span>\n </div>\n </div>\n }\n </div>\n }\n </div>\n\n <div slot=\"footer\" class=\"m-summary__actions\">\n @for (action of d.actions; track $index) {\n @if (action.isGroup) {\n <m-button-group\n [name]=\"action.name\"\n [one]=\"false\"\n [remote]=\"remote() ?? config()?.remote\"\n (clicked)=\"onActionClick({ ...action, name: $event?.name ?? '' })\"\n />\n } @else {\n <m-button\n [name]=\"action.name\"\n [nav]=\"action.nav\"\n [navParams]=\"action.navParams\"\n [variant]=\"action.variant\"\n [remote]=\"remote() ?? config()?.remote\"\n (clicked)=\"onActionClick(action)\"\n />\n }\n }\n </div>\n </m-one-card>\n </div>\n}\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 summary-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;flex:1;--summary-accent: var(--m-mm);--summary-bg: var(--m-background-lite);--summary-border: var(--m-border);--summary-text: var(--m-text);--summary-text-muted: var(--m-text-secondary)}.m-summary{width:100%;height:100%;flex:1;position:relative;border-radius:12px;animation:summary-fade-in .4s ease-out;box-shadow:none}.m-summary__header{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.m-summary__badges{display:flex;flex-wrap:wrap;gap:.4rem}.m-summary__badge{display:inline-flex;align-items:center;padding:.2rem .6rem;background:color-mix(in srgb,var(--m-mm) 10%,transparent);color:var(--m-mm);border-radius:4px;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border:1px solid color-mix(in srgb,var(--m-mm) 20%,transparent)}.m-summary__header-text{display:flex;flex-direction:column}.m-summary__title-group{display:flex;align-items:center;gap:.75rem}.m-summary__icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--m-mm) 10%,transparent);color:var(--m-mm);border-radius:8px;padding:.4rem;border:1px solid color-mix(in srgb,var(--m-mm) 20%,transparent)}.m-summary__title{font-size:1.25rem;font-weight:700;margin:0;letter-spacing:-.02em;line-height:1.2;color:var(--summary-text)}.m-summary__subtitle{font-size:.85rem;font-weight:400;color:var(--summary-text-muted);margin:.15rem 0 0}.m-summary__content{position:relative;display:flex;flex-direction:column;flex:1;padding:1rem 0}.m-summary__rows{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--summary-border);border:1px solid var(--summary-border);border-radius:8px;overflow:hidden}@media(max-width:480px){.m-summary__rows{grid-template-columns:1fr}}.m-summary__row{position:relative;background:var(--summary-bg);transition:background .2s ease;display:flex;cursor:default}.m-summary__row:hover{background:color-mix(in srgb,var(--m-mm) 4%,transparent)}.m-summary__row:hover .m-summary__row-accent{opacity:1}.m-summary__row.pos .m-summary__row-value{color:var(--m-success)}.m-summary__row.neg .m-summary__row-value{color:var(--m-error)}.m-summary__row-accent{width:4px;background:var(--summary-accent);opacity:0;transition:opacity .2s ease;position:absolute;left:0;top:0;bottom:0}.m-summary__row-content{padding:1rem;display:flex;flex-direction:column;gap:.2rem;flex:1}.m-summary__row-label{font-size:.65rem;font-weight:600;color:var(--summary-text-muted);text-transform:uppercase;letter-spacing:.05em}.m-summary__row-value{font-size:1.2rem;font-weight:700;color:var(--summary-text);font-feature-settings:\"tnum\";line-height:1}.m-summary__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;width:100%;padding-top:1rem}@media(max-width:480px){.m-summary__actions{flex-direction:column}}.m-summary__actions .m-button,.m-summary__actions .m-button-group{flex:0 1 auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CardComponent, selector: "m-card,m-one-card", inputs: ["variant", "spacing", "fullHeight", "padding", "href", "clickable"], outputs: ["clicked"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: MoneyPipe, name: "money" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27923
27981
  }
27924
27982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SummaryComponent, decorators: [{
27925
27983
  type: Component,
@@ -28368,7 +28426,7 @@ class NothingComponent {
28368
28426
  </div>
28369
28427
  }
28370
28428
  </div>
28371
- `, isInline: true, 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}.m-nothing{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:5rem 3rem;border:1px solid var(--m-border);border-radius:1.5rem;background:var(--m-background-lite);box-shadow:0 10px 40px -10px #0000000a;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.m-nothing:hover{transform:translateY(-2px);border-color:var(--m-mm);box-shadow:0 15px 40px -10px #4169e114}.m-nothing:hover .m-nothing__icon{transform:scale(1.05);border-color:var(--m-mm);box-shadow:0 8px 24px #4169e126,inset 0 2px 4px #fffc}.m-nothing__icon-container{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem;animation:float 6s ease-in-out infinite}.m-nothing__icon-glow{position:absolute;width:6.5rem;height:6.5rem;border-radius:50%;background:radial-gradient(circle,#4169e11f,#4169e100 70%);filter:blur(8px);z-index:1}.m-nothing__icon{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--m-background);border:1.5px solid var(--m-border);box-shadow:0 8px 20px #00000008,inset 0 2px 4px #fffc;transition:all .3s cubic-bezier(.4,0,.2,1)}.m-nothing m-header{margin:0;font-weight:700;letter-spacing:-.01em}.m-nothing__desc{font-size:.9375rem;line-height:1.5;color:var(--m-text-secondary);max-width:420px;margin:-.5rem 0 .5rem}.m-nothing__actions{margin-top:.5rem;display:flex;justify-content:center;width:100%}.m-nothing m-button{display:inline-flex;width:100%;max-width:240px;--m-button-radius: 9999px;--m-button-size: .9375rem}.m-nothing m-button button{font-weight:600;letter-spacing:.01em;box-shadow:0 4px 12px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1)}.m-nothing m-button button.primary{background:linear-gradient(135deg,var(--m-mm),var(--m-mm-lite))!important;border:none!important;color:#fff!important;box-shadow:0 6px 16px #4169e133}.m-nothing m-button button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4169e159;filter:brightness(1.05)}.m-nothing m-button button.primary:active{transform:translateY(0);box-shadow:0 4px 12px #4169e133;filter:brightness(.95)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28429
+ `, isInline: true, 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}.m-nothing{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:5rem 3rem;border:1px solid var(--m-border);border-radius:1.5rem;background:var(--m-background-lite);box-shadow:0 10px 40px -10px #0000000a;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.m-nothing:hover{transform:translateY(-2px);border-color:var(--m-mm);box-shadow:0 15px 40px -10px #4169e114}.m-nothing:hover .m-nothing__icon{transform:scale(1.05);border-color:var(--m-mm);box-shadow:0 8px 24px #4169e126,inset 0 2px 4px #fffc}.m-nothing__icon-container{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem;animation:float 6s ease-in-out infinite}.m-nothing__icon-glow{position:absolute;width:6.5rem;height:6.5rem;border-radius:50%;background:radial-gradient(circle,#4169e11f,#4169e100 70%);filter:blur(8px);z-index:1}.m-nothing__icon{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--m-background);border:1.5px solid var(--m-border);box-shadow:0 8px 20px #00000008,inset 0 2px 4px #fffc;transition:all .3s cubic-bezier(.4,0,.2,1)}.m-nothing m-header{margin:0;font-weight:700;letter-spacing:-.01em}.m-nothing__desc{font-size:.9375rem;line-height:1.5;color:var(--m-text-secondary);max-width:420px;margin:-.5rem 0 .5rem}.m-nothing__actions{margin-top:.5rem;display:flex;justify-content:center;width:100%}.m-nothing m-button{display:inline-flex;width:100%;max-width:240px;--m-button-radius: 9999px;--m-button-size: .9375rem}.m-nothing m-button button{font-weight:600;letter-spacing:.01em;box-shadow:0 4px 12px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1)}.m-nothing m-button button.primary{background:linear-gradient(135deg,var(--m-mm),var(--m-mm-lite))!important;border:none!important;color:#fff!important;box-shadow:0 6px 16px #4169e133}.m-nothing m-button button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4169e159;filter:brightness(1.05)}.m-nothing m-button button.primary:active{transform:translateY(0);box-shadow:0 4px 12px #4169e133;filter:brightness(.95)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28372
28430
  }
28373
28431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NothingComponent, decorators: [{
28374
28432
  type: Component,
@@ -30623,7 +30681,7 @@ class NotificationElementComponent {
30623
30681
  }
30624
30682
  </div>
30625
30683
  </div>
30626
- `, isInline: true, 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)}}.notification-item{position:relative;display:flex;gap:1rem;padding:1.25rem 1.5rem;transition:background .2s ease;cursor:pointer;border-bottom:1px solid #f0f0f0}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#00000005}.notification-item--unread .notification-item__user{font-weight:800;color:#1a1a1a}.notification-item--popup{background:#fff;border-radius:1rem;box-shadow:0 10px 30px #00000014,0 4px 12px #0000000a;border:1px solid rgba(0,0,0,.05);margin-bottom:.75rem;width:24rem;max-width:90vw;pointer-events:auto;padding:1rem 1.25rem;gap:.75rem}.notification-item--popup:has(.notification-item__status-icon.success){background:linear-gradient(135deg,#f8fff9,#fff)}.notification-item--popup:has(.notification-item__status-icon.error){background:linear-gradient(135deg,snow,#fff)}.notification-item--popup:has(.notification-item__status-icon.warning){background:linear-gradient(135deg,#fffcf5,#fff)}.notification-item--popup:has(.notification-item__status-icon.info){background:linear-gradient(135deg,#f5faff,#fff)}.notification-item--popup .notification-item__avatar{width:2.25rem;height:2.25rem}.notification-item--popup .notification-item__status-icon{width:1rem;height:1rem;font-size:.5rem}.notification-item--popup .notification-item__title{font-size:.8125rem}.notification-item--popup .notification-item__description{font-size:.75rem}.notification-item__avatar-container{position:relative;flex-shrink:0}.notification-item__avatar{width:2.75rem;height:2.75rem;border-radius:50%;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.notification-item__avatar img{width:100%;height:100%;object-fit:cover}.notification-item__avatar-fallback{font-size:1rem;font-weight:700;color:#666}.notification-item__status-icon{position:absolute;bottom:-2px;right:-2px;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:800;color:#fff;box-shadow:0 2px 4px #0000001a;border:2px solid white}.notification-item__status-icon.success{background:#4caf50}.notification-item__status-icon.error{background:#f44336}.notification-item__status-icon.warning{background:#ff9800}.notification-item__status-icon.info{background:#2196f3}.notification-item__status-icon:not([class*=\" \"]){background:#9c27b0}.notification-item__content{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.notification-item__header{display:flex;justify-content:space-between;align-items:center}.notification-item__meta{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#666}.notification-item__user{font-weight:700;color:#1a1a1a}.notification-item__time{color:#999;font-weight:500}.notification-item__dot{width:.5rem;height:.5rem;border-radius:50%;background:#4caf50;flex-shrink:0}.notification-item__body{display:flex;flex-direction:column;gap:.125rem}.notification-item__title{font-size:.875rem;font-weight:600;color:#1a1a1a;margin:0;line-height:1.4}.notification-item__description{font-size:.8125rem;line-height:1.5;color:#666;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item__header-actions{display:flex;align-items:center;gap:1rem;margin-right:-.5rem}.notification-item__header-actions .m-button{--m-button-size: .75rem;--m-button-color: #999;opacity:.6}.notification-item__header-actions .m-button:hover{opacity:1}.notification-item__actions{display:flex;gap:.75rem;margin-top:.75rem}.notification-item--popup .notification-item__actions{margin-top:1rem;gap:1.5rem;--m-button-background: transparent;--m-button-padding: 0;--m-button-size: .875rem}.notification-item--popup .notification-item__actions .m-button{color:#3f51b5;font-weight:700}.notification-item--popup .notification-item__actions .m-button:hover{text-decoration:underline;opacity:.8}.notification-item--popup .notification-item__actions .m-button:last-child{color:#666}.notification-item__action{padding:.625rem 1.5rem;border-radius:.625rem;font-size:.8125rem;font-weight:700;border:none;cursor:pointer;transition:all .2s ease}.notification-item__action--reject{background:#f0f0f0;color:#1a1a1a}.notification-item__action--reject:hover{background:#e5e5e5}.notification-item__action--approve{background:#1a1a1a;color:#fff}.notification-item__action--approve:hover{background:#333}.notification-item__action{padding:.375rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:700;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.notification-item__action--reject{background:var(--m-frame);color:var(--m-text-secondary)}.notification-item__action--reject:hover{background:var(--m-border)}.notification-item__action--approve{background:var(--m-mm);color:#fff}.notification-item__action--approve:hover{background:var(--m-mm-dark)}.notification-item__progress-bar{width:100%;height:6px;background:#00000014;border-radius:100px;overflow:hidden;position:relative;margin-top:.5rem}.notification-item__progress-fill{height:100%;border-radius:100px;background-image:linear-gradient(90deg,var(--saffron, var(--m-mm)) 0%,rgba(255,255,255,.6) 50%,var(--saffron, var(--m-mm)) 100%);background-size:200% 100%;animation:notification-shimmer 1.5s infinite linear;transition:width .3s ease-out}.notification-item__percentage{font-size:.75rem;color:#666;align-self:flex-end;font-weight:600;margin-top:.25rem}@keyframes notification-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: ImgComponent, selector: "m-img", inputs: ["src", "data", "dataType", "alt", "priority", "fill", "width", "height", "remote", "ngSrcset", "sizes"] }, { kind: "pipe", type: TimeAgoPipe, name: "timeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30684
+ `, isInline: true, 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)}}.notification-item{position:relative;display:flex;gap:1rem;padding:1.25rem 1.5rem;transition:background .2s ease;cursor:pointer;border-bottom:1px solid #f0f0f0}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#00000005}.notification-item--unread .notification-item__user{font-weight:800;color:#1a1a1a}.notification-item--popup{background:#fff;border-radius:1rem;box-shadow:0 10px 30px #00000014,0 4px 12px #0000000a;border:1px solid rgba(0,0,0,.05);margin-bottom:.75rem;width:24rem;max-width:90vw;pointer-events:auto;padding:1rem 1.25rem;gap:.75rem}.notification-item--popup:has(.notification-item__status-icon.success){background:linear-gradient(135deg,#f8fff9,#fff)}.notification-item--popup:has(.notification-item__status-icon.error){background:linear-gradient(135deg,snow,#fff)}.notification-item--popup:has(.notification-item__status-icon.warning){background:linear-gradient(135deg,#fffcf5,#fff)}.notification-item--popup:has(.notification-item__status-icon.info){background:linear-gradient(135deg,#f5faff,#fff)}.notification-item--popup .notification-item__avatar{width:2.25rem;height:2.25rem}.notification-item--popup .notification-item__status-icon{width:1rem;height:1rem;font-size:.5rem}.notification-item--popup .notification-item__title{font-size:.8125rem}.notification-item--popup .notification-item__description{font-size:.75rem}.notification-item__avatar-container{position:relative;flex-shrink:0}.notification-item__avatar{width:2.75rem;height:2.75rem;border-radius:50%;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.notification-item__avatar img{width:100%;height:100%;object-fit:cover}.notification-item__avatar-fallback{font-size:1rem;font-weight:700;color:#666}.notification-item__status-icon{position:absolute;bottom:-2px;right:-2px;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:800;color:#fff;box-shadow:0 2px 4px #0000001a;border:2px solid white}.notification-item__status-icon.success{background:#4caf50}.notification-item__status-icon.error{background:#f44336}.notification-item__status-icon.warning{background:#ff9800}.notification-item__status-icon.info{background:#2196f3}.notification-item__status-icon:not([class*=\" \"]){background:#9c27b0}.notification-item__content{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.notification-item__header{display:flex;justify-content:space-between;align-items:center}.notification-item__meta{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#666}.notification-item__user{font-weight:700;color:#1a1a1a}.notification-item__time{color:#999;font-weight:500}.notification-item__dot{width:.5rem;height:.5rem;border-radius:50%;background:#4caf50;flex-shrink:0}.notification-item__body{display:flex;flex-direction:column;gap:.125rem}.notification-item__title{font-size:.875rem;font-weight:600;color:#1a1a1a;margin:0;line-height:1.4}.notification-item__description{font-size:.8125rem;line-height:1.5;color:#666;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item__header-actions{display:flex;align-items:center;gap:1rem;margin-right:-.5rem}.notification-item__header-actions .m-button{--m-button-size: .75rem;--m-button-color: #999;opacity:.6}.notification-item__header-actions .m-button:hover{opacity:1}.notification-item__actions{display:flex;gap:.75rem;margin-top:.75rem}.notification-item--popup .notification-item__actions{margin-top:1rem;gap:1.5rem;--m-button-background: transparent;--m-button-padding: 0;--m-button-size: .875rem}.notification-item--popup .notification-item__actions .m-button{color:#3f51b5;font-weight:700}.notification-item--popup .notification-item__actions .m-button:hover{text-decoration:underline;opacity:.8}.notification-item--popup .notification-item__actions .m-button:last-child{color:#666}.notification-item__action{padding:.625rem 1.5rem;border-radius:.625rem;font-size:.8125rem;font-weight:700;border:none;cursor:pointer;transition:all .2s ease}.notification-item__action--reject{background:#f0f0f0;color:#1a1a1a}.notification-item__action--reject:hover{background:#e5e5e5}.notification-item__action--approve{background:#1a1a1a;color:#fff}.notification-item__action--approve:hover{background:#333}.notification-item__action{padding:.375rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:700;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.notification-item__action--reject{background:var(--m-frame);color:var(--m-text-secondary)}.notification-item__action--reject:hover{background:var(--m-border)}.notification-item__action--approve{background:var(--m-mm);color:#fff}.notification-item__action--approve:hover{background:var(--m-mm-dark)}.notification-item__progress-bar{width:100%;height:6px;background:#00000014;border-radius:100px;overflow:hidden;position:relative;margin-top:.5rem}.notification-item__progress-fill{height:100%;border-radius:100px;background-image:linear-gradient(90deg,var(--saffron, var(--m-mm)) 0%,rgba(255,255,255,.6) 50%,var(--saffron, var(--m-mm)) 100%);background-size:200% 100%;animation:notification-shimmer 1.5s infinite linear;transition:width .3s ease-out}.notification-item__percentage{font-size:.75rem;color:#666;align-self:flex-end;font-weight:600;margin-top:.25rem}@keyframes notification-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: ImgComponent, selector: "m-img", inputs: ["src", "data", "dataType", "alt", "priority", "fill", "width", "height", "remote", "ngSrcset", "sizes"] }, { kind: "pipe", type: TimeAgoPipe, name: "timeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30627
30685
  }
30628
30686
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NotificationElementComponent, decorators: [{
30629
30687
  type: Component,
@@ -31470,7 +31528,7 @@ class NotificationGroupComponent {
31470
31528
  }
31471
31529
  </div>
31472
31530
  </div>
31473
- `, isInline: true, styles: ["@charset \"UTF-8\";@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)}}.notification-group{display:flex;flex-direction:column;gap:1.5rem;background:#ffffffb3!important;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3)!important;border-radius:2rem;padding:1.75rem;box-shadow:0 40px 100px -20px #00000026,0 20px 40px -15px #0000001a,0 0 1px #0000000d;transform:translateZ(0);isolation:isolate}.notification-group__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.notification-group__header .m-button{--m-button-size: .8125rem;font-weight:600}.notification-group__title{margin:0;font-size:1.25rem;font-weight:800;color:var(--m-text);letter-spacing:-.03em;background:linear-gradient(135deg,var(--m-text) 0%,color-mix(in srgb,var(--m-text) 70%,transparent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.notification-group__tabs{display:flex;gap:.5rem;padding:.35rem;background:color-mix(in srgb,var(--m-frame) 4%,transparent);border:none;border-radius:1.5rem;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 2px 4px #00000005}.notification-group__tabs::-webkit-scrollbar{display:none}.notification-group__tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border:1px solid transparent;border-radius:1rem;background:transparent;font-size:.8125rem;font-weight:700;color:var(--m-text-secondary);cursor:pointer;white-space:nowrap;transition:all .4s cubic-bezier(.16,1,.3,1)}.notification-group__tab:hover{background:#fff6;color:var(--m-text)}.notification-group__tab--active{background:#fff;color:var(--m-mm);box-shadow:0 4px 12px #0000000d,0 1px 2px #00000005;border-color:#00000005}.notification-group__tab--active:hover{background:#fff}.notification-group__list{display:flex;flex-direction:column;gap:1rem;max-height:35rem;overflow-y:auto;padding-right:.75rem;margin-right:-.75rem}.notification-group__list::-webkit-scrollbar{width:4px}.notification-group__list::-webkit-scrollbar-track{background:transparent}.notification-group__list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--m-text-tertiary) 15%,transparent);border-radius:10px}.notification-group__list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--m-text-tertiary) 25%,transparent)}.notification-group__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.25rem;font-size:.9375rem;font-weight:500;color:var(--m-text-tertiary);text-align:center;background:color-mix(in srgb,var(--m-frame) 2%,transparent);border-radius:1.5rem;border:1px dashed color-mix(in srgb,var(--m-text-tertiary) 20%,transparent)}.notification-group__empty:before{content:\"\\1f514\";font-size:3rem;filter:grayscale(1) brightness(1.2);opacity:.3;margin-bottom:.5rem;animation:bell-shake 4s infinite ease-in-out}@keyframes bell-shake{0%,to{transform:rotate(0)}5%,15%{transform:rotate(15deg)}10%,20%{transform:rotate(-15deg)}25%{transform:rotate(0)}}\n"], dependencies: [{ kind: "component", type: NotificationElementComponent, selector: "m-notification-element", inputs: ["notification", "autoClose"], outputs: ["actionClicked"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31531
+ `, isInline: true, styles: ["@charset \"UTF-8\";@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)}}.notification-group{display:flex;flex-direction:column;gap:1.5rem;background:#ffffffb3!important;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3)!important;border-radius:2rem;padding:1.75rem;box-shadow:0 40px 100px -20px #00000026,0 20px 40px -15px #0000001a,0 0 1px #0000000d;transform:translateZ(0);isolation:isolate}.notification-group__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.notification-group__header .m-button{--m-button-size: .8125rem;font-weight:600}.notification-group__title{margin:0;font-size:1.25rem;font-weight:800;color:var(--m-text);letter-spacing:-.03em;background:linear-gradient(135deg,var(--m-text) 0%,color-mix(in srgb,var(--m-text) 70%,transparent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.notification-group__tabs{display:flex;gap:.5rem;padding:.35rem;background:color-mix(in srgb,var(--m-frame) 4%,transparent);border:none;border-radius:1.5rem;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 2px 4px #00000005}.notification-group__tabs::-webkit-scrollbar{display:none}.notification-group__tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border:1px solid transparent;border-radius:1rem;background:transparent;font-size:.8125rem;font-weight:700;color:var(--m-text-secondary);cursor:pointer;white-space:nowrap;transition:all .4s cubic-bezier(.16,1,.3,1)}.notification-group__tab:hover{background:#fff6;color:var(--m-text)}.notification-group__tab--active{background:#fff;color:var(--m-mm);box-shadow:0 4px 12px #0000000d,0 1px 2px #00000005;border-color:#00000005}.notification-group__tab--active:hover{background:#fff}.notification-group__list{display:flex;flex-direction:column;gap:1rem;max-height:35rem;overflow-y:auto;padding-right:.75rem;margin-right:-.75rem}.notification-group__list::-webkit-scrollbar{width:4px}.notification-group__list::-webkit-scrollbar-track{background:transparent}.notification-group__list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--m-text-tertiary) 15%,transparent);border-radius:10px}.notification-group__list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--m-text-tertiary) 25%,transparent)}.notification-group__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.25rem;font-size:.9375rem;font-weight:500;color:var(--m-text-tertiary);text-align:center;background:color-mix(in srgb,var(--m-frame) 2%,transparent);border-radius:1.5rem;border:1px dashed color-mix(in srgb,var(--m-text-tertiary) 20%,transparent)}.notification-group__empty:before{content:\"\\1f514\";font-size:3rem;filter:grayscale(1) brightness(1.2);opacity:.3;margin-bottom:.5rem;animation:bell-shake 4s infinite ease-in-out}@keyframes bell-shake{0%,to{transform:rotate(0)}5%,15%{transform:rotate(15deg)}10%,20%{transform:rotate(-15deg)}25%{transform:rotate(0)}}\n"], dependencies: [{ kind: "component", type: NotificationElementComponent, selector: "m-notification-element", inputs: ["notification", "autoClose"], outputs: ["actionClicked"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31474
31532
  }
31475
31533
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NotificationGroupComponent, decorators: [{
31476
31534
  type: Component,
@@ -31980,7 +32038,7 @@ class ThemeComponent extends BaseWebComponent {
31980
32038
  </div>
31981
32039
  }
31982
32040
  </div>
31983
- `, isInline: true, 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)}}.m-theme{display:flex;flex-direction:column;width:100%;padding:1.5rem;box-sizing:border-box;background:transparent;font-family:Outfit,Inter,system-ui,sans-serif}.m-theme__mode-selector{display:flex;justify-content:center;margin-bottom:2rem;width:100%}.m-theme__list-container{display:flex;flex-direction:column;gap:1.5rem}.m-theme .selectable-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%}.m-theme .theme-card-content{display:flex;flex-direction:column;gap:1.25rem;width:100%;box-sizing:border-box}.m-theme .theme-card-content__preview-window{width:100%;height:120px;border-radius:.75rem;border:1px solid;overflow:hidden;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px #ffffff1a,0 4px 12px #00000008;transition:border-color .2s ease}.m-theme .theme-card-content__mini-header{height:24px;display:flex;align-items:center;padding:0 .75rem;justify-content:space-between;border-bottom:1px solid;flex-shrink:0}.m-theme .theme-card-content__dot-group{display:flex;gap:4px}.m-theme .theme-card-content__dot{width:6px;height:6px;border-radius:50%;display:inline-block}.m-theme .theme-card-content__dot--red{background:#ff5f56}.m-theme .theme-card-content__dot--yellow{background:#ffbd2e}.m-theme .theme-card-content__dot--green{background:#27c93f}.m-theme .theme-card-content__mini-title{font-size:.65rem;font-weight:600;letter-spacing:.02em;text-transform:capitalize}.m-theme .theme-card-content__mini-body{display:flex;flex:1;min-height:0}.m-theme .theme-card-content__mini-sidebar{width:38px;border-right:1px solid;display:flex;flex-direction:column;gap:5px;padding:.625rem .375rem;box-sizing:border-box}.m-theme .theme-card-content__mini-main{flex:1;padding:.625rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.m-theme .theme-card-content__mini-card{width:100%;height:100%;border-radius:.375rem;border:1px solid;padding:.5rem;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 3px #00000005}.m-theme .theme-card-content__line{height:3px;border-radius:2px}.m-theme .theme-card-content__line--short{width:14px}.m-theme .theme-card-content__line--heading{width:28px;height:4px;margin-bottom:3px}.m-theme .theme-card-content__line--body{width:85%}.m-theme .theme-card-content__footer{display:flex;align-items:center;justify-content:space-between;margin-top:.25rem}.m-theme .theme-card-content__info{display:flex;align-items:center;gap:.625rem}.m-theme .theme-card-content__icon-wrapper{font-size:1.25rem;display:inline-flex;align-items:center;justify-content:center}.m-theme .theme-card-content__name{font-size:.95rem;font-weight:700}.m-theme .theme-card-content__palette{display:flex;gap:5px}.m-theme .theme-card-content__swatch{width:.875rem;height:.875rem;border-radius:50%;border:1px solid rgba(0,0,0,.1);display:inline-block;box-shadow:0 1px 2px #0000000d;transition:transform .2s ease}.m-theme .theme-card-content__swatch:hover{transform:scale(1.2)}\n"], dependencies: [{ kind: "component", type: ToggleRadioInputComponent, selector: "m-toggle-radio", inputs: ["one"] }, { kind: "component", type: SelectableCardInputComponent, selector: "m-selectable-card", inputs: ["element", "data", "template", "options", "value"], outputs: ["valueChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32041
+ `, isInline: true, 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)}}.m-theme{display:flex;flex-direction:column;width:100%;padding:1.5rem;box-sizing:border-box;background:transparent;font-family:Outfit,Inter,system-ui,sans-serif}.m-theme__mode-selector{display:flex;justify-content:center;margin-bottom:2rem;width:100%}.m-theme__list-container{display:flex;flex-direction:column;gap:1.5rem}.m-theme .selectable-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%}.m-theme .theme-card-content{display:flex;flex-direction:column;gap:1.25rem;width:100%;box-sizing:border-box}.m-theme .theme-card-content__preview-window{width:100%;height:120px;border-radius:.75rem;border:1px solid;overflow:hidden;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px #ffffff1a,0 4px 12px #00000008;transition:border-color .2s ease}.m-theme .theme-card-content__mini-header{height:24px;display:flex;align-items:center;padding:0 .75rem;justify-content:space-between;border-bottom:1px solid;flex-shrink:0}.m-theme .theme-card-content__dot-group{display:flex;gap:4px}.m-theme .theme-card-content__dot{width:6px;height:6px;border-radius:50%;display:inline-block}.m-theme .theme-card-content__dot--red{background:#ff5f56}.m-theme .theme-card-content__dot--yellow{background:#ffbd2e}.m-theme .theme-card-content__dot--green{background:#27c93f}.m-theme .theme-card-content__mini-title{font-size:.65rem;font-weight:600;letter-spacing:.02em;text-transform:capitalize}.m-theme .theme-card-content__mini-body{display:flex;flex:1;min-height:0}.m-theme .theme-card-content__mini-sidebar{width:38px;border-right:1px solid;display:flex;flex-direction:column;gap:5px;padding:.625rem .375rem;box-sizing:border-box}.m-theme .theme-card-content__mini-main{flex:1;padding:.625rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.m-theme .theme-card-content__mini-card{width:100%;height:100%;border-radius:.375rem;border:1px solid;padding:.5rem;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 3px #00000005}.m-theme .theme-card-content__line{height:3px;border-radius:2px}.m-theme .theme-card-content__line--short{width:14px}.m-theme .theme-card-content__line--heading{width:28px;height:4px;margin-bottom:3px}.m-theme .theme-card-content__line--body{width:85%}.m-theme .theme-card-content__footer{display:flex;align-items:center;justify-content:space-between;margin-top:.25rem}.m-theme .theme-card-content__info{display:flex;align-items:center;gap:.625rem}.m-theme .theme-card-content__icon-wrapper{font-size:1.25rem;display:inline-flex;align-items:center;justify-content:center}.m-theme .theme-card-content__name{font-size:.95rem;font-weight:700}.m-theme .theme-card-content__palette{display:flex;gap:5px}.m-theme .theme-card-content__swatch{width:.875rem;height:.875rem;border-radius:50%;border:1px solid rgba(0,0,0,.1);display:inline-block;box-shadow:0 1px 2px #0000000d;transition:transform .2s ease}.m-theme .theme-card-content__swatch:hover{transform:scale(1.2)}\n"], dependencies: [{ kind: "component", type: ToggleRadioInputComponent, selector: "m-toggle-radio", inputs: ["one"] }, { kind: "component", type: SelectableCardInputComponent, selector: "m-selectable-card", inputs: ["element", "data", "template", "options", "value"], outputs: ["valueChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31984
32042
  }
31985
32043
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ThemeComponent, decorators: [{
31986
32044
  type: Component,
@@ -32300,7 +32358,7 @@ class LanguageComponent extends BaseWebComponent {
32300
32358
  }
32301
32359
  </div>
32302
32360
  </div>
32303
- `, isInline: true, 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)}}.m-language{display:flex;flex-direction:column;width:100%;padding:1.5rem;box-sizing:border-box;background:transparent;font-family:Outfit,Inter,system-ui,sans-serif}.m-language__list-container{display:flex;flex-direction:column;gap:2rem}.m-language__section{display:flex;flex-direction:column;gap:.875rem}.m-language__section m-header h4{margin:0;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.m-language__empty{display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;background:#fff6;border:1px dashed rgba(0,0,0,.08);border-radius:1rem}.m-language__empty m-header h4{margin:0;font-size:1rem;font-weight:500;color:#64748b}.m-language .selectable-card__item{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.06);border-radius:1rem;padding:.875rem 1.125rem;margin-bottom:.25rem;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000003}.m-language .selectable-card__item--selected{border-color:var(--mm-color, var(--m-mm));background:color-mix(in srgb,var(--mm-color, var(--m-mm)) 6%,#ffffff);box-shadow:0 10px 15px -3px color-mix(in srgb,var(--mm-color, var(--m-mm)) 8%,transparent),0 4px 6px -2px color-mix(in srgb,var(--mm-color, var(--m-mm)) 8%,transparent)}.m-language .selectable-card__item--selected .language-card-content__avatar{background:var(--mm-color, var(--m-mm));color:#fff}.m-language .selectable-card__item:hover:not(.selectable-card__item--disabled){border-color:var(--mm-color, var(--m-mm));background:color-mix(in srgb,var(--mm-color, var(--m-mm)) 3%,rgba(255,255,255,.9))}.m-language .language-card-content{display:flex;align-items:center;gap:1.125rem}.m-language .language-card-content__avatar{width:2.75rem;height:2.75rem;border-radius:.75rem;background:color-mix(in srgb,var(--mm-color, var(--m-mm)) 10%,rgba(255,255,255,.8));color:var(--mm-color, var(--m-mm));display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;transition:all .2s ease;flex-shrink:0;box-shadow:inset 0 2px 4px #00000005}.m-language .language-card-content__info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.m-language .language-card-content__native{font-size:.95rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-language .language-card-content__english{font-size:.8125rem;font-weight:400;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-language .selectable-card__indicator input[type=radio]{width:1.25rem;height:1.25rem;border:2px solid #cbd5e1;border-radius:50%;transition:all .2s ease}.m-language .selectable-card__indicator input[type=radio]:checked{border-color:var(--mm-color, var(--m-mm));background:var(--mm-color, var(--m-mm))}.m-language .selectable-card__indicator input[type=radio]:checked:after{background:#fff;width:.45rem;height:.45rem}\n"], dependencies: [{ kind: "component", type: SelectableCardInputComponent, selector: "m-selectable-card", inputs: ["element", "data", "template", "options", "value"], outputs: ["valueChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32361
+ `, isInline: true, 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)}}.m-language{display:flex;flex-direction:column;width:100%;padding:1.5rem;box-sizing:border-box;background:transparent;font-family:Outfit,Inter,system-ui,sans-serif}.m-language__list-container{display:flex;flex-direction:column;gap:2rem}.m-language__section{display:flex;flex-direction:column;gap:.875rem}.m-language__section m-header h4{margin:0;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.m-language__empty{display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;background:#fff6;border:1px dashed rgba(0,0,0,.08);border-radius:1rem}.m-language__empty m-header h4{margin:0;font-size:1rem;font-weight:500;color:#64748b}.m-language .selectable-card__item{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.06);border-radius:1rem;padding:.875rem 1.125rem;margin-bottom:.25rem;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000003}.m-language .selectable-card__item--selected{border-color:var(--mm-color, var(--m-mm));background:color-mix(in srgb,var(--mm-color, var(--m-mm)) 6%,#ffffff);box-shadow:0 10px 15px -3px color-mix(in srgb,var(--mm-color, var(--m-mm)) 8%,transparent),0 4px 6px -2px color-mix(in srgb,var(--mm-color, var(--m-mm)) 8%,transparent)}.m-language .selectable-card__item--selected .language-card-content__avatar{background:var(--mm-color, var(--m-mm));color:#fff}.m-language .selectable-card__item:hover:not(.selectable-card__item--disabled){border-color:var(--mm-color, var(--m-mm));background:color-mix(in srgb,var(--mm-color, var(--m-mm)) 3%,rgba(255,255,255,.9))}.m-language .language-card-content{display:flex;align-items:center;gap:1.125rem}.m-language .language-card-content__avatar{width:2.75rem;height:2.75rem;border-radius:.75rem;background:color-mix(in srgb,var(--mm-color, var(--m-mm)) 10%,rgba(255,255,255,.8));color:var(--mm-color, var(--m-mm));display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;transition:all .2s ease;flex-shrink:0;box-shadow:inset 0 2px 4px #00000005}.m-language .language-card-content__info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.m-language .language-card-content__native{font-size:.95rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-language .language-card-content__english{font-size:.8125rem;font-weight:400;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-language .selectable-card__indicator input[type=radio]{width:1.25rem;height:1.25rem;border:2px solid #cbd5e1;border-radius:50%;transition:all .2s ease}.m-language .selectable-card__indicator input[type=radio]:checked{border-color:var(--mm-color, var(--m-mm));background:var(--mm-color, var(--m-mm))}.m-language .selectable-card__indicator input[type=radio]:checked:after{background:#fff;width:.45rem;height:.45rem}\n"], dependencies: [{ kind: "component", type: SelectableCardInputComponent, selector: "m-selectable-card", inputs: ["element", "data", "template", "options", "value"], outputs: ["valueChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32304
32362
  }
32305
32363
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: LanguageComponent, decorators: [{
32306
32364
  type: Component,
@@ -32452,7 +32510,7 @@ class EditProfileModalComponent {
32452
32510
  />
32453
32511
  </div>
32454
32512
  </div>
32455
- `, isInline: true, 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)}}.edit-profile{display:flex;flex-direction:column;min-width:320px;max-width:440px;padding:2.5rem;background:var(--m-backdrop-modal, rgba(255, 255, 255, .85));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:2rem;border:1px solid var(--m-backdrop-border, rgba(255, 255, 255, .4));box-shadow:0 20px 50px -12px #00000026}.edit-profile__title{margin:0 0 1.75rem;font-size:1.375rem;font-weight:700;color:var(--m-text-900);letter-spacing:-.02em}.edit-profile__fields{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.edit-profile__field{display:flex;flex-direction:column;gap:.5rem}.edit-profile__label{font-size:.8125rem;font-weight:600;color:var(--m-text-500);text-transform:uppercase;letter-spacing:.06em}.edit-profile__input{width:100%;padding:.75rem 1rem;font-size:1rem;color:var(--m-text-900);background:var(--m-surface-100, rgba(255, 255, 255, .6));border:1.5px solid var(--m-border-200, rgba(0, 0, 0, .1));border-radius:.875rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.edit-profile__input:focus{border-color:var(--m-primary);box-shadow:0 0 0 3px rgba(var(--m-primary-rgb),.12)}.edit-profile__input[type=date]{color-scheme:light dark}.edit-profile__actions{display:flex;justify-content:center}\n"], dependencies: [{ kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: ClearableInputComponent, selector: "m-input-clear", inputs: ["value", "config", "required", "disabled", "readonly", "invalid", "focused", "touched", "errors", "icon", "placeholder", "type", "inputId"], outputs: ["valueChange", "touchedChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32513
+ `, isInline: true, 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)}}.edit-profile{display:flex;flex-direction:column;min-width:320px;max-width:440px;padding:2.5rem;background:var(--m-backdrop-modal, rgba(255, 255, 255, .85));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:2rem;border:1px solid var(--m-backdrop-border, rgba(255, 255, 255, .4));box-shadow:0 20px 50px -12px #00000026}.edit-profile__title{margin:0 0 1.75rem;font-size:1.375rem;font-weight:700;color:var(--m-text-900);letter-spacing:-.02em}.edit-profile__fields{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.edit-profile__field{display:flex;flex-direction:column;gap:.5rem}.edit-profile__label{font-size:.8125rem;font-weight:600;color:var(--m-text-500);text-transform:uppercase;letter-spacing:.06em}.edit-profile__input{width:100%;padding:.75rem 1rem;font-size:1rem;color:var(--m-text-900);background:var(--m-surface-100, rgba(255, 255, 255, .6));border:1.5px solid var(--m-border-200, rgba(0, 0, 0, .1));border-radius:.875rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.edit-profile__input:focus{border-color:var(--m-primary);box-shadow:0 0 0 3px rgba(var(--m-primary-rgb),.12)}.edit-profile__input[type=date]{color-scheme:light dark}.edit-profile__actions{display:flex;justify-content:center}\n"], dependencies: [{ kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: ClearableInputComponent, selector: "m-input-clear", inputs: ["value", "config", "required", "disabled", "readonly", "invalid", "focused", "touched", "errors", "icon", "placeholder", "type", "inputId"], outputs: ["valueChange", "touchedChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32456
32514
  }
32457
32515
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EditProfileModalComponent, decorators: [{
32458
32516
  type: Component,
@@ -34753,7 +34811,7 @@ class SvgGeneratorComponent {
34753
34811
  multiple: false,
34754
34812
  };
34755
34813
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SvgGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34756
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SvgGeneratorComponent, isStandalone: true, selector: "m-svg-generator", inputs: { svg: { classPropertyName: "svg", publicName: "svg", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { svg: "svgChange" }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], ngImport: i0, template: "<div class=\"svg-generator\">\n <div class=\"svg-generator-header\">\n <div class=\"svg-generator-header-left\">\n <m-header [level]=\"2\">{{ config()?.title | translate }}</m-header>\n <div class=\"svg-image-upload\">\n <m-button [config]=\"_uploadButtonConfig()\" (clicked)=\"saveSvg()\"></m-button>\n </div>\n </div>\n <div class=\"svg-generator-tool-box\">\n <m-button [config]=\"_toolBoxButtonConfig()\" [mSelector]=\"_selectorConfig()\"></m-button>\n </div>\n </div>\n <div class=\"svg-image-container\">\n <div #preview class=\"svg-image-preview\">\n @if (svg()) {\n <div class=\"svg-image-preview-content\">\n <m-custom-icon-edit [svg]=\"_svgAsCustomIcon()\" (svgChange)=\"_onCustomIconChange($event)\"></m-custom-icon-edit>\n </div>\n } @else if (_currentImage()) {\n <div class=\"main-image-preview-content\">\n <m-img\n [src]=\"_currentImage()?.src\"\n [alt]=\"_currentImage()?.alt || (config()?.title | translate) || 'image'\"\n />\n </div>\n\n <m-crop-area\n [svg]=\"_rawSvg()\"\n [config]=\"config()\"\n [previewBoundary]=\"_previewBoundary()\"\n [(cropAreaData)]=\"_cropAreaData\"\n />\n } @else {\n <div class=\"svg-image-upload-content\" [mFileUpload]=\"_uploadConfig\" (fileSelect)=\"onFileSelect($event)\">\n <m-icon name=\"add-image\"></m-icon>\n </div>\n }\n </div>\n </div>\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)}}.svg-generator{width:100%;padding:1rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:.5em;display:flex;flex-direction:column;gap:1em}.svg-generator .svg-generator-header{display:flex;flex-direction:row;justify-content:space-between;gap:1rem;align-items:center;padding:.5em}.svg-generator .svg-generator-header .svg-generator-header-left{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:flex-start}.svg-generator .svg-generator-header .svg-generator-header-left h2{color:var(--mm-color)}.svg-generator .svg-image-container{display:flex;align-items:center;justify-content:center}.svg-generator .svg-image-container .svg-image-preview{position:relative;width:100%;border:1px solid var(--border-color);overflow:hidden}.svg-generator .svg-image-container .svg-image-preview .svg-image-upload-content{padding:3rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.svg-generator .svg-image-container .svg-image-preview .svg-image-upload-content mm-icon{width:5em;height:5em;object-fit:contain;transition:transform .3s ease-in-out}.svg-generator .svg-image-container .svg-image-preview .svg-image-upload-content mm-icon:hover{transform:scale(1.1);cursor:pointer}.svg-generator .svg-image-container .svg-image-preview .main-image-preview-content{width:100%;height:100%}.svg-generator .svg-image-container .svg-image-preview .main-image-preview-content img{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "directive", type: FileUploadDirective, selector: "[mFileUpload]", inputs: ["mFileUpload"], outputs: ["fileSelect"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "directive", type: SelectorDirective, selector: "[mSelector]", inputs: ["mSelector", "disabled"], outputs: ["opened", "closed"], exportAs: ["mSelector"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: CustomIconEditComponent, selector: "m-custom-icon-edit", inputs: ["svg", "strokeColor", "fillColor"], outputs: ["svgChange"] }, { kind: "component", type: CropAreaComponent, selector: "m-crop-area", inputs: ["svg", "config", "previewBoundary", "cropAreaData", "delta"], outputs: ["cropAreaDataChange", "deltaChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: ImgComponent, selector: "m-img", inputs: ["src", "data", "dataType", "alt", "priority", "fill", "width", "height", "remote", "ngSrcset", "sizes"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34814
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SvgGeneratorComponent, isStandalone: true, selector: "m-svg-generator", inputs: { svg: { classPropertyName: "svg", publicName: "svg", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { svg: "svgChange" }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], ngImport: i0, template: "<div class=\"svg-generator\">\n <div class=\"svg-generator-header\">\n <div class=\"svg-generator-header-left\">\n <m-header [level]=\"2\">{{ config()?.title | translate }}</m-header>\n <div class=\"svg-image-upload\">\n <m-button [config]=\"_uploadButtonConfig()\" (clicked)=\"saveSvg()\"></m-button>\n </div>\n </div>\n <div class=\"svg-generator-tool-box\">\n <m-button [config]=\"_toolBoxButtonConfig()\" [mSelector]=\"_selectorConfig()\"></m-button>\n </div>\n </div>\n <div class=\"svg-image-container\">\n <div #preview class=\"svg-image-preview\">\n @if (svg()) {\n <div class=\"svg-image-preview-content\">\n <m-custom-icon-edit [svg]=\"_svgAsCustomIcon()\" (svgChange)=\"_onCustomIconChange($event)\"></m-custom-icon-edit>\n </div>\n } @else if (_currentImage()) {\n <div class=\"main-image-preview-content\">\n <m-img\n [src]=\"_currentImage()?.src\"\n [alt]=\"_currentImage()?.alt || (config()?.title | translate) || 'image'\"\n />\n </div>\n\n <m-crop-area\n [svg]=\"_rawSvg()\"\n [config]=\"config()\"\n [previewBoundary]=\"_previewBoundary()\"\n [(cropAreaData)]=\"_cropAreaData\"\n />\n } @else {\n <div class=\"svg-image-upload-content\" [mFileUpload]=\"_uploadConfig\" (fileSelect)=\"onFileSelect($event)\">\n <m-icon name=\"add-image\"></m-icon>\n </div>\n }\n </div>\n </div>\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)}}.svg-generator{width:100%;padding:1rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:.5em;display:flex;flex-direction:column;gap:1em}.svg-generator .svg-generator-header{display:flex;flex-direction:row;justify-content:space-between;gap:1rem;align-items:center;padding:.5em}.svg-generator .svg-generator-header .svg-generator-header-left{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:flex-start}.svg-generator .svg-generator-header .svg-generator-header-left h2{color:var(--mm-color)}.svg-generator .svg-image-container{display:flex;align-items:center;justify-content:center}.svg-generator .svg-image-container .svg-image-preview{position:relative;width:100%;border:1px solid var(--border-color);overflow:hidden}.svg-generator .svg-image-container .svg-image-preview .svg-image-upload-content{padding:3rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.svg-generator .svg-image-container .svg-image-preview .svg-image-upload-content mm-icon{width:5em;height:5em;object-fit:contain;transition:transform .3s ease-in-out}.svg-generator .svg-image-container .svg-image-preview .svg-image-upload-content mm-icon:hover{transform:scale(1.1);cursor:pointer}.svg-generator .svg-image-container .svg-image-preview .main-image-preview-content{width:100%;height:100%}.svg-generator .svg-image-container .svg-image-preview .main-image-preview-content img{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "directive", type: FileUploadDirective, selector: "[mFileUpload]", inputs: ["mFileUpload"], outputs: ["fileSelect"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "directive", type: SelectorDirective, selector: "[mSelector]", inputs: ["mSelector", "disabled"], outputs: ["opened", "closed"], exportAs: ["mSelector"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "component", type: CustomIconEditComponent, selector: "m-custom-icon-edit", inputs: ["svg", "strokeColor", "fillColor"], outputs: ["svgChange"] }, { kind: "component", type: CropAreaComponent, selector: "m-crop-area", inputs: ["svg", "config", "previewBoundary", "cropAreaData", "delta"], outputs: ["cropAreaDataChange", "deltaChange"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "component", type: ImgComponent, selector: "m-img", inputs: ["src", "data", "dataType", "alt", "priority", "fill", "width", "height", "remote", "ngSrcset", "sizes"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34757
34815
  }
34758
34816
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SvgGeneratorComponent, decorators: [{
34759
34817
  type: Component,
@@ -35125,7 +35183,7 @@ class CommentEditModalComponent {
35125
35183
  }
35126
35184
  }
35127
35185
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CommentEditModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35128
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: CommentEditModalComponent, isStandalone: true, selector: "m-comment-edit", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"comment-edit\">\n <m-header [level]=\"3\">{{ 'edit-comment' | translate }}</m-header>\n <div class=\"comment-edit__content\">\n <m-textarea-input name=\"comment_edit_textarea\" [(value)]=\"editDraft\" />\n </div>\n <div class=\"comment-edit__actions\">\n <m-button-group\n name=\"comment_edit_actions\"\n [buttons]=\"{ comment_save: { disabled: saveDisabled() } }\"\n (clicked)=\"onAction($event)\"\n />\n </div>\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)}}.comment-edit{display:flex;flex-direction:column;min-width:320px;max-width:480px;width:90vw;padding:3rem;gap:1.5rem}.comment-edit__title{font-size:1.15rem;font-weight:700;color:var(--m-text);margin:0}.comment-edit__content{width:100%}.comment-edit__actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem}\n"], dependencies: [{ kind: "component", type: TextareaInputComponent, selector: "m-textarea-input" }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
35186
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: CommentEditModalComponent, isStandalone: true, selector: "m-comment-edit", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"comment-edit\">\n <m-header [level]=\"3\">{{ 'edit-comment' | translate }}</m-header>\n <div class=\"comment-edit__content\">\n <m-textarea-input name=\"comment_edit_textarea\" [(value)]=\"editDraft\" />\n </div>\n <div class=\"comment-edit__actions\">\n <m-button-group\n name=\"comment_edit_actions\"\n [buttons]=\"{ comment_save: { disabled: saveDisabled() } }\"\n (clicked)=\"onAction($event)\"\n />\n </div>\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)}}.comment-edit{display:flex;flex-direction:column;min-width:320px;max-width:480px;width:90vw;padding:3rem;gap:1.5rem}.comment-edit__title{font-size:1.15rem;font-weight:700;color:var(--m-text);margin:0}.comment-edit__content{width:100%}.comment-edit__actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem}\n"], dependencies: [{ kind: "component", type: TextareaInputComponent, selector: "m-textarea-input" }, { kind: "component", type: ButtonGroupComponent, selector: "m-button-group, m-one-button-group", inputs: ["buttons", "names", "exclude", "vertical", "size"], outputs: ["clicked"] }, { kind: "component", type: HeaderComponent$1, selector: "m-header", inputs: ["level", "label", "icon", "actionButton", "actionLabel", "noTranslate", "params"], outputs: ["actionClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
35129
35187
  }
35130
35188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CommentEditModalComponent, decorators: [{
35131
35189
  type: Component,
@@ -35490,4 +35548,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
35490
35548
  */
35491
35549
 
35492
35550
  export { DEFAULT_FILTER_RANGE_MODE 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, ChatBubbleComponent as H, IS_DESIGN_MODE as I, CheckboxInputComponent as J, ClearableInputComponent as K, LabelComponent as L, ColComponent as M, ColorPickerInputComponent as N, CommentItemComponent as O, CommentsApiService as P, CommentsComponent as Q, CommentsStore as R, CompactNumberPipe as S, TranslatePipe as T, ComponentInputComponent as U, ComponentStepperComponent as V, ConfigComponent as W, ConfirmComponent as X, ContextMenuComponent as Y, CustomIconClass as Z, CustomIconEditComponent as _, BaseTextInputComponent as a, MoneyPipe as a$, DEFAULT_FILTER_VARIANT as a0, DEFAULT_NAV_PARAM as a1, DEFAULT_NAV_SEGMENT as a2, DEFAULT_SIZE as a3, DashboardCardComponent as a4, DateInputComponent as a5, DatePickerComponent as a6, DeviceService as a7, DomService as a8, Domain as a9, IconComponent as aA, ImgComponent as aB, InputType as aC, InstrumentScoreComponent as aD, InterceptorObservables as aE, JumbotronComponent as aF, KeyValueComponent as aG, LAYOUT_ASSET_FOLDER as aH, LOGIN_COMPONENT as aI, LOGIN_STORE as aJ, LanguageComponent as aK, ListComponent as aL, LogoComponent as aM, MAG_SOCKET_EVENT as aN, MHeroColorDirective as aO, MHeroComponent as aP, MODAL_REF as aQ, MODAL_STORE_REF as aR, MRefDirective as aS, MStepComponent as aT, MURL_PARAM as aU, MURL_SEP as aV, ManifestEnrichmentService as aW, MenuComponent as aX, ModalDirective as aY, ModalRef as aZ, ModalStore as a_, DotGridComponent as aa, DragListDirective as ab, DragListItemDirective as ac, DraggableDirective as ad, DropdownInputComponent as ae, FILTER_GROUP_CONTEXT as af, FILTER_RANGE_MODES as ag, FILTER_VARIANTS as ah, FLEX_VARIANTS as ai, FOLDER_PICK_LISTENER as aj, FORM_ASSET_FOLDER as ak, FileService as al, FileUploadDirective as am, FileUploadInputComponent as an, FlexComponent as ao, FlexItemComponent as ap, FormGroupComponent as aq, FrameComponent as ar, FreezeService as as, GRID_BREAKPOINTS as at, GetNavService as au, HeaderComponent$1 as av, HighlightDirective as aw, HttpService as ax, ICON_SOURCE as ay, IS_SIDE_PANEL as az, TextOutputComponent as b, SearchUserPanelComponent as b$, MultiRangeInputComponent as b0, MurlUrlSerializer as b1, NAV_DEFAULT_MURL as b2, NAV_ID_SEP as b3, NAV_MAIN_BUTTONS as b4, NAV_SEGMENT_RE as b5, NAV_STORE_REF as b6, NAV_WC_COMPONENTS as b7, NAV_WIDGET_MAP as b8, NavComponent as b9, PanelComponent as bA, PercentagePipe as bB, PlaygroundComponent as bC, PositionDirective as bD, PwaInstallComponent as bE, ROOT_NAV$1 as bF, RadioGroupComponent as bG, RadioInputComponent as bH, RangeInputComponent as bI, RatingInputComponent as bJ, ReactiveElementComponent as bK, RemoteComponent as bL, RemoteLoaderService as bM, ResizeElementComponent as bN, RouteContainer as bO, RowComponent as bP, SEARCH_QUERY as bQ, SEARCH_RESULTS_EVENT as bR, SECTION_ACCORDION_GROUP as bS, SECTION_FORM_CONTEXT as bT, SHARED_ICONS as bU, SIZE_CONTEXT as bV, ScoreComponent as bW, ScrollComponent as bX, ScrollService as bY, SearchPanelComponent as bZ, SearchStore as b_, NavDetailsComponent as ba, NavHeaderComponent as bb, NavMenuComponent as bc, NavStore as bd, NavTrailComponent as be, NothingComponent as bf, NotificationElementComponent as bg, NotificationGroupComponent as bh, NotificationPopupComponent as bi, NotificationService as bj, NotificationStore as bk, NotificationType as bl, NotificationWidgetComponent as bm, ONE_ASSET_BASE_URL as bn, OPTIONS_SOURCE as bo, OVERLAY_WIDGETS as bp, OneApp as bq, OptionsSourceDirective as br, OverlayBodyComponent as bs, OverlayRef as bt, OverlayService as bu, PLATFORM_BUTTON_NAV_IDS as bv, PLATFORM_EXTENSIBLE_NAV_IDS as bw, PLATFORM_NAV_MAP as bx, PLATFORM_ROOT_CHILDREN as by, PaginationComponent as bz, ButtonComponent as c, TreeGridComponent as c$, SectionAccordionDirective as c0, SectionAccordionGroupDirective as c1, SectionBackComponent as c2, SectionBadgesComponent as c3, SectionButtonGroupComponent as c4, SectionCardComponent as c5, SectionCarouselComponent as c6, SectionComponent as c7, SectionFilterComponent as c8, SectionFilterGroupComponent as c9, StepperComponent as cA, StepsComponent as cB, StorageService as cC, StrokeLinecap as cD, StrokeLinejoin as cE, SummaryComponent as cF, SvgGeneratorComponent as cG, SvgGeneratorService as cH, SvgService as cI, TOTAL_COLUMNS as cJ, TRANSLATION_SOURCE as cK, TableComponent as cL, TechnicalMeterComponent as cM, TextInputComponent as cN, TextareaInputComponent as cO, ThemeComponent as cP, ThemeDataService as cQ, ThemeService as cR, ThemeStore as cS, TimeAgoPipe as cT, TimelineComponent as cU, ToggleButtonComponent as cV, ToggleInputComponent as cW, ToggleRadioInputComponent as cX, ToolTipDirective as cY, TooltipComponent as cZ, TranslateService as c_, SectionFilterMenuComponent as ca, SectionFilterPanelComponent as cb, SectionFilterRangePanelComponent as cc, SectionFooterComponent as cd, SectionFormComponent as ce, SectionFormItemComponent as cf, SectionHeaderComponent as cg, SectionHeroComponent as ch, SectionPaginationComponent as ci, SectionSearchComponent as cj, SectionStepperComponent as ck, SectionTabsComponent as cl, SectionToggleComponent as cm, SectionToggleItemDirective as cn, SelectableCardInputComponent as co, SelectorDirective as cp, SettingsSearchBarComponent as cq, SettingsSearchService as cr, ShapeComponent as cs, SharedStoreRegistry as ct, SidePanelDirective as cu, Size as cv, SocketStore as cw, SortComponent as cx, StatComponent as cy, StepComponent as cz, APP_CONTEXT_REF as d, getScrollParent as d$, URL_SEP as d0, USER_STORE_REF as d1, USER_TAB_MAP as d2, UniverseComponent as d3, UserApiService as d4, UserAvatarComponent as d5, UserComponent as d6, UserNavComponent as d7, UserSettingsComponent as d8, UserStore as d9, deriveContrastColor as dA, deriveOppositeColor as dB, derivePropertyName as dC, emailValidation as dD, evaluate as dE, evaluateBool as dF, filterHoldsList as dG, filterHoldsOneBound as dH, filterHoldsOptions as dI, filterHoldsRange as dJ, filterList as dK, filterNumber as dL, filterNumberList as dM, filterOne as dN, filterPanelOf as dO, filterPanelWidth as dP, filterRange as dQ, filterTreeGridRows as dR, filterValueList as dS, filterValues as dT, flattenTreeGridRows as dU, formatBadgeCount as dV, fullName as dW, generateClipPath as dX, generateTransform as dY, getClassList as dZ, getProperty as d_, WC_ROUTE_CHANGED_EVENT as da, WC_SEARCH_GROUPS as db, WIN_USER_TAB_HOOK as dc, WIN_USER_TAB_KEY as dd, WatermarkComponent as de, WcRouterStore as df, WrapperInputComponent as dg, anchorNavId as dh, applyColorsToElement as di, assetOptions as dj, bootstrapMagApp as dk, bootstrapPwaInstall as dl, buildWcBaseUrl as dm, calculateLuminance as dn, calculateRanks as dp, cellText as dq, checkFilterCondition as dr, childNavId as ds, classListSignal as dt, coerceSize as du, cornerEdge as dv, cornerSide as dw, createMap as dx, createPlatformNavMap as dy, deriveAvatarGradient as dz, ASSET_BASE_URL as e, processImageToSvg as e$, getTierFromPreviewPath as e0, getTreeGridRow as e1, getUniqueId as e2, getValue as e3, hasErrorComputed as e4, hexToRgb as e5, hslToRgb$1 as e6, initMagmoniumApp as e7, initialNotificationState as e8, initialState$2 as e9, matchFieldValidation as eA, maxLengthValidation as eB, maxValidation as eC, mergePlatformNav as eD, mergeUnique as eE, mergeUniqueBy as eF, mergeUniqueWith as eG, minAgeValidation as eH, minLengthValidation as eI, minValidation as eJ, miniMarkToHtml as eK, navIdChain as eL, navIdFor as eM, navIdSegment as eN, navIdToRoutePath as eO, navIdToSegments as eP, navParamOf as eQ, navToId as eR, normalizeAssetOptions as eS, parentNavId as eT, parseAddress as eU, parseColor as eV, parsePatternNames as eW, patternValidation as eX, patternsValidation as eY, platformNavWidgets as eZ, privateGuard as e_, initials as ea, injectAuthenticate as eb, injectInstallApp as ec, injectParentSize as ed, injectScrollSticky as ee, isButtonName as ef, isCancelledComputed as eg, isExtensiblePlatformNavId as eh, isJson as ei, isLoadingComputed as ej, isLocalhost as ek, isNavInstanceConfig as el, isNavMenuConfig as em, isNavRowsConfig as en, isPlatformNavId as eo, isSize as ep, isTierPreview as eq, isUrlLocalhost as er, isValidNavId as es, isValidNavSegment as et, isWebComponent as eu, linkToId as ev, linkToNav as ew, loadingActions as ex, mInterceptor as ey, manualValidation as ez, AccordionBodyDirective as f, provideAppContext as f0, provideMagAppConfig as f1, provideMagWcConfig as f2, provideMagWcRoutes as f3, provideModalComponents as f4, provideMurlUrlSerializer as f5, provideNavWidgets as f6, provideOverlayWidgets as f7, providePlatformNavWidgets as f8, provideSearch as f9, toHostNavId as fA, toLength$1 as fB, toLocalNavId as fC, toggleTreeGridRow as fD, unfetchedPlatformNav as fE, urlValidation as fF, provideSizeContext as fa, provideUserTabs as fb, publicGuard as fc, readFieldPatterns as fd, renderAddress as fe, requiredValidation as ff, resolveConfigAsset as fg, resolveIconSize as fh, resolvePallet as fi, resolvePatternRules as fj, resolveSize as fk, rgbToHex as fl, rgbToHsl as fm, rowHasChildren as fn, samePatterns as fo, segmentsToNavId as fp, setProperty as fq, setTreeGridChildren as fr, settingsWidgets as fs, shouldShowBadge as ft, splitNavId as fu, splitOnMatch as fv, stringToColor as fw, toAttrBool as fx, toAttrNumber as fy, toCssLength as fz, 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 };
35493
- //# sourceMappingURL=magmonium-one-magmonium-one-BRVXUCO-.mjs.map
35551
+ //# sourceMappingURL=magmonium-one-magmonium-one-DEK5Rd6f.mjs.map