@magmonium/one 0.4.30 → 0.4.31

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.
Files changed (78) hide show
  1. package/assets/docs/en/app-release.md +0 -11
  2. package/assets/i18n/en.json +2 -0
  3. package/fesm2022/magmonium-one-attribute-value-CLBOZcme.mjs +255 -0
  4. package/fesm2022/magmonium-one-attribute-value-CLBOZcme.mjs.map +1 -0
  5. package/fesm2022/magmonium-one-base-checkbox-D7NYJdU3.mjs +77 -0
  6. package/fesm2022/magmonium-one-base-checkbox-D7NYJdU3.mjs.map +1 -0
  7. package/fesm2022/magmonium-one-base-dropdown-CEDsqaPz.mjs +604 -0
  8. package/fesm2022/magmonium-one-base-dropdown-CEDsqaPz.mjs.map +1 -0
  9. package/fesm2022/magmonium-one-base-input-BOaD-WIi.mjs +183 -0
  10. package/fesm2022/magmonium-one-base-input-BOaD-WIi.mjs.map +1 -0
  11. package/fesm2022/magmonium-one-base-text-D6p6_vsb.mjs +94 -0
  12. package/fesm2022/magmonium-one-base-text-D6p6_vsb.mjs.map +1 -0
  13. package/fesm2022/magmonium-one-button-rVNnp6G8.mjs +1281 -0
  14. package/fesm2022/magmonium-one-button-rVNnp6G8.mjs.map +1 -0
  15. package/fesm2022/magmonium-one-checkbox-rj4XHxb3.mjs +365 -0
  16. package/fesm2022/magmonium-one-checkbox-rj4XHxb3.mjs.map +1 -0
  17. package/fesm2022/magmonium-one-color-utl-CirPzUFk.mjs +449 -0
  18. package/fesm2022/magmonium-one-color-utl-CirPzUFk.mjs.map +1 -0
  19. package/fesm2022/magmonium-one-directives-DOBENX_K.mjs +1285 -0
  20. package/fesm2022/magmonium-one-directives-DOBENX_K.mjs.map +1 -0
  21. package/fesm2022/magmonium-one-file.service-Bo06pU3_.mjs +65 -0
  22. package/fesm2022/magmonium-one-file.service-Bo06pU3_.mjs.map +1 -0
  23. package/fesm2022/magmonium-one-group-Cue4x6tD.mjs +428 -0
  24. package/fesm2022/magmonium-one-group-Cue4x6tD.mjs.map +1 -0
  25. package/fesm2022/magmonium-one-header-DPVnaEOV.mjs +380 -0
  26. package/fesm2022/magmonium-one-header-DPVnaEOV.mjs.map +1 -0
  27. package/fesm2022/magmonium-one-icon-Dso-9RMN.mjs +833 -0
  28. package/fesm2022/magmonium-one-icon-Dso-9RMN.mjs.map +1 -0
  29. package/fesm2022/magmonium-one-image-editor-C7AtzEf6.mjs +438 -0
  30. package/fesm2022/magmonium-one-image-editor-C7AtzEf6.mjs.map +1 -0
  31. package/fesm2022/magmonium-one-image-frame-BTSaUSAi.mjs +116 -0
  32. package/fesm2022/magmonium-one-image-frame-BTSaUSAi.mjs.map +1 -0
  33. package/fesm2022/magmonium-one-input-DqHPorA1.mjs +39 -0
  34. package/fesm2022/magmonium-one-input-DqHPorA1.mjs.map +1 -0
  35. package/fesm2022/magmonium-one-label-B30Q4Vut.mjs +574 -0
  36. package/fesm2022/magmonium-one-label-B30Q4Vut.mjs.map +1 -0
  37. package/fesm2022/magmonium-one-m-ref-Dt0DCm8X.mjs +147 -0
  38. package/fesm2022/magmonium-one-m-ref-Dt0DCm8X.mjs.map +1 -0
  39. package/fesm2022/magmonium-one-menu-BBOnOK4M.mjs +887 -0
  40. package/fesm2022/magmonium-one-menu-BBOnOK4M.mjs.map +1 -0
  41. package/fesm2022/magmonium-one-multi-range-DCOwngql.mjs +458 -0
  42. package/fesm2022/magmonium-one-multi-range-DCOwngql.mjs.map +1 -0
  43. package/fesm2022/magmonium-one-options-asset-D8Gg1yNl.mjs +97 -0
  44. package/fesm2022/magmonium-one-options-asset-D8Gg1yNl.mjs.map +1 -0
  45. package/fesm2022/magmonium-one-otp-DLF7Pq94.mjs +261 -0
  46. package/fesm2022/magmonium-one-otp-DLF7Pq94.mjs.map +1 -0
  47. package/fesm2022/magmonium-one-password-BSOU4RI0.mjs +217 -0
  48. package/fesm2022/magmonium-one-password-BSOU4RI0.mjs.map +1 -0
  49. package/fesm2022/magmonium-one-radio-CYnWLXPZ.mjs +111 -0
  50. package/fesm2022/magmonium-one-radio-CYnWLXPZ.mjs.map +1 -0
  51. package/fesm2022/magmonium-one-range-CmmZAr57.mjs +216 -0
  52. package/fesm2022/magmonium-one-range-CmmZAr57.mjs.map +1 -0
  53. package/fesm2022/magmonium-one-rolldown-runtime-DpJrqANO.mjs +11 -0
  54. package/fesm2022/magmonium-one-selector-DDnBYNLr.mjs +1065 -0
  55. package/fesm2022/magmonium-one-selector-DDnBYNLr.mjs.map +1 -0
  56. package/fesm2022/magmonium-one-size-converter-B-UubQQ0.mjs +1057 -0
  57. package/fesm2022/magmonium-one-size-converter-B-UubQQ0.mjs.map +1 -0
  58. package/fesm2022/magmonium-one-text-FXb-RyBh.mjs +406 -0
  59. package/fesm2022/magmonium-one-text-FXb-RyBh.mjs.map +1 -0
  60. package/fesm2022/magmonium-one-text-output-D2XQWyL0.mjs +296 -0
  61. package/fesm2022/magmonium-one-text-output-D2XQWyL0.mjs.map +1 -0
  62. package/fesm2022/magmonium-one-theme-a7GlFbzE.mjs +1 -0
  63. package/fesm2022/magmonium-one-toggle-C0eTrtkt.mjs +231 -0
  64. package/fesm2022/magmonium-one-toggle-C0eTrtkt.mjs.map +1 -0
  65. package/fesm2022/magmonium-one.mjs +49231 -2
  66. package/fesm2022/magmonium-one.mjs.map +1 -1
  67. package/package.json +8 -8
  68. package/types/magmonium-one.d.ts +13801 -9516
  69. package/fesm2022/magmonium-one-image-editor-QPOy7XQt.mjs +0 -290
  70. package/fesm2022/magmonium-one-image-editor-QPOy7XQt.mjs.map +0 -1
  71. package/fesm2022/magmonium-one-magmonium-one-BTi-rHpF.mjs +0 -41583
  72. package/fesm2022/magmonium-one-magmonium-one-BTi-rHpF.mjs.map +0 -1
  73. package/fesm2022/magmonium-one-otp-BcNCgGpz.mjs +0 -201
  74. package/fesm2022/magmonium-one-otp-BcNCgGpz.mjs.map +0 -1
  75. package/fesm2022/magmonium-one-password-BDcSzmV_.mjs +0 -105
  76. package/fesm2022/magmonium-one-password-BDcSzmV_.mjs.map +0 -1
  77. package/fesm2022/magmonium-one-toggle-bLWTwEHE.mjs +0 -62
  78. package/fesm2022/magmonium-one-toggle-bLWTwEHE.mjs.map +0 -1
@@ -0,0 +1,1281 @@
1
+ import { K as NAV_STORE_REF, c as TranslatePipe, v as HttpService } from "./magmonium-one-size-converter-B-UubQQ0.mjs";
2
+ import { n as resolvePallet } from "./magmonium-one-color-utl-CirPzUFk.mjs";
3
+ import "./magmonium-one-theme-a7GlFbzE.mjs";
4
+ import { r as IconComponent } from "./magmonium-one-icon-Dso-9RMN.mjs";
5
+ import { n as toAttrNumber, r as ConfigComponent, t as toAttrBool } from "./magmonium-one-attribute-value-CLBOZcme.mjs";
6
+ import { t as MRefDirective } from "./magmonium-one-m-ref-Dt0DCm8X.mjs";
7
+ import * as i0 from "@angular/core";
8
+ import { ChangeDetectionStrategy, Component, InjectionToken, ViewEncapsulation, computed, effect, forwardRef, inject, input, model, output, signal, viewChild } from "@angular/core";
9
+ import { RouterModule } from "@angular/router";
10
+ import { IMAGE_LOADER, NgOptimizedImage, NgTemplateOutlet } from "@angular/common";
11
+ const getBadgeClasses = (config) => {
12
+ if (!config) return "badge";
13
+ const classes = ["badge"];
14
+ if (config.variant) classes.push(`badge--${config.variant}`);
15
+ if (config.position && config.position !== "static") classes.push(`badge--${config.position}`);
16
+ if (config.animation && config.animation !== "none") classes.push(`badge--${config.animation}`);
17
+ return classes.join(" ");
18
+ };
19
+ const formatBadgeCount = (count, maxCount = 99) => {
20
+ if (count === void 0 || count <= 0) return "";
21
+ if (count > maxCount) return `${maxCount}+`;
22
+ return count.toString();
23
+ };
24
+ const shouldShowBadge = (count) => count !== void 0 && count > 0;
25
+ var BadgeComponent = class BadgeComponent extends ConfigComponent {
26
+ subFolder = "badges";
27
+ config = model(...ngDevMode ? [void 0, { debugName: "config" }] : /* istanbul ignore next */ []);
28
+ classes = computed(() => getBadgeClasses(this.config()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
29
+ iconConfig = computed(() => {
30
+ const iconName = this.config()?.icon;
31
+ if (!iconName) return void 0;
32
+ const variant = this.config()?.variant;
33
+ let color = "";
34
+ if (variant === "saas") color = "mm";
35
+ else if (variant === "minimal") color = "textSecondary";
36
+ else color = this.pallet()?.contrastColor || "";
37
+ return {
38
+ name: iconName,
39
+ color
40
+ };
41
+ }, ...ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []);
42
+ static ɵfac = i0.ɵɵngDeclareFactory({
43
+ minVersion: "12.0.0",
44
+ version: "22.2.1",
45
+ ngImport: i0,
46
+ type: BadgeComponent,
47
+ deps: null,
48
+ target: i0.ɵɵFactoryTarget.Component
49
+ });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({
51
+ minVersion: "17.0.0",
52
+ version: "22.2.1",
53
+ type: BadgeComponent,
54
+ isStandalone: true,
55
+ selector: "m-badge",
56
+ inputs: { config: {
57
+ classPropertyName: "config",
58
+ publicName: "config",
59
+ isSignal: true,
60
+ isRequired: false,
61
+ transformFunction: null
62
+ } },
63
+ outputs: { config: "configChange" },
64
+ usesInheritance: true,
65
+ ngImport: i0,
66
+ template: `
67
+ <span [class]="classes()">
68
+ @if (iconConfig(); as icon) {
69
+ <m-icon [config]="icon" />
70
+ }
71
+ <ng-content />
72
+ @if (config()?.ping) {
73
+ <span class="badge__ping"></span>
74
+ }
75
+ </span>
76
+ `,
77
+ isInline: true,
78
+ 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)}}.badge{height:var(--m-badge-height, calc(var(--m-badge-size, .875rem) * 2));min-height:var(--m-badge-height, calc(var(--m-badge-size, .875rem) * 2));min-width:var(--m-badge-min-width, calc(var(--m-badge-size, .875rem) * 2));padding:var(--m-badge-padding, 0 calc(var(--m-badge-size, .875rem) * 1.25 * 1));gap:var(--m-badge-gap, calc(var(--m-badge-size, .875rem) * .375));border-width:max(1px,var(--m-badge-size, .875rem) * .0625);border-style:solid;border-color:var(--m-badge-border-color, transparent);border-radius:var(--m-badge-radius, 9999px);font-size:var(--m-badge-size, .875rem);display:inline-flex;align-items:center;justify-content:center;position:relative;font-weight:300;line-height:1;color:var(--M-BADGE-color-contrast, var(--m-inverse-text));background-color:var(--M-BADGE-color, var(--m-mm));white-space:nowrap;transition:all .3s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.badge m-icon{font-size:1.1em;margin-left:-.1em;margin-right:-.1em}.badge--absolute,.badge--top-right{position:absolute;top:0;right:0;transform:translate(35%,-35%);z-index:5}.badge--top-left{position:absolute;top:0;left:0;transform:translate(-35%,-35%);z-index:5}.badge--bottom-right{position:absolute;bottom:0;right:0;transform:translate(35%,35%);z-index:5}.badge--bottom-left{position:absolute;bottom:0;left:0;transform:translate(-35%,35%);z-index:5}.badge--saas{background-color:var(--m-mm-lite);color:var(--m-mm);border:1.5px solid rgba(var(--m-mm-rgb, 120, 120, 120),.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000000a}.badge--status{padding:0;width:.85em;height:.85em;min-width:.85em;border-radius:50%;border:2px solid var(--m-background);background-color:var(--m-success)}.badge--status.badge--danger,.badge--status--danger{background-color:var(--m-error)}.badge--minimal{background:transparent;color:var(--m-text-secondary);padding:0;min-width:auto;border-radius:0}.badge--chip{background:transparent;color:var(--m-mm);border-color:var(--m-mm);border-radius:9999px;padding:var(--m-badge-chip-padding, 0 .5em)}.badge--primary,.badge--default{background-color:var(--M-BADGE-color, var(--m-mm));color:var(--M-BADGE-color-contrast, var(--m-inverse-text))}.badge--danger{background-color:var(--M-BADGE-color, var(--m-error));color:var(--M-BADGE-color-contrast, var(--m-inverse-text))}.badge--xs{--m-badge-size: .65rem}.badge--sm{--m-badge-size: .75rem}.badge--md{--m-badge-size: .875rem}.badge--lg{--m-badge-size: 1em}.badge--xl{--m-badge-size: 1.25em }.badge--pulse{animation:badge-pulse 2s infinite ease-in-out}.badge--shimmer{overflow:hidden}.badge--shimmer:before{content:\"\";position:absolute;top:0;left:-150%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:badge-shimmer 3s infinite linear;transform:skew(-25deg)}.badge__ping{position:absolute;inset:-2px;border-radius:inherit;background-color:inherit;animation:badge-ping 1.5s cubic-bezier(0,0,.2,1) infinite;opacity:.5;pointer-events:none;z-index:-1}@keyframes badge-ping{0%{transform:scale(1);opacity:.6}75%,to{transform:scale(2.8);opacity:0}}@keyframes badge-pulse{0%,to{transform:scale(1);box-shadow:0 0 rgba(var(--M-BADGE-color-rgb, 120, 120, 120),.4)}50%{transform:scale(1.05);box-shadow:0 0 0 8px rgba(var(--M-BADGE-color-rgb, 120, 120, 120),0)}}@keyframes badge-shimmer{0%{left:-150%}30%,to{left:150%}}\n"],
79
+ dependencies: [{
80
+ kind: "component",
81
+ type: IconComponent,
82
+ selector: "m-icon, m-one-icon",
83
+ inputs: [
84
+ "config",
85
+ "name",
86
+ "color",
87
+ "size",
88
+ "one",
89
+ "baseUrl",
90
+ "remote"
91
+ ],
92
+ outputs: ["configChange"]
93
+ }],
94
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
95
+ });
96
+ };
97
+ i0.ɵɵngDeclareClassMetadata({
98
+ minVersion: "12.0.0",
99
+ version: "22.2.1",
100
+ ngImport: i0,
101
+ type: BadgeComponent,
102
+ decorators: [{
103
+ type: Component,
104
+ args: [{
105
+ selector: "m-badge",
106
+ imports: [IconComponent],
107
+ template: `
108
+ <span [class]="classes()">
109
+ @if (iconConfig(); as icon) {
110
+ <m-icon [config]="icon" />
111
+ }
112
+ <ng-content />
113
+ @if (config()?.ping) {
114
+ <span class="badge__ping"></span>
115
+ }
116
+ </span>
117
+ `,
118
+ changeDetection: ChangeDetectionStrategy.OnPush,
119
+ 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)}}.badge{height:var(--m-badge-height, calc(var(--m-badge-size, .875rem) * 2));min-height:var(--m-badge-height, calc(var(--m-badge-size, .875rem) * 2));min-width:var(--m-badge-min-width, calc(var(--m-badge-size, .875rem) * 2));padding:var(--m-badge-padding, 0 calc(var(--m-badge-size, .875rem) * 1.25 * 1));gap:var(--m-badge-gap, calc(var(--m-badge-size, .875rem) * .375));border-width:max(1px,var(--m-badge-size, .875rem) * .0625);border-style:solid;border-color:var(--m-badge-border-color, transparent);border-radius:var(--m-badge-radius, 9999px);font-size:var(--m-badge-size, .875rem);display:inline-flex;align-items:center;justify-content:center;position:relative;font-weight:300;line-height:1;color:var(--M-BADGE-color-contrast, var(--m-inverse-text));background-color:var(--M-BADGE-color, var(--m-mm));white-space:nowrap;transition:all .3s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.badge m-icon{font-size:1.1em;margin-left:-.1em;margin-right:-.1em}.badge--absolute,.badge--top-right{position:absolute;top:0;right:0;transform:translate(35%,-35%);z-index:5}.badge--top-left{position:absolute;top:0;left:0;transform:translate(-35%,-35%);z-index:5}.badge--bottom-right{position:absolute;bottom:0;right:0;transform:translate(35%,35%);z-index:5}.badge--bottom-left{position:absolute;bottom:0;left:0;transform:translate(-35%,35%);z-index:5}.badge--saas{background-color:var(--m-mm-lite);color:var(--m-mm);border:1.5px solid rgba(var(--m-mm-rgb, 120, 120, 120),.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000000a}.badge--status{padding:0;width:.85em;height:.85em;min-width:.85em;border-radius:50%;border:2px solid var(--m-background);background-color:var(--m-success)}.badge--status.badge--danger,.badge--status--danger{background-color:var(--m-error)}.badge--minimal{background:transparent;color:var(--m-text-secondary);padding:0;min-width:auto;border-radius:0}.badge--chip{background:transparent;color:var(--m-mm);border-color:var(--m-mm);border-radius:9999px;padding:var(--m-badge-chip-padding, 0 .5em)}.badge--primary,.badge--default{background-color:var(--M-BADGE-color, var(--m-mm));color:var(--M-BADGE-color-contrast, var(--m-inverse-text))}.badge--danger{background-color:var(--M-BADGE-color, var(--m-error));color:var(--M-BADGE-color-contrast, var(--m-inverse-text))}.badge--xs{--m-badge-size: .65rem}.badge--sm{--m-badge-size: .75rem}.badge--md{--m-badge-size: .875rem}.badge--lg{--m-badge-size: 1em}.badge--xl{--m-badge-size: 1.25em }.badge--pulse{animation:badge-pulse 2s infinite ease-in-out}.badge--shimmer{overflow:hidden}.badge--shimmer:before{content:\"\";position:absolute;top:0;left:-150%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:badge-shimmer 3s infinite linear;transform:skew(-25deg)}.badge__ping{position:absolute;inset:-2px;border-radius:inherit;background-color:inherit;animation:badge-ping 1.5s cubic-bezier(0,0,.2,1) infinite;opacity:.5;pointer-events:none;z-index:-1}@keyframes badge-ping{0%{transform:scale(1);opacity:.6}75%,to{transform:scale(2.8);opacity:0}}@keyframes badge-pulse{0%,to{transform:scale(1);box-shadow:0 0 rgba(var(--M-BADGE-color-rgb, 120, 120, 120),.4)}50%{transform:scale(1.05);box-shadow:0 0 0 8px rgba(var(--M-BADGE-color-rgb, 120, 120, 120),0)}}@keyframes badge-shimmer{0%{left:-150%}30%,to{left:150%}}\n"]
120
+ }]
121
+ }],
122
+ propDecorators: { config: [{
123
+ type: i0.Input,
124
+ args: [{
125
+ isSignal: true,
126
+ alias: "config",
127
+ required: false
128
+ }]
129
+ }, {
130
+ type: i0.Output,
131
+ args: ["configChange"]
132
+ }] }
133
+ });
134
+ var ReactiveElementComponent = class extends ConfigComponent {
135
+ classList = signal([], ...ngDevMode ? [{ debugName: "classList" }] : /* istanbul ignore next */ []);
136
+ observer = null;
137
+ constructor() {
138
+ super();
139
+ effect(() => {
140
+ const el = this.element()?.nativeElement;
141
+ if (this.observer) {
142
+ this.observer.disconnect();
143
+ this.observer = null;
144
+ }
145
+ if (!el) {
146
+ this.classList.set([]);
147
+ return;
148
+ }
149
+ this.classList.set(Array.from(el.classList));
150
+ this.observer = new MutationObserver(() => {
151
+ this.classList.set(Array.from(el.classList));
152
+ });
153
+ this.observer.observe(el, {
154
+ attributes: true,
155
+ attributeFilter: ["class"]
156
+ });
157
+ });
158
+ }
159
+ hasClass(className) {
160
+ return this.classList().includes(className);
161
+ }
162
+ toggleClass(className, force) {
163
+ const el = this.element()?.nativeElement;
164
+ if (!el) return;
165
+ if (force !== void 0) el.classList.toggle(className, force);
166
+ else el.classList.toggle(className);
167
+ }
168
+ addClass(...classNames) {
169
+ const el = this.element()?.nativeElement;
170
+ if (!el) return;
171
+ el.classList.add(...classNames);
172
+ }
173
+ removeClass(...classNames) {
174
+ const el = this.element()?.nativeElement;
175
+ if (!el) return;
176
+ el.classList.remove(...classNames);
177
+ }
178
+ replaceClass(oldClass, newClass) {
179
+ const el = this.element()?.nativeElement;
180
+ if (!el) return;
181
+ el.classList.replace(oldClass, newClass);
182
+ }
183
+ setClassList(classNames) {
184
+ const el = this.element()?.nativeElement;
185
+ if (!el) return;
186
+ el.className = classNames.join(" ");
187
+ }
188
+ };
189
+ function deriveButtonClass(button) {
190
+ if (!button) return "";
191
+ const classList = [];
192
+ if (button.icon || button.imgSrc) {
193
+ if (!button.label || button.iconOnly) classList.push("only-icon");
194
+ classList.push(button.isRightIcon ? "with-right-icon" : "with-left-icon");
195
+ }
196
+ if (button.variant === "primary") classList.push("primary");
197
+ if (button.variant === "ghost") classList.push("ghost");
198
+ if (button.variant === "tab") classList.push("tab");
199
+ if (button.fullWidth) classList.push("full-width");
200
+ if (button.stacked) classList.push("stacked");
201
+ if (button.badge) classList.push("has-badge");
202
+ if (button.nonClickable) classList.push("read-only");
203
+ return classList.join(" ");
204
+ }
205
+ function isButtonName(name, button) {
206
+ if (!button) return false;
207
+ return button.name === name || button.label === name;
208
+ }
209
+ function deriveGroupClass(group) {
210
+ if (!group) return "";
211
+ const classList = [];
212
+ classList.push(group?.vertical ? "vertical" : "horizontal");
213
+ if (group?.center) classList.push("center");
214
+ if (group?.align) classList.push(`align-${group.align}`);
215
+ if (group?.primary) classList.push("is-primary");
216
+ return classList.join(" ");
217
+ }
218
+ var ImgComponent = class ImgComponent {
219
+ #httpService = inject(HttpService);
220
+ src = input(...ngDevMode ? [void 0, { debugName: "src" }] : /* istanbul ignore next */ []);
221
+ data = input(...ngDevMode ? [void 0, { debugName: "data" }] : /* istanbul ignore next */ []);
222
+ dataType = input("image/jpeg", ...ngDevMode ? [{ debugName: "dataType" }] : /* istanbul ignore next */ []);
223
+ alt = input.required(...ngDevMode ? [{ debugName: "alt" }] : /* istanbul ignore next */ []);
224
+ priority = input(false, ...ngDevMode ? [{ debugName: "priority" }] : /* istanbul ignore next */ []);
225
+ fill = input(true, ...ngDevMode ? [{ debugName: "fill" }] : /* istanbul ignore next */ []);
226
+ width = input(void 0, ...ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []);
227
+ height = input(void 0, ...ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []);
228
+ remote = input(...ngDevMode ? [void 0, { debugName: "remote" }] : /* istanbul ignore next */ []);
229
+ ngSrcset = input(...ngDevMode ? [void 0, { debugName: "ngSrcset" }] : /* istanbul ignore next */ []);
230
+ sizes = input(...ngDevMode ? [void 0, { debugName: "sizes" }] : /* istanbul ignore next */ []);
231
+ attrWidth = computed(() => this.width() ?? 1200, ...ngDevMode ? [{ debugName: "attrWidth" }] : /* istanbul ignore next */ []);
232
+ attrHeight = computed(() => this.height() ?? 1800, ...ngDevMode ? [{ debugName: "attrHeight" }] : /* istanbul ignore next */ []);
233
+ widthAttr = computed(() => this.fill() ? void 0 : this.attrWidth(), ...ngDevMode ? [{ debugName: "widthAttr" }] : /* istanbul ignore next */ []);
234
+ heightAttr = computed(() => this.fill() ? void 0 : this.attrHeight(), ...ngDevMode ? [{ debugName: "heightAttr" }] : /* istanbul ignore next */ []);
235
+ boxWidth = computed(() => this.fill() ? null : this.width() ?? null, ...ngDevMode ? [{ debugName: "boxWidth" }] : /* istanbul ignore next */ []);
236
+ boxHeight = computed(() => this.fill() ? null : this.height() ?? null, ...ngDevMode ? [{ debugName: "boxHeight" }] : /* istanbul ignore next */ []);
237
+ isSized = computed(() => this.boxWidth() !== null && this.boxHeight() !== null, ...ngDevMode ? [{ debugName: "isSized" }] : /* istanbul ignore next */ []);
238
+ autoNgSrcset = computed(() => {
239
+ const custom = this.ngSrcset();
240
+ if (custom !== void 0) return custom;
241
+ const src = this.effectiveSrc();
242
+ if (src && src.includes("iiif.archive.org")) return this.fill() ? "480w, 768w, 960w, 1200w, 1920w, 2048w" : "1x, 2x";
243
+ }, ...ngDevMode ? [{ debugName: "autoNgSrcset" }] : /* istanbul ignore next */ []);
244
+ status = signal("loading", ...ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []);
245
+ effectiveSrc = computed(() => {
246
+ const d = this.data();
247
+ if (d) return `data:${this.dataType()};base64,${d}`;
248
+ const src = this.src();
249
+ const remote = this.remote();
250
+ if (src && remote && !src.startsWith("http") && !src.startsWith("data:") && !src.startsWith("blob:")) return this.#httpService.buildWcAssetUrl(remote, src);
251
+ return src;
252
+ }, ...ngDevMode ? [{ debugName: "effectiveSrc" }] : /* istanbul ignore next */ []);
253
+ showFallback = computed(() => this.status() === "error" || !this.effectiveSrc(), ...ngDevMode ? [{ debugName: "showFallback" }] : /* istanbul ignore next */ []);
254
+ isDataUri = computed(() => {
255
+ const s = this.effectiveSrc();
256
+ return !!s && (s.startsWith("data:") || s.startsWith("blob:"));
257
+ }, ...ngDevMode ? [{ debugName: "isDataUri" }] : /* istanbul ignore next */ []);
258
+ constructor() {
259
+ effect(() => {
260
+ const source = this.effectiveSrc();
261
+ this.status.set(source ? "loading" : "error");
262
+ });
263
+ }
264
+ onLoad() {
265
+ this.status.set("loaded");
266
+ }
267
+ onError() {
268
+ this.status.set("error");
269
+ }
270
+ static ɵfac = i0.ɵɵngDeclareFactory({
271
+ minVersion: "12.0.0",
272
+ version: "22.2.1",
273
+ ngImport: i0,
274
+ type: ImgComponent,
275
+ deps: [],
276
+ target: i0.ɵɵFactoryTarget.Component
277
+ });
278
+ static ɵcmp = i0.ɵɵngDeclareComponent({
279
+ minVersion: "17.0.0",
280
+ version: "22.2.1",
281
+ type: ImgComponent,
282
+ isStandalone: true,
283
+ selector: "m-img",
284
+ inputs: {
285
+ src: {
286
+ classPropertyName: "src",
287
+ publicName: "src",
288
+ isSignal: true,
289
+ isRequired: false,
290
+ transformFunction: null
291
+ },
292
+ data: {
293
+ classPropertyName: "data",
294
+ publicName: "data",
295
+ isSignal: true,
296
+ isRequired: false,
297
+ transformFunction: null
298
+ },
299
+ dataType: {
300
+ classPropertyName: "dataType",
301
+ publicName: "dataType",
302
+ isSignal: true,
303
+ isRequired: false,
304
+ transformFunction: null
305
+ },
306
+ alt: {
307
+ classPropertyName: "alt",
308
+ publicName: "alt",
309
+ isSignal: true,
310
+ isRequired: true,
311
+ transformFunction: null
312
+ },
313
+ priority: {
314
+ classPropertyName: "priority",
315
+ publicName: "priority",
316
+ isSignal: true,
317
+ isRequired: false,
318
+ transformFunction: null
319
+ },
320
+ fill: {
321
+ classPropertyName: "fill",
322
+ publicName: "fill",
323
+ isSignal: true,
324
+ isRequired: false,
325
+ transformFunction: null
326
+ },
327
+ width: {
328
+ classPropertyName: "width",
329
+ publicName: "width",
330
+ isSignal: true,
331
+ isRequired: false,
332
+ transformFunction: null
333
+ },
334
+ height: {
335
+ classPropertyName: "height",
336
+ publicName: "height",
337
+ isSignal: true,
338
+ isRequired: false,
339
+ transformFunction: null
340
+ },
341
+ remote: {
342
+ classPropertyName: "remote",
343
+ publicName: "remote",
344
+ isSignal: true,
345
+ isRequired: false,
346
+ transformFunction: null
347
+ },
348
+ ngSrcset: {
349
+ classPropertyName: "ngSrcset",
350
+ publicName: "ngSrcset",
351
+ isSignal: true,
352
+ isRequired: false,
353
+ transformFunction: null
354
+ },
355
+ sizes: {
356
+ classPropertyName: "sizes",
357
+ publicName: "sizes",
358
+ isSignal: true,
359
+ isRequired: false,
360
+ transformFunction: null
361
+ }
362
+ },
363
+ host: { properties: {
364
+ "style.width.px": "boxWidth()",
365
+ "style.height.px": "boxHeight()"
366
+ } },
367
+ providers: [{
368
+ provide: IMAGE_LOADER,
369
+ useValue: (config) => {
370
+ const src = config.src;
371
+ if (src.includes("iiif.archive.org")) {
372
+ if (src.match(/(\/full\/)([^/]+)(\/0\/)/) && config.width) return src.replace(/(\/full\/)[^/]+(\/0\/)/, `$1${config.width},$2`);
373
+ }
374
+ return src;
375
+ }
376
+ }],
377
+ ngImport: i0,
378
+ template: `
379
+ <div
380
+ class="m-img"
381
+ [class.m-img--loaded]="status() === 'loaded'"
382
+ [class.m-img--error]="showFallback()"
383
+ [class.m-img--fill]="fill()"
384
+ [class.m-img--priority]="priority()"
385
+ [class.m-img--sized]="isSized()"
386
+ >
387
+ @if (showFallback()) {
388
+ <div class="m-img__fallback" role="img" [attr.aria-label]="alt()">
389
+ <svg viewBox="0 0 320 240" fill="none" preserveAspectRatio="xMidYMid slice">
390
+ <circle cx="112" cy="92" r="22" fill="currentColor" />
391
+ <path d="M40 200l72-72 56 56 40-40 72 72z" fill="currentColor" />
392
+ </svg>
393
+ </div>
394
+ } @else if (isDataUri()) {
395
+ <img
396
+ class="m-img__img"
397
+ [src]="effectiveSrc()!"
398
+ [alt]="alt()"
399
+ (load)="onLoad()"
400
+ (error)="onError()"
401
+ [width]="widthAttr()"
402
+ [height]="heightAttr()"
403
+ referrerpolicy="no-referrer"
404
+ />
405
+ } @else {
406
+ <img
407
+ class="m-img__img"
408
+ [ngSrc]="effectiveSrc()!"
409
+ [alt]="alt()"
410
+ [priority]="priority()"
411
+ (load)="onLoad()"
412
+ (error)="onError()"
413
+ [fill]="fill()"
414
+ [width]="widthAttr()"
415
+ [height]="heightAttr()"
416
+ [ngSrcset]="autoNgSrcset()!"
417
+ [sizes]="sizes() || undefined"
418
+ decoding="async"
419
+ referrerpolicy="no-referrer"
420
+ />
421
+ }
422
+ @if (status() === 'loading' && !priority()) {
423
+ <div class="m-img__skeleton"></div>
424
+ }
425
+ </div>
426
+ `,
427
+ isInline: true,
428
+ styles: [":host{display:block;width:100%;height:100%;max-width:100%;overflow:hidden;border-radius:inherit;contain:paint}.m-img{position:relative;width:100%;height:100%;background:#ffffff05;border-radius:inherit;transition:transform .6s cubic-bezier(.2,0,.2,1);display:flex;flex-direction:column}.m-img__img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05) translateZ(0);filter:blur(10px) brightness(.8);transition:opacity 1.2s cubic-bezier(.4,0,.2,1),transform 1.2s cubic-bezier(.2,0,.2,1),filter 1s ease-out}.m-img--loaded .m-img__img,.m-img--priority .m-img__img{opacity:1;transform:scale(1) translateZ(0);filter:blur(0) brightness(1)}.m-img__skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#ffffff0d,#fff0);background-size:200% 100%;animation:shimmer 2s infinite linear,pulse 2.5s infinite ease-in-out;border-radius:inherit}.m-img__fallback{background:#0003;display:flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:4/3;color:#ffffff52;border-radius:inherit}.m-img__fallback svg{display:block;width:100%;height:100%;border-radius:inherit}@media(hover:hover){.m-img:hover .m-img__img{transform:scale(1.04) translateZ(0);transition-duration:2s}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}\n"],
429
+ dependencies: [{
430
+ kind: "directive",
431
+ type: NgOptimizedImage,
432
+ selector: "img[ngSrc]",
433
+ inputs: [
434
+ "ngSrc",
435
+ "ngSrcset",
436
+ "sizes",
437
+ "width",
438
+ "height",
439
+ "decoding",
440
+ "loading",
441
+ "priority",
442
+ "loaderParams",
443
+ "disableOptimizedSrcset",
444
+ "fill",
445
+ "placeholder",
446
+ "placeholderConfig",
447
+ "src",
448
+ "srcset"
449
+ ]
450
+ }],
451
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
452
+ });
453
+ };
454
+ i0.ɵɵngDeclareClassMetadata({
455
+ minVersion: "12.0.0",
456
+ version: "22.2.1",
457
+ ngImport: i0,
458
+ type: ImgComponent,
459
+ decorators: [{
460
+ type: Component,
461
+ args: [{
462
+ selector: "m-img",
463
+ changeDetection: ChangeDetectionStrategy.OnPush,
464
+ imports: [NgOptimizedImage],
465
+ host: {
466
+ "[style.width.px]": "boxWidth()",
467
+ "[style.height.px]": "boxHeight()"
468
+ },
469
+ providers: [{
470
+ provide: IMAGE_LOADER,
471
+ useValue: (config) => {
472
+ const src = config.src;
473
+ if (src.includes("iiif.archive.org")) {
474
+ if (src.match(/(\/full\/)([^/]+)(\/0\/)/) && config.width) return src.replace(/(\/full\/)[^/]+(\/0\/)/, `$1${config.width},$2`);
475
+ }
476
+ return src;
477
+ }
478
+ }],
479
+ template: `
480
+ <div
481
+ class="m-img"
482
+ [class.m-img--loaded]="status() === 'loaded'"
483
+ [class.m-img--error]="showFallback()"
484
+ [class.m-img--fill]="fill()"
485
+ [class.m-img--priority]="priority()"
486
+ [class.m-img--sized]="isSized()"
487
+ >
488
+ @if (showFallback()) {
489
+ <div class="m-img__fallback" role="img" [attr.aria-label]="alt()">
490
+ <svg viewBox="0 0 320 240" fill="none" preserveAspectRatio="xMidYMid slice">
491
+ <circle cx="112" cy="92" r="22" fill="currentColor" />
492
+ <path d="M40 200l72-72 56 56 40-40 72 72z" fill="currentColor" />
493
+ </svg>
494
+ </div>
495
+ } @else if (isDataUri()) {
496
+ <img
497
+ class="m-img__img"
498
+ [src]="effectiveSrc()!"
499
+ [alt]="alt()"
500
+ (load)="onLoad()"
501
+ (error)="onError()"
502
+ [width]="widthAttr()"
503
+ [height]="heightAttr()"
504
+ referrerpolicy="no-referrer"
505
+ />
506
+ } @else {
507
+ <img
508
+ class="m-img__img"
509
+ [ngSrc]="effectiveSrc()!"
510
+ [alt]="alt()"
511
+ [priority]="priority()"
512
+ (load)="onLoad()"
513
+ (error)="onError()"
514
+ [fill]="fill()"
515
+ [width]="widthAttr()"
516
+ [height]="heightAttr()"
517
+ [ngSrcset]="autoNgSrcset()!"
518
+ [sizes]="sizes() || undefined"
519
+ decoding="async"
520
+ referrerpolicy="no-referrer"
521
+ />
522
+ }
523
+ @if (status() === 'loading' && !priority()) {
524
+ <div class="m-img__skeleton"></div>
525
+ }
526
+ </div>
527
+ `,
528
+ styles: [":host{display:block;width:100%;height:100%;max-width:100%;overflow:hidden;border-radius:inherit;contain:paint}.m-img{position:relative;width:100%;height:100%;background:#ffffff05;border-radius:inherit;transition:transform .6s cubic-bezier(.2,0,.2,1);display:flex;flex-direction:column}.m-img__img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05) translateZ(0);filter:blur(10px) brightness(.8);transition:opacity 1.2s cubic-bezier(.4,0,.2,1),transform 1.2s cubic-bezier(.2,0,.2,1),filter 1s ease-out}.m-img--loaded .m-img__img,.m-img--priority .m-img__img{opacity:1;transform:scale(1) translateZ(0);filter:blur(0) brightness(1)}.m-img__skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#ffffff0d,#fff0);background-size:200% 100%;animation:shimmer 2s infinite linear,pulse 2.5s infinite ease-in-out;border-radius:inherit}.m-img__fallback{background:#0003;display:flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:4/3;color:#ffffff52;border-radius:inherit}.m-img__fallback svg{display:block;width:100%;height:100%;border-radius:inherit}@media(hover:hover){.m-img:hover .m-img__img{transform:scale(1.04) translateZ(0);transition-duration:2s}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}\n"]
529
+ }]
530
+ }],
531
+ ctorParameters: () => [],
532
+ propDecorators: {
533
+ src: [{
534
+ type: i0.Input,
535
+ args: [{
536
+ isSignal: true,
537
+ alias: "src",
538
+ required: false
539
+ }]
540
+ }],
541
+ data: [{
542
+ type: i0.Input,
543
+ args: [{
544
+ isSignal: true,
545
+ alias: "data",
546
+ required: false
547
+ }]
548
+ }],
549
+ dataType: [{
550
+ type: i0.Input,
551
+ args: [{
552
+ isSignal: true,
553
+ alias: "dataType",
554
+ required: false
555
+ }]
556
+ }],
557
+ alt: [{
558
+ type: i0.Input,
559
+ args: [{
560
+ isSignal: true,
561
+ alias: "alt",
562
+ required: true
563
+ }]
564
+ }],
565
+ priority: [{
566
+ type: i0.Input,
567
+ args: [{
568
+ isSignal: true,
569
+ alias: "priority",
570
+ required: false
571
+ }]
572
+ }],
573
+ fill: [{
574
+ type: i0.Input,
575
+ args: [{
576
+ isSignal: true,
577
+ alias: "fill",
578
+ required: false
579
+ }]
580
+ }],
581
+ width: [{
582
+ type: i0.Input,
583
+ args: [{
584
+ isSignal: true,
585
+ alias: "width",
586
+ required: false
587
+ }]
588
+ }],
589
+ height: [{
590
+ type: i0.Input,
591
+ args: [{
592
+ isSignal: true,
593
+ alias: "height",
594
+ required: false
595
+ }]
596
+ }],
597
+ remote: [{
598
+ type: i0.Input,
599
+ args: [{
600
+ isSignal: true,
601
+ alias: "remote",
602
+ required: false
603
+ }]
604
+ }],
605
+ ngSrcset: [{
606
+ type: i0.Input,
607
+ args: [{
608
+ isSignal: true,
609
+ alias: "ngSrcset",
610
+ required: false
611
+ }]
612
+ }],
613
+ sizes: [{
614
+ type: i0.Input,
615
+ args: [{
616
+ isSignal: true,
617
+ alias: "sizes",
618
+ required: false
619
+ }]
620
+ }]
621
+ }
622
+ });
623
+ const SECTION_FORM_CONTEXT = new InjectionToken("SECTION_FORM_CONTEXT");
624
+ var ButtonComponent = class ButtonComponent extends ReactiveElementComponent {
625
+ config = model(...ngDevMode ? [void 0, { debugName: "config" }] : /* istanbul ignore next */ []);
626
+ color = input(...ngDevMode ? [void 0, { debugName: "color" }] : /* istanbul ignore next */ []);
627
+ labelClass = input(...ngDevMode ? [void 0, { debugName: "labelClass" }] : /* istanbul ignore next */ []);
628
+ fullWidth = input(...ngDevMode ? [void 0, { debugName: "fullWidth" }] : /* istanbul ignore next */ []);
629
+ nav = input(...ngDevMode ? [void 0, { debugName: "nav" }] : /* istanbul ignore next */ []);
630
+ navParams = input(...ngDevMode ? [void 0, { debugName: "navParams" }] : /* istanbul ignore next */ []);
631
+ href = input(...ngDevMode ? [void 0, { debugName: "href" }] : /* istanbul ignore next */ []);
632
+ disabled = input(...ngDevMode ? [void 0, { debugName: "disabled" }] : /* istanbul ignore next */ []);
633
+ variant = input(...ngDevMode ? [void 0, { debugName: "variant" }] : /* istanbul ignore next */ []);
634
+ name = input(...ngDevMode ? [void 0, { debugName: "name" }] : /* istanbul ignore next */ []);
635
+ baseUrl = input(...ngDevMode ? [void 0, { debugName: "baseUrl" }] : /* istanbul ignore next */ []);
636
+ one = input(...ngDevMode ? [void 0, { debugName: "one" }] : /* istanbul ignore next */ []);
637
+ remote = input(...ngDevMode ? [void 0, { debugName: "remote" }] : /* istanbul ignore next */ []);
638
+ subFolder = "buttons";
639
+ label = input(...ngDevMode ? [void 0, { debugName: "label" }] : /* istanbul ignore next */ []);
640
+ noTranslate = input(...ngDevMode ? [void 0, { debugName: "noTranslate" }] : /* istanbul ignore next */ []);
641
+ params = input(...ngDevMode ? [void 0, { debugName: "params" }] : /* istanbul ignore next */ []);
642
+ noNative = input(...ngDevMode ? [void 0, { debugName: "noNative" }] : /* istanbul ignore next */ []);
643
+ icon = input(...ngDevMode ? [void 0, { debugName: "icon" }] : /* istanbul ignore next */ []);
644
+ isRightIcon = input(...ngDevMode ? [void 0, { debugName: "isRightIcon" }] : /* istanbul ignore next */ []);
645
+ iconOnly = input(...ngDevMode ? [void 0, { debugName: "iconOnly" }] : /* istanbul ignore next */ []);
646
+ stacked = input(...ngDevMode ? [void 0, { debugName: "stacked" }] : /* istanbul ignore next */ []);
647
+ imgSrc = input(...ngDevMode ? [void 0, { debugName: "imgSrc" }] : /* istanbul ignore next */ []);
648
+ nonClickable = input(...ngDevMode ? [void 0, { debugName: "nonClickable" }] : /* istanbul ignore next */ []);
649
+ inverted = input(...ngDevMode ? [void 0, { debugName: "inverted" }] : /* istanbul ignore next */ []);
650
+ isSubmit = input(...ngDevMode ? [void 0, { debugName: "isSubmit" }] : /* istanbul ignore next */ []);
651
+ tabindex = input(...ngDevMode ? [void 0, { debugName: "tabindex" }] : /* istanbul ignore next */ []);
652
+ clicked = output();
653
+ button = viewChild("button", ...ngDevMode ? [{ debugName: "button" }] : /* istanbul ignore next */ []);
654
+ element = this.button;
655
+ className = computed(() => deriveButtonClass(this.config()), ...ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []);
656
+ navRef = inject(NAV_STORE_REF, { optional: true });
657
+ sectionForm = inject(SECTION_FORM_CONTEXT, { optional: true });
658
+ isFormSubmit = computed(() => {
659
+ if (!this.sectionForm || this.isDesignMode) return false;
660
+ const config = this.config();
661
+ if (config?.nav || config?.href) return false;
662
+ return config?.isSubmit === true;
663
+ }, ...ngDevMode ? [{ debugName: "isFormSubmit" }] : /* istanbul ignore next */ []);
664
+ isDisabled = computed(() => this.config()?.disabled === true || this.isFormSubmit() && !!this.sectionForm?.blocked(), ...ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []);
665
+ isMurlActive = computed(() => {
666
+ const nav = this.config()?.nav;
667
+ if (!nav) return false;
668
+ if (!this.navRef?.murl()?.length) return false;
669
+ return this.navRef.id() === nav;
670
+ }, ...ngDevMode ? [{ debugName: "isMurlActive" }] : /* istanbul ignore next */ []);
671
+ isPrimary = computed(() => this.variant() === "primary" || this.config()?.variant === "primary" || this.hasClass("primary"), ...ngDevMode ? [{ debugName: "isPrimary" }] : /* istanbul ignore next */ []);
672
+ colorInput = computed(() => this.color() || this.config()?.color || "mm", ...ngDevMode ? [{ debugName: "colorInput" }] : /* istanbul ignore next */ []);
673
+ buttonColor = computed(() => {
674
+ const color = this.colorInput();
675
+ const isPrimary = this.isPrimary();
676
+ if (isPrimary && color === "inverseText") return resolvePallet("mm", this.themeStore.color()).color;
677
+ const pallet = resolvePallet(color, this.themeStore.color());
678
+ return isPrimary ? pallet.contrastColor : pallet.color;
679
+ }, ...ngDevMode ? [{ debugName: "buttonColor" }] : /* istanbul ignore next */ []);
680
+ constructor() {
681
+ super();
682
+ effect(() => {
683
+ const isPrimary = this.isPrimary();
684
+ const colorInput = this.colorInput();
685
+ const el = this.elementRef.nativeElement;
686
+ if (isPrimary && colorInput === "inverseText") {
687
+ el.style.setProperty("--m-button-color-contrast", this.buttonColor());
688
+ el.style.setProperty("--m-one-button-color-contrast", this.buttonColor());
689
+ }
690
+ });
691
+ }
692
+ buttonIcon = computed(() => {
693
+ if (!this.config()?.icon) return;
694
+ return {
695
+ name: this.config()?.icon,
696
+ color: this.buttonColor(),
697
+ baseUrl: this.baseUrl(),
698
+ remote: this.remote() ?? this.config()?.remote
699
+ };
700
+ }, ...ngDevMode ? [{ debugName: "buttonIcon" }] : /* istanbul ignore next */ []);
701
+ overrideProperty = computed(() => {
702
+ const button = {};
703
+ const put = (key, value) => {
704
+ if (value !== void 0) button[key] = value;
705
+ };
706
+ put("label", this.label());
707
+ put("icon", this.icon());
708
+ put("imgSrc", this.imgSrc());
709
+ put("tabindex", toAttrNumber(this.tabindex()));
710
+ put("noTranslate", toAttrBool(this.noTranslate()));
711
+ put("params", this.params());
712
+ put("isRightIcon", toAttrBool(this.isRightIcon()));
713
+ put("iconOnly", toAttrBool(this.iconOnly()));
714
+ put("stacked", toAttrBool(this.stacked()));
715
+ put("nonClickable", toAttrBool(this.nonClickable()));
716
+ put("inverted", toAttrBool(this.inverted()));
717
+ put("isSubmit", toAttrBool(this.isSubmit()));
718
+ if (this.color()) button["color"] = this.color();
719
+ if (this.labelClass()) button["labelClass"] = this.labelClass();
720
+ if (typeof this.fullWidth() !== "undefined") button["fullWidth"] = toAttrBool(this.fullWidth());
721
+ if (this.nav()) button["nav"] = this.nav();
722
+ if (this.navParams()) button["navParams"] = this.navParams();
723
+ if (this.href()) button["href"] = this.href();
724
+ if (typeof this.disabled() !== "undefined") button["disabled"] = this.disabled();
725
+ if (this.variant()) button["variant"] = this.variant();
726
+ const finalColor = button.color || this.config()?.color;
727
+ const isExplicitGhost = button.variant === "ghost" || this.config()?.variant === "ghost";
728
+ const isExplicitSecondary = button.variant === "secondary" || this.config()?.variant === "secondary";
729
+ if ((finalColor === "inverse" || finalColor === "inverseText") && !isExplicitGhost && !isExplicitSecondary) {
730
+ button["color"] = "inverseText";
731
+ button["variant"] = "primary";
732
+ } else if (finalColor === "inverse") button["color"] = "inverseText";
733
+ if (this.config()?.nav || this.nav()) button["variant"] = this.isMurlActive() ? void 0 : "ghost";
734
+ return button;
735
+ }, ...ngDevMode ? [{ debugName: "overrideProperty" }] : /* istanbul ignore next */ []);
736
+ resolveComponentOverrides() {
737
+ return this.overrideProperty();
738
+ }
739
+ onClick() {
740
+ if (this.isFormSubmit()) this.sectionForm?.submit();
741
+ this.clicked.emit(this.config());
742
+ }
743
+ formatBadgeCount = (count, max = 99) => formatBadgeCount(count, max);
744
+ static ɵfac = i0.ɵɵngDeclareFactory({
745
+ minVersion: "12.0.0",
746
+ version: "22.2.1",
747
+ ngImport: i0,
748
+ type: ButtonComponent,
749
+ deps: [],
750
+ target: i0.ɵɵFactoryTarget.Component
751
+ });
752
+ static ɵcmp = i0.ɵɵngDeclareComponent({
753
+ minVersion: "17.0.0",
754
+ version: "22.2.1",
755
+ type: ButtonComponent,
756
+ isStandalone: true,
757
+ selector: "m-button,m-one-button",
758
+ inputs: {
759
+ config: {
760
+ classPropertyName: "config",
761
+ publicName: "config",
762
+ isSignal: true,
763
+ isRequired: false,
764
+ transformFunction: null
765
+ },
766
+ color: {
767
+ classPropertyName: "color",
768
+ publicName: "color",
769
+ isSignal: true,
770
+ isRequired: false,
771
+ transformFunction: null
772
+ },
773
+ labelClass: {
774
+ classPropertyName: "labelClass",
775
+ publicName: "labelClass",
776
+ isSignal: true,
777
+ isRequired: false,
778
+ transformFunction: null
779
+ },
780
+ fullWidth: {
781
+ classPropertyName: "fullWidth",
782
+ publicName: "fullWidth",
783
+ isSignal: true,
784
+ isRequired: false,
785
+ transformFunction: null
786
+ },
787
+ nav: {
788
+ classPropertyName: "nav",
789
+ publicName: "nav",
790
+ isSignal: true,
791
+ isRequired: false,
792
+ transformFunction: null
793
+ },
794
+ navParams: {
795
+ classPropertyName: "navParams",
796
+ publicName: "navParams",
797
+ isSignal: true,
798
+ isRequired: false,
799
+ transformFunction: null
800
+ },
801
+ href: {
802
+ classPropertyName: "href",
803
+ publicName: "href",
804
+ isSignal: true,
805
+ isRequired: false,
806
+ transformFunction: null
807
+ },
808
+ disabled: {
809
+ classPropertyName: "disabled",
810
+ publicName: "disabled",
811
+ isSignal: true,
812
+ isRequired: false,
813
+ transformFunction: null
814
+ },
815
+ variant: {
816
+ classPropertyName: "variant",
817
+ publicName: "variant",
818
+ isSignal: true,
819
+ isRequired: false,
820
+ transformFunction: null
821
+ },
822
+ name: {
823
+ classPropertyName: "name",
824
+ publicName: "name",
825
+ isSignal: true,
826
+ isRequired: false,
827
+ transformFunction: null
828
+ },
829
+ baseUrl: {
830
+ classPropertyName: "baseUrl",
831
+ publicName: "baseUrl",
832
+ isSignal: true,
833
+ isRequired: false,
834
+ transformFunction: null
835
+ },
836
+ one: {
837
+ classPropertyName: "one",
838
+ publicName: "one",
839
+ isSignal: true,
840
+ isRequired: false,
841
+ transformFunction: null
842
+ },
843
+ remote: {
844
+ classPropertyName: "remote",
845
+ publicName: "remote",
846
+ isSignal: true,
847
+ isRequired: false,
848
+ transformFunction: null
849
+ },
850
+ label: {
851
+ classPropertyName: "label",
852
+ publicName: "label",
853
+ isSignal: true,
854
+ isRequired: false,
855
+ transformFunction: null
856
+ },
857
+ noTranslate: {
858
+ classPropertyName: "noTranslate",
859
+ publicName: "noTranslate",
860
+ isSignal: true,
861
+ isRequired: false,
862
+ transformFunction: null
863
+ },
864
+ params: {
865
+ classPropertyName: "params",
866
+ publicName: "params",
867
+ isSignal: true,
868
+ isRequired: false,
869
+ transformFunction: null
870
+ },
871
+ noNative: {
872
+ classPropertyName: "noNative",
873
+ publicName: "noNative",
874
+ isSignal: true,
875
+ isRequired: false,
876
+ transformFunction: null
877
+ },
878
+ icon: {
879
+ classPropertyName: "icon",
880
+ publicName: "icon",
881
+ isSignal: true,
882
+ isRequired: false,
883
+ transformFunction: null
884
+ },
885
+ isRightIcon: {
886
+ classPropertyName: "isRightIcon",
887
+ publicName: "isRightIcon",
888
+ isSignal: true,
889
+ isRequired: false,
890
+ transformFunction: null
891
+ },
892
+ iconOnly: {
893
+ classPropertyName: "iconOnly",
894
+ publicName: "iconOnly",
895
+ isSignal: true,
896
+ isRequired: false,
897
+ transformFunction: null
898
+ },
899
+ stacked: {
900
+ classPropertyName: "stacked",
901
+ publicName: "stacked",
902
+ isSignal: true,
903
+ isRequired: false,
904
+ transformFunction: null
905
+ },
906
+ imgSrc: {
907
+ classPropertyName: "imgSrc",
908
+ publicName: "imgSrc",
909
+ isSignal: true,
910
+ isRequired: false,
911
+ transformFunction: null
912
+ },
913
+ nonClickable: {
914
+ classPropertyName: "nonClickable",
915
+ publicName: "nonClickable",
916
+ isSignal: true,
917
+ isRequired: false,
918
+ transformFunction: null
919
+ },
920
+ inverted: {
921
+ classPropertyName: "inverted",
922
+ publicName: "inverted",
923
+ isSignal: true,
924
+ isRequired: false,
925
+ transformFunction: null
926
+ },
927
+ isSubmit: {
928
+ classPropertyName: "isSubmit",
929
+ publicName: "isSubmit",
930
+ isSignal: true,
931
+ isRequired: false,
932
+ transformFunction: null
933
+ },
934
+ tabindex: {
935
+ classPropertyName: "tabindex",
936
+ publicName: "tabindex",
937
+ isSignal: true,
938
+ isRequired: false,
939
+ transformFunction: null
940
+ }
941
+ },
942
+ outputs: {
943
+ config: "configChange",
944
+ clicked: "clicked"
945
+ },
946
+ viewQueries: [{
947
+ propertyName: "button",
948
+ first: true,
949
+ predicate: ["button"],
950
+ descendants: true,
951
+ isSignal: true
952
+ }],
953
+ usesInheritance: true,
954
+ ngImport: i0,
955
+ template: "@if (config(); as config) {\n <!-- One branch for every in-app target: `mRef` names a NavId and the store\n reads the NavKind off that node to decide route vs panel (ADR 0014). -->\n @if (config.nav) {\n @if (!noNative()) {\n <button\n type=\"button\"\n class=\"{{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.tabindex]=\"config.tabindex\"\n [disabled]=\"config.disabled\"\n [mRef]=\"config.nav\"\n [mRefParams]=\"config.navParams\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n mRefLinkActive=\"tab\"\n (keydown.enter)=\"onClick()\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </button>\n } @else {\n <div\n role=\"button\"\n [attr.tabindex]=\"config.tabindex ?? 0\"\n class=\"non-native {{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n [attr.aria-disabled]=\"config.disabled ? 'true' : 'false'\"\n (keydown.enter)=\"onClick()\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </div>\n }\n } @else if (config.href) {\n <a\n class=\"{{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.tabindex]=\"config.tabindex\"\n [href]=\"config.href\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </a>\n } @else {\n @if (!noNative()) {\n <button\n type=\"button\"\n class=\"{{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.tabindex]=\"config.tabindex\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n (keydown.enter)=\"onClick()\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </button>\n } @else {\n <div\n role=\"button\"\n [attr.tabindex]=\"config.tabindex ?? 0\"\n class=\"non-native {{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : 'false'\"\n (keydown.enter)=\"onClick()\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </div>\n }\n }\n}\n\n<ng-template #buttonContent let-button=\"button\">\n @if (button.imgSrc) {\n <div class=\"button-icon button-icon--img\">\n <m-img [src]=\"button.imgSrc\" [remote]=\"button.remote\" [alt]=\"button.label || button.name || ''\" />\n @if (button.badge && button.badge.count) {\n <m-badge\n [config]=\"{ variant: button.badge.variant ?? 'danger', position: 'absolute' }\"\n >{{ formatBadgeCount(button.badge.count) }}</m-badge\n >\n }\n </div>\n } @else if (buttonIcon(); as icon) {\n <div class=\"button-icon\">\n @if (isFromOne()) {\n <m-one-icon [config]=\"icon\" />\n } @else {\n <m-icon [config]=\"icon\" />\n }\n @if (button.badge && button.badge.count) {\n <m-badge\n [config]=\"{ variant: button.badge.variant ?? 'danger', position: 'absolute' }\"\n >{{ formatBadgeCount(button.badge.count) }}</m-badge\n >\n }\n </div>\n }\n @if (button.label && !button.iconOnly) {\n <span class=\"button-label {{ button.labelClass || '' }}\">\n {{ button.noTranslate ? button.label : (button.label | translate: button.params) }}\n </span>\n }\n @if (!buttonIcon() && button.badge && button.badge.count) {\n <m-badge [config]=\"{ variant: button.badge.variant ?? 'danger', position: 'static' }\">{{\n formatBadgeCount(button.badge.count)\n }}</m-badge>\n }\n</ng-template>\n",
956
+ 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:inline-flex;align-items:center;justify-content:center;vertical-align:middle;box-sizing:border-box;overflow:hidden;transition:box-shadow .15s ease;--m-btn-size: var(--m-button-size, 1em);--m-btn-color: var(--m-button-color, var(--m-one-button-color, var(--m-mm)));--m-btn-color-contrast: var(--m-button-color-contrast, var(--m-one-button-color-contrast, #ffffff));--m-btn-color-opposite: var(--m-button-color-opposite, var(--m-one-button-color-opposite, #e1b941));--m-btn-h: calc(var(--m-btn-size) * 2.25);width:var(--m-button-width, var(--m-one-button-width, auto));min-width:0;height:var(--m-btn-h);font-size:var(--m-btn-size)}:host-context(.inverse),:host-context(.tabs-inverse),:host.inverse{--m-btn-color: var(--m-button-color, var(--m-one-button-color, var(--m-inverse-text)))}:host:has(.full-width){display:flex;width:100%}:host:has(.full-width) button .button-label{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}:host:has(.only-icon),:host:has(.toggle){width:var(--m-btn-h);min-width:var(--m-btn-h)}:host:has(.has-badge){overflow:visible}:host:has(.stacked),:host:has(.toggle){height:auto}button:not(.get):not(.toggle){height:calc(var(--input-size, var(--m-btn-size)) * 2);min-height:calc(var(--input-size, var(--m-btn-size)) * 2);border-width:max(1px,var(--input-size, var(--m-btn-size)) * .0625);border-radius:calc(var(--input-size, var(--m-btn-size)) * .4);padding:calc(var(--input-size, var(--m-btn-size)) * .5) calc(var(--input-size, var(--m-btn-size)) * .5);gap:calc(var(--input-size, var(--m-btn-size)) * .375);font-size:var(--input-size, var(--m-btn-size));border-color:var(--m-btn-color);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}button:not(.get):not(.toggle):hover:not(:disabled){background-color:color-mix(in srgb,var(--m-btn-color) 6%,transparent)}button:not(.get):not(.toggle):disabled{opacity:.6;cursor:not-allowed}button:not(.get):not(.toggle){height:auto;padding:calc(var(--m-btn-size) * .625) calc(var(--m-btn-size) * 1.25);gap:calc(var(--m-btn-size) * .375);border-style:solid;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:inherit;cursor:pointer;appearance:none;width:100%;height:100%;min-height:0;padding:0 calc(var(--m-btn-size) * 1.25);border-width:var(--m-button-border-width, 1px);border-radius:var(--m-button-radius, calc(var(--m-btn-size) * .5));color:var(--m-btn-color);font-weight:300;line-height:1;-webkit-user-select:none;user-select:none;position:relative;outline:none;box-shadow:var(--m-button-shadow, var(--m-one-button-shadow, none));transition:filter .15s ease,background .15s ease}button:not(.get):not(.toggle):hover:not(:disabled){filter:brightness(1.04)}button:not(.get):not(.toggle):focus-visible:not(:disabled){outline:2px solid color-mix(in srgb,var(--m-focus) 45%,transparent);outline-offset:-2px}button:not(.get):not(.toggle):active:not(:disabled){transform:scale(.97)}button:not(.get):not(.toggle):disabled{opacity:.35;cursor:not-allowed;pointer-events:none;filter:grayscale(80%)}button:not(.get):not(.toggle).read-only{pointer-events:none!important;cursor:default!important;transform:none!important;box-shadow:none!important;background:transparent!important;border-color:transparent!important;opacity:1!important}button:not(.get):not(.toggle).read-only .button-icon{transform:none!important;color:inherit!important}button:not(.get):not(.toggle).primary{background:var(--m-btn-color);border-color:var(--m-btn-color);color:var(--m-btn-color-contrast)}button:not(.get):not(.toggle).primary:hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--m-btn-color) 88%,black);border-color:color-mix(in srgb,var(--m-btn-color) 88%,black)}button:not(.get):not(.toggle).primary:active:not(:disabled){filter:brightness(.94);transform:scale(.97)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab){background:transparent;border-color:transparent;color:var(--m-btn-color);box-shadow:none}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab):hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--m-btn-color) 8%,transparent)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab):active:not(:disabled){background:color-mix(in srgb,var(--m-btn-color) 14%,transparent);transform:scale(.97)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab).secondary{border:var(--m-button-border-width, 1px) solid color-mix(in srgb,var(--m-btn-color) 15%,transparent)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab).secondary:hover:not(:disabled){filter:none;border-color:color-mix(in srgb,var(--m-btn-color) 40%,transparent);background:color-mix(in srgb,var(--m-btn-color) 6%,transparent)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab).secondary:active:not(:disabled){border-color:color-mix(in srgb,var(--m-btn-color) 50%,transparent);background:color-mix(in srgb,var(--m-btn-color) 12%,transparent)}button:not(.get):not(.toggle).secondary:not(.primary):not(.ghost){background:transparent;border-color:var(--m-btn-color);color:var(--m-btn-color)}button:not(.get):not(.toggle).secondary:not(.primary):not(.ghost):hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--m-btn-color) 8%,transparent)}button:not(.get):not(.toggle).secondary:not(.primary):not(.ghost):active:not(:disabled){background:color-mix(in srgb,var(--m-btn-color) 14%,transparent);transform:scale(.97)}button:not(.get):not(.toggle).tab{background:var(--m-backdrop-border);border-color:var(--m-backdrop-border);color:var(--m-btn-color)}button:not(.get):not(.toggle).tab:hover:not(:disabled){background:color-mix(in srgb,var(--m-backdrop-border) 82%,black);border-color:color-mix(in srgb,var(--m-backdrop-border) 82%,black);filter:none}button:not(.get):not(.toggle).tab:active:not(:disabled){background:color-mix(in srgb,var(--m-backdrop-border) 70%,black);border-color:color-mix(in srgb,var(--m-backdrop-border) 70%,black);transform:scale(.97)}button:not(.get):not(.toggle).segmented .button-icon,button:not(.get):not(.toggle).badge-accent .button-icon,button:not(.get):not(.toggle).with-right-icon .button-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--m-btn-color-opposite);order:1}button:not(.get):not(.toggle).segmented .button-label,button:not(.get):not(.toggle).badge-accent .button-label,button:not(.get):not(.toggle).with-right-icon .button-label{order:-1}button:not(.get):not(.toggle).segmented.primary .button-icon,button:not(.get):not(.toggle).badge-accent.primary .button-icon,button:not(.get):not(.toggle).with-right-icon.primary .button-icon{color:var(--m-btn-color-opposite)}button:not(.get):not(.toggle).with-left-icon .button-icon{order:-1}button:not(.get):not(.toggle).with-left-icon .button-label{order:1}button:not(.get):not(.toggle).stacked{flex-direction:column;gap:calc(var(--m-btn-size) * .3);height:auto;min-height:var(--m-btn-h);padding:calc(var(--m-btn-size) * .625) calc(var(--m-btn-size) * .875)}button:not(.get):not(.toggle).stacked .button-label{font-size:calc(var(--m-btn-size) * .8)}button:not(.get):not(.toggle).only-icon{padding:0;border-width:var(--m-button-border-width, 1px);aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center}button:not(.get):not(.toggle).only-icon m-icon,button:not(.get):not(.toggle).only-icon m-one-icon{display:inline-flex}m-badge{--m-badge-height: 1.5em;--m-badge-min-width: 1.5em;--m-badge-padding: 0 .3em;--m-badge-gap: .1em}.button-label{display:inline-flex;align-items:center;line-height:normal;font-size:inherit;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.button-icon{position:relative;display:inline-flex;align-items:center;justify-content:center}.button-icon--img{width:calc(var(--m-btn-size) * 1.75);height:calc(var(--m-btn-size) * 1.75);overflow:hidden}.button-icon--img m-img{width:100%;height:100%;display:block}.get{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--m-btn-h);padding:0 min(var(--m-btn-size) * 1.75,2rem);border-radius:4px;background:linear-gradient(135deg,var(--m-mm),var(--m-focus),var(--m-success),var(--m-mm));background-size:200% auto;color:#fff;font-size:calc(var(--m-btn-size) * .8);font-weight:300;letter-spacing:.06em;text-transform:uppercase;border:none;cursor:pointer;white-space:nowrap;line-height:1;transition:background-position .2s ease,transform .15s ease}.get:hover{background-position:right center}.get:focus-visible{outline:2px solid color-mix(in srgb,var(--m-focus) 45%,transparent);outline-offset:-2px}.get:active{transform:scale(.97)}.toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border:none;background:transparent;padding:0 min(var(--m-btn-size),1.25rem);border-radius:var(--m-button-radius, calc(var(--m-btn-size) * .375));box-shadow:none;color:var(--m-btn-color, var(--m-text-secondary));opacity:.65;font-family:inherit;font-size:var(--m-btn-size);font-weight:300;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;transition:background .15s ease,color .15s ease,opacity .15s ease;min-width:0}.toggle .button-icon{flex-shrink:0}.toggle .button-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}.toggle:hover:not(:disabled){background:var(--m-button-hover-background, color-mix(in srgb, var(--m-focus) 8%, transparent));color:var(--m-button-hover-color, var(--m-text));opacity:1}.toggle:focus-visible:not(:disabled){outline:2px solid color-mix(in srgb,var(--m-focus) 45%,transparent);outline-offset:-2px;opacity:1}.toggle.primary{background:var(--m-button-active-background, var(--m-mm));color:var(--m-button-active-color, #ffffff);opacity:1}.toggle.primary:hover:not(:disabled){background:var(--m-button-active-background, var(--m-mm));color:var(--m-button-active-color, #ffffff);opacity:1}.toggle.primary:active:not(:disabled){transform:scale(.97)}.non-native:not(.get):not(.toggle){appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;padding:0 calc(var(--m-btn-size) * 1.25);border-width:2px;border-radius:4px;color:var(--m-btn-color);font-weight:300;line-height:1;-webkit-user-select:none;user-select:none;position:relative;outline:none;box-shadow:var(--m-button-shadow, var(--m-one-button-shadow, none));transition:filter .15s ease,background .15s ease}.non-native:not(.get):not(.toggle):hover:not([aria-disabled=true]){filter:brightness(1.04)}.non-native:not(.get):not(.toggle):focus-visible:not([aria-disabled=true]){outline:2px solid color-mix(in srgb,var(--m-focus) 45%,transparent);outline-offset:-2px}.non-native:not(.get):not(.toggle):active:not([aria-disabled=true]){transform:scale(.97)}.non-native:not(.get):not(.toggle)[aria-disabled=true]{opacity:.35;cursor:not-allowed;pointer-events:none;filter:grayscale(80%)}.non-native:not(.get):not(.toggle).primary{background:var(--m-btn-color);border-color:var(--m-btn-color);color:var(--m-btn-color-contrast)}.non-native:not(.get):not(.toggle).primary:hover:not([aria-disabled=true]){filter:none;background:color-mix(in srgb,var(--m-btn-color) 88%,black);border-color:color-mix(in srgb,var(--m-btn-color) 88%,black)}.non-native:not(.get):not(.toggle).primary:active:not([aria-disabled=true]){filter:brightness(.94);transform:scale(.97)}.non-native:not(.get):not(.toggle).ghost:not(.primary):not(.tab){background:transparent;border-color:transparent;color:var(--m-btn-color);box-shadow:none}.non-native:not(.get):not(.toggle).ghost:not(.primary):not(.tab):hover:not([aria-disabled=true]){filter:none;background:color-mix(in srgb,var(--m-btn-color) 8%,transparent)}.non-native:not(.get):not(.toggle).ghost:not(.primary):not(.tab):active:not([aria-disabled=true]){background:color-mix(in srgb,var(--m-btn-color) 14%,transparent);transform:scale(.97)}.non-native:not(.get):not(.toggle):disabled{opacity:.3;cursor:not-allowed}@container togglegroup (max-width: 320px){.non-native:not(.get):not(.toggle).with-left-icon .button-label,.non-native:not(.get):not(.toggle).with-right-icon .button-label{display:none!important}}@media(max-width:600px){.non-native:not(.get):not(.toggle).with-left-icon .button-label,.non-native:not(.get):not(.toggle).with-right-icon .button-label{display:none!important}}\n"],
957
+ dependencies: [
958
+ {
959
+ kind: "component",
960
+ type: i0.forwardRef(() => IconComponent),
961
+ selector: "m-icon, m-one-icon",
962
+ inputs: [
963
+ "config",
964
+ "name",
965
+ "color",
966
+ "size",
967
+ "one",
968
+ "baseUrl",
969
+ "remote"
970
+ ],
971
+ outputs: ["configChange"]
972
+ },
973
+ {
974
+ kind: "component",
975
+ type: i0.forwardRef(() => BadgeComponent),
976
+ selector: "m-badge",
977
+ inputs: ["config"],
978
+ outputs: ["configChange"]
979
+ },
980
+ {
981
+ kind: "ngmodule",
982
+ type: i0.forwardRef(() => RouterModule)
983
+ },
984
+ {
985
+ kind: "directive",
986
+ type: i0.forwardRef(() => MRefDirective),
987
+ selector: "[mRef]",
988
+ inputs: [
989
+ "mRef",
990
+ "mRefLinkActive",
991
+ "mRefToggle",
992
+ "mRefParams"
993
+ ]
994
+ },
995
+ {
996
+ kind: "directive",
997
+ type: i0.forwardRef(() => NgTemplateOutlet),
998
+ selector: "[ngTemplateOutlet]",
999
+ inputs: [
1000
+ "ngTemplateOutletContext",
1001
+ "ngTemplateOutlet",
1002
+ "ngTemplateOutletInjector"
1003
+ ]
1004
+ },
1005
+ {
1006
+ kind: "component",
1007
+ type: i0.forwardRef(() => ImgComponent),
1008
+ selector: "m-img",
1009
+ inputs: [
1010
+ "src",
1011
+ "data",
1012
+ "dataType",
1013
+ "alt",
1014
+ "priority",
1015
+ "fill",
1016
+ "width",
1017
+ "height",
1018
+ "remote",
1019
+ "ngSrcset",
1020
+ "sizes"
1021
+ ]
1022
+ },
1023
+ {
1024
+ kind: "pipe",
1025
+ type: i0.forwardRef(() => TranslatePipe),
1026
+ name: "translate"
1027
+ }
1028
+ ],
1029
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1030
+ });
1031
+ };
1032
+ i0.ɵɵngDeclareClassMetadata({
1033
+ minVersion: "12.0.0",
1034
+ version: "22.2.1",
1035
+ ngImport: i0,
1036
+ type: ButtonComponent,
1037
+ decorators: [{
1038
+ type: Component,
1039
+ args: [{
1040
+ selector: "m-button,m-one-button",
1041
+ imports: [
1042
+ forwardRef(() => TranslatePipe),
1043
+ forwardRef(() => IconComponent),
1044
+ forwardRef(() => BadgeComponent),
1045
+ RouterModule,
1046
+ MRefDirective,
1047
+ forwardRef(() => NgTemplateOutlet),
1048
+ forwardRef(() => ImgComponent)
1049
+ ],
1050
+ encapsulation: ViewEncapsulation.Emulated,
1051
+ changeDetection: ChangeDetectionStrategy.OnPush,
1052
+ template: "@if (config(); as config) {\n <!-- One branch for every in-app target: `mRef` names a NavId and the store\n reads the NavKind off that node to decide route vs panel (ADR 0014). -->\n @if (config.nav) {\n @if (!noNative()) {\n <button\n type=\"button\"\n class=\"{{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.tabindex]=\"config.tabindex\"\n [disabled]=\"config.disabled\"\n [mRef]=\"config.nav\"\n [mRefParams]=\"config.navParams\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n mRefLinkActive=\"tab\"\n (keydown.enter)=\"onClick()\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </button>\n } @else {\n <div\n role=\"button\"\n [attr.tabindex]=\"config.tabindex ?? 0\"\n class=\"non-native {{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n [attr.aria-disabled]=\"config.disabled ? 'true' : 'false'\"\n (keydown.enter)=\"onClick()\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </div>\n }\n } @else if (config.href) {\n <a\n class=\"{{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.tabindex]=\"config.tabindex\"\n [href]=\"config.href\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </a>\n } @else {\n @if (!noNative()) {\n <button\n type=\"button\"\n class=\"{{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.tabindex]=\"config.tabindex\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n (keydown.enter)=\"onClick()\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </button>\n } @else {\n <div\n role=\"button\"\n [attr.tabindex]=\"config.tabindex ?? 0\"\n class=\"non-native {{ className() }}\"\n [attr.data-testid]=\"config.name + '-btn'\"\n [attr.aria-label]=\"config.noTranslate ? config.label : (config.label | translate: config.params)\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : 'false'\"\n (keydown.enter)=\"onClick()\"\n (click)=\"onClick()\"\n #button\n >\n <ng-container *ngTemplateOutlet=\"buttonContent; context: { button: config }\"></ng-container>\n </div>\n }\n }\n}\n\n<ng-template #buttonContent let-button=\"button\">\n @if (button.imgSrc) {\n <div class=\"button-icon button-icon--img\">\n <m-img [src]=\"button.imgSrc\" [remote]=\"button.remote\" [alt]=\"button.label || button.name || ''\" />\n @if (button.badge && button.badge.count) {\n <m-badge\n [config]=\"{ variant: button.badge.variant ?? 'danger', position: 'absolute' }\"\n >{{ formatBadgeCount(button.badge.count) }}</m-badge\n >\n }\n </div>\n } @else if (buttonIcon(); as icon) {\n <div class=\"button-icon\">\n @if (isFromOne()) {\n <m-one-icon [config]=\"icon\" />\n } @else {\n <m-icon [config]=\"icon\" />\n }\n @if (button.badge && button.badge.count) {\n <m-badge\n [config]=\"{ variant: button.badge.variant ?? 'danger', position: 'absolute' }\"\n >{{ formatBadgeCount(button.badge.count) }}</m-badge\n >\n }\n </div>\n }\n @if (button.label && !button.iconOnly) {\n <span class=\"button-label {{ button.labelClass || '' }}\">\n {{ button.noTranslate ? button.label : (button.label | translate: button.params) }}\n </span>\n }\n @if (!buttonIcon() && button.badge && button.badge.count) {\n <m-badge [config]=\"{ variant: button.badge.variant ?? 'danger', position: 'static' }\">{{\n formatBadgeCount(button.badge.count)\n }}</m-badge>\n }\n</ng-template>\n",
1053
+ 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:inline-flex;align-items:center;justify-content:center;vertical-align:middle;box-sizing:border-box;overflow:hidden;transition:box-shadow .15s ease;--m-btn-size: var(--m-button-size, 1em);--m-btn-color: var(--m-button-color, var(--m-one-button-color, var(--m-mm)));--m-btn-color-contrast: var(--m-button-color-contrast, var(--m-one-button-color-contrast, #ffffff));--m-btn-color-opposite: var(--m-button-color-opposite, var(--m-one-button-color-opposite, #e1b941));--m-btn-h: calc(var(--m-btn-size) * 2.25);width:var(--m-button-width, var(--m-one-button-width, auto));min-width:0;height:var(--m-btn-h);font-size:var(--m-btn-size)}:host-context(.inverse),:host-context(.tabs-inverse),:host.inverse{--m-btn-color: var(--m-button-color, var(--m-one-button-color, var(--m-inverse-text)))}:host:has(.full-width){display:flex;width:100%}:host:has(.full-width) button .button-label{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}:host:has(.only-icon),:host:has(.toggle){width:var(--m-btn-h);min-width:var(--m-btn-h)}:host:has(.has-badge){overflow:visible}:host:has(.stacked),:host:has(.toggle){height:auto}button:not(.get):not(.toggle){height:calc(var(--input-size, var(--m-btn-size)) * 2);min-height:calc(var(--input-size, var(--m-btn-size)) * 2);border-width:max(1px,var(--input-size, var(--m-btn-size)) * .0625);border-radius:calc(var(--input-size, var(--m-btn-size)) * .4);padding:calc(var(--input-size, var(--m-btn-size)) * .5) calc(var(--input-size, var(--m-btn-size)) * .5);gap:calc(var(--input-size, var(--m-btn-size)) * .375);font-size:var(--input-size, var(--m-btn-size));border-color:var(--m-btn-color);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}button:not(.get):not(.toggle):hover:not(:disabled){background-color:color-mix(in srgb,var(--m-btn-color) 6%,transparent)}button:not(.get):not(.toggle):disabled{opacity:.6;cursor:not-allowed}button:not(.get):not(.toggle){height:auto;padding:calc(var(--m-btn-size) * .625) calc(var(--m-btn-size) * 1.25);gap:calc(var(--m-btn-size) * .375);border-style:solid;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:inherit;cursor:pointer;appearance:none;width:100%;height:100%;min-height:0;padding:0 calc(var(--m-btn-size) * 1.25);border-width:var(--m-button-border-width, 1px);border-radius:var(--m-button-radius, calc(var(--m-btn-size) * .5));color:var(--m-btn-color);font-weight:300;line-height:1;-webkit-user-select:none;user-select:none;position:relative;outline:none;box-shadow:var(--m-button-shadow, var(--m-one-button-shadow, none));transition:filter .15s ease,background .15s ease}button:not(.get):not(.toggle):hover:not(:disabled){filter:brightness(1.04)}button:not(.get):not(.toggle):focus-visible:not(:disabled){outline:2px solid color-mix(in srgb,var(--m-focus) 45%,transparent);outline-offset:-2px}button:not(.get):not(.toggle):active:not(:disabled){transform:scale(.97)}button:not(.get):not(.toggle):disabled{opacity:.35;cursor:not-allowed;pointer-events:none;filter:grayscale(80%)}button:not(.get):not(.toggle).read-only{pointer-events:none!important;cursor:default!important;transform:none!important;box-shadow:none!important;background:transparent!important;border-color:transparent!important;opacity:1!important}button:not(.get):not(.toggle).read-only .button-icon{transform:none!important;color:inherit!important}button:not(.get):not(.toggle).primary{background:var(--m-btn-color);border-color:var(--m-btn-color);color:var(--m-btn-color-contrast)}button:not(.get):not(.toggle).primary:hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--m-btn-color) 88%,black);border-color:color-mix(in srgb,var(--m-btn-color) 88%,black)}button:not(.get):not(.toggle).primary:active:not(:disabled){filter:brightness(.94);transform:scale(.97)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab){background:transparent;border-color:transparent;color:var(--m-btn-color);box-shadow:none}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab):hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--m-btn-color) 8%,transparent)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab):active:not(:disabled){background:color-mix(in srgb,var(--m-btn-color) 14%,transparent);transform:scale(.97)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab).secondary{border:var(--m-button-border-width, 1px) solid color-mix(in srgb,var(--m-btn-color) 15%,transparent)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab).secondary:hover:not(:disabled){filter:none;border-color:color-mix(in srgb,var(--m-btn-color) 40%,transparent);background:color-mix(in srgb,var(--m-btn-color) 6%,transparent)}button:not(.get):not(.toggle).ghost:not(.primary):not(.tab).secondary:active:not(:disabled){border-color:color-mix(in srgb,var(--m-btn-color) 50%,transparent);background:color-mix(in srgb,var(--m-btn-color) 12%,transparent)}button:not(.get):not(.toggle).secondary:not(.primary):not(.ghost){background:transparent;border-color:var(--m-btn-color);color:var(--m-btn-color)}button:not(.get):not(.toggle).secondary:not(.primary):not(.ghost):hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--m-btn-color) 8%,transparent)}button:not(.get):not(.toggle).secondary:not(.primary):not(.ghost):active:not(:disabled){background:color-mix(in srgb,var(--m-btn-color) 14%,transparent);transform:scale(.97)}button:not(.get):not(.toggle).tab{background:var(--m-backdrop-border);border-color:var(--m-backdrop-border);color:var(--m-btn-color)}button:not(.get):not(.toggle).tab:hover:not(:disabled){background:color-mix(in srgb,var(--m-backdrop-border) 82%,black);border-color:color-mix(in srgb,var(--m-backdrop-border) 82%,black);filter:none}button:not(.get):not(.toggle).tab:active:not(:disabled){background:color-mix(in srgb,var(--m-backdrop-border) 70%,black);border-color:color-mix(in srgb,var(--m-backdrop-border) 70%,black);transform:scale(.97)}button:not(.get):not(.toggle).segmented .button-icon,button:not(.get):not(.toggle).badge-accent .button-icon,button:not(.get):not(.toggle).with-right-icon .button-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--m-btn-color-opposite);order:1}button:not(.get):not(.toggle).segmented .button-label,button:not(.get):not(.toggle).badge-accent .button-label,button:not(.get):not(.toggle).with-right-icon .button-label{order:-1}button:not(.get):not(.toggle).segmented.primary .button-icon,button:not(.get):not(.toggle).badge-accent.primary .button-icon,button:not(.get):not(.toggle).with-right-icon.primary .button-icon{color:var(--m-btn-color-opposite)}button:not(.get):not(.toggle).with-left-icon .button-icon{order:-1}button:not(.get):not(.toggle).with-left-icon .button-label{order:1}button:not(.get):not(.toggle).stacked{flex-direction:column;gap:calc(var(--m-btn-size) * .3);height:auto;min-height:var(--m-btn-h);padding:calc(var(--m-btn-size) * .625) calc(var(--m-btn-size) * .875)}button:not(.get):not(.toggle).stacked .button-label{font-size:calc(var(--m-btn-size) * .8)}button:not(.get):not(.toggle).only-icon{padding:0;border-width:var(--m-button-border-width, 1px);aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center}button:not(.get):not(.toggle).only-icon m-icon,button:not(.get):not(.toggle).only-icon m-one-icon{display:inline-flex}m-badge{--m-badge-height: 1.5em;--m-badge-min-width: 1.5em;--m-badge-padding: 0 .3em;--m-badge-gap: .1em}.button-label{display:inline-flex;align-items:center;line-height:normal;font-size:inherit;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.button-icon{position:relative;display:inline-flex;align-items:center;justify-content:center}.button-icon--img{width:calc(var(--m-btn-size) * 1.75);height:calc(var(--m-btn-size) * 1.75);overflow:hidden}.button-icon--img m-img{width:100%;height:100%;display:block}.get{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--m-btn-h);padding:0 min(var(--m-btn-size) * 1.75,2rem);border-radius:4px;background:linear-gradient(135deg,var(--m-mm),var(--m-focus),var(--m-success),var(--m-mm));background-size:200% auto;color:#fff;font-size:calc(var(--m-btn-size) * .8);font-weight:300;letter-spacing:.06em;text-transform:uppercase;border:none;cursor:pointer;white-space:nowrap;line-height:1;transition:background-position .2s ease,transform .15s ease}.get:hover{background-position:right center}.get:focus-visible{outline:2px solid color-mix(in srgb,var(--m-focus) 45%,transparent);outline-offset:-2px}.get:active{transform:scale(.97)}.toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border:none;background:transparent;padding:0 min(var(--m-btn-size),1.25rem);border-radius:var(--m-button-radius, calc(var(--m-btn-size) * .375));box-shadow:none;color:var(--m-btn-color, var(--m-text-secondary));opacity:.65;font-family:inherit;font-size:var(--m-btn-size);font-weight:300;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;transition:background .15s ease,color .15s ease,opacity .15s ease;min-width:0}.toggle .button-icon{flex-shrink:0}.toggle .button-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}.toggle:hover:not(:disabled){background:var(--m-button-hover-background, color-mix(in srgb, var(--m-focus) 8%, transparent));color:var(--m-button-hover-color, var(--m-text));opacity:1}.toggle:focus-visible:not(:disabled){outline:2px solid color-mix(in srgb,var(--m-focus) 45%,transparent);outline-offset:-2px;opacity:1}.toggle.primary{background:var(--m-button-active-background, var(--m-mm));color:var(--m-button-active-color, #ffffff);opacity:1}.toggle.primary:hover:not(:disabled){background:var(--m-button-active-background, var(--m-mm));color:var(--m-button-active-color, #ffffff);opacity:1}.toggle.primary:active:not(:disabled){transform:scale(.97)}.non-native:not(.get):not(.toggle){appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;padding:0 calc(var(--m-btn-size) * 1.25);border-width:2px;border-radius:4px;color:var(--m-btn-color);font-weight:300;line-height:1;-webkit-user-select:none;user-select:none;position:relative;outline:none;box-shadow:var(--m-button-shadow, var(--m-one-button-shadow, none));transition:filter .15s ease,background .15s ease}.non-native:not(.get):not(.toggle):hover:not([aria-disabled=true]){filter:brightness(1.04)}.non-native:not(.get):not(.toggle):focus-visible:not([aria-disabled=true]){outline:2px solid color-mix(in srgb,var(--m-focus) 45%,transparent);outline-offset:-2px}.non-native:not(.get):not(.toggle):active:not([aria-disabled=true]){transform:scale(.97)}.non-native:not(.get):not(.toggle)[aria-disabled=true]{opacity:.35;cursor:not-allowed;pointer-events:none;filter:grayscale(80%)}.non-native:not(.get):not(.toggle).primary{background:var(--m-btn-color);border-color:var(--m-btn-color);color:var(--m-btn-color-contrast)}.non-native:not(.get):not(.toggle).primary:hover:not([aria-disabled=true]){filter:none;background:color-mix(in srgb,var(--m-btn-color) 88%,black);border-color:color-mix(in srgb,var(--m-btn-color) 88%,black)}.non-native:not(.get):not(.toggle).primary:active:not([aria-disabled=true]){filter:brightness(.94);transform:scale(.97)}.non-native:not(.get):not(.toggle).ghost:not(.primary):not(.tab){background:transparent;border-color:transparent;color:var(--m-btn-color);box-shadow:none}.non-native:not(.get):not(.toggle).ghost:not(.primary):not(.tab):hover:not([aria-disabled=true]){filter:none;background:color-mix(in srgb,var(--m-btn-color) 8%,transparent)}.non-native:not(.get):not(.toggle).ghost:not(.primary):not(.tab):active:not([aria-disabled=true]){background:color-mix(in srgb,var(--m-btn-color) 14%,transparent);transform:scale(.97)}.non-native:not(.get):not(.toggle):disabled{opacity:.3;cursor:not-allowed}@container togglegroup (max-width: 320px){.non-native:not(.get):not(.toggle).with-left-icon .button-label,.non-native:not(.get):not(.toggle).with-right-icon .button-label{display:none!important}}@media(max-width:600px){.non-native:not(.get):not(.toggle).with-left-icon .button-label,.non-native:not(.get):not(.toggle).with-right-icon .button-label{display:none!important}}\n"]
1054
+ }]
1055
+ }],
1056
+ ctorParameters: () => [],
1057
+ propDecorators: {
1058
+ config: [{
1059
+ type: i0.Input,
1060
+ args: [{
1061
+ isSignal: true,
1062
+ alias: "config",
1063
+ required: false
1064
+ }]
1065
+ }, {
1066
+ type: i0.Output,
1067
+ args: ["configChange"]
1068
+ }],
1069
+ color: [{
1070
+ type: i0.Input,
1071
+ args: [{
1072
+ isSignal: true,
1073
+ alias: "color",
1074
+ required: false
1075
+ }]
1076
+ }],
1077
+ labelClass: [{
1078
+ type: i0.Input,
1079
+ args: [{
1080
+ isSignal: true,
1081
+ alias: "labelClass",
1082
+ required: false
1083
+ }]
1084
+ }],
1085
+ fullWidth: [{
1086
+ type: i0.Input,
1087
+ args: [{
1088
+ isSignal: true,
1089
+ alias: "fullWidth",
1090
+ required: false
1091
+ }]
1092
+ }],
1093
+ nav: [{
1094
+ type: i0.Input,
1095
+ args: [{
1096
+ isSignal: true,
1097
+ alias: "nav",
1098
+ required: false
1099
+ }]
1100
+ }],
1101
+ navParams: [{
1102
+ type: i0.Input,
1103
+ args: [{
1104
+ isSignal: true,
1105
+ alias: "navParams",
1106
+ required: false
1107
+ }]
1108
+ }],
1109
+ href: [{
1110
+ type: i0.Input,
1111
+ args: [{
1112
+ isSignal: true,
1113
+ alias: "href",
1114
+ required: false
1115
+ }]
1116
+ }],
1117
+ disabled: [{
1118
+ type: i0.Input,
1119
+ args: [{
1120
+ isSignal: true,
1121
+ alias: "disabled",
1122
+ required: false
1123
+ }]
1124
+ }],
1125
+ variant: [{
1126
+ type: i0.Input,
1127
+ args: [{
1128
+ isSignal: true,
1129
+ alias: "variant",
1130
+ required: false
1131
+ }]
1132
+ }],
1133
+ name: [{
1134
+ type: i0.Input,
1135
+ args: [{
1136
+ isSignal: true,
1137
+ alias: "name",
1138
+ required: false
1139
+ }]
1140
+ }],
1141
+ baseUrl: [{
1142
+ type: i0.Input,
1143
+ args: [{
1144
+ isSignal: true,
1145
+ alias: "baseUrl",
1146
+ required: false
1147
+ }]
1148
+ }],
1149
+ one: [{
1150
+ type: i0.Input,
1151
+ args: [{
1152
+ isSignal: true,
1153
+ alias: "one",
1154
+ required: false
1155
+ }]
1156
+ }],
1157
+ remote: [{
1158
+ type: i0.Input,
1159
+ args: [{
1160
+ isSignal: true,
1161
+ alias: "remote",
1162
+ required: false
1163
+ }]
1164
+ }],
1165
+ label: [{
1166
+ type: i0.Input,
1167
+ args: [{
1168
+ isSignal: true,
1169
+ alias: "label",
1170
+ required: false
1171
+ }]
1172
+ }],
1173
+ noTranslate: [{
1174
+ type: i0.Input,
1175
+ args: [{
1176
+ isSignal: true,
1177
+ alias: "noTranslate",
1178
+ required: false
1179
+ }]
1180
+ }],
1181
+ params: [{
1182
+ type: i0.Input,
1183
+ args: [{
1184
+ isSignal: true,
1185
+ alias: "params",
1186
+ required: false
1187
+ }]
1188
+ }],
1189
+ noNative: [{
1190
+ type: i0.Input,
1191
+ args: [{
1192
+ isSignal: true,
1193
+ alias: "noNative",
1194
+ required: false
1195
+ }]
1196
+ }],
1197
+ icon: [{
1198
+ type: i0.Input,
1199
+ args: [{
1200
+ isSignal: true,
1201
+ alias: "icon",
1202
+ required: false
1203
+ }]
1204
+ }],
1205
+ isRightIcon: [{
1206
+ type: i0.Input,
1207
+ args: [{
1208
+ isSignal: true,
1209
+ alias: "isRightIcon",
1210
+ required: false
1211
+ }]
1212
+ }],
1213
+ iconOnly: [{
1214
+ type: i0.Input,
1215
+ args: [{
1216
+ isSignal: true,
1217
+ alias: "iconOnly",
1218
+ required: false
1219
+ }]
1220
+ }],
1221
+ stacked: [{
1222
+ type: i0.Input,
1223
+ args: [{
1224
+ isSignal: true,
1225
+ alias: "stacked",
1226
+ required: false
1227
+ }]
1228
+ }],
1229
+ imgSrc: [{
1230
+ type: i0.Input,
1231
+ args: [{
1232
+ isSignal: true,
1233
+ alias: "imgSrc",
1234
+ required: false
1235
+ }]
1236
+ }],
1237
+ nonClickable: [{
1238
+ type: i0.Input,
1239
+ args: [{
1240
+ isSignal: true,
1241
+ alias: "nonClickable",
1242
+ required: false
1243
+ }]
1244
+ }],
1245
+ inverted: [{
1246
+ type: i0.Input,
1247
+ args: [{
1248
+ isSignal: true,
1249
+ alias: "inverted",
1250
+ required: false
1251
+ }]
1252
+ }],
1253
+ isSubmit: [{
1254
+ type: i0.Input,
1255
+ args: [{
1256
+ isSignal: true,
1257
+ alias: "isSubmit",
1258
+ required: false
1259
+ }]
1260
+ }],
1261
+ tabindex: [{
1262
+ type: i0.Input,
1263
+ args: [{
1264
+ isSignal: true,
1265
+ alias: "tabindex",
1266
+ required: false
1267
+ }]
1268
+ }],
1269
+ clicked: [{
1270
+ type: i0.Output,
1271
+ args: ["clicked"]
1272
+ }],
1273
+ button: [{
1274
+ type: i0.ViewChild,
1275
+ args: ["button", { isSignal: true }]
1276
+ }]
1277
+ }
1278
+ });
1279
+ export { isButtonName as a, formatBadgeCount as c, deriveGroupClass as i, shouldShowBadge as l, SECTION_FORM_CONTEXT as n, ReactiveElementComponent as o, ImgComponent as r, BadgeComponent as s, ButtonComponent as t };
1280
+
1281
+ //# sourceMappingURL=magmonium-one-button-rVNnp6G8.mjs.map