@melodicdev/components 1.0.4 → 1.0.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.
@@ -484,6 +484,37 @@ function MelodicComponent(meta) {
484
484
  }
485
485
  };
486
486
  }
487
+ function getEnvironment() {
488
+ const viteEnv = void 0;
489
+ if (viteEnv === "dev" || viteEnv === "qa" || viteEnv === "prod") return viteEnv;
490
+ return "prod";
491
+ }
492
+ const environment = getEnvironment();
493
+ function deepMerge(target, source) {
494
+ const result = { ...target };
495
+ for (const key of Object.keys(source)) {
496
+ const targetVal = result[key];
497
+ const sourceVal = source[key];
498
+ if (sourceVal !== null && typeof sourceVal === "object" && !Array.isArray(sourceVal) && targetVal !== null && typeof targetVal === "object" && !Array.isArray(targetVal)) result[key] = deepMerge(targetVal, sourceVal);
499
+ else result[key] = sourceVal;
500
+ }
501
+ return result;
502
+ }
503
+ function defineConfig(definition) {
504
+ const envOverrides = definition[environment];
505
+ const resolved = {
506
+ ...definition.base,
507
+ ...envOverrides
508
+ };
509
+ if (definition.extends) return deepMerge(definition.extends, resolved);
510
+ return resolved;
511
+ }
512
+ const APP_CONFIG = createToken("APP_CONFIG");
513
+ function provideConfig(config) {
514
+ return (injector) => {
515
+ injector.bindValue(APP_CONFIG, config);
516
+ };
517
+ }
487
518
  var HttpBaseError = class HttpBaseError extends Error {
488
519
  constructor(message, config, code) {
489
520
  super(message);
@@ -5564,7 +5595,7 @@ function inputTemplate(c) {
5564
5595
  "ml-input--disabled": c.disabled,
5565
5596
  "ml-input--readonly": c.readonly,
5566
5597
  "ml-input--error": !!c.error,
5567
- "ml-input--focused": c._focused
5598
+ "ml-input--focused": c.focused
5568
5599
  })}
5569
5600
  >
5570
5601
  ${when(!!c.label, () => html`
@@ -5743,7 +5774,7 @@ var InputComponent = class InputComponent$1 {
5743
5774
  this.readonly = false;
5744
5775
  this.required = false;
5745
5776
  this.autocomplete = "off";
5746
- this._focused = false;
5777
+ this.focused = false;
5747
5778
  this.handleInput = (event) => {
5748
5779
  this.value = event.target.value;
5749
5780
  this.elementRef.dispatchEvent(new CustomEvent("ml:input", {
@@ -5761,14 +5792,14 @@ var InputComponent = class InputComponent$1 {
5761
5792
  }));
5762
5793
  };
5763
5794
  this.handleFocus = () => {
5764
- this._focused = true;
5795
+ this.focused = true;
5765
5796
  this.elementRef.dispatchEvent(new CustomEvent("ml:focus", {
5766
5797
  bubbles: true,
5767
5798
  composed: true
5768
5799
  }));
5769
5800
  };
5770
5801
  this.handleBlur = () => {
5771
- this._focused = false;
5802
+ this.focused = false;
5772
5803
  this.elementRef.dispatchEvent(new CustomEvent("ml:blur", {
5773
5804
  bubbles: true,
5774
5805
  composed: true
@@ -5806,7 +5837,7 @@ function textareaTemplate(c) {
5806
5837
  "ml-textarea--disabled": c.disabled,
5807
5838
  "ml-textarea--readonly": c.readonly,
5808
5839
  "ml-textarea--error": !!c.error,
5809
- "ml-textarea--focused": c._focused,
5840
+ "ml-textarea--focused": c.focused,
5810
5841
  "ml-textarea--resize": c.resize
5811
5842
  })}
5812
5843
  >
@@ -5971,7 +6002,7 @@ var TextareaComponent = class TextareaComponent$1 {
5971
6002
  this.readonly = false;
5972
6003
  this.required = false;
5973
6004
  this.resize = false;
5974
- this._focused = false;
6005
+ this.focused = false;
5975
6006
  this.handleInput = (event) => {
5976
6007
  this.value = event.target.value;
5977
6008
  this.elementRef.dispatchEvent(new CustomEvent("ml:input", {
@@ -5989,14 +6020,14 @@ var TextareaComponent = class TextareaComponent$1 {
5989
6020
  }));
5990
6021
  };
5991
6022
  this.handleFocus = () => {
5992
- this._focused = true;
6023
+ this.focused = true;
5993
6024
  this.elementRef.dispatchEvent(new CustomEvent("ml:focus", {
5994
6025
  bubbles: true,
5995
6026
  composed: true
5996
6027
  }));
5997
6028
  };
5998
6029
  this.handleBlur = () => {
5999
- this._focused = false;
6030
+ this.focused = false;
6000
6031
  this.elementRef.dispatchEvent(new CustomEvent("ml:blur", {
6001
6032
  bubbles: true,
6002
6033
  composed: true
@@ -15894,7 +15925,7 @@ function renderNavGroup(c, group) {
15894
15925
  function renderNavItem(c, item, level) {
15895
15926
  const isActive = c.active === item.value;
15896
15927
  const hasChildren = !!item.children && item.children.length > 0;
15897
- const isExpanded = c._expandedItems.has(item.value);
15928
+ const isExpanded = c.expandedItems.has(item.value);
15898
15929
  const isCollapsed = c.collapsed;
15899
15930
  const linkClasses = classMap({
15900
15931
  "ml-sidebar__item-link": true,
@@ -15908,7 +15939,7 @@ function renderNavItem(c, item, level) {
15908
15939
  if (item.disabled) return;
15909
15940
  if (hasChildren) {
15910
15941
  event.preventDefault();
15911
- c.handleConfigToggle(item, c._expandedItems);
15942
+ c.handleConfigToggle(item);
15912
15943
  return;
15913
15944
  }
15914
15945
  c.handleConfigItemClick(item.value, item.href);
@@ -16273,10 +16304,11 @@ var SidebarComponent = class SidebarComponent$1 {
16273
16304
  this.handleConfigItemClick = (value, href) => {
16274
16305
  this.activateItem(value, href);
16275
16306
  };
16276
- this.handleConfigToggle = (item, expandedItems) => {
16277
- if (expandedItems.has(item.value)) expandedItems.delete(item.value);
16278
- else expandedItems.add(item.value);
16279
- this.elementRef.dispatchEvent(new Event("ml:internal-update"));
16307
+ this.handleConfigToggle = (item) => {
16308
+ const next = new Set(this.expandedItems);
16309
+ if (next.has(item.value)) next.delete(item.value);
16310
+ else next.add(item.value);
16311
+ this.expandedItems = next;
16280
16312
  };
16281
16313
  this.handleKeyDown = (event) => {
16282
16314
  const sidebar = this.elementRef.shadowRoot?.querySelector(".ml-sidebar__main");
@@ -16305,7 +16337,7 @@ var SidebarComponent = class SidebarComponent$1 {
16305
16337
  }
16306
16338
  if (newIndex !== currentIndex && focusable[newIndex]) focusable[newIndex].focus();
16307
16339
  };
16308
- this._expandedItems = /* @__PURE__ */ new Set();
16340
+ this.expandedItems = /* @__PURE__ */ new Set();
16309
16341
  }
16310
16342
  get hasSearch() {
16311
16343
  return this.elementRef?.querySelector("[slot=\"search\"]") !== null;
@@ -19697,8 +19729,8 @@ function appShellTemplate(c) {
19697
19729
  const sidebarRight = c["sidebar-position"] === "right";
19698
19730
  const collapsed = c["sidebar-collapsed"];
19699
19731
  const headerFixed = c["header-fixed"];
19700
- const mobileOpen = c._mobileOpen;
19701
- const isMobile = c.isMobile;
19732
+ const mobileOpen = c.mobileOpen;
19733
+ const isMobile = c.mobile;
19702
19734
  return html`
19703
19735
  <div
19704
19736
  class=${classMap({
@@ -19945,29 +19977,28 @@ var AppShellComponent = class AppShellComponent$1 {
19945
19977
  this["sidebar-position"] = "left";
19946
19978
  this["sidebar-collapsed"] = false;
19947
19979
  this["header-fixed"] = false;
19948
- this._mobileOpen = false;
19980
+ this.mobile = false;
19981
+ this.mobileOpen = false;
19949
19982
  this._mediaQuery = null;
19950
19983
  this._handleMediaChange = this.onMediaChange.bind(this);
19951
19984
  this.toggleMobileSidebar = () => {
19952
- this._mobileOpen = !this._mobileOpen;
19985
+ this.mobileOpen = !this.mobileOpen;
19953
19986
  };
19954
19987
  this.closeMobileSidebar = () => {
19955
- this._mobileOpen = false;
19988
+ this.mobileOpen = false;
19956
19989
  };
19957
19990
  }
19958
- get isMobile() {
19959
- return this._mediaQuery?.matches === false;
19960
- }
19961
19991
  onCreate() {
19962
19992
  this._mediaQuery = window.matchMedia("(min-width: 768px)");
19963
19993
  this._mediaQuery.addEventListener("change", this._handleMediaChange);
19964
- if (!this.isMobile) this._mobileOpen = false;
19994
+ this.mobile = !this._mediaQuery.matches;
19965
19995
  }
19966
19996
  onDestroy() {
19967
19997
  this._mediaQuery?.removeEventListener("change", this._handleMediaChange);
19968
19998
  }
19969
19999
  onMediaChange(event) {
19970
- if (event.matches) this._mobileOpen = false;
20000
+ this.mobile = !event.matches;
20001
+ if (event.matches) this.mobileOpen = false;
19971
20002
  }
19972
20003
  };
19973
20004
  AppShellComponent = __decorate([MelodicComponent({
@@ -21079,6 +21110,6 @@ DashboardPageComponent = __decorate([MelodicComponent({
21079
21110
  "layout"
21080
21111
  ]
21081
21112
  })], DashboardPageComponent);
21082
- export { AbortError, 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, FORM_CONTROL_MARKER, FORM_GROUP_MARKER, 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, classMap, clickOutside, colorTokens, componentBaseStyles, computePosition, computed, containerStyles, containerTemplate, createAction, createAsyncValidator, createBrandTheme, createDeactivateGuard, createFocusTrap, createFormControl, createFormGroup, createGuard, createLiveRegion, createReducer, createResolver, createState, createTheme, createToken, createValidator, css, darkTheme, darkThemeCss, dashboardPageStyles, dashboardPageTemplate, directive, drawerStyles, drawerTemplate, dropdownGroupStyles, dropdownGroupTemplate, dropdownItemStyles, dropdownItemTemplate, dropdownSeparatorStyles, dropdownSeparatorTemplate, dropdownStyles, dropdownTemplate, findRouteByName, flip, focusFirst, focusLast, focusTrap, focusVisible, formControlDirective, formFieldStyles, formFieldTemplate, getActiveEffect, getAttributeDirective, getFirstFocusable, getFocusableElements, 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, provideHttp, provideRX, registerAttributeDirective, render, repeat, repeatRaw, resetStyles, routerLinkDirective, selectStyles, selectTemplate, setActiveEffect, 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, toastContainerStyles, toastContainerTemplate, toastStyles, toastTemplate, toggleTheme, tokensToCss, tooltipDirective, transitionTokens, typographyTokens, unregisterAttributeDirective, unsafeHTML, visuallyHiddenStyles, when };
21113
+ export { APP_CONFIG, AbortError, 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, FORM_CONTROL_MARKER, FORM_GROUP_MARKER, 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, classMap, clickOutside, colorTokens, componentBaseStyles, computePosition, computed, containerStyles, containerTemplate, createAction, createAsyncValidator, createBrandTheme, createDeactivateGuard, createFocusTrap, 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, getAttributeDirective, getEnvironment, getFirstFocusable, getFocusableElements, 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, registerAttributeDirective, render, repeat, repeatRaw, resetStyles, routerLinkDirective, selectStyles, selectTemplate, setActiveEffect, 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, toastContainerStyles, toastContainerTemplate, toastStyles, toastTemplate, toggleTheme, tokensToCss, tooltipDirective, transitionTokens, typographyTokens, unregisterAttributeDirective, unsafeHTML, visuallyHiddenStyles, when };
21083
21114
 
21084
21115
  //# sourceMappingURL=melodic-components.js.map