@magmonium/one 0.4.66 → 0.4.68

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.
Files changed (32) hide show
  1. package/fesm2022/{magmonium-one-base-dropdown-BT3zFQ6c.mjs → magmonium-one-base-dropdown-CCsetZ1L.mjs} +4 -4
  2. package/fesm2022/{magmonium-one-base-dropdown-BT3zFQ6c.mjs.map → magmonium-one-base-dropdown-CCsetZ1L.mjs.map} +1 -1
  3. package/fesm2022/{magmonium-one-button-BvX-kWgh.mjs → magmonium-one-button-CKHBcCoO.mjs} +3 -3
  4. package/fesm2022/{magmonium-one-button-BvX-kWgh.mjs.map → magmonium-one-button-CKHBcCoO.mjs.map} +1 -1
  5. package/fesm2022/{magmonium-one-checkbox-D4ZJV6AC.mjs → magmonium-one-checkbox-CSWhEUT4.mjs} +2 -2
  6. package/fesm2022/{magmonium-one-checkbox-D4ZJV6AC.mjs.map → magmonium-one-checkbox-CSWhEUT4.mjs.map} +1 -1
  7. package/fesm2022/{magmonium-one-group-cbqVX51M.mjs → magmonium-one-group-sz1ufuBT.mjs} +3 -3
  8. package/fesm2022/{magmonium-one-group-cbqVX51M.mjs.map → magmonium-one-group-sz1ufuBT.mjs.map} +1 -1
  9. package/fesm2022/{magmonium-one-header-BylTUAGY.mjs → magmonium-one-header-CkW_6y7m.mjs} +2 -2
  10. package/fesm2022/{magmonium-one-header-BylTUAGY.mjs.map → magmonium-one-header-CkW_6y7m.mjs.map} +1 -1
  11. package/fesm2022/{magmonium-one-image-editor-FomMDHZl.mjs → magmonium-one-image-editor-BYNN15tt.mjs} +4 -4
  12. package/fesm2022/{magmonium-one-image-editor-FomMDHZl.mjs.map → magmonium-one-image-editor-BYNN15tt.mjs.map} +1 -1
  13. package/fesm2022/{magmonium-one-label-BJcQs0Nd.mjs → magmonium-one-label-23DjRQdd.mjs} +34 -2
  14. package/fesm2022/magmonium-one-label-23DjRQdd.mjs.map +1 -0
  15. package/fesm2022/{magmonium-one-menu-Ct4s8-W_.mjs → magmonium-one-menu-Nj_Aj1fs.mjs} +2 -2
  16. package/fesm2022/{magmonium-one-menu-Ct4s8-W_.mjs.map → magmonium-one-menu-Nj_Aj1fs.mjs.map} +1 -1
  17. package/fesm2022/{magmonium-one-multi-range-CDJX9iFR.mjs → magmonium-one-multi-range-DYIv7jB7.mjs} +2 -2
  18. package/fesm2022/{magmonium-one-multi-range-CDJX9iFR.mjs.map → magmonium-one-multi-range-DYIv7jB7.mjs.map} +1 -1
  19. package/fesm2022/{magmonium-one-otp-CS1Z0KKQ.mjs → magmonium-one-otp-a8D3AUU6.mjs} +2 -2
  20. package/fesm2022/{magmonium-one-otp-CS1Z0KKQ.mjs.map → magmonium-one-otp-a8D3AUU6.mjs.map} +1 -1
  21. package/fesm2022/{magmonium-one-password-zW1YmyBs.mjs → magmonium-one-password-c2JsD6C5.mjs} +3 -3
  22. package/fesm2022/{magmonium-one-password-zW1YmyBs.mjs.map → magmonium-one-password-c2JsD6C5.mjs.map} +1 -1
  23. package/fesm2022/{magmonium-one-radio-yizQzCrD.mjs → magmonium-one-radio-BjsRiF80.mjs} +2 -2
  24. package/fesm2022/{magmonium-one-radio-yizQzCrD.mjs.map → magmonium-one-radio-BjsRiF80.mjs.map} +1 -1
  25. package/fesm2022/{magmonium-one-range-B6JesBOM.mjs → magmonium-one-range-M_HBccdt.mjs} +2 -2
  26. package/fesm2022/{magmonium-one-range-B6JesBOM.mjs.map → magmonium-one-range-M_HBccdt.mjs.map} +1 -1
  27. package/fesm2022/{magmonium-one-text-DLKgk_bm.mjs → magmonium-one-text-XSYTtGBf.mjs} +2 -2
  28. package/fesm2022/{magmonium-one-text-DLKgk_bm.mjs.map → magmonium-one-text-XSYTtGBf.mjs.map} +1 -1
  29. package/fesm2022/magmonium-one.mjs +27 -27
  30. package/package.json +1 -1
  31. package/types/magmonium-one.d.ts +43 -28
  32. package/fesm2022/magmonium-one-label-BJcQs0Nd.mjs.map +0 -1
@@ -4,27 +4,27 @@ import { a as OverlayService, c as DeviceService, i as OverlayRef, n as Directio
4
4
  import { t as FileService } from "./magmonium-one-file.service-D39FjShR.mjs";
5
5
  import { C as isLightAppColor, D as readableAppColor, E as normalizeAppColor, O as rebuildLogoGlyph, S as appLogoShadowColor, T as logoGlyphMaskUrl, _ as AppLogoState, a as calculateLuminance, b as LOGO_GLYPH_MAX_BYTES, c as hexToRgb, d as derivePropertyName, f as getProperty, g as APP_THEME_COLOR, h as APP_LOGO_SOURCE, i as deriveOppositeColor, k as ThemeDataService, l as hslToRgb, m as ThemeStore, n as resolvePallet, o as rgbToHex, p as setProperty, r as deriveContrastColor, s as rgbToHsl, t as applyColorsToElement, u as parseColor, v as appThemeColorFactory, w as isReadableOn, x as appColorBrand, y as paintAppColor } from "./magmonium-one-color-utl-BA51l-Rw.mjs";
6
6
  import "./magmonium-one-theme-BtQyLRdQ.mjs";
7
- import { a as sectionTableColumnId, c as sortSectionTableRows, d as PercentagePipe, f as MoneyPipe, i as nextSectionTableSort, l as AssetUrlPipe, n as SectionTableSortPipe, o as sectionTableColumnWidths, p as TimeAgoPipe, r as defaultSectionTableSort, s as sectionTableFrozenCount, t as LabelComponent, u as CompactNumberPipe } from "./magmonium-one-label-BJcQs0Nd.mjs";
7
+ import { a as sectionTableColumnId, c as sortSectionTableRows, d as SignColorPipe, f as PercentagePipe, i as nextSectionTableSort, l as AssetUrlPipe, m as TimeAgoPipe, n as SectionTableSortPipe, o as sectionTableColumnWidths, p as MoneyPipe, r as defaultSectionTableSort, s as sectionTableFrozenCount, t as LabelComponent, u as CompactNumberPipe } from "./magmonium-one-label-23DjRQdd.mjs";
8
8
  import { a as SIZE_CONTEXT, c as SHARED_ICONS, i as APP_LOGO_ICON, n as CustomIconClass, o as injectParentSize, r as IconComponent, s as provideSizeContext, t as CustomIconEditComponent } from "./magmonium-one-icon-CH-g8CUR.mjs";
9
9
  import { i as resolveConfigAsset, n as toAttrNumber, r as ConfigComponent, t as toAttrBool } from "./magmonium-one-attribute-value-CPh-lJPV.mjs";
10
- import { a as isButtonName, c as formatBadgeCount, l as shouldShowBadge, n as SECTION_FORM_CONTEXT, o as ReactiveElementComponent, r as ImgComponent, s as BadgeComponent, t as ButtonComponent } from "./magmonium-one-button-BvX-kWgh.mjs";
10
+ import { a as isButtonName, c as formatBadgeCount, l as shouldShowBadge, n as SECTION_FORM_CONTEXT, o as ReactiveElementComponent, r as ImgComponent, s as BadgeComponent, t as ButtonComponent } from "./magmonium-one-button-CKHBcCoO.mjs";
11
11
  import { t as MRefDirective } from "./magmonium-one-m-ref-DLIAzywu.mjs";
12
12
  import { i as OptionsSourceDirective, n as normalizeAssetOptions, r as presetDefaultOption, t as assetOptions } from "./magmonium-one-options-asset-BNd1hbLw.mjs";
13
13
  import { t as InputType } from "./magmonium-one-input-DqHPorA1.mjs";
14
- import { r as PLACED_CHECKBOX, t as CheckboxInputComponent } from "./magmonium-one-checkbox-D4ZJV6AC.mjs";
14
+ import { r as PLACED_CHECKBOX, t as CheckboxInputComponent } from "./magmonium-one-checkbox-CSWhEUT4.mjs";
15
15
  import { a as ToolTipDirective, c as DragListItemDirective, d as MarginDirective, f as PaddingDirective, i as PositionDirective, l as DragListDirective, n as stringToColor, o as FileUploadDirective, p as SPACING_INWARD, r as HighlightDirective, s as AutosizeDirective, t as MHeroColorDirective, u as DraggableDirective } from "./magmonium-one-directives-DM6J1Hvs.mjs";
16
- import { t as HeaderComponent } from "./magmonium-one-header-BylTUAGY.mjs";
17
- import { i as mergeUniqueWith, n as mergeUnique, r as mergeUniqueBy, t as ButtonGroupComponent } from "./magmonium-one-group-cbqVX51M.mjs";
18
- import { n as ContextMenuBoxComponent, r as MenuComponent, t as ContextMenuComponent } from "./magmonium-one-menu-Ct4s8-W_.mjs";
16
+ import { t as HeaderComponent } from "./magmonium-one-header-CkW_6y7m.mjs";
17
+ import { i as mergeUniqueWith, n as mergeUnique, r as mergeUniqueBy, t as ButtonGroupComponent } from "./magmonium-one-group-sz1ufuBT.mjs";
18
+ import { n as ContextMenuBoxComponent, r as MenuComponent, t as ContextMenuComponent } from "./magmonium-one-menu-Nj_Aj1fs.mjs";
19
19
  import { t as BaseInputComponent } from "./magmonium-one-base-input-B92NOmxz.mjs";
20
20
  import { i as getScrollParent, n as activeElementWithin, r as classListSignal, t as BaseTextInputComponent } from "./magmonium-one-base-text-ChjG3GNw.mjs";
21
21
  import { t as TextOutputComponent } from "./magmonium-one-text-output-9QMznoe1.mjs";
22
22
  import { t as BaseCheckboxInputComponent } from "./magmonium-one-base-checkbox-LdM6dqF_.mjs";
23
- import { t as RadioInputComponent } from "./magmonium-one-radio-yizQzCrD.mjs";
24
- import { t as TextInputComponent } from "./magmonium-one-text-DLKgk_bm.mjs";
25
- import { r as BaseArrayInputComponent, t as MultiRangeInputComponent } from "./magmonium-one-multi-range-CDJX9iFR.mjs";
26
- import { t as RangeInputComponent } from "./magmonium-one-range-B6JesBOM.mjs";
27
- import { n as DROPDOWN_IMPORTS, r as DROPDOWN_TEMPLATE, t as BaseDropdownComponent } from "./magmonium-one-base-dropdown-BT3zFQ6c.mjs";
23
+ import { t as RadioInputComponent } from "./magmonium-one-radio-BjsRiF80.mjs";
24
+ import { t as TextInputComponent } from "./magmonium-one-text-XSYTtGBf.mjs";
25
+ import { r as BaseArrayInputComponent, t as MultiRangeInputComponent } from "./magmonium-one-multi-range-DYIv7jB7.mjs";
26
+ import { t as RangeInputComponent } from "./magmonium-one-range-M_HBccdt.mjs";
27
+ import { n as DROPDOWN_IMPORTS, r as DROPDOWN_TEMPLATE, t as BaseDropdownComponent } from "./magmonium-one-base-dropdown-CCsetZ1L.mjs";
28
28
  import { o as isEditableImage, s as outputSize } from "./magmonium-one-image-frame-BTSaUSAi.mjs";
29
29
  import * as i0 from "@angular/core";
30
30
  import { ApplicationRef, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DOCUMENT, DestroyRef, Directive, ElementRef, EventEmitter, HostAttributeToken, HostBinding, HostListener, Injectable, InjectionToken, Injector, Input, LOCALE_ID, Output, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, afterEveryRender, afterNextRender, afterRenderEffect, booleanAttribute, computed, contentChild, contentChildren, createComponent, effect, forwardRef, inject, input, inputBinding, linkedSignal, makeEnvironmentProviders, model, numberAttribute, output, outputBinding, provideAppInitializer, provideBrowserGlobalErrorListeners, provideZonelessChangeDetection, reflectComponentType, runInInjectionContext, signal, twoWayBinding, untracked, viewChild, viewChildren } from "@angular/core";
@@ -744,7 +744,7 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
744
744
  try {
745
745
  switch (type) {
746
746
  case InputType.RADIO: {
747
- const { RadioInputComponent } = await import("./magmonium-one-radio-yizQzCrD.mjs").then((n) => n.n);
747
+ const { RadioInputComponent } = await import("./magmonium-one-radio-BjsRiF80.mjs").then((n) => n.n);
748
748
  this.createDynamicComponent(seq, RadioInputComponent);
749
749
  break;
750
750
  }
@@ -759,12 +759,12 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
759
759
  break;
760
760
  }
761
761
  case InputType.PASSWORD: {
762
- const { PasswordInputComponent } = await import("./magmonium-one-password-zW1YmyBs.mjs");
762
+ const { PasswordInputComponent } = await import("./magmonium-one-password-c2JsD6C5.mjs");
763
763
  this.createDynamicComponent(seq, PasswordInputComponent);
764
764
  break;
765
765
  }
766
766
  case InputType.OTP: {
767
- const { OtpInputComponent } = await import("./magmonium-one-otp-CS1Z0KKQ.mjs");
767
+ const { OtpInputComponent } = await import("./magmonium-one-otp-a8D3AUU6.mjs");
768
768
  this.createDynamicComponent(seq, OtpInputComponent);
769
769
  break;
770
770
  }
@@ -774,7 +774,7 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
774
774
  break;
775
775
  }
776
776
  case InputType.CHECKBOX: {
777
- const { CheckboxInputComponent } = await import("./magmonium-one-checkbox-D4ZJV6AC.mjs").then((n) => n.n);
777
+ const { CheckboxInputComponent } = await import("./magmonium-one-checkbox-CSWhEUT4.mjs").then((n) => n.n);
778
778
  this.createDynamicComponent(seq, CheckboxInputComponent, [], true);
779
779
  break;
780
780
  }
@@ -789,12 +789,12 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
789
789
  break;
790
790
  }
791
791
  case InputType.RANGE: {
792
- const { RangeInputComponent } = await import("./magmonium-one-range-B6JesBOM.mjs").then((n) => n.n);
792
+ const { RangeInputComponent } = await import("./magmonium-one-range-M_HBccdt.mjs").then((n) => n.n);
793
793
  this.createDynamicComponent(seq, RangeInputComponent);
794
794
  break;
795
795
  }
796
796
  case InputType.MULTI_RANGE: {
797
- const { MultiRangeInputComponent } = await import("./magmonium-one-multi-range-CDJX9iFR.mjs").then((n) => n.n);
797
+ const { MultiRangeInputComponent } = await import("./magmonium-one-multi-range-DYIv7jB7.mjs").then((n) => n.n);
798
798
  this.createDynamicComponent(seq, MultiRangeInputComponent);
799
799
  break;
800
800
  }
@@ -845,7 +845,7 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
845
845
  break;
846
846
  }
847
847
  default: {
848
- const { TextInputComponent } = await import("./magmonium-one-text-DLKgk_bm.mjs").then((n) => n.n);
848
+ const { TextInputComponent } = await import("./magmonium-one-text-XSYTtGBf.mjs").then((n) => n.n);
849
849
  this.createDynamicComponent(seq, TextInputComponent);
850
850
  break;
851
851
  }
@@ -23427,7 +23427,7 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
23427
23427
  const seq = ++this.dynamicSeq;
23428
23428
  switch (this.config()?.type) {
23429
23429
  case InputType.RADIO: {
23430
- const { RadioInputComponent } = await import("./magmonium-one-radio-yizQzCrD.mjs").then((n) => n.n);
23430
+ const { RadioInputComponent } = await import("./magmonium-one-radio-BjsRiF80.mjs").then((n) => n.n);
23431
23431
  this.createDynamicComponent(seq, RadioInputComponent);
23432
23432
  break;
23433
23433
  }
@@ -23442,12 +23442,12 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
23442
23442
  break;
23443
23443
  }
23444
23444
  case InputType.PASSWORD: {
23445
- const { PasswordInputComponent } = await import("./magmonium-one-password-zW1YmyBs.mjs");
23445
+ const { PasswordInputComponent } = await import("./magmonium-one-password-c2JsD6C5.mjs");
23446
23446
  this.createDynamicComponent(seq, PasswordInputComponent);
23447
23447
  break;
23448
23448
  }
23449
23449
  case InputType.OTP: {
23450
- const { OtpInputComponent } = await import("./magmonium-one-otp-CS1Z0KKQ.mjs");
23450
+ const { OtpInputComponent } = await import("./magmonium-one-otp-a8D3AUU6.mjs");
23451
23451
  this.createDynamicComponent(seq, OtpInputComponent);
23452
23452
  break;
23453
23453
  }
@@ -23457,7 +23457,7 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
23457
23457
  break;
23458
23458
  }
23459
23459
  case InputType.CHECKBOX: {
23460
- const { CheckboxInputComponent } = await import("./magmonium-one-checkbox-D4ZJV6AC.mjs").then((n) => n.n);
23460
+ const { CheckboxInputComponent } = await import("./magmonium-one-checkbox-CSWhEUT4.mjs").then((n) => n.n);
23461
23461
  this.createDynamicComponent(seq, CheckboxInputComponent, [], true);
23462
23462
  break;
23463
23463
  }
@@ -23472,12 +23472,12 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
23472
23472
  break;
23473
23473
  }
23474
23474
  case InputType.RANGE: {
23475
- const { RangeInputComponent } = await import("./magmonium-one-range-B6JesBOM.mjs").then((n) => n.n);
23475
+ const { RangeInputComponent } = await import("./magmonium-one-range-M_HBccdt.mjs").then((n) => n.n);
23476
23476
  this.createDynamicComponent(seq, RangeInputComponent);
23477
23477
  break;
23478
23478
  }
23479
23479
  case InputType.MULTI_RANGE: {
23480
- const { MultiRangeInputComponent } = await import("./magmonium-one-multi-range-CDJX9iFR.mjs").then((n) => n.n);
23480
+ const { MultiRangeInputComponent } = await import("./magmonium-one-multi-range-DYIv7jB7.mjs").then((n) => n.n);
23481
23481
  this.createDynamicComponent(seq, MultiRangeInputComponent);
23482
23482
  break;
23483
23483
  }
@@ -23528,7 +23528,7 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
23528
23528
  break;
23529
23529
  }
23530
23530
  default: {
23531
- const { TextInputComponent } = await import("./magmonium-one-text-DLKgk_bm.mjs").then((n) => n.n);
23531
+ const { TextInputComponent } = await import("./magmonium-one-text-XSYTtGBf.mjs").then((n) => n.n);
23532
23532
  this.createDynamicComponent(seq, TextInputComponent);
23533
23533
  break;
23534
23534
  }
@@ -25918,7 +25918,7 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
25918
25918
  openEditor = async (file, size) => {
25919
25919
  const modalStore = this.modalStore;
25920
25920
  if (!modalStore) return void 0;
25921
- const { ImageEditorComponent } = await import("./magmonium-one-image-editor-FomMDHZl.mjs");
25921
+ const { ImageEditorComponent } = await import("./magmonium-one-image-editor-BYNN15tt.mjs");
25922
25922
  const ratio = String(this.config()?.ratio ?? "");
25923
25923
  return new Promise((resolve) => {
25924
25924
  const modalRef = new ModalRef();
@@ -53471,6 +53471,6 @@ i0.ɵɵngDeclareClassMetadata({
53471
53471
  }]
53472
53472
  }
53473
53473
  });
53474
- export { ACCESS_DOMAINS, APP_CONTEXT_REF, APP_LINK, APP_LOGO_ICON, APP_LOGO_SOURCE, APP_THEME_COLOR, ASSET_BASE_URL, AUDIENCE_ICONS, AUDIENCE_LEVELS, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppAvailability, AppCardComponent, AppIdentityService, AppLogoComponent, AppLogoState, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AudiencePickerBoxComponent, AudiencePickerComponent, AuthActivityPageComponent, AuthApiService, AuthStore, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, BrowserLocaleService, ButtonComponent, ButtonGroupComponent, CALLING_APP_HEADER, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, ChatBubbleComponent, CheckboxGroupComponent, CheckboxInputComponent, ClearableInputComponent, ClipboardService, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, CompactNumberPipe, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_AUDIENCE, DEFAULT_DENIAL, DEFAULT_DOC_ALIGN, DEFAULT_DOC_DENSITY, DEFAULT_DOC_VARIANT, DEFAULT_FILTER_RANGE_MODE, DEFAULT_FILTER_VARIANT, DEFAULT_NAV_PARAM, DEFAULT_NAV_SEGMENT, DEFAULT_SECTION_CHART_RANGES, DEFAULT_SIZE, DOCK_MIN_PAGE_REMAINDER, DOCS_FOLDER, DOC_ACTION_ICONS, DOC_ALIGNS, DOC_DENSITIES, DOC_EDIT_ACTIONS, DOC_TOOLBAR_GROUPS, DOC_VARIANTS, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DocComponent, DocEditorComponent, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FILTER_GROUP_CONTEXT, FILTER_RANGE_MODES, FILTER_VARIANTS, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GRID_BREAKPOINTS, GetNavService, HOST_SESSION, HeaderComponent, HeatSwatchComponent, HighlightDirective, HttpService, HttpSharingClient, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOADING_ACTIONS_REF, LOGIN_COMPONENT, LOGIN_STORE, LOGO_GLYPH_MAX_BYTES, LanguageComponent, ListComponent, LogoComponent, LogoGlyphInputComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MOUNT_STATIC_SEGMENT, MOUNT_TOKEN, MRefDirective, MStepComponent, MURL_PARAM, MURL_SEP, ManifestEnrichmentService, MarginDirective, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, MultiselectInputComponent, MurlUrlSerializer, NAV_DEFAULT_MURL, NAV_ID_SEP, NAV_MAIN_BUTTONS, NAV_SEGMENT_RE, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavHeaderComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OVERLAY_WIDGETS, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PLATFORM_BUTTON_NAV_IDS, PLATFORM_EXTENSIBLE_NAV_IDS, PLATFORM_NAV_MAP, PLATFORM_ROOT_CHILDREN, PLUGIN_FALLBACK_LANG, PLUGIN_OUTPUT_EVENT, PLUGIN_SCREENS, PaddingDirective, PaginationComponent, PanelComponent, PercentagePipe, PlaygroundComponent, PluginComponent, PluginInputComponent, PluginOutputComponent, PositionDirective, PwaInstallComponent, RECENT_SEARCH_LIMIT, REMOTE_BOOT_TIMEOUT_MS, REMOTE_PAGE_RELOAD, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_ANSWER_KEY, SEARCH_LABEL_KEY, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_CHART_CUSTOM_RANGE, SECTION_CHART_SCALES, SECTION_FORM_CONTEXT, SECTION_TABLE_VARIANTS, SHARED_ICONS, SHARING_CLIENT, SIZE_CONTEXT, SPACING_INWARD, SPLASH_ID, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionCarouselComponent, SectionChartComponent, SectionChartSeriesComponent, SectionComponent, SectionFilterComponent, SectionFilterGroupComponent, SectionFilterMenuComponent, SectionFilterPanelComponent, SectionFilterRangePanelComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionHeroComponent, SectionPaginationComponent, SectionSearchComponent, SectionStepperComponent, SectionTableCellComponent, SectionTableComponent, SectionTableRowComponent, SectionTableSortPipe, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, ShapeComponent, SharedStoreRegistry, SidePanelDirective, Size, SocketStore, SortComponent, StatComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeDataService, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, TreeGridComponent, URL_SEP, USER_STORE_REF, USER_TAB_MAP, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_BUNDLE, WC_NAVIGATE_EVENT, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, activeElementWithin, allowedCodes, anchorNavId, appColorBrand, appLogoShadowColor, appThemeColorFactory, applyColorsToElement, applyDocEdit, assetOptions, baseUnderHost, bootstrapMagApp, bootstrapPwaInstall, browserLocale, buildWcBaseUrl, calculateLuminance, calculateRanks, cellText, checkDoc, checkFilterCondition, childNavId, claimDenial, classListSignal, coerceSize, cornerEdge, cornerSide, createLoadingState, createMap, createPlatformNavMap, createPluginElement, definePluginScreens, definedWcBundleOf, definedWcTierOf, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, docActionKey, docAssetCandidates, docProblemKey, docRemotePath, emailValidation, escapeHtml, evaluate, evaluateBool, exposeScreens, exposedScreensOf, fieldBoolean, fieldNumber, fieldString, filterHoldsList, filterHoldsOneBound, filterHoldsOptions, filterHoldsRange, filterList, filterNumber, filterNumberList, filterOne, filterPanelOf, filterPanelWidth, filterRange, filterTreeGridRows, filterValueList, filterValues, flattenTreeGridRows, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getTreeGridRow, getUniqueId, getValue, hasErrorComputed, heatColor, heatShare, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initialState, initials, injectAuthenticate, injectDefaultDenial, injectInstallApp, injectParentSize, injectScrollSticky, isBootRedirect, isButtonName, isCancelledComputed, isExtensiblePlatformNavId, isJson, isLightAppColor, isLoadingComputed, isLocalhost, isNavCountConfig, isNavInstanceConfig, isNavMenuConfig, isNavRowsConfig, isNavVisibilityConfig, isPlatformNavId, isPlatformPanelNavId, isReadableOn, isSize, isTierPreview, isUrlLocalhost, isValidNavId, isValidNavSegment, isWebComponent, linkToId, linkToNav, loadingActions, logoGlyphMaskUrl, mInterceptor, manualValidation, matchFieldValidation, matchMount, maxLengthValidation, maxValidation, mergePlatformNav, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkInlineToHtml, miniMarkToHtml, mountFor, mountPatternProblem, mountPatternText, mountSegmentOf, mountTokenOf, navIdChain, navIdFor, navIdSegment, navIdToRoutePath, navIdToSegments, navParamOf, navTailMatcher, navToId, navVisibilityGuard, nextSectionTableSort, normalizeAppColor, normalizeAssetOptions, offsetOfLine, outletPathOf, outletSegmentsOf, paintAppColor, parentNavId, parseAddress, parseColor, parseMountPattern, parsePatternNames, patternValidation, patternsValidation, permissionRefusal, pickCount, pickSupportedLanguage, picksMembers, platformNavWidgets, pluginTag, presetDefaultOption, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideMurlUrlSerializer, provideNavWidgets, provideOverlayWidgets, providePlatformNavWidgets, providePluginRuntime, provideSearch, provideSizeContext, provideUserTabs, publicGuard, readChartPoints, readFieldPatterns, readableAppColor, rebuildLogoGlyph, recordDefinedWcTier, registerSessionRenewal, remoteOutletRoute, renderAddress, renderDocument, requiredValidation, resolveConfigAsset, resolveIconSize, resolvePallet, resolvePatternRules, resolveSize, resolveSpacing, rgbToHex, rgbToHsl, rowHasChildren, samePatterns, sectionTableColumnId, sectionTableColumnWidths, sectionTableFrozenCount, segmentsToNavId, setProperty, setTreeGridChildren, setWcLocalPort, setWcTier, settingsWidgets, shouldShowBadge, sortSectionTableRows, splashHtml, splitNavId, splitOnMatch, splitPath, stringToColor, tailRouteOf, toAttrBool, toAttrNumber, toCssLength, toHostNavId, toLength, toLocalNavId, toggleGroup, toggleTreeGridRow, toggleUid, unfetchedPlatformNav, ungroupedDocActions, urlValidation, wcLocalBaseOf, wcTierOf, withLevel };
53474
+ export { ACCESS_DOMAINS, APP_CONTEXT_REF, APP_LINK, APP_LOGO_ICON, APP_LOGO_SOURCE, APP_THEME_COLOR, ASSET_BASE_URL, AUDIENCE_ICONS, AUDIENCE_LEVELS, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppAvailability, AppCardComponent, AppIdentityService, AppLogoComponent, AppLogoState, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AudiencePickerBoxComponent, AudiencePickerComponent, AuthActivityPageComponent, AuthApiService, AuthStore, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, BrowserLocaleService, ButtonComponent, ButtonGroupComponent, CALLING_APP_HEADER, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, ChatBubbleComponent, CheckboxGroupComponent, CheckboxInputComponent, ClearableInputComponent, ClipboardService, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, CompactNumberPipe, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_AUDIENCE, DEFAULT_DENIAL, DEFAULT_DOC_ALIGN, DEFAULT_DOC_DENSITY, DEFAULT_DOC_VARIANT, DEFAULT_FILTER_RANGE_MODE, DEFAULT_FILTER_VARIANT, DEFAULT_NAV_PARAM, DEFAULT_NAV_SEGMENT, DEFAULT_SECTION_CHART_RANGES, DEFAULT_SIZE, DOCK_MIN_PAGE_REMAINDER, DOCS_FOLDER, DOC_ACTION_ICONS, DOC_ALIGNS, DOC_DENSITIES, DOC_EDIT_ACTIONS, DOC_TOOLBAR_GROUPS, DOC_VARIANTS, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DocComponent, DocEditorComponent, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FILTER_GROUP_CONTEXT, FILTER_RANGE_MODES, FILTER_VARIANTS, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GRID_BREAKPOINTS, GetNavService, HOST_SESSION, HeaderComponent, HeatSwatchComponent, HighlightDirective, HttpService, HttpSharingClient, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOADING_ACTIONS_REF, LOGIN_COMPONENT, LOGIN_STORE, LOGO_GLYPH_MAX_BYTES, LanguageComponent, ListComponent, LogoComponent, LogoGlyphInputComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MOUNT_STATIC_SEGMENT, MOUNT_TOKEN, MRefDirective, MStepComponent, MURL_PARAM, MURL_SEP, ManifestEnrichmentService, MarginDirective, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, MultiselectInputComponent, MurlUrlSerializer, NAV_DEFAULT_MURL, NAV_ID_SEP, NAV_MAIN_BUTTONS, NAV_SEGMENT_RE, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavHeaderComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OVERLAY_WIDGETS, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PLATFORM_BUTTON_NAV_IDS, PLATFORM_EXTENSIBLE_NAV_IDS, PLATFORM_NAV_MAP, PLATFORM_ROOT_CHILDREN, PLUGIN_FALLBACK_LANG, PLUGIN_OUTPUT_EVENT, PLUGIN_SCREENS, PaddingDirective, PaginationComponent, PanelComponent, PercentagePipe, PlaygroundComponent, PluginComponent, PluginInputComponent, PluginOutputComponent, PositionDirective, PwaInstallComponent, RECENT_SEARCH_LIMIT, REMOTE_BOOT_TIMEOUT_MS, REMOTE_PAGE_RELOAD, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_ANSWER_KEY, SEARCH_LABEL_KEY, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_CHART_CUSTOM_RANGE, SECTION_CHART_SCALES, SECTION_FORM_CONTEXT, SECTION_TABLE_VARIANTS, SHARED_ICONS, SHARING_CLIENT, SIZE_CONTEXT, SPACING_INWARD, SPLASH_ID, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionCarouselComponent, SectionChartComponent, SectionChartSeriesComponent, SectionComponent, SectionFilterComponent, SectionFilterGroupComponent, SectionFilterMenuComponent, SectionFilterPanelComponent, SectionFilterRangePanelComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionHeroComponent, SectionPaginationComponent, SectionSearchComponent, SectionStepperComponent, SectionTableCellComponent, SectionTableComponent, SectionTableRowComponent, SectionTableSortPipe, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, ShapeComponent, SharedStoreRegistry, SidePanelDirective, SignColorPipe, Size, SocketStore, SortComponent, StatComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeDataService, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, TreeGridComponent, URL_SEP, USER_STORE_REF, USER_TAB_MAP, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_BUNDLE, WC_NAVIGATE_EVENT, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, activeElementWithin, allowedCodes, anchorNavId, appColorBrand, appLogoShadowColor, appThemeColorFactory, applyColorsToElement, applyDocEdit, assetOptions, baseUnderHost, bootstrapMagApp, bootstrapPwaInstall, browserLocale, buildWcBaseUrl, calculateLuminance, calculateRanks, cellText, checkDoc, checkFilterCondition, childNavId, claimDenial, classListSignal, coerceSize, cornerEdge, cornerSide, createLoadingState, createMap, createPlatformNavMap, createPluginElement, definePluginScreens, definedWcBundleOf, definedWcTierOf, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, docActionKey, docAssetCandidates, docProblemKey, docRemotePath, emailValidation, escapeHtml, evaluate, evaluateBool, exposeScreens, exposedScreensOf, fieldBoolean, fieldNumber, fieldString, filterHoldsList, filterHoldsOneBound, filterHoldsOptions, filterHoldsRange, filterList, filterNumber, filterNumberList, filterOne, filterPanelOf, filterPanelWidth, filterRange, filterTreeGridRows, filterValueList, filterValues, flattenTreeGridRows, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getTreeGridRow, getUniqueId, getValue, hasErrorComputed, heatColor, heatShare, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initialState, initials, injectAuthenticate, injectDefaultDenial, injectInstallApp, injectParentSize, injectScrollSticky, isBootRedirect, isButtonName, isCancelledComputed, isExtensiblePlatformNavId, isJson, isLightAppColor, isLoadingComputed, isLocalhost, isNavCountConfig, isNavInstanceConfig, isNavMenuConfig, isNavRowsConfig, isNavVisibilityConfig, isPlatformNavId, isPlatformPanelNavId, isReadableOn, isSize, isTierPreview, isUrlLocalhost, isValidNavId, isValidNavSegment, isWebComponent, linkToId, linkToNav, loadingActions, logoGlyphMaskUrl, mInterceptor, manualValidation, matchFieldValidation, matchMount, maxLengthValidation, maxValidation, mergePlatformNav, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkInlineToHtml, miniMarkToHtml, mountFor, mountPatternProblem, mountPatternText, mountSegmentOf, mountTokenOf, navIdChain, navIdFor, navIdSegment, navIdToRoutePath, navIdToSegments, navParamOf, navTailMatcher, navToId, navVisibilityGuard, nextSectionTableSort, normalizeAppColor, normalizeAssetOptions, offsetOfLine, outletPathOf, outletSegmentsOf, paintAppColor, parentNavId, parseAddress, parseColor, parseMountPattern, parsePatternNames, patternValidation, patternsValidation, permissionRefusal, pickCount, pickSupportedLanguage, picksMembers, platformNavWidgets, pluginTag, presetDefaultOption, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideMurlUrlSerializer, provideNavWidgets, provideOverlayWidgets, providePlatformNavWidgets, providePluginRuntime, provideSearch, provideSizeContext, provideUserTabs, publicGuard, readChartPoints, readFieldPatterns, readableAppColor, rebuildLogoGlyph, recordDefinedWcTier, registerSessionRenewal, remoteOutletRoute, renderAddress, renderDocument, requiredValidation, resolveConfigAsset, resolveIconSize, resolvePallet, resolvePatternRules, resolveSize, resolveSpacing, rgbToHex, rgbToHsl, rowHasChildren, samePatterns, sectionTableColumnId, sectionTableColumnWidths, sectionTableFrozenCount, segmentsToNavId, setProperty, setTreeGridChildren, setWcLocalPort, setWcTier, settingsWidgets, shouldShowBadge, sortSectionTableRows, splashHtml, splitNavId, splitOnMatch, splitPath, stringToColor, tailRouteOf, toAttrBool, toAttrNumber, toCssLength, toHostNavId, toLength, toLocalNavId, toggleGroup, toggleTreeGridRow, toggleUid, unfetchedPlatformNav, ungroupedDocActions, urlValidation, wcLocalBaseOf, wcTierOf, withLevel };
53475
53475
 
53476
53476
  //# sourceMappingURL=magmonium-one.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmonium/one",
3
- "version": "0.4.66",
3
+ "version": "0.4.68",
4
4
  "description": "Magmonium One — Angular design-system primitives for mm Apps",
5
5
  "author": "magmonium",
6
6
  "license": "MIT",
@@ -510,6 +510,21 @@ export declare class PercentagePipe implements PipeTransform {
510
510
  static ɵfac: i0.ɵɵFactoryDeclaration<PercentagePipe, never>;
511
511
  static ɵpipe: i0.ɵɵPipeDeclaration<PercentagePipe, "percentage", true>;
512
512
  }
513
+ /**
514
+ * Reads a number's sign as a colour — `success` above zero, `error` below — for
515
+ * the `color` input `m-text-output` resolves against the active theme, so a
516
+ * gain and a loss follow the theme rather than freezing one theme's hex.
517
+ *
518
+ * Zero, `null`, `undefined` and `NaN` answer `undefined`: no colour is the
519
+ * component's own default, and a flat reading is neither a gain nor a loss.
520
+ *
521
+ * Pure, like `PercentagePipe`: its output depends on its arguments alone.
522
+ */
523
+ export declare class SignColorPipe implements PipeTransform {
524
+ transform(value: number | undefined | null, positive?: string, negative?: string): string | undefined;
525
+ static ɵfac: i0.ɵɵFactoryDeclaration<SignColorPipe, never>;
526
+ static ɵpipe: i0.ɵɵPipeDeclaration<SignColorPipe, "signColor", true>;
527
+ }
513
528
  /**
514
529
  * Renders a large number as a compact denominated reading — `12500` becomes
515
530
  * `12.5 k`, `1250000` becomes `12.5 l` (or `1.3 m` on the `INTL` ladder).
@@ -1539,7 +1554,7 @@ export declare class DraggableDirective {
1539
1554
  readonly max: import("@angular/core").InputSignal<Position | undefined>;
1540
1555
  readonly dragStart: import("@angular/core").OutputEmitterRef<void>;
1541
1556
  readonly dragEnd: import("@angular/core").OutputEmitterRef<void>;
1542
- protected readonly cursor: import("@angular/core").Signal<"ew-resize" | "ns-resize" | "move">;
1557
+ protected readonly cursor: import("@angular/core").Signal<"move" | "ew-resize" | "ns-resize">;
1543
1558
  protected state: DraggableState;
1544
1559
  set pos(position: Position);
1545
1560
  /**
@@ -2841,7 +2856,7 @@ export declare class ButtonComponent extends ReactiveElementComponent<Button> {
2841
2856
  navParams: import("@angular/core").InputSignal<Record<string, string | number> | undefined>;
2842
2857
  href: import("@angular/core").InputSignal<string | undefined>;
2843
2858
  disabled: import("@angular/core").InputSignal<boolean | undefined>;
2844
- variant: import("@angular/core").InputSignal<"primary" | "ghost" | "secondary" | "tab" | undefined>;
2859
+ variant: import("@angular/core").InputSignal<"ghost" | "primary" | "secondary" | "tab" | undefined>;
2845
2860
  name: import("@angular/core").InputSignal<string | undefined>;
2846
2861
  baseUrl: import("@angular/core").InputSignal<string | undefined>;
2847
2862
  one: import("@angular/core").InputSignal<boolean | undefined>;
@@ -3461,7 +3476,7 @@ export declare class ButtonGroupComponent extends ConfigComponent<ButtonGroup> {
3461
3476
  color?: string | keyof import("dist/libs/cli/src").ThemeColor;
3462
3477
  align?: ConfigAlign;
3463
3478
  isLoading?: boolean;
3464
- variant?: "primary" | "ghost" | "secondary" | "tab" | undefined;
3479
+ variant?: "ghost" | "primary" | "secondary" | "tab" | undefined;
3465
3480
  label?: string;
3466
3481
  noTranslate?: boolean;
3467
3482
  params?: Record<string, string>;
@@ -4228,7 +4243,7 @@ declare class BaseTextInputComponent<T extends Input = TextInput> extends BaseIn
4228
4243
  private autofocused;
4229
4244
  constructor();
4230
4245
  readonly isFocused: import("@angular/core").WritableSignal<boolean>;
4231
- readonly iconColor: import("@angular/core").Signal<"error" | "border" | "focus">;
4246
+ readonly iconColor: import("@angular/core").Signal<"border" | "error" | "focus">;
4232
4247
  protected readonly setValue: (value: string) => void;
4233
4248
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseTextInputComponent<any>, never>;
4234
4249
  static ɵdir: i0.ɵɵDirectiveDeclaration<BaseTextInputComponent<any>, never, never, {
@@ -4848,7 +4863,7 @@ export declare class SectionFilterGroupComponent {
4848
4863
  readonly paddingX: import("@angular/core").InputSignal<boolean | undefined>;
4849
4864
  readonly paddingY: import("@angular/core").InputSignal<boolean | undefined>;
4850
4865
  readonly maxWidth: import("@angular/core").InputSignal<string | undefined>;
4851
- readonly align: import("@angular/core").InputSignal<"center" | "left" | "right" | undefined>;
4866
+ readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
4852
4867
  readonly config: import("@angular/core").InputSignal<SectionFilterGroupConfig | undefined>;
4853
4868
  /**
4854
4869
  * The whole group's selection, keyed by each Filter's `name` — one key per
@@ -4866,7 +4881,7 @@ export declare class SectionFilterGroupComponent {
4866
4881
  protected readonly resolvedPadding: import("@angular/core").Signal<boolean>;
4867
4882
  protected readonly resolvedPaddingX: import("@angular/core").Signal<boolean>;
4868
4883
  protected readonly resolvedPaddingY: import("@angular/core").Signal<boolean>;
4869
- protected readonly resolvedAlign: import("@angular/core").Signal<"center" | "left" | "right">;
4884
+ protected readonly resolvedAlign: import("@angular/core").Signal<"left" | "center" | "right">;
4870
4885
  protected readonly resolvedMaxWidth: import("@angular/core").Signal<string | undefined>;
4871
4886
  protected readonly noBorder: import("@angular/core").Signal<boolean>;
4872
4887
  /**
@@ -4971,7 +4986,7 @@ export declare class SectionStepperComponent implements OnDestroy {
4971
4986
  readonly lg: import("@angular/core").InputSignal<number | undefined>;
4972
4987
  readonly xl: import("@angular/core").InputSignal<number | undefined>;
4973
4988
  readonly xxl: import("@angular/core").InputSignal<number | undefined>;
4974
- readonly orientation: import("@angular/core").InputSignal<"vertical" | "horizontal" | undefined>;
4989
+ readonly orientation: import("@angular/core").InputSignal<"horizontal" | "vertical" | undefined>;
4975
4990
  readonly stepChange: import("@angular/core").OutputEmitterRef<number>;
4976
4991
  private readonly isCompact;
4977
4992
  private readonly mediaMatched;
@@ -5045,7 +5060,7 @@ export declare class SectionStepperComponent implements OnDestroy {
5045
5060
  export declare class SectionBadgesComponent {
5046
5061
  readonly wrap: import("@angular/core").InputSignal<boolean>;
5047
5062
  readonly border: import("@angular/core").InputSignal<boolean>;
5048
- readonly align: import("@angular/core").InputSignal<"center" | "left" | "right">;
5063
+ readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
5049
5064
  private readonly sectionContext;
5050
5065
  protected readonly hasBorder: import("@angular/core").Signal<boolean>;
5051
5066
  static ɵfac: i0.ɵɵFactoryDeclaration<SectionBadgesComponent, never>;
@@ -5193,7 +5208,7 @@ export declare class SectionPaginationComponent {
5193
5208
  * Entries that are not positive numbers drop rather than throw.
5194
5209
  */
5195
5210
  readonly perPageOptions: import("@angular/core").InputSignal<string | undefined>;
5196
- readonly align: import("@angular/core").InputSignal<"center" | "left" | "right">;
5211
+ readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
5197
5212
  readonly showPerPage: import("@angular/core").InputSignal<boolean>;
5198
5213
  /** Hides the band outright once everything fits one page. */
5199
5214
  readonly hideOnSinglePage: import("@angular/core").InputSignal<boolean>;
@@ -5530,7 +5545,7 @@ export declare class SectionComponent extends ConfigComponent<SectionConfig> {
5530
5545
  readonly align: import("@angular/core").InputSignal<SectionAlign | undefined>;
5531
5546
  readonly alignX: import("@angular/core").InputSignal<GridAlignX | undefined>;
5532
5547
  readonly alignY: import("@angular/core").InputSignal<GridAlignY | undefined>;
5533
- readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | Size | undefined>;
5548
+ readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
5534
5549
  private readonly parentSize;
5535
5550
  readonly resolvedSize: import("@angular/core").Signal<Size>;
5536
5551
  protected readonly sizeLength: import("@angular/core").Signal<string>;
@@ -5701,8 +5716,8 @@ export declare class SectionHeaderComponent {
5701
5716
  readonly visibilityRule: import("@angular/core").InputSignal<((key: string, data?: unknown) => boolean) | undefined>;
5702
5717
  readonly disableRule: import("@angular/core").InputSignal<((key: string, data?: unknown) => boolean) | undefined>;
5703
5718
  readonly extraData: import("@angular/core").InputSignal<unknown>;
5704
- readonly align: import("@angular/core").InputSignal<"center" | "left" | "right" | undefined>;
5705
- readonly alignment: import("@angular/core").Signal<"center" | "left" | "right">;
5719
+ readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
5720
+ readonly alignment: import("@angular/core").Signal<"left" | "center" | "right">;
5706
5721
  readonly badge: import("@angular/core").InputSignal<BadgeCount | undefined>;
5707
5722
  readonly showBack: import("@angular/core").InputSignal<boolean>;
5708
5723
  readonly actionButton: import("@angular/core").InputSignal<string | undefined>;
@@ -5720,7 +5735,7 @@ export declare class SectionHeaderComponent {
5720
5735
  protected readonly sidepanel: import("@angular/core").Signal<boolean>;
5721
5736
  protected readonly noBorder: import("@angular/core").Signal<boolean>;
5722
5737
  protected readonly resolvedMaxWidth: import("@angular/core").Signal<string | undefined>;
5723
- protected readonly boxAlign: import("@angular/core").Signal<"center" | "left" | "right">;
5738
+ protected readonly boxAlign: import("@angular/core").Signal<"left" | "center" | "right">;
5724
5739
  protected readonly iconBox: import("@angular/core").Signal<string>;
5725
5740
  protected readonly isSticky: import("@angular/core").Signal<boolean>;
5726
5741
  protected readonly hasMenu: import("@angular/core").Signal<boolean>;
@@ -5867,7 +5882,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
5867
5882
  readonly vertical: import("@angular/core").InputSignal<boolean | undefined>;
5868
5883
  readonly align: import("@angular/core").InputSignal<ConfigAlign>;
5869
5884
  readonly variant: import("@angular/core").InputSignal<"spaced" | "joined" | undefined>;
5870
- readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | Size | undefined>;
5885
+ readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
5871
5886
  readonly fullWidth: import("@angular/core").InputSignal<boolean | undefined>;
5872
5887
  private readonly parentSize;
5873
5888
  readonly resolvedSize: import("@angular/core").Signal<Size>;
@@ -5875,7 +5890,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
5875
5890
  protected readonly resolvedFullWidth: import("@angular/core").Signal<boolean>;
5876
5891
  protected readonly resolvedVertical: import("@angular/core").Signal<boolean>;
5877
5892
  protected readonly resolvedVariant: import("@angular/core").Signal<"spaced" | "joined">;
5878
- protected readonly resolvedAlign: import("@angular/core").Signal<"center" | "left" | "right" | "bottom" | "top">;
5893
+ protected readonly resolvedAlign: import("@angular/core").Signal<"left" | "center" | "right" | "top" | "bottom">;
5879
5894
  static ɵfac: i0.ɵɵFactoryDeclaration<SectionButtonGroupComponent, never>;
5880
5895
  static ɵcmp: i0.ɵɵComponentDeclaration<SectionButtonGroupComponent, "m-section-button-group", never, {
5881
5896
  "vertical": {
@@ -5907,7 +5922,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
5907
5922
  }
5908
5923
  export declare class SectionFooterComponent {
5909
5924
  readonly sticky: import("@angular/core").InputSignal<boolean>;
5910
- readonly align: import("@angular/core").InputSignal<"center" | "left" | "right">;
5925
+ readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
5911
5926
  readonly maxWidth: import("@angular/core").InputSignal<string | undefined>;
5912
5927
  private readonly scrollSticky;
5913
5928
  protected readonly isSticky: import("@angular/core").Signal<boolean>;
@@ -5915,7 +5930,7 @@ export declare class SectionFooterComponent {
5915
5930
  protected readonly sidepanel: import("@angular/core").Signal<boolean>;
5916
5931
  protected readonly noBorder: import("@angular/core").Signal<boolean>;
5917
5932
  protected readonly resolvedMaxWidth: import("@angular/core").Signal<string | undefined>;
5918
- protected readonly boxAlign: import("@angular/core").Signal<"center" | "left" | "right">;
5933
+ protected readonly boxAlign: import("@angular/core").Signal<"left" | "center" | "right">;
5919
5934
  static ɵfac: i0.ɵɵFactoryDeclaration<SectionFooterComponent, never>;
5920
5935
  static ɵcmp: i0.ɵɵComponentDeclaration<SectionFooterComponent, "m-section-footer", never, {
5921
5936
  "sticky": {
@@ -8062,7 +8077,7 @@ declare class DropdownBoxComponent {
8062
8077
  }
8063
8078
  /** The trigger both option Fields draw: a searchable text input and a chevron. */
8064
8079
  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";
8065
- declare const DROPDOWN_IMPORTS: (typeof ButtonComponent | typeof LabelComponent | typeof SelectorDirective | typeof TextOutputComponent | typeof TextInputComponent)[];
8080
+ declare const DROPDOWN_IMPORTS: (typeof TextInputComponent | typeof SelectorDirective | typeof LabelComponent | typeof TextOutputComponent | typeof ButtonComponent)[];
8066
8081
  /**
8067
8082
  * Everything a Dropdown and a Multiselect share: the options, the search, the
8068
8083
  * keyboard walk and the panel. What differs is only what the Field holds — one
@@ -8246,7 +8261,7 @@ declare class ColorPickerBoxComponent implements AfterViewInit, OnDestroy {
8246
8261
  protected readonly _eyedropperConfig: import("@magmonium/one").Button;
8247
8262
  protected readonly _headerContextMenu: ContextMenu;
8248
8263
  protected readonly themeSwatches: import("@angular/core").Signal<{
8249
- key: "text" | "error" | "focus" | "mm" | "mmLite" | "mmDark" | "background" | "border" | "textSecondary" | "errorLight" | "warning" | "successLite" | "success" | "highlight" | "wealth";
8264
+ key: "mm" | "mmLite" | "mmDark" | "background" | "border" | "text" | "textSecondary" | "focus" | "error" | "errorLight" | "warning" | "successLite" | "success" | "highlight" | "wealth";
8250
8265
  color: string;
8251
8266
  }[]>;
8252
8267
  hue: import("@angular/core").WritableSignal<number>;
@@ -8991,7 +9006,7 @@ export declare class FileUploadInputComponent extends BaseInputComponent<FileUpl
8991
9006
  private readonly editorSize;
8992
9007
  private readonly maxSize;
8993
9008
  protected readonly isLocked: import("@angular/core").Signal<boolean>;
8994
- protected readonly dropZoneIconColor: import("@angular/core").Signal<"error" | "border" | "focus">;
9009
+ protected readonly dropZoneIconColor: import("@angular/core").Signal<"border" | "error" | "focus">;
8995
9010
  /** Object URLs of the previews on show, keyed by what the value holds. */
8996
9011
  private readonly previews;
8997
9012
  protected readonly heldFiles: import("@angular/core").Signal<HeldFile[]>;
@@ -9445,17 +9460,17 @@ export declare class SectionFormComponent<T extends object = Record<string, unkn
9445
9460
  protected readonly resolvesConfigAsset = false;
9446
9461
  readonly variant: import("@angular/core").InputSignal<string | undefined>;
9447
9462
  readonly maxWidth: import("@angular/core").InputSignal<string | undefined>;
9448
- readonly heightMode: import("@angular/core").InputSignal<"fixed" | "full" | undefined>;
9463
+ readonly heightMode: import("@angular/core").InputSignal<"full" | "fixed" | undefined>;
9449
9464
  readonly maxHeight: import("@angular/core").InputSignal<string | number | undefined>;
9450
9465
  readonly height: import("@angular/core").InputSignal<string | number | undefined>;
9451
- readonly align: import("@angular/core").InputSignal<"center" | "left" | "right" | undefined>;
9466
+ readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
9452
9467
  readonly padding: import("@angular/core").InputSignal<string | number | undefined>;
9453
9468
  readonly paddingX: import("@angular/core").InputSignal<string | number | undefined>;
9454
9469
  readonly paddingY: import("@angular/core").InputSignal<string | number | undefined>;
9455
9470
  readonly margin: import("@angular/core").InputSignal<string | number | undefined>;
9456
9471
  readonly marginX: import("@angular/core").InputSignal<string | number | undefined>;
9457
9472
  readonly marginY: import("@angular/core").InputSignal<string | number | undefined>;
9458
- readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | Size | undefined>;
9473
+ readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
9459
9474
  readonly autofocus: import("@angular/core").InputSignal<boolean>;
9460
9475
  data: import("@angular/core").InputSignal<T | undefined>;
9461
9476
  readonly dataChange: import("@angular/core").OutputEmitterRef<T>;
@@ -9500,7 +9515,7 @@ export declare class SectionFormComponent<T extends object = Record<string, unkn
9500
9515
  protected readonly handleSubmit: (event: Event) => void;
9501
9516
  readonly resolvedSize: import("@angular/core").Signal<Size>;
9502
9517
  protected readonly sizeLength: import("@angular/core").Signal<string | null>;
9503
- readonly resolvedAlign: import("@angular/core").Signal<"center" | "left" | "right">;
9518
+ readonly resolvedAlign: import("@angular/core").Signal<"left" | "center" | "right">;
9504
9519
  readonly resolvedVariant: import("@angular/core").Signal<string | undefined>;
9505
9520
  readonly resolvedMaxWidth: import("@angular/core").Signal<string | number | undefined>;
9506
9521
  private readonly resolvedPadding;
@@ -9512,7 +9527,7 @@ export declare class SectionFormComponent<T extends object = Record<string, unkn
9512
9527
  readonly resolvedMinHeight: import("@angular/core").Signal<string | undefined>;
9513
9528
  readonly resolvedMinWidth: import("@angular/core").Signal<string | undefined>;
9514
9529
  readonly resolvedMaxHeight: import("@angular/core").Signal<string | number | undefined>;
9515
- readonly resolvedHeightMode: import("@angular/core").Signal<"fixed" | "full" | undefined>;
9530
+ readonly resolvedHeightMode: import("@angular/core").Signal<"full" | "fixed" | undefined>;
9516
9531
  readonly isFullHeight: import("@angular/core").Signal<boolean>;
9517
9532
  readonly cssMaxHeight: import("@angular/core").Signal<string | undefined>;
9518
9533
  constructor();
@@ -10360,7 +10375,7 @@ export declare class ComponentStepperComponent {
10360
10375
  components: import("@angular/core").InputSignal<Type<unknown>[]>;
10361
10376
  labels: import("@angular/core").InputSignal<string[] | undefined>;
10362
10377
  currentIndex: import("@angular/core").InputSignal<number>;
10363
- variant: import("@angular/core").InputSignal<"vertical" | "horizontal">;
10378
+ variant: import("@angular/core").InputSignal<"horizontal" | "vertical">;
10364
10379
  context: import("@angular/core").InputSignal<Record<string, unknown> | undefined>;
10365
10380
  readonly stepChange: import("@angular/core").OutputEmitterRef<number>;
10366
10381
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentStepperComponent, never>;
@@ -12062,7 +12077,7 @@ export type DocAiPhase = 'idle' | 'asking' | 'question' | 'outline' | 'writing'
12062
12077
  */
12063
12078
  export declare class DocEditorComponent implements ControlValueAccessor {
12064
12079
  protected readonly groups: readonly import("@magmonium/one").DocToolbarGroup[];
12065
- protected readonly icons: Record<"code" | "link" | "table" | "strike" | "list" | "bold" | "heading" | "italic" | "quote", string>;
12080
+ protected readonly icons: Record<"table" | "list" | "bold" | "italic" | "strike" | "heading" | "quote" | "link" | "code", string>;
12066
12081
  protected readonly docActionKey: typeof docActionKey;
12067
12082
  private readonly translate;
12068
12083
  protected readonly value: import("@angular/core").WritableSignal<string>;
@@ -14076,7 +14091,7 @@ export declare class ConfirmComponent {
14076
14091
  cancelLabel: import("@angular/core").InputSignal<string>;
14077
14092
  protected readonly confirmText: import("@angular/core").Signal<string>;
14078
14093
  protected readonly cancelText: import("@angular/core").Signal<string>;
14079
- protected readonly accent: import("@angular/core").Signal<"error" | "mm" | "success" | "warning">;
14094
+ protected readonly accent: import("@angular/core").Signal<"error" | "warning" | "success" | "mm">;
14080
14095
  protected readonly iconName: import("@angular/core").Signal<"exclamation-triangle" | "info" | "trash" | "check-circle">;
14081
14096
  protected accept(): void;
14082
14097
  protected decline(): void;
@@ -1 +0,0 @@
1
- {"version":3,"file":"magmonium-one-label-BJcQs0Nd.mjs","names":[],"sources":["../../../../libs/one/src/lib/shared/pipe/time-ago.ts","../../../../libs/one/src/lib/shared/pipe/money.fn.ts","../../../../libs/one/src/lib/shared/pipe/money.ts","../../../../libs/one/src/lib/shared/pipe/percentage.ts","../../../../libs/one/src/lib/shared/pipe/compact-number.ts","../../../../libs/one/src/lib/shared/pipe/asset-url.ts","../../../../libs/one/src/lib/shared/ui/section/lib/functions/section-table.ts","../../../../libs/one/src/lib/shared/pipe/section-table-sort.ts","../../../../libs/one/src/lib/shared/ui/input/ui/label.ts"],"sourcesContent":["import { ChangeDetectorRef, inject, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '../services/translate';\nimport { interval, Subscription } from 'rxjs';\n\nconst SECONDS_IN_MINUTE = 60;\nconst SECONDS_IN_HOUR = 3600;\nconst SECONDS_IN_DAY = 86400;\nconst SECONDS_IN_MONTH = 2592000;\nconst SECONDS_IN_YEAR = 31536000;\n\n@Pipe({\n name: 'timeAgo',\n pure: false,\n})\nexport class TimeAgoPipe implements PipeTransform, OnDestroy {\n private readonly translateService = inject(TranslateService);\n private readonly cdr = inject(ChangeDetectorRef);\n private timerSubscription: Subscription | null = null;\n private lastValue: string | Date | undefined = undefined;\n\n transform(value: string | Date | undefined): string {\n if (!value) return '';\n\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.setupTimer();\n }\n\n const date = typeof value === 'string' ? new Date(value) : value;\n const now = new Date();\n const seconds = Math.floor((now.getTime() - date.getTime()) / 1000);\n\n if (seconds < SECONDS_IN_MINUTE) {\n return this.translateService.translate('just-now');\n }\n\n let count: number;\n let unit: string;\n\n if (seconds < SECONDS_IN_HOUR) {\n count = Math.floor(seconds / SECONDS_IN_MINUTE);\n unit = count === 1 ? 'minute' : 'minutes';\n } else if (seconds < SECONDS_IN_DAY) {\n count = Math.floor(seconds / SECONDS_IN_HOUR);\n unit = count === 1 ? 'hour' : 'hours';\n } else if (seconds < SECONDS_IN_MONTH) {\n count = Math.floor(seconds / SECONDS_IN_DAY);\n unit = count === 1 ? 'day' : 'days';\n } else if (seconds < SECONDS_IN_YEAR) {\n count = Math.floor(seconds / SECONDS_IN_MONTH);\n unit = count === 1 ? 'month' : 'months';\n } else {\n count = Math.floor(seconds / SECONDS_IN_YEAR);\n unit = count === 1 ? 'year' : 'years';\n }\n\n return this.translateService.translate(\n `time-ago?count=${count}&unit=${unit}`\n );\n }\n\n private setupTimer(): void {\n this.clearTimer();\n // Update every 30 seconds to keep the display fresh without overloading change detection.\n this.timerSubscription = interval(30000).subscribe(() => {\n this.cdr.detectChanges();\n });\n }\n\n private clearTimer(): void {\n if (this.timerSubscription) {\n this.timerSubscription.unsubscribe();\n this.timerSubscription = null;\n }\n }\n\n ngOnDestroy(): void {\n this.clearTimer();\n }\n}\n","export type MoneySystem = 'IN' | 'INTL';\n\nexport interface MoneyResult {\n amount: string;\n labelKey: string;\n}\n\ninterface Threshold {\n min: number;\n labelKey: string;\n overflowAt: number;\n}\n\nconst IN_THRESHOLDS: Threshold[] = [\n { min: 1_00_00_000, labelKey: 'cr', overflowAt: Infinity },\n { min: 1_00_000, labelKey: 'l', overflowAt: 100 },\n { min: 1_000, labelKey: 'k', overflowAt: 100 },\n];\n\nconst INTL_THRESHOLDS: Threshold[] = [\n { min: 1_000_000_000_000, labelKey: 't', overflowAt: Infinity },\n { min: 1_000_000_000, labelKey: 'b', overflowAt: 1_000 },\n { min: 1_000_000, labelKey: 'm', overflowAt: 1_000 },\n { min: 1_000, labelKey: 'k', overflowAt: 1_000 },\n];\n\n/**\n * Formats a non-negative finite number into a compact denomination result.\n * @param value Must be a non-negative finite number. Negative values and NaN\n * should be handled by the caller before invoking this function.\n */\nexport const formatMoney = (\n value: number,\n system: MoneySystem\n): MoneyResult => {\n const thresholds = system === 'IN' ? IN_THRESHOLDS : INTL_THRESHOLDS;\n\n for (let i = 0; i < thresholds.length; i++) {\n const { min, labelKey, overflowAt } = thresholds[i];\n if (value >= min) {\n const rounded = parseFloat((value / min).toFixed(1));\n if (rounded >= overflowAt && i > 0) {\n const higher = thresholds[i - 1];\n return {\n amount: parseFloat((value / higher.min).toFixed(1)).toString(),\n labelKey: higher.labelKey,\n };\n }\n return { amount: rounded.toString(), labelKey };\n }\n }\n\n return { amount: parseFloat(value.toFixed(2)).toString(), labelKey: '' };\n};\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '../services/translate';\nimport { formatMoney, MoneySystem } from './money.fn';\n\n@Pipe({\n name: 'money',\n pure: false,\n})\nexport class MoneyPipe implements PipeTransform {\n private readonly translateService = inject(TranslateService);\n\n transform(\n value: number | undefined | null,\n system: MoneySystem = 'IN',\n symbol = '₹',\n forceSign = false\n ): string {\n if (value == null || isNaN(value)) return '';\n if (value === 0) return `${symbol}0`;\n\n const isNegative = value < 0;\n const absValue = Math.abs(value);\n const { amount, labelKey } = formatMoney(absValue, system);\n const label = labelKey\n ? ` ${this.translateService.translate(labelKey)}`\n : '';\n\n const sign = isNegative ? '-' : forceSign ? '+' : '';\n return `${sign}${symbol}${amount}${label}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Renders a number already expressed in percent units as a `%` reading —\n * `42` becomes `42.00%`, never `4200%`. A ratio is the caller's to multiply,\n * the way `MoneyPipe` takes an amount rather than a currency object.\n *\n * Two decimals by default: a percentage carries the fraction that separates\n * two near-equal readings, and a caller wanting the whole number asks for\n * `decimals: 0`.\n *\n * Pure, unlike the other three: it reads no language and no clock, so its\n * output depends on its arguments alone.\n */\n@Pipe({\n name: 'percentage',\n})\nexport class PercentagePipe implements PipeTransform {\n transform(\n value: number | undefined | null,\n decimals = 2,\n forceSign = false\n ): string {\n if (value == null || isNaN(value)) return '';\n\n const digits = Math.max(0, Math.trunc(decimals));\n const rendered = Math.abs(value).toFixed(digits);\n // A rounded-to-zero negative would otherwise print `-0%`.\n const isNegative = value < 0 && Number(rendered) !== 0;\n\n const sign = isNegative\n ? '-'\n : forceSign && Number(rendered) !== 0\n ? '+'\n : '';\n return `${sign}${rendered}%`;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '../services/translate';\nimport { formatMoney, MoneySystem } from './money.fn';\n\n/**\n * Renders a large number as a compact denominated reading — `12500` becomes\n * `12.5 k`, `1250000` becomes `12.5 l` (or `1.3 m` on the `INTL` ladder).\n * `MoneyPipe` without the currency symbol: a count of views, rows or users is\n * no amount of money, but it climbs the same thresholds.\n *\n * Named `compactNumber` rather than `number` so it never collides with\n * Angular's own `DecimalPipe` in a template that imports both.\n *\n * Impure for `MoneyPipe`'s reason: the denomination label is a translation key\n * resolved in the active language.\n */\n@Pipe({\n name: 'compactNumber',\n pure: false,\n})\nexport class CompactNumberPipe implements PipeTransform {\n private readonly translateService = inject(TranslateService);\n\n transform(\n value: number | undefined | null,\n system: MoneySystem = 'IN',\n forceSign = false\n ): string {\n if (value == null || isNaN(value)) return '';\n if (value === 0) return '0';\n\n const { amount, labelKey } = formatMoney(Math.abs(value), system);\n // Below the first threshold a tiny value can still round to `0`.\n if (Number(amount) === 0) return '0';\n\n const label = labelKey\n ? ` ${this.translateService.translate(labelKey)}`\n : '';\n const sign = value < 0 ? '-' : forceSign ? '+' : '';\n return `${sign}${amount}${label}`;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { HttpService } from '../services/http';\n\n@Pipe({\n name: 'assetUrl',\n})\nexport class AssetUrlPipe implements PipeTransform {\n private readonly http = inject(HttpService);\n\n transform(value: string | null | undefined): string {\n return this.http.getAssetUrl(value);\n }\n}\n","import {\n SectionTableColumn,\n SectionTableSort,\n} from '../../type/section-table';\n\n/** A column's id, falling back to its position (m-one-ui ADR 0148). */\nexport const sectionTableColumnId = (\n column: SectionTableColumn,\n index: number\n): string => column.id || String(index);\n\n/**\n * Each column's width as a CSS length: a `span` is its twelfth-share of the\n * table, and a column without one gets `undefined` so the `<table>` divides\n * what the spanned columns left.\n */\nexport const sectionTableColumnWidths = (\n columns: readonly SectionTableColumn[]\n): (string | undefined)[] =>\n columns.map(({ span }) => {\n if (span == null || !Number.isFinite(span)) return undefined;\n const clamped = Math.min(12, Math.max(1, Math.round(span)));\n return `${(clamped * 100) / 12}%`;\n });\n\n/**\n * How many leading columns are frozen: freezing a column freezes every column\n * before it, because a frozen column pinned past an unfrozen one would slide\n * over it.\n */\nexport const sectionTableFrozenCount = (\n columns: readonly SectionTableColumn[]\n): number => {\n let last = -1;\n columns.forEach((column, i) => {\n if (column.freeze) last = i;\n });\n return last + 1;\n};\n\n/** The next sort after a click on the column with `id`. */\nexport const nextSectionTableSort = (\n current: SectionTableSort | null,\n id: string,\n dataType: SectionTableSort['dataType']\n): SectionTableSort =>\n current?.id === id\n ? { id, dataType, direction: current.direction === 'asc' ? 'desc' : 'asc' }\n : { id, dataType, direction: 'asc' };\n\n/** The sort a table starts with: its first `defaultSort` column's, if any. */\nexport const defaultSectionTableSort = (\n columns: readonly SectionTableColumn[]\n): SectionTableSort | null => {\n const index = columns.findIndex((column) => column.defaultSort);\n if (index < 0) return null;\n const column = columns[index];\n return {\n id: sectionTableColumnId(column, index),\n dataType: column.dataType,\n direction: column.ascending ? 'asc' : 'desc',\n };\n};\n\nconst readPath =(row: unknown, path: string): unknown =>\n path\n .split('.')\n .reduce<unknown>(\n (value, key) =>\n value != null && typeof value === 'object'\n ? (value as Record<string, unknown>)[key]\n : undefined,\n row\n );\n\nconst comparable = (\n value: unknown,\n dataType: SectionTableSort['dataType']\n): number | string | undefined => {\n if (value == null || value === '') return undefined;\n if (dataType === 'number') {\n const n = typeof value === 'number' ? value : Number(value);\n return Number.isNaN(n) ? undefined : n;\n }\n if (dataType === 'date') {\n const t =\n value instanceof Date ? value.getTime() : new Date(String(value)).getTime();\n return Number.isNaN(t) ? undefined : t;\n }\n return String(value).toLocaleLowerCase();\n};\n\n/**\n * A copy of `rows` ordered by `sort`, the input untouched. Missing values sink\n * to the end in either direction — an empty cell is not the smallest value.\n */\nexport const sortSectionTableRows = <T>(\n rows: readonly T[] | null | undefined,\n sort: SectionTableSort | null | undefined\n): T[] => {\n const list = [...(rows ?? [])];\n if (!sort) return list;\n const sign = sort.direction === 'asc' ? 1 : -1;\n return list\n .map((row, i) => ({ row, i, key: comparable(readPath(row, sort.id), sort.dataType) }))\n .sort((a, b) => {\n if (a.key === undefined || b.key === undefined) {\n if (a.key === b.key) return a.i - b.i;\n return a.key === undefined ? 1 : -1;\n }\n const diff =\n typeof a.key === 'number' && typeof b.key === 'number'\n ? a.key - b.key\n : String(a.key).localeCompare(String(b.key));\n return diff === 0 ? a.i - b.i : diff * sign;\n })\n .map(({ row }) => row);\n};\n","import { Pipe, PipeTransform } from '@angular/core';\nimport type { SectionTableSort } from '../ui/section/type/section-table';\nimport { sortSectionTableRows } from '../ui/section/lib/functions/section-table';\n\n/**\n * A SectionTable's sort applied to a Repeat's collection:\n * `@for (row of (rows | sectionTableSort: table.sort()); …)`. The `@for` is the\n * Repeat's, not the table's, so the table reorders a collection it does not\n * own through this and nothing else (m-one-ui ADR 0148).\n *\n * Pure: a new order needs a new sort or a new collection, never a mutated one.\n */\n@Pipe({\n name: 'sectionTableSort',\n})\nexport class SectionTableSortPipe implements PipeTransform {\n transform<T>(\n rows: readonly T[] | null | undefined,\n sort: SectionTableSort | null | undefined\n ): T[] {\n return sortSectionTableRows(rows, sort);\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { TranslatePipe } from '../../../pipe';\n\n@Component({\n selector: 'm-label',\n template: `\n <label\n [class.required]=\"required()\"\n [class.disabled]=\"disabled()\"\n [attr.for]=\"for() || null\"\n >\n @if (color()) {\n <span class=\"label__swatch\" [style.background]=\"color()\"></span>\n }\n @if (noTranslate()) {\n {{ placeholder() }}\n } @else {\n {{ placeholder() | translate: params() }}\n }\n </label>\n `,\n imports: [TranslatePipe],\n styleUrl: './label.sass',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LabelComponent {\n for = input<string>();\n placeholder = input<string>();\n // The label's [MessageVariable] values — a Field whose label is a sentence\n // with a datum in it (m-one-ui ADR 0066).\n params = input<Record<string, string> | undefined>();\n required = input<boolean>();\n disabled = input<boolean>();\n color = input<string>();\n // Authored text rather than an i18n key — an option label mapped from a row\n // the app holds, which the dictionary has never heard of.\n noTranslate = input<boolean>();\n}\n\n"],"mappings":"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"}