@melodicdev/components 1.6.4 → 1.6.6

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.
@@ -356,13 +356,16 @@ var SignalEffect = class {
356
356
  this._dependencies.clear();
357
357
  }
358
358
  };
359
+ var DESTROYED_MESSAGE = "Signal accessed after destruction. Holding a signal beyond its owning component (e.g. cached on a long-lived service) is a bug — the signal is destroyed when its component disconnects.";
359
360
  function signal(initialValue) {
360
361
  let value = initialValue;
362
+ let destroyed = false;
361
363
  const subscribers = /* @__PURE__ */ new Set();
362
364
  const notify = () => {
363
365
  [...subscribers].forEach((subscriber) => subscriber(value));
364
366
  };
365
367
  const read = (() => {
368
+ if (destroyed) throw new Error(DESTROYED_MESSAGE);
366
369
  const activeEffect$1 = getActiveEffect();
367
370
  if (activeEffect$1) {
368
371
  activeEffect$1.addDependency(read);
@@ -371,15 +374,18 @@ function signal(initialValue) {
371
374
  return value;
372
375
  });
373
376
  read.set = (newValue) => {
377
+ if (destroyed) throw new Error(DESTROYED_MESSAGE);
374
378
  if (value !== newValue) {
375
379
  value = newValue;
376
380
  notify();
377
381
  }
378
382
  };
379
383
  read.update = (updater) => {
384
+ if (destroyed) throw new Error(DESTROYED_MESSAGE);
380
385
  read.set(updater(value));
381
386
  };
382
387
  read.subscribe = (subscriber) => {
388
+ if (destroyed) throw new Error(DESTROYED_MESSAGE);
383
389
  subscribers.add(subscriber);
384
390
  return () => subscribers.delete(subscriber);
385
391
  };
@@ -387,6 +393,8 @@ function signal(initialValue) {
387
393
  subscribers.delete(subscriber);
388
394
  };
389
395
  read.destroy = () => {
396
+ if (destroyed) return;
397
+ destroyed = true;
390
398
  subscribers.clear();
391
399
  };
392
400
  Object.defineProperty(read, SIGNAL_MARKER, {
@@ -423,6 +431,11 @@ function resolveMessage(message, params) {
423
431
  if (typeof message === "function") return message(params ?? {});
424
432
  return message;
425
433
  }
434
+ var activeComponent = null;
435
+ const setActiveComponent = (component) => {
436
+ activeComponent = component;
437
+ };
438
+ const getActiveComponent = () => activeComponent;
426
439
  var AbstractControl = class {
427
440
  constructor(initialValue, options = {}) {
428
441
  this.parent = null;
@@ -433,6 +446,7 @@ var AbstractControl = class {
433
446
  this._pending = signal(false);
434
447
  this._ownDisabled = signal(false);
435
448
  this._asyncValidationId = 0;
449
+ this._destroyed = false;
436
450
  this.value = signal(initialValue);
437
451
  this.errors = signal(null);
438
452
  this._validators = options.validators ?? [];
@@ -440,6 +454,8 @@ var AbstractControl = class {
440
454
  this._ownDisabled.set(options.disabled ?? false);
441
455
  this.updateOn = options.updateOn ?? "change";
442
456
  this.messages = options.messages ?? {};
457
+ const consumer = getActiveComponent();
458
+ if (consumer) consumer.registerDisposable(this);
443
459
  }
444
460
  initializeAggregates() {
445
461
  this.dirty = computed(() => this.computeDirty());
@@ -608,7 +624,7 @@ var AbstractControl = class {
608
624
  }
609
625
  };
610
626
  var ComponentBase = class extends HTMLElement {
611
- constructor(meta, component) {
627
+ constructor(meta, component, pending) {
612
628
  super();
613
629
  this._unsubscribers = [];
614
630
  this._renderScheduled = false;
@@ -616,6 +632,8 @@ var ComponentBase = class extends HTMLElement {
616
632
  this._meta = meta;
617
633
  this._component = component;
618
634
  this._component.elementRef = this;
635
+ this._disposables = pending?.disposables ?? /* @__PURE__ */ new Set();
636
+ this._selectCache = pending?.selectCache ?? /* @__PURE__ */ new Map();
619
637
  this._root = this.attachShadow({ mode: "open" });
620
638
  applyGlobalStyles(this._root);
621
639
  this._style = this.renderStyles();
@@ -625,9 +643,23 @@ var ComponentBase = class extends HTMLElement {
625
643
  get component() {
626
644
  return this._component;
627
645
  }
646
+ registerDisposable(d) {
647
+ this._disposables.add(d);
648
+ }
649
+ getSelectCache() {
650
+ return this._selectCache;
651
+ }
628
652
  async connectedCallback() {
629
653
  this.render();
630
- if (this._component.onCreate !== void 0) this._component.onCreate();
654
+ if (this._component.onCreate !== void 0) {
655
+ const prev = getActiveComponent();
656
+ setActiveComponent(this);
657
+ try {
658
+ this._component.onCreate();
659
+ } finally {
660
+ setActiveComponent(prev);
661
+ }
662
+ }
631
663
  }
632
664
  disconnectedCallback() {
633
665
  this._unsubscribers.forEach((unsubscribe) => unsubscribe());
@@ -643,6 +675,13 @@ var ComponentBase = class extends HTMLElement {
643
675
  }
644
676
  }
645
677
  if (this._component.onDestroy !== void 0) this._component.onDestroy();
678
+ for (const d of this._disposables) try {
679
+ d.destroy();
680
+ } catch (error) {
681
+ console.error("Disposable cleanup failed:", error);
682
+ }
683
+ this._disposables.clear();
684
+ this._selectCache.clear();
646
685
  }
647
686
  attributeChangedCallback(attribute, oldVal, newVal) {
648
687
  const prop = attribute.replace(/-([a-z])/g, (_, ch) => ch.toUpperCase());
@@ -660,11 +699,17 @@ var ComponentBase = class extends HTMLElement {
660
699
  return this._root.appendChild(styleNode);
661
700
  }
662
701
  render() {
663
- if (this._meta.template) {
664
- render(this._meta.template(this._component, this.getAttributeValues()), this._root);
665
- if (this._style.parentNode !== this._root) this._root.appendChild(this._style);
702
+ const prev = getActiveComponent();
703
+ setActiveComponent(this);
704
+ try {
705
+ if (this._meta.template) {
706
+ render(this._meta.template(this._component, this.getAttributeValues()), this._root);
707
+ if (this._style.parentNode !== this._root) this._root.appendChild(this._style);
708
+ }
709
+ if (this._component.onRender !== void 0) this._component.onRender();
710
+ } finally {
711
+ setActiveComponent(prev);
666
712
  }
667
- if (this._component.onRender !== void 0) this._component.onRender();
668
713
  }
669
714
  scheduleRender() {
670
715
  if (this._renderScheduled) return;
@@ -770,7 +815,26 @@ function MelodicComponent(meta) {
770
815
  if (param && typeof param === "object" && param.__injectionToken) dependencies.push(Injector.get(param.__injectionToken));
771
816
  else dependencies.push(void 0);
772
817
  }
773
- super(meta, Reflect.construct(component, dependencies));
818
+ const disposables = /* @__PURE__ */ new Set();
819
+ const selectCache = /* @__PURE__ */ new Map();
820
+ const placeholder = {
821
+ getSelectCache: () => selectCache,
822
+ registerDisposable: (d) => {
823
+ disposables.add(d);
824
+ }
825
+ };
826
+ const prevActive = getActiveComponent();
827
+ setActiveComponent(placeholder);
828
+ let userInstance;
829
+ try {
830
+ userInstance = Reflect.construct(component, dependencies);
831
+ } finally {
832
+ setActiveComponent(prevActive);
833
+ }
834
+ super(meta, userInstance, {
835
+ disposables,
836
+ selectCache
837
+ });
774
838
  }
775
839
  static #_ = this.observedAttributes = meta.attributes ?? [];
776
840
  };
@@ -1245,6 +1309,10 @@ var RouteContextEvent = class extends CustomEvent {
1245
1309
  });
1246
1310
  }
1247
1311
  };
1312
+ function resolveRedirectTarget(redirectTo, basePath) {
1313
+ if (redirectTo.startsWith("/")) return redirectTo;
1314
+ return basePath ? `/${basePath}/${redirectTo}` : `/${redirectTo}`;
1315
+ }
1248
1316
  function matchRouteLevel(routes, remainingPath, basePath, accumulatedMatches, accumulatedParams) {
1249
1317
  for (const route of routes) {
1250
1318
  const matcher = new RouteMatcher(route.path);
@@ -1252,21 +1320,31 @@ function matchRouteLevel(routes, remainingPath, basePath, accumulatedMatches, ac
1252
1320
  matches: accumulatedMatches,
1253
1321
  params: accumulatedParams,
1254
1322
  isExactMatch: false,
1255
- redirectTo: route.redirectTo
1323
+ redirectTo: resolveRedirectTarget(route.redirectTo, basePath)
1256
1324
  };
1257
1325
  const exactMatch = matcher.parse(remainingPath);
1258
1326
  if (exactMatch !== null) {
1259
- const fullPath = basePath ? `${basePath}/${route.path}` : route.path;
1327
+ const matchedPath = remainingPath;
1328
+ const fullPath = basePath ? `${basePath}/${matchedPath}` : matchedPath;
1260
1329
  const match = {
1261
1330
  route,
1262
1331
  params: exactMatch,
1263
- matchedPath: route.path,
1332
+ matchedPath,
1264
1333
  remainingPath: "",
1265
1334
  fullPath,
1266
1335
  children: route.children
1267
1336
  };
1268
1337
  Object.assign(accumulatedParams, exactMatch);
1269
1338
  accumulatedMatches.push(match);
1339
+ if (route.children) {
1340
+ const emptyRedirect = route.children.find((child) => child.path === "" && child.redirectTo);
1341
+ if (emptyRedirect && emptyRedirect.redirectTo) return {
1342
+ matches: accumulatedMatches,
1343
+ params: accumulatedParams,
1344
+ isExactMatch: false,
1345
+ redirectTo: resolveRedirectTarget(emptyRedirect.redirectTo, fullPath)
1346
+ };
1347
+ }
1270
1348
  return {
1271
1349
  matches: accumulatedMatches,
1272
1350
  params: accumulatedParams,
@@ -2531,8 +2609,7 @@ var RouterOutletComponent = class RouterOutletComponent$1 {
2531
2609
  const remainingPath = this._context.remainingPath;
2532
2610
  const matchResult = matchRouteTree(this.routes, remainingPath, this._context.basePath);
2533
2611
  if (matchResult.redirectTo) {
2534
- const fullRedirect = this._context.basePath ? `/${this._context.basePath}/${matchResult.redirectTo}`.replace(/\/+/g, "/") : matchResult.redirectTo;
2535
- if (window.location.pathname !== fullRedirect) this._router.navigate(fullRedirect, { replace: true });
2612
+ if (window.location.pathname !== matchResult.redirectTo) this._router.navigate(matchResult.redirectTo, { replace: true });
2536
2613
  return;
2537
2614
  }
2538
2615
  if (matchResult.matches.length > 0) {
@@ -2820,12 +2897,14 @@ var EffectsBase = class {
2820
2897
  return this._effects;
2821
2898
  }
2822
2899
  };
2900
+ var nextInstanceId = 0;
2823
2901
  var ComponentStateBaseService = class extends EffectsBase {
2824
2902
  constructor(_initState, _reducerConfig = { reducers: [] }, _debug = false) {
2825
2903
  super();
2826
2904
  this._initState = _initState;
2827
2905
  this._reducerConfig = _reducerConfig;
2828
2906
  this._debug = _debug;
2907
+ this._instanceId = ++nextInstanceId;
2829
2908
  this._state = signal(_initState);
2830
2909
  }
2831
2910
  get state() {
@@ -2834,7 +2913,18 @@ var ComponentStateBaseService = class extends EffectsBase {
2834
2913
  resetState() {
2835
2914
  this._state.set(this._initState);
2836
2915
  }
2837
- select(selectFn) {
2916
+ select(selectFn, cacheKey) {
2917
+ const consumer = getActiveComponent();
2918
+ if (consumer) {
2919
+ const cache = consumer.getSelectCache();
2920
+ const fullKey = `cs:${this._instanceId}::${cacheKey ?? selectFn.toString()}`;
2921
+ const cached = cache.get(fullKey);
2922
+ if (cached) return cached;
2923
+ const sig = computed(() => selectFn(this._state()));
2924
+ cache.set(fullKey, sig);
2925
+ consumer.registerDisposable(sig);
2926
+ return sig;
2927
+ }
2838
2928
  return computed(() => selectFn(this._state()));
2839
2929
  }
2840
2930
  dispatch(action) {
@@ -2869,10 +2959,19 @@ var SignalStoreService = class SignalStoreService$1 {
2869
2959
  constructor() {
2870
2960
  if (this._debug) console.info("RX State Debugging: Enabled");
2871
2961
  }
2872
- select(key, selectFn) {
2873
- return computed(() => {
2874
- return selectFn(this._state[key]());
2875
- });
2962
+ select(key, selectFn, cacheKey) {
2963
+ const consumer = getActiveComponent();
2964
+ if (consumer) {
2965
+ const cache = consumer.getSelectCache();
2966
+ const fullKey = `${String(key)}::${cacheKey ?? selectFn.toString()}`;
2967
+ const cached = cache.get(fullKey);
2968
+ if (cached) return cached;
2969
+ const sig = computed(() => selectFn(this._state[key]()));
2970
+ cache.set(fullKey, sig);
2971
+ consumer.registerDisposable(sig);
2972
+ return sig;
2973
+ }
2974
+ return computed(() => selectFn(this._state[key]()));
2876
2975
  }
2877
2976
  logState() {
2878
2977
  console.log(this.getCurrentState());
@@ -3583,6 +3682,8 @@ var FormControl = class extends AbstractControl {
3583
3682
  this.runValidation();
3584
3683
  }
3585
3684
  destroy() {
3685
+ if (this._destroyed) return;
3686
+ this._destroyed = true;
3586
3687
  this.destroySignals();
3587
3688
  }
3588
3689
  };
@@ -3679,6 +3780,8 @@ var FormGroup = class FormGroup extends AbstractControl {
3679
3780
  await this.runValidation();
3680
3781
  }
3681
3782
  destroy() {
3783
+ if (this._destroyed) return;
3784
+ this._destroyed = true;
3682
3785
  this._childValueEffect.destroy();
3683
3786
  const controls = this.controls();
3684
3787
  for (const key of Object.keys(controls)) controls[key].destroy();
@@ -3807,6 +3910,8 @@ var FormArray = class extends AbstractControl {
3807
3910
  await this.runValidation();
3808
3911
  }
3809
3912
  destroy() {
3913
+ if (this._destroyed) return;
3914
+ this._destroyed = true;
3810
3915
  this._childValueEffect.destroy();
3811
3916
  for (const control of this.controls()) control.destroy();
3812
3917
  this.destroySignals();
@@ -5807,6 +5912,22 @@ const buttonGroupStyles = () => css`
5807
5912
  margin-left: 0;
5808
5913
  }
5809
5914
  `;
5915
+ registerAdapter((el) => el.tagName === "ML-BUTTON-GROUP", {
5916
+ inputEvent: "ml:change",
5917
+ blurEvent: "focusout",
5918
+ getValue: (el) => {
5919
+ const e = el;
5920
+ return e.multiple ? e.values ?? [] : e.value ?? "";
5921
+ },
5922
+ setValue: (el, value) => {
5923
+ const e = el;
5924
+ if (Array.isArray(value)) e.values = value;
5925
+ else e.value = value !== null && value !== void 0 ? String(value) : "";
5926
+ },
5927
+ setDisabled: (el, disabled) => {
5928
+ el.disabled = disabled;
5929
+ }
5930
+ });
5810
5931
  var ButtonGroupComponent = class ButtonGroupComponent$1 {
5811
5932
  constructor() {
5812
5933
  this.value = "";
@@ -7347,6 +7468,17 @@ const radioCardGroupStyles = () => css`
7347
7468
  color: var(--ml-radio-card-group-error-color);
7348
7469
  }
7349
7470
  `;
7471
+ registerAdapter((el) => el.tagName === "ML-RADIO-CARD-GROUP", {
7472
+ inputEvent: "ml:change",
7473
+ blurEvent: "focusout",
7474
+ getValue: (el) => el.value ?? "",
7475
+ setValue: (el, value) => {
7476
+ el.value = value !== null && value !== void 0 ? String(value) : "";
7477
+ },
7478
+ setDisabled: (el, disabled) => {
7479
+ el.disabled = disabled;
7480
+ }
7481
+ });
7350
7482
  var RadioCardGroupComponent = class RadioCardGroupComponent$1 {
7351
7483
  constructor() {
7352
7484
  this.value = "";
@@ -10583,7 +10715,7 @@ const datePickerStyles = () => css`
10583
10715
  }
10584
10716
  `;
10585
10717
  registerAdapter((el) => el.tagName === "ML-DATE-PICKER", {
10586
- inputEvent: "ml:select",
10718
+ inputEvent: "ml:change",
10587
10719
  blurEvent: "focusout",
10588
10720
  getValue: (el) => el.value ?? "",
10589
10721
  setValue: (el, value) => {
@@ -25626,6 +25758,6 @@ DashboardPageComponent = __decorate([MelodicComponent({
25626
25758
  "layout"
25627
25759
  ]
25628
25760
  })], DashboardPageComponent);
25629
- export { APP_CONFIG, AbortError, AbstractControl, ActivityFeedComponent, ActivityFeedItemComponent, AlertComponent, AppShellComponent, AvatarComponent, BadgeComponent, BadgeGroupComponent, Binding, BreadcrumbComponent, BreadcrumbItemComponent, ButtonComponent, ButtonGroupComponent, ButtonGroupItemComponent, CalendarComponent, CalendarViewComponent, CardComponent, CheckboxComponent, ComponentBase, ComponentStateBaseService, ContainerComponent, DashboardPageComponent, DatePickerComponent, DialogComponent, DialogRef, DialogService, Directive, DividerComponent, DrawerComponent, DropdownComponent, DropdownGroupComponent, DropdownItemComponent, DropdownSeparatorComponent, EffectsBase, FormArray, FormControl, FormFieldComponent, FormGroup, HeroSectionComponent, HttpBaseError, HttpClient, HttpError, IconComponent, Inject, Injectable, InjectionEngine, Injector, InputComponent, ListComponent, ListItemComponent, LoginPageComponent, MelodicComponent, NetworkError, PageHeaderComponent, PaginationComponent, PopoverComponent, ProgressComponent, ROUTE_CONTEXT_EVENT, RX_ACTION_PROVIDERS, RX_EFFECTS_PROVIDERS, RX_INIT_STATE, RX_STATE_DEBUG, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RouteContextEvent, RouteContextService, RouteMatcher, RouterLinkComponent, RouterOutletComponent, RouterService, SIGNAL_MARKER, SelectComponent, Service, SidebarComponent, SidebarGroupComponent, SidebarItemComponent, SignalEffect, SignalStoreService, SignupPageComponent, SliderComponent, SpinnerComponent, StackComponent, StepComponent, StepPanelComponent, StepsComponent, TabComponent, TabPanelComponent, TableComponent, TabsComponent, TagComponent, TemplateResult, TextareaComponent, ToastComponent, ToastContainerComponent, ToastService, ToggleComponent, TooltipComponent, Validators, VirtualScroller, activityFeedItemStyles, activityFeedItemTemplate, activityFeedStyles, activityFeedTemplate, allTokens, announce, appShellStyles, appShellTemplate, applyGlobalStyles, applyTheme, arrow, autoUpdate, baseThemeCss, bootstrap, borderTokens, breadcrumbItemStyles, breadcrumbItemTemplate, breadcrumbStyles, breadcrumbTemplate, breakpointTokens, breakpoints, buildPathFromRoute, calendarViewStyles, calendarViewTemplate, checkboxAdapter, classMap, clickOutside, colorTokens, componentBaseStyles, computePosition, computed, containerStyles, containerTemplate, createAction, createAsyncValidator, createBrandTheme, createDeactivateGuard, createFocusTrap, createFormArray, createFormControl, createFormGroup, createGuard, createLiveRegion, createReducer, createResolver, createState, createTheme, createToken, createValidator, css, darkTheme, darkThemeCss, dashboardPageStyles, dashboardPageTemplate, defineConfig, directive, drawerStyles, drawerTemplate, dropdownGroupStyles, dropdownGroupTemplate, dropdownItemStyles, dropdownItemTemplate, dropdownSeparatorStyles, dropdownSeparatorTemplate, dropdownStyles, dropdownTemplate, environment, findRouteByName, flip, focusFirst, focusLast, focusTrap, focusVisible, formControlDirective, formFieldStyles, formFieldTemplate, getActiveEffect, getAdapter, getAttributeDirective, getEnvironment, getFirstFocusable, getFocusableElements, getGlobalMessage, getLastFocusable, getRegisteredDirectives, getResolvedTheme, getTheme, getTokenKey, hasAttributeDirective, heroSectionStyles, heroSectionTemplate, html, injectTheme, isDirective, isFocusVisible, isSignal, lightTheme, lightThemeCss, listItemStyles, listItemTemplate, listStyles, listTemplate, loginPageStyles, loginPageTemplate, matchRouteTree, newID, offset, onAction, onThemeChange, pageHeaderStyles, pageHeaderTemplate, paginationStyles, paginationTemplate, portalDirective, primitiveColors, progressStyles, progressTemplate, props, provideConfig, provideHttp, provideRX, radioAdapter, registerAdapter, registerAttributeDirective, registerDefaultMessages, render, repeat, repeatRaw, resetStyles, resolveMessage, routerLinkDirective, selectStyles, selectTemplate, setActiveEffect, setDefaultMessage, shadowTokens, shift, sidebarGroupStyles, sidebarGroupTemplate, sidebarItemStyles, sidebarItemTemplate, sidebarStyles, sidebarTemplate, signal, signupPageStyles, signupPageTemplate, sliderStyles, sliderTemplate, spacingTokens, stepPanelStyles, stepPanelTemplate, stepStyles, stepTemplate, stepsStyles, stepsTemplate, styleMap, tabPanelStyles, tabPanelTemplate, tabStyles, tabTemplate, tableStyles, tableTemplate, tabsStyles, tabsTemplate, textAdapter, toastContainerStyles, toastContainerTemplate, toastStyles, toastTemplate, toggleTheme, tokensToCss, tooltipDirective, transitionTokens, typographyTokens, unregisterAttributeDirective, unsafeHTML, visuallyHiddenStyles, when };
25761
+ export { APP_CONFIG, AbortError, AbstractControl, ActivityFeedComponent, ActivityFeedItemComponent, AlertComponent, AppShellComponent, AvatarComponent, BadgeComponent, BadgeGroupComponent, Binding, BreadcrumbComponent, BreadcrumbItemComponent, ButtonComponent, ButtonGroupComponent, ButtonGroupItemComponent, CalendarComponent, CalendarViewComponent, CardComponent, CheckboxComponent, ComponentBase, ComponentStateBaseService, ContainerComponent, DashboardPageComponent, DatePickerComponent, DialogComponent, DialogRef, DialogService, Directive, DividerComponent, DrawerComponent, DropdownComponent, DropdownGroupComponent, DropdownItemComponent, DropdownSeparatorComponent, EffectsBase, FormArray, FormControl, FormFieldComponent, FormGroup, HeroSectionComponent, HttpBaseError, HttpClient, HttpError, IconComponent, Inject, Injectable, InjectionEngine, Injector, InputComponent, ListComponent, ListItemComponent, LoginPageComponent, MelodicComponent, NetworkError, PageHeaderComponent, PaginationComponent, PopoverComponent, ProgressComponent, ROUTE_CONTEXT_EVENT, RX_ACTION_PROVIDERS, RX_EFFECTS_PROVIDERS, RX_INIT_STATE, RX_STATE_DEBUG, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RouteContextEvent, RouteContextService, RouteMatcher, RouterLinkComponent, RouterOutletComponent, RouterService, SIGNAL_MARKER, SelectComponent, Service, SidebarComponent, SidebarGroupComponent, SidebarItemComponent, SignalEffect, SignalStoreService, SignupPageComponent, SliderComponent, SpinnerComponent, StackComponent, StepComponent, StepPanelComponent, StepsComponent, TabComponent, TabPanelComponent, TableComponent, TabsComponent, TagComponent, TemplateResult, TextareaComponent, ToastComponent, ToastContainerComponent, ToastService, ToggleComponent, TooltipComponent, Validators, VirtualScroller, activityFeedItemStyles, activityFeedItemTemplate, activityFeedStyles, activityFeedTemplate, allTokens, announce, appShellStyles, appShellTemplate, applyGlobalStyles, applyTheme, arrow, autoUpdate, baseThemeCss, bootstrap, borderTokens, breadcrumbItemStyles, breadcrumbItemTemplate, breadcrumbStyles, breadcrumbTemplate, breakpointTokens, breakpoints, buildPathFromRoute, calendarViewStyles, calendarViewTemplate, checkboxAdapter, classMap, clickOutside, colorTokens, componentBaseStyles, computePosition, computed, containerStyles, containerTemplate, createAction, createAsyncValidator, createBrandTheme, createDeactivateGuard, createFocusTrap, createFormArray, createFormControl, createFormGroup, createGuard, createLiveRegion, createReducer, createResolver, createState, createTheme, createToken, createValidator, css, darkTheme, darkThemeCss, dashboardPageStyles, dashboardPageTemplate, defineConfig, directive, drawerStyles, drawerTemplate, dropdownGroupStyles, dropdownGroupTemplate, dropdownItemStyles, dropdownItemTemplate, dropdownSeparatorStyles, dropdownSeparatorTemplate, dropdownStyles, dropdownTemplate, environment, findRouteByName, flip, focusFirst, focusLast, focusTrap, focusVisible, formControlDirective, formFieldStyles, formFieldTemplate, getActiveComponent, getActiveEffect, getAdapter, getAttributeDirective, getEnvironment, getFirstFocusable, getFocusableElements, getGlobalMessage, getLastFocusable, getRegisteredDirectives, getResolvedTheme, getTheme, getTokenKey, hasAttributeDirective, heroSectionStyles, heroSectionTemplate, html, injectTheme, isDirective, isFocusVisible, isSignal, lightTheme, lightThemeCss, listItemStyles, listItemTemplate, listStyles, listTemplate, loginPageStyles, loginPageTemplate, matchRouteTree, newID, offset, onAction, onThemeChange, pageHeaderStyles, pageHeaderTemplate, paginationStyles, paginationTemplate, portalDirective, primitiveColors, progressStyles, progressTemplate, props, provideConfig, provideHttp, provideRX, radioAdapter, registerAdapter, registerAttributeDirective, registerDefaultMessages, render, repeat, repeatRaw, resetStyles, resolveMessage, routerLinkDirective, selectStyles, selectTemplate, setActiveComponent, setActiveEffect, setDefaultMessage, shadowTokens, shift, sidebarGroupStyles, sidebarGroupTemplate, sidebarItemStyles, sidebarItemTemplate, sidebarStyles, sidebarTemplate, signal, signupPageStyles, signupPageTemplate, sliderStyles, sliderTemplate, spacingTokens, stepPanelStyles, stepPanelTemplate, stepStyles, stepTemplate, stepsStyles, stepsTemplate, styleMap, tabPanelStyles, tabPanelTemplate, tabStyles, tabTemplate, tableStyles, tableTemplate, tabsStyles, tabsTemplate, textAdapter, toastContainerStyles, toastContainerTemplate, toastStyles, toastTemplate, toggleTheme, tokensToCss, tooltipDirective, transitionTokens, typographyTokens, unregisterAttributeDirective, unsafeHTML, visuallyHiddenStyles, when };
25630
25762
 
25631
25763
  //# sourceMappingURL=melodic-components.js.map