@magmonium/one 0.4.34 → 0.4.35
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/assets/buttons/audience_done.json +4 -0
- package/assets/i18n/ar.json +14 -0
- package/assets/i18n/de.json +14 -0
- package/assets/i18n/en.json +14 -0
- package/assets/i18n/es.json +14 -0
- package/assets/i18n/fr.json +14 -0
- package/assets/i18n/hi.json +14 -0
- package/assets/i18n/it.json +14 -0
- package/assets/i18n/ja.json +14 -0
- package/assets/i18n/ko.json +14 -0
- package/assets/i18n/nl.json +14 -0
- package/assets/i18n/pl.json +14 -0
- package/assets/i18n/pt.json +14 -0
- package/assets/i18n/ru.json +14 -0
- package/assets/i18n/tr.json +14 -0
- package/assets/i18n/zh.json +14 -0
- package/assets/index.json +1 -1
- package/fesm2022/{magmonium-one-base-dropdown-U-cWl3p9.mjs → magmonium-one-base-dropdown-Ck4geeN4.mjs} +2 -2
- package/fesm2022/{magmonium-one-base-dropdown-U-cWl3p9.mjs.map → magmonium-one-base-dropdown-Ck4geeN4.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-base-text-Zb0oLNRX.mjs → magmonium-one-base-text-DRdZfrqC.mjs} +27 -3
- package/fesm2022/magmonium-one-base-text-DRdZfrqC.mjs.map +1 -0
- package/fesm2022/{magmonium-one-image-editor-BX4eNd4u.mjs → magmonium-one-image-editor-D7IuAMdl.mjs} +2 -2
- package/fesm2022/{magmonium-one-image-editor-BX4eNd4u.mjs.map → magmonium-one-image-editor-D7IuAMdl.mjs.map} +1 -1
- package/fesm2022/magmonium-one-m-ref-Bq0gQbKE.mjs.map +1 -1
- package/fesm2022/magmonium-one-menu-BM9f2knw.mjs.map +1 -1
- package/fesm2022/magmonium-one-options-asset-CDEXIif6.mjs.map +1 -1
- package/fesm2022/{magmonium-one-otp-DO4oTeSK.mjs → magmonium-one-otp-Bfvbg6sY.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-DO4oTeSK.mjs.map → magmonium-one-otp-Bfvbg6sY.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-D3oTo41c.mjs → magmonium-one-password-C_TwyLkj.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-D3oTo41c.mjs.map → magmonium-one-password-C_TwyLkj.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-range-D_WEKrli.mjs → magmonium-one-range-CUEJcUBc.mjs} +2 -2
- package/fesm2022/{magmonium-one-range-D_WEKrli.mjs.map → magmonium-one-range-CUEJcUBc.mjs.map} +1 -1
- package/fesm2022/magmonium-one-size-converter-BfT0Aw0g.mjs.map +1 -1
- package/fesm2022/{magmonium-one-text-B4xKn-EQ.mjs → magmonium-one-text-kkEMHNIt.mjs} +2 -2
- package/fesm2022/{magmonium-one-text-B4xKn-EQ.mjs.map → magmonium-one-text-kkEMHNIt.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +613 -38
- package/fesm2022/magmonium-one.mjs.map +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +283 -52
- package/fesm2022/magmonium-one-base-text-Zb0oLNRX.mjs.map +0 -1
|
@@ -5,6 +5,7 @@ import { t as FileService } from "./magmonium-one-file.service-Bo06pU3_.mjs";
|
|
|
5
5
|
import { a as calculateLuminance, c as hexToRgb, d as derivePropertyName, f as getProperty, h as ThemeDataService, i as deriveOppositeColor, l as hslToRgb, m as ThemeStore, n as resolvePallet, o as rgbToHex, p as setProperty, r as deriveContrastColor, s as rgbToHsl, t as applyColorsToElement, u as parseColor } from "./magmonium-one-color-utl-CAbZLKB5.mjs";
|
|
6
6
|
import "./magmonium-one-theme-Xgsx8bJs.mjs";
|
|
7
7
|
import { a as sectionTableColumnWidths, c as AssetUrlPipe, d as MoneyPipe, f as TimeAgoPipe, i as sectionTableColumnId, l as CompactNumberPipe, n as SectionTableSortPipe, o as sectionTableFrozenCount, r as nextSectionTableSort, s as sortSectionTableRows, t as LabelComponent, u as PercentagePipe } from "./magmonium-one-label-D2gjTbKX.mjs";
|
|
8
|
+
import { i as getScrollParent, n as activeElementWithin, r as classListSignal, t as BaseTextInputComponent } from "./magmonium-one-base-text-DRdZfrqC.mjs";
|
|
8
9
|
import { a as injectParentSize, i as SIZE_CONTEXT, n as CustomIconClass, o as provideSizeContext, r as IconComponent, s as SHARED_ICONS, t as CustomIconEditComponent } from "./magmonium-one-icon-Ep14YeRY.mjs";
|
|
9
10
|
import { i as resolveConfigAsset, n as toAttrNumber, r as ConfigComponent, t as toAttrBool } from "./magmonium-one-attribute-value-DMI0yJpL.mjs";
|
|
10
11
|
import { a as isButtonName, c as formatBadgeCount, l as shouldShowBadge, n as SECTION_FORM_CONTEXT, o as ReactiveElementComponent, r as ImgComponent, s as BadgeComponent, t as ButtonComponent } from "./magmonium-one-button-Bwzaxxn3.mjs";
|
|
@@ -13,10 +14,9 @@ import { t as HeaderComponent } from "./magmonium-one-header-DmN8M1a3.mjs";
|
|
|
13
14
|
import { t as TextOutputComponent } from "./magmonium-one-text-output-CfVeqYM7.mjs";
|
|
14
15
|
import { t as BaseInputComponent } from "./magmonium-one-base-input-CLBOTOUs.mjs";
|
|
15
16
|
import { a as stringToColor, c as ToolTipDirective, d as DragListItemDirective, f as DragListDirective, i as MHeroColorDirective, l as FileUploadDirective, n as PaddingDirective, o as HighlightDirective, p as DraggableDirective, r as SPACING_INWARD, s as PositionDirective, t as MarginDirective, u as AutosizeDirective } from "./magmonium-one-directives-BVKX77zM.mjs";
|
|
16
|
-
import { n as DROPDOWN_IMPORTS, r as DROPDOWN_TEMPLATE, t as BaseDropdownComponent } from "./magmonium-one-base-dropdown-
|
|
17
|
-
import { t as BaseTextInputComponent } from "./magmonium-one-base-text-Zb0oLNRX.mjs";
|
|
17
|
+
import { n as DROPDOWN_IMPORTS, r as DROPDOWN_TEMPLATE, t as BaseDropdownComponent } from "./magmonium-one-base-dropdown-Ck4geeN4.mjs";
|
|
18
18
|
import { t as InputType } from "./magmonium-one-input-DqHPorA1.mjs";
|
|
19
|
-
import { t as TextInputComponent } from "./magmonium-one-text-
|
|
19
|
+
import { t as TextInputComponent } from "./magmonium-one-text-kkEMHNIt.mjs";
|
|
20
20
|
import { i as OptionsSourceDirective, n as normalizeAssetOptions, r as presetDefaultOption, t as assetOptions } from "./magmonium-one-options-asset-CDEXIif6.mjs";
|
|
21
21
|
import { r as PLACED_CHECKBOX, t as CheckboxInputComponent } from "./magmonium-one-checkbox-CPQ9m291.mjs";
|
|
22
22
|
import { i as mergeUniqueWith, n as mergeUnique, r as mergeUniqueBy, t as ButtonGroupComponent } from "./magmonium-one-group-D4yYrVP3.mjs";
|
|
@@ -24,7 +24,7 @@ import { n as ContextMenuBoxComponent, r as MenuComponent, t as ContextMenuCompo
|
|
|
24
24
|
import { t as BaseCheckboxInputComponent } from "./magmonium-one-base-checkbox-C9dvZ2IH.mjs";
|
|
25
25
|
import { t as RadioInputComponent } from "./magmonium-one-radio-CkaWESS3.mjs";
|
|
26
26
|
import { r as BaseArrayInputComponent, t as MultiRangeInputComponent } from "./magmonium-one-multi-range-a3ZVTy7i.mjs";
|
|
27
|
-
import { t as RangeInputComponent } from "./magmonium-one-range-
|
|
27
|
+
import { t as RangeInputComponent } from "./magmonium-one-range-CUEJcUBc.mjs";
|
|
28
28
|
import { o as isEditableImage, s as outputSize } from "./magmonium-one-image-frame-BTSaUSAi.mjs";
|
|
29
29
|
import * as i0 from "@angular/core";
|
|
30
30
|
import { ApplicationRef, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DOCUMENT, DestroyRef, Directive, ElementRef, EventEmitter, HostAttributeToken, HostBinding, HostListener, Injectable, InjectionToken, Injector, Input, Output, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, afterEveryRender, afterNextRender, afterRenderEffect, computed, contentChild, contentChildren, createComponent, effect, forwardRef, inject, input, inputBinding, linkedSignal, makeEnvironmentProviders, model, numberAttribute, output, outputBinding, provideAppInitializer, provideBrowserGlobalErrorListeners, provideZonelessChangeDetection, reflectComponentType, runInInjectionContext, signal, twoWayBinding, untracked, viewChild, viewChildren } from "@angular/core";
|
|
@@ -114,27 +114,6 @@ const isLoadingComputed = appLoading.isLoading;
|
|
|
114
114
|
const hasErrorComputed = appLoading.hasError;
|
|
115
115
|
const isCancelledComputed = appLoading.isCancelled;
|
|
116
116
|
const loadingActions = appLoading.actions;
|
|
117
|
-
function classListSignal(element) {
|
|
118
|
-
const classSignal = signal(Array.from(element.classList), ...ngDevMode ? [{ debugName: "classSignal" }] : /* istanbul ignore next */ []);
|
|
119
|
-
new MutationObserver(() => {
|
|
120
|
-
classSignal.set(Array.from(element.classList));
|
|
121
|
-
}).observe(element, {
|
|
122
|
-
attributes: true,
|
|
123
|
-
attributeFilter: ["class"]
|
|
124
|
-
});
|
|
125
|
-
return classSignal;
|
|
126
|
-
}
|
|
127
|
-
function getScrollParent(node) {
|
|
128
|
-
if (!node || node === document) return window;
|
|
129
|
-
if (node instanceof ShadowRoot) return getScrollParent(node.host);
|
|
130
|
-
if (node instanceof HTMLElement) {
|
|
131
|
-
if (node.classList.contains("scroll__inner")) return node;
|
|
132
|
-
const style = window.getComputedStyle(node);
|
|
133
|
-
const overflow = style.overflowY || style.overflow || "";
|
|
134
|
-
if (overflow.includes("scroll") || overflow.includes("auto") && node.scrollHeight > node.clientHeight) return node;
|
|
135
|
-
}
|
|
136
|
-
return getScrollParent(node.parentNode);
|
|
137
|
-
}
|
|
138
117
|
function injectScrollSticky(threshold = 120, behavior = "none") {
|
|
139
118
|
const elementRef = inject(ElementRef);
|
|
140
119
|
const destroyRef = inject(DestroyRef);
|
|
@@ -4050,12 +4029,12 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
|
|
|
4050
4029
|
break;
|
|
4051
4030
|
}
|
|
4052
4031
|
case InputType.PASSWORD: {
|
|
4053
|
-
const { PasswordInputComponent } = await import("./magmonium-one-password-
|
|
4032
|
+
const { PasswordInputComponent } = await import("./magmonium-one-password-C_TwyLkj.mjs");
|
|
4054
4033
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
4055
4034
|
break;
|
|
4056
4035
|
}
|
|
4057
4036
|
case InputType.OTP: {
|
|
4058
|
-
const { OtpInputComponent } = await import("./magmonium-one-otp-
|
|
4037
|
+
const { OtpInputComponent } = await import("./magmonium-one-otp-Bfvbg6sY.mjs");
|
|
4059
4038
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
4060
4039
|
break;
|
|
4061
4040
|
}
|
|
@@ -4080,7 +4059,7 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
|
|
|
4080
4059
|
break;
|
|
4081
4060
|
}
|
|
4082
4061
|
case InputType.RANGE: {
|
|
4083
|
-
const { RangeInputComponent } = await import("./magmonium-one-range-
|
|
4062
|
+
const { RangeInputComponent } = await import("./magmonium-one-range-CUEJcUBc.mjs").then((n) => n.n);
|
|
4084
4063
|
this.createDynamicComponent(seq, RangeInputComponent);
|
|
4085
4064
|
break;
|
|
4086
4065
|
}
|
|
@@ -4136,7 +4115,7 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
|
|
|
4136
4115
|
break;
|
|
4137
4116
|
}
|
|
4138
4117
|
default: {
|
|
4139
|
-
const { TextInputComponent } = await import("./magmonium-one-text-
|
|
4118
|
+
const { TextInputComponent } = await import("./magmonium-one-text-kkEMHNIt.mjs").then((n) => n.n);
|
|
4140
4119
|
this.createDynamicComponent(seq, TextInputComponent);
|
|
4141
4120
|
break;
|
|
4142
4121
|
}
|
|
@@ -7604,7 +7583,8 @@ var SectionSearchComponent = class SectionSearchComponent extends BaseTextInputC
|
|
|
7604
7583
|
onFocusOut = (_event) => {
|
|
7605
7584
|
if (!this.isOpen()) return;
|
|
7606
7585
|
setTimeout(() => {
|
|
7607
|
-
|
|
7586
|
+
const active = activeElementWithin(this.elementRef.nativeElement);
|
|
7587
|
+
if (!active || !this.elementRef.nativeElement.contains(active)) this.close();
|
|
7608
7588
|
});
|
|
7609
7589
|
};
|
|
7610
7590
|
scheduleEmit = () => {
|
|
@@ -7799,7 +7779,7 @@ var SectionSearchComponent = class SectionSearchComponent extends BaseTextInputC
|
|
|
7799
7779
|
}
|
|
7800
7780
|
<!-- The results component, mounted per search rather than written as a tag:
|
|
7801
7781
|
which component draws results is the caller's answer, so the markup has
|
|
7802
|
-
no selector to write (
|
|
7782
|
+
no selector to write (GLOSSARY.md SearchResultsScreen). Shown only once
|
|
7803
7783
|
there is text to search for — a bar nobody has typed into has no result
|
|
7804
7784
|
to draw — and handed that text through the one input the editor minted
|
|
7805
7785
|
on it. -->
|
|
@@ -7942,7 +7922,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
7942
7922
|
}
|
|
7943
7923
|
<!-- The results component, mounted per search rather than written as a tag:
|
|
7944
7924
|
which component draws results is the caller's answer, so the markup has
|
|
7945
|
-
no selector to write (
|
|
7925
|
+
no selector to write (GLOSSARY.md SearchResultsScreen). Shown only once
|
|
7946
7926
|
there is text to search for — a bar nobody has typed into has no result
|
|
7947
7927
|
to draw — and handed that text through the one input the editor minted
|
|
7948
7928
|
on it. -->
|
|
@@ -21579,12 +21559,12 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
|
|
|
21579
21559
|
break;
|
|
21580
21560
|
}
|
|
21581
21561
|
case InputType.PASSWORD: {
|
|
21582
|
-
const { PasswordInputComponent } = await import("./magmonium-one-password-
|
|
21562
|
+
const { PasswordInputComponent } = await import("./magmonium-one-password-C_TwyLkj.mjs");
|
|
21583
21563
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
21584
21564
|
break;
|
|
21585
21565
|
}
|
|
21586
21566
|
case InputType.OTP: {
|
|
21587
|
-
const { OtpInputComponent } = await import("./magmonium-one-otp-
|
|
21567
|
+
const { OtpInputComponent } = await import("./magmonium-one-otp-Bfvbg6sY.mjs");
|
|
21588
21568
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
21589
21569
|
break;
|
|
21590
21570
|
}
|
|
@@ -21609,7 +21589,7 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
|
|
|
21609
21589
|
break;
|
|
21610
21590
|
}
|
|
21611
21591
|
case InputType.RANGE: {
|
|
21612
|
-
const { RangeInputComponent } = await import("./magmonium-one-range-
|
|
21592
|
+
const { RangeInputComponent } = await import("./magmonium-one-range-CUEJcUBc.mjs").then((n) => n.n);
|
|
21613
21593
|
this.createDynamicComponent(seq, RangeInputComponent);
|
|
21614
21594
|
break;
|
|
21615
21595
|
}
|
|
@@ -21665,7 +21645,7 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
|
|
|
21665
21645
|
break;
|
|
21666
21646
|
}
|
|
21667
21647
|
default: {
|
|
21668
|
-
const { TextInputComponent } = await import("./magmonium-one-text-
|
|
21648
|
+
const { TextInputComponent } = await import("./magmonium-one-text-kkEMHNIt.mjs").then((n) => n.n);
|
|
21669
21649
|
this.createDynamicComponent(seq, TextInputComponent);
|
|
21670
21650
|
break;
|
|
21671
21651
|
}
|
|
@@ -23981,7 +23961,7 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
|
|
|
23981
23961
|
openEditor = async (file, size) => {
|
|
23982
23962
|
const modalStore = this.modalStore;
|
|
23983
23963
|
if (!modalStore) return void 0;
|
|
23984
|
-
const { ImageEditorComponent } = await import("./magmonium-one-image-editor-
|
|
23964
|
+
const { ImageEditorComponent } = await import("./magmonium-one-image-editor-D7IuAMdl.mjs");
|
|
23985
23965
|
const ratio = String(this.config()?.ratio ?? "");
|
|
23986
23966
|
return new Promise((resolve) => {
|
|
23987
23967
|
const modalRef = new ModalRef();
|
|
@@ -49298,6 +49278,601 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
49298
49278
|
}]
|
|
49299
49279
|
}
|
|
49300
49280
|
});
|
|
49301
|
-
|
|
49281
|
+
var HttpSharingClient = class {
|
|
49282
|
+
http = inject(HttpService);
|
|
49283
|
+
groups = () => this.http.get("sharing", ["group"]).pipe(map((reply) => reply.groups ?? []));
|
|
49284
|
+
searchUsers = (q) => this.http.get("user", ["search"], "v2", {
|
|
49285
|
+
q,
|
|
49286
|
+
count: 8
|
|
49287
|
+
}).pipe(map((reply) => reply.users ?? []));
|
|
49288
|
+
users = (ids) => ids.length ? forkJoin(ids.map((id) => this.http.put("user", ["uid", id]).pipe(map((reply) => reply.user ?? { id }), catchError(() => of({ id }))))) : of([]);
|
|
49289
|
+
audience = (source) => this.http.get("sharing", ["audience", source]);
|
|
49290
|
+
saveAudience = (source, audience) => this.http.put("sharing", ["audience", source], audience);
|
|
49291
|
+
};
|
|
49292
|
+
const SHARING_CLIENT = new InjectionToken("SHARING_CLIENT", {
|
|
49293
|
+
providedIn: "root",
|
|
49294
|
+
factory: () => new HttpSharingClient()
|
|
49295
|
+
});
|
|
49296
|
+
const DEFAULT_AUDIENCE = {
|
|
49297
|
+
level: "private",
|
|
49298
|
+
uids: [],
|
|
49299
|
+
groupIds: []
|
|
49300
|
+
};
|
|
49301
|
+
const AUDIENCE_ICONS = {
|
|
49302
|
+
public: "eye",
|
|
49303
|
+
private: "lock",
|
|
49304
|
+
with: "users",
|
|
49305
|
+
without: "eye_close"
|
|
49306
|
+
};
|
|
49307
|
+
const picksMembers = (level) => level === "with" || level === "without";
|
|
49308
|
+
const withLevel = (audience, level) => picksMembers(level) ? {
|
|
49309
|
+
...audience,
|
|
49310
|
+
level
|
|
49311
|
+
} : {
|
|
49312
|
+
level,
|
|
49313
|
+
uids: [],
|
|
49314
|
+
groupIds: []
|
|
49315
|
+
};
|
|
49316
|
+
const toggle = (list, id) => list.includes(id) ? list.filter((x) => x !== id) : [...list, id];
|
|
49317
|
+
const toggleUid = (audience, uid) => ({
|
|
49318
|
+
...audience,
|
|
49319
|
+
uids: toggle(audience.uids, uid)
|
|
49320
|
+
});
|
|
49321
|
+
const toggleGroup = (audience, groupId) => ({
|
|
49322
|
+
...audience,
|
|
49323
|
+
groupIds: toggle(audience.groupIds, groupId)
|
|
49324
|
+
});
|
|
49325
|
+
const pickCount = (audience) => picksMembers(audience.level) ? audience.uids.length + audience.groupIds.length : 0;
|
|
49326
|
+
const AUDIENCE_LEVELS = [
|
|
49327
|
+
"public",
|
|
49328
|
+
"private",
|
|
49329
|
+
"with",
|
|
49330
|
+
"without"
|
|
49331
|
+
];
|
|
49332
|
+
var AudiencePickerBoxComponent = class AudiencePickerBoxComponent {
|
|
49333
|
+
audience = input(DEFAULT_AUDIENCE, ...ngDevMode ? [{ debugName: "audience" }] : /* istanbul ignore next */ []);
|
|
49334
|
+
levels = input(AUDIENCE_LEVELS, ...ngDevMode ? [{ debugName: "levels" }] : /* istanbul ignore next */ []);
|
|
49335
|
+
locked = input(false, ...ngDevMode ? [{ debugName: "locked" }] : /* istanbul ignore next */ []);
|
|
49336
|
+
client = input.required(...ngDevMode ? [{ debugName: "client" }] : /* istanbul ignore next */ []);
|
|
49337
|
+
changed = output();
|
|
49338
|
+
done = output();
|
|
49339
|
+
i18n = inject(TranslateService);
|
|
49340
|
+
query = signal("", ...ngDevMode ? [{ debugName: "query" }] : /* istanbul ignore next */ []);
|
|
49341
|
+
known = signal({}, ...ngDevMode ? [{ debugName: "known" }] : /* istanbul ignore next */ []);
|
|
49342
|
+
icons = AUDIENCE_ICONS;
|
|
49343
|
+
picksMembers = computed(() => picksMembers(this.audience().level), ...ngDevMode ? [{ debugName: "picksMembers" }] : /* istanbul ignore next */ []);
|
|
49344
|
+
groupsResource = rxResource({
|
|
49345
|
+
params: () => this.client(),
|
|
49346
|
+
stream: ({ params }) => params.groups()
|
|
49347
|
+
});
|
|
49348
|
+
groups = computed(() => this.groupsResource.value() ?? [], ...ngDevMode ? [{ debugName: "groups" }] : /* istanbul ignore next */ []);
|
|
49349
|
+
searchResource = rxResource({
|
|
49350
|
+
params: () => this.query().trim() || void 0,
|
|
49351
|
+
stream: ({ params }) => params ? this.client().searchUsers(params) : of([])
|
|
49352
|
+
});
|
|
49353
|
+
results = computed(() => this.searchResource.value() ?? [], ...ngDevMode ? [{ debugName: "results" }] : /* istanbul ignore next */ []);
|
|
49354
|
+
searchConfig = computed(() => ({
|
|
49355
|
+
type: InputType.TEXT,
|
|
49356
|
+
placeholder: this.i18n.translate("audience-search-people"),
|
|
49357
|
+
icon: "search"
|
|
49358
|
+
}), ...ngDevMode ? [{ debugName: "searchConfig" }] : /* istanbul ignore next */ []);
|
|
49359
|
+
constructor() {
|
|
49360
|
+
effect(() => {
|
|
49361
|
+
const hits = this.results();
|
|
49362
|
+
if (!hits.length) return;
|
|
49363
|
+
untracked(() => this.remember(hits));
|
|
49364
|
+
});
|
|
49365
|
+
effect(() => {
|
|
49366
|
+
const missing = this.audience().uids.filter((id) => !this.known()[id]);
|
|
49367
|
+
if (!missing.length) return;
|
|
49368
|
+
untracked(() => this.client().users(missing).subscribe((users) => this.remember(users)));
|
|
49369
|
+
});
|
|
49370
|
+
}
|
|
49371
|
+
name = (id) => {
|
|
49372
|
+
const user = this.known()[id];
|
|
49373
|
+
if (!user) return "…";
|
|
49374
|
+
return [user.firstName, user.lastName].filter(Boolean).join(" ") || (user.username ? `@${user.username}` : id);
|
|
49375
|
+
};
|
|
49376
|
+
isPicked = (id) => this.audience().uids.includes(id);
|
|
49377
|
+
hasGroup = (id) => this.audience().groupIds.includes(id);
|
|
49378
|
+
setLevel = (level) => {
|
|
49379
|
+
if (this.locked() || level === this.audience().level) return;
|
|
49380
|
+
this.changed.emit(withLevel(this.audience(), level));
|
|
49381
|
+
};
|
|
49382
|
+
flipUser = (uid) => {
|
|
49383
|
+
if (this.locked()) return;
|
|
49384
|
+
this.changed.emit(toggleUid(this.audience(), uid));
|
|
49385
|
+
};
|
|
49386
|
+
flipGroup = (groupId) => {
|
|
49387
|
+
if (this.locked()) return;
|
|
49388
|
+
this.changed.emit(toggleGroup(this.audience(), groupId));
|
|
49389
|
+
};
|
|
49390
|
+
remember = (users) => this.known.update((all) => ({
|
|
49391
|
+
...all,
|
|
49392
|
+
...Object.fromEntries(users.map((u) => [u.id, u]))
|
|
49393
|
+
}));
|
|
49394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
49395
|
+
minVersion: "12.0.0",
|
|
49396
|
+
version: "22.2.1",
|
|
49397
|
+
ngImport: i0,
|
|
49398
|
+
type: AudiencePickerBoxComponent,
|
|
49399
|
+
deps: [],
|
|
49400
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
49401
|
+
});
|
|
49402
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
49403
|
+
minVersion: "17.0.0",
|
|
49404
|
+
version: "22.2.1",
|
|
49405
|
+
type: AudiencePickerBoxComponent,
|
|
49406
|
+
isStandalone: true,
|
|
49407
|
+
selector: "m-audience-picker-box",
|
|
49408
|
+
inputs: {
|
|
49409
|
+
audience: {
|
|
49410
|
+
classPropertyName: "audience",
|
|
49411
|
+
publicName: "audience",
|
|
49412
|
+
isSignal: true,
|
|
49413
|
+
isRequired: false,
|
|
49414
|
+
transformFunction: null
|
|
49415
|
+
},
|
|
49416
|
+
levels: {
|
|
49417
|
+
classPropertyName: "levels",
|
|
49418
|
+
publicName: "levels",
|
|
49419
|
+
isSignal: true,
|
|
49420
|
+
isRequired: false,
|
|
49421
|
+
transformFunction: null
|
|
49422
|
+
},
|
|
49423
|
+
locked: {
|
|
49424
|
+
classPropertyName: "locked",
|
|
49425
|
+
publicName: "locked",
|
|
49426
|
+
isSignal: true,
|
|
49427
|
+
isRequired: false,
|
|
49428
|
+
transformFunction: null
|
|
49429
|
+
},
|
|
49430
|
+
client: {
|
|
49431
|
+
classPropertyName: "client",
|
|
49432
|
+
publicName: "client",
|
|
49433
|
+
isSignal: true,
|
|
49434
|
+
isRequired: true,
|
|
49435
|
+
transformFunction: null
|
|
49436
|
+
}
|
|
49437
|
+
},
|
|
49438
|
+
outputs: {
|
|
49439
|
+
changed: "changed",
|
|
49440
|
+
done: "done"
|
|
49441
|
+
},
|
|
49442
|
+
ngImport: i0,
|
|
49443
|
+
template: "<div class=\"audience-box\" role=\"dialog\" [attr.aria-label]=\"'audience-who-can-see' | translate\">\n <span class=\"audience-box__title\">{{ 'audience-who-can-see' | translate }}</span>\n\n @if (locked()) {\n <div class=\"audience-box__locked\">\n <m-one-icon name=\"lock\" size=\"sm\" />\n <span>{{ 'audience-locked' | translate }}</span>\n </div>\n }\n\n <div class=\"audience-box__levels\" role=\"radiogroup\">\n @for (level of levels(); track level) {\n <div\n class=\"audience-box__row\"\n [class.audience-box__row--on]=\"audience().level === level\"\n [class.audience-box__row--off]=\"locked()\"\n role=\"radio\"\n tabindex=\"0\"\n [attr.aria-checked]=\"audience().level === level\"\n [attr.aria-disabled]=\"locked()\"\n (click)=\"setLevel(level)\"\n (keydown.enter)=\"setLevel(level)\"\n (keydown.space)=\"setLevel(level)\"\n >\n <m-one-icon [name]=\"icons[level]\" size=\"sm\" />\n <span class=\"audience-box__text\">\n @switch (level) {\n @case ('public') {\n <span>{{ 'audience-anyone' | translate }}</span>\n <small>{{ 'audience-anyone-hint' | translate }}</small>\n }\n @case ('private') {\n <span>{{ 'audience-only-me' | translate }}</span>\n <small>{{ 'audience-only-me-hint' | translate }}</small>\n }\n @case ('with') {\n <span>{{ 'audience-only-these' | translate }}</span>\n <small>{{ 'audience-only-these-hint' | translate }}</small>\n }\n @case ('without') {\n <span>{{ 'audience-everyone-except' | translate }}</span>\n <small>{{ 'audience-everyone-except-hint' | translate }}</small>\n }\n }\n </span>\n @if (audience().level === level) {\n <m-one-icon name=\"check\" size=\"sm\" />\n }\n </div>\n }\n </div>\n\n @if (picksMembers()) {\n <div class=\"audience-box__part\">\n <span class=\"audience-box__label\">{{ 'audience-your-groups' | translate }}</span>\n @for (group of groups(); track group.id) {\n <div\n class=\"audience-box__row\"\n [class.audience-box__row--on]=\"hasGroup(group.id)\"\n [class.audience-box__row--off]=\"locked()\"\n role=\"checkbox\"\n tabindex=\"0\"\n [attr.aria-checked]=\"hasGroup(group.id)\"\n (click)=\"flipGroup(group.id)\"\n (keydown.enter)=\"flipGroup(group.id)\"\n (keydown.space)=\"flipGroup(group.id)\"\n >\n <m-one-icon [name]=\"hasGroup(group.id) ? 'check' : 'users'\" size=\"sm\" />\n <span class=\"audience-box__text\">{{ group.name }}</span>\n <span class=\"audience-box__count\">{{ group.members.length }}</span>\n </div>\n }\n </div>\n\n <div class=\"audience-box__part\">\n <span class=\"audience-box__label\">{{ 'audience-people' | translate }}</span>\n @if (audience().uids.length) {\n <div class=\"audience-box__chips\">\n @for (uid of audience().uids; track uid) {\n <span\n class=\"audience-box__chip\"\n role=\"button\"\n tabindex=\"0\"\n (click)=\"flipUser(uid)\"\n (keydown.enter)=\"flipUser(uid)\"\n >\n {{ name(uid) }}\n @if (!locked()) {\n <m-one-icon name=\"x\" size=\"xs\" />\n }\n </span>\n }\n </div>\n }\n @if (!locked()) {\n <m-text-input [config]=\"searchConfig()\" [(value)]=\"query\" />\n @for (user of results(); track user.id) {\n <div\n class=\"audience-box__row\"\n [class.audience-box__row--on]=\"isPicked(user.id)\"\n role=\"checkbox\"\n tabindex=\"0\"\n [attr.aria-checked]=\"isPicked(user.id)\"\n (click)=\"flipUser(user.id)\"\n (keydown.enter)=\"flipUser(user.id)\"\n (keydown.space)=\"flipUser(user.id)\"\n >\n <m-one-icon [name]=\"isPicked(user.id) ? 'check' : 'plus'\" size=\"sm\" />\n <span class=\"audience-box__text\">{{ name(user.id) }}</span>\n </div>\n }\n }\n </div>\n }\n\n <div class=\"audience-box__footer\">\n <m-one-button name=\"audience_done\" (clicked)=\"done.emit()\" />\n </div>\n</div>\n",
|
|
49444
|
+
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)}}.audience-box{display:flex;flex-direction:column;gap:.25rem;max-height:28rem;padding:.75rem;overflow-y:auto;color:var(--m-text)}.audience-box__title,.audience-box__label{padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:var(--m-text-secondary);text-transform:uppercase}.audience-box__locked{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.5rem;background:var(--m-warning-lite);font-size:.8rem}.audience-box__levels,.audience-box__part{display:flex;flex-direction:column;gap:.125rem}.audience-box__part{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--m-border)}.audience-box__row{display:flex;align-items:center;gap:.6rem;padding:.5rem;border-radius:.5rem;cursor:pointer}.audience-box__row:hover,.audience-box__row:focus-visible{background:var(--m-background-lite);outline:none}.audience-box__row--on{color:var(--m-mm)}.audience-box__row--off{cursor:default;opacity:.6}.audience-box__text{display:flex;flex:1;flex-direction:column;font-size:.875rem}.audience-box__text small,.audience-box__count{font-size:.75rem;color:var(--m-text-secondary)}.audience-box__chips{display:flex;flex-wrap:wrap;gap:.375rem;padding:0 .5rem .5rem}.audience-box__chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border:1px solid var(--m-mm);border-radius:999px;background:var(--m-mm-lite);font-size:.8rem;cursor:pointer}.audience-box__footer{display:flex;justify-content:flex-end;margin-top:.5rem}\n"],
|
|
49445
|
+
dependencies: [
|
|
49446
|
+
{
|
|
49447
|
+
kind: "component",
|
|
49448
|
+
type: ButtonComponent,
|
|
49449
|
+
selector: "m-button,m-one-button",
|
|
49450
|
+
inputs: [
|
|
49451
|
+
"config",
|
|
49452
|
+
"color",
|
|
49453
|
+
"labelClass",
|
|
49454
|
+
"fullWidth",
|
|
49455
|
+
"nav",
|
|
49456
|
+
"navParams",
|
|
49457
|
+
"href",
|
|
49458
|
+
"disabled",
|
|
49459
|
+
"variant",
|
|
49460
|
+
"name",
|
|
49461
|
+
"baseUrl",
|
|
49462
|
+
"one",
|
|
49463
|
+
"remote",
|
|
49464
|
+
"label",
|
|
49465
|
+
"noTranslate",
|
|
49466
|
+
"params",
|
|
49467
|
+
"noNative",
|
|
49468
|
+
"icon",
|
|
49469
|
+
"isRightIcon",
|
|
49470
|
+
"iconOnly",
|
|
49471
|
+
"stacked",
|
|
49472
|
+
"imgSrc",
|
|
49473
|
+
"nonClickable",
|
|
49474
|
+
"inverted",
|
|
49475
|
+
"isSubmit",
|
|
49476
|
+
"tabindex"
|
|
49477
|
+
],
|
|
49478
|
+
outputs: ["configChange", "clicked"]
|
|
49479
|
+
},
|
|
49480
|
+
{
|
|
49481
|
+
kind: "component",
|
|
49482
|
+
type: IconComponent,
|
|
49483
|
+
selector: "m-icon, m-one-icon",
|
|
49484
|
+
inputs: [
|
|
49485
|
+
"config",
|
|
49486
|
+
"name",
|
|
49487
|
+
"color",
|
|
49488
|
+
"size",
|
|
49489
|
+
"one",
|
|
49490
|
+
"baseUrl",
|
|
49491
|
+
"remote"
|
|
49492
|
+
],
|
|
49493
|
+
outputs: ["configChange"]
|
|
49494
|
+
},
|
|
49495
|
+
{
|
|
49496
|
+
kind: "component",
|
|
49497
|
+
type: TextInputComponent,
|
|
49498
|
+
selector: "m-text-input",
|
|
49499
|
+
inputs: [
|
|
49500
|
+
"value",
|
|
49501
|
+
"config",
|
|
49502
|
+
"required",
|
|
49503
|
+
"disabled",
|
|
49504
|
+
"invalid",
|
|
49505
|
+
"touched",
|
|
49506
|
+
"focused",
|
|
49507
|
+
"errors",
|
|
49508
|
+
"hideErrors"
|
|
49509
|
+
],
|
|
49510
|
+
outputs: ["valueChange", "touchedChange"]
|
|
49511
|
+
},
|
|
49512
|
+
{
|
|
49513
|
+
kind: "pipe",
|
|
49514
|
+
type: TranslatePipe,
|
|
49515
|
+
name: "translate"
|
|
49516
|
+
}
|
|
49517
|
+
],
|
|
49518
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
49519
|
+
});
|
|
49520
|
+
};
|
|
49521
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
49522
|
+
minVersion: "12.0.0",
|
|
49523
|
+
version: "22.2.1",
|
|
49524
|
+
ngImport: i0,
|
|
49525
|
+
type: AudiencePickerBoxComponent,
|
|
49526
|
+
decorators: [{
|
|
49527
|
+
type: Component,
|
|
49528
|
+
args: [{
|
|
49529
|
+
selector: "m-audience-picker-box",
|
|
49530
|
+
imports: [
|
|
49531
|
+
ButtonComponent,
|
|
49532
|
+
IconComponent,
|
|
49533
|
+
TextInputComponent,
|
|
49534
|
+
TranslatePipe
|
|
49535
|
+
],
|
|
49536
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49537
|
+
template: "<div class=\"audience-box\" role=\"dialog\" [attr.aria-label]=\"'audience-who-can-see' | translate\">\n <span class=\"audience-box__title\">{{ 'audience-who-can-see' | translate }}</span>\n\n @if (locked()) {\n <div class=\"audience-box__locked\">\n <m-one-icon name=\"lock\" size=\"sm\" />\n <span>{{ 'audience-locked' | translate }}</span>\n </div>\n }\n\n <div class=\"audience-box__levels\" role=\"radiogroup\">\n @for (level of levels(); track level) {\n <div\n class=\"audience-box__row\"\n [class.audience-box__row--on]=\"audience().level === level\"\n [class.audience-box__row--off]=\"locked()\"\n role=\"radio\"\n tabindex=\"0\"\n [attr.aria-checked]=\"audience().level === level\"\n [attr.aria-disabled]=\"locked()\"\n (click)=\"setLevel(level)\"\n (keydown.enter)=\"setLevel(level)\"\n (keydown.space)=\"setLevel(level)\"\n >\n <m-one-icon [name]=\"icons[level]\" size=\"sm\" />\n <span class=\"audience-box__text\">\n @switch (level) {\n @case ('public') {\n <span>{{ 'audience-anyone' | translate }}</span>\n <small>{{ 'audience-anyone-hint' | translate }}</small>\n }\n @case ('private') {\n <span>{{ 'audience-only-me' | translate }}</span>\n <small>{{ 'audience-only-me-hint' | translate }}</small>\n }\n @case ('with') {\n <span>{{ 'audience-only-these' | translate }}</span>\n <small>{{ 'audience-only-these-hint' | translate }}</small>\n }\n @case ('without') {\n <span>{{ 'audience-everyone-except' | translate }}</span>\n <small>{{ 'audience-everyone-except-hint' | translate }}</small>\n }\n }\n </span>\n @if (audience().level === level) {\n <m-one-icon name=\"check\" size=\"sm\" />\n }\n </div>\n }\n </div>\n\n @if (picksMembers()) {\n <div class=\"audience-box__part\">\n <span class=\"audience-box__label\">{{ 'audience-your-groups' | translate }}</span>\n @for (group of groups(); track group.id) {\n <div\n class=\"audience-box__row\"\n [class.audience-box__row--on]=\"hasGroup(group.id)\"\n [class.audience-box__row--off]=\"locked()\"\n role=\"checkbox\"\n tabindex=\"0\"\n [attr.aria-checked]=\"hasGroup(group.id)\"\n (click)=\"flipGroup(group.id)\"\n (keydown.enter)=\"flipGroup(group.id)\"\n (keydown.space)=\"flipGroup(group.id)\"\n >\n <m-one-icon [name]=\"hasGroup(group.id) ? 'check' : 'users'\" size=\"sm\" />\n <span class=\"audience-box__text\">{{ group.name }}</span>\n <span class=\"audience-box__count\">{{ group.members.length }}</span>\n </div>\n }\n </div>\n\n <div class=\"audience-box__part\">\n <span class=\"audience-box__label\">{{ 'audience-people' | translate }}</span>\n @if (audience().uids.length) {\n <div class=\"audience-box__chips\">\n @for (uid of audience().uids; track uid) {\n <span\n class=\"audience-box__chip\"\n role=\"button\"\n tabindex=\"0\"\n (click)=\"flipUser(uid)\"\n (keydown.enter)=\"flipUser(uid)\"\n >\n {{ name(uid) }}\n @if (!locked()) {\n <m-one-icon name=\"x\" size=\"xs\" />\n }\n </span>\n }\n </div>\n }\n @if (!locked()) {\n <m-text-input [config]=\"searchConfig()\" [(value)]=\"query\" />\n @for (user of results(); track user.id) {\n <div\n class=\"audience-box__row\"\n [class.audience-box__row--on]=\"isPicked(user.id)\"\n role=\"checkbox\"\n tabindex=\"0\"\n [attr.aria-checked]=\"isPicked(user.id)\"\n (click)=\"flipUser(user.id)\"\n (keydown.enter)=\"flipUser(user.id)\"\n (keydown.space)=\"flipUser(user.id)\"\n >\n <m-one-icon [name]=\"isPicked(user.id) ? 'check' : 'plus'\" size=\"sm\" />\n <span class=\"audience-box__text\">{{ name(user.id) }}</span>\n </div>\n }\n }\n </div>\n }\n\n <div class=\"audience-box__footer\">\n <m-one-button name=\"audience_done\" (clicked)=\"done.emit()\" />\n </div>\n</div>\n",
|
|
49538
|
+
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)}}.audience-box{display:flex;flex-direction:column;gap:.25rem;max-height:28rem;padding:.75rem;overflow-y:auto;color:var(--m-text)}.audience-box__title,.audience-box__label{padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:var(--m-text-secondary);text-transform:uppercase}.audience-box__locked{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.5rem;background:var(--m-warning-lite);font-size:.8rem}.audience-box__levels,.audience-box__part{display:flex;flex-direction:column;gap:.125rem}.audience-box__part{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--m-border)}.audience-box__row{display:flex;align-items:center;gap:.6rem;padding:.5rem;border-radius:.5rem;cursor:pointer}.audience-box__row:hover,.audience-box__row:focus-visible{background:var(--m-background-lite);outline:none}.audience-box__row--on{color:var(--m-mm)}.audience-box__row--off{cursor:default;opacity:.6}.audience-box__text{display:flex;flex:1;flex-direction:column;font-size:.875rem}.audience-box__text small,.audience-box__count{font-size:.75rem;color:var(--m-text-secondary)}.audience-box__chips{display:flex;flex-wrap:wrap;gap:.375rem;padding:0 .5rem .5rem}.audience-box__chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border:1px solid var(--m-mm);border-radius:999px;background:var(--m-mm-lite);font-size:.8rem;cursor:pointer}.audience-box__footer{display:flex;justify-content:flex-end;margin-top:.5rem}\n"]
|
|
49539
|
+
}]
|
|
49540
|
+
}],
|
|
49541
|
+
ctorParameters: () => [],
|
|
49542
|
+
propDecorators: {
|
|
49543
|
+
audience: [{
|
|
49544
|
+
type: i0.Input,
|
|
49545
|
+
args: [{
|
|
49546
|
+
isSignal: true,
|
|
49547
|
+
alias: "audience",
|
|
49548
|
+
required: false
|
|
49549
|
+
}]
|
|
49550
|
+
}],
|
|
49551
|
+
levels: [{
|
|
49552
|
+
type: i0.Input,
|
|
49553
|
+
args: [{
|
|
49554
|
+
isSignal: true,
|
|
49555
|
+
alias: "levels",
|
|
49556
|
+
required: false
|
|
49557
|
+
}]
|
|
49558
|
+
}],
|
|
49559
|
+
locked: [{
|
|
49560
|
+
type: i0.Input,
|
|
49561
|
+
args: [{
|
|
49562
|
+
isSignal: true,
|
|
49563
|
+
alias: "locked",
|
|
49564
|
+
required: false
|
|
49565
|
+
}]
|
|
49566
|
+
}],
|
|
49567
|
+
client: [{
|
|
49568
|
+
type: i0.Input,
|
|
49569
|
+
args: [{
|
|
49570
|
+
isSignal: true,
|
|
49571
|
+
alias: "client",
|
|
49572
|
+
required: true
|
|
49573
|
+
}]
|
|
49574
|
+
}],
|
|
49575
|
+
changed: [{
|
|
49576
|
+
type: i0.Output,
|
|
49577
|
+
args: ["changed"]
|
|
49578
|
+
}],
|
|
49579
|
+
done: [{
|
|
49580
|
+
type: i0.Output,
|
|
49581
|
+
args: ["done"]
|
|
49582
|
+
}]
|
|
49583
|
+
}
|
|
49584
|
+
});
|
|
49585
|
+
var AudiencePickerComponent = class AudiencePickerComponent extends ConfigComponent {
|
|
49586
|
+
audience = model(...ngDevMode ? [void 0, { debugName: "audience" }] : /* istanbul ignore next */ []);
|
|
49587
|
+
source = input(...ngDevMode ? [void 0, { debugName: "source" }] : /* istanbul ignore next */ []);
|
|
49588
|
+
locked = input(false, ...ngDevMode ? [{ debugName: "locked" }] : /* istanbul ignore next */ []);
|
|
49589
|
+
labelled = input(...ngDevMode ? [void 0, { debugName: "labelled" }] : /* istanbul ignore next */ []);
|
|
49590
|
+
disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
49591
|
+
align = input(...ngDevMode ? [void 0, { debugName: "align" }] : /* istanbul ignore next */ []);
|
|
49592
|
+
subFolder = "audience_picker";
|
|
49593
|
+
open = signal(false, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
|
|
49594
|
+
client = inject(SHARING_CLIENT);
|
|
49595
|
+
i18n = inject(TranslateService);
|
|
49596
|
+
selectorDir = viewChild(SelectorDirective, ...ngDevMode ? [{ debugName: "selectorDir" }] : /* istanbul ignore next */ []);
|
|
49597
|
+
sourceLocked = signal(false, ...ngDevMode ? [{ debugName: "sourceLocked" }] : /* istanbul ignore next */ []);
|
|
49598
|
+
pickerConfig = computed(() => this.config() ?? {}, ...ngDevMode ? [{ debugName: "pickerConfig" }] : /* istanbul ignore next */ []);
|
|
49599
|
+
current = computed(() => this.audience() ?? DEFAULT_AUDIENCE, ...ngDevMode ? [{ debugName: "current" }] : /* istanbul ignore next */ []);
|
|
49600
|
+
levels = computed(() => this.pickerConfig().levels ?? AUDIENCE_LEVELS, ...ngDevMode ? [{ debugName: "levels" }] : /* istanbul ignore next */ []);
|
|
49601
|
+
isLocked = computed(() => this.locked() || this.sourceLocked(), ...ngDevMode ? [{ debugName: "isLocked" }] : /* istanbul ignore next */ []);
|
|
49602
|
+
stored = rxResource({
|
|
49603
|
+
params: () => this.source(),
|
|
49604
|
+
stream: ({ params }) => this.client.audience(params)
|
|
49605
|
+
});
|
|
49606
|
+
summary = computed(() => {
|
|
49607
|
+
const audience = this.current();
|
|
49608
|
+
const count = pickCount(audience);
|
|
49609
|
+
const title = this.levelTitle(audience.level);
|
|
49610
|
+
return count ? `${title} · ${count}` : title;
|
|
49611
|
+
}, ...ngDevMode ? [{ debugName: "summary" }] : /* istanbul ignore next */ []);
|
|
49612
|
+
triggerConfig = computed(() => {
|
|
49613
|
+
const labelled = this.labelled() ?? this.pickerConfig().labelled ?? false;
|
|
49614
|
+
return {
|
|
49615
|
+
variant: "ghost",
|
|
49616
|
+
iconOnly: !labelled,
|
|
49617
|
+
icon: AUDIENCE_ICONS[this.current().level],
|
|
49618
|
+
label: labelled ? this.summary() : "audience-picker",
|
|
49619
|
+
noTranslate: labelled,
|
|
49620
|
+
disabled: this.disabled()
|
|
49621
|
+
};
|
|
49622
|
+
}, ...ngDevMode ? [{ debugName: "triggerConfig" }] : /* istanbul ignore next */ []);
|
|
49623
|
+
selectorConfig = computed(() => {
|
|
49624
|
+
if (this.isDesignMode || this.disabled()) return void 0;
|
|
49625
|
+
return {
|
|
49626
|
+
component: AudiencePickerBoxComponent,
|
|
49627
|
+
base: "m-audience-picker",
|
|
49628
|
+
width: this.pickerConfig().width ?? "320px",
|
|
49629
|
+
height: "auto",
|
|
49630
|
+
align: this.align() ?? this.pickerConfig().align,
|
|
49631
|
+
toggle: true,
|
|
49632
|
+
bindings: [
|
|
49633
|
+
inputBinding("audience", this.current),
|
|
49634
|
+
inputBinding("levels", this.levels),
|
|
49635
|
+
inputBinding("locked", this.isLocked),
|
|
49636
|
+
inputBinding("client", () => this.client),
|
|
49637
|
+
outputBinding("changed", (next) => this.apply(next)),
|
|
49638
|
+
outputBinding("done", () => this.selectorDir()?.close())
|
|
49639
|
+
]
|
|
49640
|
+
};
|
|
49641
|
+
}, ...ngDevMode ? [{ debugName: "selectorConfig" }] : /* istanbul ignore next */ []);
|
|
49642
|
+
constructor() {
|
|
49643
|
+
super();
|
|
49644
|
+
effect(() => {
|
|
49645
|
+
const stored = this.stored.value();
|
|
49646
|
+
if (!stored) return;
|
|
49647
|
+
untracked(() => {
|
|
49648
|
+
this.audience.set(stored.audience);
|
|
49649
|
+
this.sourceLocked.set(stored.locked);
|
|
49650
|
+
});
|
|
49651
|
+
});
|
|
49652
|
+
}
|
|
49653
|
+
apply = (next) => {
|
|
49654
|
+
if (this.isLocked()) return;
|
|
49655
|
+
const previous = this.audience();
|
|
49656
|
+
this.audience.set(next);
|
|
49657
|
+
const source = this.source();
|
|
49658
|
+
if (!source) return;
|
|
49659
|
+
this.client.saveAudience(source, next).subscribe({
|
|
49660
|
+
next: (saved) => {
|
|
49661
|
+
this.audience.set(saved.audience);
|
|
49662
|
+
this.sourceLocked.set(saved.locked);
|
|
49663
|
+
},
|
|
49664
|
+
error: () => this.audience.set(previous)
|
|
49665
|
+
});
|
|
49666
|
+
};
|
|
49667
|
+
levelTitle = (level) => {
|
|
49668
|
+
switch (level) {
|
|
49669
|
+
case "public": return this.i18n.translate("audience-anyone");
|
|
49670
|
+
case "private": return this.i18n.translate("audience-only-me");
|
|
49671
|
+
case "with": return this.i18n.translate("audience-only-these");
|
|
49672
|
+
case "without": return this.i18n.translate("audience-everyone-except");
|
|
49673
|
+
}
|
|
49674
|
+
};
|
|
49675
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
49676
|
+
minVersion: "12.0.0",
|
|
49677
|
+
version: "22.2.1",
|
|
49678
|
+
ngImport: i0,
|
|
49679
|
+
type: AudiencePickerComponent,
|
|
49680
|
+
deps: [],
|
|
49681
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
49682
|
+
});
|
|
49683
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
49684
|
+
minVersion: "17.2.0",
|
|
49685
|
+
version: "22.2.1",
|
|
49686
|
+
type: AudiencePickerComponent,
|
|
49687
|
+
isStandalone: true,
|
|
49688
|
+
selector: "m-audience-picker, m-one-audience-picker",
|
|
49689
|
+
inputs: {
|
|
49690
|
+
audience: {
|
|
49691
|
+
classPropertyName: "audience",
|
|
49692
|
+
publicName: "audience",
|
|
49693
|
+
isSignal: true,
|
|
49694
|
+
isRequired: false,
|
|
49695
|
+
transformFunction: null
|
|
49696
|
+
},
|
|
49697
|
+
source: {
|
|
49698
|
+
classPropertyName: "source",
|
|
49699
|
+
publicName: "source",
|
|
49700
|
+
isSignal: true,
|
|
49701
|
+
isRequired: false,
|
|
49702
|
+
transformFunction: null
|
|
49703
|
+
},
|
|
49704
|
+
locked: {
|
|
49705
|
+
classPropertyName: "locked",
|
|
49706
|
+
publicName: "locked",
|
|
49707
|
+
isSignal: true,
|
|
49708
|
+
isRequired: false,
|
|
49709
|
+
transformFunction: null
|
|
49710
|
+
},
|
|
49711
|
+
labelled: {
|
|
49712
|
+
classPropertyName: "labelled",
|
|
49713
|
+
publicName: "labelled",
|
|
49714
|
+
isSignal: true,
|
|
49715
|
+
isRequired: false,
|
|
49716
|
+
transformFunction: null
|
|
49717
|
+
},
|
|
49718
|
+
disabled: {
|
|
49719
|
+
classPropertyName: "disabled",
|
|
49720
|
+
publicName: "disabled",
|
|
49721
|
+
isSignal: true,
|
|
49722
|
+
isRequired: false,
|
|
49723
|
+
transformFunction: null
|
|
49724
|
+
},
|
|
49725
|
+
align: {
|
|
49726
|
+
classPropertyName: "align",
|
|
49727
|
+
publicName: "align",
|
|
49728
|
+
isSignal: true,
|
|
49729
|
+
isRequired: false,
|
|
49730
|
+
transformFunction: null
|
|
49731
|
+
}
|
|
49732
|
+
},
|
|
49733
|
+
outputs: { audience: "audienceChange" },
|
|
49734
|
+
viewQueries: [{
|
|
49735
|
+
propertyName: "selectorDir",
|
|
49736
|
+
first: true,
|
|
49737
|
+
predicate: SelectorDirective,
|
|
49738
|
+
descendants: true,
|
|
49739
|
+
isSignal: true
|
|
49740
|
+
}],
|
|
49741
|
+
usesInheritance: true,
|
|
49742
|
+
ngImport: i0,
|
|
49743
|
+
template: `
|
|
49744
|
+
<m-one-button
|
|
49745
|
+
[config]="triggerConfig()"
|
|
49746
|
+
[mSelector]="selectorConfig()"
|
|
49747
|
+
(opened)="open.set(true)"
|
|
49748
|
+
(closed)="open.set(false)"
|
|
49749
|
+
/>
|
|
49750
|
+
`,
|
|
49751
|
+
isInline: true,
|
|
49752
|
+
dependencies: [{
|
|
49753
|
+
kind: "component",
|
|
49754
|
+
type: ButtonComponent,
|
|
49755
|
+
selector: "m-button,m-one-button",
|
|
49756
|
+
inputs: [
|
|
49757
|
+
"config",
|
|
49758
|
+
"color",
|
|
49759
|
+
"labelClass",
|
|
49760
|
+
"fullWidth",
|
|
49761
|
+
"nav",
|
|
49762
|
+
"navParams",
|
|
49763
|
+
"href",
|
|
49764
|
+
"disabled",
|
|
49765
|
+
"variant",
|
|
49766
|
+
"name",
|
|
49767
|
+
"baseUrl",
|
|
49768
|
+
"one",
|
|
49769
|
+
"remote",
|
|
49770
|
+
"label",
|
|
49771
|
+
"noTranslate",
|
|
49772
|
+
"params",
|
|
49773
|
+
"noNative",
|
|
49774
|
+
"icon",
|
|
49775
|
+
"isRightIcon",
|
|
49776
|
+
"iconOnly",
|
|
49777
|
+
"stacked",
|
|
49778
|
+
"imgSrc",
|
|
49779
|
+
"nonClickable",
|
|
49780
|
+
"inverted",
|
|
49781
|
+
"isSubmit",
|
|
49782
|
+
"tabindex"
|
|
49783
|
+
],
|
|
49784
|
+
outputs: ["configChange", "clicked"]
|
|
49785
|
+
}, {
|
|
49786
|
+
kind: "directive",
|
|
49787
|
+
type: SelectorDirective,
|
|
49788
|
+
selector: "[mSelector]",
|
|
49789
|
+
inputs: ["mSelector", "disabled"],
|
|
49790
|
+
outputs: ["opened", "closed"],
|
|
49791
|
+
exportAs: ["mSelector"]
|
|
49792
|
+
}],
|
|
49793
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
49794
|
+
});
|
|
49795
|
+
};
|
|
49796
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
49797
|
+
minVersion: "12.0.0",
|
|
49798
|
+
version: "22.2.1",
|
|
49799
|
+
ngImport: i0,
|
|
49800
|
+
type: AudiencePickerComponent,
|
|
49801
|
+
decorators: [{
|
|
49802
|
+
type: Component,
|
|
49803
|
+
args: [{
|
|
49804
|
+
selector: "m-audience-picker, m-one-audience-picker",
|
|
49805
|
+
imports: [ButtonComponent, SelectorDirective],
|
|
49806
|
+
template: `
|
|
49807
|
+
<m-one-button
|
|
49808
|
+
[config]="triggerConfig()"
|
|
49809
|
+
[mSelector]="selectorConfig()"
|
|
49810
|
+
(opened)="open.set(true)"
|
|
49811
|
+
(closed)="open.set(false)"
|
|
49812
|
+
/>
|
|
49813
|
+
`,
|
|
49814
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
49815
|
+
}]
|
|
49816
|
+
}],
|
|
49817
|
+
ctorParameters: () => [],
|
|
49818
|
+
propDecorators: {
|
|
49819
|
+
audience: [{
|
|
49820
|
+
type: i0.Input,
|
|
49821
|
+
args: [{
|
|
49822
|
+
isSignal: true,
|
|
49823
|
+
alias: "audience",
|
|
49824
|
+
required: false
|
|
49825
|
+
}]
|
|
49826
|
+
}, {
|
|
49827
|
+
type: i0.Output,
|
|
49828
|
+
args: ["audienceChange"]
|
|
49829
|
+
}],
|
|
49830
|
+
source: [{
|
|
49831
|
+
type: i0.Input,
|
|
49832
|
+
args: [{
|
|
49833
|
+
isSignal: true,
|
|
49834
|
+
alias: "source",
|
|
49835
|
+
required: false
|
|
49836
|
+
}]
|
|
49837
|
+
}],
|
|
49838
|
+
locked: [{
|
|
49839
|
+
type: i0.Input,
|
|
49840
|
+
args: [{
|
|
49841
|
+
isSignal: true,
|
|
49842
|
+
alias: "locked",
|
|
49843
|
+
required: false
|
|
49844
|
+
}]
|
|
49845
|
+
}],
|
|
49846
|
+
labelled: [{
|
|
49847
|
+
type: i0.Input,
|
|
49848
|
+
args: [{
|
|
49849
|
+
isSignal: true,
|
|
49850
|
+
alias: "labelled",
|
|
49851
|
+
required: false
|
|
49852
|
+
}]
|
|
49853
|
+
}],
|
|
49854
|
+
disabled: [{
|
|
49855
|
+
type: i0.Input,
|
|
49856
|
+
args: [{
|
|
49857
|
+
isSignal: true,
|
|
49858
|
+
alias: "disabled",
|
|
49859
|
+
required: false
|
|
49860
|
+
}]
|
|
49861
|
+
}],
|
|
49862
|
+
align: [{
|
|
49863
|
+
type: i0.Input,
|
|
49864
|
+
args: [{
|
|
49865
|
+
isSignal: true,
|
|
49866
|
+
alias: "align",
|
|
49867
|
+
required: false
|
|
49868
|
+
}]
|
|
49869
|
+
}],
|
|
49870
|
+
selectorDir: [{
|
|
49871
|
+
type: i0.ViewChild,
|
|
49872
|
+
args: [i0.forwardRef(() => SelectorDirective), { isSignal: true }]
|
|
49873
|
+
}]
|
|
49874
|
+
}
|
|
49875
|
+
});
|
|
49876
|
+
export { ACCESS_DOMAINS, APP_CONTEXT_REF, APP_LINK, ASSET_BASE_URL, AUDIENCE_ICONS, AUDIENCE_LEVELS, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppAvailability, AppCardComponent, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AudiencePickerBoxComponent, AudiencePickerComponent, AuthActivityPageComponent, AuthApiService, AuthStore, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, BrowserLocaleService, ButtonComponent, ButtonGroupComponent, CALLING_APP_HEADER, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, ChatBubbleComponent, CheckboxGroupComponent, CheckboxInputComponent, ClearableInputComponent, ClipboardService, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, CompactNumberPipe, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_AUDIENCE, DEFAULT_DENIAL, DEFAULT_DOC_ALIGN, DEFAULT_DOC_DENSITY, DEFAULT_DOC_VARIANT, DEFAULT_FILTER_RANGE_MODE, DEFAULT_FILTER_VARIANT, DEFAULT_NAV_PARAM, DEFAULT_NAV_SEGMENT, DEFAULT_SIZE, DOCK_MIN_PAGE_REMAINDER, DOCS_FOLDER, DOC_ACTION_ICONS, DOC_ALIGNS, DOC_DENSITIES, DOC_EDIT_ACTIONS, DOC_TOOLBAR_GROUPS, DOC_VARIANTS, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DocComponent, DocEditorComponent, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FILTER_GROUP_CONTEXT, FILTER_RANGE_MODES, FILTER_VARIANTS, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GRID_BREAKPOINTS, GetNavService, HeaderComponent, HighlightDirective, HttpService, HttpSharingClient, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOADING_ACTIONS_REF, LOGIN_COMPONENT, LOGIN_STORE, LanguageComponent, ListComponent, LogoComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MOUNT_STATIC_SEGMENT, MOUNT_TOKEN, MRefDirective, MStepComponent, MURL_PARAM, MURL_SEP, ManifestEnrichmentService, MarginDirective, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, MultiselectInputComponent, MurlUrlSerializer, NAV_DEFAULT_MURL, NAV_ID_SEP, NAV_MAIN_BUTTONS, NAV_SEGMENT_RE, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavHeaderComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OVERLAY_WIDGETS, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PLATFORM_BUTTON_NAV_IDS, PLATFORM_EXTENSIBLE_NAV_IDS, PLATFORM_NAV_MAP, PLATFORM_ROOT_CHILDREN, PLUGIN_FALLBACK_LANG, PLUGIN_OUTPUT_EVENT, PLUGIN_SCREENS, PaddingDirective, PaginationComponent, PanelComponent, PercentagePipe, PlaygroundComponent, PluginComponent, PluginInputComponent, PluginOutputComponent, PositionDirective, PwaInstallComponent, RECENT_SEARCH_LIMIT, REMOTE_PAGE_RELOAD, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_FORM_CONTEXT, SECTION_TABLE_VARIANTS, SHARED_ICONS, SHARING_CLIENT, SIZE_CONTEXT, SPACING_INWARD, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionCarouselComponent, SectionComponent, SectionFilterComponent, SectionFilterGroupComponent, SectionFilterMenuComponent, SectionFilterPanelComponent, SectionFilterRangePanelComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionHeroComponent, SectionPaginationComponent, SectionSearchComponent, SectionStepperComponent, SectionTableCellComponent, SectionTableComponent, SectionTableRowComponent, SectionTableSortPipe, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, ShapeComponent, SharedStoreRegistry, SidePanelDirective, Size, SocketStore, SortComponent, StatComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeDataService, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, TreeGridComponent, URL_SEP, USER_STORE_REF, USER_TAB_MAP, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_BUNDLE, WC_NAVIGATE_EVENT, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, activeElementWithin, allowedCodes, anchorNavId, applyColorsToElement, applyDocEdit, assetOptions, baseUnderHost, bootstrapMagApp, bootstrapPwaInstall, browserLocale, buildWcBaseUrl, calculateLuminance, calculateRanks, cellText, checkDoc, checkFilterCondition, childNavId, claimDenial, classListSignal, coerceSize, cornerEdge, cornerSide, createLoadingState, createMap, createPlatformNavMap, createPluginElement, definePluginScreens, definedWcBundleOf, definedWcTierOf, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, docActionKey, docAssetCandidates, docProblemKey, docRemotePath, emailValidation, evaluate, evaluateBool, exposeScreens, exposedScreensOf, fieldBoolean, fieldNumber, fieldString, filterHoldsList, filterHoldsOneBound, filterHoldsOptions, filterHoldsRange, filterList, filterNumber, filterNumberList, filterOne, filterPanelOf, filterPanelWidth, filterRange, filterTreeGridRows, filterValueList, filterValues, flattenTreeGridRows, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getTreeGridRow, getUniqueId, getValue, hasErrorComputed, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initialState, initials, injectAuthenticate, injectDefaultDenial, injectInstallApp, injectParentSize, injectScrollSticky, isBootRedirect, isButtonName, isCancelledComputed, isExtensiblePlatformNavId, isJson, isLoadingComputed, isLocalhost, isNavInstanceConfig, isNavMenuConfig, isNavRowsConfig, isNavVisibilityConfig, isPlatformNavId, isPlatformPanelNavId, isSize, isTierPreview, isUrlLocalhost, isValidNavId, isValidNavSegment, isWebComponent, linkToId, linkToNav, loadingActions, mInterceptor, manualValidation, matchFieldValidation, matchMount, maxLengthValidation, maxValidation, mergePlatformNav, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkToHtml, mountFor, mountPatternProblem, mountPatternText, mountSegmentOf, mountTokenOf, navIdChain, navIdFor, navIdSegment, navIdToRoutePath, navIdToSegments, navParamOf, navTailMatcher, navToId, navVisibilityGuard, nextSectionTableSort, normalizeAssetOptions, offsetOfLine, parentNavId, parseAddress, parseColor, parseMountPattern, parsePatternNames, patternValidation, patternsValidation, permissionRefusal, pickCount, pickSupportedLanguage, picksMembers, platformNavWidgets, pluginTag, presetDefaultOption, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideMurlUrlSerializer, provideNavWidgets, provideOverlayWidgets, providePlatformNavWidgets, providePluginRuntime, provideSearch, provideSizeContext, provideUserTabs, publicGuard, readFieldPatterns, recordDefinedWcTier, remoteOutletRoute, renderAddress, renderDocument, requiredValidation, resolveConfigAsset, resolveIconSize, resolvePallet, resolvePatternRules, resolveSize, resolveSpacing, rgbToHex, rgbToHsl, rowHasChildren, samePatterns, sectionTableColumnId, sectionTableColumnWidths, sectionTableFrozenCount, segmentsToNavId, setProperty, setTreeGridChildren, setWcLocalPort, setWcTier, settingsWidgets, shouldShowBadge, sortSectionTableRows, splitNavId, splitOnMatch, stringToColor, tailRouteOf, toAttrBool, toAttrNumber, toCssLength, toHostNavId, toLength, toLocalNavId, toggleGroup, toggleTreeGridRow, toggleUid, unfetchedPlatformNav, ungroupedDocActions, urlValidation, wcLocalBaseOf, wcTierOf, withLevel };
|
|
49302
49877
|
|
|
49303
49878
|
//# sourceMappingURL=magmonium-one.mjs.map
|