valtech-components 4.0.951 → 4.0.952

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.
@@ -67,7 +67,7 @@ import fixWebmDuration from 'fix-webm-duration';
67
67
  * Current version of valtech-components.
68
68
  * This is automatically updated during the publish process.
69
69
  */
70
- const VERSION = '4.0.951';
70
+ const VERSION = '4.0.952';
71
71
 
72
72
  function evaluateValtechAccess(rule, context, features = {}, visitedFeatures = new Set()) {
73
73
  if (rule == null)
@@ -34866,6 +34866,8 @@ class MemberCardComponent {
34866
34866
  this.props = input({});
34867
34867
  /** Emitted when the trailing action button is clicked. */
34868
34868
  this.onAction = new EventEmitter();
34869
+ /** Emitted when the second trailing action button is clicked. */
34870
+ this.onSecondaryAction = new EventEmitter();
34869
34871
  this.config = computed(() => ({
34870
34872
  ...MEMBER_CARD_DEFAULTS,
34871
34873
  ...this.props(),
@@ -34885,8 +34887,11 @@ class MemberCardComponent {
34885
34887
  emitAction() {
34886
34888
  this.onAction.emit(this.config().id);
34887
34889
  }
34890
+ emitSecondaryAction() {
34891
+ this.onSecondaryAction.emit(this.config().id);
34892
+ }
34888
34893
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34889
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MemberCardComponent, isStandalone: true, selector: "val-member-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAction: "onAction" }, ngImport: i0, template: `
34894
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MemberCardComponent, isStandalone: true, selector: "val-member-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAction: "onAction", onSecondaryAction: "onSecondaryAction" }, ngImport: i0, template: `
34890
34895
  <div class="member-card">
34891
34896
  <val-user-avatar
34892
34897
  [props]="{
@@ -34905,18 +34910,33 @@ class MemberCardComponent {
34905
34910
  <span class="member-card__role">{{ config().roleLabel }}</span>
34906
34911
  }
34907
34912
  </div>
34908
- @if (config().showAction) {
34909
- <button
34910
- type="button"
34911
- class="member-card__action"
34912
- [attr.aria-label]="config().actionAriaLabel"
34913
- (click)="emitAction()"
34914
- >
34915
- <ion-icon [name]="config().actionIcon" />
34916
- </button>
34913
+ @if (config().showAction || config().showSecondaryAction) {
34914
+ <div class="member-card__actions">
34915
+ @if (config().showAction) {
34916
+ <button
34917
+ type="button"
34918
+ class="member-card__action"
34919
+ [attr.aria-label]="config().actionAriaLabel"
34920
+ (click)="emitAction()"
34921
+ >
34922
+ <ion-icon [name]="config().actionIcon" />
34923
+ </button>
34924
+ }
34925
+ @if (config().showSecondaryAction) {
34926
+ <button
34927
+ type="button"
34928
+ class="member-card__action"
34929
+ [class.member-card__action--danger]="config().secondaryActionDanger"
34930
+ [attr.aria-label]="config().secondaryActionAriaLabel"
34931
+ (click)="emitSecondaryAction()"
34932
+ >
34933
+ <ion-icon [name]="config().secondaryActionIcon" />
34934
+ </button>
34935
+ }
34936
+ </div>
34917
34937
  }
34918
34938
  </div>
34919
- `, isInline: true, styles: [":host{display:block}.member-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--ion-color-light, #f4f5f8)}:host-context(body.dark) .member-card,:host-context(html.ion-palette-dark) .member-card,:host-context([data-theme=dark]) .member-card{background:#ffffff0d}.member-card__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.member-card__name{font-weight:600;font-size:.9rem;color:var(--ion-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__sub{font-size:.78rem;color:rgba(var(--ion-color-dark-rgb),.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__role{margin-top:4px;align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:20px;background:color-mix(in srgb,var(--ion-color-primary) 12%,transparent);color:var(--ion-color-primary)}.member-card__action{border:none;background:none;cursor:pointer;font-size:1.35rem;line-height:1;color:var(--ion-color-dark);padding:6px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.member-card__action:hover{background:rgba(var(--ion-color-dark-rgb),.08)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: UserAvatarComponent, selector: "val-user-avatar", inputs: ["props"], outputs: ["onClick"] }] }); }
34939
+ `, isInline: true, styles: [":host{display:block}.member-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--ion-color-light, #f4f5f8)}:host-context(body.dark) .member-card,:host-context(html.ion-palette-dark) .member-card,:host-context([data-theme=dark]) .member-card{background:#ffffff0d}.member-card__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.member-card__name{font-weight:600;font-size:.9rem;color:var(--ion-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__sub{font-size:.78rem;color:rgba(var(--ion-color-dark-rgb),.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__role{margin-top:4px;align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:20px;background:color-mix(in srgb,var(--ion-color-primary) 12%,transparent);color:var(--ion-color-primary)}.member-card__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.member-card__action{border:none;background:none;cursor:pointer;font-size:1.35rem;line-height:1;color:var(--ion-color-dark);padding:6px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.member-card__action:hover{background:rgba(var(--ion-color-dark-rgb),.08)}.member-card__action--danger{color:var(--ion-color-danger)}.member-card__action--danger:hover{background:rgba(var(--ion-color-danger-rgb),.1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: UserAvatarComponent, selector: "val-user-avatar", inputs: ["props"], outputs: ["onClick"] }] }); }
34920
34940
  }
34921
34941
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberCardComponent, decorators: [{
34922
34942
  type: Component,
@@ -34939,20 +34959,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
34939
34959
  <span class="member-card__role">{{ config().roleLabel }}</span>
34940
34960
  }
34941
34961
  </div>
34942
- @if (config().showAction) {
34943
- <button
34944
- type="button"
34945
- class="member-card__action"
34946
- [attr.aria-label]="config().actionAriaLabel"
34947
- (click)="emitAction()"
34948
- >
34949
- <ion-icon [name]="config().actionIcon" />
34950
- </button>
34962
+ @if (config().showAction || config().showSecondaryAction) {
34963
+ <div class="member-card__actions">
34964
+ @if (config().showAction) {
34965
+ <button
34966
+ type="button"
34967
+ class="member-card__action"
34968
+ [attr.aria-label]="config().actionAriaLabel"
34969
+ (click)="emitAction()"
34970
+ >
34971
+ <ion-icon [name]="config().actionIcon" />
34972
+ </button>
34973
+ }
34974
+ @if (config().showSecondaryAction) {
34975
+ <button
34976
+ type="button"
34977
+ class="member-card__action"
34978
+ [class.member-card__action--danger]="config().secondaryActionDanger"
34979
+ [attr.aria-label]="config().secondaryActionAriaLabel"
34980
+ (click)="emitSecondaryAction()"
34981
+ >
34982
+ <ion-icon [name]="config().secondaryActionIcon" />
34983
+ </button>
34984
+ }
34985
+ </div>
34951
34986
  }
34952
34987
  </div>
34953
- `, styles: [":host{display:block}.member-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--ion-color-light, #f4f5f8)}:host-context(body.dark) .member-card,:host-context(html.ion-palette-dark) .member-card,:host-context([data-theme=dark]) .member-card{background:#ffffff0d}.member-card__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.member-card__name{font-weight:600;font-size:.9rem;color:var(--ion-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__sub{font-size:.78rem;color:rgba(var(--ion-color-dark-rgb),.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__role{margin-top:4px;align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:20px;background:color-mix(in srgb,var(--ion-color-primary) 12%,transparent);color:var(--ion-color-primary)}.member-card__action{border:none;background:none;cursor:pointer;font-size:1.35rem;line-height:1;color:var(--ion-color-dark);padding:6px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.member-card__action:hover{background:rgba(var(--ion-color-dark-rgb),.08)}\n"] }]
34988
+ `, styles: [":host{display:block}.member-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--ion-color-light, #f4f5f8)}:host-context(body.dark) .member-card,:host-context(html.ion-palette-dark) .member-card,:host-context([data-theme=dark]) .member-card{background:#ffffff0d}.member-card__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.member-card__name{font-weight:600;font-size:.9rem;color:var(--ion-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__sub{font-size:.78rem;color:rgba(var(--ion-color-dark-rgb),.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__role{margin-top:4px;align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:20px;background:color-mix(in srgb,var(--ion-color-primary) 12%,transparent);color:var(--ion-color-primary)}.member-card__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.member-card__action{border:none;background:none;cursor:pointer;font-size:1.35rem;line-height:1;color:var(--ion-color-dark);padding:6px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.member-card__action:hover{background:rgba(var(--ion-color-dark-rgb),.08)}.member-card__action--danger{color:var(--ion-color-danger)}.member-card__action--danger:hover{background:rgba(var(--ion-color-danger-rgb),.1)}\n"] }]
34954
34989
  }], ctorParameters: () => [], propDecorators: { onAction: [{
34955
34990
  type: Output
34991
+ }], onSecondaryAction: [{
34992
+ type: Output
34956
34993
  }] } });
34957
34994
 
34958
34995
  const DEFAULT_NAMESPACE$n = 'PermissionSelector';
@@ -63483,7 +63520,7 @@ class OrganizationViewComponent {
63483
63520
  />
63484
63521
  </div>
63485
63522
  </val-container>
63486
- `, isInline: true, styles: [".page{padding:16px 0}.org-more-info-link{background:none;border:none;padding:4px 0;margin-top:4px;font-size:13px;font-weight:600;color:var(--ion-color-primary, #7026df);cursor:pointer;text-align:left}.page-header{margin-bottom:16px}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.section-body{display:flex;flex-direction:column;gap:10px}.row-actions{margin-top:12px}.row-actions--gap{display:flex;gap:8px}.invite-cta{display:flex;flex-direction:column;gap:16px}.invite-cta__text{display:flex;flex-direction:column;gap:4px}.invite-cta__actions{display:flex;gap:12px;flex-wrap:wrap}.org-info-card{border-radius:14px;background:var(--ion-color-light, #f4f5f8);overflow:hidden}.org-info-logo{display:flex;justify-content:center;padding:8px 0 16px}.org-logo-img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--ion-color-light)}:host-context(body.dark) .org-info-card,:host-context(html.ion-palette-dark) .org-info-card,:host-context([data-theme=\"dark\"]) .org-info-card{background:#ffffff0d}.org-info-field{padding:12px 16px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--val-border-color, rgba(0, 0, 0, .06))}.org-info-field:last-child{border-bottom:none}.org-info-label{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ion-color-medium)}.org-info-value{font-size:.95rem;font-weight:500;color:var(--ion-color-dark)}.org-info-value--muted{color:var(--ion-color-medium);font-weight:400}.plan-badge{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:20px;width:fit-content}.plan-badge--free{background:var(--ion-color-light-shade, #d7d8da);color:var(--ion-color-dark)}.plan-badge--pro{background:var(--ion-color-primary);color:#fff}.plan-badge--enterprise{background:#f5c542;color:#222}.members-list{display:flex;flex-direction:column;gap:8px}.members-show-more{background:none;border:none;color:var(--ion-color-primary);font-size:14px;font-weight:500;cursor:pointer;padding:8px 0}.rbac-debug{opacity:.7}.rbac-debug__body{display:flex;flex-direction:column;gap:6px;font-family:monospace;font-size:.78rem}.rbac-debug__row{display:flex;gap:8px;align-items:flex-start}.rbac-debug__label{color:var(--ion-color-medium);min-width:72px;flex-shrink:0}.rbac-debug__value{color:var(--ion-color-dark);word-break:break-all}.rbac-debug__value--perms{color:var(--ion-color-medium)}val-danger-section{margin:0 -4px}.settings-section+val-danger-section,val-danger-section+val-danger-section,val-danger-section+.settings-section{margin-top:12px}\n"], dependencies: [{ kind: "component", type: CreateOrgModalComponent, selector: "val-create-org-modal", inputs: ["i18nNamespace", "isOpen"], outputs: ["dismissed", "created"] }, { kind: "component", type: CtaCardComponent, selector: "val-cta-card", inputs: ["props"], outputs: ["onAction"] }, { kind: "component", type: DangerSectionComponent, selector: "val-danger-section", inputs: ["props"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "directive", type: HasPermissionDirective, selector: "[valHasPermission]", inputs: ["valHasPermission"] }, { kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: MemberCardComponent, selector: "val-member-card", inputs: ["props"], outputs: ["onAction"] }, { kind: "component", type: PermissionsModalComponent, selector: "val-permissions-modal", inputs: ["isOpen", "config"], outputs: ["dismissed"] }, { kind: "component", type: SectionHeaderComponent, selector: "val-section-header", inputs: ["props"], outputs: ["actionClick"] }, { kind: "component", type: ContainerComponent, selector: "val-container", inputs: ["props"] }] }); }
63523
+ `, isInline: true, styles: [".page{padding:16px 0}.org-more-info-link{background:none;border:none;padding:4px 0;margin-top:4px;font-size:13px;font-weight:600;color:var(--ion-color-primary, #7026df);cursor:pointer;text-align:left}.page-header{margin-bottom:16px}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.section-body{display:flex;flex-direction:column;gap:10px}.row-actions{margin-top:12px}.row-actions--gap{display:flex;gap:8px}.invite-cta{display:flex;flex-direction:column;gap:16px}.invite-cta__text{display:flex;flex-direction:column;gap:4px}.invite-cta__actions{display:flex;gap:12px;flex-wrap:wrap}.org-info-card{border-radius:14px;background:var(--ion-color-light, #f4f5f8);overflow:hidden}.org-info-logo{display:flex;justify-content:center;padding:8px 0 16px}.org-logo-img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--ion-color-light)}:host-context(body.dark) .org-info-card,:host-context(html.ion-palette-dark) .org-info-card,:host-context([data-theme=\"dark\"]) .org-info-card{background:#ffffff0d}.org-info-field{padding:12px 16px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--val-border-color, rgba(0, 0, 0, .06))}.org-info-field:last-child{border-bottom:none}.org-info-label{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ion-color-medium)}.org-info-value{font-size:.95rem;font-weight:500;color:var(--ion-color-dark)}.org-info-value--muted{color:var(--ion-color-medium);font-weight:400}.plan-badge{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:20px;width:fit-content}.plan-badge--free{background:var(--ion-color-light-shade, #d7d8da);color:var(--ion-color-dark)}.plan-badge--pro{background:var(--ion-color-primary);color:#fff}.plan-badge--enterprise{background:#f5c542;color:#222}.members-list{display:flex;flex-direction:column;gap:8px}.members-show-more{background:none;border:none;color:var(--ion-color-primary);font-size:14px;font-weight:500;cursor:pointer;padding:8px 0}.rbac-debug{opacity:.7}.rbac-debug__body{display:flex;flex-direction:column;gap:6px;font-family:monospace;font-size:.78rem}.rbac-debug__row{display:flex;gap:8px;align-items:flex-start}.rbac-debug__label{color:var(--ion-color-medium);min-width:72px;flex-shrink:0}.rbac-debug__value{color:var(--ion-color-dark);word-break:break-all}.rbac-debug__value--perms{color:var(--ion-color-medium)}val-danger-section{margin:0 -4px}.settings-section+val-danger-section,val-danger-section+val-danger-section,val-danger-section+.settings-section{margin-top:12px}\n"], dependencies: [{ kind: "component", type: CreateOrgModalComponent, selector: "val-create-org-modal", inputs: ["i18nNamespace", "isOpen"], outputs: ["dismissed", "created"] }, { kind: "component", type: CtaCardComponent, selector: "val-cta-card", inputs: ["props"], outputs: ["onAction"] }, { kind: "component", type: DangerSectionComponent, selector: "val-danger-section", inputs: ["props"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "directive", type: HasPermissionDirective, selector: "[valHasPermission]", inputs: ["valHasPermission"] }, { kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: MemberCardComponent, selector: "val-member-card", inputs: ["props"], outputs: ["onAction", "onSecondaryAction"] }, { kind: "component", type: PermissionsModalComponent, selector: "val-permissions-modal", inputs: ["isOpen", "config"], outputs: ["dismissed"] }, { kind: "component", type: SectionHeaderComponent, selector: "val-section-header", inputs: ["props"], outputs: ["actionClick"] }, { kind: "component", type: ContainerComponent, selector: "val-container", inputs: ["props"] }] }); }
63487
63524
  }
63488
63525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OrganizationViewComponent, decorators: [{
63489
63526
  type: Component,