@magmonium/one 0.4.77 → 0.4.79

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.77",
3
+ "version": "0.4.79",
4
4
  "description": "Magmonium One — Angular design-system primitives for mm Apps",
5
5
  "author": "magmonium",
6
6
  "license": "MIT",
@@ -11795,6 +11795,232 @@ export declare class ScoreComponent {
11795
11795
  };
11796
11796
  }, {}, never, never, true, never>;
11797
11797
  }
11798
+ /** The band a Score falls in, or `no-data` when it has none. */
11799
+ type ScoreBand = 'exceptional' | 'strong' | 'average' | 'weak' | 'no-data';
11800
+ /** How a ScoreSet is laid out: ring + bars, or one row of chips. */
11801
+ type ScoreSetVariant = 'default' | 'compact';
11802
+ /**
11803
+ * The band a Score falls in. Painted on the primary item only — the rest of a
11804
+ * set wear their dimension's own colour, a band being a second colour no bar
11805
+ * fill should carry beside it.
11806
+ */
11807
+ export declare const scoreBand: (value: number | null) => ScoreBand;
11808
+ /**
11809
+ * The `n` of "Top n%": a Score is a percentile, so what it honestly says is a
11810
+ * standing in the Scored Universe, never a quality reading. Floored at 1 — the
11811
+ * stock that ranks first is in the top 1%, not the top 0%.
11812
+ */
11813
+ export declare const scoreStanding: (value: number | null) => number | null;
11814
+ /**
11815
+ * Whether a Score Date is older than `staleAfterDays` whole days. A Score that
11816
+ * failed to rescore keeps its old value and its old date, so the date is the
11817
+ * only thing that tells tonight's standing from March's. No date, or one that
11818
+ * does not parse, is not evidence of staleness.
11819
+ */
11820
+ export declare const isScoreStale: (scoreDate: string | undefined, today: Date, staleAfterDays: number) => boolean;
11821
+ /**
11822
+ * How many identity colours a set has before it reuses one. Six Okabe–Ito
11823
+ * hues, yellow left out for failing contrast on a light surface; the values,
11824
+ * one pair per theme, live in the set's own stylesheet.
11825
+ */
11826
+ export declare const SCORE_TONE_COUNT = 6;
11827
+ /**
11828
+ * The identity colour of the `index`-th non-primary item — a fixed hue per
11829
+ * dimension, so Momentum is the same colour on every stock whatever its value.
11830
+ */
11831
+ export declare const categoricalTone: (index: number) => string;
11832
+ /**
11833
+ * What a ScoreSetItem reads off the set it sits in. A token rather than the
11834
+ * component class, so the item and the set do not import each other: the set
11835
+ * decides which item is primary and in what order the rows stand, and each
11836
+ * item draws itself from that.
11837
+ */
11838
+ interface ScoreSetHost {
11839
+ readonly variant: Signal<ScoreSetVariant>;
11840
+ readonly bandShown: Signal<boolean>;
11841
+ /** Whether a Score shows "Top n%" beside its number. */
11842
+ readonly standingShown: Signal<boolean>;
11843
+ readonly stale: Signal<boolean>;
11844
+ /** "based on n of m", or '' when every row has a Score. */
11845
+ readonly basis: Signal<string>;
11846
+ /** The item drawn large, or null when none is primary. */
11847
+ readonly primaryItem: Signal<unknown>;
11848
+ /** An item's position among the rows, -1 for the primary. */
11849
+ readonly rowIndex: (item: unknown) => number;
11850
+ /** "Top n%", with the set's peer group when it names one. */
11851
+ readonly standingText: (value: number | null) => string;
11852
+ readonly choose: (key: string) => void;
11853
+ }
11854
+ declare const SCORE_SET_HOST: InjectionToken<ScoreSetHost>;
11855
+ /**
11856
+ * One Score of a ScoreSet, written as a tag inside `m-score-set` so a set's
11857
+ * dimensions are markup rather than an array literal (GLOSSARY.md
11858
+ * ScoreSetItem). It draws itself, in the shape the set gives it — the large
11859
+ * primary or a row — so the tag is the Score's own box: whatever is put on it
11860
+ * (an editor's selection, a test id) lands on what is drawn. Outside a set it
11861
+ * draws nothing.
11862
+ */
11863
+ export declare class ScoreSetItemComponent {
11864
+ /**
11865
+ * What the set's `scoreSelect` output emits when this item is chosen. Not
11866
+ * required: an item dropped in the editor has none until it is typed, and a
11867
+ * missing required input would throw in the emitted app.
11868
+ */
11869
+ readonly key: import("@angular/core").InputSignal<string>;
11870
+ /** TranslationAsset key naming the dimension. */
11871
+ readonly label: import("@angular/core").InputSignal<string>;
11872
+ /** 0–100. `null` is a Score that was not computed — drawn as "—", never 0. */
11873
+ readonly value: import("@angular/core").InputSignal<number | null | undefined>;
11874
+ /** Bare attribute. The first primary item in a set is drawn large. */
11875
+ readonly primary: import("@angular/core").InputSignal<string | boolean | undefined>;
11876
+ /** A ThemeColor key or CSS colour replacing this item's identity colour. */
11877
+ readonly color: import("@angular/core").InputSignal<string | undefined>;
11878
+ /** TranslationAsset key for the tooltip. */
11879
+ readonly description: import("@angular/core").InputSignal<string | undefined>;
11880
+ readonly isPrimary: import("@angular/core").Signal<boolean>;
11881
+ protected readonly set: ScoreSetHost | null;
11882
+ private readonly translateService;
11883
+ private readonly themeStore;
11884
+ protected readonly tipId: string;
11885
+ protected readonly tipDismissed: import("@angular/core").WritableSignal<boolean>;
11886
+ protected readonly shape: import("@angular/core").Signal<"none" | "row" | "primary">;
11887
+ protected readonly tone: import("@angular/core").Signal<string | null>;
11888
+ protected readonly model: import("@angular/core").Signal<{
11889
+ value: number | null;
11890
+ name: string;
11891
+ standing: string;
11892
+ display: string;
11893
+ bandText: string;
11894
+ valueText: string;
11895
+ tip: string;
11896
+ }>;
11897
+ protected readonly choose: () => void | undefined;
11898
+ protected readonly onKeydown: (event: KeyboardEvent) => void;
11899
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScoreSetItemComponent, never>;
11900
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScoreSetItemComponent, "m-score-set-item", never, {
11901
+ "key": {
11902
+ "alias": "key";
11903
+ "required": false;
11904
+ "isSignal": true;
11905
+ };
11906
+ "label": {
11907
+ "alias": "label";
11908
+ "required": false;
11909
+ "isSignal": true;
11910
+ };
11911
+ "value": {
11912
+ "alias": "value";
11913
+ "required": false;
11914
+ "isSignal": true;
11915
+ };
11916
+ "primary": {
11917
+ "alias": "primary";
11918
+ "required": false;
11919
+ "isSignal": true;
11920
+ };
11921
+ "color": {
11922
+ "alias": "color";
11923
+ "required": false;
11924
+ "isSignal": true;
11925
+ };
11926
+ "description": {
11927
+ "alias": "description";
11928
+ "required": false;
11929
+ "isSignal": true;
11930
+ };
11931
+ }, {}, never, never, true, never>;
11932
+ }
11933
+ /**
11934
+ * Several Scores drawn as one control: a headline, one primary Score drawn
11935
+ * large, and the rest as identity-coloured rows inside (GLOSSARY.md ScoreSet).
11936
+ * It decides which item is primary and in what order the rows stand; each
11937
+ * `m-score-set-item` draws itself from that, so every Score is its own box.
11938
+ * No border, background or radius of its own — what holds it pays for those.
11939
+ */
11940
+ export declare class ScoreSetComponent implements ScoreSetHost {
11941
+ /** TranslationAsset key for the headline. */
11942
+ readonly label: import("@angular/core").InputSignal<string>;
11943
+ /** TranslationAsset key naming the peer group a standing is taken against. */
11944
+ readonly of: import("@angular/core").InputSignal<string | undefined>;
11945
+ /** The run date the Scores were computed on (Score Date), ISO. */
11946
+ readonly scoreDate: import("@angular/core").InputSignal<string | undefined>;
11947
+ /** Whole days a Score Date may age before the set reads as stale. */
11948
+ readonly staleAfterDays: import("@angular/core").InputSignal<number>;
11949
+ /** The band word under the primary. `showBand="false"` drops it. */
11950
+ readonly showBand: import("@angular/core").InputSignal<string | boolean | undefined>;
11951
+ /**
11952
+ * Bare attribute. Shows "Top n%" beside each Score; off, a Score is its
11953
+ * number alone.
11954
+ */
11955
+ readonly showStanding: import("@angular/core").InputSignal<string | boolean | undefined>;
11956
+ /**
11957
+ * `default` — primary ring beside identity-coloured bars. `compact` — one
11958
+ * row of chips, for a table cell or a list row.
11959
+ */
11960
+ readonly variant: import("@angular/core").InputSignal<ScoreSetVariant>;
11961
+ /** The `key` of the item chosen by click, Enter or Space. */
11962
+ readonly scoreSelect: import("@angular/core").OutputEmitterRef<string>;
11963
+ private readonly items;
11964
+ protected readonly id: string;
11965
+ private readonly translateService;
11966
+ protected readonly labelText: import("@angular/core").Signal<string>;
11967
+ readonly bandShown: import("@angular/core").Signal<boolean>;
11968
+ readonly standingShown: import("@angular/core").Signal<boolean>;
11969
+ readonly stale: import("@angular/core").Signal<boolean>;
11970
+ protected readonly dateText: import("@angular/core").Signal<string>;
11971
+ readonly primaryItem: import("@angular/core").Signal<ScoreSetItemComponent | null>;
11972
+ private readonly rows;
11973
+ /** How many rows the primary spans beside, so it centres against them. */
11974
+ protected readonly rowCount: import("@angular/core").Signal<number>;
11975
+ readonly rowIndex: (item: unknown) => number;
11976
+ /**
11977
+ * "based on 4 of 5" when a row has no Score — the primary is a composite of
11978
+ * the rows, so a missing row changes what it means. Empty when all are there.
11979
+ */
11980
+ readonly basis: import("@angular/core").Signal<string>;
11981
+ readonly choose: (key: string) => void;
11982
+ readonly standingText: (value: number | null) => string;
11983
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScoreSetComponent, never>;
11984
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScoreSetComponent, "m-score-set", never, {
11985
+ "label": {
11986
+ "alias": "label";
11987
+ "required": false;
11988
+ "isSignal": true;
11989
+ };
11990
+ "of": {
11991
+ "alias": "of";
11992
+ "required": false;
11993
+ "isSignal": true;
11994
+ };
11995
+ "scoreDate": {
11996
+ "alias": "scoreDate";
11997
+ "required": false;
11998
+ "isSignal": true;
11999
+ };
12000
+ "staleAfterDays": {
12001
+ "alias": "staleAfterDays";
12002
+ "required": false;
12003
+ "isSignal": true;
12004
+ };
12005
+ "showBand": {
12006
+ "alias": "showBand";
12007
+ "required": false;
12008
+ "isSignal": true;
12009
+ };
12010
+ "showStanding": {
12011
+ "alias": "showStanding";
12012
+ "required": false;
12013
+ "isSignal": true;
12014
+ };
12015
+ "variant": {
12016
+ "alias": "variant";
12017
+ "required": false;
12018
+ "isSignal": true;
12019
+ };
12020
+ }, {
12021
+ "scoreSelect": "scoreSelect";
12022
+ }, ["items"], ["m-score-set-item"], true, never>;
12023
+ }
11798
12024
  export declare class ImgComponent {
11799
12025
  #private;
11800
12026
  readonly src: import("@angular/core").InputSignal<string | null | undefined>;
@@ -13055,7 +13281,7 @@ export declare class InstrumentScoreComponent {
13055
13281
  readonly variant: import("@angular/core").InputSignal<"compact" | "detailed">;
13056
13282
  readonly showDescription: import("@angular/core").InputSignal<boolean>;
13057
13283
  readonly label: import("@angular/core").InputSignal<string>;
13058
- readonly status: import("@angular/core").Signal<"no-data" | "exceptional" | "strong" | "average" | "weak">;
13284
+ readonly status: import("@angular/core").Signal<"exceptional" | "strong" | "average" | "weak" | "no-data">;
13059
13285
  readonly hex: import("@angular/core").Signal<"#94a3b8" | "#10b981" | "#3b82f6" | "#f59e0b" | "#ef4444">;
13060
13286
  readonly description: import("@angular/core").Signal<"insufficient-data-to-provide-analysis" | "this-company-shows-exceptional-fundamentals-and-momentum" | "solid-performance-with-good-growth-potential" | "fair-valuation-but-requires-careful-monitoring" | "higher-risk-profile-with-weakening-metrics">;
13061
13287
  static ɵfac: i0.ɵɵFactoryDeclaration<InstrumentScoreComponent, never>;
@@ -17958,4 +18184,4 @@ export declare const toggleUid: (audience: Audience, uid: string) => Audience;
17958
18184
  export declare const toggleGroup: (audience: Audience, groupId: string) => Audience;
17959
18185
  /** How many Users and Groups an Audience names. */
17960
18186
  export declare const pickCount: (audience: Audience) => number;
17961
- export type { Accordion, AccordionGroup, AccordionVariant, AppCardData, AppCardInputs, AppCardVariant, AppLogoTone, AppLogoVariant, AppManifest, AppTileData, AssetOption, Audience, AudienceLevel, AudienceMember, AudiencePicker, AuthResult, Badge, BadgeCount, 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, GroupActionEvent, GroupDropEvent, GroupKind, GroupMenuEvent, Header, HeaderLevel, HeatSwatchRadius, Icon, KeyValueVariant, LabelSegment, ListConfig, ListContext, ListItem, ListOrientation, ListVariant, MenuItem, MoneySystem, NavCountConfig, NavInstanceConfig, NavMenuConfig, NavRowsConfig, NavVisibilityConfig, NavVisibleAnswer, NavWidgetConfig, NavWidgetEntry, NavWidgetMap, OverlayWidgetLoader, OverlayWidgetMap, PageChangeEvent, Pagination, PaginationWindow, ResolvedUserTab, RowDropEvent, SearchChangeEvent, SectionAccordion, SectionAccordionGroup, SectionAccordionGroupContext, SectionAccordionRef, SectionButtonGroupConfig, SectionChartConfig, SectionChartPoints, SectionChartScale, SectionChartWindow, SectionFilterGroupConfig, SectionHero, SectionHeroVariant, SectionTableAlign, SectionTableColumn, SectionTableConfig, SectionTableDataType, SectionTableSort, 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, TableGroup, TextOrNumberInput, Timeline, TimelineItem, TreeGridCellClickEvent, TreeGridLoadChildrenEvent, TreeGridRow, TreeGridRowSelectEvent, TreeGridToggleEvent, User };
18187
+ export type { Accordion, AccordionGroup, AccordionVariant, AppCardData, AppCardInputs, AppCardVariant, AppLogoTone, AppLogoVariant, AppManifest, AppTileData, AssetOption, Audience, AudienceLevel, AudienceMember, AudiencePicker, AuthResult, Badge, BadgeCount, 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, GroupActionEvent, GroupDropEvent, GroupKind, GroupMenuEvent, Header, HeaderLevel, HeatSwatchRadius, Icon, KeyValueVariant, LabelSegment, ListConfig, ListContext, ListItem, ListOrientation, ListVariant, MenuItem, MoneySystem, NavCountConfig, NavInstanceConfig, NavMenuConfig, NavRowsConfig, NavVisibilityConfig, NavVisibleAnswer, NavWidgetConfig, NavWidgetEntry, NavWidgetMap, OverlayWidgetLoader, OverlayWidgetMap, PageChangeEvent, Pagination, PaginationWindow, ResolvedUserTab, RowDropEvent, ScoreBand, ScoreSetVariant, SearchChangeEvent, SectionAccordion, SectionAccordionGroup, SectionAccordionGroupContext, SectionAccordionRef, SectionButtonGroupConfig, SectionChartConfig, SectionChartPoints, SectionChartScale, SectionChartWindow, SectionFilterGroupConfig, SectionHero, SectionHeroVariant, SectionTableAlign, SectionTableColumn, SectionTableConfig, SectionTableDataType, SectionTableSort, 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, TableGroup, TextOrNumberInput, Timeline, TimelineItem, TreeGridCellClickEvent, TreeGridLoadChildrenEvent, TreeGridRow, TreeGridRowSelectEvent, TreeGridToggleEvent, User };