@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
package/types/magmonium-one.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { ControlValueAccessor } from "@angular/forms";
|
|
|
9
9
|
import { SafeStyle } from "@angular/platform-browser";
|
|
10
10
|
/**
|
|
11
11
|
* The three scale steps the design system renders, and the only ones — see
|
|
12
|
-
*
|
|
12
|
+
* GLOSSARY.md `Size` and ADR 0008. Declarable on a Section or a ButtonGroup and
|
|
13
13
|
* nowhere else (a SectionButtonGroup shares the latter seat, being its
|
|
14
14
|
* markup-composed variant); everything below one renders at its Size.
|
|
15
15
|
*/
|
|
@@ -120,7 +120,7 @@ export declare class TranslateService {
|
|
|
120
120
|
private readonly country;
|
|
121
121
|
readonly remoteAppId: import("@angular/core").WritableSignal<string | undefined>;
|
|
122
122
|
/**
|
|
123
|
-
* The mounted App's Default Language (store
|
|
123
|
+
* The mounted App's Default Language (store GLOSSARY.md): its keys load from
|
|
124
124
|
* this file when the App ships none for `lang` — library keys still follow
|
|
125
125
|
* `lang`.
|
|
126
126
|
*/
|
|
@@ -219,7 +219,7 @@ export declare class TranslateService {
|
|
|
219
219
|
export type HeldShelf = 'local' | 'session';
|
|
220
220
|
export declare class StorageService {
|
|
221
221
|
/**
|
|
222
|
-
* Write a HeldValue (
|
|
222
|
+
* Write a HeldValue (GLOSSARY.md HeldValue, ADR 0019). Always a JSON envelope,
|
|
223
223
|
* so a `string` holding `'3'` reads back a `string` and not the `3` that
|
|
224
224
|
* `getLocal` answers; `undefined` deletes the key rather than storing the
|
|
225
225
|
* word; and falsiness is never a reason to skip the write, so a `false`, a
|
|
@@ -256,7 +256,7 @@ export declare class DeviceService {
|
|
|
256
256
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
257
257
|
}
|
|
258
258
|
/**
|
|
259
|
-
* The language and country the visitor's browser declares (
|
|
259
|
+
* The language and country the visitor's browser declares (GLOSSARY.md
|
|
260
260
|
* Browser Locale). A hint that pre-fills and breaks ties, never an authority —
|
|
261
261
|
* callers clamp `language` to their own list, and `country` is null rather
|
|
262
262
|
* than guessed from the language (`en` is not `US`).
|
|
@@ -554,7 +554,7 @@ type SectionTableSortDirection = 'asc' | 'desc';
|
|
|
554
554
|
type SectionTableVariant = 'default' | 'zebra' | 'compact' | 'spacious' | 'border';
|
|
555
555
|
export declare const SECTION_TABLE_VARIANTS: readonly SectionTableVariant[];
|
|
556
556
|
/**
|
|
557
|
-
* One entry in a SectionTable's configured heading (
|
|
557
|
+
* One entry in a SectionTable's configured heading (GLOSSARY.md
|
|
558
558
|
* SectionTableColumn). The cells beneath it line up by position, so nothing
|
|
559
559
|
* here says how a cell renders — a cell renders what was put in it.
|
|
560
560
|
*/
|
|
@@ -573,7 +573,7 @@ type SectionTableColumn = {
|
|
|
573
573
|
dataType?: SectionTableDataType;
|
|
574
574
|
/** Freezes this column and every column before it to the left edge. */
|
|
575
575
|
freeze?: boolean;
|
|
576
|
-
/** Starts folded, with a toggle in its heading (
|
|
576
|
+
/** Starts folded, with a toggle in its heading (GLOSSARY.md Squeeze). */
|
|
577
577
|
squeeze?: boolean;
|
|
578
578
|
};
|
|
579
579
|
type SectionTableSort = {
|
|
@@ -761,7 +761,7 @@ export interface WebComponentConfig {
|
|
|
761
761
|
selectorConfig?: Partial<RemoteSelectorConfig>;
|
|
762
762
|
backend?: string;
|
|
763
763
|
/**
|
|
764
|
-
* Open App (store
|
|
764
|
+
* Open App (store GLOSSARY.md), stamped by the Store on the served config: a
|
|
765
765
|
* host draws it as its own — no menu node, logo or settings of its own.
|
|
766
766
|
*/
|
|
767
767
|
open?: boolean;
|
|
@@ -811,7 +811,7 @@ export interface NavStoreRef {
|
|
|
811
811
|
panelNavId?: Signal<string | undefined>;
|
|
812
812
|
/**
|
|
813
813
|
* `panelNavId` with any Browse left out — where the User stands rather than
|
|
814
|
-
* where they are looking (
|
|
814
|
+
* where they are looking (GLOSSARY.md Browse). What a row marks itself
|
|
815
815
|
* against, so the row they came through stays marked while they Browse.
|
|
816
816
|
* Optional: a host built before it existed provides none.
|
|
817
817
|
*/
|
|
@@ -840,14 +840,14 @@ export interface NavStoreRef {
|
|
|
840
840
|
}) => void;
|
|
841
841
|
/**
|
|
842
842
|
* Moves the open panel onto a Nav without moving the User — the Address and
|
|
843
|
-
* the Page stay put (
|
|
843
|
+
* the Page stay put (GLOSSARY.md Browse). `params` names the instance of a
|
|
844
844
|
* `dynamic` Nav. Optional: a host built before it existed provides none.
|
|
845
845
|
*/
|
|
846
846
|
browse?: (navId: string, params?: Record<string, string | number>) => void;
|
|
847
847
|
/**
|
|
848
848
|
* Follows a NavRef whose dynamic segments are keyed by the Nav contributing
|
|
849
849
|
* each one rather than by parameter name — what an emitted OutcomeNav calls
|
|
850
|
-
* (m-one-ui
|
|
850
|
+
* (m-one-ui GLOSSARY.md OutcomeNav). Optional: a host built before it existed
|
|
851
851
|
* provides none, and the gesture then does nothing rather than throwing.
|
|
852
852
|
*/
|
|
853
853
|
followNav?: (navId: string, byNav?: Record<string, string | number>, options?: {
|
|
@@ -1043,7 +1043,7 @@ export declare const APP_LINK: InjectionToken<WritableSignal<string | undefined>
|
|
|
1043
1043
|
/**
|
|
1044
1044
|
* The loading counter this application's requests move, ahead of the host's
|
|
1045
1045
|
* shared one. A Plugin provides its own so its requests never turn the host's
|
|
1046
|
-
* `busy` on (libs/one
|
|
1046
|
+
* `busy` on (libs/one GLOSSARY.md Plugin); unset, the host's counter is used.
|
|
1047
1047
|
*/
|
|
1048
1048
|
export declare const LOADING_ACTIONS_REF: InjectionToken<LoadingActionsApi>;
|
|
1049
1049
|
export declare const IS_SIDE_PANEL: InjectionToken<boolean>;
|
|
@@ -1211,6 +1211,27 @@ export declare function derivePropertyName(inputString: string, type: ColorPrope
|
|
|
1211
1211
|
export declare function setProperty(element: HTMLElement, key: string, value: string | null): void;
|
|
1212
1212
|
export declare function getProperty(element: HTMLElement, key: string): string;
|
|
1213
1213
|
export declare function classListSignal(element: Element): Signal<string[]>;
|
|
1214
|
+
/**
|
|
1215
|
+
* Which element in `node`'s own root holds the caret — the document for a node
|
|
1216
|
+
* in the light DOM, the nearest shadow root for a node inside one — or null when
|
|
1217
|
+
* nothing there does.
|
|
1218
|
+
*
|
|
1219
|
+
* `document.activeElement` is the wrong question for anything that may be
|
|
1220
|
+
* mounted in a shadow root, and every Screen of an app loaded under m-ui is: the
|
|
1221
|
+
* Web Component wrapper gives the app's root `ViewEncapsulation.ShadowDom`, so
|
|
1222
|
+
* the app renders in one. Asked from inside, the document answers with the
|
|
1223
|
+
* shadow **host** — an ancestor of whoever is asking — and `contains` does not
|
|
1224
|
+
* walk across the boundary, so `node.contains(document.activeElement)` reads
|
|
1225
|
+
* false however well `node` holds the focus. The Section's search bar, asking
|
|
1226
|
+
* the document whether its own freshly-focused input still holds the caret,
|
|
1227
|
+
* therefore closes itself on the very click that opened it: the toggle is
|
|
1228
|
+
* destroyed, the input mounts, the deferred check sees the host instead of the
|
|
1229
|
+
* input, and `close` is called.
|
|
1230
|
+
*
|
|
1231
|
+
* Null is the honest answer for "no caret has been placed here", which is what
|
|
1232
|
+
* a caller guarding against stealing one is asking.
|
|
1233
|
+
*/
|
|
1234
|
+
export declare function activeElementWithin(node: Node): Element | null;
|
|
1214
1235
|
export declare function getScrollParent(node: Node | null): HTMLElement | Window;
|
|
1215
1236
|
export declare function isJson(data: unknown): boolean;
|
|
1216
1237
|
export declare function getValue<T, K extends keyof T>(obj: T, key: K): T[K];
|
|
@@ -1370,7 +1391,7 @@ export declare const pickSupportedLanguage: (own: string | undefined, supported:
|
|
|
1370
1391
|
/**
|
|
1371
1392
|
* One loading counter and the actions that move it. The module's own is the
|
|
1372
1393
|
* app-wide one every Screen's `busy` reads; a Plugin makes another so its
|
|
1373
|
-
* requests never move it (libs/one
|
|
1394
|
+
* requests never move it (libs/one GLOSSARY.md Plugin).
|
|
1374
1395
|
*/
|
|
1375
1396
|
export declare function createLoadingState(): {
|
|
1376
1397
|
isLoading: import("@angular/core").Signal<boolean>;
|
|
@@ -1699,7 +1720,7 @@ export declare class MHeroColorDirective {
|
|
|
1699
1720
|
/**
|
|
1700
1721
|
* NavRef link. `mRef` names a target by NavId and nothing else — the NavKind on
|
|
1701
1722
|
* that node decides whether following it routes or opens a panel, so this
|
|
1702
|
-
* directive never chooses. See libs/one/
|
|
1723
|
+
* directive never chooses. See libs/one/GLOSSARY.md (NavRef) and ADR 0014.
|
|
1703
1724
|
*/
|
|
1704
1725
|
export declare class MRefDirective {
|
|
1705
1726
|
#private;
|
|
@@ -2100,7 +2121,7 @@ export interface PluginOutput {
|
|
|
2100
2121
|
export declare const PLUGIN_FALLBACK_LANG = "en";
|
|
2101
2122
|
export declare const PLUGIN_SCREENS: InjectionToken<ExposedScreens[]>;
|
|
2102
2123
|
/**
|
|
2103
|
-
* Offers Screens to other apps as Plugins (libs/one
|
|
2124
|
+
* Offers Screens to other apps as Plugins (libs/one GLOSSARY.md). Listed in the
|
|
2104
2125
|
* app's providers; its wc bundle defines one element per Screen at load,
|
|
2105
2126
|
* without booting the app's root.
|
|
2106
2127
|
*/
|
|
@@ -3934,7 +3955,7 @@ declare class BaseTextInputComponent<T extends Input = TextInput> extends BaseIn
|
|
|
3934
3955
|
/**
|
|
3935
3956
|
* What the results component's search input is called when nobody says
|
|
3936
3957
|
* otherwise — the name the design editor mints on a results Screen, spelled
|
|
3937
|
-
* here so a hand-written caller lands on the same word (
|
|
3958
|
+
* here so a hand-written caller lands on the same word (GLOSSARY.md
|
|
3938
3959
|
* SearchResultsScreen).
|
|
3939
3960
|
*/
|
|
3940
3961
|
declare const SEARCH_RESULT_INPUT = "search";
|
|
@@ -4217,7 +4238,7 @@ export declare class SectionFilterComponent {
|
|
|
4217
4238
|
/**
|
|
4218
4239
|
* How many numbers a `range` Filter picks: two by default, one under
|
|
4219
4240
|
* `single`, where its key carries that number rather than a pair
|
|
4220
|
-
* (
|
|
4241
|
+
* (GLOSSARY.md FilterRangeMode). Ignored by the option-picking variants.
|
|
4221
4242
|
*/
|
|
4222
4243
|
readonly mode: import("@angular/core").InputSignal<FilterRangeMode>;
|
|
4223
4244
|
/**
|
|
@@ -5143,7 +5164,7 @@ export declare const SECTION_ACCORDION_GROUP: InjectionToken<SectionAccordionGro
|
|
|
5143
5164
|
* its projected `m-section-header` (nothing renders, and the Section never
|
|
5144
5165
|
* collapses, if it has no header) and everything below the header collapses
|
|
5145
5166
|
* as one region. Ungrouped, starts open; inside an `mAccordionGroup`, only
|
|
5146
|
-
* the first-registered member starts open (
|
|
5167
|
+
* the first-registered member starts open (GLOSSARY.md SectionAccordion).
|
|
5147
5168
|
*/
|
|
5148
5169
|
export declare class SectionAccordionDirective implements SectionAccordionRef, OnInit, OnDestroy {
|
|
5149
5170
|
readonly mAccordion: import("@angular/core").InputSignal<string | Partial<SectionAccordion> | null | undefined>;
|
|
@@ -5512,7 +5533,7 @@ type SectionButtonGroupConfig = Config & {
|
|
|
5512
5533
|
* whatever Size the nearest Section put on the cascade, which is why its
|
|
5513
5534
|
* Buttons then land on that Section's input geometry with no sizing code here:
|
|
5514
5535
|
* both are 2.25x the Size.
|
|
5515
|
-
* See
|
|
5536
|
+
* See GLOSSARY.md `SectionButtonGroup` and ADR 0008, ADR 0009.
|
|
5516
5537
|
*/
|
|
5517
5538
|
export declare class SectionButtonGroupComponent extends ConfigComponent<SectionButtonGroupConfig> {
|
|
5518
5539
|
subFolder: "section_button_groups";
|
|
@@ -5558,7 +5579,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
|
|
|
5558
5579
|
}, {}, never, ["m-button, m-one-button", "*"], true, never>;
|
|
5559
5580
|
}
|
|
5560
5581
|
/**
|
|
5561
|
-
* The table composed from projected markup (
|
|
5582
|
+
* The table composed from projected markup (GLOSSARY.md SectionTable): the
|
|
5562
5583
|
* `<table>` and its configured heading are this component's, every row is
|
|
5563
5584
|
* projected. A row written inside an `@for` is drawn once per item, one outside
|
|
5564
5585
|
* it once — so a `<tr m-section-table-row>` is all the body ever holds, and
|
|
@@ -5635,7 +5656,7 @@ export declare class SectionTableComponent extends ConfigComponent<SectionTableC
|
|
|
5635
5656
|
}, never, ["*", "m-section-pagination"], true, never>;
|
|
5636
5657
|
}
|
|
5637
5658
|
/**
|
|
5638
|
-
* One `<tr>` of a SectionTable (
|
|
5659
|
+
* One `<tr>` of a SectionTable (GLOSSARY.md SectionTableRow). An attribute on a
|
|
5639
5660
|
* real `<tr>` rather than an element of its own: a component host between
|
|
5640
5661
|
* `<tbody>` and its cells breaks table layout. Repeated or static is decided by
|
|
5641
5662
|
* where it was written, never by a setting here.
|
|
@@ -5649,7 +5670,7 @@ export declare class SectionTableRowComponent {
|
|
|
5649
5670
|
}, never, ["*"], true, never>;
|
|
5650
5671
|
}
|
|
5651
5672
|
/**
|
|
5652
|
-
* One `<td>` of a SectionTableRow (
|
|
5673
|
+
* One `<td>` of a SectionTableRow (GLOSSARY.md SectionTableCell), holding any
|
|
5653
5674
|
* content. Answers to the column at its own position — its `cellIndex`, which
|
|
5654
5675
|
* only the DOM knows once the row is laid out — for alignment, Squeeze and
|
|
5655
5676
|
* freezing, and configures none of them itself.
|
|
@@ -5848,7 +5869,7 @@ type BoundConfig = Partial<Input> & {
|
|
|
5848
5869
|
* The panel a `range` Filter opens: a slider over the authored bounds, and the
|
|
5849
5870
|
* numeric boxes under it. Two thumbs and two boxes by default; one of each in
|
|
5850
5871
|
* `single` mode, where the Filter picks one number rather than a pair
|
|
5851
|
-
* (
|
|
5872
|
+
* (GLOSSARY.md FilterRangeMode). One panel for both, because the modes differ
|
|
5852
5873
|
* only in how many answers come back — the bounds and the fallbacks are the
|
|
5853
5874
|
* same authoring either way.
|
|
5854
5875
|
*
|
|
@@ -5876,7 +5897,7 @@ export declare class SectionFilterRangePanelComponent {
|
|
|
5876
5897
|
readonly value: import("@angular/core").InputSignal<readonly (string | number)[]>;
|
|
5877
5898
|
readonly min: import("@angular/core").InputSignal<number | undefined>;
|
|
5878
5899
|
readonly max: import("@angular/core").InputSignal<number | undefined>;
|
|
5879
|
-
/** One thumb or two. `range` by default (
|
|
5900
|
+
/** One thumb or two. `range` by default (GLOSSARY.md FilterRangeMode). */
|
|
5880
5901
|
readonly mode: import("@angular/core").InputSignal<FilterRangeMode>;
|
|
5881
5902
|
/** The Filter's own heading, already a TranslationAsset key. */
|
|
5882
5903
|
readonly label: import("@angular/core").InputSignal<string>;
|
|
@@ -6808,7 +6829,7 @@ type CheckboxGroupRow = {
|
|
|
6808
6829
|
readonly checkbox: Partial<Input>;
|
|
6809
6830
|
};
|
|
6810
6831
|
/**
|
|
6811
|
-
* The many-pick sibling of `m-radio-group` (
|
|
6832
|
+
* The many-pick sibling of `m-radio-group` (GLOSSARY.md CheckboxGroup). One
|
|
6812
6833
|
* `m-checkbox` per option, its value the picked options' values in option
|
|
6813
6834
|
* order. Options are bound, placed or named (ADR 0039, ADR 0041): bound or
|
|
6814
6835
|
* placed `options` win, and an OptionSet named by `optionsAsset` / `mOptions`
|
|
@@ -7474,7 +7495,7 @@ export declare function normalizeAssetOptions(data: AssetOption[] | AssetOption[
|
|
|
7474
7495
|
export declare function assetOptions(name?: () => string | undefined): Signal<DropdownOption[]>;
|
|
7475
7496
|
/**
|
|
7476
7497
|
* Starts a Field on its list's `default` row when it holds no value of its own
|
|
7477
|
-
* (m-one-ui
|
|
7498
|
+
* (m-one-ui GLOSSARY.md OptionSet). The Field's own value — its config, its form
|
|
7478
7499
|
* data — outranks the row, so a value already held is kept.
|
|
7479
7500
|
*
|
|
7480
7501
|
* Each marked row is consulted once: a User who clears the pick is not handed
|
|
@@ -7887,7 +7908,7 @@ declare const fileMatchesAccept: (file: Pick<File, "name" | "type">, accept: rea
|
|
|
7887
7908
|
/**
|
|
7888
7909
|
* Splits picked or dropped files into the ones the Field keeps and the ones it
|
|
7889
7910
|
* reports. A drop never passes the native picker, so this is where `accept` and
|
|
7890
|
-
* `maxSize` are enforced rather than merely suggested (
|
|
7911
|
+
* `maxSize` are enforced rather than merely suggested (GLOSSARY.md DropZone).
|
|
7891
7912
|
*/
|
|
7892
7913
|
declare const screenFiles: (files: readonly File[], accept: readonly string[], maxSize: number | undefined) => FileScreen;
|
|
7893
7914
|
/** Appends `incoming` to `current`, skipping a file already held. */
|
|
@@ -8101,7 +8122,7 @@ export declare class ListComponent extends ConfigComponent<ListConfig> {
|
|
|
8101
8122
|
* row authored in the asset reaches the template the way a mapped one does:
|
|
8102
8123
|
* an authored `ListItem` carries no `row` of its own, and a body reading
|
|
8103
8124
|
* `undefined` would make the static source unusable to anything but a bare
|
|
8104
|
-
* label (m-one-ui
|
|
8125
|
+
* label (m-one-ui GLOSSARY.md ListControl).
|
|
8105
8126
|
*/
|
|
8106
8127
|
protected readonly rowContext: (item: ListItem, index: number, first: boolean, last: boolean) => ListContext;
|
|
8107
8128
|
static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
|
|
@@ -8973,7 +8994,7 @@ export declare class SectionFormItemComponent extends ConfigComponent<Input> imp
|
|
|
8973
8994
|
}, ["projectedTemplate", "placedCheckboxes"], never, true, never>;
|
|
8974
8995
|
}
|
|
8975
8996
|
/**
|
|
8976
|
-
* Names the AssetOptions list a Field chooses from (
|
|
8997
|
+
* Names the AssetOptions list a Field chooses from (GLOSSARY.md OptionsSource).
|
|
8977
8998
|
* The markup spelling of the `optionsAsset:` config key, added beside it rather
|
|
8978
8999
|
* than in place of it (ADR 0010) — a Field still described by a file keeps
|
|
8979
9000
|
* declaring the key inside that file.
|
|
@@ -10236,7 +10257,7 @@ export declare class RemoteComponent implements OnDestroy {
|
|
|
10236
10257
|
*/
|
|
10237
10258
|
export type PluginSource = 'local' | 'beta' | 'published';
|
|
10238
10259
|
/**
|
|
10239
|
-
* Mounts another app's Exposed Screen as a Plugin (libs/one
|
|
10260
|
+
* Mounts another app's Exposed Screen as a Plugin (libs/one GLOSSARY.md): an
|
|
10240
10261
|
* AppLink, the Screen's name, a value per input and one `output` event per
|
|
10241
10262
|
* output the Screen emits. Never a whole app and never an address — that is
|
|
10242
10263
|
* `m-remote`.
|
|
@@ -12000,7 +12021,7 @@ type StatAlign = 'left' | 'center' | 'right';
|
|
|
12000
12021
|
type StatSurface = 'plain' | 'card' | 'shadow' | 'glow' | 'gradient';
|
|
12001
12022
|
/**
|
|
12002
12023
|
* A KeyValue with a corner mark: a label, a large value, and a small secondary
|
|
12003
|
-
* value set against the value itself (
|
|
12024
|
+
* value set against the value itself (GLOSSARY.md Stat).
|
|
12004
12025
|
*
|
|
12005
12026
|
* The label is an attribute because a name is a string either way — a
|
|
12006
12027
|
* TranslationAsset key, or a row's own text under `noTranslate` (ADR 0022);
|
|
@@ -12245,7 +12266,7 @@ export type PanelOverlayConfig = Config & {
|
|
|
12245
12266
|
};
|
|
12246
12267
|
/**
|
|
12247
12268
|
* What a store hands `ModalStore.openScreen` — the programmatic counterpart of
|
|
12248
|
-
* `mModal` / `mSidePanel` (
|
|
12269
|
+
* `mModal` / `mSidePanel` (GLOSSARY.md OverlayTrigger).
|
|
12249
12270
|
*
|
|
12250
12271
|
* One shape for both overlays rather than two: `as` says which, and the caller
|
|
12251
12272
|
* is one generated `tap` that has already drawn the answer. A directive resolves
|
|
@@ -12686,7 +12707,7 @@ export type BreadcrumbTrail = {
|
|
|
12686
12707
|
/**
|
|
12687
12708
|
* NavRef — names the target by NavId only. The NavKind on the target decides
|
|
12688
12709
|
* whether following it routes or opens a panel, so a link can never pick the
|
|
12689
|
-
* wrong kind. See libs/one/
|
|
12710
|
+
* wrong kind. See libs/one/GLOSSARY.md (NavRef) and ADR 0014.
|
|
12690
12711
|
*/
|
|
12691
12712
|
nav?: string;
|
|
12692
12713
|
/**
|
|
@@ -12703,7 +12724,7 @@ export type BreadcrumbTrail = {
|
|
|
12703
12724
|
href?: string;
|
|
12704
12725
|
/**
|
|
12705
12726
|
* A menu row whose Nav would draw rows of its own: it carries a chevron that
|
|
12706
|
-
* Browses into it while the row itself follows it (
|
|
12727
|
+
* Browses into it while the row itself follows it (GLOSSARY.md Browse).
|
|
12707
12728
|
*/
|
|
12708
12729
|
browsable?: boolean;
|
|
12709
12730
|
};
|
|
@@ -12712,7 +12733,7 @@ export type BreadCrumb = {
|
|
|
12712
12733
|
header: BreadcrumbTrail;
|
|
12713
12734
|
};
|
|
12714
12735
|
/**
|
|
12715
|
-
* Nav model — see libs/one/
|
|
12736
|
+
* Nav model — see libs/one/GLOSSARY.md (NavId, NavKind, Address, Anchor, NavRef)
|
|
12716
12737
|
* and docs/adr/0014.
|
|
12717
12738
|
*/
|
|
12718
12739
|
/** How a Nav is reached. A property of the node, never of the link. */
|
|
@@ -12741,7 +12762,7 @@ export type Nav = {
|
|
|
12741
12762
|
*/
|
|
12742
12763
|
param?: string;
|
|
12743
12764
|
/**
|
|
12744
|
-
* A NavTail's parameter name (m-one-ui
|
|
12765
|
+
* A NavTail's parameter name (m-one-ui GLOSSARY.md NavTail): every segment
|
|
12745
12766
|
* below the Nav's own path is one value under this name, separators kept —
|
|
12746
12767
|
* `code/<path>` with `path` = `src/app/x.ts`. Routed by `navTailMatcher`.
|
|
12747
12768
|
*/
|
|
@@ -12755,7 +12776,7 @@ export type Nav = {
|
|
|
12755
12776
|
seeded?: boolean;
|
|
12756
12777
|
};
|
|
12757
12778
|
/**
|
|
12758
|
-
* One row a `dynamic` Nav resolves to at runtime (
|
|
12779
|
+
* One row a `dynamic` Nav resolves to at runtime (GLOSSARY.md NavRow).
|
|
12759
12780
|
*
|
|
12760
12781
|
* `value` is the [NavParam] value and never a NavId — a NavRef names a node
|
|
12761
12782
|
* and the instance rides alongside as params, so a row can never disagree with
|
|
@@ -12830,7 +12851,7 @@ interface NavMenuConfig {
|
|
|
12830
12851
|
}
|
|
12831
12852
|
/**
|
|
12832
12853
|
* What a `dynamic` Nav registers instead of a panel: the rows it resolves at
|
|
12833
|
-
* runtime (
|
|
12854
|
+
* runtime (GLOSSARY.md NavRowSource). Registered under the dynamic Nav's own
|
|
12834
12855
|
* NavId, but drawn in *its parent's* panel — the rows are spliced where its
|
|
12835
12856
|
* own row stood, the transparency a Default Nav already has, because a row
|
|
12836
12857
|
* labelled `with-category` names nothing a User recognises.
|
|
@@ -12870,7 +12891,7 @@ interface NavRowsConfig {
|
|
|
12870
12891
|
/**
|
|
12871
12892
|
* What a `dynamic` Nav registers to answer *which instance the User is standing
|
|
12872
12893
|
* on*, as against `NavRowsConfig`, which answers *where they may go*
|
|
12873
|
-
* (
|
|
12894
|
+
* (GLOSSARY.md NavInstanceSource, ADR 0030). Registered under the dynamic Nav's
|
|
12874
12895
|
* own NavId, and read by the trail and the panel header rather than by any
|
|
12875
12896
|
* menu: a row list is a menu answer, and one deep link into `/app/:id/about`
|
|
12876
12897
|
* needs a name for `:id` whether or not a menu of every app would even be
|
|
@@ -12900,7 +12921,7 @@ interface NavInstanceConfig {
|
|
|
12900
12921
|
navInstanceLoad?: (params: Record<string, string>) => void;
|
|
12901
12922
|
}
|
|
12902
12923
|
/**
|
|
12903
|
-
* What a gate answers (m-one-ui
|
|
12924
|
+
* What a gate answers (m-one-ui GLOSSARY.md NavVisibilitySource).
|
|
12904
12925
|
*
|
|
12905
12926
|
* **Three states, and one of them is a promise.** `true` / `false` are the
|
|
12906
12927
|
* answer; `undefined` is *not answerable yet* — the state the gate reads has
|
|
@@ -12915,7 +12936,7 @@ interface NavInstanceConfig {
|
|
|
12915
12936
|
*/
|
|
12916
12937
|
type NavVisibleAnswer = boolean | undefined | Promise<boolean>;
|
|
12917
12938
|
/**
|
|
12918
|
-
* Whether one Nav is shown and reachable at all (m-one-ui
|
|
12939
|
+
* Whether one Nav is shown and reachable at all (m-one-ui GLOSSARY.md
|
|
12919
12940
|
* NavVisibilitySource). Registered under that Nav's own NavId beside whatever
|
|
12920
12941
|
* else it registers — the configs are not exclusive, which is why every guard
|
|
12921
12942
|
* here tests for its own key rather than for the absence of another's.
|
|
@@ -12938,7 +12959,7 @@ interface NavVisibilityConfig {
|
|
|
12938
12959
|
navVisible: (params: Record<string, string>) => NavVisibleAnswer;
|
|
12939
12960
|
/**
|
|
12940
12961
|
* Fired before the gate is believed, so a gate reading state the store does
|
|
12941
|
-
* not hold yet has something filling it (m-one-ui
|
|
12962
|
+
* not hold yet has something filling it (m-one-ui GLOSSARY.md
|
|
12942
12963
|
* NavVisibilitySource).
|
|
12943
12964
|
*
|
|
12944
12965
|
* This is what makes *is this app's uid the signed-in user* answerable on a
|
|
@@ -13329,19 +13350,19 @@ interface NavState {
|
|
|
13329
13350
|
navOpenedByUser: boolean;
|
|
13330
13351
|
/**
|
|
13331
13352
|
* The Nav a Browse moved the panel onto — up, down or sideways — while the
|
|
13332
|
-
* Address, and the Page, stay put (
|
|
13353
|
+
* Address, and the Page, stay put (GLOSSARY.md Browse).
|
|
13333
13354
|
*/
|
|
13334
13355
|
menuNavId: string | undefined;
|
|
13335
13356
|
/**
|
|
13336
13357
|
* The instances the Browse names — a `dynamic` Nav is a node, and which book
|
|
13337
|
-
* the User is looking into is data (
|
|
13358
|
+
* the User is looking into is data (GLOSSARY.md Browse). Read only while
|
|
13338
13359
|
* `menuNavId` is set.
|
|
13339
13360
|
*/
|
|
13340
13361
|
menuParams: Record<string, string | number> | undefined;
|
|
13341
13362
|
/**
|
|
13342
13363
|
* The app whose menu an App Rail AppLogo Browsed onto, and the slot it held
|
|
13343
13364
|
* then. That Browse belongs to the app: it survives an Address change that
|
|
13344
|
-
* only moved the app to another slot (
|
|
13365
|
+
* only moved the app to another slot (GLOSSARY.md Browse).
|
|
13345
13366
|
*/
|
|
13346
13367
|
browsedApp: {
|
|
13347
13368
|
name: string;
|
|
@@ -13676,7 +13697,7 @@ export declare class MurlUrlSerializer implements UrlSerializer {
|
|
|
13676
13697
|
}
|
|
13677
13698
|
export declare const provideMurlUrlSerializer: () => Provider;
|
|
13678
13699
|
/**
|
|
13679
|
-
* NavId <-> Address. See libs/one/
|
|
13700
|
+
* NavId <-> Address. See libs/one/GLOSSARY.md and docs/adr/0014.
|
|
13680
13701
|
*
|
|
13681
13702
|
* A NavId is the full path joined with `_`, always rooted: `root`,
|
|
13682
13703
|
* `root_settings_user`. It is separator-blind — the `/` vs `|` of an Address
|
|
@@ -13741,7 +13762,7 @@ declare const fillParams: (path: string, params?: Record<string, string | number
|
|
|
13741
13762
|
/**
|
|
13742
13763
|
* A Url NavId's route path with its params filled — and, for a NavTail, the
|
|
13743
13764
|
* rest appended as its tail value names it, separators kept, since the tail is
|
|
13744
|
-
* every segment below the Nav and not one (m-one-ui
|
|
13765
|
+
* every segment below the Nav and not one (m-one-ui GLOSSARY.md NavTail). No
|
|
13745
13766
|
* tail value is no rest: the Nav's own address.
|
|
13746
13767
|
*/
|
|
13747
13768
|
declare const fillRoutePath: (navId: string, navMap: NavMap, params?: Record<string, string | number>) => string;
|
|
@@ -13766,7 +13787,7 @@ export declare const toHostNavId: (localNavId: string, hostNavId: string) => str
|
|
|
13766
13787
|
export declare const toLocalNavId: (hostScopedNavId: string, hostNavId: string) => string | undefined;
|
|
13767
13788
|
export declare const navVisibilityGuard: CanActivateFn;
|
|
13768
13789
|
/**
|
|
13769
|
-
* The route a NavTail emits (m-one-ui
|
|
13790
|
+
* The route a NavTail emits (m-one-ui GLOSSARY.md NavTail): its own prefix, then
|
|
13770
13791
|
* every segment below it joined into one `name` parameter. Angular's `**`
|
|
13771
13792
|
* binds to no input, which is why this is a matcher and not a path. A `:x`
|
|
13772
13793
|
* segment of the prefix is filled the way a path would fill it.
|
|
@@ -13793,7 +13814,7 @@ export declare class NavComponent {
|
|
|
13793
13814
|
app: undefined;
|
|
13794
13815
|
} | undefined>;
|
|
13795
13816
|
/**
|
|
13796
|
-
* The App Rail below the AppLogo (
|
|
13817
|
+
* The App Rail below the AppLogo (GLOSSARY.md App Rail): the Main Slot's App,
|
|
13797
13818
|
* standing where the apps button would, then each Side App. Selecting one
|
|
13798
13819
|
* opens the panel on that app's menu; the open panel rings whose menu it is.
|
|
13799
13820
|
*/
|
|
@@ -14038,7 +14059,7 @@ export declare class NavTrailComponent {
|
|
|
14038
14059
|
constructor();
|
|
14039
14060
|
/**
|
|
14040
14061
|
* Moves the panel onto the entry's Nav and leaves the Address, and the Page
|
|
14041
|
-
* behind the panel, where they are (
|
|
14062
|
+
* behind the panel, where they are (GLOSSARY.md Browse).
|
|
14042
14063
|
*/
|
|
14043
14064
|
protected browse: (navId: string, params?: Record<string, string | number>) => void;
|
|
14044
14065
|
protected onOverflow(item: MenuItem): void;
|
|
@@ -14064,7 +14085,7 @@ export declare class NavMenuComponent {
|
|
|
14064
14085
|
filterBySearch: import("@angular/core").InputSignal<boolean>;
|
|
14065
14086
|
size: typeof Size;
|
|
14066
14087
|
navList: import("@angular/core").Signal<BreadcrumbTrail[] | undefined>;
|
|
14067
|
-
/** Looks inside the row's Nav without following it (
|
|
14088
|
+
/** Looks inside the row's Nav without following it (GLOSSARY.md Browse). */
|
|
14068
14089
|
browse: (item: BreadcrumbTrail) => void;
|
|
14069
14090
|
rows: import("@angular/core").Signal<ListItem[]>;
|
|
14070
14091
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavMenuComponent, never>;
|
|
@@ -14421,7 +14442,7 @@ export declare class NotificationService {
|
|
|
14421
14442
|
/**
|
|
14422
14443
|
* Browser clipboard writes a gesture may fire. Takes one object so a designed
|
|
14423
14444
|
* Screen's call site builds it the way it builds every GlobalMethod's
|
|
14424
|
-
* (
|
|
14445
|
+
* (GLOSSARY.md GlobalMethod), and reports the outcome itself — a template call
|
|
14425
14446
|
* has nowhere to await the write.
|
|
14426
14447
|
*/
|
|
14427
14448
|
export declare class ClipboardService {
|
|
@@ -16009,4 +16030,214 @@ interface AuthResult {
|
|
|
16009
16030
|
tokens: SharedToken;
|
|
16010
16031
|
}
|
|
16011
16032
|
export declare function injectAuthenticate(): () => Promise<AuthResult>;
|
|
16012
|
-
|
|
16033
|
+
/** Who may see a Source — the four Audience Levels of the Sharing context. */
|
|
16034
|
+
type AudienceLevel = 'public' | 'private' | 'with' | 'without';
|
|
16035
|
+
export declare const AUDIENCE_LEVELS: readonly AudienceLevel[];
|
|
16036
|
+
/**
|
|
16037
|
+
* One Source's Audience as the picker edits it. `uids` and `groupIds` only
|
|
16038
|
+
* mean something for `with` (who is let in) and `without` (who is kept out).
|
|
16039
|
+
*/
|
|
16040
|
+
interface Audience {
|
|
16041
|
+
level: AudienceLevel;
|
|
16042
|
+
uids: string[];
|
|
16043
|
+
groupIds: string[];
|
|
16044
|
+
}
|
|
16045
|
+
type GroupKind = 'friends' | 'followers' | 'custom';
|
|
16046
|
+
/** A named list of Users one Owner keeps for their own Audiences. */
|
|
16047
|
+
interface SharingGroup {
|
|
16048
|
+
id: string;
|
|
16049
|
+
kind: GroupKind;
|
|
16050
|
+
name: string;
|
|
16051
|
+
members: string[];
|
|
16052
|
+
}
|
|
16053
|
+
/** The slice of a User the picker draws: enough to name them. */
|
|
16054
|
+
interface AudienceMember {
|
|
16055
|
+
id: string;
|
|
16056
|
+
firstName?: string;
|
|
16057
|
+
lastName?: string;
|
|
16058
|
+
username?: string;
|
|
16059
|
+
}
|
|
16060
|
+
/** A Source's stored Audience and whether its context Locked it. */
|
|
16061
|
+
interface SourceAudience {
|
|
16062
|
+
audience: Audience;
|
|
16063
|
+
locked: boolean;
|
|
16064
|
+
}
|
|
16065
|
+
/**
|
|
16066
|
+
* The picker's config bag (`audience_picker/<name>.yml`). Scalars ride the tag
|
|
16067
|
+
* (ADR 0010); the asset holds the one list — which Audience Levels to offer.
|
|
16068
|
+
*/
|
|
16069
|
+
type AudiencePicker = Config & {
|
|
16070
|
+
levels?: AudienceLevel[];
|
|
16071
|
+
labelled?: boolean;
|
|
16072
|
+
align?: 'left' | 'right';
|
|
16073
|
+
width?: string;
|
|
16074
|
+
};
|
|
16075
|
+
/**
|
|
16076
|
+
* Everything the Audience picker reads or writes. A token rather than a
|
|
16077
|
+
* concrete service so a host can stand a stub in while the Sharing api does
|
|
16078
|
+
* not answer yet, or route the calls through its own store.
|
|
16079
|
+
*/
|
|
16080
|
+
interface SharingClient {
|
|
16081
|
+
/** The caller's own Groups. */
|
|
16082
|
+
groups(): Observable<SharingGroup[]>;
|
|
16083
|
+
/** Users whose first or last name starts with every word of `q`. */
|
|
16084
|
+
searchUsers(q: string): Observable<AudienceMember[]>;
|
|
16085
|
+
/** Names for Users already picked, so a chip reads as a person, not an id. */
|
|
16086
|
+
users(ids: string[]): Observable<AudienceMember[]>;
|
|
16087
|
+
/** A Source's stored Audience. */
|
|
16088
|
+
audience(source: string): Observable<SourceAudience>;
|
|
16089
|
+
/** Replaces an existing Source's Audience; the Owner only, never Locked. */
|
|
16090
|
+
saveAudience(source: string, audience: Audience): Observable<SourceAudience>;
|
|
16091
|
+
}
|
|
16092
|
+
export declare class HttpSharingClient implements SharingClient {
|
|
16093
|
+
private readonly http;
|
|
16094
|
+
groups: () => Observable<SharingGroup[]>;
|
|
16095
|
+
searchUsers: (q: string) => Observable<AudienceMember[]>;
|
|
16096
|
+
users: (ids: string[]) => Observable<AudienceMember[]>;
|
|
16097
|
+
audience: (source: string) => Observable<SourceAudience>;
|
|
16098
|
+
saveAudience: (source: string, audience: Audience) => Observable<SourceAudience>;
|
|
16099
|
+
}
|
|
16100
|
+
export declare const SHARING_CLIENT: InjectionToken<SharingClient>;
|
|
16101
|
+
/**
|
|
16102
|
+
* The popover an Audience picker opens: the Audience Levels on offer, then —
|
|
16103
|
+
* for `with` / `without` — the caller's Groups and a people search. Emits
|
|
16104
|
+
* every change at once; the picker decides whether it is kept or saved.
|
|
16105
|
+
*/
|
|
16106
|
+
export declare class AudiencePickerBoxComponent {
|
|
16107
|
+
readonly audience: import("@angular/core").InputSignal<Audience>;
|
|
16108
|
+
readonly levels: import("@angular/core").InputSignal<readonly AudienceLevel[]>;
|
|
16109
|
+
readonly locked: import("@angular/core").InputSignal<boolean>;
|
|
16110
|
+
readonly client: import("@angular/core").InputSignal<SharingClient>;
|
|
16111
|
+
readonly changed: import("@angular/core").OutputEmitterRef<Audience>;
|
|
16112
|
+
readonly done: import("@angular/core").OutputEmitterRef<void>;
|
|
16113
|
+
private readonly i18n;
|
|
16114
|
+
protected readonly query: import("@angular/core").WritableSignal<string>;
|
|
16115
|
+
private readonly known;
|
|
16116
|
+
protected readonly icons: Record<AudienceLevel, string>;
|
|
16117
|
+
protected readonly picksMembers: import("@angular/core").Signal<boolean>;
|
|
16118
|
+
private readonly groupsResource;
|
|
16119
|
+
protected readonly groups: import("@angular/core").Signal<import("@magmonium/one").SharingGroup[]>;
|
|
16120
|
+
private readonly searchResource;
|
|
16121
|
+
protected readonly results: import("@angular/core").Signal<AudienceMember[]>;
|
|
16122
|
+
protected readonly searchConfig: import("@angular/core").Signal<Partial<TextInput>>;
|
|
16123
|
+
constructor();
|
|
16124
|
+
protected readonly name: (id: string) => string;
|
|
16125
|
+
protected readonly isPicked: (id: string) => boolean;
|
|
16126
|
+
protected readonly hasGroup: (id: string) => boolean;
|
|
16127
|
+
protected readonly setLevel: (level: AudienceLevel) => void;
|
|
16128
|
+
protected readonly flipUser: (uid: string) => void;
|
|
16129
|
+
protected readonly flipGroup: (groupId: string) => void;
|
|
16130
|
+
private readonly remember;
|
|
16131
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AudiencePickerBoxComponent, never>;
|
|
16132
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AudiencePickerBoxComponent, "m-audience-picker-box", never, {
|
|
16133
|
+
"audience": {
|
|
16134
|
+
"alias": "audience";
|
|
16135
|
+
"required": false;
|
|
16136
|
+
"isSignal": true;
|
|
16137
|
+
};
|
|
16138
|
+
"levels": {
|
|
16139
|
+
"alias": "levels";
|
|
16140
|
+
"required": false;
|
|
16141
|
+
"isSignal": true;
|
|
16142
|
+
};
|
|
16143
|
+
"locked": {
|
|
16144
|
+
"alias": "locked";
|
|
16145
|
+
"required": false;
|
|
16146
|
+
"isSignal": true;
|
|
16147
|
+
};
|
|
16148
|
+
"client": {
|
|
16149
|
+
"alias": "client";
|
|
16150
|
+
"required": true;
|
|
16151
|
+
"isSignal": true;
|
|
16152
|
+
};
|
|
16153
|
+
}, {
|
|
16154
|
+
"changed": "changed";
|
|
16155
|
+
"done": "done";
|
|
16156
|
+
}, never, never, true, never>;
|
|
16157
|
+
}
|
|
16158
|
+
/**
|
|
16159
|
+
* Who may see a thing, picked from one icon — the context-menu gesture: the
|
|
16160
|
+
* trigger draws the current Audience Level, a click opens the levels, Groups
|
|
16161
|
+
* and people beside it.
|
|
16162
|
+
*
|
|
16163
|
+
* Controlled: `[(audience)]` — the host keeps the value and sends it with its
|
|
16164
|
+
* own save (a thing being created has no Audience to edit yet).
|
|
16165
|
+
* Bound: `source="<id>"` — the picker loads and saves that Source's Audience
|
|
16166
|
+
* itself, and a Locked one opens read-only.
|
|
16167
|
+
*/
|
|
16168
|
+
export declare class AudiencePickerComponent extends ConfigComponent<AudiencePicker> {
|
|
16169
|
+
readonly audience: import("@angular/core").ModelSignal<Audience | undefined>;
|
|
16170
|
+
readonly source: import("@angular/core").InputSignal<string | undefined>;
|
|
16171
|
+
readonly locked: import("@angular/core").InputSignal<boolean>;
|
|
16172
|
+
readonly labelled: import("@angular/core").InputSignal<boolean | undefined>;
|
|
16173
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
16174
|
+
readonly align: import("@angular/core").InputSignal<"left" | "right" | undefined>;
|
|
16175
|
+
protected readonly subFolder = "audience_picker";
|
|
16176
|
+
protected readonly open: import("@angular/core").WritableSignal<boolean>;
|
|
16177
|
+
private readonly client;
|
|
16178
|
+
private readonly i18n;
|
|
16179
|
+
private readonly selectorDir;
|
|
16180
|
+
private readonly sourceLocked;
|
|
16181
|
+
private readonly pickerConfig;
|
|
16182
|
+
protected readonly current: import("@angular/core").Signal<Audience>;
|
|
16183
|
+
protected readonly levels: import("@angular/core").Signal<readonly AudienceLevel[]>;
|
|
16184
|
+
protected readonly isLocked: import("@angular/core").Signal<boolean>;
|
|
16185
|
+
private readonly stored;
|
|
16186
|
+
protected readonly summary: import("@angular/core").Signal<string>;
|
|
16187
|
+
protected readonly triggerConfig: import("@angular/core").Signal<Partial<Button>>;
|
|
16188
|
+
protected readonly selectorConfig: import("@angular/core").Signal<SelectorConfig<AudiencePickerBoxComponent> | undefined>;
|
|
16189
|
+
constructor();
|
|
16190
|
+
private readonly apply;
|
|
16191
|
+
private readonly levelTitle;
|
|
16192
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AudiencePickerComponent, never>;
|
|
16193
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AudiencePickerComponent, "m-audience-picker, m-one-audience-picker", never, {
|
|
16194
|
+
"audience": {
|
|
16195
|
+
"alias": "audience";
|
|
16196
|
+
"required": false;
|
|
16197
|
+
"isSignal": true;
|
|
16198
|
+
};
|
|
16199
|
+
"source": {
|
|
16200
|
+
"alias": "source";
|
|
16201
|
+
"required": false;
|
|
16202
|
+
"isSignal": true;
|
|
16203
|
+
};
|
|
16204
|
+
"locked": {
|
|
16205
|
+
"alias": "locked";
|
|
16206
|
+
"required": false;
|
|
16207
|
+
"isSignal": true;
|
|
16208
|
+
};
|
|
16209
|
+
"labelled": {
|
|
16210
|
+
"alias": "labelled";
|
|
16211
|
+
"required": false;
|
|
16212
|
+
"isSignal": true;
|
|
16213
|
+
};
|
|
16214
|
+
"disabled": {
|
|
16215
|
+
"alias": "disabled";
|
|
16216
|
+
"required": false;
|
|
16217
|
+
"isSignal": true;
|
|
16218
|
+
};
|
|
16219
|
+
"align": {
|
|
16220
|
+
"alias": "align";
|
|
16221
|
+
"required": false;
|
|
16222
|
+
"isSignal": true;
|
|
16223
|
+
};
|
|
16224
|
+
}, {
|
|
16225
|
+
"audience": "audienceChange";
|
|
16226
|
+
}, never, never, true, never>;
|
|
16227
|
+
}
|
|
16228
|
+
/** Deny by default: an Audience nobody has chosen yet is the Owner's alone. */
|
|
16229
|
+
export declare const DEFAULT_AUDIENCE: Audience;
|
|
16230
|
+
export declare const AUDIENCE_ICONS: Record<AudienceLevel, string>;
|
|
16231
|
+
/** Whether a level is followed by a pick of Users and Groups. */
|
|
16232
|
+
export declare const picksMembers: (level: AudienceLevel) => boolean;
|
|
16233
|
+
/**
|
|
16234
|
+
* Moves an Audience to `level`. A level that picks nobody drops the picks,
|
|
16235
|
+
* so a stored `public` never carries a stale list; switching between `with`
|
|
16236
|
+
* and `without` keeps them, since the same people are usually meant.
|
|
16237
|
+
*/
|
|
16238
|
+
export declare const withLevel: (audience: Audience, level: AudienceLevel) => Audience;
|
|
16239
|
+
export declare const toggleUid: (audience: Audience, uid: string) => Audience;
|
|
16240
|
+
export declare const toggleGroup: (audience: Audience, groupId: string) => Audience;
|
|
16241
|
+
/** How many Users and Groups an Audience names. */
|
|
16242
|
+
export declare const pickCount: (audience: Audience) => number;
|
|
16243
|
+
export type { Accordion, AccordionGroup, AccordionVariant, AppCardData, AppCardInputs, AppCardVariant, AppManifest, AppTileData, AssetOption, Audience, AudienceLevel, AudienceMember, AudiencePicker, AuthResult, Badge, BadgePosition, BadgeVariant, Button, ButtonGroup, CellChangeEvent, CellClickEvent, ColBreakpoint, ColSpan, ColorPallet, ColumnDef, Comment, CommentItem, Config, ContextMenu, ContextMenuEvent, Cursor, CustomIcon, DragListReorder, Draggable, DraggableState, FileUploadConfig, FileUploadEvent, FilterGroupContext, FilterGroupMember, FilterOption, FilterPanel, FilterPanelIo, FilterRangeMode, FilterSelectionMap, FilterValue, FilterVariant, FilteredTreeGrid, FlatTreeGridRow, FlexAlign, FlexAlignSelf, FlexConfig, FlexDirection, FlexItemConfig, FlexJustify, FlexVariant, GridAlignX, GridAlignY, GroupKind, Header, HeaderLevel, Icon, KeyValueVariant, LabelSegment, ListConfig, ListContext, ListItem, ListOrientation, ListVariant, MenuItem, MoneySystem, NavInstanceConfig, NavMenuConfig, NavRowsConfig, NavVisibilityConfig, NavVisibleAnswer, NavWidgetConfig, NavWidgetEntry, NavWidgetMap, OverlayWidgetLoader, OverlayWidgetMap, PageChangeEvent, Pagination, PaginationWindow, ResolvedUserTab, SearchChangeEvent, SectionAccordion, SectionAccordionGroup, SectionAccordionGroupContext, SectionAccordionRef, SectionButtonGroupConfig, SectionFilterGroupConfig, SectionHero, SectionHeroVariant, SectionTableAlign, SectionTableColumn, SectionTableConfig, SectionTableDataType, SectionTableSort, SectionTableSortDirection, SectionTableVariant, SectionToggleItem, SectionToggleItemContext, SelectionAction, SelectionActionEvent, SelectionChangeEvent, SelectorConfig, SharingClient, SharingGroup, SocketMessage, Sort, SortChange, SortChangeEvent, SortOption, SortOrder, SourceAudience, SpacingInward, SqueezeMode, StatAlign, StatCornerEdge, StatCornerPosition, StatCornerSide, StatSurface, StatVariant, TabGroup, TableConfig, TableFilterCondition, TableFilterDef, TextOrNumberInput, Timeline, TimelineItem, TreeGridCellClickEvent, TreeGridLoadChildrenEvent, TreeGridRow, TreeGridRowSelectEvent, TreeGridToggleEvent, User };
|