mn-angular-lib 1.0.31 → 1.0.33

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.
@@ -221,7 +221,7 @@ const mnAlertVariants = tv({
221
221
  });
222
222
 
223
223
  const mnButtonVariants = tv({
224
- base: 'hover:cursor-pointer transition-all duration-300 ease-in-out',
224
+ base: 'inline-flex items-center justify-center hover:cursor-pointer transition-all duration-300 ease-in-out',
225
225
  variants: {
226
226
  size: {
227
227
  sm: 'px-2 py-1 text-sm',
@@ -7657,39 +7657,17 @@ const mnIconVariants = tv({
7657
7657
  },
7658
7658
  });
7659
7659
 
7660
- class MnIconRegistry {
7661
- icons = new Map();
7662
- register(...icons) {
7663
- for (const icon of icons) {
7664
- this.icons.set(icon.name, icon.svg);
7665
- }
7666
- }
7667
- get(name) {
7668
- return this.icons.get(name);
7669
- }
7670
- has(name) {
7671
- return this.icons.has(name);
7672
- }
7673
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MnIconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7674
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MnIconRegistry, providedIn: 'root' });
7675
- }
7676
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MnIconRegistry, decorators: [{
7677
- type: Injectable,
7678
- args: [{ providedIn: 'root' }]
7679
- }] });
7680
- function mnIconDef(name, svg) {
7681
- return { name, svg };
7682
- }
7683
-
7660
+ // Inline SVGs sourced from the .svg files in the ./icons/ directory
7661
+ const pistolSvg = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8.72 14.56 9 10h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4c2.5 0 1 4 1 4-4 6-1 6-1 6h3.38a1 1 0 0 0 .89-.55za1 1 0 0 1 .9-.56H13a2 2 0 0 0 2-2v-1a1 1 0 0 1 1-1" /></svg>`;
7662
+ const pendingSvg = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22a10 10 0 1 1 7.5-16.5l-4-.012" /><path d="M12 8.5V12l4 2" /><path d="M17.5 20.319a10 10 0 0 1-2 1.032" /><path d="M19.5 5.5v-4" /><path d="M21.365 15.5a10 10 0 0 1-1.021 2" /><path d="M21.539 9a10 10 0 0 1 .447 2.5" /></svg>`;
7684
7663
  const MN_ICON_MAP = {
7685
- pistol: '<path d="M8.72 14.56 9 10h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4c2.5 0 1 4 1 4-4 6-1 6-1 6h3.38a1 1 0 0 0 .89-.55za1 1 0 0 1 .9-.56H13a2 2 0 0 0 2-2v-1a1 1 0 0 1 1-1" />',
7664
+ pistol: pistolSvg,
7665
+ pending: pendingSvg,
7686
7666
  };
7687
7667
 
7688
7668
  class MnIcon {
7689
7669
  data = {};
7690
- mnIconPistol;
7691
7670
  sanitizer = inject(DomSanitizer);
7692
- registry = inject(MnIconRegistry);
7693
7671
  el = inject(ElementRef);
7694
7672
  svgContent = '';
7695
7673
  get iconSize() {
@@ -7725,28 +7703,62 @@ class MnIcon {
7725
7703
  updateContent() {
7726
7704
  const name = this.data.name ?? this.resolvedName;
7727
7705
  if (name) {
7728
- const raw = MN_ICON_MAP[name] ?? this.registry.get(name);
7729
- this.svgContent = raw ? this.sanitizer.bypassSecurityTrustHtml(raw) : '';
7706
+ const raw = MN_ICON_MAP[name];
7707
+ if (raw) {
7708
+ const size = this.iconSize;
7709
+ const isFullSvg = raw.trim().startsWith('<svg');
7710
+ if (isFullSvg) {
7711
+ const sized = raw.replace(/<svg([^>]*)>/, (_match, attrs) => {
7712
+ let updated = attrs.replace(/width="[^"]*"/, `width="${size}"`);
7713
+ updated = updated.replace(/height="[^"]*"/, `height="${size}"`);
7714
+ if (!attrs.includes('width='))
7715
+ updated += ` width="${size}"`;
7716
+ if (!attrs.includes('height='))
7717
+ updated += ` height="${size}"`;
7718
+ return `<svg${updated}>`;
7719
+ });
7720
+ this.svgContent = this.sanitizer.bypassSecurityTrustHtml(sized);
7721
+ }
7722
+ else {
7723
+ const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${raw}</svg>`;
7724
+ this.svgContent = this.sanitizer.bypassSecurityTrustHtml(svg);
7725
+ }
7726
+ }
7727
+ else {
7728
+ this.svgContent = '';
7729
+ }
7730
7730
  }
7731
7731
  else {
7732
7732
  this.svgContent = '';
7733
7733
  }
7734
7734
  }
7735
7735
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MnIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
7736
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: MnIcon, isStandalone: true, selector: "mn-icon", inputs: { data: "data", mnIconPistol: "mnIconPistol" }, host: { properties: { "class": "this.hostClasses" } }, usesOnChanges: true, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"iconSize\"\n [attr.height]=\"iconSize\"\n [attr.viewBox]=\"'0 0 24 24'\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n [innerHTML]=\"svgContent\"\n></svg>\n" });
7736
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: MnIcon, isStandalone: true, selector: "mn-icon", inputs: { data: "data" }, host: { properties: { "class": "this.hostClasses" } }, usesOnChanges: true, ngImport: i0, template: "<span\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n style=\"display: inline-flex; align-items: center; justify-content: center;\"\n [innerHTML]=\"svgContent\"\n></span>\n" });
7737
7737
  }
7738
7738
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MnIcon, decorators: [{
7739
7739
  type: Component,
7740
- args: [{ selector: 'mn-icon', standalone: true, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"iconSize\"\n [attr.height]=\"iconSize\"\n [attr.viewBox]=\"'0 0 24 24'\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n [innerHTML]=\"svgContent\"\n></svg>\n" }]
7740
+ args: [{ selector: 'mn-icon', standalone: true, template: "<span\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n style=\"display: inline-flex; align-items: center; justify-content: center;\"\n [innerHTML]=\"svgContent\"\n></span>\n" }]
7741
7741
  }], propDecorators: { data: [{
7742
7742
  type: Input
7743
- }], mnIconPistol: [{
7744
- type: Input
7745
7743
  }], hostClasses: [{
7746
7744
  type: HostBinding,
7747
7745
  args: ['class']
7748
7746
  }] } });
7749
7747
 
7748
+ // AUTO-GENERATED — do not edit manually.
7749
+ // Run `npm run generate:icons` to regenerate after modifying MN_ICON_MAP.
7750
+ class MnIconAttributes {
7751
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MnIconAttributes, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7752
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: MnIconAttributes, isStandalone: true, selector: "mn-icon[mnIconPistol], mn-icon[mnIconPending]", ngImport: i0 });
7753
+ }
7754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MnIconAttributes, decorators: [{
7755
+ type: Directive,
7756
+ args: [{
7757
+ selector: 'mn-icon[mnIconPistol], mn-icon[mnIconPending]',
7758
+ standalone: true,
7759
+ }]
7760
+ }] });
7761
+
7750
7762
  /**
7751
7763
  * Injection token for the base URL used by all CRUD service requests.
7752
7764
  *
@@ -8149,5 +8161,5 @@ function enableMnPreviewMode(configService, langService, allowedOrigins) {
8149
8161
  * Generated bundle index. Do not edit.
8150
8162
  */
8151
8163
 
8152
- export { API_BASE_URL, ActionStyle, BackdropMode, BaseModalBuilder, CALENDAR_CONFIG, CALENDAR_DATE_FORMATTER, CalendarDayComponent, CalendarEventComponent, CalendarEventDefaultComponent, CalendarEventLayoutService, CalendarMonthComponent, CalendarUtility, CalendarView, CalendarViewComponent, CalendarWeekComponent, CloseMode, ColumnSortType, ConfirmationModalBuilder, ConfirmationTone, CrudService, CustomModalBuilder, DEFAULT_CALENDAR_CONFIG, DEFAULT_MN_ALERT_CONFIG, DefaultCalendarDateFormatter, FieldAppearance, FieldKind, FormLayoutMode, FormModalBuilder, KeyboardMode, MN_ALERT_CONFIG, MN_CALENDAR_COMPONENT_NAME, MN_CALENDAR_CONFIG, MN_CHECKBOX_CONFIG, MN_DATETIME_CONFIG, MN_ICON_MAP, MN_INPUT_FIELD_CONFIG, MN_INSTANCE_ID, MN_LIB_DUAL_HORIZONTAL_IMAGE, MN_MULTI_SELECT_CONFIG, MN_SECTION_PATH, MN_SELECT_CONFIG, MN_TEXTAREA_CONFIG, MnAlertOutletComponent, MnAlertService, MnAlertStore, MnBadge, MnButton, MnCheckbox, MnConfigService, MnConfirmationBodyComponent, MnCustomBodyHostComponent, MnDatetime, MnDualHorizontalImage, MnFormBodyComponent, MnHiddenBelowDirective, MnIcon, MnIconRegistry, MnInformationCard, MnInputField, MnInstanceDirective, MnLanguageService, MnList, MnModalRef, MnModalService, MnModalShellComponent, MnMultiSelect, MnSectionDirective, MnSelect, MnTabComponent, MnTable, MnTextarea, MnTranslatePipe, MnWizardBodyComponent, ModalBuilder, ModalCloseReason, ModalIntent, ModalKind, ModalSize, NavigationDirection, OptionState, SelectionMode, StepBuilder, StepState, SubmitMode, UpcomingEventRowComponent, UpcomingEventsComponent, ValidationCode, ValidationStatus, WizardFlowMode, WizardModalBuilder, dateTimeAdapter, defaultTextAdapter, enableMnPreviewMode, isTranslatable, mnAlertVariants, mnBadgeVariants, mnButtonVariants, mnCheckboxVariants, mnCheckboxWrapperVariants, mnDatetimeVariants, mnIconDef, mnIconVariants, mnInformationCardVariants, mnInputFieldVariants, mnMultiSelectVariants, mnSelectVariants, mnTextareaVariants, numberAdapter, pickAdapter, provideMnAlerts, provideMnCalendarConfig, provideMnComponentConfig, provideMnConfig, provideMnLanguage, resolveCalendarConfig };
8164
+ export { API_BASE_URL, ActionStyle, BackdropMode, BaseModalBuilder, CALENDAR_CONFIG, CALENDAR_DATE_FORMATTER, CalendarDayComponent, CalendarEventComponent, CalendarEventDefaultComponent, CalendarEventLayoutService, CalendarMonthComponent, CalendarUtility, CalendarView, CalendarViewComponent, CalendarWeekComponent, CloseMode, ColumnSortType, ConfirmationModalBuilder, ConfirmationTone, CrudService, CustomModalBuilder, DEFAULT_CALENDAR_CONFIG, DEFAULT_MN_ALERT_CONFIG, DefaultCalendarDateFormatter, FieldAppearance, FieldKind, FormLayoutMode, FormModalBuilder, KeyboardMode, MN_ALERT_CONFIG, MN_CALENDAR_COMPONENT_NAME, MN_CALENDAR_CONFIG, MN_CHECKBOX_CONFIG, MN_DATETIME_CONFIG, MN_ICON_MAP, MN_INPUT_FIELD_CONFIG, MN_INSTANCE_ID, MN_LIB_DUAL_HORIZONTAL_IMAGE, MN_MULTI_SELECT_CONFIG, MN_SECTION_PATH, MN_SELECT_CONFIG, MN_TEXTAREA_CONFIG, MnAlertOutletComponent, MnAlertService, MnAlertStore, MnBadge, MnButton, MnCheckbox, MnConfigService, MnConfirmationBodyComponent, MnCustomBodyHostComponent, MnDatetime, MnDualHorizontalImage, MnFormBodyComponent, MnHiddenBelowDirective, MnIcon, MnIconAttributes, MnInformationCard, MnInputField, MnInstanceDirective, MnLanguageService, MnList, MnModalRef, MnModalService, MnModalShellComponent, MnMultiSelect, MnSectionDirective, MnSelect, MnTabComponent, MnTable, MnTextarea, MnTranslatePipe, MnWizardBodyComponent, ModalBuilder, ModalCloseReason, ModalIntent, ModalKind, ModalSize, NavigationDirection, OptionState, SelectionMode, StepBuilder, StepState, SubmitMode, UpcomingEventRowComponent, UpcomingEventsComponent, ValidationCode, ValidationStatus, WizardFlowMode, WizardModalBuilder, dateTimeAdapter, defaultTextAdapter, enableMnPreviewMode, isTranslatable, mnAlertVariants, mnBadgeVariants, mnButtonVariants, mnCheckboxVariants, mnCheckboxWrapperVariants, mnDatetimeVariants, mnIconVariants, mnInformationCardVariants, mnInputFieldVariants, mnMultiSelectVariants, mnSelectVariants, mnTextareaVariants, numberAdapter, pickAdapter, provideMnAlerts, provideMnCalendarConfig, provideMnComponentConfig, provideMnConfig, provideMnLanguage, resolveCalendarConfig };
8153
8165
  //# sourceMappingURL=mn-angular-lib.mjs.map