@magmonium/one 0.4.33 → 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 +671 -43
- package/fesm2022/magmonium-one.mjs.map +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +292 -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;
|
|
@@ -1911,6 +1932,8 @@ export declare abstract class BaseRootWebComponent extends BaseWebComponent {
|
|
|
1911
1932
|
private readonly navWidgetMaps;
|
|
1912
1933
|
private readonly appBaseHref;
|
|
1913
1934
|
private readonly location;
|
|
1935
|
+
private readonly locationStrategy;
|
|
1936
|
+
private readonly platformLocation;
|
|
1914
1937
|
private readonly injector;
|
|
1915
1938
|
private readonly wcComponents;
|
|
1916
1939
|
private readonly defaultNavId;
|
|
@@ -2071,6 +2094,13 @@ export interface MountMatch {
|
|
|
2071
2094
|
base: string;
|
|
2072
2095
|
}
|
|
2073
2096
|
export declare const mountPatternProblem: (pattern: MountPattern) => MountPatternProblem | undefined;
|
|
2097
|
+
/**
|
|
2098
|
+
* A match's `base` as the page address holds it. A pattern is matched against
|
|
2099
|
+
* the Router it is drawn in, and an app mounted in a host reads its paths below
|
|
2100
|
+
* that host's base: the Store App's test page at `/store/<id>/manage/test`
|
|
2101
|
+
* matches `/<id>/manage/test`, and the beta under it stands at the full path.
|
|
2102
|
+
*/
|
|
2103
|
+
export declare const baseUnderHost: (hostBase: string | undefined, base: string) => string;
|
|
2074
2104
|
/**
|
|
2075
2105
|
* Where the host's primary path stands against a pattern — `null` when it does
|
|
2076
2106
|
* not reach the `navUrl`, so a Remote never reads a navUrl off a stranger's URL.
|
|
@@ -2091,7 +2121,7 @@ export interface PluginOutput {
|
|
|
2091
2121
|
export declare const PLUGIN_FALLBACK_LANG = "en";
|
|
2092
2122
|
export declare const PLUGIN_SCREENS: InjectionToken<ExposedScreens[]>;
|
|
2093
2123
|
/**
|
|
2094
|
-
* Offers Screens to other apps as Plugins (libs/one
|
|
2124
|
+
* Offers Screens to other apps as Plugins (libs/one GLOSSARY.md). Listed in the
|
|
2095
2125
|
* app's providers; its wc bundle defines one element per Screen at load,
|
|
2096
2126
|
* without booting the app's root.
|
|
2097
2127
|
*/
|
|
@@ -3925,7 +3955,7 @@ declare class BaseTextInputComponent<T extends Input = TextInput> extends BaseIn
|
|
|
3925
3955
|
/**
|
|
3926
3956
|
* What the results component's search input is called when nobody says
|
|
3927
3957
|
* otherwise — the name the design editor mints on a results Screen, spelled
|
|
3928
|
-
* 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
|
|
3929
3959
|
* SearchResultsScreen).
|
|
3930
3960
|
*/
|
|
3931
3961
|
declare const SEARCH_RESULT_INPUT = "search";
|
|
@@ -4208,7 +4238,7 @@ export declare class SectionFilterComponent {
|
|
|
4208
4238
|
/**
|
|
4209
4239
|
* How many numbers a `range` Filter picks: two by default, one under
|
|
4210
4240
|
* `single`, where its key carries that number rather than a pair
|
|
4211
|
-
* (
|
|
4241
|
+
* (GLOSSARY.md FilterRangeMode). Ignored by the option-picking variants.
|
|
4212
4242
|
*/
|
|
4213
4243
|
readonly mode: import("@angular/core").InputSignal<FilterRangeMode>;
|
|
4214
4244
|
/**
|
|
@@ -5134,7 +5164,7 @@ export declare const SECTION_ACCORDION_GROUP: InjectionToken<SectionAccordionGro
|
|
|
5134
5164
|
* its projected `m-section-header` (nothing renders, and the Section never
|
|
5135
5165
|
* collapses, if it has no header) and everything below the header collapses
|
|
5136
5166
|
* as one region. Ungrouped, starts open; inside an `mAccordionGroup`, only
|
|
5137
|
-
* the first-registered member starts open (
|
|
5167
|
+
* the first-registered member starts open (GLOSSARY.md SectionAccordion).
|
|
5138
5168
|
*/
|
|
5139
5169
|
export declare class SectionAccordionDirective implements SectionAccordionRef, OnInit, OnDestroy {
|
|
5140
5170
|
readonly mAccordion: import("@angular/core").InputSignal<string | Partial<SectionAccordion> | null | undefined>;
|
|
@@ -5503,7 +5533,7 @@ type SectionButtonGroupConfig = Config & {
|
|
|
5503
5533
|
* whatever Size the nearest Section put on the cascade, which is why its
|
|
5504
5534
|
* Buttons then land on that Section's input geometry with no sizing code here:
|
|
5505
5535
|
* both are 2.25x the Size.
|
|
5506
|
-
* See
|
|
5536
|
+
* See GLOSSARY.md `SectionButtonGroup` and ADR 0008, ADR 0009.
|
|
5507
5537
|
*/
|
|
5508
5538
|
export declare class SectionButtonGroupComponent extends ConfigComponent<SectionButtonGroupConfig> {
|
|
5509
5539
|
subFolder: "section_button_groups";
|
|
@@ -5549,7 +5579,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
|
|
|
5549
5579
|
}, {}, never, ["m-button, m-one-button", "*"], true, never>;
|
|
5550
5580
|
}
|
|
5551
5581
|
/**
|
|
5552
|
-
* The table composed from projected markup (
|
|
5582
|
+
* The table composed from projected markup (GLOSSARY.md SectionTable): the
|
|
5553
5583
|
* `<table>` and its configured heading are this component's, every row is
|
|
5554
5584
|
* projected. A row written inside an `@for` is drawn once per item, one outside
|
|
5555
5585
|
* it once — so a `<tr m-section-table-row>` is all the body ever holds, and
|
|
@@ -5626,7 +5656,7 @@ export declare class SectionTableComponent extends ConfigComponent<SectionTableC
|
|
|
5626
5656
|
}, never, ["*", "m-section-pagination"], true, never>;
|
|
5627
5657
|
}
|
|
5628
5658
|
/**
|
|
5629
|
-
* One `<tr>` of a SectionTable (
|
|
5659
|
+
* One `<tr>` of a SectionTable (GLOSSARY.md SectionTableRow). An attribute on a
|
|
5630
5660
|
* real `<tr>` rather than an element of its own: a component host between
|
|
5631
5661
|
* `<tbody>` and its cells breaks table layout. Repeated or static is decided by
|
|
5632
5662
|
* where it was written, never by a setting here.
|
|
@@ -5640,7 +5670,7 @@ export declare class SectionTableRowComponent {
|
|
|
5640
5670
|
}, never, ["*"], true, never>;
|
|
5641
5671
|
}
|
|
5642
5672
|
/**
|
|
5643
|
-
* One `<td>` of a SectionTableRow (
|
|
5673
|
+
* One `<td>` of a SectionTableRow (GLOSSARY.md SectionTableCell), holding any
|
|
5644
5674
|
* content. Answers to the column at its own position — its `cellIndex`, which
|
|
5645
5675
|
* only the DOM knows once the row is laid out — for alignment, Squeeze and
|
|
5646
5676
|
* freezing, and configures none of them itself.
|
|
@@ -5839,7 +5869,7 @@ type BoundConfig = Partial<Input> & {
|
|
|
5839
5869
|
* The panel a `range` Filter opens: a slider over the authored bounds, and the
|
|
5840
5870
|
* numeric boxes under it. Two thumbs and two boxes by default; one of each in
|
|
5841
5871
|
* `single` mode, where the Filter picks one number rather than a pair
|
|
5842
|
-
* (
|
|
5872
|
+
* (GLOSSARY.md FilterRangeMode). One panel for both, because the modes differ
|
|
5843
5873
|
* only in how many answers come back — the bounds and the fallbacks are the
|
|
5844
5874
|
* same authoring either way.
|
|
5845
5875
|
*
|
|
@@ -5867,7 +5897,7 @@ export declare class SectionFilterRangePanelComponent {
|
|
|
5867
5897
|
readonly value: import("@angular/core").InputSignal<readonly (string | number)[]>;
|
|
5868
5898
|
readonly min: import("@angular/core").InputSignal<number | undefined>;
|
|
5869
5899
|
readonly max: import("@angular/core").InputSignal<number | undefined>;
|
|
5870
|
-
/** One thumb or two. `range` by default (
|
|
5900
|
+
/** One thumb or two. `range` by default (GLOSSARY.md FilterRangeMode). */
|
|
5871
5901
|
readonly mode: import("@angular/core").InputSignal<FilterRangeMode>;
|
|
5872
5902
|
/** The Filter's own heading, already a TranslationAsset key. */
|
|
5873
5903
|
readonly label: import("@angular/core").InputSignal<string>;
|
|
@@ -6799,7 +6829,7 @@ type CheckboxGroupRow = {
|
|
|
6799
6829
|
readonly checkbox: Partial<Input>;
|
|
6800
6830
|
};
|
|
6801
6831
|
/**
|
|
6802
|
-
* The many-pick sibling of `m-radio-group` (
|
|
6832
|
+
* The many-pick sibling of `m-radio-group` (GLOSSARY.md CheckboxGroup). One
|
|
6803
6833
|
* `m-checkbox` per option, its value the picked options' values in option
|
|
6804
6834
|
* order. Options are bound, placed or named (ADR 0039, ADR 0041): bound or
|
|
6805
6835
|
* placed `options` win, and an OptionSet named by `optionsAsset` / `mOptions`
|
|
@@ -7465,7 +7495,7 @@ export declare function normalizeAssetOptions(data: AssetOption[] | AssetOption[
|
|
|
7465
7495
|
export declare function assetOptions(name?: () => string | undefined): Signal<DropdownOption[]>;
|
|
7466
7496
|
/**
|
|
7467
7497
|
* Starts a Field on its list's `default` row when it holds no value of its own
|
|
7468
|
-
* (m-one-ui
|
|
7498
|
+
* (m-one-ui GLOSSARY.md OptionSet). The Field's own value — its config, its form
|
|
7469
7499
|
* data — outranks the row, so a value already held is kept.
|
|
7470
7500
|
*
|
|
7471
7501
|
* Each marked row is consulted once: a User who clears the pick is not handed
|
|
@@ -7878,7 +7908,7 @@ declare const fileMatchesAccept: (file: Pick<File, "name" | "type">, accept: rea
|
|
|
7878
7908
|
/**
|
|
7879
7909
|
* Splits picked or dropped files into the ones the Field keeps and the ones it
|
|
7880
7910
|
* reports. A drop never passes the native picker, so this is where `accept` and
|
|
7881
|
-
* `maxSize` are enforced rather than merely suggested (
|
|
7911
|
+
* `maxSize` are enforced rather than merely suggested (GLOSSARY.md DropZone).
|
|
7882
7912
|
*/
|
|
7883
7913
|
declare const screenFiles: (files: readonly File[], accept: readonly string[], maxSize: number | undefined) => FileScreen;
|
|
7884
7914
|
/** Appends `incoming` to `current`, skipping a file already held. */
|
|
@@ -8092,7 +8122,7 @@ export declare class ListComponent extends ConfigComponent<ListConfig> {
|
|
|
8092
8122
|
* row authored in the asset reaches the template the way a mapped one does:
|
|
8093
8123
|
* an authored `ListItem` carries no `row` of its own, and a body reading
|
|
8094
8124
|
* `undefined` would make the static source unusable to anything but a bare
|
|
8095
|
-
* label (m-one-ui
|
|
8125
|
+
* label (m-one-ui GLOSSARY.md ListControl).
|
|
8096
8126
|
*/
|
|
8097
8127
|
protected readonly rowContext: (item: ListItem, index: number, first: boolean, last: boolean) => ListContext;
|
|
8098
8128
|
static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
|
|
@@ -8964,7 +8994,7 @@ export declare class SectionFormItemComponent extends ConfigComponent<Input> imp
|
|
|
8964
8994
|
}, ["projectedTemplate", "placedCheckboxes"], never, true, never>;
|
|
8965
8995
|
}
|
|
8966
8996
|
/**
|
|
8967
|
-
* Names the AssetOptions list a Field chooses from (
|
|
8997
|
+
* Names the AssetOptions list a Field chooses from (GLOSSARY.md OptionsSource).
|
|
8968
8998
|
* The markup spelling of the `optionsAsset:` config key, added beside it rather
|
|
8969
8999
|
* than in place of it (ADR 0010) — a Field still described by a file keeps
|
|
8970
9000
|
* declaring the key inside that file.
|
|
@@ -10227,7 +10257,7 @@ export declare class RemoteComponent implements OnDestroy {
|
|
|
10227
10257
|
*/
|
|
10228
10258
|
export type PluginSource = 'local' | 'beta' | 'published';
|
|
10229
10259
|
/**
|
|
10230
|
-
* 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
|
|
10231
10261
|
* AppLink, the Screen's name, a value per input and one `output` event per
|
|
10232
10262
|
* output the Screen emits. Never a whole app and never an address — that is
|
|
10233
10263
|
* `m-remote`.
|
|
@@ -11991,7 +12021,7 @@ type StatAlign = 'left' | 'center' | 'right';
|
|
|
11991
12021
|
type StatSurface = 'plain' | 'card' | 'shadow' | 'glow' | 'gradient';
|
|
11992
12022
|
/**
|
|
11993
12023
|
* A KeyValue with a corner mark: a label, a large value, and a small secondary
|
|
11994
|
-
* value set against the value itself (
|
|
12024
|
+
* value set against the value itself (GLOSSARY.md Stat).
|
|
11995
12025
|
*
|
|
11996
12026
|
* The label is an attribute because a name is a string either way — a
|
|
11997
12027
|
* TranslationAsset key, or a row's own text under `noTranslate` (ADR 0022);
|
|
@@ -12236,7 +12266,7 @@ export type PanelOverlayConfig = Config & {
|
|
|
12236
12266
|
};
|
|
12237
12267
|
/**
|
|
12238
12268
|
* What a store hands `ModalStore.openScreen` — the programmatic counterpart of
|
|
12239
|
-
* `mModal` / `mSidePanel` (
|
|
12269
|
+
* `mModal` / `mSidePanel` (GLOSSARY.md OverlayTrigger).
|
|
12240
12270
|
*
|
|
12241
12271
|
* One shape for both overlays rather than two: `as` says which, and the caller
|
|
12242
12272
|
* is one generated `tap` that has already drawn the answer. A directive resolves
|
|
@@ -12677,7 +12707,7 @@ export type BreadcrumbTrail = {
|
|
|
12677
12707
|
/**
|
|
12678
12708
|
* NavRef — names the target by NavId only. The NavKind on the target decides
|
|
12679
12709
|
* whether following it routes or opens a panel, so a link can never pick the
|
|
12680
|
-
* wrong kind. See libs/one/
|
|
12710
|
+
* wrong kind. See libs/one/GLOSSARY.md (NavRef) and ADR 0014.
|
|
12681
12711
|
*/
|
|
12682
12712
|
nav?: string;
|
|
12683
12713
|
/**
|
|
@@ -12694,7 +12724,7 @@ export type BreadcrumbTrail = {
|
|
|
12694
12724
|
href?: string;
|
|
12695
12725
|
/**
|
|
12696
12726
|
* A menu row whose Nav would draw rows of its own: it carries a chevron that
|
|
12697
|
-
* Browses into it while the row itself follows it (
|
|
12727
|
+
* Browses into it while the row itself follows it (GLOSSARY.md Browse).
|
|
12698
12728
|
*/
|
|
12699
12729
|
browsable?: boolean;
|
|
12700
12730
|
};
|
|
@@ -12703,7 +12733,7 @@ export type BreadCrumb = {
|
|
|
12703
12733
|
header: BreadcrumbTrail;
|
|
12704
12734
|
};
|
|
12705
12735
|
/**
|
|
12706
|
-
* Nav model — see libs/one/
|
|
12736
|
+
* Nav model — see libs/one/GLOSSARY.md (NavId, NavKind, Address, Anchor, NavRef)
|
|
12707
12737
|
* and docs/adr/0014.
|
|
12708
12738
|
*/
|
|
12709
12739
|
/** How a Nav is reached. A property of the node, never of the link. */
|
|
@@ -12732,7 +12762,7 @@ export type Nav = {
|
|
|
12732
12762
|
*/
|
|
12733
12763
|
param?: string;
|
|
12734
12764
|
/**
|
|
12735
|
-
* A NavTail's parameter name (m-one-ui
|
|
12765
|
+
* A NavTail's parameter name (m-one-ui GLOSSARY.md NavTail): every segment
|
|
12736
12766
|
* below the Nav's own path is one value under this name, separators kept —
|
|
12737
12767
|
* `code/<path>` with `path` = `src/app/x.ts`. Routed by `navTailMatcher`.
|
|
12738
12768
|
*/
|
|
@@ -12746,7 +12776,7 @@ export type Nav = {
|
|
|
12746
12776
|
seeded?: boolean;
|
|
12747
12777
|
};
|
|
12748
12778
|
/**
|
|
12749
|
-
* One row a `dynamic` Nav resolves to at runtime (
|
|
12779
|
+
* One row a `dynamic` Nav resolves to at runtime (GLOSSARY.md NavRow).
|
|
12750
12780
|
*
|
|
12751
12781
|
* `value` is the [NavParam] value and never a NavId — a NavRef names a node
|
|
12752
12782
|
* and the instance rides alongside as params, so a row can never disagree with
|
|
@@ -12821,7 +12851,7 @@ interface NavMenuConfig {
|
|
|
12821
12851
|
}
|
|
12822
12852
|
/**
|
|
12823
12853
|
* What a `dynamic` Nav registers instead of a panel: the rows it resolves at
|
|
12824
|
-
* runtime (
|
|
12854
|
+
* runtime (GLOSSARY.md NavRowSource). Registered under the dynamic Nav's own
|
|
12825
12855
|
* NavId, but drawn in *its parent's* panel — the rows are spliced where its
|
|
12826
12856
|
* own row stood, the transparency a Default Nav already has, because a row
|
|
12827
12857
|
* labelled `with-category` names nothing a User recognises.
|
|
@@ -12861,7 +12891,7 @@ interface NavRowsConfig {
|
|
|
12861
12891
|
/**
|
|
12862
12892
|
* What a `dynamic` Nav registers to answer *which instance the User is standing
|
|
12863
12893
|
* on*, as against `NavRowsConfig`, which answers *where they may go*
|
|
12864
|
-
* (
|
|
12894
|
+
* (GLOSSARY.md NavInstanceSource, ADR 0030). Registered under the dynamic Nav's
|
|
12865
12895
|
* own NavId, and read by the trail and the panel header rather than by any
|
|
12866
12896
|
* menu: a row list is a menu answer, and one deep link into `/app/:id/about`
|
|
12867
12897
|
* needs a name for `:id` whether or not a menu of every app would even be
|
|
@@ -12891,7 +12921,7 @@ interface NavInstanceConfig {
|
|
|
12891
12921
|
navInstanceLoad?: (params: Record<string, string>) => void;
|
|
12892
12922
|
}
|
|
12893
12923
|
/**
|
|
12894
|
-
* What a gate answers (m-one-ui
|
|
12924
|
+
* What a gate answers (m-one-ui GLOSSARY.md NavVisibilitySource).
|
|
12895
12925
|
*
|
|
12896
12926
|
* **Three states, and one of them is a promise.** `true` / `false` are the
|
|
12897
12927
|
* answer; `undefined` is *not answerable yet* — the state the gate reads has
|
|
@@ -12906,7 +12936,7 @@ interface NavInstanceConfig {
|
|
|
12906
12936
|
*/
|
|
12907
12937
|
type NavVisibleAnswer = boolean | undefined | Promise<boolean>;
|
|
12908
12938
|
/**
|
|
12909
|
-
* 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
|
|
12910
12940
|
* NavVisibilitySource). Registered under that Nav's own NavId beside whatever
|
|
12911
12941
|
* else it registers — the configs are not exclusive, which is why every guard
|
|
12912
12942
|
* here tests for its own key rather than for the absence of another's.
|
|
@@ -12929,7 +12959,7 @@ interface NavVisibilityConfig {
|
|
|
12929
12959
|
navVisible: (params: Record<string, string>) => NavVisibleAnswer;
|
|
12930
12960
|
/**
|
|
12931
12961
|
* Fired before the gate is believed, so a gate reading state the store does
|
|
12932
|
-
* not hold yet has something filling it (m-one-ui
|
|
12962
|
+
* not hold yet has something filling it (m-one-ui GLOSSARY.md
|
|
12933
12963
|
* NavVisibilitySource).
|
|
12934
12964
|
*
|
|
12935
12965
|
* This is what makes *is this app's uid the signed-in user* answerable on a
|
|
@@ -13320,19 +13350,19 @@ interface NavState {
|
|
|
13320
13350
|
navOpenedByUser: boolean;
|
|
13321
13351
|
/**
|
|
13322
13352
|
* The Nav a Browse moved the panel onto — up, down or sideways — while the
|
|
13323
|
-
* Address, and the Page, stay put (
|
|
13353
|
+
* Address, and the Page, stay put (GLOSSARY.md Browse).
|
|
13324
13354
|
*/
|
|
13325
13355
|
menuNavId: string | undefined;
|
|
13326
13356
|
/**
|
|
13327
13357
|
* The instances the Browse names — a `dynamic` Nav is a node, and which book
|
|
13328
|
-
* the User is looking into is data (
|
|
13358
|
+
* the User is looking into is data (GLOSSARY.md Browse). Read only while
|
|
13329
13359
|
* `menuNavId` is set.
|
|
13330
13360
|
*/
|
|
13331
13361
|
menuParams: Record<string, string | number> | undefined;
|
|
13332
13362
|
/**
|
|
13333
13363
|
* The app whose menu an App Rail AppLogo Browsed onto, and the slot it held
|
|
13334
13364
|
* then. That Browse belongs to the app: it survives an Address change that
|
|
13335
|
-
* only moved the app to another slot (
|
|
13365
|
+
* only moved the app to another slot (GLOSSARY.md Browse).
|
|
13336
13366
|
*/
|
|
13337
13367
|
browsedApp: {
|
|
13338
13368
|
name: string;
|
|
@@ -13667,7 +13697,7 @@ export declare class MurlUrlSerializer implements UrlSerializer {
|
|
|
13667
13697
|
}
|
|
13668
13698
|
export declare const provideMurlUrlSerializer: () => Provider;
|
|
13669
13699
|
/**
|
|
13670
|
-
* NavId <-> Address. See libs/one/
|
|
13700
|
+
* NavId <-> Address. See libs/one/GLOSSARY.md and docs/adr/0014.
|
|
13671
13701
|
*
|
|
13672
13702
|
* A NavId is the full path joined with `_`, always rooted: `root`,
|
|
13673
13703
|
* `root_settings_user`. It is separator-blind — the `/` vs `|` of an Address
|
|
@@ -13732,7 +13762,7 @@ declare const fillParams: (path: string, params?: Record<string, string | number
|
|
|
13732
13762
|
/**
|
|
13733
13763
|
* A Url NavId's route path with its params filled — and, for a NavTail, the
|
|
13734
13764
|
* rest appended as its tail value names it, separators kept, since the tail is
|
|
13735
|
-
* 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
|
|
13736
13766
|
* tail value is no rest: the Nav's own address.
|
|
13737
13767
|
*/
|
|
13738
13768
|
declare const fillRoutePath: (navId: string, navMap: NavMap, params?: Record<string, string | number>) => string;
|
|
@@ -13757,7 +13787,7 @@ export declare const toHostNavId: (localNavId: string, hostNavId: string) => str
|
|
|
13757
13787
|
export declare const toLocalNavId: (hostScopedNavId: string, hostNavId: string) => string | undefined;
|
|
13758
13788
|
export declare const navVisibilityGuard: CanActivateFn;
|
|
13759
13789
|
/**
|
|
13760
|
-
* The route a NavTail emits (m-one-ui
|
|
13790
|
+
* The route a NavTail emits (m-one-ui GLOSSARY.md NavTail): its own prefix, then
|
|
13761
13791
|
* every segment below it joined into one `name` parameter. Angular's `**`
|
|
13762
13792
|
* binds to no input, which is why this is a matcher and not a path. A `:x`
|
|
13763
13793
|
* segment of the prefix is filled the way a path would fill it.
|
|
@@ -13784,7 +13814,7 @@ export declare class NavComponent {
|
|
|
13784
13814
|
app: undefined;
|
|
13785
13815
|
} | undefined>;
|
|
13786
13816
|
/**
|
|
13787
|
-
* The App Rail below the AppLogo (
|
|
13817
|
+
* The App Rail below the AppLogo (GLOSSARY.md App Rail): the Main Slot's App,
|
|
13788
13818
|
* standing where the apps button would, then each Side App. Selecting one
|
|
13789
13819
|
* opens the panel on that app's menu; the open panel rings whose menu it is.
|
|
13790
13820
|
*/
|
|
@@ -14029,7 +14059,7 @@ export declare class NavTrailComponent {
|
|
|
14029
14059
|
constructor();
|
|
14030
14060
|
/**
|
|
14031
14061
|
* Moves the panel onto the entry's Nav and leaves the Address, and the Page
|
|
14032
|
-
* behind the panel, where they are (
|
|
14062
|
+
* behind the panel, where they are (GLOSSARY.md Browse).
|
|
14033
14063
|
*/
|
|
14034
14064
|
protected browse: (navId: string, params?: Record<string, string | number>) => void;
|
|
14035
14065
|
protected onOverflow(item: MenuItem): void;
|
|
@@ -14055,7 +14085,7 @@ export declare class NavMenuComponent {
|
|
|
14055
14085
|
filterBySearch: import("@angular/core").InputSignal<boolean>;
|
|
14056
14086
|
size: typeof Size;
|
|
14057
14087
|
navList: import("@angular/core").Signal<BreadcrumbTrail[] | undefined>;
|
|
14058
|
-
/** Looks inside the row's Nav without following it (
|
|
14088
|
+
/** Looks inside the row's Nav without following it (GLOSSARY.md Browse). */
|
|
14059
14089
|
browse: (item: BreadcrumbTrail) => void;
|
|
14060
14090
|
rows: import("@angular/core").Signal<ListItem[]>;
|
|
14061
14091
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavMenuComponent, never>;
|
|
@@ -14412,7 +14442,7 @@ export declare class NotificationService {
|
|
|
14412
14442
|
/**
|
|
14413
14443
|
* Browser clipboard writes a gesture may fire. Takes one object so a designed
|
|
14414
14444
|
* Screen's call site builds it the way it builds every GlobalMethod's
|
|
14415
|
-
* (
|
|
14445
|
+
* (GLOSSARY.md GlobalMethod), and reports the outcome itself — a template call
|
|
14416
14446
|
* has nowhere to await the write.
|
|
14417
14447
|
*/
|
|
14418
14448
|
export declare class ClipboardService {
|
|
@@ -16000,4 +16030,214 @@ interface AuthResult {
|
|
|
16000
16030
|
tokens: SharedToken;
|
|
16001
16031
|
}
|
|
16002
16032
|
export declare function injectAuthenticate(): () => Promise<AuthResult>;
|
|
16003
|
-
|
|
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 };
|