@magmonium/one 0.4.68 → 0.4.69

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmonium/one",
3
- "version": "0.4.68",
3
+ "version": "0.4.69",
4
4
  "description": "Magmonium One — Angular design-system primitives for mm Apps",
5
5
  "author": "magmonium",
6
6
  "license": "MIT",
@@ -1321,6 +1321,19 @@ export declare function activeElementWithin(node: Node): Element | null;
1321
1321
  export declare function getScrollParent(node: Node | null): HTMLElement | Window;
1322
1322
  export declare function isJson(data: unknown): boolean;
1323
1323
  export declare function getValue<T, K extends keyof T>(obj: T, key: K): T[K];
1324
+ /**
1325
+ * The row a map holds under `id`, or `undefined` when it holds none — the
1326
+ * OneFunction a ScreenComputed calls to turn an id into its row (ADR 0201).
1327
+ * A `map` Cardinality emits as `Record<string, T>`, so the key is a string.
1328
+ */
1329
+ export declare function getFromMap<T>(id: string | undefined, map: Record<string, T> | undefined): T | undefined;
1330
+ /**
1331
+ * Whether a map holds anything under `id` — the boolean OneFunction a
1332
+ * StoreMethod's CallCondition gates a call on and a ScreenComputed may derive
1333
+ * (ADR 0202). `false`, never `undefined`, while the id or the map is: a gate
1334
+ * reading an unloaded store answers "not there yet" rather than nothing.
1335
+ */
1336
+ export declare function existsInMap(id: string | undefined, map: Record<string, unknown> | undefined): boolean;
1324
1337
  export declare function createMap<T extends object>(elems: T[], key?: keyof T | 'id', elemMap?: Record<string, T>): Record<string, T>;
1325
1338
  /**
1326
1339
  * Total over the three Sizes. Deliberately accepts nothing else — the old
@@ -1554,7 +1567,7 @@ export declare class DraggableDirective {
1554
1567
  readonly max: import("@angular/core").InputSignal<Position | undefined>;
1555
1568
  readonly dragStart: import("@angular/core").OutputEmitterRef<void>;
1556
1569
  readonly dragEnd: import("@angular/core").OutputEmitterRef<void>;
1557
- protected readonly cursor: import("@angular/core").Signal<"move" | "ew-resize" | "ns-resize">;
1570
+ protected readonly cursor: import("@angular/core").Signal<"ew-resize" | "ns-resize" | "move">;
1558
1571
  protected state: DraggableState;
1559
1572
  set pos(position: Position);
1560
1573
  /**
@@ -2856,7 +2869,7 @@ export declare class ButtonComponent extends ReactiveElementComponent<Button> {
2856
2869
  navParams: import("@angular/core").InputSignal<Record<string, string | number> | undefined>;
2857
2870
  href: import("@angular/core").InputSignal<string | undefined>;
2858
2871
  disabled: import("@angular/core").InputSignal<boolean | undefined>;
2859
- variant: import("@angular/core").InputSignal<"ghost" | "primary" | "secondary" | "tab" | undefined>;
2872
+ variant: import("@angular/core").InputSignal<"primary" | "ghost" | "secondary" | "tab" | undefined>;
2860
2873
  name: import("@angular/core").InputSignal<string | undefined>;
2861
2874
  baseUrl: import("@angular/core").InputSignal<string | undefined>;
2862
2875
  one: import("@angular/core").InputSignal<boolean | undefined>;
@@ -3476,7 +3489,7 @@ export declare class ButtonGroupComponent extends ConfigComponent<ButtonGroup> {
3476
3489
  color?: string | keyof import("dist/libs/cli/src").ThemeColor;
3477
3490
  align?: ConfigAlign;
3478
3491
  isLoading?: boolean;
3479
- variant?: "ghost" | "primary" | "secondary" | "tab" | undefined;
3492
+ variant?: "primary" | "ghost" | "secondary" | "tab" | undefined;
3480
3493
  label?: string;
3481
3494
  noTranslate?: boolean;
3482
3495
  params?: Record<string, string>;
@@ -4243,7 +4256,7 @@ declare class BaseTextInputComponent<T extends Input = TextInput> extends BaseIn
4243
4256
  private autofocused;
4244
4257
  constructor();
4245
4258
  readonly isFocused: import("@angular/core").WritableSignal<boolean>;
4246
- readonly iconColor: import("@angular/core").Signal<"border" | "error" | "focus">;
4259
+ readonly iconColor: import("@angular/core").Signal<"error" | "border" | "focus">;
4247
4260
  protected readonly setValue: (value: string) => void;
4248
4261
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseTextInputComponent<any>, never>;
4249
4262
  static ɵdir: i0.ɵɵDirectiveDeclaration<BaseTextInputComponent<any>, never, never, {
@@ -4863,7 +4876,7 @@ export declare class SectionFilterGroupComponent {
4863
4876
  readonly paddingX: import("@angular/core").InputSignal<boolean | undefined>;
4864
4877
  readonly paddingY: import("@angular/core").InputSignal<boolean | undefined>;
4865
4878
  readonly maxWidth: import("@angular/core").InputSignal<string | undefined>;
4866
- readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
4879
+ readonly align: import("@angular/core").InputSignal<"center" | "left" | "right" | undefined>;
4867
4880
  readonly config: import("@angular/core").InputSignal<SectionFilterGroupConfig | undefined>;
4868
4881
  /**
4869
4882
  * The whole group's selection, keyed by each Filter's `name` — one key per
@@ -4881,7 +4894,7 @@ export declare class SectionFilterGroupComponent {
4881
4894
  protected readonly resolvedPadding: import("@angular/core").Signal<boolean>;
4882
4895
  protected readonly resolvedPaddingX: import("@angular/core").Signal<boolean>;
4883
4896
  protected readonly resolvedPaddingY: import("@angular/core").Signal<boolean>;
4884
- protected readonly resolvedAlign: import("@angular/core").Signal<"left" | "center" | "right">;
4897
+ protected readonly resolvedAlign: import("@angular/core").Signal<"center" | "left" | "right">;
4885
4898
  protected readonly resolvedMaxWidth: import("@angular/core").Signal<string | undefined>;
4886
4899
  protected readonly noBorder: import("@angular/core").Signal<boolean>;
4887
4900
  /**
@@ -4986,7 +4999,7 @@ export declare class SectionStepperComponent implements OnDestroy {
4986
4999
  readonly lg: import("@angular/core").InputSignal<number | undefined>;
4987
5000
  readonly xl: import("@angular/core").InputSignal<number | undefined>;
4988
5001
  readonly xxl: import("@angular/core").InputSignal<number | undefined>;
4989
- readonly orientation: import("@angular/core").InputSignal<"horizontal" | "vertical" | undefined>;
5002
+ readonly orientation: import("@angular/core").InputSignal<"vertical" | "horizontal" | undefined>;
4990
5003
  readonly stepChange: import("@angular/core").OutputEmitterRef<number>;
4991
5004
  private readonly isCompact;
4992
5005
  private readonly mediaMatched;
@@ -5060,7 +5073,7 @@ export declare class SectionStepperComponent implements OnDestroy {
5060
5073
  export declare class SectionBadgesComponent {
5061
5074
  readonly wrap: import("@angular/core").InputSignal<boolean>;
5062
5075
  readonly border: import("@angular/core").InputSignal<boolean>;
5063
- readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
5076
+ readonly align: import("@angular/core").InputSignal<"center" | "left" | "right">;
5064
5077
  private readonly sectionContext;
5065
5078
  protected readonly hasBorder: import("@angular/core").Signal<boolean>;
5066
5079
  static ɵfac: i0.ɵɵFactoryDeclaration<SectionBadgesComponent, never>;
@@ -5208,7 +5221,7 @@ export declare class SectionPaginationComponent {
5208
5221
  * Entries that are not positive numbers drop rather than throw.
5209
5222
  */
5210
5223
  readonly perPageOptions: import("@angular/core").InputSignal<string | undefined>;
5211
- readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
5224
+ readonly align: import("@angular/core").InputSignal<"center" | "left" | "right">;
5212
5225
  readonly showPerPage: import("@angular/core").InputSignal<boolean>;
5213
5226
  /** Hides the band outright once everything fits one page. */
5214
5227
  readonly hideOnSinglePage: import("@angular/core").InputSignal<boolean>;
@@ -5545,7 +5558,7 @@ export declare class SectionComponent extends ConfigComponent<SectionConfig> {
5545
5558
  readonly align: import("@angular/core").InputSignal<SectionAlign | undefined>;
5546
5559
  readonly alignX: import("@angular/core").InputSignal<GridAlignX | undefined>;
5547
5560
  readonly alignY: import("@angular/core").InputSignal<GridAlignY | undefined>;
5548
- readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
5561
+ readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | Size | undefined>;
5549
5562
  private readonly parentSize;
5550
5563
  readonly resolvedSize: import("@angular/core").Signal<Size>;
5551
5564
  protected readonly sizeLength: import("@angular/core").Signal<string>;
@@ -5716,8 +5729,8 @@ export declare class SectionHeaderComponent {
5716
5729
  readonly visibilityRule: import("@angular/core").InputSignal<((key: string, data?: unknown) => boolean) | undefined>;
5717
5730
  readonly disableRule: import("@angular/core").InputSignal<((key: string, data?: unknown) => boolean) | undefined>;
5718
5731
  readonly extraData: import("@angular/core").InputSignal<unknown>;
5719
- readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
5720
- readonly alignment: import("@angular/core").Signal<"left" | "center" | "right">;
5732
+ readonly align: import("@angular/core").InputSignal<"center" | "left" | "right" | undefined>;
5733
+ readonly alignment: import("@angular/core").Signal<"center" | "left" | "right">;
5721
5734
  readonly badge: import("@angular/core").InputSignal<BadgeCount | undefined>;
5722
5735
  readonly showBack: import("@angular/core").InputSignal<boolean>;
5723
5736
  readonly actionButton: import("@angular/core").InputSignal<string | undefined>;
@@ -5735,7 +5748,7 @@ export declare class SectionHeaderComponent {
5735
5748
  protected readonly sidepanel: import("@angular/core").Signal<boolean>;
5736
5749
  protected readonly noBorder: import("@angular/core").Signal<boolean>;
5737
5750
  protected readonly resolvedMaxWidth: import("@angular/core").Signal<string | undefined>;
5738
- protected readonly boxAlign: import("@angular/core").Signal<"left" | "center" | "right">;
5751
+ protected readonly boxAlign: import("@angular/core").Signal<"center" | "left" | "right">;
5739
5752
  protected readonly iconBox: import("@angular/core").Signal<string>;
5740
5753
  protected readonly isSticky: import("@angular/core").Signal<boolean>;
5741
5754
  protected readonly hasMenu: import("@angular/core").Signal<boolean>;
@@ -5882,7 +5895,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
5882
5895
  readonly vertical: import("@angular/core").InputSignal<boolean | undefined>;
5883
5896
  readonly align: import("@angular/core").InputSignal<ConfigAlign>;
5884
5897
  readonly variant: import("@angular/core").InputSignal<"spaced" | "joined" | undefined>;
5885
- readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
5898
+ readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | Size | undefined>;
5886
5899
  readonly fullWidth: import("@angular/core").InputSignal<boolean | undefined>;
5887
5900
  private readonly parentSize;
5888
5901
  readonly resolvedSize: import("@angular/core").Signal<Size>;
@@ -5890,7 +5903,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
5890
5903
  protected readonly resolvedFullWidth: import("@angular/core").Signal<boolean>;
5891
5904
  protected readonly resolvedVertical: import("@angular/core").Signal<boolean>;
5892
5905
  protected readonly resolvedVariant: import("@angular/core").Signal<"spaced" | "joined">;
5893
- protected readonly resolvedAlign: import("@angular/core").Signal<"left" | "center" | "right" | "top" | "bottom">;
5906
+ protected readonly resolvedAlign: import("@angular/core").Signal<"center" | "left" | "right" | "bottom" | "top">;
5894
5907
  static ɵfac: i0.ɵɵFactoryDeclaration<SectionButtonGroupComponent, never>;
5895
5908
  static ɵcmp: i0.ɵɵComponentDeclaration<SectionButtonGroupComponent, "m-section-button-group", never, {
5896
5909
  "vertical": {
@@ -5922,7 +5935,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
5922
5935
  }
5923
5936
  export declare class SectionFooterComponent {
5924
5937
  readonly sticky: import("@angular/core").InputSignal<boolean>;
5925
- readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
5938
+ readonly align: import("@angular/core").InputSignal<"center" | "left" | "right">;
5926
5939
  readonly maxWidth: import("@angular/core").InputSignal<string | undefined>;
5927
5940
  private readonly scrollSticky;
5928
5941
  protected readonly isSticky: import("@angular/core").Signal<boolean>;
@@ -5930,7 +5943,7 @@ export declare class SectionFooterComponent {
5930
5943
  protected readonly sidepanel: import("@angular/core").Signal<boolean>;
5931
5944
  protected readonly noBorder: import("@angular/core").Signal<boolean>;
5932
5945
  protected readonly resolvedMaxWidth: import("@angular/core").Signal<string | undefined>;
5933
- protected readonly boxAlign: import("@angular/core").Signal<"left" | "center" | "right">;
5946
+ protected readonly boxAlign: import("@angular/core").Signal<"center" | "left" | "right">;
5934
5947
  static ɵfac: i0.ɵɵFactoryDeclaration<SectionFooterComponent, never>;
5935
5948
  static ɵcmp: i0.ɵɵComponentDeclaration<SectionFooterComponent, "m-section-footer", never, {
5936
5949
  "sticky": {
@@ -8077,7 +8090,7 @@ declare class DropdownBoxComponent {
8077
8090
  }
8078
8091
  /** The trigger both option Fields draw: a searchable text input and a chevron. */
8079
8092
  declare const DROPDOWN_TEMPLATE = "\n @if (config(); as dropdown) {\n @if (dropdown.label) {\n <m-label\n [for]=\"dropdown.name ?? ''\"\n [placeholder]=\"dropdown.label\"\n [params]=\"dropdown.params\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n />\n }\n <div\n class=\"trigger-wrap\"\n #wrapper\n [mSelector]=\"selectorConfig()\"\n [disabled]=\"disabled() || readonly() || !!config()?.readonly\"\n (opened)=\"onOpened()\"\n (closed)=\"onClosed()\"\n (focusin)=\"isFocused.set(true)\"\n (focusout)=\"isFocused.set(false)\"\n >\n <m-text-input\n [config]=\"triggerInputConfig()\"\n [value]=\"displayValue()\"\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [hideErrors]=\"true\"\n [(touched)]=\"touched\"\n [focused]=\"focused()\"\n (valueChange)=\"onInput($event)\"\n (click)=\"preventToggleWhenOpen($event)\"\n (keydown.space)=\"$event.stopPropagation()\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.arrowdown)=\"onArrow($event, 1)\"\n (keydown.arrowup)=\"onArrow($event, -1)\"\n (keydown.tab)=\"$event.stopPropagation()\"\n />\n <m-button [disabled]=\"disabled()\" [config]=\"chevron()\" />\n </div>\n @if (showErrors()) {\n @for (error of errors(); track $index) {\n <m-text-output\n variant=\"footer\"\n color=\"error\"\n [label]=\"error.message\"\n />\n }\n }\n }\n";
8080
- declare const DROPDOWN_IMPORTS: (typeof TextInputComponent | typeof SelectorDirective | typeof LabelComponent | typeof TextOutputComponent | typeof ButtonComponent)[];
8093
+ declare const DROPDOWN_IMPORTS: (typeof ButtonComponent | typeof LabelComponent | typeof SelectorDirective | typeof TextOutputComponent | typeof TextInputComponent)[];
8081
8094
  /**
8082
8095
  * Everything a Dropdown and a Multiselect share: the options, the search, the
8083
8096
  * keyboard walk and the panel. What differs is only what the Field holds — one
@@ -8261,7 +8274,7 @@ declare class ColorPickerBoxComponent implements AfterViewInit, OnDestroy {
8261
8274
  protected readonly _eyedropperConfig: import("@magmonium/one").Button;
8262
8275
  protected readonly _headerContextMenu: ContextMenu;
8263
8276
  protected readonly themeSwatches: import("@angular/core").Signal<{
8264
- key: "mm" | "mmLite" | "mmDark" | "background" | "border" | "text" | "textSecondary" | "focus" | "error" | "errorLight" | "warning" | "successLite" | "success" | "highlight" | "wealth";
8277
+ key: "text" | "error" | "focus" | "mm" | "mmLite" | "mmDark" | "background" | "border" | "textSecondary" | "errorLight" | "warning" | "successLite" | "success" | "highlight" | "wealth";
8265
8278
  color: string;
8266
8279
  }[]>;
8267
8280
  hue: import("@angular/core").WritableSignal<number>;
@@ -9006,7 +9019,7 @@ export declare class FileUploadInputComponent extends BaseInputComponent<FileUpl
9006
9019
  private readonly editorSize;
9007
9020
  private readonly maxSize;
9008
9021
  protected readonly isLocked: import("@angular/core").Signal<boolean>;
9009
- protected readonly dropZoneIconColor: import("@angular/core").Signal<"border" | "error" | "focus">;
9022
+ protected readonly dropZoneIconColor: import("@angular/core").Signal<"error" | "border" | "focus">;
9010
9023
  /** Object URLs of the previews on show, keyed by what the value holds. */
9011
9024
  private readonly previews;
9012
9025
  protected readonly heldFiles: import("@angular/core").Signal<HeldFile[]>;
@@ -9460,17 +9473,17 @@ export declare class SectionFormComponent<T extends object = Record<string, unkn
9460
9473
  protected readonly resolvesConfigAsset = false;
9461
9474
  readonly variant: import("@angular/core").InputSignal<string | undefined>;
9462
9475
  readonly maxWidth: import("@angular/core").InputSignal<string | undefined>;
9463
- readonly heightMode: import("@angular/core").InputSignal<"full" | "fixed" | undefined>;
9476
+ readonly heightMode: import("@angular/core").InputSignal<"fixed" | "full" | undefined>;
9464
9477
  readonly maxHeight: import("@angular/core").InputSignal<string | number | undefined>;
9465
9478
  readonly height: import("@angular/core").InputSignal<string | number | undefined>;
9466
- readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
9479
+ readonly align: import("@angular/core").InputSignal<"center" | "left" | "right" | undefined>;
9467
9480
  readonly padding: import("@angular/core").InputSignal<string | number | undefined>;
9468
9481
  readonly paddingX: import("@angular/core").InputSignal<string | number | undefined>;
9469
9482
  readonly paddingY: import("@angular/core").InputSignal<string | number | undefined>;
9470
9483
  readonly margin: import("@angular/core").InputSignal<string | number | undefined>;
9471
9484
  readonly marginX: import("@angular/core").InputSignal<string | number | undefined>;
9472
9485
  readonly marginY: import("@angular/core").InputSignal<string | number | undefined>;
9473
- readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
9486
+ readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | Size | undefined>;
9474
9487
  readonly autofocus: import("@angular/core").InputSignal<boolean>;
9475
9488
  data: import("@angular/core").InputSignal<T | undefined>;
9476
9489
  readonly dataChange: import("@angular/core").OutputEmitterRef<T>;
@@ -9515,7 +9528,7 @@ export declare class SectionFormComponent<T extends object = Record<string, unkn
9515
9528
  protected readonly handleSubmit: (event: Event) => void;
9516
9529
  readonly resolvedSize: import("@angular/core").Signal<Size>;
9517
9530
  protected readonly sizeLength: import("@angular/core").Signal<string | null>;
9518
- readonly resolvedAlign: import("@angular/core").Signal<"left" | "center" | "right">;
9531
+ readonly resolvedAlign: import("@angular/core").Signal<"center" | "left" | "right">;
9519
9532
  readonly resolvedVariant: import("@angular/core").Signal<string | undefined>;
9520
9533
  readonly resolvedMaxWidth: import("@angular/core").Signal<string | number | undefined>;
9521
9534
  private readonly resolvedPadding;
@@ -9527,7 +9540,7 @@ export declare class SectionFormComponent<T extends object = Record<string, unkn
9527
9540
  readonly resolvedMinHeight: import("@angular/core").Signal<string | undefined>;
9528
9541
  readonly resolvedMinWidth: import("@angular/core").Signal<string | undefined>;
9529
9542
  readonly resolvedMaxHeight: import("@angular/core").Signal<string | number | undefined>;
9530
- readonly resolvedHeightMode: import("@angular/core").Signal<"full" | "fixed" | undefined>;
9543
+ readonly resolvedHeightMode: import("@angular/core").Signal<"fixed" | "full" | undefined>;
9531
9544
  readonly isFullHeight: import("@angular/core").Signal<boolean>;
9532
9545
  readonly cssMaxHeight: import("@angular/core").Signal<string | undefined>;
9533
9546
  constructor();
@@ -10375,7 +10388,7 @@ export declare class ComponentStepperComponent {
10375
10388
  components: import("@angular/core").InputSignal<Type<unknown>[]>;
10376
10389
  labels: import("@angular/core").InputSignal<string[] | undefined>;
10377
10390
  currentIndex: import("@angular/core").InputSignal<number>;
10378
- variant: import("@angular/core").InputSignal<"horizontal" | "vertical">;
10391
+ variant: import("@angular/core").InputSignal<"vertical" | "horizontal">;
10379
10392
  context: import("@angular/core").InputSignal<Record<string, unknown> | undefined>;
10380
10393
  readonly stepChange: import("@angular/core").OutputEmitterRef<number>;
10381
10394
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentStepperComponent, never>;
@@ -12077,7 +12090,7 @@ export type DocAiPhase = 'idle' | 'asking' | 'question' | 'outline' | 'writing'
12077
12090
  */
12078
12091
  export declare class DocEditorComponent implements ControlValueAccessor {
12079
12092
  protected readonly groups: readonly import("@magmonium/one").DocToolbarGroup[];
12080
- protected readonly icons: Record<"table" | "list" | "bold" | "italic" | "strike" | "heading" | "quote" | "link" | "code", string>;
12093
+ protected readonly icons: Record<"code" | "link" | "table" | "strike" | "list" | "bold" | "heading" | "italic" | "quote", string>;
12081
12094
  protected readonly docActionKey: typeof docActionKey;
12082
12095
  private readonly translate;
12083
12096
  protected readonly value: import("@angular/core").WritableSignal<string>;
@@ -14091,7 +14104,7 @@ export declare class ConfirmComponent {
14091
14104
  cancelLabel: import("@angular/core").InputSignal<string>;
14092
14105
  protected readonly confirmText: import("@angular/core").Signal<string>;
14093
14106
  protected readonly cancelText: import("@angular/core").Signal<string>;
14094
- protected readonly accent: import("@angular/core").Signal<"error" | "warning" | "success" | "mm">;
14107
+ protected readonly accent: import("@angular/core").Signal<"error" | "mm" | "success" | "warning">;
14095
14108
  protected readonly iconName: import("@angular/core").Signal<"exclamation-triangle" | "info" | "trash" | "check-circle">;
14096
14109
  protected accept(): void;
14097
14110
  protected decline(): void;