@magmonium/one 0.2.93 → 0.2.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{magmonium-one-image-editor-BBxyHfY_.mjs → magmonium-one-image-editor-DEX3Iyxj.mjs} +2 -2
- package/fesm2022/{magmonium-one-image-editor-BBxyHfY_.mjs.map → magmonium-one-image-editor-DEX3Iyxj.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-magmonium-one-CzCUYYvz.mjs → magmonium-one-magmonium-one-CORH8s0K.mjs} +147 -47
- package/fesm2022/magmonium-one-magmonium-one-CORH8s0K.mjs.map +1 -0
- package/fesm2022/{magmonium-one-otp-BGGcDB4H.mjs → magmonium-one-otp-OeNODjrN.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-BGGcDB4H.mjs.map → magmonium-one-otp-OeNODjrN.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-DCpAXJIf.mjs → magmonium-one-password-BMb2G_AM.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-DCpAXJIf.mjs.map → magmonium-one-password-BMb2G_AM.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-toggle-qK5wYbFE.mjs → magmonium-one-toggle-DvD5jGYQ.mjs} +2 -2
- package/fesm2022/{magmonium-one-toggle-qK5wYbFE.mjs.map → magmonium-one-toggle-DvD5jGYQ.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +16 -2
- package/fesm2022/magmonium-one-magmonium-one-CzCUYYvz.mjs.map +0 -1
|
@@ -7265,7 +7265,7 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
7265
7265
|
break;
|
|
7266
7266
|
}
|
|
7267
7267
|
case InputType.TOGGLE: {
|
|
7268
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
7268
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-DvD5jGYQ.mjs');
|
|
7269
7269
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
7270
7270
|
break;
|
|
7271
7271
|
}
|
|
@@ -7277,12 +7277,12 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
7277
7277
|
break;
|
|
7278
7278
|
}
|
|
7279
7279
|
case InputType.PASSWORD: {
|
|
7280
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
7280
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-BMb2G_AM.mjs');
|
|
7281
7281
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
7282
7282
|
break;
|
|
7283
7283
|
}
|
|
7284
7284
|
case InputType.OTP: {
|
|
7285
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
7285
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-OeNODjrN.mjs');
|
|
7286
7286
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
7287
7287
|
break;
|
|
7288
7288
|
}
|
|
@@ -8809,6 +8809,8 @@ class MenuComponent {
|
|
|
8809
8809
|
hide = input(...(ngDevMode ? [undefined, { debugName: "hide" }] : /* istanbul ignore next */ []));
|
|
8810
8810
|
hideLink = input(false, ...(ngDevMode ? [{ debugName: "hideLink" }] : /* istanbul ignore next */ []));
|
|
8811
8811
|
isAdmin = input(false, ...(ngDevMode ? [{ debugName: "isAdmin" }] : /* istanbul ignore next */ []));
|
|
8812
|
+
/** Focus the first item once rendered — a popover menu opened from a trigger. */
|
|
8813
|
+
autoFocus = input(false, ...(ngDevMode ? [{ debugName: "autoFocus" }] : /* istanbul ignore next */ []));
|
|
8812
8814
|
action = output();
|
|
8813
8815
|
visibilityRule = input(...(ngDevMode ? [undefined, { debugName: "visibilityRule" }] : /* istanbul ignore next */ []));
|
|
8814
8816
|
disableRule = input(...(ngDevMode ? [undefined, { debugName: "disableRule" }] : /* istanbul ignore next */ []));
|
|
@@ -8817,6 +8819,11 @@ class MenuComponent {
|
|
|
8817
8819
|
#httpService = inject(HttpService);
|
|
8818
8820
|
#tree = signal([], ...(ngDevMode ? [{ debugName: "#tree" }] : /* istanbul ignore next */ []));
|
|
8819
8821
|
#treeMap = signal({}, ...(ngDevMode ? [{ debugName: "#treeMap" }] : /* istanbul ignore next */ []));
|
|
8822
|
+
#host = inject(ElementRef);
|
|
8823
|
+
// Whether the next settled render should focus the first item: `autoFocus`
|
|
8824
|
+
// decides the first one, a drill or back decides after (its rows replace
|
|
8825
|
+
// the focused one, which would drop focus to the body).
|
|
8826
|
+
#focusPending;
|
|
8820
8827
|
back = signal(undefined, ...(ngDevMode ? [{ debugName: "back" }] : /* istanbul ignore next */ []));
|
|
8821
8828
|
slideDirection = signal('none', ...(ngDevMode ? [{ debugName: "slideDirection" }] : /* istanbul ignore next */ []));
|
|
8822
8829
|
#asyncOptions = rxResource({
|
|
@@ -8858,12 +8865,41 @@ class MenuComponent {
|
|
|
8858
8865
|
}))
|
|
8859
8866
|
.filter((group) => group.length > 0);
|
|
8860
8867
|
const source = back
|
|
8861
|
-
? back.options ?? async ?? []
|
|
8862
|
-
: async ?? config ?? [];
|
|
8868
|
+
? (back.options ?? async ?? [])
|
|
8869
|
+
: (async ?? config ?? []);
|
|
8863
8870
|
const result = filterGroups(source);
|
|
8864
8871
|
return extra?.length && !back ? [...result, extra] : result;
|
|
8865
8872
|
}, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
8866
8873
|
isLoading = computed(() => this.#asyncOptions.isLoading(), ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
|
|
8874
|
+
constructor() {
|
|
8875
|
+
afterRenderEffect(() => {
|
|
8876
|
+
this.options();
|
|
8877
|
+
if (this.isLoading())
|
|
8878
|
+
return;
|
|
8879
|
+
const pending = this.#focusPending ?? untracked(this.autoFocus);
|
|
8880
|
+
this.#focusPending = false;
|
|
8881
|
+
if (pending) {
|
|
8882
|
+
this.#host.nativeElement
|
|
8883
|
+
.querySelector('.menu-item:not(.is-disabled)')
|
|
8884
|
+
?.focus();
|
|
8885
|
+
}
|
|
8886
|
+
});
|
|
8887
|
+
}
|
|
8888
|
+
// ↑/↓ walk the focusable rows (back row included), wrapping; Enter on a
|
|
8889
|
+
// row is its own `selectItem`.
|
|
8890
|
+
moveFocus(event, step) {
|
|
8891
|
+
const rows = Array.from(this.#host.nativeElement.querySelectorAll('.back-btn, .menu-item:not(.is-disabled)'));
|
|
8892
|
+
if (!rows.length)
|
|
8893
|
+
return;
|
|
8894
|
+
event.preventDefault();
|
|
8895
|
+
const current = rows.indexOf(document.activeElement);
|
|
8896
|
+
const next = current < 0
|
|
8897
|
+
? step > 0
|
|
8898
|
+
? 0
|
|
8899
|
+
: rows.length - 1
|
|
8900
|
+
: (current + step + rows.length) % rows.length;
|
|
8901
|
+
rows[next].focus();
|
|
8902
|
+
}
|
|
8867
8903
|
// --- Handlers ---
|
|
8868
8904
|
selectItem(item) {
|
|
8869
8905
|
const dRule = this.disableRule();
|
|
@@ -8875,12 +8911,14 @@ class MenuComponent {
|
|
|
8875
8911
|
this.#treeMap.update((map) => ({ ...map, [item.id]: item }));
|
|
8876
8912
|
this.#tree.update((t) => [...t, item.id]);
|
|
8877
8913
|
this.back.set(item);
|
|
8914
|
+
this.#focusPending = this.#hasFocus();
|
|
8878
8915
|
return;
|
|
8879
8916
|
}
|
|
8880
8917
|
this.action.emit(item);
|
|
8881
8918
|
}
|
|
8882
8919
|
goBack() {
|
|
8883
8920
|
this.slideDirection.set('backward');
|
|
8921
|
+
this.#focusPending = this.#hasFocus();
|
|
8884
8922
|
const currentTree = this.#tree();
|
|
8885
8923
|
if (currentTree.length <= 1) {
|
|
8886
8924
|
this.#tree.set([]);
|
|
@@ -8892,6 +8930,9 @@ class MenuComponent {
|
|
|
8892
8930
|
const parentId = newTree[newTree.length - 1];
|
|
8893
8931
|
this.back.set(this.#treeMap()[parentId]);
|
|
8894
8932
|
}
|
|
8933
|
+
#hasFocus() {
|
|
8934
|
+
return this.#host.nativeElement.contains(document.activeElement);
|
|
8935
|
+
}
|
|
8895
8936
|
isSelected(item) {
|
|
8896
8937
|
// A NavRef knows what it points at, so selection is an id comparison —
|
|
8897
8938
|
// no path normalising, and it works for panels as well as pages.
|
|
@@ -8912,12 +8953,15 @@ class MenuComponent {
|
|
|
8912
8953
|
(dRule && dRule(item.disableKey ?? item.id, this.extraData())));
|
|
8913
8954
|
}
|
|
8914
8955
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8915
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: MenuComponent, isStandalone: true, selector: "m-menu", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, file: { classPropertyName: "file", publicName: "file", isSignal: true, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, extra: { classPropertyName: "extra", publicName: "extra", isSignal: true, isRequired: false, transformFunction: null }, hide: { classPropertyName: "hide", publicName: "hide", isSignal: true, isRequired: false, transformFunction: null }, hideLink: { classPropertyName: "hideLink", publicName: "hideLink", isSignal: true, isRequired: false, transformFunction: null }, isAdmin: { classPropertyName: "isAdmin", publicName: "isAdmin", 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 } }, outputs: { action: "action" }, ngImport: i0, template: "<div class=\"menu-container\" [attr.data-slide]=\"slideDirection()\">\n @if (back()) {\n <div\n class=\"back-btn\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"goBack()\"\n (keydown.enter)=\"goBack()\"\n (keydown.space)=\"goBack()\"\n >\n <div class=\"back-icon\">\n <m-icon [name]=\"'chevron-left'\" color=\"currentColor\" />\n </div>\n <span class=\"back-text\">{{ back()!.label | translate }}</span>\n </div>\n }\n\n <div class=\"menu-content\">\n @if (isLoading()) {\n <div class=\"menu-loading\">\n <div class=\"spinner\"></div>\n </div>\n } @else {\n <div class=\"menu-groups\">\n @for (group of options(); track $index; let last = $last) {\n <div class=\"menu-group\" [class.has-separator]=\"!last\">\n @for (item of group; track item.id) {\n @if (!item.hidden) {\n <div\n class=\"menu-item\"\n [attr.data-testid]=\"item.id + '-btn'\"\n [class.is-selected]=\"isSelected(item)\"\n [class.is-disabled]=\"isItemDisabled(item)\"\n [attr.aria-disabled]=\"isItemDisabled(item) || null\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"selectItem(item)\"\n (keydown.enter)=\"selectItem(item)\"\n (keydown.space)=\"selectItem(item)\"\n >\n @if (item.icon) {\n <div class=\"item-icon\">\n <m-icon [name]=\"item.icon\" color=\"currentColor\" />\n </div>\n }\n <span class=\"item-text\">{{ item.label | translate }}</span>\n @if (item.options || item.file) {\n <div class=\"item-arrow\">\n <m-icon [name]=\"'chevron-right'\" color=\"currentColor\" />\n </div>\n }\n </div>\n }\n }\n </div>\n }\n </div>\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)}}.menu-container{display:flex;flex-direction:column;width:100%;border-radius:0;background:var(--m-menu-background, var(--m-background));border:none;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1)}.back-btn{height:calc(var(--input-size, .9375rem) * 2);min-height:calc(var(--input-size, .9375rem) * 2);border-width:max(1px,var(--input-size, .9375rem) * .0625);border-radius:calc(var(--input-size, .9375rem) * .4);padding:calc(var(--input-size, .9375rem) * .5) calc(var(--input-size, .9375rem) * .5);gap:calc(var(--input-size, .9375rem) * .375);font-size:var(--input-size, .9375rem);border-color:var(--m-text-secondary);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.back-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-text-secondary) 6%,transparent)}.back-btn:disabled{opacity:.6;cursor:not-allowed}.back-btn{height:auto;min-height:0;padding:calc(.9375rem * .625) calc(.9375rem * 1.25);gap:calc(.9375rem * .375);border-style:solid;display:inline-flex;justify-content:center;box-sizing:border-box;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:8px;padding:.5859375rem 1.171875rem;border-radius:0;border:none;border-bottom:1px solid var(--m-backdrop-border);color:var(--m-text-secondary);font-weight:400;text-align:left;width:100%;transition:filter .15s ease,background .15s ease,color .15s ease}.back-btn:hover{background:color-mix(in srgb,var(--m-text) 8%,transparent);color:var(--m-text)}.back-btn:active{transform:scale(.97)}.back-btn .back-icon{display:flex;align-items:center}.back-btn .back-text{font-size:.9rem;font-weight:500}.menu-content{position:relative;width:100%}.menu-groups{display:flex;flex-direction:column;padding:6px}.menu-group{display:flex;flex-direction:column;gap:2px}.menu-group.has-separator{border-bottom:1px solid var(--m-backdrop-border);margin-bottom:6px;padding-bottom:6px}.menu-item{height:calc(var(--input-size, var(--menu-item-size, .9375rem)) * 2);min-height:calc(var(--input-size, var(--menu-item-size, .9375rem)) * 2);border-width:max(1px,var(--input-size, var(--menu-item-size, .9375rem)) * .0625);border-radius:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .4);padding:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .5) calc(var(--input-size, var(--menu-item-size, .9375rem)) * .5);gap:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .375);font-size:var(--input-size, var(--menu-item-size, .9375rem));border-color:var(--m-text);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.menu-item:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-text) 6%,transparent)}.menu-item:disabled{opacity:.6;cursor:not-allowed}.menu-item{height:auto;min-height:0;padding:calc(var(--menu-item-size, .9375rem) * .625) calc(var(--menu-item-size, .9375rem) * 1.25);gap:calc(var(--menu-item-size, .9375rem) * .375);border-style:solid;display:inline-flex;justify-content:center;box-sizing:border-box;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:0;border:none;color:var(--m-text);font-weight:400;text-align:left;width:100%;transition:filter .15s ease,background .15s ease,color .15s ease}.menu-item:hover:not(.is-disabled):not(.menu-item.is-selected){background:color-mix(in srgb,var(--m-text) 8%,transparent);color:var(--m-text)}.menu-item:active:not(.is-disabled){transform:scale(.97)}.menu-item.is-selected{background:var(--m-backdrop-mm);color:var(--m-mm);font-weight:600}.menu-item.is-selected .item-icon{color:var(--m-mm)}.menu-item.is-selected:hover{background:color-mix(in srgb,var(--m-backdrop-mm) 88%,black)}.menu-item.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none;filter:grayscale(75%)}.menu-item .item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;color:var(--m-text-secondary)}.menu-item .item-text{flex:1;font-size:var(--menu-text-size, .9375rem)}.menu-item .item-arrow{display:flex;align-items:center;color:var(--m-text-quaternary)}.menu-container[data-size=sm]{--menu-item-size: .8125rem;--menu-item-padding: calc(.8125rem * .625) calc(.8125rem * 1.25);--menu-text-size: .8125rem;--menu-icon-size: 20px}.menu-container[data-size=md]{--menu-item-size: .9375rem;--menu-item-padding: calc(.9375rem * .625) calc(.9375rem * 1.25);--menu-text-size: .9375rem;--menu-icon-size: 24px}.menu-container[data-size=lg]{--menu-item-size: 1.0625rem;--menu-item-padding: calc(1.0625rem * .625) calc(1.0625rem * 1.25);--menu-text-size: 1rem;--menu-icon-size: 28px}.menu-item{padding:var(--menu-item-padding, 8px 12px)}.menu-item .item-icon{width:var(--menu-icon-size, 24px);height:var(--menu-icon-size, 24px)}.menu-loading{display:flex;align-items:center;justify-content:center;padding:24px}.menu-loading .spinner{width:20px;height:20px;border:2px solid var(--m-backdrop-border);border-top-color:var(--m-mm);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-forward{0%{opacity:0;transform:translate(15px)}to{opacity:1;transform:translate(0)}}@keyframes slide-backward{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}.menu-container[data-slide=forward] .menu-content{animation:slide-forward .4s cubic-bezier(.165,.84,.44,1)}.menu-container[data-slide=backward] .menu-content{animation:slide-backward .4s cubic-bezier(.165,.84,.44,1)}:host-context(.align-bottom) .menu-container{border:none;border-radius:0}\n"], dependencies: [{ 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 });
|
|
8956
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: MenuComponent, isStandalone: true, selector: "m-menu", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, file: { classPropertyName: "file", publicName: "file", isSignal: true, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, extra: { classPropertyName: "extra", publicName: "extra", isSignal: true, isRequired: false, transformFunction: null }, hide: { classPropertyName: "hide", publicName: "hide", isSignal: true, isRequired: false, transformFunction: null }, hideLink: { classPropertyName: "hideLink", publicName: "hideLink", isSignal: true, isRequired: false, transformFunction: null }, isAdmin: { classPropertyName: "isAdmin", publicName: "isAdmin", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", 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 } }, outputs: { action: "action" }, host: { listeners: { "keydown.arrowdown": "moveFocus($event, 1)", "keydown.arrowup": "moveFocus($event, -1)" } }, ngImport: i0, template: "<div class=\"menu-container\" [attr.data-slide]=\"slideDirection()\">\n @if (back()) {\n <div\n class=\"back-btn\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"goBack()\"\n (keydown.enter)=\"goBack()\"\n (keydown.space)=\"goBack()\"\n >\n <div class=\"back-icon\">\n <m-icon [name]=\"'chevron-left'\" color=\"currentColor\" />\n </div>\n <span class=\"back-text\">{{ back()!.label | translate }}</span>\n </div>\n }\n\n <div class=\"menu-content\">\n @if (isLoading()) {\n <div class=\"menu-loading\">\n <div class=\"spinner\"></div>\n </div>\n } @else {\n <div class=\"menu-groups\">\n @for (group of options(); track $index; let last = $last) {\n <div class=\"menu-group\" [class.has-separator]=\"!last\">\n @for (item of group; track item.id) {\n @if (!item.hidden) {\n <div\n class=\"menu-item\"\n [attr.data-testid]=\"item.id + '-btn'\"\n [class.is-selected]=\"isSelected(item)\"\n [class.is-disabled]=\"isItemDisabled(item)\"\n [attr.aria-disabled]=\"isItemDisabled(item) || null\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"selectItem(item)\"\n (keydown.enter)=\"selectItem(item)\"\n (keydown.space)=\"selectItem(item)\"\n >\n @if (item.icon) {\n <div class=\"item-icon\">\n <m-icon [name]=\"item.icon\" color=\"currentColor\" />\n </div>\n }\n <span class=\"item-text\">{{ item.label | translate }}</span>\n @if (item.options || item.file) {\n <div class=\"item-arrow\">\n <m-icon [name]=\"'chevron-right'\" color=\"currentColor\" />\n </div>\n }\n </div>\n }\n }\n </div>\n }\n </div>\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)}}.menu-container{display:flex;flex-direction:column;width:100%;border-radius:0;background:var(--m-menu-background, var(--m-background));border:none;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1)}.back-btn{height:calc(var(--input-size, .9375rem) * 2);min-height:calc(var(--input-size, .9375rem) * 2);border-width:max(1px,var(--input-size, .9375rem) * .0625);border-radius:calc(var(--input-size, .9375rem) * .4);padding:calc(var(--input-size, .9375rem) * .5) calc(var(--input-size, .9375rem) * .5);gap:calc(var(--input-size, .9375rem) * .375);font-size:var(--input-size, .9375rem);border-color:var(--m-text-secondary);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.back-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-text-secondary) 6%,transparent)}.back-btn:disabled{opacity:.6;cursor:not-allowed}.back-btn{height:auto;min-height:0;padding:calc(.9375rem * .625) calc(.9375rem * 1.25);gap:calc(.9375rem * .375);border-style:solid;display:inline-flex;justify-content:center;box-sizing:border-box;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:8px;padding:.5859375rem 1.171875rem;border-radius:0;border:none;border-bottom:1px solid var(--m-backdrop-border);color:var(--m-text-secondary);font-weight:400;text-align:left;width:100%;transition:filter .15s ease,background .15s ease,color .15s ease}.back-btn:hover,.back-btn:focus-visible{outline:none;background:color-mix(in srgb,var(--m-text) 8%,transparent);color:var(--m-text)}.back-btn:active{transform:scale(.97)}.back-btn .back-icon{display:flex;align-items:center}.back-btn .back-text{font-size:.9rem;font-weight:500}.menu-content{position:relative;width:100%}.menu-groups{display:flex;flex-direction:column;padding:6px}.menu-group{display:flex;flex-direction:column;gap:2px}.menu-group.has-separator{border-bottom:1px solid var(--m-backdrop-border);margin-bottom:6px;padding-bottom:6px}.menu-item{height:calc(var(--input-size, var(--menu-item-size, .9375rem)) * 2);min-height:calc(var(--input-size, var(--menu-item-size, .9375rem)) * 2);border-width:max(1px,var(--input-size, var(--menu-item-size, .9375rem)) * .0625);border-radius:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .4);padding:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .5) calc(var(--input-size, var(--menu-item-size, .9375rem)) * .5);gap:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .375);font-size:var(--input-size, var(--menu-item-size, .9375rem));border-color:var(--m-text);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.menu-item:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-text) 6%,transparent)}.menu-item:disabled{opacity:.6;cursor:not-allowed}.menu-item{height:auto;min-height:0;padding:calc(var(--menu-item-size, .9375rem) * .625) calc(var(--menu-item-size, .9375rem) * 1.25);gap:calc(var(--menu-item-size, .9375rem) * .375);border-style:solid;display:inline-flex;justify-content:center;box-sizing:border-box;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:0;border:none;color:var(--m-text);font-weight:400;text-align:left;width:100%;transition:filter .15s ease,background .15s ease,color .15s ease}.menu-item:focus-visible{outline:none}.menu-item:hover:not(.is-disabled):not(.menu-item.is-selected),.menu-item:focus-visible:not(.is-selected){background:color-mix(in srgb,var(--m-text) 8%,transparent);color:var(--m-text)}.menu-item:active:not(.is-disabled){transform:scale(.97)}.menu-item.is-selected{background:var(--m-backdrop-mm);color:var(--m-mm);font-weight:600}.menu-item.is-selected .item-icon{color:var(--m-mm)}.menu-item.is-selected:hover,.menu-item.is-selected:focus-visible{background:color-mix(in srgb,var(--m-backdrop-mm) 88%,black)}.menu-item.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none;filter:grayscale(75%)}.menu-item .item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;color:var(--m-text-secondary)}.menu-item .item-text{flex:1;font-size:var(--menu-text-size, .9375rem)}.menu-item .item-arrow{display:flex;align-items:center;color:var(--m-text-quaternary)}.menu-container[data-size=sm]{--menu-item-size: .8125rem;--menu-item-padding: calc(.8125rem * .625) calc(.8125rem * 1.25);--menu-text-size: .8125rem;--menu-icon-size: 20px}.menu-container[data-size=md]{--menu-item-size: .9375rem;--menu-item-padding: calc(.9375rem * .625) calc(.9375rem * 1.25);--menu-text-size: .9375rem;--menu-icon-size: 24px}.menu-container[data-size=lg]{--menu-item-size: 1.0625rem;--menu-item-padding: calc(1.0625rem * .625) calc(1.0625rem * 1.25);--menu-text-size: 1rem;--menu-icon-size: 28px}.menu-item{padding:var(--menu-item-padding, 8px 12px)}.menu-item .item-icon{width:var(--menu-icon-size, 24px);height:var(--menu-icon-size, 24px)}.menu-loading{display:flex;align-items:center;justify-content:center;padding:24px}.menu-loading .spinner{width:20px;height:20px;border:2px solid var(--m-backdrop-border);border-top-color:var(--m-mm);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-forward{0%{opacity:0;transform:translate(15px)}to{opacity:1;transform:translate(0)}}@keyframes slide-backward{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}.menu-container[data-slide=forward] .menu-content{animation:slide-forward .4s cubic-bezier(.165,.84,.44,1)}.menu-container[data-slide=backward] .menu-content{animation:slide-backward .4s cubic-bezier(.165,.84,.44,1)}:host-context(.align-bottom) .menu-container{border:none;border-radius:0}\n"], dependencies: [{ 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 });
|
|
8916
8957
|
}
|
|
8917
8958
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MenuComponent, decorators: [{
|
|
8918
8959
|
type: Component,
|
|
8919
|
-
args: [{ selector: 'm-menu', imports: [TranslatePipe, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8920
|
-
|
|
8960
|
+
args: [{ selector: 'm-menu', imports: [TranslatePipe, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
8961
|
+
'(keydown.arrowdown)': 'moveFocus($event, 1)',
|
|
8962
|
+
'(keydown.arrowup)': 'moveFocus($event, -1)',
|
|
8963
|
+
}, template: "<div class=\"menu-container\" [attr.data-slide]=\"slideDirection()\">\n @if (back()) {\n <div\n class=\"back-btn\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"goBack()\"\n (keydown.enter)=\"goBack()\"\n (keydown.space)=\"goBack()\"\n >\n <div class=\"back-icon\">\n <m-icon [name]=\"'chevron-left'\" color=\"currentColor\" />\n </div>\n <span class=\"back-text\">{{ back()!.label | translate }}</span>\n </div>\n }\n\n <div class=\"menu-content\">\n @if (isLoading()) {\n <div class=\"menu-loading\">\n <div class=\"spinner\"></div>\n </div>\n } @else {\n <div class=\"menu-groups\">\n @for (group of options(); track $index; let last = $last) {\n <div class=\"menu-group\" [class.has-separator]=\"!last\">\n @for (item of group; track item.id) {\n @if (!item.hidden) {\n <div\n class=\"menu-item\"\n [attr.data-testid]=\"item.id + '-btn'\"\n [class.is-selected]=\"isSelected(item)\"\n [class.is-disabled]=\"isItemDisabled(item)\"\n [attr.aria-disabled]=\"isItemDisabled(item) || null\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"selectItem(item)\"\n (keydown.enter)=\"selectItem(item)\"\n (keydown.space)=\"selectItem(item)\"\n >\n @if (item.icon) {\n <div class=\"item-icon\">\n <m-icon [name]=\"item.icon\" color=\"currentColor\" />\n </div>\n }\n <span class=\"item-text\">{{ item.label | translate }}</span>\n @if (item.options || item.file) {\n <div class=\"item-arrow\">\n <m-icon [name]=\"'chevron-right'\" color=\"currentColor\" />\n </div>\n }\n </div>\n }\n }\n </div>\n }\n </div>\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)}}.menu-container{display:flex;flex-direction:column;width:100%;border-radius:0;background:var(--m-menu-background, var(--m-background));border:none;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1)}.back-btn{height:calc(var(--input-size, .9375rem) * 2);min-height:calc(var(--input-size, .9375rem) * 2);border-width:max(1px,var(--input-size, .9375rem) * .0625);border-radius:calc(var(--input-size, .9375rem) * .4);padding:calc(var(--input-size, .9375rem) * .5) calc(var(--input-size, .9375rem) * .5);gap:calc(var(--input-size, .9375rem) * .375);font-size:var(--input-size, .9375rem);border-color:var(--m-text-secondary);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.back-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-text-secondary) 6%,transparent)}.back-btn:disabled{opacity:.6;cursor:not-allowed}.back-btn{height:auto;min-height:0;padding:calc(.9375rem * .625) calc(.9375rem * 1.25);gap:calc(.9375rem * .375);border-style:solid;display:inline-flex;justify-content:center;box-sizing:border-box;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:8px;padding:.5859375rem 1.171875rem;border-radius:0;border:none;border-bottom:1px solid var(--m-backdrop-border);color:var(--m-text-secondary);font-weight:400;text-align:left;width:100%;transition:filter .15s ease,background .15s ease,color .15s ease}.back-btn:hover,.back-btn:focus-visible{outline:none;background:color-mix(in srgb,var(--m-text) 8%,transparent);color:var(--m-text)}.back-btn:active{transform:scale(.97)}.back-btn .back-icon{display:flex;align-items:center}.back-btn .back-text{font-size:.9rem;font-weight:500}.menu-content{position:relative;width:100%}.menu-groups{display:flex;flex-direction:column;padding:6px}.menu-group{display:flex;flex-direction:column;gap:2px}.menu-group.has-separator{border-bottom:1px solid var(--m-backdrop-border);margin-bottom:6px;padding-bottom:6px}.menu-item{height:calc(var(--input-size, var(--menu-item-size, .9375rem)) * 2);min-height:calc(var(--input-size, var(--menu-item-size, .9375rem)) * 2);border-width:max(1px,var(--input-size, var(--menu-item-size, .9375rem)) * .0625);border-radius:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .4);padding:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .5) calc(var(--input-size, var(--menu-item-size, .9375rem)) * .5);gap:calc(var(--input-size, var(--menu-item-size, .9375rem)) * .375);font-size:var(--input-size, var(--menu-item-size, .9375rem));border-color:var(--m-text);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.menu-item:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-text) 6%,transparent)}.menu-item:disabled{opacity:.6;cursor:not-allowed}.menu-item{height:auto;min-height:0;padding:calc(var(--menu-item-size, .9375rem) * .625) calc(var(--menu-item-size, .9375rem) * 1.25);gap:calc(var(--menu-item-size, .9375rem) * .375);border-style:solid;display:inline-flex;justify-content:center;box-sizing:border-box;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:0;border:none;color:var(--m-text);font-weight:400;text-align:left;width:100%;transition:filter .15s ease,background .15s ease,color .15s ease}.menu-item:focus-visible{outline:none}.menu-item:hover:not(.is-disabled):not(.menu-item.is-selected),.menu-item:focus-visible:not(.is-selected){background:color-mix(in srgb,var(--m-text) 8%,transparent);color:var(--m-text)}.menu-item:active:not(.is-disabled){transform:scale(.97)}.menu-item.is-selected{background:var(--m-backdrop-mm);color:var(--m-mm);font-weight:600}.menu-item.is-selected .item-icon{color:var(--m-mm)}.menu-item.is-selected:hover,.menu-item.is-selected:focus-visible{background:color-mix(in srgb,var(--m-backdrop-mm) 88%,black)}.menu-item.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none;filter:grayscale(75%)}.menu-item .item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;color:var(--m-text-secondary)}.menu-item .item-text{flex:1;font-size:var(--menu-text-size, .9375rem)}.menu-item .item-arrow{display:flex;align-items:center;color:var(--m-text-quaternary)}.menu-container[data-size=sm]{--menu-item-size: .8125rem;--menu-item-padding: calc(.8125rem * .625) calc(.8125rem * 1.25);--menu-text-size: .8125rem;--menu-icon-size: 20px}.menu-container[data-size=md]{--menu-item-size: .9375rem;--menu-item-padding: calc(.9375rem * .625) calc(.9375rem * 1.25);--menu-text-size: .9375rem;--menu-icon-size: 24px}.menu-container[data-size=lg]{--menu-item-size: 1.0625rem;--menu-item-padding: calc(1.0625rem * .625) calc(1.0625rem * 1.25);--menu-text-size: 1rem;--menu-icon-size: 28px}.menu-item{padding:var(--menu-item-padding, 8px 12px)}.menu-item .item-icon{width:var(--menu-icon-size, 24px);height:var(--menu-icon-size, 24px)}.menu-loading{display:flex;align-items:center;justify-content:center;padding:24px}.menu-loading .spinner{width:20px;height:20px;border:2px solid var(--m-backdrop-border);border-top-color:var(--m-mm);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-forward{0%{opacity:0;transform:translate(15px)}to{opacity:1;transform:translate(0)}}@keyframes slide-backward{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}.menu-container[data-slide=forward] .menu-content{animation:slide-forward .4s cubic-bezier(.165,.84,.44,1)}.menu-container[data-slide=backward] .menu-content{animation:slide-backward .4s cubic-bezier(.165,.84,.44,1)}:host-context(.align-bottom) .menu-container{border:none;border-radius:0}\n"] }]
|
|
8964
|
+
}], ctorParameters: () => [], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], file: [{ type: i0.Input, args: [{ isSignal: true, alias: "file", required: false }] }], root: [{ type: i0.Input, args: [{ isSignal: true, alias: "root", required: false }] }], url: [{ type: i0.Input, args: [{ isSignal: true, alias: "url", required: false }] }], extra: [{ type: i0.Input, args: [{ isSignal: true, alias: "extra", required: false }] }], hide: [{ type: i0.Input, args: [{ isSignal: true, alias: "hide", required: false }] }], hideLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideLink", required: false }] }], isAdmin: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAdmin", required: false }] }], autoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoFocus", required: false }] }], action: [{ type: i0.Output, args: ["action"] }], 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 }] }] } });
|
|
8921
8965
|
|
|
8922
8966
|
class ContextMenuBoxComponent {
|
|
8923
8967
|
options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
@@ -8934,11 +8978,11 @@ class ContextMenuBoxComponent {
|
|
|
8934
8978
|
this.action.emit(item);
|
|
8935
8979
|
};
|
|
8936
8980
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ContextMenuBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8937
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: ContextMenuBoxComponent, isStandalone: true, selector: "m-context-menu-box", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, hide: { classPropertyName: "hide", publicName: "hide", isSignal: true, isRequired: false, transformFunction: null }, file: { classPropertyName: "file", publicName: "file", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, isAdmin: { classPropertyName: "isAdmin", publicName: "isAdmin", 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 } }, outputs: { action: "action" }, ngImport: i0, template: "<div class=\"m-context-menu-box\" [style.width]=\"width()\" [style.max-height]=\"height()\">\n <m-menu\n [config]=\"options()\"\n [hide]=\"hide()\"\n [file]=\"file()\"\n [isAdmin]=\"isAdmin()\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"emitAction($event)\"\n />\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)}}.m-context-menu-box{overflow-y:auto;padding:.375rem;border-radius:var(--m-input-radius, .5rem);border:var(--m-input-border-width, 1px) solid color-mix(in srgb,var(--m-text) 18%,var(--m-background));background:color-mix(in srgb,var(--m-focus) 2%,var(--m-background));box-shadow:0 .75rem 2rem color-mix(in srgb,var(--m-text) 12%,transparent);animation:context-menu-in .2s ease-out}@keyframes context-menu-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host-context(.align-bottom){display:block;width:100%!important;max-width:100%!important}:host-context(.align-bottom) .m-context-menu-box{width:100%!important;max-width:100%!important;max-height:70vh!important;border-left:none;border-right:none;border-bottom:none}\n"], dependencies: [{ kind: "component", type: MenuComponent, selector: "m-menu", inputs: ["config", "file", "root", "url", "extra", "hide", "hideLink", "isAdmin", "visibilityRule", "disableRule", "extraData"], outputs: ["action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8981
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: ContextMenuBoxComponent, isStandalone: true, selector: "m-context-menu-box", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, hide: { classPropertyName: "hide", publicName: "hide", isSignal: true, isRequired: false, transformFunction: null }, file: { classPropertyName: "file", publicName: "file", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, isAdmin: { classPropertyName: "isAdmin", publicName: "isAdmin", 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 } }, outputs: { action: "action" }, ngImport: i0, template: "<div class=\"m-context-menu-box\" [style.width]=\"width()\" [style.max-height]=\"height()\">\n <m-menu\n [config]=\"options()\"\n [hide]=\"hide()\"\n [file]=\"file()\"\n [isAdmin]=\"isAdmin()\"\n [autoFocus]=\"true\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"emitAction($event)\"\n />\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)}}.m-context-menu-box{overflow-y:auto;padding:.375rem;border-radius:var(--m-input-radius, .5rem);border:var(--m-input-border-width, 1px) solid color-mix(in srgb,var(--m-text) 18%,var(--m-background));background:color-mix(in srgb,var(--m-focus) 2%,var(--m-background));box-shadow:0 .75rem 2rem color-mix(in srgb,var(--m-text) 12%,transparent);animation:context-menu-in .2s ease-out}@keyframes context-menu-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host-context(.align-bottom){display:block;width:100%!important;max-width:100%!important}:host-context(.align-bottom) .m-context-menu-box{width:100%!important;max-width:100%!important;max-height:70vh!important;border-left:none;border-right:none;border-bottom:none}\n"], dependencies: [{ kind: "component", type: MenuComponent, selector: "m-menu", inputs: ["config", "file", "root", "url", "extra", "hide", "hideLink", "isAdmin", "autoFocus", "visibilityRule", "disableRule", "extraData"], outputs: ["action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8938
8982
|
}
|
|
8939
8983
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ContextMenuBoxComponent, decorators: [{
|
|
8940
8984
|
type: Component,
|
|
8941
|
-
args: [{ selector: 'm-context-menu-box', imports: [MenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-context-menu-box\" [style.width]=\"width()\" [style.max-height]=\"height()\">\n <m-menu\n [config]=\"options()\"\n [hide]=\"hide()\"\n [file]=\"file()\"\n [isAdmin]=\"isAdmin()\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"emitAction($event)\"\n />\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)}}.m-context-menu-box{overflow-y:auto;padding:.375rem;border-radius:var(--m-input-radius, .5rem);border:var(--m-input-border-width, 1px) solid color-mix(in srgb,var(--m-text) 18%,var(--m-background));background:color-mix(in srgb,var(--m-focus) 2%,var(--m-background));box-shadow:0 .75rem 2rem color-mix(in srgb,var(--m-text) 12%,transparent);animation:context-menu-in .2s ease-out}@keyframes context-menu-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host-context(.align-bottom){display:block;width:100%!important;max-width:100%!important}:host-context(.align-bottom) .m-context-menu-box{width:100%!important;max-width:100%!important;max-height:70vh!important;border-left:none;border-right:none;border-bottom:none}\n"] }]
|
|
8985
|
+
args: [{ selector: 'm-context-menu-box', imports: [MenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-context-menu-box\" [style.width]=\"width()\" [style.max-height]=\"height()\">\n <m-menu\n [config]=\"options()\"\n [hide]=\"hide()\"\n [file]=\"file()\"\n [isAdmin]=\"isAdmin()\"\n [autoFocus]=\"true\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"emitAction($event)\"\n />\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)}}.m-context-menu-box{overflow-y:auto;padding:.375rem;border-radius:var(--m-input-radius, .5rem);border:var(--m-input-border-width, 1px) solid color-mix(in srgb,var(--m-text) 18%,var(--m-background));background:color-mix(in srgb,var(--m-focus) 2%,var(--m-background));box-shadow:0 .75rem 2rem color-mix(in srgb,var(--m-text) 12%,transparent);animation:context-menu-in .2s ease-out}@keyframes context-menu-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host-context(.align-bottom){display:block;width:100%!important;max-width:100%!important}:host-context(.align-bottom) .m-context-menu-box{width:100%!important;max-width:100%!important;max-height:70vh!important;border-left:none;border-right:none;border-bottom:none}\n"] }]
|
|
8942
8986
|
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], hide: [{ type: i0.Input, args: [{ isSignal: true, alias: "hide", required: false }] }], file: [{ type: i0.Input, args: [{ isSignal: true, alias: "file", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], isAdmin: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAdmin", required: false }] }], action: [{ type: i0.Output, args: ["action"] }], 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 }] }] } });
|
|
8943
8987
|
|
|
8944
8988
|
class ContextMenuComponent extends ConfigComponent {
|
|
@@ -19675,7 +19719,19 @@ class DropdownBoxComponent {
|
|
|
19675
19719
|
options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
19676
19720
|
selected = input('', ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
|
|
19677
19721
|
multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
|
|
19722
|
+
activeIndex = input(-1, ...(ngDevMode ? [{ debugName: "activeIndex" }] : /* istanbul ignore next */ []));
|
|
19678
19723
|
action = output();
|
|
19724
|
+
host = inject(ElementRef);
|
|
19725
|
+
// Keep the keyboard-active option in view as ↑/↓ walk a scrolled list.
|
|
19726
|
+
constructor() {
|
|
19727
|
+
effect(() => {
|
|
19728
|
+
const index = this.activeIndex();
|
|
19729
|
+
if (index < 0)
|
|
19730
|
+
return;
|
|
19731
|
+
this.host.nativeElement
|
|
19732
|
+
.querySelectorAll('.dropdown-box__option')[index]?.scrollIntoView?.({ block: 'nearest' });
|
|
19733
|
+
});
|
|
19734
|
+
}
|
|
19679
19735
|
isSelected = (value) => {
|
|
19680
19736
|
const sel = this.selected();
|
|
19681
19737
|
if (Array.isArray(sel)) {
|
|
@@ -19690,14 +19746,15 @@ class DropdownBoxComponent {
|
|
|
19690
19746
|
this.action.emit(option);
|
|
19691
19747
|
};
|
|
19692
19748
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DropdownBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19693
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DropdownBoxComponent, isStandalone: true, selector: "m-dropdown-box", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: "action" }, ngImport: i0, template: `
|
|
19749
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DropdownBoxComponent, isStandalone: true, selector: "m-dropdown-box", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: "action" }, ngImport: i0, template: `
|
|
19694
19750
|
<ul class="dropdown-box" role="listbox">
|
|
19695
|
-
@for (option of options(); track option.value) {
|
|
19751
|
+
@for (option of options(); track option.value; let i = $index) {
|
|
19696
19752
|
@let selectedState = isSelected(option.value);
|
|
19697
19753
|
<li
|
|
19698
19754
|
class="dropdown-box__option"
|
|
19699
19755
|
[class.dropdown-box__option--selected]="selectedState"
|
|
19700
19756
|
[class.dropdown-box__option--disabled]="option.disabled"
|
|
19757
|
+
[class.dropdown-box__option--active]="i === activeIndex()"
|
|
19701
19758
|
role="option"
|
|
19702
19759
|
[attr.aria-selected]="selectedState"
|
|
19703
19760
|
[attr.data-value]="option.value"
|
|
@@ -19727,18 +19784,19 @@ class DropdownBoxComponent {
|
|
|
19727
19784
|
</li>
|
|
19728
19785
|
}
|
|
19729
19786
|
</ul>
|
|
19730
|
-
`, 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)}}.dropdown-box{overflow-y:auto;max-height:15rem;margin:0;padding:.375rem;list-style:none;border:var(--m-input-border-width, 1px) solid var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);background:color-mix(in srgb,var(--m-focus) 2%,var(--m-background));box-shadow:0 .75rem 2rem color-mix(in srgb,var(--m-text) 12%,transparent);animation:dropdown-in .2s ease-out}.dropdown-box__checkbox{flex-shrink:0;width:14px;height:14px;margin-right:8px;pointer-events:none;accent-color:var(--m-mm);cursor:pointer}.dropdown-box__option{display:flex;align-items:center;padding:.625rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;color:var(--m-text);transition:background .15s ease}.dropdown-box__option:hover{background:color-mix(in srgb,var(--m-focus) 8%,transparent)}.dropdown-box__option--selected{font-weight:600;color:var(--m-mm)}.dropdown-box__option--disabled{opacity:.4;pointer-events:none}.dropdown-box__empty{padding:.75rem;text-align:center;color:var(--m-text-tertiary);font-size:.875rem}@keyframes dropdown-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host(.open-upward) .dropdown-box{animation:dropdown-in-up .2s ease-out}@keyframes dropdown-in-up{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host-context(.align-bottom) .dropdown-box{max-height:70vh;border:none;border-radius:0;background:transparent;box-shadow:none;animation:none}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19787
|
+
`, 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)}}.dropdown-box{overflow-y:auto;max-height:15rem;margin:0;padding:.375rem;list-style:none;border:var(--m-input-border-width, 1px) solid var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);background:color-mix(in srgb,var(--m-focus) 2%,var(--m-background));box-shadow:0 .75rem 2rem color-mix(in srgb,var(--m-text) 12%,transparent);animation:dropdown-in .2s ease-out}.dropdown-box__checkbox{flex-shrink:0;width:14px;height:14px;margin-right:8px;pointer-events:none;accent-color:var(--m-mm);cursor:pointer}.dropdown-box__option{display:flex;align-items:center;padding:.625rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;color:var(--m-text);transition:background .15s ease}.dropdown-box__option:hover,.dropdown-box__option--active{background:color-mix(in srgb,var(--m-focus) 8%,transparent)}.dropdown-box__option--selected{font-weight:600;color:var(--m-mm)}.dropdown-box__option--disabled{opacity:.4;pointer-events:none}.dropdown-box__empty{padding:.75rem;text-align:center;color:var(--m-text-tertiary);font-size:.875rem}@keyframes dropdown-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host(.open-upward) .dropdown-box{animation:dropdown-in-up .2s ease-out}@keyframes dropdown-in-up{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host-context(.align-bottom) .dropdown-box{max-height:70vh;border:none;border-radius:0;background:transparent;box-shadow:none;animation:none}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19731
19788
|
}
|
|
19732
19789
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DropdownBoxComponent, decorators: [{
|
|
19733
19790
|
type: Component,
|
|
19734
19791
|
args: [{ selector: 'm-dropdown-box', imports: [TranslatePipe], template: `
|
|
19735
19792
|
<ul class="dropdown-box" role="listbox">
|
|
19736
|
-
@for (option of options(); track option.value) {
|
|
19793
|
+
@for (option of options(); track option.value; let i = $index) {
|
|
19737
19794
|
@let selectedState = isSelected(option.value);
|
|
19738
19795
|
<li
|
|
19739
19796
|
class="dropdown-box__option"
|
|
19740
19797
|
[class.dropdown-box__option--selected]="selectedState"
|
|
19741
19798
|
[class.dropdown-box__option--disabled]="option.disabled"
|
|
19799
|
+
[class.dropdown-box__option--active]="i === activeIndex()"
|
|
19742
19800
|
role="option"
|
|
19743
19801
|
[attr.aria-selected]="selectedState"
|
|
19744
19802
|
[attr.data-value]="option.value"
|
|
@@ -19768,8 +19826,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
19768
19826
|
</li>
|
|
19769
19827
|
}
|
|
19770
19828
|
</ul>
|
|
19771
|
-
`, 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)}}.dropdown-box{overflow-y:auto;max-height:15rem;margin:0;padding:.375rem;list-style:none;border:var(--m-input-border-width, 1px) solid var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);background:color-mix(in srgb,var(--m-focus) 2%,var(--m-background));box-shadow:0 .75rem 2rem color-mix(in srgb,var(--m-text) 12%,transparent);animation:dropdown-in .2s ease-out}.dropdown-box__checkbox{flex-shrink:0;width:14px;height:14px;margin-right:8px;pointer-events:none;accent-color:var(--m-mm);cursor:pointer}.dropdown-box__option{display:flex;align-items:center;padding:.625rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;color:var(--m-text);transition:background .15s ease}.dropdown-box__option:hover{background:color-mix(in srgb,var(--m-focus) 8%,transparent)}.dropdown-box__option--selected{font-weight:600;color:var(--m-mm)}.dropdown-box__option--disabled{opacity:.4;pointer-events:none}.dropdown-box__empty{padding:.75rem;text-align:center;color:var(--m-text-tertiary);font-size:.875rem}@keyframes dropdown-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host(.open-upward) .dropdown-box{animation:dropdown-in-up .2s ease-out}@keyframes dropdown-in-up{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host-context(.align-bottom) .dropdown-box{max-height:70vh;border:none;border-radius:0;background:transparent;box-shadow:none;animation:none}\n"] }]
|
|
19772
|
-
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], action: [{ type: i0.Output, args: ["action"] }] } });
|
|
19829
|
+
`, 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)}}.dropdown-box{overflow-y:auto;max-height:15rem;margin:0;padding:.375rem;list-style:none;border:var(--m-input-border-width, 1px) solid var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);background:color-mix(in srgb,var(--m-focus) 2%,var(--m-background));box-shadow:0 .75rem 2rem color-mix(in srgb,var(--m-text) 12%,transparent);animation:dropdown-in .2s ease-out}.dropdown-box__checkbox{flex-shrink:0;width:14px;height:14px;margin-right:8px;pointer-events:none;accent-color:var(--m-mm);cursor:pointer}.dropdown-box__option{display:flex;align-items:center;padding:.625rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;color:var(--m-text);transition:background .15s ease}.dropdown-box__option:hover,.dropdown-box__option--active{background:color-mix(in srgb,var(--m-focus) 8%,transparent)}.dropdown-box__option--selected{font-weight:600;color:var(--m-mm)}.dropdown-box__option--disabled{opacity:.4;pointer-events:none}.dropdown-box__empty{padding:.75rem;text-align:center;color:var(--m-text-tertiary);font-size:.875rem}@keyframes dropdown-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host(.open-upward) .dropdown-box{animation:dropdown-in-up .2s ease-out}@keyframes dropdown-in-up{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}:host-context(.align-bottom) .dropdown-box{max-height:70vh;border:none;border-radius:0;background:transparent;box-shadow:none;animation:none}\n"] }]
|
|
19830
|
+
}], ctorParameters: () => [], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], activeIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeIndex", required: false }] }], action: [{ type: i0.Output, args: ["action"] }] } });
|
|
19773
19831
|
|
|
19774
19832
|
class DropdownInputComponent extends BaseInputComponent {
|
|
19775
19833
|
value = model('', ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
@@ -19844,6 +19902,19 @@ class DropdownInputComponent extends BaseInputComponent {
|
|
|
19844
19902
|
return label.includes(search) || o.value.toLowerCase().includes(search);
|
|
19845
19903
|
});
|
|
19846
19904
|
}, ...(ngDevMode ? [{ debugName: "filteredOptions" }] : /* istanbul ignore next */ []));
|
|
19905
|
+
/** The option ↑/↓ point at while the panel is open; -1 is none. Reset as the search narrows the list. */
|
|
19906
|
+
activeIndex = linkedSignal({ ...(ngDevMode ? { debugName: "activeIndex" } : /* istanbul ignore next */ {}), source: this.filteredOptions,
|
|
19907
|
+
computation: (options) => this.searchTerm() ? this.nextEnabled(options, -1, 1) : -1 });
|
|
19908
|
+
/** The enabled option `step` rows past `from`, wrapping; `from` itself when none. */
|
|
19909
|
+
nextEnabled = (options, from, step) => {
|
|
19910
|
+
for (let i = 1; i <= options.length; i++) {
|
|
19911
|
+
const index = (((from + step * i) % options.length) + options.length) %
|
|
19912
|
+
options.length;
|
|
19913
|
+
if (!options[index].disabled)
|
|
19914
|
+
return index;
|
|
19915
|
+
}
|
|
19916
|
+
return from;
|
|
19917
|
+
};
|
|
19847
19918
|
displayValue = computed(() => {
|
|
19848
19919
|
if (this.toggle())
|
|
19849
19920
|
return this.searchTerm();
|
|
@@ -19906,32 +19977,57 @@ class DropdownInputComponent extends BaseInputComponent {
|
|
|
19906
19977
|
inputBinding('options', this.filteredOptions),
|
|
19907
19978
|
inputBinding('selected', this.value),
|
|
19908
19979
|
inputBinding('multiple', this.isMultiselect),
|
|
19909
|
-
|
|
19910
|
-
|
|
19911
|
-
const val = this.value();
|
|
19912
|
-
const current = Array.isArray(val) ? val : val ? [val] : [];
|
|
19913
|
-
const index = current.indexOf(option.value);
|
|
19914
|
-
let nextValue;
|
|
19915
|
-
if (index > -1) {
|
|
19916
|
-
nextValue = current.filter((v) => v !== option.value);
|
|
19917
|
-
}
|
|
19918
|
-
else {
|
|
19919
|
-
nextValue = [...current, option.value];
|
|
19920
|
-
}
|
|
19921
|
-
this.setValue(nextValue);
|
|
19922
|
-
}
|
|
19923
|
-
else {
|
|
19924
|
-
this.setValue(option.value);
|
|
19925
|
-
this.toggle.set(false);
|
|
19926
|
-
this.searchTerm.set('');
|
|
19927
|
-
setTimeout(() => this.wrapperRef()?.nativeElement.click(), 0);
|
|
19928
|
-
}
|
|
19929
|
-
}),
|
|
19980
|
+
inputBinding('activeIndex', this.activeIndex),
|
|
19981
|
+
outputBinding('action', this.selectOption),
|
|
19930
19982
|
],
|
|
19931
19983
|
}), ...(ngDevMode ? [{ debugName: "selectorConfig" }] : /* istanbul ignore next */ []));
|
|
19984
|
+
selectOption = (option) => {
|
|
19985
|
+
if (this.isMultiselect()) {
|
|
19986
|
+
const val = this.value();
|
|
19987
|
+
const current = Array.isArray(val) ? val : val ? [val] : [];
|
|
19988
|
+
const index = current.indexOf(option.value);
|
|
19989
|
+
let nextValue;
|
|
19990
|
+
if (index > -1) {
|
|
19991
|
+
nextValue = current.filter((v) => v !== option.value);
|
|
19992
|
+
}
|
|
19993
|
+
else {
|
|
19994
|
+
nextValue = [...current, option.value];
|
|
19995
|
+
}
|
|
19996
|
+
this.setValue(nextValue);
|
|
19997
|
+
}
|
|
19998
|
+
else {
|
|
19999
|
+
this.setValue(option.value);
|
|
20000
|
+
this.toggle.set(false);
|
|
20001
|
+
this.searchTerm.set('');
|
|
20002
|
+
setTimeout(() => this.wrapperRef()?.nativeElement.click(), 0);
|
|
20003
|
+
}
|
|
20004
|
+
};
|
|
19932
20005
|
onOpened = () => {
|
|
19933
20006
|
this.toggle.set(true);
|
|
19934
20007
|
this.searchTerm.set('');
|
|
20008
|
+
const val = this.value();
|
|
20009
|
+
const current = Array.isArray(val) ? val[0] : val;
|
|
20010
|
+
this.activeIndex.set(this.filteredOptions().findIndex((o) => o.value === current));
|
|
20011
|
+
};
|
|
20012
|
+
// Focus stays in the trigger input (it is the search box), so ↑/↓ move the
|
|
20013
|
+
// active option rather than DOM focus. Closed, ArrowDown bubbles on to
|
|
20014
|
+
// SelectorDirective, which opens the panel.
|
|
20015
|
+
onArrow = (event, step) => {
|
|
20016
|
+
if (!this.toggle())
|
|
20017
|
+
return;
|
|
20018
|
+
event.preventDefault();
|
|
20019
|
+
this.activeIndex.update((index) => this.nextEnabled(this.filteredOptions(), index, step));
|
|
20020
|
+
};
|
|
20021
|
+
// Enter never reaches SelectorDirective (it would toggle the panel); open,
|
|
20022
|
+
// it picks the active option.
|
|
20023
|
+
onEnter = (event) => {
|
|
20024
|
+
event.stopPropagation();
|
|
20025
|
+
if (!this.toggle())
|
|
20026
|
+
return;
|
|
20027
|
+
event.preventDefault();
|
|
20028
|
+
const option = this.filteredOptions()[this.activeIndex()];
|
|
20029
|
+
if (option && !option.disabled)
|
|
20030
|
+
this.selectOption(option);
|
|
19935
20031
|
};
|
|
19936
20032
|
onClosed = () => {
|
|
19937
20033
|
this.toggle.set(false);
|
|
@@ -19978,7 +20074,9 @@ class DropdownInputComponent extends BaseInputComponent {
|
|
|
19978
20074
|
(valueChange)="onInput($event)"
|
|
19979
20075
|
(click)="preventToggleWhenOpen($event)"
|
|
19980
20076
|
(keydown.space)="$event.stopPropagation()"
|
|
19981
|
-
(keydown.enter)="$event
|
|
20077
|
+
(keydown.enter)="onEnter($event)"
|
|
20078
|
+
(keydown.arrowdown)="onArrow($event, 1)"
|
|
20079
|
+
(keydown.arrowup)="onArrow($event, -1)"
|
|
19982
20080
|
(keydown.tab)="$event.stopPropagation()"
|
|
19983
20081
|
/>
|
|
19984
20082
|
<m-button [disabled]="disabled()" [config]="chevron()" />
|
|
@@ -20029,7 +20127,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
20029
20127
|
(valueChange)="onInput($event)"
|
|
20030
20128
|
(click)="preventToggleWhenOpen($event)"
|
|
20031
20129
|
(keydown.space)="$event.stopPropagation()"
|
|
20032
|
-
(keydown.enter)="$event
|
|
20130
|
+
(keydown.enter)="onEnter($event)"
|
|
20131
|
+
(keydown.arrowdown)="onArrow($event, 1)"
|
|
20132
|
+
(keydown.arrowup)="onArrow($event, -1)"
|
|
20033
20133
|
(keydown.tab)="$event.stopPropagation()"
|
|
20034
20134
|
/>
|
|
20035
20135
|
<m-button [disabled]="disabled()" [config]="chevron()" />
|
|
@@ -21293,7 +21393,7 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
21293
21393
|
break;
|
|
21294
21394
|
}
|
|
21295
21395
|
case InputType.TOGGLE: {
|
|
21296
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
21396
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-DvD5jGYQ.mjs');
|
|
21297
21397
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
21298
21398
|
break;
|
|
21299
21399
|
}
|
|
@@ -21305,12 +21405,12 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
21305
21405
|
break;
|
|
21306
21406
|
}
|
|
21307
21407
|
case InputType.PASSWORD: {
|
|
21308
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
21408
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-BMb2G_AM.mjs');
|
|
21309
21409
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
21310
21410
|
break;
|
|
21311
21411
|
}
|
|
21312
21412
|
case InputType.OTP: {
|
|
21313
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
21413
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-OeNODjrN.mjs');
|
|
21314
21414
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
21315
21415
|
break;
|
|
21316
21416
|
}
|
|
@@ -23017,7 +23117,7 @@ class FileUploadInputComponent extends BaseInputComponent {
|
|
|
23017
23117
|
const modalStore = this.modalStore;
|
|
23018
23118
|
if (!modalStore)
|
|
23019
23119
|
return undefined;
|
|
23020
|
-
const { ImageEditorComponent } = await import('./magmonium-one-image-editor-
|
|
23120
|
+
const { ImageEditorComponent } = await import('./magmonium-one-image-editor-DEX3Iyxj.mjs');
|
|
23021
23121
|
const ratio = String(this.config()?.ratio ?? '');
|
|
23022
23122
|
return new Promise((resolve) => {
|
|
23023
23123
|
const modalRef = new ModalRef();
|
|
@@ -29899,7 +29999,7 @@ class StatComponent {
|
|
|
29899
29999
|
return resolvePallet(color, this.themeStore.color()).color;
|
|
29900
30000
|
}
|
|
29901
30001
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29902
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: StatComponent, isStandalone: true, selector: "m-stat", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noTranslate: { classPropertyName: "noTranslate", publicName: "noTranslate", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, cornerPosition: { classPropertyName: "cornerPosition", publicName: "cornerPosition", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, cornerColor: { classPropertyName: "cornerColor", publicName: "cornerColor", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-design-mode": "isDesignMode", "class.corner-left": "side() === \"left\"", "class.corner-bottom": "edge() === \"bottom\"", "class.align-left": "align() === \"left\"", "class.align-center": "align() === \"center\"", "class.align-right": "align() === \"right\"", "class.has-color": "!!resolvedColor()", "class.has-corner-color": "!!resolvedCornerColor()", "attr.data-variant": "variant()", "attr.data-surface": "surface()", "style.--m-stat-color": "resolvedColor()", "style.--m-stat-corner-color": "resolvedCornerColor()" }, classAttribute: "m-stat-host" }, ngImport: i0, template: "<div class=\"m-stat\">\n <m-key-value variant=\"bento\">\n <span key class=\"m-stat__label\" [class.m-stat__ghost]=\"labelGhost()\">{{\n labelDisplay()\n }}</span>\n <span value class=\"m-stat__value\">\n <!-- Both slots are wrappers this component owns rather than bare\n `ng-content`: what a caller projects carries the *caller's*\n encapsulation attribute, so `.m-stat__figure` and `.m-stat__corner`\n could not be put on it from here. The wrappers hold the ordering,\n the tone colour and the corner's superscript size; whatever lands\n inside them is the caller's own markup (ADR 0021). -->\n <span class=\"m-stat__figure\"><ng-content select=\"[value]\" /></span>\n <!-- One corner, ordered and aligned by CSS rather than written twice:\n `cornerPosition` is four values and the slot is one node. -->\n <span class=\"m-stat__corner\"><ng-content select=\"[corner]\" /></span>\n </span>\n </m-key-value>\n</div>\n", styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;line-height:1.4;--_tone: var(--m-mm);--_pad-y: .85em;--_pad-x: 1em;--_kv-pad: 0}:host(.is-design-mode){min-width:8em;min-height:4em}.m-stat{display:flex;flex-direction:column;min-width:0;padding:var(--_pad-y) var(--_pad-x);border-radius:.75em}.m-stat__value{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35em;min-width:0}.m-stat__figure{order:0;min-width:0;display:inline-flex;align-items:center;gap:.35em;font-size:.6060606061em}.m-stat__corner{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.25em}.m-stat__corner:empty{display:none}.m-stat__corner{font-size:.5em;font-weight:300;white-space:nowrap;letter-spacing:.01em;color:var(--m-text-tertiary);background:none;-webkit-text-fill-color:currentColor}.m-stat__ghost{color:var(--m-text-tertiary);opacity:.6;-webkit-text-fill-color:currentColor}:host(.corner-left) .m-stat__corner{order:-1}:host(.corner-bottom) .m-stat__corner{align-self:flex-end}:host(.is-design-mode) .m-stat__value{flex-direction:column;align-items:flex-start}:host(.is-design-mode) .m-stat__corner{align-self:flex-start}:host(.align-left) .m-stat{text-align:left;--_kv-align: flex-start}:host(.align-center) .m-stat{text-align:center;--_kv-align: center}:host(.align-right) .m-stat{text-align:right;--_kv-align: flex-end}:host(.m-stat-host) .m-stat:has(m-section,m-section-form){--_kv-align: stretch}:host(.m-stat-host) .m-stat:has(m-section,m-section-form) .m-stat__value{display:flex}:host(.m-stat-host) .m-stat:has(m-section,m-section-form) .m-stat__figure{flex:1 1 auto;align-self:stretch;display:grid}:host([data-variant=compact]){--_pad-y: .45em;--_pad-x: .6em}:host([data-variant=no-padding]){--_pad-y: 0;--_pad-x: 0}:host([data-variant=no-x-padding]){--_pad-x: 0}:host(.has-color) .m-stat__figure{color:var(--m-stat-color);-webkit-text-fill-color:var(--m-stat-color)}:host(.has-corner-color) .m-stat__corner{color:var(--m-stat-corner-color)}:host([data-surface=card]) .m-stat{background:color-mix(in srgb,var(--m-background-lite) 70%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent)}:host([data-surface=shadow]) .m-stat{background:var(--m-background-lite);border:1px solid color-mix(in srgb,var(--m-border) 45%,transparent);box-shadow:0 10px 30px #0000000f;transition:box-shadow .2s ease,transform .2s ease}:host([data-surface=shadow]) .m-stat:hover{box-shadow:0 18px 44px #0000001a;transform:translateY(-2px)}:host([data-surface=glow]) .m-stat{background:color-mix(in srgb,var(--_tone) 10%,transparent);border:1px solid color-mix(in srgb,var(--_tone) 28%,transparent);box-shadow:0 12px 34px color-mix(in srgb,var(--_tone) 18%,transparent)}:host([data-surface=glow]) .m-stat__figure{text-shadow:0 2px 14px color-mix(in srgb,var(--_tone) 40%,transparent)}:host([data-surface=gradient]) .m-stat{background:linear-gradient(135deg,color-mix(in srgb,var(--_tone) 18%,transparent),color-mix(in srgb,var(--m-background-lite) 85%,transparent));border:1px solid color-mix(in srgb,var(--_tone) 20%,transparent);box-shadow:0 8px 24px #0000000d}:host([data-surface=gradient]) .m-stat__figure{text-shadow:0 1px 0 color-mix(in srgb,var(--m-background) 70%,transparent)}\n"], dependencies: [{ kind: "component", type: KeyValueComponent, selector: "m-key-value", inputs: ["variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30002
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: StatComponent, isStandalone: true, selector: "m-stat", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noTranslate: { classPropertyName: "noTranslate", publicName: "noTranslate", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, cornerPosition: { classPropertyName: "cornerPosition", publicName: "cornerPosition", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, cornerColor: { classPropertyName: "cornerColor", publicName: "cornerColor", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-design-mode": "isDesignMode", "class.corner-left": "side() === \"left\"", "class.corner-bottom": "edge() === \"bottom\"", "class.align-left": "align() === \"left\"", "class.align-center": "align() === \"center\"", "class.align-right": "align() === \"right\"", "class.has-color": "!!resolvedColor()", "class.has-corner-color": "!!resolvedCornerColor()", "attr.data-variant": "variant()", "attr.data-surface": "surface()", "style.--m-stat-color": "resolvedColor()", "style.--m-stat-corner-color": "resolvedCornerColor()" }, classAttribute: "m-stat-host" }, ngImport: i0, template: "<div class=\"m-stat\">\n <m-key-value variant=\"bento\">\n <span key class=\"m-stat__label\" [class.m-stat__ghost]=\"labelGhost()\">{{\n labelDisplay()\n }}</span>\n <span value class=\"m-stat__value\">\n <!-- Both slots are wrappers this component owns rather than bare\n `ng-content`: what a caller projects carries the *caller's*\n encapsulation attribute, so `.m-stat__figure` and `.m-stat__corner`\n could not be put on it from here. The wrappers hold the ordering,\n the tone colour and the corner's superscript size; whatever lands\n inside them is the caller's own markup (ADR 0021). -->\n <span class=\"m-stat__figure\"><ng-content select=\"[value]\" /></span>\n <!-- One corner, ordered and aligned by CSS rather than written twice:\n `cornerPosition` is four values and the slot is one node. -->\n <span class=\"m-stat__corner\"><ng-content select=\"[corner]\" /></span>\n </span>\n </m-key-value>\n</div>\n", styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;line-height:1.4;--_tone: var(--m-mm);--_pad-y: .85em;--_pad-x: 1em;--_kv-pad: 0}:host(.is-design-mode){min-width:8em;min-height:4em}.m-stat{display:flex;flex-direction:column;min-width:0;padding:var(--_pad-y) var(--_pad-x);border-radius:.75em}.m-stat__value{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35em;min-width:0}.m-stat__figure{order:0;min-width:0;display:inline-flex;align-items:center;gap:.35em;font-size:.6060606061em}.m-stat__corner{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.25em}.m-stat__corner:empty{display:none}.m-stat__corner{font-size:.5em;font-weight:300;white-space:nowrap;letter-spacing:.01em;color:var(--m-text-tertiary);background:none;-webkit-text-fill-color:currentColor}.m-stat__ghost{color:var(--m-text-tertiary);opacity:.6;-webkit-text-fill-color:currentColor}:host(.corner-left) .m-stat__corner{order:-1}:host(.corner-bottom) .m-stat__corner{align-self:flex-end}:host(.is-design-mode) .m-stat__value{flex-direction:column;align-items:flex-start}:host(.is-design-mode) .m-stat__corner{align-self:flex-start}:host(.align-left) .m-stat{text-align:left;--_kv-align: flex-start}:host(.align-center) .m-stat{text-align:center;--_kv-align: center}:host(.align-right) .m-stat{text-align:right;--_kv-align: flex-end}:host(.m-stat-host) .m-stat:has(m-section,m-section-form){--_kv-align: stretch}:host(.m-stat-host) .m-stat:has(m-section,m-section-form) .m-stat__value{display:flex}:host(.m-stat-host) .m-stat:has(m-section,m-section-form) .m-stat__figure{flex:1 1 auto;align-self:stretch;display:grid;-webkit-text-fill-color:currentColor}:host([data-variant=compact]){--_pad-y: .45em;--_pad-x: .6em}:host([data-variant=no-padding]){--_pad-y: 0;--_pad-x: 0}:host([data-variant=no-x-padding]){--_pad-x: 0}:host(.has-color) .m-stat__figure{color:var(--m-stat-color);-webkit-text-fill-color:var(--m-stat-color)}:host(.has-corner-color) .m-stat__corner{color:var(--m-stat-corner-color)}:host([data-surface=card]) .m-stat{background:color-mix(in srgb,var(--m-background-lite) 70%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent)}:host([data-surface=shadow]) .m-stat{background:var(--m-background-lite);border:1px solid color-mix(in srgb,var(--m-border) 45%,transparent);box-shadow:0 10px 30px #0000000f;transition:box-shadow .2s ease,transform .2s ease}:host([data-surface=shadow]) .m-stat:hover{box-shadow:0 18px 44px #0000001a;transform:translateY(-2px)}:host([data-surface=glow]) .m-stat{background:color-mix(in srgb,var(--_tone) 10%,transparent);border:1px solid color-mix(in srgb,var(--_tone) 28%,transparent);box-shadow:0 12px 34px color-mix(in srgb,var(--_tone) 18%,transparent)}:host([data-surface=glow]) .m-stat__figure{text-shadow:0 2px 14px color-mix(in srgb,var(--_tone) 40%,transparent)}:host([data-surface=gradient]) .m-stat{background:linear-gradient(135deg,color-mix(in srgb,var(--_tone) 18%,transparent),color-mix(in srgb,var(--m-background-lite) 85%,transparent));border:1px solid color-mix(in srgb,var(--_tone) 20%,transparent);box-shadow:0 8px 24px #0000000d}:host([data-surface=gradient]) .m-stat__figure{text-shadow:0 1px 0 color-mix(in srgb,var(--m-background) 70%,transparent)}\n"], dependencies: [{ kind: "component", type: KeyValueComponent, selector: "m-key-value", inputs: ["variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
29903
30003
|
}
|
|
29904
30004
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StatComponent, decorators: [{
|
|
29905
30005
|
type: Component,
|
|
@@ -29917,7 +30017,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
29917
30017
|
'[attr.data-surface]': 'surface()',
|
|
29918
30018
|
'[style.--m-stat-color]': 'resolvedColor()',
|
|
29919
30019
|
'[style.--m-stat-corner-color]': 'resolvedCornerColor()',
|
|
29920
|
-
}, template: "<div class=\"m-stat\">\n <m-key-value variant=\"bento\">\n <span key class=\"m-stat__label\" [class.m-stat__ghost]=\"labelGhost()\">{{\n labelDisplay()\n }}</span>\n <span value class=\"m-stat__value\">\n <!-- Both slots are wrappers this component owns rather than bare\n `ng-content`: what a caller projects carries the *caller's*\n encapsulation attribute, so `.m-stat__figure` and `.m-stat__corner`\n could not be put on it from here. The wrappers hold the ordering,\n the tone colour and the corner's superscript size; whatever lands\n inside them is the caller's own markup (ADR 0021). -->\n <span class=\"m-stat__figure\"><ng-content select=\"[value]\" /></span>\n <!-- One corner, ordered and aligned by CSS rather than written twice:\n `cornerPosition` is four values and the slot is one node. -->\n <span class=\"m-stat__corner\"><ng-content select=\"[corner]\" /></span>\n </span>\n </m-key-value>\n</div>\n", styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;line-height:1.4;--_tone: var(--m-mm);--_pad-y: .85em;--_pad-x: 1em;--_kv-pad: 0}:host(.is-design-mode){min-width:8em;min-height:4em}.m-stat{display:flex;flex-direction:column;min-width:0;padding:var(--_pad-y) var(--_pad-x);border-radius:.75em}.m-stat__value{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35em;min-width:0}.m-stat__figure{order:0;min-width:0;display:inline-flex;align-items:center;gap:.35em;font-size:.6060606061em}.m-stat__corner{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.25em}.m-stat__corner:empty{display:none}.m-stat__corner{font-size:.5em;font-weight:300;white-space:nowrap;letter-spacing:.01em;color:var(--m-text-tertiary);background:none;-webkit-text-fill-color:currentColor}.m-stat__ghost{color:var(--m-text-tertiary);opacity:.6;-webkit-text-fill-color:currentColor}:host(.corner-left) .m-stat__corner{order:-1}:host(.corner-bottom) .m-stat__corner{align-self:flex-end}:host(.is-design-mode) .m-stat__value{flex-direction:column;align-items:flex-start}:host(.is-design-mode) .m-stat__corner{align-self:flex-start}:host(.align-left) .m-stat{text-align:left;--_kv-align: flex-start}:host(.align-center) .m-stat{text-align:center;--_kv-align: center}:host(.align-right) .m-stat{text-align:right;--_kv-align: flex-end}:host(.m-stat-host) .m-stat:has(m-section,m-section-form){--_kv-align: stretch}:host(.m-stat-host) .m-stat:has(m-section,m-section-form) .m-stat__value{display:flex}:host(.m-stat-host) .m-stat:has(m-section,m-section-form) .m-stat__figure{flex:1 1 auto;align-self:stretch;display:grid}:host([data-variant=compact]){--_pad-y: .45em;--_pad-x: .6em}:host([data-variant=no-padding]){--_pad-y: 0;--_pad-x: 0}:host([data-variant=no-x-padding]){--_pad-x: 0}:host(.has-color) .m-stat__figure{color:var(--m-stat-color);-webkit-text-fill-color:var(--m-stat-color)}:host(.has-corner-color) .m-stat__corner{color:var(--m-stat-corner-color)}:host([data-surface=card]) .m-stat{background:color-mix(in srgb,var(--m-background-lite) 70%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent)}:host([data-surface=shadow]) .m-stat{background:var(--m-background-lite);border:1px solid color-mix(in srgb,var(--m-border) 45%,transparent);box-shadow:0 10px 30px #0000000f;transition:box-shadow .2s ease,transform .2s ease}:host([data-surface=shadow]) .m-stat:hover{box-shadow:0 18px 44px #0000001a;transform:translateY(-2px)}:host([data-surface=glow]) .m-stat{background:color-mix(in srgb,var(--_tone) 10%,transparent);border:1px solid color-mix(in srgb,var(--_tone) 28%,transparent);box-shadow:0 12px 34px color-mix(in srgb,var(--_tone) 18%,transparent)}:host([data-surface=glow]) .m-stat__figure{text-shadow:0 2px 14px color-mix(in srgb,var(--_tone) 40%,transparent)}:host([data-surface=gradient]) .m-stat{background:linear-gradient(135deg,color-mix(in srgb,var(--_tone) 18%,transparent),color-mix(in srgb,var(--m-background-lite) 85%,transparent));border:1px solid color-mix(in srgb,var(--_tone) 20%,transparent);box-shadow:0 8px 24px #0000000d}:host([data-surface=gradient]) .m-stat__figure{text-shadow:0 1px 0 color-mix(in srgb,var(--m-background) 70%,transparent)}\n"] }]
|
|
30020
|
+
}, template: "<div class=\"m-stat\">\n <m-key-value variant=\"bento\">\n <span key class=\"m-stat__label\" [class.m-stat__ghost]=\"labelGhost()\">{{\n labelDisplay()\n }}</span>\n <span value class=\"m-stat__value\">\n <!-- Both slots are wrappers this component owns rather than bare\n `ng-content`: what a caller projects carries the *caller's*\n encapsulation attribute, so `.m-stat__figure` and `.m-stat__corner`\n could not be put on it from here. The wrappers hold the ordering,\n the tone colour and the corner's superscript size; whatever lands\n inside them is the caller's own markup (ADR 0021). -->\n <span class=\"m-stat__figure\"><ng-content select=\"[value]\" /></span>\n <!-- One corner, ordered and aligned by CSS rather than written twice:\n `cornerPosition` is four values and the slot is one node. -->\n <span class=\"m-stat__corner\"><ng-content select=\"[corner]\" /></span>\n </span>\n </m-key-value>\n</div>\n", styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;line-height:1.4;--_tone: var(--m-mm);--_pad-y: .85em;--_pad-x: 1em;--_kv-pad: 0}:host(.is-design-mode){min-width:8em;min-height:4em}.m-stat{display:flex;flex-direction:column;min-width:0;padding:var(--_pad-y) var(--_pad-x);border-radius:.75em}.m-stat__value{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35em;min-width:0}.m-stat__figure{order:0;min-width:0;display:inline-flex;align-items:center;gap:.35em;font-size:.6060606061em}.m-stat__corner{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.25em}.m-stat__corner:empty{display:none}.m-stat__corner{font-size:.5em;font-weight:300;white-space:nowrap;letter-spacing:.01em;color:var(--m-text-tertiary);background:none;-webkit-text-fill-color:currentColor}.m-stat__ghost{color:var(--m-text-tertiary);opacity:.6;-webkit-text-fill-color:currentColor}:host(.corner-left) .m-stat__corner{order:-1}:host(.corner-bottom) .m-stat__corner{align-self:flex-end}:host(.is-design-mode) .m-stat__value{flex-direction:column;align-items:flex-start}:host(.is-design-mode) .m-stat__corner{align-self:flex-start}:host(.align-left) .m-stat{text-align:left;--_kv-align: flex-start}:host(.align-center) .m-stat{text-align:center;--_kv-align: center}:host(.align-right) .m-stat{text-align:right;--_kv-align: flex-end}:host(.m-stat-host) .m-stat:has(m-section,m-section-form){--_kv-align: stretch}:host(.m-stat-host) .m-stat:has(m-section,m-section-form) .m-stat__value{display:flex}:host(.m-stat-host) .m-stat:has(m-section,m-section-form) .m-stat__figure{flex:1 1 auto;align-self:stretch;display:grid;-webkit-text-fill-color:currentColor}:host([data-variant=compact]){--_pad-y: .45em;--_pad-x: .6em}:host([data-variant=no-padding]){--_pad-y: 0;--_pad-x: 0}:host([data-variant=no-x-padding]){--_pad-x: 0}:host(.has-color) .m-stat__figure{color:var(--m-stat-color);-webkit-text-fill-color:var(--m-stat-color)}:host(.has-corner-color) .m-stat__corner{color:var(--m-stat-corner-color)}:host([data-surface=card]) .m-stat{background:color-mix(in srgb,var(--m-background-lite) 70%,transparent);border:1px solid color-mix(in srgb,var(--m-border) 70%,transparent)}:host([data-surface=shadow]) .m-stat{background:var(--m-background-lite);border:1px solid color-mix(in srgb,var(--m-border) 45%,transparent);box-shadow:0 10px 30px #0000000f;transition:box-shadow .2s ease,transform .2s ease}:host([data-surface=shadow]) .m-stat:hover{box-shadow:0 18px 44px #0000001a;transform:translateY(-2px)}:host([data-surface=glow]) .m-stat{background:color-mix(in srgb,var(--_tone) 10%,transparent);border:1px solid color-mix(in srgb,var(--_tone) 28%,transparent);box-shadow:0 12px 34px color-mix(in srgb,var(--_tone) 18%,transparent)}:host([data-surface=glow]) .m-stat__figure{text-shadow:0 2px 14px color-mix(in srgb,var(--_tone) 40%,transparent)}:host([data-surface=gradient]) .m-stat{background:linear-gradient(135deg,color-mix(in srgb,var(--_tone) 18%,transparent),color-mix(in srgb,var(--m-background-lite) 85%,transparent));border:1px solid color-mix(in srgb,var(--_tone) 20%,transparent);box-shadow:0 8px 24px #0000000d}:host([data-surface=gradient]) .m-stat__figure{text-shadow:0 1px 0 color-mix(in srgb,var(--m-background) 70%,transparent)}\n"] }]
|
|
29921
30021
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], noTranslate: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTranslate", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], cornerPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "cornerPosition", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "surface", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], cornerColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "cornerColor", required: false }] }], params: [{ type: i0.Input, args: [{ isSignal: true, alias: "params", required: false }] }] } });
|
|
29922
30022
|
|
|
29923
30023
|
class PwaInstallComponent {
|
|
@@ -35379,7 +35479,7 @@ class SvgGeneratorToolBoxComponent {
|
|
|
35379
35479
|
}
|
|
35380
35480
|
</div>
|
|
35381
35481
|
</m-section>
|
|
35382
|
-
</div>`, 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)}}.svg-generator-tool-box{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:var(--m-backdrop-standard);border:1px solid var(--m-backdrop-border);border-radius:.5rem;overflow:hidden;max-height:300px;overflow-y:auto}.svg-generator-tool-box .svg-generator-tool-box-header{border-bottom:1px solid var(--border-color);top:0;position:sticky;z-index:5260;background:var(--background, #ffffff);padding:.5em 1em;display:flex;align-items:center;gap:.5em;justify-content:flex-start;width:100%;box-sizing:border-box}.svg-generator-tool-box .svg-generator-tool-box-header .m-header{display:block;width:100%;height:100%}.svg-generator-tool-box .svg-generator-tool-box-header h2{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-size:.8em;color:var(--mm-color)}.svg-generator-tool-box .svg-generator-tool-box-header .icon-container{display:flex;width:1em;height:1em}.svg-generator-tool-box .svg-generator-tool-box-content{display:flex;flex-direction:column;box-sizing:border-box}.svg-generator-tool-box .svg-generator-tool-box-content .options{display:flex;flex-direction:column;padding:0 1em;box-sizing:border-box;gap:.5em}.svg-generator-tool-box .svg-generator-tool-box-content .options h3{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-size:.8em}.svg-generator-tool-box .svg-generator-tool-box-content .form-radio{display:flex;flex-direction:column;gap:4px;padding:4px 0}.svg-generator-tool-box .svg-generator-tool-box-content .form-radio .form-radio__label{font-size:.75em;opacity:.7}.svg-generator-tool-box .svg-generator-tool-box-content .form-radio .form-radio__options{display:flex;gap:8px;flex-wrap:wrap}\n"], dependencies: [{ kind: "component", type: SectionComponent, selector: "m-section", inputs: ["variant", "maxWidth", "heightMode", "maxHeight", "height", "align", "alignX", "alignY", "size"], outputs: ["inView"] }, { kind: "component", type: SectionHeaderComponent, selector: "m-section-header", inputs: ["sticky", "level", "label", "subLabel", "noTranslate", "params", "reverse", "icon", "menu", "menuName", "visibilityRule", "disableRule", "extraData", "align", "showBack", "actionButton", "actionLabel", "spacing", "maxWidth"], outputs: ["actionClick", "action", "back"] }, { kind: "component", type: FormGroupComponent, selector: "m-form, m-one-form", inputs: ["data", "state", "validation", "options", "fieldConfigs", "aclResolver", "autofocus", "readonly", "fieldRenderIds", "elements", "templates", "datas", "label", "subtitle"], outputs: ["dataChange", "act", "stateChange"] }, { kind: "component", type: MenuComponent, selector: "m-menu", inputs: ["config", "file", "root", "url", "extra", "hide", "hideLink", "isAdmin", "visibilityRule", "disableRule", "extraData"], outputs: ["action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
35482
|
+
</div>`, 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)}}.svg-generator-tool-box{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:var(--m-backdrop-standard);border:1px solid var(--m-backdrop-border);border-radius:.5rem;overflow:hidden;max-height:300px;overflow-y:auto}.svg-generator-tool-box .svg-generator-tool-box-header{border-bottom:1px solid var(--border-color);top:0;position:sticky;z-index:5260;background:var(--background, #ffffff);padding:.5em 1em;display:flex;align-items:center;gap:.5em;justify-content:flex-start;width:100%;box-sizing:border-box}.svg-generator-tool-box .svg-generator-tool-box-header .m-header{display:block;width:100%;height:100%}.svg-generator-tool-box .svg-generator-tool-box-header h2{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-size:.8em;color:var(--mm-color)}.svg-generator-tool-box .svg-generator-tool-box-header .icon-container{display:flex;width:1em;height:1em}.svg-generator-tool-box .svg-generator-tool-box-content{display:flex;flex-direction:column;box-sizing:border-box}.svg-generator-tool-box .svg-generator-tool-box-content .options{display:flex;flex-direction:column;padding:0 1em;box-sizing:border-box;gap:.5em}.svg-generator-tool-box .svg-generator-tool-box-content .options h3{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-size:.8em}.svg-generator-tool-box .svg-generator-tool-box-content .form-radio{display:flex;flex-direction:column;gap:4px;padding:4px 0}.svg-generator-tool-box .svg-generator-tool-box-content .form-radio .form-radio__label{font-size:.75em;opacity:.7}.svg-generator-tool-box .svg-generator-tool-box-content .form-radio .form-radio__options{display:flex;gap:8px;flex-wrap:wrap}\n"], dependencies: [{ kind: "component", type: SectionComponent, selector: "m-section", inputs: ["variant", "maxWidth", "heightMode", "maxHeight", "height", "align", "alignX", "alignY", "size"], outputs: ["inView"] }, { kind: "component", type: SectionHeaderComponent, selector: "m-section-header", inputs: ["sticky", "level", "label", "subLabel", "noTranslate", "params", "reverse", "icon", "menu", "menuName", "visibilityRule", "disableRule", "extraData", "align", "showBack", "actionButton", "actionLabel", "spacing", "maxWidth"], outputs: ["actionClick", "action", "back"] }, { kind: "component", type: FormGroupComponent, selector: "m-form, m-one-form", inputs: ["data", "state", "validation", "options", "fieldConfigs", "aclResolver", "autofocus", "readonly", "fieldRenderIds", "elements", "templates", "datas", "label", "subtitle"], outputs: ["dataChange", "act", "stateChange"] }, { kind: "component", type: MenuComponent, selector: "m-menu", inputs: ["config", "file", "root", "url", "extra", "hide", "hideLink", "isAdmin", "autoFocus", "visibilityRule", "disableRule", "extraData"], outputs: ["action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
35383
35483
|
}
|
|
35384
35484
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SvgGeneratorToolBoxComponent, decorators: [{
|
|
35385
35485
|
type: Component,
|
|
@@ -36741,4 +36841,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
36741
36841
|
*/
|
|
36742
36842
|
|
|
36743
36843
|
export { ColComponent as $, ACCESS_DOMAINS as A, ButtonComponent as B, Assets as C, AuthActivityPageComponent as D, AuthApiService as E, AuthStore as F, AutosizeDirective as G, HeaderComponent$1 as H, InputType as I, BadgeComponent as J, BandingComponent as K, LabelComponent as L, MODAL_REF as M, BaseArrayInputComponent as N, BaseRootWebComponent as O, BaseWebComponent as P, ButtonGroupComponent as Q, RangeInputComponent as R, COMPONENT_INPUT_REGISTRY as S, TranslatePipe as T, CardComponent as U, CardWrapperComponent as V, CarouselComponent as W, ChartComponent as X, ChatBubbleComponent as Y, CheckboxInputComponent as Z, ClearableInputComponent as _, MIN_ZOOM as a, MHeroColorDirective as a$, ColorPickerInputComponent as a0, CommentItemComponent as a1, CommentsApiService as a2, CommentsComponent as a3, CommentsStore as a4, CompactNumberPipe as a5, ComponentInputComponent as a6, ComponentStepperComponent as a7, ConfigComponent as a8, ConfirmComponent as a9, FileService as aA, FileUploadDirective as aB, FileUploadInputComponent as aC, FlexComponent as aD, FlexItemComponent as aE, FormGroupComponent as aF, FrameComponent as aG, FreezeService as aH, GRID_BREAKPOINTS as aI, GetNavService as aJ, HighlightDirective as aK, HttpService as aL, ICON_SOURCE as aM, IS_SIDE_PANEL as aN, IconComponent as aO, ImgComponent as aP, InstrumentScoreComponent as aQ, InterceptorObservables as aR, JumbotronComponent as aS, KeyValueComponent as aT, LAYOUT_ASSET_FOLDER as aU, LOGIN_COMPONENT as aV, LOGIN_STORE as aW, LanguageComponent as aX, ListComponent as aY, LogoComponent as aZ, MAG_SOCKET_EVENT as a_, ContextMenuComponent as aa, CustomIconClass as ab, CustomIconEditComponent as ac, DEFAULT_DENIAL as ad, DEFAULT_FILTER_RANGE_MODE as ae, DEFAULT_FILTER_VARIANT as af, DEFAULT_NAV_PARAM as ag, DEFAULT_NAV_SEGMENT as ah, DEFAULT_SIZE as ai, DashboardCardComponent as aj, DateInputComponent as ak, DatePickerComponent as al, DeviceService as am, DomService as an, Domain as ao, DotGridComponent as ap, DragListDirective as aq, DragListItemDirective as ar, DraggableDirective as as, DropdownInputComponent as at, FILTER_GROUP_CONTEXT as au, FILTER_RANGE_MODES as av, FILTER_VARIANTS as aw, FLEX_VARIANTS as ax, FOLDER_PICK_LISTENER as ay, FORM_ASSET_FOLDER as az, MAX_ZOOM as b, SEARCH_QUERY as b$, MHeroComponent as b0, MODAL_STORE_REF as b1, MRefDirective as b2, MStepComponent as b3, MURL_PARAM as b4, MURL_SEP as b5, ManifestEnrichmentService as b6, MenuComponent as b7, ModalDirective as b8, ModalRef as b9, OPTIONS_SOURCE as bA, OVERLAY_WIDGETS as bB, OneApp as bC, OptionsSourceDirective as bD, OverlayBodyComponent as bE, OverlayRef as bF, OverlayService as bG, PLATFORM_BUTTON_NAV_IDS as bH, PLATFORM_EXTENSIBLE_NAV_IDS as bI, PLATFORM_NAV_MAP as bJ, PLATFORM_ROOT_CHILDREN as bK, PaginationComponent as bL, PanelComponent as bM, PercentagePipe as bN, PlaygroundComponent as bO, PositionDirective as bP, PwaInstallComponent as bQ, ROOT_NAV$1 as bR, RadioGroupComponent as bS, RadioInputComponent as bT, RatingInputComponent as bU, ReactiveElementComponent as bV, RemoteComponent as bW, RemoteLoaderService as bX, ResizeElementComponent as bY, RouteContainer as bZ, RowComponent as b_, ModalStore as ba, MoneyPipe as bb, MultiRangeInputComponent as bc, MurlUrlSerializer as bd, NAV_DEFAULT_MURL as be, NAV_ID_SEP as bf, NAV_MAIN_BUTTONS as bg, NAV_SEGMENT_RE as bh, NAV_STORE_REF as bi, NAV_WC_COMPONENTS as bj, NAV_WIDGET_MAP as bk, NavComponent as bl, NavDetailsComponent as bm, NavHeaderComponent as bn, NavMenuComponent as bo, NavStore as bp, NavTrailComponent as bq, NothingComponent as br, NotificationElementComponent as bs, NotificationGroupComponent as bt, NotificationPopupComponent as bu, NotificationService as bv, NotificationStore as bw, NotificationType as bx, NotificationWidgetComponent as by, ONE_ASSET_BASE_URL as bz, cropRect as c, ThemeDataService as c$, SEARCH_RESULTS_EVENT as c0, SECTION_ACCORDION_GROUP as c1, SECTION_FORM_CONTEXT as c2, SHARED_ICONS as c3, SIZE_CONTEXT as c4, ScoreComponent as c5, ScrollComponent as c6, ScrollService as c7, SearchPanelComponent as c8, SearchStore as c9, SelectorDirective as cA, SettingsSearchBarComponent as cB, SettingsSearchService as cC, ShapeComponent as cD, SharedStoreRegistry as cE, SidePanelDirective as cF, Size as cG, SocketStore as cH, SortComponent as cI, StatComponent as cJ, StepComponent as cK, StepperComponent as cL, StepsComponent as cM, StorageService as cN, StrokeLinecap as cO, StrokeLinejoin as cP, SummaryComponent as cQ, SvgGeneratorComponent as cR, SvgGeneratorService as cS, SvgService as cT, TOTAL_COLUMNS as cU, TRANSLATION_SOURCE as cV, TableComponent as cW, TechnicalMeterComponent as cX, TextInputComponent as cY, TextareaInputComponent as cZ, ThemeComponent as c_, SearchUserPanelComponent as ca, SectionAccordionDirective as cb, SectionAccordionGroupDirective as cc, SectionBackComponent as cd, SectionBadgesComponent as ce, SectionButtonGroupComponent as cf, SectionCardComponent as cg, SectionCarouselComponent as ch, SectionComponent as ci, SectionFilterComponent as cj, SectionFilterGroupComponent as ck, SectionFilterMenuComponent as cl, SectionFilterPanelComponent as cm, SectionFilterRangePanelComponent as cn, SectionFooterComponent as co, SectionFormComponent as cp, SectionFormItemComponent as cq, SectionHeaderComponent as cr, SectionHeroComponent as cs, SectionPaginationComponent as ct, SectionSearchComponent as cu, SectionStepperComponent as cv, SectionTabsComponent as cw, SectionToggleComponent as cx, SectionToggleItemDirective as cy, SelectableCardInputComponent as cz, drawFramed as d, filterNumberList as d$, ThemeService as d0, ThemeStore as d1, TimeAgoPipe as d2, TimelineComponent as d3, ToggleButtonComponent as d4, ToggleInputComponent as d5, ToggleRadioInputComponent as d6, ToolTipDirective as d7, TooltipComponent as d8, TranslateService as d9, calculateRanks as dA, cellText as dB, checkFilterCondition as dC, childNavId as dD, claimDenial as dE, classListSignal as dF, coerceSize as dG, cornerEdge as dH, cornerSide as dI, createMap as dJ, createPlatformNavMap as dK, deriveAvatarGradient as dL, deriveContrastColor as dM, deriveOppositeColor as dN, derivePropertyName as dO, emailValidation as dP, evaluate as dQ, evaluateBool as dR, fieldBoolean as dS, fieldNumber as dT, fieldString as dU, filterHoldsList as dV, filterHoldsOneBound as dW, filterHoldsOptions as dX, filterHoldsRange as dY, filterList as dZ, filterNumber as d_, TreeGridComponent as da, URL_SEP as db, USER_STORE_REF as dc, USER_TAB_MAP as dd, UniverseComponent as de, UserApiService as df, UserAvatarComponent as dg, UserComponent as dh, UserNavComponent as di, UserSettingsComponent as dj, UserStore as dk, WC_ROUTE_CHANGED_EVENT as dl, WC_SEARCH_GROUPS as dm, WIN_USER_TAB_HOOK as dn, WIN_USER_TAB_KEY as dp, WatermarkComponent as dq, WcRouterStore as dr, WrapperInputComponent as ds, anchorNavId as dt, applyColorsToElement as du, assetOptions as dv, bootstrapMagApp as dw, bootstrapPwaInstall as dx, buildWcBaseUrl as dy, calculateLuminance as dz, encodeFramed as e, miniMarkToHtml as e$, filterOne as e0, filterPanelOf as e1, filterPanelWidth as e2, filterRange as e3, filterTreeGridRows as e4, filterValueList as e5, filterValues as e6, flattenTreeGridRows as e7, formatBadgeCount as e8, fullName as e9, isLocalhost as eA, isNavInstanceConfig as eB, isNavMenuConfig as eC, isNavRowsConfig as eD, isNavVisibilityConfig as eE, isPlatformNavId as eF, isSize as eG, isTierPreview as eH, isUrlLocalhost as eI, isValidNavId as eJ, isValidNavSegment as eK, isWebComponent as eL, linkToId as eM, linkToNav as eN, loadingActions as eO, mInterceptor as eP, manualValidation as eQ, matchFieldValidation as eR, maxLengthValidation as eS, maxValidation as eT, mergePlatformNav as eU, mergeUnique as eV, mergeUniqueBy as eW, mergeUniqueWith as eX, minAgeValidation as eY, minLengthValidation as eZ, minValidation as e_, generateClipPath as ea, generateTransform as eb, getClassList as ec, getProperty as ed, getScrollParent as ee, getTierFromPreviewPath as ef, getTreeGridRow as eg, getUniqueId as eh, getValue as ei, hasErrorComputed as ej, hexToRgb as ek, hslToRgb$1 as el, initMagmoniumApp as em, initialNotificationState as en, initialState$2 as eo, initials as ep, injectAuthenticate as eq, injectDefaultDenial as er, injectInstallApp as es, injectParentSize as et, injectScrollSticky as eu, isButtonName as ev, isCancelledComputed as ew, isExtensiblePlatformNavId as ex, isJson as ey, isLoadingComputed as ez, clampFraming as f, navIdChain as f0, navIdFor as f1, navIdSegment as f2, navIdToRoutePath as f3, navIdToSegments as f4, navParamOf as f5, navToId as f6, navVisibilityGuard as f7, normalizeAssetOptions as f8, parentNavId as f9, resolveIconSize as fA, resolvePallet as fB, resolvePatternRules as fC, resolveSize as fD, rgbToHex as fE, rgbToHsl as fF, rowHasChildren as fG, samePatterns as fH, segmentsToNavId as fI, setProperty as fJ, setTreeGridChildren as fK, settingsWidgets as fL, shouldShowBadge as fM, splitNavId as fN, splitOnMatch as fO, stringToColor as fP, toAttrBool as fQ, toAttrNumber as fR, toCssLength as fS, toHostNavId as fT, toLength$1 as fU, toLocalNavId as fV, toggleTreeGridRow as fW, unfetchedPlatformNav as fX, urlValidation as fY, parseAddress as fa, parseColor as fb, parsePatternNames as fc, patternValidation as fd, patternsValidation as fe, permissionRefusal as ff, platformNavWidgets as fg, privateGuard as fh, processImageToSvg as fi, provideAppContext as fj, provideMagAppConfig as fk, provideMagWcConfig as fl, provideMagWcRoutes as fm, provideModalComponents as fn, provideMurlUrlSerializer as fo, provideNavWidgets as fp, provideOverlayWidgets as fq, providePlatformNavWidgets as fr, provideSearch as fs, provideSizeContext as ft, provideUserTabs as fu, publicGuard as fv, readFieldPatterns as fw, renderAddress as fx, requiredValidation as fy, resolveConfigAsset as fz, BaseInputComponent as g, BaseTextInputComponent as h, initialFraming as i, TextOutputComponent as j, IS_DESIGN_MODE as k, APP_CONTEXT_REF as l, ASSET_BASE_URL as m, AccordionBodyDirective as n, outputSize as o, parseRatio as p, AccordionComponent as q, renameForType as r, AccordionGroupComponent as s, ActionComponent as t, AnimatedGraphsComponent as u, AppCardComponent as v, AppRelationType as w, AppTileComponent as x, AssetStore as y, AssetUrlPipe as z };
|
|
36744
|
-
//# sourceMappingURL=magmonium-one-magmonium-one-
|
|
36844
|
+
//# sourceMappingURL=magmonium-one-magmonium-one-CORH8s0K.mjs.map
|