@xsmusices/ui 1.44.6 → 1.44.7

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.
package/index.d.ts CHANGED
@@ -121,7 +121,7 @@ interface XSItemData {
121
121
 
122
122
  declare class XSItemActionComponent {
123
123
  item: _angular_core.InputSignal<XSItemData>;
124
- size: _angular_core.InputSignal<"profile" | "small" | "normal">;
124
+ size: _angular_core.InputSignal<"small" | "normal" | "profile">;
125
125
  isLink: _angular_core.InputSignal<boolean>;
126
126
  showBorder: _angular_core.InputSignal<boolean>;
127
127
  rounded: _angular_core.InputSignal<boolean>;
@@ -2041,7 +2041,7 @@ declare class XSButtonGroupService {
2041
2041
  declare class XSIconComponent {
2042
2042
  private library;
2043
2043
  icon: _angular_core.InputSignal<string | string[] | [IconPrefix, IconName] | _fortawesome_fontawesome_common_types.IconLookup>;
2044
- size: _angular_core.InputSignal<"sm" | "lg" | "normal" | "xs" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl">;
2044
+ size: _angular_core.InputSignal<"sm" | "lg" | "xl" | "normal" | "xs" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl">;
2045
2045
  class: _angular_core.InputSignal<string>;
2046
2046
  resolvedIcon: _angular_core.Signal<IconProp | IconDefinition>;
2047
2047
  isValidIcon: _angular_core.Signal<boolean>;
@@ -2302,9 +2302,9 @@ declare class XSImageComponent {
2302
2302
  alt: _angular_core.InputSignal<string | undefined>;
2303
2303
  width: _angular_core.InputSignal<string | number | undefined>;
2304
2304
  height: _angular_core.InputSignal<string | number | undefined>;
2305
- size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xs" | "xl" | "2xl" | "full" | undefined>;
2305
+ size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xl" | "xs" | "2xl" | "full" | undefined>;
2306
2306
  rounded: _angular_core.InputSignal<"none" | "sm" | "md" | "lg" | "xl" | "2xl" | "full" | "3xl" | undefined>;
2307
- objectFit: _angular_core.InputSignal<"fill" | "none" | "cover" | "contain" | "scale-down" | undefined>;
2307
+ objectFit: _angular_core.InputSignal<"none" | "cover" | "fill" | "contain" | "scale-down" | undefined>;
2308
2308
  clickable: _angular_core.InputSignal<boolean | undefined>;
2309
2309
  item: _angular_core.InputSignal<XSImageItem | null | undefined>;
2310
2310
  typeItem: _angular_core.InputSignal<string | undefined>;
@@ -3199,9 +3199,9 @@ declare class XSListComponent {
3199
3199
  label: _angular_core.InputSignal<string | undefined>;
3200
3200
  loadingAll: _angular_core.InputSignal<boolean>;
3201
3201
  initialLoading: _angular_core.InputSignal<boolean>;
3202
- columns: _angular_core.InputSignal<3 | 1 | 2>;
3202
+ columns: _angular_core.InputSignal<1 | 2 | 3>;
3203
3203
  isLink: _angular_core.InputSignal<boolean>;
3204
- size: _angular_core.InputSignal<"profile" | "small" | "normal">;
3204
+ size: _angular_core.InputSignal<"small" | "normal" | "profile">;
3205
3205
  hasScroll: _angular_core.InputSignal<boolean | "lg" | "xl" | "mobile">;
3206
3206
  class: _angular_core.InputSignal<string | undefined>;
3207
3207
  rounded: _angular_core.InputSignal<boolean>;
@@ -3554,8 +3554,16 @@ declare class XSBodyOverflowService {
3554
3554
  private platformId;
3555
3555
  private documentService;
3556
3556
  private count;
3557
+ private locked;
3557
3558
  constructor(platformId: Object, documentService: XSDocumentService);
3558
- lock(): void;
3559
+ /**
3560
+ * Bloquea el scroll. Sin selector bloquea body (histórico).
3561
+ * Con selector CSS bloquea ese elemento ADEMÁS de body, restaurando
3562
+ * el valor previo exacto al desbloquear. Si el selector no existe,
3563
+ * solo se bloquea body. Contador para aperturas repetidas.
3564
+ */
3565
+ lock(selector?: string): void;
3566
+ private lockEl;
3559
3567
  unlock(): void;
3560
3568
  reset(): void;
3561
3569
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XSBodyOverflowService, never>;
@@ -3588,6 +3596,30 @@ interface XSModalOptions {
3588
3596
  */
3589
3597
  hasOverflow?: boolean;
3590
3598
  closeOnBackdropClick?: boolean;
3599
+ /**
3600
+ * Selector CSS del contenedor de scroll a bloquear (p. ej. '#main-content'
3601
+ * en la App, cuyo scroll vive en ese elemento y no en body).
3602
+ * Por defecto se bloquea body (comportamiento histórico, Admin).
3603
+ * No acopla la librería a ningún selector: es solo una cadena opcional.
3604
+ */
3605
+ scrollLockSelector?: string;
3606
+ /**
3607
+ * Muestra una X de cierre en la cabecera. Por defecto false para no
3608
+ * alterar los modales actuales de Admin.
3609
+ */
3610
+ showCloseButton?: boolean;
3611
+ /** Etiqueta accesible de la X de cierre. Por defecto MODAL.CLOSE. */
3612
+ closeLabel?: string;
3613
+ /**
3614
+ * Padding del contenedor del panel. 'default' mantiene p-4,
3615
+ * 'none' lo elimina para layouts propios. Por defecto 'default'.
3616
+ */
3617
+ contentPadding?: 'default' | 'none';
3618
+ /**
3619
+ * Ancho del side-panel. 'xl' reproduce el comportamiento histórico
3620
+ * (sm:max-w-xl lg:max-w-2xl). Por defecto 'xl'.
3621
+ */
3622
+ panelSize?: 'sm' | 'md' | 'lg' | 'xl';
3591
3623
  }
3592
3624
  interface XSModalClaim {
3593
3625
  type?: XSModalType;
@@ -4674,7 +4706,7 @@ declare class XSProfileExclusiveComponent {
4674
4706
  exclusive?: boolean;
4675
4707
  }>;
4676
4708
  readonly type: _angular_core.InputSignal<"artist" | "media">;
4677
- readonly subType: _angular_core.InputSignal<"set" | "track" | "podcast" | "radioshow" | undefined>;
4709
+ readonly subType: _angular_core.InputSignal<"track" | "set" | "podcast" | "radioshow" | undefined>;
4678
4710
  readonly message: _angular_core.InputSignal<string>;
4679
4711
  readonly link: _angular_core.InputSignal<boolean>;
4680
4712
  urlLogo: string;
@@ -4765,7 +4797,7 @@ interface ProfileImageItem {
4765
4797
  declare class XSProfileImageComponent implements OnInit {
4766
4798
  readonly item: _angular_core.InputSignal<ProfileImageItem>;
4767
4799
  readonly type: _angular_core.InputSignal<"artist" | "event" | "equipment" | "media" | "organization" | "site">;
4768
- readonly subType: _angular_core.InputSignal<"club" | "festival" | "set" | "track" | "podcast" | "radioshow" | "promoter" | "label" | "collective" | "radio" | "medio" | undefined>;
4800
+ readonly subType: _angular_core.InputSignal<"label" | "track" | "set" | "club" | "festival" | "podcast" | "radioshow" | "promoter" | "collective" | "radio" | "medio" | undefined>;
4769
4801
  readonly totalDays: _angular_core.InputSignal<number | undefined>;
4770
4802
  readonly heightImage: _angular_core.InputSignal<number>;
4771
4803
  readonly viewTransitionName: _angular_core.InputSignal<string | undefined>;
@@ -4996,7 +5028,7 @@ declare class XSSendScraperComponent implements OnInit {
4996
5028
  protected stepLabels: _angular_core.Signal<string[]>;
4997
5029
  protected showSourceSelection: _angular_core.Signal<boolean>;
4998
5030
  protected canSearch: _angular_core.Signal<boolean>;
4999
- protected primaryVariant: _angular_core.Signal<"soundcloud" | "youtube">;
5031
+ protected primaryVariant: _angular_core.Signal<"youtube" | "soundcloud">;
5000
5032
  protected activeFormFields: _angular_core.Signal<FormlyFieldConfig<_ngx_formly_core.FormlyFieldProps & {
5001
5033
  [additionalProperties: string]: any;
5002
5034
  }>[]>;
@@ -5128,6 +5160,7 @@ declare class XSModalComponent {
5128
5160
  private injector;
5129
5161
  private dynamicContentPlaceholder;
5130
5162
  private destroyRef;
5163
+ private hostRef;
5131
5164
  private translateService;
5132
5165
  private langVersion;
5133
5166
  private readonly platformId;
@@ -5144,13 +5177,19 @@ declare class XSModalComponent {
5144
5177
  buttons: _angular_core.WritableSignal<XSButtonI[]>;
5145
5178
  hasOverflow: boolean;
5146
5179
  closeOnBackdropClick: _angular_core.WritableSignal<boolean>;
5180
+ showCloseButton: _angular_core.WritableSignal<boolean>;
5181
+ closeLabel: _angular_core.WritableSignal<string>;
5182
+ contentPadding: _angular_core.WritableSignal<"default" | "none">;
5183
+ panelSize: _angular_core.WritableSignal<"sm" | "md" | "lg" | "xl">;
5147
5184
  onAction: Subject<unknown>;
5148
5185
  constructor();
5149
5186
  private destroyInjectedComponent;
5150
- injectComponent(componentType: Type<unknown>, data: unknown, type: XSModalType, title?: string, subTitle?: string, buttons?: XSButtonI[], _hasOverflow?: boolean, _closeOnBackdropClick?: boolean): void;
5187
+ injectComponent(componentType: Type<unknown>, data: unknown, type: XSModalType, title?: string, subTitle?: string, buttons?: XSButtonI[], _hasOverflow?: boolean, _closeOnBackdropClick?: boolean, _showCloseButton?: boolean, _closeLabel?: string, _contentPadding?: 'default' | 'none', _panelSize?: 'sm' | 'md' | 'lg' | 'xl'): void;
5151
5188
  handleButtonAction(action: string): void;
5152
5189
  onTabKey(event: KeyboardEvent): void;
5153
5190
  private getFocusableElements;
5191
+ /** Lleva el foco al panel o a su primer elemento enfocable. */
5192
+ private focusInitial;
5154
5193
  close(result?: unknown): void;
5155
5194
  onBackdropMouseDown(event: Event): void;
5156
5195
  onAnimationEnd(): void;
@@ -5596,7 +5635,7 @@ declare class XSItemTypeComponent {
5596
5635
  itemType: _angular_core.InputSignal<XSGenericItemType>;
5597
5636
  isLink: _angular_core.InputSignal<boolean>;
5598
5637
  showChevron: _angular_core.InputSignal<boolean>;
5599
- size: _angular_core.InputSignal<"profile" | "small" | "normal">;
5638
+ size: _angular_core.InputSignal<"small" | "normal" | "profile">;
5600
5639
  rounded: _angular_core.InputSignal<boolean>;
5601
5640
  loading: _angular_core.InputSignal<boolean>;
5602
5641
  readonly onClick: _angular_core.OutputEmitterRef<XSItemData>;
@@ -5608,7 +5647,7 @@ declare abstract class XSItemTypeBaseComponent {
5608
5647
  item: _angular_core.InputSignal<XSItemData>;
5609
5648
  isLink: _angular_core.InputSignal<boolean>;
5610
5649
  showChevron: _angular_core.InputSignal<boolean>;
5611
- size: _angular_core.InputSignal<"profile" | "small" | "normal">;
5650
+ size: _angular_core.InputSignal<"small" | "normal" | "profile">;
5612
5651
  rounded: _angular_core.InputSignal<boolean>;
5613
5652
  loading: _angular_core.InputSignal<boolean>;
5614
5653
  readonly onClick: _angular_core.OutputEmitterRef<XSItemData>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xsmusices/ui",
3
- "version": "1.44.6",
3
+ "version": "1.44.7",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/"
6
6
  },