@magmonium/one 0.4.54 → 0.4.56

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 (152) hide show
  1. package/assets/i18n/af.json +103 -47
  2. package/assets/i18n/am.json +111 -59
  3. package/assets/i18n/ar.json +84 -59
  4. package/assets/i18n/as.json +105 -50
  5. package/assets/i18n/az.json +106 -50
  6. package/assets/i18n/ba.json +94 -45
  7. package/assets/i18n/be.json +105 -49
  8. package/assets/i18n/bg.json +99 -43
  9. package/assets/i18n/bn.json +104 -54
  10. package/assets/i18n/br.json +91 -43
  11. package/assets/i18n/brx.json +97 -29
  12. package/assets/i18n/bs.json +100 -43
  13. package/assets/i18n/ca.json +103 -47
  14. package/assets/i18n/ceb.json +99 -40
  15. package/assets/i18n/cnr.json +83 -43
  16. package/assets/i18n/co.json +105 -47
  17. package/assets/i18n/cs.json +98 -43
  18. package/assets/i18n/cy.json +83 -48
  19. package/assets/i18n/da.json +89 -35
  20. package/assets/i18n/de.json +75 -53
  21. package/assets/i18n/doi.json +107 -45
  22. package/assets/i18n/el.json +93 -44
  23. package/assets/i18n/en.json +2 -1
  24. package/assets/i18n/eo.json +98 -44
  25. package/assets/i18n/es.json +59 -46
  26. package/assets/i18n/et.json +97 -42
  27. package/assets/i18n/eu.json +106 -48
  28. package/assets/i18n/fa.json +79 -43
  29. package/assets/i18n/fi.json +91 -37
  30. package/assets/i18n/fr.json +78 -53
  31. package/assets/i18n/fy.json +96 -43
  32. package/assets/i18n/ga.json +89 -45
  33. package/assets/i18n/gd.json +84 -47
  34. package/assets/i18n/gl.json +95 -45
  35. package/assets/i18n/gu.json +103 -52
  36. package/assets/i18n/ha.json +93 -45
  37. package/assets/i18n/haw.json +95 -45
  38. package/assets/i18n/he.json +84 -34
  39. package/assets/i18n/hi.json +84 -61
  40. package/assets/i18n/hmn.json +88 -38
  41. package/assets/i18n/hr.json +100 -43
  42. package/assets/i18n/hu.json +90 -45
  43. package/assets/i18n/hy.json +106 -51
  44. package/assets/i18n/id.json +77 -31
  45. package/assets/i18n/ie.json +78 -24
  46. package/assets/i18n/ig.json +88 -40
  47. package/assets/i18n/ilo.json +86 -29
  48. package/assets/i18n/is.json +89 -44
  49. package/assets/i18n/it.json +69 -48
  50. package/assets/i18n/iw.json +85 -38
  51. package/assets/i18n/ja.json +67 -48
  52. package/assets/i18n/jw.json +81 -34
  53. package/assets/i18n/ka.json +93 -43
  54. package/assets/i18n/kk.json +87 -42
  55. package/assets/i18n/km.json +85 -41
  56. package/assets/i18n/kn.json +105 -51
  57. package/assets/i18n/ko.json +68 -51
  58. package/assets/i18n/kok.json +104 -42
  59. package/assets/i18n/ks.json +94 -27
  60. package/assets/i18n/ku.json +84 -40
  61. package/assets/i18n/ky.json +84 -41
  62. package/assets/i18n/la.json +81 -37
  63. package/assets/i18n/lb.json +80 -39
  64. package/assets/i18n/lo.json +81 -39
  65. package/assets/i18n/lt.json +82 -43
  66. package/assets/i18n/lv.json +81 -42
  67. package/assets/i18n/ma.json +93 -28
  68. package/assets/i18n/mai.json +98 -35
  69. package/assets/i18n/me.json +67 -20
  70. package/assets/i18n/mg.json +82 -39
  71. package/assets/i18n/mi.json +86 -42
  72. package/assets/i18n/mk.json +81 -40
  73. package/assets/i18n/ml.json +98 -42
  74. package/assets/i18n/mn.json +81 -40
  75. package/assets/i18n/mni.json +92 -27
  76. package/assets/i18n/mr.json +100 -44
  77. package/assets/i18n/ms.json +77 -35
  78. package/assets/i18n/mt.json +79 -37
  79. package/assets/i18n/my.json +80 -39
  80. package/assets/i18n/ne.json +76 -35
  81. package/assets/i18n/nl.json +80 -47
  82. package/assets/i18n/no.json +71 -30
  83. package/assets/i18n/ny.json +100 -37
  84. package/assets/i18n/or.json +105 -49
  85. package/assets/i18n/pa.json +100 -45
  86. package/assets/i18n/pl.json +65 -45
  87. package/assets/i18n/ps.json +75 -33
  88. package/assets/i18n/pt.json +61 -44
  89. package/assets/i18n/rm.json +71 -26
  90. package/assets/i18n/ro.json +74 -34
  91. package/assets/i18n/ru.json +62 -45
  92. package/assets/i18n/sa.json +98 -36
  93. package/assets/i18n/sat.json +98 -37
  94. package/assets/i18n/sc.json +70 -25
  95. package/assets/i18n/sd.json +95 -31
  96. package/assets/i18n/si.json +72 -34
  97. package/assets/i18n/sk.json +71 -31
  98. package/assets/i18n/sl.json +70 -32
  99. package/assets/i18n/sm.json +71 -30
  100. package/assets/i18n/sn.json +66 -25
  101. package/assets/i18n/so.json +66 -26
  102. package/assets/i18n/sq.json +95 -39
  103. package/assets/i18n/sr.json +68 -29
  104. package/assets/i18n/st.json +68 -27
  105. package/assets/i18n/su.json +64 -24
  106. package/assets/i18n/sv.json +66 -25
  107. package/assets/i18n/sw.json +60 -20
  108. package/assets/i18n/ta.json +92 -42
  109. package/assets/i18n/te.json +95 -39
  110. package/assets/i18n/tg.json +69 -31
  111. package/assets/i18n/th.json +65 -27
  112. package/assets/i18n/tl.json +86 -26
  113. package/assets/i18n/tr.json +63 -46
  114. package/assets/i18n/uk.json +64 -26
  115. package/assets/i18n/ur.json +93 -33
  116. package/assets/i18n/uz.json +64 -25
  117. package/assets/i18n/vi.json +64 -26
  118. package/assets/i18n/xh.json +65 -25
  119. package/assets/i18n/yi.json +66 -28
  120. package/assets/i18n/yo.json +65 -26
  121. package/assets/i18n/zh.json +71 -37
  122. package/assets/i18n/zu.json +63 -25
  123. package/fesm2022/{magmonium-one-base-dropdown-7XYsiJBX.mjs → magmonium-one-base-dropdown-B6jwgjjx.mjs} +8 -6
  124. package/fesm2022/magmonium-one-base-dropdown-B6jwgjjx.mjs.map +1 -0
  125. package/fesm2022/{magmonium-one-directives-C_i3gUFT.mjs → magmonium-one-directives-Dbe0pfCf.mjs} +2 -2
  126. package/fesm2022/magmonium-one-directives-Dbe0pfCf.mjs.map +1 -0
  127. package/fesm2022/{magmonium-one-file.service-Bo06pU3_.mjs → magmonium-one-file.service-D39FjShR.mjs} +2 -1
  128. package/fesm2022/magmonium-one-file.service-D39FjShR.mjs.map +1 -0
  129. package/fesm2022/{magmonium-one-group-C7alQqSj.mjs → magmonium-one-group-BPhM2IIa.mjs} +2 -2
  130. package/fesm2022/{magmonium-one-group-C7alQqSj.mjs.map → magmonium-one-group-BPhM2IIa.mjs.map} +1 -1
  131. package/fesm2022/{magmonium-one-image-editor-DHlktZ6z.mjs → magmonium-one-image-editor-C0vNiH0J.mjs} +2 -2
  132. package/fesm2022/{magmonium-one-image-editor-DHlktZ6z.mjs.map → magmonium-one-image-editor-C0vNiH0J.mjs.map} +1 -1
  133. package/fesm2022/magmonium-one-input-DqHPorA1.mjs.map +1 -1
  134. package/fesm2022/{magmonium-one-menu-DmZJi88Y.mjs → magmonium-one-menu-CxswmD0O.mjs} +2 -2
  135. package/fesm2022/{magmonium-one-menu-DmZJi88Y.mjs.map → magmonium-one-menu-CxswmD0O.mjs.map} +1 -1
  136. package/fesm2022/{magmonium-one-multi-range-BnWtK-O0.mjs → magmonium-one-multi-range-BJ8LafrI.mjs} +2 -2
  137. package/fesm2022/{magmonium-one-multi-range-BnWtK-O0.mjs.map → magmonium-one-multi-range-BJ8LafrI.mjs.map} +1 -1
  138. package/fesm2022/{magmonium-one-range-DPR659yG.mjs → magmonium-one-range-C5vn9zlY.mjs} +4 -2
  139. package/fesm2022/magmonium-one-range-C5vn9zlY.mjs.map +1 -0
  140. package/fesm2022/{magmonium-one-selector-CXZMCqmO.mjs → magmonium-one-selector-Do0PsJBx.mjs} +2 -2
  141. package/fesm2022/{magmonium-one-selector-CXZMCqmO.mjs.map → magmonium-one-selector-Do0PsJBx.mjs.map} +1 -1
  142. package/fesm2022/{magmonium-one-text-Bo4XPBXB.mjs → magmonium-one-text-xar0qfsQ.mjs} +3 -1
  143. package/fesm2022/magmonium-one-text-xar0qfsQ.mjs.map +1 -0
  144. package/fesm2022/magmonium-one.mjs +412 -89
  145. package/fesm2022/magmonium-one.mjs.map +1 -1
  146. package/package.json +1 -1
  147. package/types/magmonium-one.d.ts +130 -8
  148. package/fesm2022/magmonium-one-base-dropdown-7XYsiJBX.mjs.map +0 -1
  149. package/fesm2022/magmonium-one-directives-C_i3gUFT.mjs.map +0 -1
  150. package/fesm2022/magmonium-one-file.service-Bo06pU3_.mjs.map +0 -1
  151. package/fesm2022/magmonium-one-range-DPR659yG.mjs.map +0 -1
  152. package/fesm2022/magmonium-one-text-Bo4XPBXB.mjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./magmonium-one-rolldown-runtime-DpJrqANO.mjs";
2
2
  import { $ as SEARCH_RESULTS_EVENT, A as isLocalhost, B as FOLDER_PICK_LISTENER, C as definedWcTierOf, D as wcLocalBaseOf, E as setWcTier, F as APP_LINK, G as LOADING_ACTIONS_REF, H as ICON_SOURCE, I as ASSET_BASE_URL, J as MODAL_STORE_REF, K as LOGIN_COMPONENT, L as AppAvailability, M as isUrlLocalhost, N as isWebComponent, O as wcTierOf, P as APP_CONTEXT_REF, Q as SEARCH_QUERY, R as AppRelationType, S as definedWcBundleOf, T as setWcLocalPort, U as IS_DESIGN_MODE, V as HOST_SESSION, W as IS_SIDE_PANEL, X as ONE_ASSET_BASE_URL, Y as NAV_STORE_REF, Z as OPTIONS_SOURCE, _ as StorageService, a as resolveSpacing, at as LAYOUT_ASSET_FOLDER, b as HttpService, c as TranslatePipe, ct as Size, d as browserLocale, et as TRANSLATION_SOURCE, f as escapeHtml, g as SharedStoreRegistry, h as AssetStore, i as resolveSize, it as FORM_ASSET_FOLDER, j as isTierPreview, k as getTierFromPreviewPath, l as TranslateService, m as miniMarkToHtml, n as isSize, nt as WC_BUNDLE, o as toCssLength, ot as Assets, p as miniMarkInlineToHtml, q as LOGIN_STORE, r as resolveIconSize, rt as WC_SEARCH_GROUPS, s as toLength, st as DEFAULT_SIZE, t as coerceSize, tt as USER_STORE_REF, u as BrowserLocaleService, v as isJson, w as recordDefinedWcTier, x as buildWcBaseUrl, y as ACCESS_DOMAINS, z as COMPONENT_INPUT_REGISTRY } from "./magmonium-one-size-converter-BOLtxL8d.mjs";
3
- import { a as OverlayService, c as DeviceService, i as OverlayRef, n as Direction, o as ScrollService, r as ThemeService, s as DomService, t as SelectorDirective } from "./magmonium-one-selector-CXZMCqmO.mjs";
4
- import { t as FileService } from "./magmonium-one-file.service-Bo06pU3_.mjs";
3
+ import { a as OverlayService, c as DeviceService, i as OverlayRef, n as Direction, o as ScrollService, r as ThemeService, s as DomService, t as SelectorDirective } from "./magmonium-one-selector-Do0PsJBx.mjs";
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-Bd80JrEQ.mjs";
6
6
  import "./magmonium-one-theme-Ce9i3H3R.mjs";
7
7
  import { a as sectionTableColumnWidths, c as AssetUrlPipe, d as MoneyPipe, f as TimeAgoPipe, i as sectionTableColumnId, l as CompactNumberPipe, n as SectionTableSortPipe, o as sectionTableFrozenCount, r as nextSectionTableSort, s as sortSectionTableRows, t as LabelComponent, u as PercentagePipe } from "./magmonium-one-label-B95NhEzQ.mjs";
@@ -12,19 +12,19 @@ import { t as MRefDirective } from "./magmonium-one-m-ref-BdP7Kzhk.mjs";
12
12
  import { i as OptionsSourceDirective, n as normalizeAssetOptions, r as presetDefaultOption, t as assetOptions } from "./magmonium-one-options-asset-By4-vPVk.mjs";
13
13
  import { t as InputType } from "./magmonium-one-input-DqHPorA1.mjs";
14
14
  import { r as PLACED_CHECKBOX, t as CheckboxInputComponent } from "./magmonium-one-checkbox-CbEdjmtz.mjs";
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-C_i3gUFT.mjs";
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-Dbe0pfCf.mjs";
16
16
  import { t as HeaderComponent } from "./magmonium-one-header-CckG0DHr.mjs";
17
- import { i as mergeUniqueWith, n as mergeUnique, r as mergeUniqueBy, t as ButtonGroupComponent } from "./magmonium-one-group-C7alQqSj.mjs";
18
- import { n as ContextMenuBoxComponent, r as MenuComponent, t as ContextMenuComponent } from "./magmonium-one-menu-DmZJi88Y.mjs";
17
+ import { i as mergeUniqueWith, n as mergeUnique, r as mergeUniqueBy, t as ButtonGroupComponent } from "./magmonium-one-group-BPhM2IIa.mjs";
18
+ import { n as ContextMenuBoxComponent, r as MenuComponent, t as ContextMenuComponent } from "./magmonium-one-menu-CxswmD0O.mjs";
19
19
  import { t as BaseInputComponent } from "./magmonium-one-base-input-KRWQalNW.mjs";
20
20
  import { i as getScrollParent, n as activeElementWithin, r as classListSignal, t as BaseTextInputComponent } from "./magmonium-one-base-text-HyEol70U.mjs";
21
21
  import { t as TextOutputComponent } from "./magmonium-one-text-output-Dkx0i1iu.mjs";
22
22
  import { t as BaseCheckboxInputComponent } from "./magmonium-one-base-checkbox-bwMjlhHR.mjs";
23
23
  import { t as RadioInputComponent } from "./magmonium-one-radio-BsQv0Wof.mjs";
24
- import { t as TextInputComponent } from "./magmonium-one-text-Bo4XPBXB.mjs";
25
- import { r as BaseArrayInputComponent, t as MultiRangeInputComponent } from "./magmonium-one-multi-range-BnWtK-O0.mjs";
26
- import { t as RangeInputComponent } from "./magmonium-one-range-DPR659yG.mjs";
27
- import { n as DROPDOWN_IMPORTS, r as DROPDOWN_TEMPLATE, t as BaseDropdownComponent } from "./magmonium-one-base-dropdown-7XYsiJBX.mjs";
24
+ import { t as TextInputComponent } from "./magmonium-one-text-xar0qfsQ.mjs";
25
+ import { r as BaseArrayInputComponent, t as MultiRangeInputComponent } from "./magmonium-one-multi-range-BJ8LafrI.mjs";
26
+ import { t as RangeInputComponent } from "./magmonium-one-range-C5vn9zlY.mjs";
27
+ import { n as DROPDOWN_IMPORTS, r as DROPDOWN_TEMPLATE, t as BaseDropdownComponent } from "./magmonium-one-base-dropdown-B6jwgjjx.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, Output, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, afterEveryRender, afterNextRender, afterRenderEffect, 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";
@@ -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-DPR659yG.mjs").then((n) => n.n);
792
+ const { RangeInputComponent } = await import("./magmonium-one-range-C5vn9zlY.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-BnWtK-O0.mjs").then((n) => n.n);
797
+ const { MultiRangeInputComponent } = await import("./magmonium-one-multi-range-BJ8LafrI.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-Bo4XPBXB.mjs").then((n) => n.n);
848
+ const { TextInputComponent } = await import("./magmonium-one-text-xar0qfsQ.mjs").then((n) => n.n);
849
849
  this.createDynamicComponent(seq, TextInputComponent);
850
850
  break;
851
851
  }
@@ -1937,7 +1937,7 @@ const FOCUSABLE_SELECTOR = [
1937
1937
  ].join(",");
1938
1938
  const ACTION_SELECTOR = "button,a[href],[role=\"button\"]";
1939
1939
  const isDisabled = (element) => element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true" || element.readOnly === true;
1940
- const isHidden = (element, root) => {
1940
+ const isHidden$1 = (element, root) => {
1941
1941
  let node = element;
1942
1942
  while (node) {
1943
1943
  if (node.hidden || node.style.display === "none") return true;
@@ -1951,7 +1951,7 @@ const tabOrder = (element) => {
1951
1951
  return Number.isFinite(declared) && declared > 0 ? declared : Infinity;
1952
1952
  };
1953
1953
  const findFirstFocusable = (root) => {
1954
- const candidates = Array.from(root.querySelectorAll(FOCUSABLE_SELECTOR)).filter((element) => element.getAttribute("tabindex") !== "-1" && !element.matches(ACTION_SELECTOR) && !isDisabled(element) && !isHidden(element, root));
1954
+ const candidates = Array.from(root.querySelectorAll(FOCUSABLE_SELECTOR)).filter((element) => element.getAttribute("tabindex") !== "-1" && !element.matches(ACTION_SELECTOR) && !isDisabled(element) && !isHidden$1(element, root));
1955
1955
  if (!candidates.length) return null;
1956
1956
  return candidates.map((element, index) => ({
1957
1957
  element,
@@ -4324,10 +4324,13 @@ function injectScrollSticky(threshold = 120, behavior = "none") {
4324
4324
  const isSticky = signal(false, ...ngDevMode ? [{ debugName: "isSticky" }] : /* istanbul ignore next */ []);
4325
4325
  let lastScrollTop = 0;
4326
4326
  afterNextRender(() => {
4327
- const container = getScrollParent(elementRef.nativeElement);
4328
- const isWindow = container === window;
4329
- const handleScroll = () => {
4330
- const scrollTop = isWindow ? window.scrollY : container.scrollTop;
4327
+ const element = elementRef.nativeElement;
4328
+ const document = element.ownerDocument;
4329
+ const view = document.defaultView ?? window;
4330
+ const handleScroll = (event) => {
4331
+ const target = event.target;
4332
+ const scrollTop = target === document || target === view ? view.scrollY : target instanceof HTMLElement && target.contains(element) ? target.scrollTop : null;
4333
+ if (scrollTop === null) return;
4331
4334
  const isScrollingUp = scrollTop < lastScrollTop;
4332
4335
  const isPastThreshold = scrollTop > threshold;
4333
4336
  let newSticky = false;
@@ -4337,9 +4340,13 @@ function injectScrollSticky(threshold = 120, behavior = "none") {
4337
4340
  if (newSticky !== isSticky()) isSticky.set(newSticky);
4338
4341
  lastScrollTop = scrollTop <= 0 ? 0 : scrollTop;
4339
4342
  };
4340
- container.addEventListener("scroll", handleScroll, { passive: true });
4343
+ const options = {
4344
+ capture: true,
4345
+ passive: true
4346
+ };
4347
+ view.addEventListener("scroll", handleScroll, options);
4341
4348
  destroyRef.onDestroy(() => {
4342
- container.removeEventListener("scroll", handleScroll);
4349
+ view.removeEventListener("scroll", handleScroll, options);
4343
4350
  });
4344
4351
  });
4345
4352
  return isSticky.asReadonly();
@@ -13967,6 +13974,7 @@ const navRowTrailItem = (navId, nav, row, navMap, anchor, inherited) => {
13967
13974
  label: row.label,
13968
13975
  icon: row.icon ?? nav.icon,
13969
13976
  ...row.appLogo ? { appLogo: row.appLogo } : {},
13977
+ ...row.tone ? { tone: row.tone } : {},
13970
13978
  nav: navId,
13971
13979
  navParams,
13972
13980
  address: renderAddress(navId, navMap, anchor, navParams)
@@ -20494,6 +20502,23 @@ const COLOR_PICKER_EYEDROPPER_BUTTON_CONFIG = {
20494
20502
  one: true,
20495
20503
  variant: "ghost"
20496
20504
  };
20505
+ const THEME_SWATCH_KEYS = [
20506
+ "mm",
20507
+ "mmLite",
20508
+ "mmDark",
20509
+ "focus",
20510
+ "highlight",
20511
+ "success",
20512
+ "successLite",
20513
+ "warning",
20514
+ "error",
20515
+ "errorLight",
20516
+ "wealth",
20517
+ "text",
20518
+ "textSecondary",
20519
+ "border",
20520
+ "background"
20521
+ ];
20497
20522
  const COLOR_PICKER_HEADER_OPTIONS = [[
20498
20523
  {
20499
20524
  label: "Hex",
@@ -20856,6 +20881,7 @@ function sortExtractedColors(imageColorList) {
20856
20881
  var ColorPickerBoxComponent = class ColorPickerBoxComponent {
20857
20882
  themeStore = inject(ThemeStore);
20858
20883
  selected = input(void 0, ...ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []);
20884
+ themeKeys = input(false, ...ngDevMode ? [{ debugName: "themeKeys" }] : /* istanbul ignore next */ []);
20859
20885
  selectColorChange = output();
20860
20886
  imageColors = signal([], ...ngDevMode ? [{ debugName: "imageColors" }] : /* istanbul ignore next */ []);
20861
20887
  colorArea;
@@ -20864,11 +20890,21 @@ var ColorPickerBoxComponent = class ColorPickerBoxComponent {
20864
20890
  _fileUploadConfig = COLOR_PICKER_FILE_UPLOAD_CONFIG;
20865
20891
  _eyedropperConfig = COLOR_PICKER_EYEDROPPER_BUTTON_CONFIG;
20866
20892
  _headerContextMenu = { options: COLOR_PICKER_HEADER_OPTIONS };
20893
+ themeSwatches = computed(() => THEME_SWATCH_KEYS.map((key) => ({
20894
+ key,
20895
+ color: resolvePallet(key, this.themeStore.color()).color
20896
+ })), ...ngDevMode ? [{ debugName: "themeSwatches" }] : /* istanbul ignore next */ []);
20867
20897
  #selected = computed(() => {
20868
20898
  const color = this.selected();
20869
- const mmColor = this.themeStore.color()?.mm ?? "#000";
20870
- return parseColorToHasl(color || mmColor);
20899
+ const theme = this.themeStore.color();
20900
+ return parseColorToHasl(color ? resolvePallet(color, theme).color : theme?.mm ?? "#000");
20871
20901
  }, ...ngDevMode ? [{ debugName: "#selected" }] : /* istanbul ignore next */ []);
20902
+ #keyColor = computed(() => {
20903
+ const key = this.selected();
20904
+ if (!key || this.themeStore.color()?.[key] === void 0) return void 0;
20905
+ const { h, s, l, a } = this.#selected();
20906
+ return this.formatHsla(h ?? 0, s ?? 100, l ?? 50, Math.round((a ?? 1) * 100));
20907
+ }, ...ngDevMode ? [{ debugName: "#keyColor" }] : /* istanbul ignore next */ []);
20872
20908
  hue = linkedSignal({
20873
20909
  ...ngDevMode ? { debugName: "hue" } : /* istanbul ignore next */ {},
20874
20910
  source: this.#selected,
@@ -20891,24 +20927,16 @@ var ColorPickerBoxComponent = class ColorPickerBoxComponent {
20891
20927
  });
20892
20928
  opacityTip = computed(() => this.opacity() + "%", ...ngDevMode ? [{ debugName: "opacityTip" }] : /* istanbul ignore next */ []);
20893
20929
  _opacityGradient = computed(() => `linear-gradient(to right, hsla(${this.hue()}, ${this.saturation()}%, ${this.lightness()}%, 0), hsla(${this.hue()}, ${this.saturation()}%, ${this.lightness()}%, 1))`, ...ngDevMode ? [{ debugName: "_opacityGradient" }] : /* istanbul ignore next */ []);
20894
- _selected = computed(() => {
20895
- const h = this.hue();
20896
- const s = this.saturation();
20897
- const l = this.lightness();
20898
- const a = this.opacity() / 100;
20930
+ _selected = computed(() => this.formatHsla(this.hue(), this.saturation(), this.lightness(), this.opacity()), ...ngDevMode ? [{ debugName: "_selected" }] : /* istanbul ignore next */ []);
20931
+ formatHsla(h, s, l, opacity) {
20932
+ const a = opacity / 100;
20899
20933
  const rgba = hslToRgb$1(h, s, l, a * 100);
20900
- let color = "";
20901
20934
  switch (this.colorFormat()) {
20902
- case "rgb":
20903
- color = `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`;
20904
- break;
20905
- case "hsl":
20906
- color = `hsla(${h}, ${s}%, ${l}%, ${a})`;
20907
- break;
20908
- default: color = rgbaToHex(rgba.r, rgba.g, rgba.b, rgba.a);
20935
+ case "rgb": return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`;
20936
+ case "hsl": return `hsla(${h}, ${s}%, ${l}%, ${a})`;
20937
+ default: return rgbaToHex(rgba.r, rgba.g, rgba.b, rgba.a);
20909
20938
  }
20910
- return color;
20911
- }, ...ngDevMode ? [{ debugName: "_selected" }] : /* istanbul ignore next */ []);
20939
+ }
20912
20940
  colorFormat = signal("hex", ...ngDevMode ? [{ debugName: "colorFormat" }] : /* istanbul ignore next */ []);
20913
20941
  maxArea = signal({
20914
20942
  x: 0,
@@ -20977,6 +21005,7 @@ var ColorPickerBoxComponent = class ColorPickerBoxComponent {
20977
21005
  this.canPickFromScreen.set("EyeDropper" in window);
20978
21006
  effect(() => {
20979
21007
  const newColor = this._selected();
21008
+ if (newColor === untracked(() => this.#keyColor())) return;
20980
21009
  if (newColor !== untracked(() => this.selected())) this.selectColorChange.emit(newColor);
20981
21010
  });
20982
21011
  effect(() => {
@@ -21097,13 +21126,22 @@ var ColorPickerBoxComponent = class ColorPickerBoxComponent {
21097
21126
  type: ColorPickerBoxComponent,
21098
21127
  isStandalone: true,
21099
21128
  selector: "m-color-picker-box",
21100
- inputs: { selected: {
21101
- classPropertyName: "selected",
21102
- publicName: "selected",
21103
- isSignal: true,
21104
- isRequired: false,
21105
- transformFunction: null
21106
- } },
21129
+ inputs: {
21130
+ selected: {
21131
+ classPropertyName: "selected",
21132
+ publicName: "selected",
21133
+ isSignal: true,
21134
+ isRequired: false,
21135
+ transformFunction: null
21136
+ },
21137
+ themeKeys: {
21138
+ classPropertyName: "themeKeys",
21139
+ publicName: "themeKeys",
21140
+ isSignal: true,
21141
+ isRequired: false,
21142
+ transformFunction: null
21143
+ }
21144
+ },
21107
21145
  outputs: { selectColorChange: "selectColorChange" },
21108
21146
  viewQueries: [
21109
21147
  {
@@ -21184,6 +21222,27 @@ var ColorPickerBoxComponent = class ColorPickerBoxComponent {
21184
21222
  </div>
21185
21223
  </div>
21186
21224
 
21225
+ @if (themeKeys()) {
21226
+ <div class="suggested-colors">
21227
+ <div class="suggested-header">
21228
+ <span>{{ 'theme-swatches' | translate }}</span>
21229
+ </div>
21230
+ <div class="color-grid">
21231
+ @for (swatch of themeSwatches(); track swatch.key) {
21232
+ <button
21233
+ type="button"
21234
+ class="color-option"
21235
+ [class.color-option--active]="selected() === swatch.key"
21236
+ [style.background-color]="swatch.color"
21237
+ [mToolTip]="swatch.key"
21238
+ [attr.aria-label]="('select-color' | translate) + ' ' + swatch.key"
21239
+ (click)="selectColorChange.emit(swatch.key)"
21240
+ ></button>
21241
+ }
21242
+ </div>
21243
+ </div>
21244
+ }
21245
+
21187
21246
  <div class="suggested-colors">
21188
21247
  <div class="suggested-header">
21189
21248
  <span>{{ 'suggested-colors' | translate }}</span>
@@ -21409,6 +21468,27 @@ i0.ɵɵngDeclareClassMetadata({
21409
21468
  </div>
21410
21469
  </div>
21411
21470
 
21471
+ @if (themeKeys()) {
21472
+ <div class="suggested-colors">
21473
+ <div class="suggested-header">
21474
+ <span>{{ 'theme-swatches' | translate }}</span>
21475
+ </div>
21476
+ <div class="color-grid">
21477
+ @for (swatch of themeSwatches(); track swatch.key) {
21478
+ <button
21479
+ type="button"
21480
+ class="color-option"
21481
+ [class.color-option--active]="selected() === swatch.key"
21482
+ [style.background-color]="swatch.color"
21483
+ [mToolTip]="swatch.key"
21484
+ [attr.aria-label]="('select-color' | translate) + ' ' + swatch.key"
21485
+ (click)="selectColorChange.emit(swatch.key)"
21486
+ ></button>
21487
+ }
21488
+ </div>
21489
+ </div>
21490
+ }
21491
+
21412
21492
  <div class="suggested-colors">
21413
21493
  <div class="suggested-header">
21414
21494
  <span>{{ 'suggested-colors' | translate }}</span>
@@ -21447,6 +21527,14 @@ i0.ɵɵngDeclareClassMetadata({
21447
21527
  required: false
21448
21528
  }]
21449
21529
  }],
21530
+ themeKeys: [{
21531
+ type: i0.Input,
21532
+ args: [{
21533
+ isSignal: true,
21534
+ alias: "themeKeys",
21535
+ required: false
21536
+ }]
21537
+ }],
21450
21538
  selectColorChange: [{
21451
21539
  type: i0.Output,
21452
21540
  args: ["selectColorChange"]
@@ -21480,13 +21568,17 @@ function derivePickerIcon(isToggled) {
21480
21568
  tabindex: -1
21481
21569
  };
21482
21570
  }
21483
- function deriveSelectorConfig(value, onSelect) {
21571
+ function deriveSelectorConfig(value, onSelect, themeKeys) {
21484
21572
  return {
21485
21573
  component: ColorPickerBoxComponent,
21486
21574
  base: "m-color-picker",
21487
21575
  matchTriggerWidth: true,
21488
21576
  toggle: true,
21489
- bindings: [inputBinding("selected", value), outputBinding("selectColorChange", onSelect)]
21577
+ bindings: [
21578
+ inputBinding("selected", value),
21579
+ inputBinding("themeKeys", themeKeys),
21580
+ outputBinding("selectColorChange", onSelect)
21581
+ ]
21490
21582
  };
21491
21583
  }
21492
21584
  var color_picker_exports = /* @__PURE__ */ __exportAll({ ColorPickerInputComponent: () => ColorPickerInputComponent });
@@ -21497,7 +21589,8 @@ var ColorPickerInputComponent = class ColorPickerInputComponent extends BaseText
21497
21589
  displayValue = computed(() => deriveDisplayValue(this.value()), ...ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []);
21498
21590
  placeholderText = computed(() => derivePlaceholderText(this.config(), (key) => this.translateService.translate(key)), ...ngDevMode ? [{ debugName: "placeholderText" }] : /* istanbul ignore next */ []);
21499
21591
  pickerIcon = computed(() => derivePickerIcon(this.toggle()), ...ngDevMode ? [{ debugName: "pickerIcon" }] : /* istanbul ignore next */ []);
21500
- selectorConfig = computed(() => deriveSelectorConfig(this.value, (color) => this.setValue(color)), ...ngDevMode ? [{ debugName: "selectorConfig" }] : /* istanbul ignore next */ []);
21592
+ themeKeys = computed(() => !!this.config()?.themeKeys, ...ngDevMode ? [{ debugName: "themeKeys" }] : /* istanbul ignore next */ []);
21593
+ selectorConfig = computed(() => deriveSelectorConfig(this.value, (color) => this.setValue(color), this.themeKeys), ...ngDevMode ? [{ debugName: "selectorConfig" }] : /* istanbul ignore next */ []);
21501
21594
  onOpened = () => {
21502
21595
  this.toggle.set(true);
21503
21596
  };
@@ -21945,12 +22038,12 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
21945
22038
  break;
21946
22039
  }
21947
22040
  case InputType.RANGE: {
21948
- const { RangeInputComponent } = await import("./magmonium-one-range-DPR659yG.mjs").then((n) => n.n);
22041
+ const { RangeInputComponent } = await import("./magmonium-one-range-C5vn9zlY.mjs").then((n) => n.n);
21949
22042
  this.createDynamicComponent(seq, RangeInputComponent);
21950
22043
  break;
21951
22044
  }
21952
22045
  case InputType.MULTI_RANGE: {
21953
- const { MultiRangeInputComponent } = await import("./magmonium-one-multi-range-BnWtK-O0.mjs").then((n) => n.n);
22046
+ const { MultiRangeInputComponent } = await import("./magmonium-one-multi-range-BJ8LafrI.mjs").then((n) => n.n);
21954
22047
  this.createDynamicComponent(seq, MultiRangeInputComponent);
21955
22048
  break;
21956
22049
  }
@@ -22001,7 +22094,7 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
22001
22094
  break;
22002
22095
  }
22003
22096
  default: {
22004
- const { TextInputComponent } = await import("./magmonium-one-text-Bo4XPBXB.mjs").then((n) => n.n);
22097
+ const { TextInputComponent } = await import("./magmonium-one-text-xar0qfsQ.mjs").then((n) => n.n);
22005
22098
  this.createDynamicComponent(seq, TextInputComponent);
22006
22099
  break;
22007
22100
  }
@@ -24086,6 +24179,55 @@ const formatFileSize = (bytes) => {
24086
24179
  }
24087
24180
  return `${unit === 0 || size >= 10 ? Math.round(size) : size.toFixed(1)} ${UNITS[unit]}`;
24088
24181
  };
24182
+ const isHidden = (name) => name.startsWith(".");
24183
+ const byPath = (files) => [...files].sort((a, b) => a.path.localeCompare(b.path, void 0, { numeric: true })).map(({ file }) => file);
24184
+ const readBatch = (reader) => new Promise((resolve) => reader.readEntries(resolve, () => resolve([])));
24185
+ const readAll = async (folder) => {
24186
+ const reader = folder.createReader();
24187
+ const entries = [];
24188
+ for (let batch = await readBatch(reader); batch.length; batch = await readBatch(reader)) entries.push(...batch);
24189
+ return entries;
24190
+ };
24191
+ const fileOf = (entry) => new Promise((resolve) => entry.file(resolve, () => resolve(void 0)));
24192
+ const walk$1 = async (entry) => {
24193
+ if (isHidden(entry.name)) return [];
24194
+ if (entry.isFile) {
24195
+ const file = await fileOf(entry);
24196
+ return file ? [{
24197
+ path: entry.fullPath,
24198
+ file
24199
+ }] : [];
24200
+ }
24201
+ if (!entry.isDirectory) return [];
24202
+ const children = await readAll(entry);
24203
+ return (await Promise.all(children.map(walk$1))).flat();
24204
+ };
24205
+ const splitDrop = (transfer) => {
24206
+ const items = Array.from(transfer?.items ?? []).filter((item) => item.kind === "file");
24207
+ if (!items.length || typeof items[0].webkitGetAsEntry !== "function") return {
24208
+ loose: Array.from(transfer?.files ?? []),
24209
+ folders: []
24210
+ };
24211
+ const split = {
24212
+ loose: [],
24213
+ folders: []
24214
+ };
24215
+ for (const item of items) {
24216
+ const entry = item.webkitGetAsEntry();
24217
+ if (entry?.isDirectory) {
24218
+ split.folders.push(entry);
24219
+ continue;
24220
+ }
24221
+ const file = item.getAsFile();
24222
+ if (file) split.loose.push(file);
24223
+ }
24224
+ return split;
24225
+ };
24226
+ const folderFiles = async (folders) => byPath((await Promise.all(folders.map(walk$1))).flat());
24227
+ const pickedFolderFiles = (files) => byPath(files.map((file) => ({
24228
+ path: file.webkitRelativePath || file.name,
24229
+ file
24230
+ })).filter(({ path }) => !path.split("/").some(isHidden)));
24089
24231
  var file_upload_input_exports = /* @__PURE__ */ __exportAll({ FileUploadInputComponent: () => FileUploadInputComponent });
24090
24232
  const isTrue = (value) => value === true || value === "true";
24091
24233
  var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputComponent {
@@ -24107,6 +24249,7 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
24107
24249
  }, ...ngDevMode ? [{ debugName: "syncPickedNames" }] : /* istanbul ignore next */ []);
24108
24250
  isFolderMode = computed(() => this.config()?.type === InputType.FOLDER || this.config()?.mode === "folder", ...ngDevMode ? [{ debugName: "isFolderMode" }] : /* istanbul ignore next */ []);
24109
24251
  isMultiple = computed(() => !this.isFolderMode() && isTrue(this.config()?.multiple), ...ngDevMode ? [{ debugName: "isMultiple" }] : /* istanbul ignore next */ []);
24252
+ takesFolders = computed(() => this.isMultiple() && isTrue(this.config()?.folders), ...ngDevMode ? [{ debugName: "takesFolders" }] : /* istanbul ignore next */ []);
24110
24253
  hasDropZone = computed(() => !this.isFolderMode() && isTrue(this.config()?.dropZone), ...ngDevMode ? [{ debugName: "hasDropZone" }] : /* istanbul ignore next */ []);
24111
24254
  readsText = computed(() => this.config()?.readAs === "text", ...ngDevMode ? [{ debugName: "readsText" }] : /* istanbul ignore next */ []);
24112
24255
  accept = computed(() => parseAccept(this.config()?.accept), ...ngDevMode ? [{ debugName: "accept" }] : /* istanbul ignore next */ []);
@@ -24165,6 +24308,15 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
24165
24308
  type: "button",
24166
24309
  disabled: this.isLocked()
24167
24310
  }), ...ngDevMode ? [{ debugName: "removeButton" }] : /* istanbul ignore next */ []);
24311
+ folderButton = computed(() => ({
24312
+ label: "choose-folder",
24313
+ icon: "folder",
24314
+ variant: "secondary",
24315
+ one: true,
24316
+ type: "button",
24317
+ fullWidth: true,
24318
+ disabled: this.isLocked()
24319
+ }), ...ngDevMode ? [{ debugName: "folderButton" }] : /* istanbul ignore next */ []);
24168
24320
  rejectionMessages = computed(() => {
24169
24321
  const max = formatFileSize(this.maxSize() ?? 0);
24170
24322
  return this.rejections().map((rejection) => {
@@ -24239,6 +24391,11 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
24239
24391
  event.preventDefault();
24240
24392
  this.isDragging.set(false);
24241
24393
  if (this.isLocked()) return;
24394
+ if (this.takesFolders()) {
24395
+ const { loose, folders } = splitDrop(event.dataTransfer);
24396
+ folderFiles(folders).then((nested) => this.take(loose, nested));
24397
+ return;
24398
+ }
24242
24399
  const dropped = Array.from(event.dataTransfer?.files ?? []);
24243
24400
  this.take(this.isMultiple() ? dropped : dropped.slice(0, 1));
24244
24401
  };
@@ -24264,9 +24421,14 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
24264
24421
  });
24265
24422
  await this.take(files);
24266
24423
  };
24267
- take = async (incoming) => {
24268
- if (!incoming.length) return;
24269
- const { accepted, rejected } = await this.screen(incoming);
24424
+ openFolderPicker = () => {
24425
+ if (this.isLocked()) return;
24426
+ this.files.getFiles({ directory: true }).then(({ files }) => this.take([], pickedFolderFiles(files)));
24427
+ };
24428
+ take = async (incoming, nested = []) => {
24429
+ const all = [...incoming, ...nested.filter((file) => fileMatchesAccept(file, this.accept()))];
24430
+ if (!all.length) return;
24431
+ const { accepted, rejected } = await this.screen(all);
24270
24432
  this.rejections.set(rejected);
24271
24433
  if (!accepted.length) {
24272
24434
  this.touched.set(true);
@@ -24319,7 +24481,7 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
24319
24481
  openEditor = async (file, size) => {
24320
24482
  const modalStore = this.modalStore;
24321
24483
  if (!modalStore) return void 0;
24322
- const { ImageEditorComponent } = await import("./magmonium-one-image-editor-DHlktZ6z.mjs");
24484
+ const { ImageEditorComponent } = await import("./magmonium-one-image-editor-C0vNiH0J.mjs");
24323
24485
  const ratio = String(this.config()?.ratio ?? "");
24324
24486
  return new Promise((resolve) => {
24325
24487
  const modalRef = new ModalRef();
@@ -24481,6 +24643,11 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
24481
24643
  <ng-container *ngTemplateOutlet="fileList" />
24482
24644
  }
24483
24645
  }
24646
+ @if (takesFolders()) {
24647
+ <div class="folder-pick">
24648
+ <m-button (click)="openFolderPicker()" [config]="folderButton()" />
24649
+ </div>
24650
+ }
24484
24651
  @for (rejection of rejectionMessages(); track $index) {
24485
24652
  <m-text-output
24486
24653
  variant="footer"
@@ -24501,7 +24668,7 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
24501
24668
  }
24502
24669
  `,
24503
24670
  isInline: true,
24504
- styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block}.drop-zone{display:flex;align-items:center;background:var(--m-background);overflow:hidden;height:calc(var(--input-size, 1em) * 2);min-height:calc(var(--input-size, 1em) * 2);border-width:max(1px,var(--input-size, 1em) * .0625);border-radius:calc(var(--input-size, 1em) * .4);padding:calc(var(--input-size, 1em) * .5) calc(var(--input-size, 1em) * .5);gap:calc(var(--input-size, 1em) * .375);font-size:var(--input-size, 1em);border-width:var(--m-input-border-width, 1px);border-radius:var(--m-input-radius, calc(var(--input-size, 1em) * .5));height:calc(var(--input-size, 1em) * 2.25);min-height:calc(var(--input-size, 1em) * 2.25);padding-top:0;padding-bottom:0;border-color:var(--m-input-color, var(--m-mm));transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.drop-zone:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-input-color, var(--m-mm)) 6%,transparent)}.drop-zone:disabled{opacity:.6;cursor:not-allowed}.drop-zone{border-style:solid;backdrop-filter:var(--m-text-input-backdrop-filter, none);-webkit-backdrop-filter:var(--m-text-input-backdrop-filter, none);box-shadow:var(--m-text-input-shadow, none)}.drop-zone:has(>m-one-button,>m-button,>.input-indicator,>.input-suffix,>m-icon:last-child){padding-right:0}.drop-zone:focus-visible:not(:disabled),.drop-zone:focus-within:not(:disabled){border-color:var(--m-text-input-focus-border, var(--m-focus));box-shadow:none}.drop-zone:has(.warning){border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)));box-shadow:none}.drop-zone:has(.warning):focus-within{border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)))}.drop-zone:has(.warning) input::placeholder,.drop-zone:has(.warning) textarea::placeholder{color:var(--m-warning, var(--m-warning))}.drop-zone:has(.error){border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.drop-zone:has(.error):focus-within{border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.drop-zone input::placeholder,.drop-zone textarea::placeholder{color:var(--m-border, var(--m-border))}.drop-zone:focus-within input::placeholder,.drop-zone:focus-visible input::placeholder,.drop-zone:focus-within textarea::placeholder,.drop-zone:focus-visible textarea::placeholder{color:var(--m-focus, var(--m-focus))}.drop-zone:has(.error) input::placeholder,.drop-zone:has(.error) textarea::placeholder{color:var(--m-error, var(--m-error))}.drop-zone input,.drop-zone textarea{flex:1;border:none;outline:none;background:transparent;color:var(--m-text);font-family:inherit;font-size:inherit;padding:0}.drop-zone input:focus,.drop-zone textarea:focus{border-color:transparent;box-shadow:none}.drop-zone{flex-direction:column;align-items:stretch;justify-content:center;width:100%;height:auto;min-height:calc(var(--m-textarea-input-height, 4.5em) + 1.5em);padding:.75em;border-style:dashed;cursor:pointer;background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));border-color:var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));transition:var(--m-text-input-transition, border-color .2s ease, box-shadow .2s ease, background-color .2s ease)}.drop-zone:hover:not(.drop-zone--locked):not(.error){border-color:var(--m-text-input-hover-border, color-mix(in srgb, var(--m-focus) 55%, var(--m-background)));background:var(--m-text-input-hover-background, color-mix(in srgb, var(--m-focus) 4%, var(--m-background)))}.drop-zone--dragging{border-color:var(--m-text-input-focus-border, var(--m-focus));background:var(--m-text-input-focus-background, color-mix(in srgb, var(--m-focus) 6%, var(--m-background)));box-shadow:var(--m-text-input-focus-shadow, 0 0 0 3px color-mix(in srgb, var(--m-focus) 14%, transparent))}.drop-zone:focus:not(.drop-zone--locked),.drop-zone:focus-visible:not(.drop-zone--locked){border-color:var(--m-text-input-focus-border, var(--m-focus));background:var(--m-text-input-focus-background, var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background))));box-shadow:none}.drop-zone--locked{cursor:not-allowed;opacity:.6}.drop-zone.error{border-color:var(--m-error, var(--m-error))}.drop-zone.error:focus:not(.drop-zone--locked),.drop-zone.error:focus-visible:not(.drop-zone--locked){border-color:var(--m-error, var(--m-error))}.drop-zone .drop-zone__empty .m-icon{opacity:var(--m-text-input-icon-opacity, 1);transition:opacity .2s ease}.drop-zone:focus .drop-zone__empty .m-icon,.drop-zone:focus-visible .drop-zone__empty .m-icon{opacity:var(--m-text-input-icon-focus-opacity, var(--m-text-input-icon-opacity, 1))}.drop-zone__empty{display:flex;flex-direction:column;align-items:center;gap:.5em;text-align:center}.drop-zone__placeholder{font-weight:var(--m-text-input-placeholder-weight, inherit);opacity:var(--m-text-input-placeholder-opacity, inherit);color:var(--m-border, var(--m-border))}.drop-zone:focus .drop-zone__placeholder,.drop-zone:focus-visible .drop-zone__placeholder,.drop-zone--dragging .drop-zone__placeholder{color:var(--m-focus, var(--m-focus))}.drop-zone.error .drop-zone__placeholder{color:var(--m-error, var(--m-error))}.file-tiles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.75em}.file-tiles--below{margin-top:.75em}.file-tile{--m-file-tile-size: 150px;display:flex;flex-direction:column;gap:.25em;width:var(--m-file-tile-size);max-width:100%}.file-tile__box{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));overflow:hidden}.file-tile__preview{display:block;width:100%;height:100%;object-fit:cover}.file-tile__type{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5em;height:100%;color:var(--m-input-color, var(--m-mm));--m-icon-size: 2.5em}.file-tile__kind{font-weight:600;letter-spacing:.05em}.file-tile__remove{position:absolute;top:.25em;right:.25em;display:flex;border-radius:50%;background:var(--m-text-input-background, var(--m-background))}.file-tile__name{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7em;color:var(--m-text-input-color, var(--m-text))}\n"],
24671
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block}.drop-zone{display:flex;align-items:center;background:var(--m-background);overflow:hidden;height:calc(var(--input-size, 1em) * 2);min-height:calc(var(--input-size, 1em) * 2);border-width:max(1px,var(--input-size, 1em) * .0625);border-radius:calc(var(--input-size, 1em) * .4);padding:calc(var(--input-size, 1em) * .5) calc(var(--input-size, 1em) * .5);gap:calc(var(--input-size, 1em) * .375);font-size:var(--input-size, 1em);border-width:var(--m-input-border-width, 1px);border-radius:var(--m-input-radius, calc(var(--input-size, 1em) * .5));height:calc(var(--input-size, 1em) * 2.25);min-height:calc(var(--input-size, 1em) * 2.25);padding-top:0;padding-bottom:0;border-color:var(--m-input-color, var(--m-mm));transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.drop-zone:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-input-color, var(--m-mm)) 6%,transparent)}.drop-zone:disabled{opacity:.6;cursor:not-allowed}.drop-zone{border-style:solid;backdrop-filter:var(--m-text-input-backdrop-filter, none);-webkit-backdrop-filter:var(--m-text-input-backdrop-filter, none);box-shadow:var(--m-text-input-shadow, none)}.drop-zone:has(>m-one-button,>m-button,>.input-indicator,>.input-suffix,>m-icon:last-child){padding-right:0}.drop-zone:focus-visible:not(:disabled),.drop-zone:focus-within:not(:disabled){border-color:var(--m-text-input-focus-border, var(--m-focus));box-shadow:none}.drop-zone:has(.warning){border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)));box-shadow:none}.drop-zone:has(.warning):focus-within{border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)))}.drop-zone:has(.warning) input::placeholder,.drop-zone:has(.warning) textarea::placeholder{color:var(--m-warning, var(--m-warning))}.drop-zone:has(.error){border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.drop-zone:has(.error):focus-within{border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.drop-zone input::placeholder,.drop-zone textarea::placeholder{color:var(--m-border, var(--m-border))}.drop-zone:focus-within input::placeholder,.drop-zone:focus-visible input::placeholder,.drop-zone:focus-within textarea::placeholder,.drop-zone:focus-visible textarea::placeholder{color:var(--m-focus, var(--m-focus))}.drop-zone:has(.error) input::placeholder,.drop-zone:has(.error) textarea::placeholder{color:var(--m-error, var(--m-error))}.drop-zone input,.drop-zone textarea{flex:1;border:none;outline:none;background:transparent;color:var(--m-text);font-family:inherit;font-size:inherit;padding:0}.drop-zone input:focus,.drop-zone textarea:focus{border-color:transparent;box-shadow:none}.drop-zone{flex-direction:column;align-items:stretch;justify-content:center;width:100%;height:auto;min-height:calc(var(--m-textarea-input-height, 4.5em) + 1.5em);padding:.75em;border-style:dashed;cursor:pointer;background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));border-color:var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));transition:var(--m-text-input-transition, border-color .2s ease, box-shadow .2s ease, background-color .2s ease)}.drop-zone:hover:not(.drop-zone--locked):not(.error){border-color:var(--m-text-input-hover-border, color-mix(in srgb, var(--m-focus) 55%, var(--m-background)));background:var(--m-text-input-hover-background, color-mix(in srgb, var(--m-focus) 4%, var(--m-background)))}.drop-zone--dragging{border-color:var(--m-text-input-focus-border, var(--m-focus));background:var(--m-text-input-focus-background, color-mix(in srgb, var(--m-focus) 6%, var(--m-background)));box-shadow:var(--m-text-input-focus-shadow, 0 0 0 3px color-mix(in srgb, var(--m-focus) 14%, transparent))}.drop-zone:focus:not(.drop-zone--locked),.drop-zone:focus-visible:not(.drop-zone--locked){border-color:var(--m-text-input-focus-border, var(--m-focus));background:var(--m-text-input-focus-background, var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background))));box-shadow:none}.drop-zone--locked{cursor:not-allowed;opacity:.6}.drop-zone.error{border-color:var(--m-error, var(--m-error))}.drop-zone.error:focus:not(.drop-zone--locked),.drop-zone.error:focus-visible:not(.drop-zone--locked){border-color:var(--m-error, var(--m-error))}.drop-zone .drop-zone__empty .m-icon{opacity:var(--m-text-input-icon-opacity, 1);transition:opacity .2s ease}.drop-zone:focus .drop-zone__empty .m-icon,.drop-zone:focus-visible .drop-zone__empty .m-icon{opacity:var(--m-text-input-icon-focus-opacity, var(--m-text-input-icon-opacity, 1))}.drop-zone__empty{display:flex;flex-direction:column;align-items:center;gap:.5em;text-align:center}.drop-zone__placeholder{font-weight:var(--m-text-input-placeholder-weight, inherit);opacity:var(--m-text-input-placeholder-opacity, inherit);color:var(--m-border, var(--m-border))}.drop-zone:focus .drop-zone__placeholder,.drop-zone:focus-visible .drop-zone__placeholder,.drop-zone--dragging .drop-zone__placeholder{color:var(--m-focus, var(--m-focus))}.drop-zone.error .drop-zone__placeholder{color:var(--m-error, var(--m-error))}.file-tiles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.75em}.file-tiles--below,.folder-pick{margin-top:.75em}.file-tile{--m-file-tile-size: 150px;display:flex;flex-direction:column;gap:.25em;width:var(--m-file-tile-size);max-width:100%}.file-tile__box{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));overflow:hidden}.file-tile__preview{display:block;width:100%;height:100%;object-fit:cover}.file-tile__type{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5em;height:100%;color:var(--m-input-color, var(--m-mm));--m-icon-size: 2.5em}.file-tile__kind{font-weight:600;letter-spacing:.05em}.file-tile__remove{position:absolute;top:.25em;right:.25em;display:flex;border-radius:50%;background:var(--m-text-input-background, var(--m-background))}.file-tile__name{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7em;color:var(--m-text-input-color, var(--m-text))}\n"],
24505
24672
  dependencies: [
24506
24673
  {
24507
24674
  kind: "directive",
@@ -24684,6 +24851,11 @@ i0.ɵɵngDeclareClassMetadata({
24684
24851
  <ng-container *ngTemplateOutlet="fileList" />
24685
24852
  }
24686
24853
  }
24854
+ @if (takesFolders()) {
24855
+ <div class="folder-pick">
24856
+ <m-button (click)="openFolderPicker()" [config]="folderButton()" />
24857
+ </div>
24858
+ }
24687
24859
  @for (rejection of rejectionMessages(); track $index) {
24688
24860
  <m-text-output
24689
24861
  variant="footer"
@@ -24711,7 +24883,7 @@ i0.ɵɵngDeclareClassMetadata({
24711
24883
  TextOutputComponent
24712
24884
  ],
24713
24885
  changeDetection: ChangeDetectionStrategy.OnPush,
24714
- styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block}.drop-zone{display:flex;align-items:center;background:var(--m-background);overflow:hidden;height:calc(var(--input-size, 1em) * 2);min-height:calc(var(--input-size, 1em) * 2);border-width:max(1px,var(--input-size, 1em) * .0625);border-radius:calc(var(--input-size, 1em) * .4);padding:calc(var(--input-size, 1em) * .5) calc(var(--input-size, 1em) * .5);gap:calc(var(--input-size, 1em) * .375);font-size:var(--input-size, 1em);border-width:var(--m-input-border-width, 1px);border-radius:var(--m-input-radius, calc(var(--input-size, 1em) * .5));height:calc(var(--input-size, 1em) * 2.25);min-height:calc(var(--input-size, 1em) * 2.25);padding-top:0;padding-bottom:0;border-color:var(--m-input-color, var(--m-mm));transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.drop-zone:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-input-color, var(--m-mm)) 6%,transparent)}.drop-zone:disabled{opacity:.6;cursor:not-allowed}.drop-zone{border-style:solid;backdrop-filter:var(--m-text-input-backdrop-filter, none);-webkit-backdrop-filter:var(--m-text-input-backdrop-filter, none);box-shadow:var(--m-text-input-shadow, none)}.drop-zone:has(>m-one-button,>m-button,>.input-indicator,>.input-suffix,>m-icon:last-child){padding-right:0}.drop-zone:focus-visible:not(:disabled),.drop-zone:focus-within:not(:disabled){border-color:var(--m-text-input-focus-border, var(--m-focus));box-shadow:none}.drop-zone:has(.warning){border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)));box-shadow:none}.drop-zone:has(.warning):focus-within{border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)))}.drop-zone:has(.warning) input::placeholder,.drop-zone:has(.warning) textarea::placeholder{color:var(--m-warning, var(--m-warning))}.drop-zone:has(.error){border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.drop-zone:has(.error):focus-within{border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.drop-zone input::placeholder,.drop-zone textarea::placeholder{color:var(--m-border, var(--m-border))}.drop-zone:focus-within input::placeholder,.drop-zone:focus-visible input::placeholder,.drop-zone:focus-within textarea::placeholder,.drop-zone:focus-visible textarea::placeholder{color:var(--m-focus, var(--m-focus))}.drop-zone:has(.error) input::placeholder,.drop-zone:has(.error) textarea::placeholder{color:var(--m-error, var(--m-error))}.drop-zone input,.drop-zone textarea{flex:1;border:none;outline:none;background:transparent;color:var(--m-text);font-family:inherit;font-size:inherit;padding:0}.drop-zone input:focus,.drop-zone textarea:focus{border-color:transparent;box-shadow:none}.drop-zone{flex-direction:column;align-items:stretch;justify-content:center;width:100%;height:auto;min-height:calc(var(--m-textarea-input-height, 4.5em) + 1.5em);padding:.75em;border-style:dashed;cursor:pointer;background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));border-color:var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));transition:var(--m-text-input-transition, border-color .2s ease, box-shadow .2s ease, background-color .2s ease)}.drop-zone:hover:not(.drop-zone--locked):not(.error){border-color:var(--m-text-input-hover-border, color-mix(in srgb, var(--m-focus) 55%, var(--m-background)));background:var(--m-text-input-hover-background, color-mix(in srgb, var(--m-focus) 4%, var(--m-background)))}.drop-zone--dragging{border-color:var(--m-text-input-focus-border, var(--m-focus));background:var(--m-text-input-focus-background, color-mix(in srgb, var(--m-focus) 6%, var(--m-background)));box-shadow:var(--m-text-input-focus-shadow, 0 0 0 3px color-mix(in srgb, var(--m-focus) 14%, transparent))}.drop-zone:focus:not(.drop-zone--locked),.drop-zone:focus-visible:not(.drop-zone--locked){border-color:var(--m-text-input-focus-border, var(--m-focus));background:var(--m-text-input-focus-background, var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background))));box-shadow:none}.drop-zone--locked{cursor:not-allowed;opacity:.6}.drop-zone.error{border-color:var(--m-error, var(--m-error))}.drop-zone.error:focus:not(.drop-zone--locked),.drop-zone.error:focus-visible:not(.drop-zone--locked){border-color:var(--m-error, var(--m-error))}.drop-zone .drop-zone__empty .m-icon{opacity:var(--m-text-input-icon-opacity, 1);transition:opacity .2s ease}.drop-zone:focus .drop-zone__empty .m-icon,.drop-zone:focus-visible .drop-zone__empty .m-icon{opacity:var(--m-text-input-icon-focus-opacity, var(--m-text-input-icon-opacity, 1))}.drop-zone__empty{display:flex;flex-direction:column;align-items:center;gap:.5em;text-align:center}.drop-zone__placeholder{font-weight:var(--m-text-input-placeholder-weight, inherit);opacity:var(--m-text-input-placeholder-opacity, inherit);color:var(--m-border, var(--m-border))}.drop-zone:focus .drop-zone__placeholder,.drop-zone:focus-visible .drop-zone__placeholder,.drop-zone--dragging .drop-zone__placeholder{color:var(--m-focus, var(--m-focus))}.drop-zone.error .drop-zone__placeholder{color:var(--m-error, var(--m-error))}.file-tiles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.75em}.file-tiles--below{margin-top:.75em}.file-tile{--m-file-tile-size: 150px;display:flex;flex-direction:column;gap:.25em;width:var(--m-file-tile-size);max-width:100%}.file-tile__box{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));overflow:hidden}.file-tile__preview{display:block;width:100%;height:100%;object-fit:cover}.file-tile__type{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5em;height:100%;color:var(--m-input-color, var(--m-mm));--m-icon-size: 2.5em}.file-tile__kind{font-weight:600;letter-spacing:.05em}.file-tile__remove{position:absolute;top:.25em;right:.25em;display:flex;border-radius:50%;background:var(--m-text-input-background, var(--m-background))}.file-tile__name{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7em;color:var(--m-text-input-color, var(--m-text))}\n"]
24886
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block}.drop-zone{display:flex;align-items:center;background:var(--m-background);overflow:hidden;height:calc(var(--input-size, 1em) * 2);min-height:calc(var(--input-size, 1em) * 2);border-width:max(1px,var(--input-size, 1em) * .0625);border-radius:calc(var(--input-size, 1em) * .4);padding:calc(var(--input-size, 1em) * .5) calc(var(--input-size, 1em) * .5);gap:calc(var(--input-size, 1em) * .375);font-size:var(--input-size, 1em);border-width:var(--m-input-border-width, 1px);border-radius:var(--m-input-radius, calc(var(--input-size, 1em) * .5));height:calc(var(--input-size, 1em) * 2.25);min-height:calc(var(--input-size, 1em) * 2.25);padding-top:0;padding-bottom:0;border-color:var(--m-input-color, var(--m-mm));transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.drop-zone:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-input-color, var(--m-mm)) 6%,transparent)}.drop-zone:disabled{opacity:.6;cursor:not-allowed}.drop-zone{border-style:solid;backdrop-filter:var(--m-text-input-backdrop-filter, none);-webkit-backdrop-filter:var(--m-text-input-backdrop-filter, none);box-shadow:var(--m-text-input-shadow, none)}.drop-zone:has(>m-one-button,>m-button,>.input-indicator,>.input-suffix,>m-icon:last-child){padding-right:0}.drop-zone:focus-visible:not(:disabled),.drop-zone:focus-within:not(:disabled){border-color:var(--m-text-input-focus-border, var(--m-focus));box-shadow:none}.drop-zone:has(.warning){border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)));box-shadow:none}.drop-zone:has(.warning):focus-within{border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)))}.drop-zone:has(.warning) input::placeholder,.drop-zone:has(.warning) textarea::placeholder{color:var(--m-warning, var(--m-warning))}.drop-zone:has(.error){border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.drop-zone:has(.error):focus-within{border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.drop-zone input::placeholder,.drop-zone textarea::placeholder{color:var(--m-border, var(--m-border))}.drop-zone:focus-within input::placeholder,.drop-zone:focus-visible input::placeholder,.drop-zone:focus-within textarea::placeholder,.drop-zone:focus-visible textarea::placeholder{color:var(--m-focus, var(--m-focus))}.drop-zone:has(.error) input::placeholder,.drop-zone:has(.error) textarea::placeholder{color:var(--m-error, var(--m-error))}.drop-zone input,.drop-zone textarea{flex:1;border:none;outline:none;background:transparent;color:var(--m-text);font-family:inherit;font-size:inherit;padding:0}.drop-zone input:focus,.drop-zone textarea:focus{border-color:transparent;box-shadow:none}.drop-zone{flex-direction:column;align-items:stretch;justify-content:center;width:100%;height:auto;min-height:calc(var(--m-textarea-input-height, 4.5em) + 1.5em);padding:.75em;border-style:dashed;cursor:pointer;background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));border-color:var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));transition:var(--m-text-input-transition, border-color .2s ease, box-shadow .2s ease, background-color .2s ease)}.drop-zone:hover:not(.drop-zone--locked):not(.error){border-color:var(--m-text-input-hover-border, color-mix(in srgb, var(--m-focus) 55%, var(--m-background)));background:var(--m-text-input-hover-background, color-mix(in srgb, var(--m-focus) 4%, var(--m-background)))}.drop-zone--dragging{border-color:var(--m-text-input-focus-border, var(--m-focus));background:var(--m-text-input-focus-background, color-mix(in srgb, var(--m-focus) 6%, var(--m-background)));box-shadow:var(--m-text-input-focus-shadow, 0 0 0 3px color-mix(in srgb, var(--m-focus) 14%, transparent))}.drop-zone:focus:not(.drop-zone--locked),.drop-zone:focus-visible:not(.drop-zone--locked){border-color:var(--m-text-input-focus-border, var(--m-focus));background:var(--m-text-input-focus-background, var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background))));box-shadow:none}.drop-zone--locked{cursor:not-allowed;opacity:.6}.drop-zone.error{border-color:var(--m-error, var(--m-error))}.drop-zone.error:focus:not(.drop-zone--locked),.drop-zone.error:focus-visible:not(.drop-zone--locked){border-color:var(--m-error, var(--m-error))}.drop-zone .drop-zone__empty .m-icon{opacity:var(--m-text-input-icon-opacity, 1);transition:opacity .2s ease}.drop-zone:focus .drop-zone__empty .m-icon,.drop-zone:focus-visible .drop-zone__empty .m-icon{opacity:var(--m-text-input-icon-focus-opacity, var(--m-text-input-icon-opacity, 1))}.drop-zone__empty{display:flex;flex-direction:column;align-items:center;gap:.5em;text-align:center}.drop-zone__placeholder{font-weight:var(--m-text-input-placeholder-weight, inherit);opacity:var(--m-text-input-placeholder-opacity, inherit);color:var(--m-border, var(--m-border))}.drop-zone:focus .drop-zone__placeholder,.drop-zone:focus-visible .drop-zone__placeholder,.drop-zone--dragging .drop-zone__placeholder{color:var(--m-focus, var(--m-focus))}.drop-zone.error .drop-zone__placeholder{color:var(--m-error, var(--m-error))}.file-tiles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.75em}.file-tiles--below,.folder-pick{margin-top:.75em}.file-tile{--m-file-tile-size: 150px;display:flex;flex-direction:column;gap:.25em;width:var(--m-file-tile-size);max-width:100%}.file-tile__box{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));overflow:hidden}.file-tile__preview{display:block;width:100%;height:100%;object-fit:cover}.file-tile__type{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5em;height:100%;color:var(--m-input-color, var(--m-mm));--m-icon-size: 2.5em}.file-tile__kind{font-weight:600;letter-spacing:.05em}.file-tile__remove{position:absolute;top:.25em;right:.25em;display:flex;border-radius:50%;background:var(--m-text-input-background, var(--m-background))}.file-tile__name{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7em;color:var(--m-text-input-color, var(--m-text))}\n"]
24715
24887
  }]
24716
24888
  }],
24717
24889
  propDecorators: {
@@ -30886,7 +31058,7 @@ var PluginComponent = class PluginComponent {
30886
31058
  }
30887
31059
  `,
30888
31060
  isInline: true,
30889
- styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.m-plugin{display:block}.m-plugin__loading,.m-plugin__broken{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px}.m-plugin__spinner{width:20px;height:20px;border:2px solid var(--m-backdrop-border);border-top-color:var(--m-mm);border-radius:50%;animation:plugin-spin .8s linear infinite}.m-plugin__broken{color:var(--m-text-secondary)}.m-plugin__detail{font-size:.85em}@keyframes plugin-spin{to{transform:rotate(360deg)}}\n"],
31061
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.m-plugin{display:block;width:100%}.m-plugin__loading,.m-plugin__broken{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px}.m-plugin__spinner{width:20px;height:20px;border:2px solid var(--m-backdrop-border);border-top-color:var(--m-mm);border-radius:50%;animation:plugin-spin .8s linear infinite}.m-plugin__broken{color:var(--m-text-secondary)}.m-plugin__detail{font-size:.85em}@keyframes plugin-spin{to{transform:rotate(360deg)}}\n"],
30890
31062
  dependencies: [{
30891
31063
  kind: "component",
30892
31064
  type: IconComponent,
@@ -30945,7 +31117,7 @@ i0.ɵɵngDeclareClassMetadata({
30945
31117
  `,
30946
31118
  changeDetection: ChangeDetectionStrategy.OnPush,
30947
31119
  encapsulation: ViewEncapsulation.None,
30948
- styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.m-plugin{display:block}.m-plugin__loading,.m-plugin__broken{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px}.m-plugin__spinner{width:20px;height:20px;border:2px solid var(--m-backdrop-border);border-top-color:var(--m-mm);border-radius:50%;animation:plugin-spin .8s linear infinite}.m-plugin__broken{color:var(--m-text-secondary)}.m-plugin__detail{font-size:.85em}@keyframes plugin-spin{to{transform:rotate(360deg)}}\n"]
31120
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.m-plugin{display:block;width:100%}.m-plugin__loading,.m-plugin__broken{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px}.m-plugin__spinner{width:20px;height:20px;border:2px solid var(--m-backdrop-border);border-top-color:var(--m-mm);border-radius:50%;animation:plugin-spin .8s linear infinite}.m-plugin__broken{color:var(--m-text-secondary)}.m-plugin__detail{font-size:.85em}@keyframes plugin-spin{to{transform:rotate(360deg)}}\n"]
30949
31121
  }]
30950
31122
  }],
30951
31123
  ctorParameters: () => [],
@@ -40154,6 +40326,139 @@ i0.ɵɵngDeclareClassMetadata({
40154
40326
  }]
40155
40327
  }
40156
40328
  });
40329
+ const heatShare = (value) => Number.isFinite(value) ? Math.min(100, Math.max(0, value)) : void 0;
40330
+ const heatColor = (value, from, to) => {
40331
+ const share = heatShare(value);
40332
+ if (share === void 0) return void 0;
40333
+ return `color-mix(in oklab, ${to} ${share}%, ${from})`;
40334
+ };
40335
+ var HeatSwatchComponent = class HeatSwatchComponent {
40336
+ value = input(NaN, {
40337
+ ...ngDevMode ? { debugName: "value" } : /* istanbul ignore next */ {},
40338
+ transform: numberAttribute
40339
+ });
40340
+ fromColor = input(void 0, ...ngDevMode ? [{ debugName: "fromColor" }] : /* istanbul ignore next */ []);
40341
+ toColor = input(void 0, ...ngDevMode ? [{ debugName: "toColor" }] : /* istanbul ignore next */ []);
40342
+ radius = input("none", ...ngDevMode ? [{ debugName: "radius" }] : /* istanbul ignore next */ []);
40343
+ themeStore = inject(ThemeStore);
40344
+ paint = computed(() => heatColor(this.value(), this.resolve(this.fromColor() || "error"), this.resolve(this.toColor() || "success")), ...ngDevMode ? [{ debugName: "paint" }] : /* istanbul ignore next */ []);
40345
+ resolve(color) {
40346
+ return resolvePallet(color, this.themeStore.color()).color;
40347
+ }
40348
+ static ɵfac = i0.ɵɵngDeclareFactory({
40349
+ minVersion: "12.0.0",
40350
+ version: "22.2.1",
40351
+ ngImport: i0,
40352
+ type: HeatSwatchComponent,
40353
+ deps: [],
40354
+ target: i0.ɵɵFactoryTarget.Component
40355
+ });
40356
+ static ɵcmp = i0.ɵɵngDeclareComponent({
40357
+ minVersion: "17.1.0",
40358
+ version: "22.2.1",
40359
+ type: HeatSwatchComponent,
40360
+ isStandalone: true,
40361
+ selector: "m-heat-swatch",
40362
+ inputs: {
40363
+ value: {
40364
+ classPropertyName: "value",
40365
+ publicName: "value",
40366
+ isSignal: true,
40367
+ isRequired: false,
40368
+ transformFunction: null
40369
+ },
40370
+ fromColor: {
40371
+ classPropertyName: "fromColor",
40372
+ publicName: "fromColor",
40373
+ isSignal: true,
40374
+ isRequired: false,
40375
+ transformFunction: null
40376
+ },
40377
+ toColor: {
40378
+ classPropertyName: "toColor",
40379
+ publicName: "toColor",
40380
+ isSignal: true,
40381
+ isRequired: false,
40382
+ transformFunction: null
40383
+ },
40384
+ radius: {
40385
+ classPropertyName: "radius",
40386
+ publicName: "radius",
40387
+ isSignal: true,
40388
+ isRequired: false,
40389
+ transformFunction: null
40390
+ }
40391
+ },
40392
+ host: {
40393
+ attributes: { "aria-hidden": "true" },
40394
+ properties: {
40395
+ "attr.data-radius": "radius()",
40396
+ "style.--m-heat-swatch-color": "paint()"
40397
+ },
40398
+ classAttribute: "m-heat-swatch-host"
40399
+ },
40400
+ ngImport: i0,
40401
+ template: "",
40402
+ isInline: true,
40403
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;flex:1 1 auto;align-self:stretch;width:100%;height:100%;min-height:4px;background-color:var(--m-heat-swatch-color, color-mix(in srgb, var(--m-text) 20%, var(--m-background)));transition:background-color .2s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){:host{transition:none}}:host([data-radius=sm]){border-radius:4px}:host([data-radius=md]){border-radius:8px}:host([data-radius=full]){border-radius:9999px}\n"],
40404
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
40405
+ });
40406
+ };
40407
+ i0.ɵɵngDeclareClassMetadata({
40408
+ minVersion: "12.0.0",
40409
+ version: "22.2.1",
40410
+ ngImport: i0,
40411
+ type: HeatSwatchComponent,
40412
+ decorators: [{
40413
+ type: Component,
40414
+ args: [{
40415
+ selector: "m-heat-swatch",
40416
+ template: "",
40417
+ changeDetection: ChangeDetectionStrategy.OnPush,
40418
+ host: {
40419
+ class: "m-heat-swatch-host",
40420
+ "aria-hidden": "true",
40421
+ "[attr.data-radius]": "radius()",
40422
+ "[style.--m-heat-swatch-color]": "paint()"
40423
+ },
40424
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;flex:1 1 auto;align-self:stretch;width:100%;height:100%;min-height:4px;background-color:var(--m-heat-swatch-color, color-mix(in srgb, var(--m-text) 20%, var(--m-background)));transition:background-color .2s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){:host{transition:none}}:host([data-radius=sm]){border-radius:4px}:host([data-radius=md]){border-radius:8px}:host([data-radius=full]){border-radius:9999px}\n"]
40425
+ }]
40426
+ }],
40427
+ propDecorators: {
40428
+ value: [{
40429
+ type: i0.Input,
40430
+ args: [{
40431
+ isSignal: true,
40432
+ alias: "value",
40433
+ required: false
40434
+ }]
40435
+ }],
40436
+ fromColor: [{
40437
+ type: i0.Input,
40438
+ args: [{
40439
+ isSignal: true,
40440
+ alias: "fromColor",
40441
+ required: false
40442
+ }]
40443
+ }],
40444
+ toColor: [{
40445
+ type: i0.Input,
40446
+ args: [{
40447
+ isSignal: true,
40448
+ alias: "toColor",
40449
+ required: false
40450
+ }]
40451
+ }],
40452
+ radius: [{
40453
+ type: i0.Input,
40454
+ args: [{
40455
+ isSignal: true,
40456
+ alias: "radius",
40457
+ required: false
40458
+ }]
40459
+ }]
40460
+ }
40461
+ });
40157
40462
  var PwaInstallComponent = class PwaInstallComponent {
40158
40463
  manifest = signal(null, ...ngDevMode ? [{ debugName: "manifest" }] : /* istanbul ignore next */ []);
40159
40464
  state = signal("loading", ...ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []);
@@ -42512,6 +42817,11 @@ var NavMenuComponent = class NavMenuComponent {
42512
42817
  >{{ formatBadgeCount(badge.count) }}</m-badge
42513
42818
  >
42514
42819
  }
42820
+ <!-- A tone is how the row's subject stands; the words for it live where
42821
+ the row leads, so the dot itself says nothing to a screen reader. -->
42822
+ @if (item.tone; as tone) {
42823
+ <span class="nav-menu__tone" [attr.data-tone]="tone" aria-hidden="true"></span>
42824
+ }
42515
42825
  </ng-template>
42516
42826
  <ng-template #menuTemplate let-item="row">
42517
42827
  <div class="nav-menu__item">
@@ -42570,7 +42880,7 @@ var NavMenuComponent = class NavMenuComponent {
42570
42880
  </div>
42571
42881
  `,
42572
42882
  isInline: true,
42573
- styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%}.nav-menu{padding:0;margin:0}.nav-menu ul{display:flex;flex-direction:column;gap:0;padding:0;margin:0}.nav-menu li{padding:0;list-style:none;width:100%;border-bottom:1px solid rgba(0,0,0,.02)}.nav-menu li:last-child{border-bottom:none}.nav-menu__item{display:flex;align-items:center;gap:.75rem;width:100%;position:relative;color:var(--m-text-secondary);background:transparent}.nav-menu__item:not(:has(.nav-menu__link)){padding:.625rem 1rem}.nav-menu__link{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-radius:0;transition:all .15s cubic-bezier(.4,0,.2,1);cursor:pointer;width:100%;color:inherit;text-decoration:none}.nav-menu__link:hover{background:#00000008;color:var(--m-text)}.nav-menu__link:hover .nav-menu__icon{color:var(--m-text)}.nav-menu__link:hover .nav-menu__label{color:var(--m-text);font-weight:600}.nav-menu__browse{flex:none;margin-inline-end:.5rem;color:var(--m-text-tertiary)}.nav-menu__icon{display:flex;align-items:center;justify-content:center;color:var(--m-text-tertiary);transition:color .15s ease;width:1.15rem;height:1.15rem}.nav-menu__app-logo{display:block;width:100%;height:100%}.nav-menu__icon .m-icon{display:flex;align-items:center}.nav-menu__label{flex:1;display:block;width:100%;font-size:.8125rem;font-weight:500;letter-spacing:.01em;color:inherit;text-decoration:none}.nav-menu__badge{--m-badge-height: 1.5em;--m-badge-min-width: 1.5em;--m-badge-padding: 0 .3em;--m-badge-gap: .1em;vertical-align:middle;margin-inline-start:.15rem}.nav-menu__item:has(.active){background:linear-gradient(90deg,color-mix(in srgb,var(--m-mm) 6%,transparent) 0%,color-mix(in srgb,var(--m-mm) 2%,transparent) 60%,transparent 100%);color:var(--m-mm);border-radius:0}.nav-menu__item:has(.active):after{content:\"\";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.05) 50%,transparent 100%);z-index:3}.nav-menu__item:has(.active) .nav-menu__icon{color:var(--m-mm);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--m-mm) 20%,transparent))}.nav-menu__item:has(.active) .nav-menu__label{color:var(--m-mm);font-weight:700;letter-spacing:.015em}\n"],
42883
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%}.nav-menu{padding:0;margin:0}.nav-menu ul{display:flex;flex-direction:column;gap:0;padding:0;margin:0}.nav-menu li{padding:0;list-style:none;width:100%;border-bottom:1px solid rgba(0,0,0,.02)}.nav-menu li:last-child{border-bottom:none}.nav-menu__item{display:flex;align-items:center;gap:.75rem;width:100%;position:relative;color:var(--m-text-secondary);background:transparent}.nav-menu__item:not(:has(.nav-menu__link)){padding:.625rem 1rem}.nav-menu__link{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-radius:0;transition:all .15s cubic-bezier(.4,0,.2,1);cursor:pointer;width:100%;color:inherit;text-decoration:none}.nav-menu__link:hover{background:#00000008;color:var(--m-text)}.nav-menu__link:hover .nav-menu__icon{color:var(--m-text)}.nav-menu__link:hover .nav-menu__label{color:var(--m-text);font-weight:600}.nav-menu__browse{flex:none;margin-inline-end:.5rem;color:var(--m-text-tertiary)}.nav-menu__icon{display:flex;align-items:center;justify-content:center;color:var(--m-text-tertiary);transition:color .15s ease;width:1.15rem;height:1.15rem}.nav-menu__app-logo{display:block;width:100%;height:100%}.nav-menu__icon .m-icon{display:flex;align-items:center}.nav-menu__label{flex:1;display:block;width:100%;font-size:.8125rem;font-weight:500;letter-spacing:.01em;color:inherit;text-decoration:none}.nav-menu__tone{display:inline-block;width:.5em;height:.5em;margin-inline-start:.35rem;border-radius:50%;vertical-align:middle;background:var(--m-info)}.nav-menu__tone[data-tone=warning]{background:var(--m-warning)}.nav-menu__tone[data-tone=error]{background:var(--m-error)}.nav-menu__tone[data-tone=success]{background:var(--m-success)}.nav-menu__badge{--m-badge-height: 1.5em;--m-badge-min-width: 1.5em;--m-badge-padding: 0 .3em;--m-badge-gap: .1em;vertical-align:middle;margin-inline-start:.15rem}.nav-menu__item:has(.active){background:linear-gradient(90deg,color-mix(in srgb,var(--m-mm) 6%,transparent) 0%,color-mix(in srgb,var(--m-mm) 2%,transparent) 60%,transparent 100%);color:var(--m-mm);border-radius:0}.nav-menu__item:has(.active):after{content:\"\";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.05) 50%,transparent 100%);z-index:3}.nav-menu__item:has(.active) .nav-menu__icon{color:var(--m-mm);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--m-mm) 20%,transparent))}.nav-menu__item:has(.active) .nav-menu__label{color:var(--m-mm);font-weight:700;letter-spacing:.015em}\n"],
42574
42884
  dependencies: [
42575
42885
  {
42576
42886
  kind: "directive",
@@ -42719,6 +43029,11 @@ i0.ɵɵngDeclareClassMetadata({
42719
43029
  >{{ formatBadgeCount(badge.count) }}</m-badge
42720
43030
  >
42721
43031
  }
43032
+ <!-- A tone is how the row's subject stands; the words for it live where
43033
+ the row leads, so the dot itself says nothing to a screen reader. -->
43034
+ @if (item.tone; as tone) {
43035
+ <span class="nav-menu__tone" [attr.data-tone]="tone" aria-hidden="true"></span>
43036
+ }
42722
43037
  </ng-template>
42723
43038
  <ng-template #menuTemplate let-item="row">
42724
43039
  <div class="nav-menu__item">
@@ -42787,7 +43102,7 @@ i0.ɵɵngDeclareClassMetadata({
42787
43102
  ListComponent,
42788
43103
  ButtonComponent
42789
43104
  ],
42790
- styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%}.nav-menu{padding:0;margin:0}.nav-menu ul{display:flex;flex-direction:column;gap:0;padding:0;margin:0}.nav-menu li{padding:0;list-style:none;width:100%;border-bottom:1px solid rgba(0,0,0,.02)}.nav-menu li:last-child{border-bottom:none}.nav-menu__item{display:flex;align-items:center;gap:.75rem;width:100%;position:relative;color:var(--m-text-secondary);background:transparent}.nav-menu__item:not(:has(.nav-menu__link)){padding:.625rem 1rem}.nav-menu__link{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-radius:0;transition:all .15s cubic-bezier(.4,0,.2,1);cursor:pointer;width:100%;color:inherit;text-decoration:none}.nav-menu__link:hover{background:#00000008;color:var(--m-text)}.nav-menu__link:hover .nav-menu__icon{color:var(--m-text)}.nav-menu__link:hover .nav-menu__label{color:var(--m-text);font-weight:600}.nav-menu__browse{flex:none;margin-inline-end:.5rem;color:var(--m-text-tertiary)}.nav-menu__icon{display:flex;align-items:center;justify-content:center;color:var(--m-text-tertiary);transition:color .15s ease;width:1.15rem;height:1.15rem}.nav-menu__app-logo{display:block;width:100%;height:100%}.nav-menu__icon .m-icon{display:flex;align-items:center}.nav-menu__label{flex:1;display:block;width:100%;font-size:.8125rem;font-weight:500;letter-spacing:.01em;color:inherit;text-decoration:none}.nav-menu__badge{--m-badge-height: 1.5em;--m-badge-min-width: 1.5em;--m-badge-padding: 0 .3em;--m-badge-gap: .1em;vertical-align:middle;margin-inline-start:.15rem}.nav-menu__item:has(.active){background:linear-gradient(90deg,color-mix(in srgb,var(--m-mm) 6%,transparent) 0%,color-mix(in srgb,var(--m-mm) 2%,transparent) 60%,transparent 100%);color:var(--m-mm);border-radius:0}.nav-menu__item:has(.active):after{content:\"\";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.05) 50%,transparent 100%);z-index:3}.nav-menu__item:has(.active) .nav-menu__icon{color:var(--m-mm);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--m-mm) 20%,transparent))}.nav-menu__item:has(.active) .nav-menu__label{color:var(--m-mm);font-weight:700;letter-spacing:.015em}\n"]
43105
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%}.nav-menu{padding:0;margin:0}.nav-menu ul{display:flex;flex-direction:column;gap:0;padding:0;margin:0}.nav-menu li{padding:0;list-style:none;width:100%;border-bottom:1px solid rgba(0,0,0,.02)}.nav-menu li:last-child{border-bottom:none}.nav-menu__item{display:flex;align-items:center;gap:.75rem;width:100%;position:relative;color:var(--m-text-secondary);background:transparent}.nav-menu__item:not(:has(.nav-menu__link)){padding:.625rem 1rem}.nav-menu__link{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-radius:0;transition:all .15s cubic-bezier(.4,0,.2,1);cursor:pointer;width:100%;color:inherit;text-decoration:none}.nav-menu__link:hover{background:#00000008;color:var(--m-text)}.nav-menu__link:hover .nav-menu__icon{color:var(--m-text)}.nav-menu__link:hover .nav-menu__label{color:var(--m-text);font-weight:600}.nav-menu__browse{flex:none;margin-inline-end:.5rem;color:var(--m-text-tertiary)}.nav-menu__icon{display:flex;align-items:center;justify-content:center;color:var(--m-text-tertiary);transition:color .15s ease;width:1.15rem;height:1.15rem}.nav-menu__app-logo{display:block;width:100%;height:100%}.nav-menu__icon .m-icon{display:flex;align-items:center}.nav-menu__label{flex:1;display:block;width:100%;font-size:.8125rem;font-weight:500;letter-spacing:.01em;color:inherit;text-decoration:none}.nav-menu__tone{display:inline-block;width:.5em;height:.5em;margin-inline-start:.35rem;border-radius:50%;vertical-align:middle;background:var(--m-info)}.nav-menu__tone[data-tone=warning]{background:var(--m-warning)}.nav-menu__tone[data-tone=error]{background:var(--m-error)}.nav-menu__tone[data-tone=success]{background:var(--m-success)}.nav-menu__badge{--m-badge-height: 1.5em;--m-badge-min-width: 1.5em;--m-badge-padding: 0 .3em;--m-badge-gap: .1em;vertical-align:middle;margin-inline-start:.15rem}.nav-menu__item:has(.active){background:linear-gradient(90deg,color-mix(in srgb,var(--m-mm) 6%,transparent) 0%,color-mix(in srgb,var(--m-mm) 2%,transparent) 60%,transparent 100%);color:var(--m-mm);border-radius:0}.nav-menu__item:has(.active):after{content:\"\";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.05) 50%,transparent 100%);z-index:3}.nav-menu__item:has(.active) .nav-menu__icon{color:var(--m-mm);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--m-mm) 20%,transparent))}.nav-menu__item:has(.active) .nav-menu__label{color:var(--m-mm);font-weight:700;letter-spacing:.015em}\n"]
42791
43106
  }]
42792
43107
  }],
42793
43108
  propDecorators: {
@@ -43944,20 +44259,24 @@ var NotificationElementComponent = class NotificationElementComponent {
43944
44259
  </div>
43945
44260
  }
43946
44261
 
43947
- @if (notification()?.actions?.length) {
43948
- <div class="notification-item__actions">
43949
- @for (action of notification()?.actions; track $index) {
43950
- <!-- Same stop as dismiss: an action is not a click on the row. -->
43951
- <m-one-button
43952
- variant="ghost"
43953
- [label]="action.label"
43954
- noTranslate="true"
43955
- (click)="$event.stopPropagation()"
43956
- (clicked)="action.run()"
43957
- />
43958
- }
43959
- </div>
43960
- }
44262
+ }
44263
+
44264
+ <!-- Actions are not a property of a message: a Progress row carries the
44265
+ Cancel that stops what it is measuring, so the block sits outside
44266
+ both branches rather than inside the text one. -->
44267
+ @if (notification()?.actions?.length) {
44268
+ <div class="notification-item__actions">
44269
+ @for (action of notification()?.actions; track $index) {
44270
+ <!-- Same stop as dismiss: an action is not a click on the row. -->
44271
+ <m-one-button
44272
+ variant="ghost"
44273
+ [label]="action.label"
44274
+ noTranslate="true"
44275
+ (click)="$event.stopPropagation()"
44276
+ (clicked)="action.run()"
44277
+ />
44278
+ }
44279
+ </div>
43961
44280
  }
43962
44281
  </div>
43963
44282
  </div>
@@ -44171,20 +44490,24 @@ i0.ɵɵngDeclareClassMetadata({
44171
44490
  </div>
44172
44491
  }
44173
44492
 
44174
- @if (notification()?.actions?.length) {
44175
- <div class="notification-item__actions">
44176
- @for (action of notification()?.actions; track $index) {
44177
- <!-- Same stop as dismiss: an action is not a click on the row. -->
44178
- <m-one-button
44179
- variant="ghost"
44180
- [label]="action.label"
44181
- noTranslate="true"
44182
- (click)="$event.stopPropagation()"
44183
- (clicked)="action.run()"
44184
- />
44185
- }
44186
- </div>
44187
- }
44493
+ }
44494
+
44495
+ <!-- Actions are not a property of a message: a Progress row carries the
44496
+ Cancel that stops what it is measuring, so the block sits outside
44497
+ both branches rather than inside the text one. -->
44498
+ @if (notification()?.actions?.length) {
44499
+ <div class="notification-item__actions">
44500
+ @for (action of notification()?.actions; track $index) {
44501
+ <!-- Same stop as dismiss: an action is not a click on the row. -->
44502
+ <m-one-button
44503
+ variant="ghost"
44504
+ [label]="action.label"
44505
+ noTranslate="true"
44506
+ (click)="$event.stopPropagation()"
44507
+ (clicked)="action.run()"
44508
+ />
44509
+ }
44510
+ </div>
44188
44511
  }
44189
44512
  </div>
44190
44513
  </div>
@@ -51849,6 +52172,6 @@ i0.ɵɵngDeclareClassMetadata({
51849
52172
  }]
51850
52173
  }
51851
52174
  });
51852
- 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_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, 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_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, 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, 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, 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 };
52175
+ 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_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_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, 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, 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 };
51853
52176
 
51854
52177
  //# sourceMappingURL=magmonium-one.mjs.map