@ngxviewbuilder/runtime 0.10.2 → 0.10.3

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.
@@ -1 +1 @@
1
- import{NgClass as r}from"@angular/common";import*as o from"@angular/core";import{input as v,signal as p,inject as a,computed as e,ChangeDetectionStrategy as u,Component as m}from"@angular/core";import{c as b,E as h,U as g,S as x,a as l,N as c,D as d}from"./ngxviewbuilder-runtime-ngxviewbuilder-runtime-B7TlmNyp.mjs";class n{model=v.required(...ngDevMode?[{debugName:"model"}]:[]);tid=b(this.model,"nvb-toast","toast");visible=p(true,...ngDevMode?[{debugName:"visible"}]:[]);elementActionService=a(h);uiTranslationService=a(g);hideTimeoutId=null;autoHideStartedAt=0;autoHideDelayMs=0;autoHideRemainingMs=0;isEditor=e(()=>x.isEditor(),...ngDevMode?[{debugName:"isEditor"}]:[]);shellClass=e(()=>{const t=this.resolvePosition();return{[`nvb-toast-shell--${t}`]:true,"nvb-toast-shell--editor":this.isEditor()}},...ngDevMode?[{debugName:"shellClass"}]:[]);variantClass=e(()=>`nvb-toast--${this.resolveVariant()}`,...ngDevMode?[{debugName:"variantClass"}]:[]);iconName=e(()=>{const t=String(this.model()?.icon??"").trim();if(t){return t}switch(this.resolveVariant()){case"success":return"check_circle";case"warning":return"warning";case"error":return"error";default:return"info"}},...ngDevMode?[{debugName:"iconName"}]:[]);showActionButton=e(()=>String(this.model()?.actionText??"").trim().length>0,...ngDevMode?[{debugName:"showActionButton"}]:[]);ngOnInit(){this.visible.set(Boolean(this.model()?.initiallyVisible??true));if(this.isEditor()){this.visible.set(true);return}this.scheduleAutoHide()}ngOnDestroy(){this.clearAutoHide()}onToastClick(t){t.stopPropagation();void this.runActions("click")}onActionClick(t){t.preventDefault();t.stopPropagation();void this.runActions("action")}onDismissClick(t){t.preventDefault();t.stopPropagation();this.visible.set(false);this.clearAutoHide();void this.runActions("dismiss")}pauseAutoHide(){if(this.isEditor()||this.hideTimeoutId===null){return}const t=Date.now()-this.autoHideStartedAt;this.autoHideRemainingMs=Math.max(1e3,this.autoHideDelayMs-t);this.clearAutoHide()}resumeAutoHide(){if(this.isEditor()||!this.visible()||!this.model().autoHide||this.hideTimeoutId!==null){return}this.scheduleAutoHide(this.autoHideRemainingMs||this.resolveAutoHideDelayMs())}resolvedTitle(){const t=String(this.model()?.title??"").trim();return t==="Notification"?this.uiTranslationService.translate("toast.titleDefault","Notification"):t}resolvedDescription(){const t=String(this.model()?.descriptionText??"").trim();return t==="Toast message"?this.uiTranslationService.translate("toast.descriptionDefault","Toast message"):t}dismissLabel(){return this.uiTranslationService.translate("common.dismiss","Dismiss")}toastAriaLive(){return this.resolveVariant()==="info"?"polite":"assertive"}toastRole(){return this.toastAriaLive()==="assertive"?"alert":"status"}scheduleAutoHide(t=this.resolveAutoHideDelayMs()){this.clearAutoHide();if(!this.visible()){return}if(!this.model().autoHide){return}this.autoHideDelayMs=t;this.autoHideRemainingMs=t;this.autoHideStartedAt=Date.now();this.hideTimeoutId=setTimeout(()=>{this.visible.set(false);this.hideTimeoutId=null;void this.runActions("autoHide")},t)}clearAutoHide(){if(this.hideTimeoutId===null){return}clearTimeout(this.hideTimeoutId);this.hideTimeoutId=null}resolveAutoHideDelayMs(){const t=Number(this.model()?.autoHideMs);if(Number.isFinite(t)&&t>=0){return Math.floor(t)}return 7e3}async runActions(t){const i={action:t,value:this.model().value,item:null,row:null};const s=String(this.model().name??"").trim();if(s){i[s]=this.model().value}await this.elementActionService.runActions(this.model(),this.model().events??[],"click",i)}resolveVariant(){const t=String(this.model()?.variant??"info").trim().toLowerCase();if(t==="error"||t==="danger"||t==="risk"){return"error"}if(t==="warning"||t==="warn"){return"warning"}if(t==="success"||t==="ok"){return"success"}if(t==="info"||t==="neutral"){return"info"}return"info"}resolvePosition(){const t=String(this.model()?.position??"top-right").trim().toLowerCase();if(t==="top-left"||t==="top-center"||t==="top-right"||t==="bottom-left"||t==="bottom-center"||t==="bottom-right"){return t}return"top-right"}static ɵfac=o.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.1.4",ngImport:o,type:n,deps:[],target:o.ɵɵFactoryTarget.Component});static ɵcmp=o.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.1.4",type:n,isStandalone:true,selector:"toast-element",inputs:{model:{classPropertyName:"model",publicName:"model",isSignal:true,isRequired:true,transformFunction:null}},ngImport:o,template:"<element-wrapper [model]=\"model()\">\n @if (visible()) {\n <section class=\"nvb-toast-shell\" [ngClass]=\"shellClass()\" [attr.data-testid]=\"tid('root')\">\n <article\n class=\"nvb-toast\"\n [ngClass]=\"variantClass()\"\n [class.nvb-toast--no-icon]=\"!model().showIcon\"\n [attr.role]=\"toastRole()\"\n [attr.aria-live]=\"toastAriaLive()\"\n (click)=\"onToastClick($event)\"\n (mouseenter)=\"pauseAutoHide()\"\n (mouseleave)=\"resumeAutoHide()\"\n (focusin)=\"pauseAutoHide()\"\n (focusout)=\"resumeAutoHide()\"\n >\n @if (model().showIcon) {\n <span class=\"nvb-toast__media\" aria-hidden=\"true\">\n <nvb-icon class=\"nvb-toast__icon\" [name]=\"iconName()\"></nvb-icon>\n </span>\n }\n\n <div class=\"nvb-toast__content\">\n <h4 class=\"nvb-toast__title\">{{ resolvedTitle() | dynamicText: model() }}</h4>\n\n @if (resolvedDescription()) {\n <p class=\"nvb-toast__description\">\n {{ resolvedDescription() | dynamicText: model() }}\n </p>\n }\n </div>\n\n @if (showActionButton()) {\n <button type=\"button\" class=\"nvb-toast__action\" (click)=\"onActionClick($event)\">\n {{ model().actionText | dynamicText: model() }}\n </button>\n }\n\n @if (model().dismissible) {\n <button\n type=\"button\"\n class=\"nvb-toast__dismiss\"\n (click)=\"onDismissClick($event)\"\n [attr.aria-label]=\"dismissLabel()\"\n >\n <nvb-icon name=\"close\"></nvb-icon>\n </button>\n }\n </article>\n </section>\n }\n</element-wrapper>\n",styles:[":host{display:block;width:100%;font-family:var(--nvb-font-family)}.nvb-toast-shell{position:fixed;z-index:2147483500;width:min(360px,100vw - 32px);pointer-events:none;display:grid;gap:16px}.nvb-toast-shell--editor{position:relative;inset:auto;width:min(360px,100%);max-width:100%;margin-top:8px}.nvb-toast-shell--top-left{top:16px;left:16px}.nvb-toast-shell--top-center{top:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--top-right{top:16px;right:16px}.nvb-toast-shell--bottom-left{bottom:16px;left:16px}.nvb-toast-shell--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--bottom-right{bottom:16px;right:16px}.nvb-toast{--nvb-toast-icon-color: var(--nvb-color-primary-600);pointer-events:auto;position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 24px;gap:4px 12px;align-items:start;min-height:52px;padding:12px;border:1px solid var(--nvb-color-neutral-200);border-radius:var(--nvb-toast-radius, 4px);background:var(--nvb-color-neutral-000);color:var(--nvb-color-neutral-800);box-shadow:0 8px 16px color-mix(in oklab,var(--nvb-color-neutral-950) 14%,transparent),0 0 2px color-mix(in oklab,var(--nvb-color-neutral-950) 12%,transparent);overflow:hidden}.nvb-toast__media{grid-column:1;grid-row:1/span 2;width:20px;height:20px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;color:var(--nvb-toast-icon-color);flex:0 0 auto}.nvb-toast__icon{font-size:20px;line-height:1}.nvb-toast__content{grid-column:2;min-width:0;display:grid;gap:2px}.nvb-toast--no-icon .nvb-toast__content,.nvb-toast--no-icon .nvb-toast__action{grid-column:1/3}.nvb-toast__title{margin:0;font-size:14px;font-weight:600;line-height:20px;letter-spacing:0;color:var(--nvb-color-neutral-900)}.nvb-toast__description{margin:0;font-size:13px;line-height:18px;color:var(--nvb-color-neutral-600);overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nvb-toast__action{grid-column:2;justify-self:start;min-height:22px;padding:0;border:0;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-primary-700);font:inherit;font-size:13px;line-height:20px;font-weight:600;cursor:pointer;white-space:nowrap}.nvb-toast__action:hover{color:var(--nvb-color-primary-800);text-decoration:underline;text-underline-offset:2px}.nvb-toast__action:focus-visible,.nvb-toast__dismiss:focus-visible{outline:0;box-shadow:var(--nvb-focus-ring)}.nvb-toast__dismiss{grid-column:3;grid-row:1;width:24px;height:24px;margin:-2px -2px 0 0;border:1px solid transparent;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-neutral-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,color .16s ease}.nvb-toast__dismiss:hover{background:var(--nvb-color-neutral-100);color:var(--nvb-color-neutral-900)}.nvb-toast--info{--nvb-toast-icon-color: var(--nvb-color-primary-600)}.nvb-toast--success{--nvb-toast-icon-color: var(--nvb-color-success-700)}.nvb-toast--warning{--nvb-toast-icon-color: var(--nvb-color-warning-700)}.nvb-toast--error{--nvb-toast-icon-color: var(--nvb-color-risk-700)}@media(max-width:520px){.nvb-toast-shell{width:min(360px,100vw - 24px)}}\n"],dependencies:[{kind:"component",type:l,selector:"element-wrapper",inputs:["model","controlIdInput","labelForInput","groupRole","showTextWrapperInput"],exportAs:["elementWrapper"]},{kind:"directive",type:r,selector:"[ngClass]",inputs:["class","ngClass"]},{kind:"component",type:c,selector:"nvb-icon",inputs:["name","svg","ariaLabel"]},{kind:"pipe",type:d,name:"dynamicText"}],changeDetection:o.ChangeDetectionStrategy.OnPush})}o.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"22.1.4",ngImport:o,type:n,decorators:[{type:m,args:[{selector:"toast-element",changeDetection:u.OnPush,imports:[l,r,d,c],template:"<element-wrapper [model]=\"model()\">\n @if (visible()) {\n <section class=\"nvb-toast-shell\" [ngClass]=\"shellClass()\" [attr.data-testid]=\"tid('root')\">\n <article\n class=\"nvb-toast\"\n [ngClass]=\"variantClass()\"\n [class.nvb-toast--no-icon]=\"!model().showIcon\"\n [attr.role]=\"toastRole()\"\n [attr.aria-live]=\"toastAriaLive()\"\n (click)=\"onToastClick($event)\"\n (mouseenter)=\"pauseAutoHide()\"\n (mouseleave)=\"resumeAutoHide()\"\n (focusin)=\"pauseAutoHide()\"\n (focusout)=\"resumeAutoHide()\"\n >\n @if (model().showIcon) {\n <span class=\"nvb-toast__media\" aria-hidden=\"true\">\n <nvb-icon class=\"nvb-toast__icon\" [name]=\"iconName()\"></nvb-icon>\n </span>\n }\n\n <div class=\"nvb-toast__content\">\n <h4 class=\"nvb-toast__title\">{{ resolvedTitle() | dynamicText: model() }}</h4>\n\n @if (resolvedDescription()) {\n <p class=\"nvb-toast__description\">\n {{ resolvedDescription() | dynamicText: model() }}\n </p>\n }\n </div>\n\n @if (showActionButton()) {\n <button type=\"button\" class=\"nvb-toast__action\" (click)=\"onActionClick($event)\">\n {{ model().actionText | dynamicText: model() }}\n </button>\n }\n\n @if (model().dismissible) {\n <button\n type=\"button\"\n class=\"nvb-toast__dismiss\"\n (click)=\"onDismissClick($event)\"\n [attr.aria-label]=\"dismissLabel()\"\n >\n <nvb-icon name=\"close\"></nvb-icon>\n </button>\n }\n </article>\n </section>\n }\n</element-wrapper>\n",styles:[":host{display:block;width:100%;font-family:var(--nvb-font-family)}.nvb-toast-shell{position:fixed;z-index:2147483500;width:min(360px,100vw - 32px);pointer-events:none;display:grid;gap:16px}.nvb-toast-shell--editor{position:relative;inset:auto;width:min(360px,100%);max-width:100%;margin-top:8px}.nvb-toast-shell--top-left{top:16px;left:16px}.nvb-toast-shell--top-center{top:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--top-right{top:16px;right:16px}.nvb-toast-shell--bottom-left{bottom:16px;left:16px}.nvb-toast-shell--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--bottom-right{bottom:16px;right:16px}.nvb-toast{--nvb-toast-icon-color: var(--nvb-color-primary-600);pointer-events:auto;position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 24px;gap:4px 12px;align-items:start;min-height:52px;padding:12px;border:1px solid var(--nvb-color-neutral-200);border-radius:var(--nvb-toast-radius, 4px);background:var(--nvb-color-neutral-000);color:var(--nvb-color-neutral-800);box-shadow:0 8px 16px color-mix(in oklab,var(--nvb-color-neutral-950) 14%,transparent),0 0 2px color-mix(in oklab,var(--nvb-color-neutral-950) 12%,transparent);overflow:hidden}.nvb-toast__media{grid-column:1;grid-row:1/span 2;width:20px;height:20px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;color:var(--nvb-toast-icon-color);flex:0 0 auto}.nvb-toast__icon{font-size:20px;line-height:1}.nvb-toast__content{grid-column:2;min-width:0;display:grid;gap:2px}.nvb-toast--no-icon .nvb-toast__content,.nvb-toast--no-icon .nvb-toast__action{grid-column:1/3}.nvb-toast__title{margin:0;font-size:14px;font-weight:600;line-height:20px;letter-spacing:0;color:var(--nvb-color-neutral-900)}.nvb-toast__description{margin:0;font-size:13px;line-height:18px;color:var(--nvb-color-neutral-600);overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nvb-toast__action{grid-column:2;justify-self:start;min-height:22px;padding:0;border:0;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-primary-700);font:inherit;font-size:13px;line-height:20px;font-weight:600;cursor:pointer;white-space:nowrap}.nvb-toast__action:hover{color:var(--nvb-color-primary-800);text-decoration:underline;text-underline-offset:2px}.nvb-toast__action:focus-visible,.nvb-toast__dismiss:focus-visible{outline:0;box-shadow:var(--nvb-focus-ring)}.nvb-toast__dismiss{grid-column:3;grid-row:1;width:24px;height:24px;margin:-2px -2px 0 0;border:1px solid transparent;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-neutral-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,color .16s ease}.nvb-toast__dismiss:hover{background:var(--nvb-color-neutral-100);color:var(--nvb-color-neutral-900)}.nvb-toast--info{--nvb-toast-icon-color: var(--nvb-color-primary-600)}.nvb-toast--success{--nvb-toast-icon-color: var(--nvb-color-success-700)}.nvb-toast--warning{--nvb-toast-icon-color: var(--nvb-color-warning-700)}.nvb-toast--error{--nvb-toast-icon-color: var(--nvb-color-risk-700)}@media(max-width:520px){.nvb-toast-shell{width:min(360px,100vw - 24px)}}\n"]}]}],propDecorators:{model:[{type:o.Input,args:[{isSignal:true,alias:"model",required:true}]}]}});export{n as ToastElement};
1
+ import{NgClass as r}from"@angular/common";import*as o from"@angular/core";import{input as v,signal as p,inject as a,computed as e,ChangeDetectionStrategy as u,Component as m}from"@angular/core";import{c as b,E as h,U as g,S as x,a as l,N as c,D as d}from"./ngxviewbuilder-runtime-ngxviewbuilder-runtime-Dt06A5he.mjs";class n{model=v.required(...ngDevMode?[{debugName:"model"}]:[]);tid=b(this.model,"nvb-toast","toast");visible=p(true,...ngDevMode?[{debugName:"visible"}]:[]);elementActionService=a(h);uiTranslationService=a(g);hideTimeoutId=null;autoHideStartedAt=0;autoHideDelayMs=0;autoHideRemainingMs=0;isEditor=e(()=>x.isEditor(),...ngDevMode?[{debugName:"isEditor"}]:[]);shellClass=e(()=>{const t=this.resolvePosition();return{[`nvb-toast-shell--${t}`]:true,"nvb-toast-shell--editor":this.isEditor()}},...ngDevMode?[{debugName:"shellClass"}]:[]);variantClass=e(()=>`nvb-toast--${this.resolveVariant()}`,...ngDevMode?[{debugName:"variantClass"}]:[]);iconName=e(()=>{const t=String(this.model()?.icon??"").trim();if(t){return t}switch(this.resolveVariant()){case"success":return"check_circle";case"warning":return"warning";case"error":return"error";default:return"info"}},...ngDevMode?[{debugName:"iconName"}]:[]);showActionButton=e(()=>String(this.model()?.actionText??"").trim().length>0,...ngDevMode?[{debugName:"showActionButton"}]:[]);ngOnInit(){this.visible.set(Boolean(this.model()?.initiallyVisible??true));if(this.isEditor()){this.visible.set(true);return}this.scheduleAutoHide()}ngOnDestroy(){this.clearAutoHide()}onToastClick(t){t.stopPropagation();void this.runActions("click")}onActionClick(t){t.preventDefault();t.stopPropagation();void this.runActions("action")}onDismissClick(t){t.preventDefault();t.stopPropagation();this.visible.set(false);this.clearAutoHide();void this.runActions("dismiss")}pauseAutoHide(){if(this.isEditor()||this.hideTimeoutId===null){return}const t=Date.now()-this.autoHideStartedAt;this.autoHideRemainingMs=Math.max(1e3,this.autoHideDelayMs-t);this.clearAutoHide()}resumeAutoHide(){if(this.isEditor()||!this.visible()||!this.model().autoHide||this.hideTimeoutId!==null){return}this.scheduleAutoHide(this.autoHideRemainingMs||this.resolveAutoHideDelayMs())}resolvedTitle(){const t=String(this.model()?.title??"").trim();return t==="Notification"?this.uiTranslationService.translate("toast.titleDefault","Notification"):t}resolvedDescription(){const t=String(this.model()?.descriptionText??"").trim();return t==="Toast message"?this.uiTranslationService.translate("toast.descriptionDefault","Toast message"):t}dismissLabel(){return this.uiTranslationService.translate("common.dismiss","Dismiss")}toastAriaLive(){return this.resolveVariant()==="info"?"polite":"assertive"}toastRole(){return this.toastAriaLive()==="assertive"?"alert":"status"}scheduleAutoHide(t=this.resolveAutoHideDelayMs()){this.clearAutoHide();if(!this.visible()){return}if(!this.model().autoHide){return}this.autoHideDelayMs=t;this.autoHideRemainingMs=t;this.autoHideStartedAt=Date.now();this.hideTimeoutId=setTimeout(()=>{this.visible.set(false);this.hideTimeoutId=null;void this.runActions("autoHide")},t)}clearAutoHide(){if(this.hideTimeoutId===null){return}clearTimeout(this.hideTimeoutId);this.hideTimeoutId=null}resolveAutoHideDelayMs(){const t=Number(this.model()?.autoHideMs);if(Number.isFinite(t)&&t>=0){return Math.floor(t)}return 7e3}async runActions(t){const i={action:t,value:this.model().value,item:null,row:null};const s=String(this.model().name??"").trim();if(s){i[s]=this.model().value}await this.elementActionService.runActions(this.model(),this.model().events??[],"click",i)}resolveVariant(){const t=String(this.model()?.variant??"info").trim().toLowerCase();if(t==="error"||t==="danger"||t==="risk"){return"error"}if(t==="warning"||t==="warn"){return"warning"}if(t==="success"||t==="ok"){return"success"}if(t==="info"||t==="neutral"){return"info"}return"info"}resolvePosition(){const t=String(this.model()?.position??"top-right").trim().toLowerCase();if(t==="top-left"||t==="top-center"||t==="top-right"||t==="bottom-left"||t==="bottom-center"||t==="bottom-right"){return t}return"top-right"}static ɵfac=o.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.1.4",ngImport:o,type:n,deps:[],target:o.ɵɵFactoryTarget.Component});static ɵcmp=o.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.1.4",type:n,isStandalone:true,selector:"toast-element",inputs:{model:{classPropertyName:"model",publicName:"model",isSignal:true,isRequired:true,transformFunction:null}},ngImport:o,template:"<element-wrapper [model]=\"model()\">\n @if (visible()) {\n <section class=\"nvb-toast-shell\" [ngClass]=\"shellClass()\" [attr.data-testid]=\"tid('root')\">\n <article\n class=\"nvb-toast\"\n [ngClass]=\"variantClass()\"\n [class.nvb-toast--no-icon]=\"!model().showIcon\"\n [attr.role]=\"toastRole()\"\n [attr.aria-live]=\"toastAriaLive()\"\n (click)=\"onToastClick($event)\"\n (mouseenter)=\"pauseAutoHide()\"\n (mouseleave)=\"resumeAutoHide()\"\n (focusin)=\"pauseAutoHide()\"\n (focusout)=\"resumeAutoHide()\"\n >\n @if (model().showIcon) {\n <span class=\"nvb-toast__media\" aria-hidden=\"true\">\n <nvb-icon class=\"nvb-toast__icon\" [name]=\"iconName()\"></nvb-icon>\n </span>\n }\n\n <div class=\"nvb-toast__content\">\n <h4 class=\"nvb-toast__title\">{{ resolvedTitle() | dynamicText: model() }}</h4>\n\n @if (resolvedDescription()) {\n <p class=\"nvb-toast__description\">\n {{ resolvedDescription() | dynamicText: model() }}\n </p>\n }\n </div>\n\n @if (showActionButton()) {\n <button type=\"button\" class=\"nvb-toast__action\" (click)=\"onActionClick($event)\">\n {{ model().actionText | dynamicText: model() }}\n </button>\n }\n\n @if (model().dismissible) {\n <button\n type=\"button\"\n class=\"nvb-toast__dismiss\"\n (click)=\"onDismissClick($event)\"\n [attr.aria-label]=\"dismissLabel()\"\n >\n <nvb-icon name=\"close\"></nvb-icon>\n </button>\n }\n </article>\n </section>\n }\n</element-wrapper>\n",styles:[":host{display:block;width:100%;font-family:var(--nvb-font-family)}.nvb-toast-shell{position:fixed;z-index:2147483500;width:min(360px,100vw - 32px);pointer-events:none;display:grid;gap:16px}.nvb-toast-shell--editor{position:relative;inset:auto;width:min(360px,100%);max-width:100%;margin-top:8px}.nvb-toast-shell--top-left{top:16px;left:16px}.nvb-toast-shell--top-center{top:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--top-right{top:16px;right:16px}.nvb-toast-shell--bottom-left{bottom:16px;left:16px}.nvb-toast-shell--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--bottom-right{bottom:16px;right:16px}.nvb-toast{--nvb-toast-icon-color: var(--nvb-color-primary-600);pointer-events:auto;position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 24px;gap:4px 12px;align-items:start;min-height:52px;padding:12px;border:1px solid var(--nvb-color-neutral-200);border-radius:var(--nvb-toast-radius, 4px);background:var(--nvb-color-neutral-000);color:var(--nvb-color-neutral-800);box-shadow:0 8px 16px color-mix(in oklab,var(--nvb-color-neutral-950) 14%,transparent),0 0 2px color-mix(in oklab,var(--nvb-color-neutral-950) 12%,transparent);overflow:hidden}.nvb-toast__media{grid-column:1;grid-row:1/span 2;width:20px;height:20px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;color:var(--nvb-toast-icon-color);flex:0 0 auto}.nvb-toast__icon{font-size:20px;line-height:1}.nvb-toast__content{grid-column:2;min-width:0;display:grid;gap:2px}.nvb-toast--no-icon .nvb-toast__content,.nvb-toast--no-icon .nvb-toast__action{grid-column:1/3}.nvb-toast__title{margin:0;font-size:14px;font-weight:600;line-height:20px;letter-spacing:0;color:var(--nvb-color-neutral-900)}.nvb-toast__description{margin:0;font-size:13px;line-height:18px;color:var(--nvb-color-neutral-600);overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nvb-toast__action{grid-column:2;justify-self:start;min-height:22px;padding:0;border:0;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-primary-700);font:inherit;font-size:13px;line-height:20px;font-weight:600;cursor:pointer;white-space:nowrap}.nvb-toast__action:hover{color:var(--nvb-color-primary-800);text-decoration:underline;text-underline-offset:2px}.nvb-toast__action:focus-visible,.nvb-toast__dismiss:focus-visible{outline:0;box-shadow:var(--nvb-focus-ring)}.nvb-toast__dismiss{grid-column:3;grid-row:1;width:24px;height:24px;margin:-2px -2px 0 0;border:1px solid transparent;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-neutral-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,color .16s ease}.nvb-toast__dismiss:hover{background:var(--nvb-color-neutral-100);color:var(--nvb-color-neutral-900)}.nvb-toast--info{--nvb-toast-icon-color: var(--nvb-color-primary-600)}.nvb-toast--success{--nvb-toast-icon-color: var(--nvb-color-success-700)}.nvb-toast--warning{--nvb-toast-icon-color: var(--nvb-color-warning-700)}.nvb-toast--error{--nvb-toast-icon-color: var(--nvb-color-risk-700)}@media(max-width:520px){.nvb-toast-shell{width:min(360px,100vw - 24px)}}\n"],dependencies:[{kind:"component",type:l,selector:"element-wrapper",inputs:["model","controlIdInput","labelForInput","groupRole","showTextWrapperInput"],exportAs:["elementWrapper"]},{kind:"directive",type:r,selector:"[ngClass]",inputs:["class","ngClass"]},{kind:"component",type:c,selector:"nvb-icon",inputs:["name","svg","ariaLabel"]},{kind:"pipe",type:d,name:"dynamicText"}],changeDetection:o.ChangeDetectionStrategy.OnPush})}o.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"22.1.4",ngImport:o,type:n,decorators:[{type:m,args:[{selector:"toast-element",changeDetection:u.OnPush,imports:[l,r,d,c],template:"<element-wrapper [model]=\"model()\">\n @if (visible()) {\n <section class=\"nvb-toast-shell\" [ngClass]=\"shellClass()\" [attr.data-testid]=\"tid('root')\">\n <article\n class=\"nvb-toast\"\n [ngClass]=\"variantClass()\"\n [class.nvb-toast--no-icon]=\"!model().showIcon\"\n [attr.role]=\"toastRole()\"\n [attr.aria-live]=\"toastAriaLive()\"\n (click)=\"onToastClick($event)\"\n (mouseenter)=\"pauseAutoHide()\"\n (mouseleave)=\"resumeAutoHide()\"\n (focusin)=\"pauseAutoHide()\"\n (focusout)=\"resumeAutoHide()\"\n >\n @if (model().showIcon) {\n <span class=\"nvb-toast__media\" aria-hidden=\"true\">\n <nvb-icon class=\"nvb-toast__icon\" [name]=\"iconName()\"></nvb-icon>\n </span>\n }\n\n <div class=\"nvb-toast__content\">\n <h4 class=\"nvb-toast__title\">{{ resolvedTitle() | dynamicText: model() }}</h4>\n\n @if (resolvedDescription()) {\n <p class=\"nvb-toast__description\">\n {{ resolvedDescription() | dynamicText: model() }}\n </p>\n }\n </div>\n\n @if (showActionButton()) {\n <button type=\"button\" class=\"nvb-toast__action\" (click)=\"onActionClick($event)\">\n {{ model().actionText | dynamicText: model() }}\n </button>\n }\n\n @if (model().dismissible) {\n <button\n type=\"button\"\n class=\"nvb-toast__dismiss\"\n (click)=\"onDismissClick($event)\"\n [attr.aria-label]=\"dismissLabel()\"\n >\n <nvb-icon name=\"close\"></nvb-icon>\n </button>\n }\n </article>\n </section>\n }\n</element-wrapper>\n",styles:[":host{display:block;width:100%;font-family:var(--nvb-font-family)}.nvb-toast-shell{position:fixed;z-index:2147483500;width:min(360px,100vw - 32px);pointer-events:none;display:grid;gap:16px}.nvb-toast-shell--editor{position:relative;inset:auto;width:min(360px,100%);max-width:100%;margin-top:8px}.nvb-toast-shell--top-left{top:16px;left:16px}.nvb-toast-shell--top-center{top:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--top-right{top:16px;right:16px}.nvb-toast-shell--bottom-left{bottom:16px;left:16px}.nvb-toast-shell--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--bottom-right{bottom:16px;right:16px}.nvb-toast{--nvb-toast-icon-color: var(--nvb-color-primary-600);pointer-events:auto;position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 24px;gap:4px 12px;align-items:start;min-height:52px;padding:12px;border:1px solid var(--nvb-color-neutral-200);border-radius:var(--nvb-toast-radius, 4px);background:var(--nvb-color-neutral-000);color:var(--nvb-color-neutral-800);box-shadow:0 8px 16px color-mix(in oklab,var(--nvb-color-neutral-950) 14%,transparent),0 0 2px color-mix(in oklab,var(--nvb-color-neutral-950) 12%,transparent);overflow:hidden}.nvb-toast__media{grid-column:1;grid-row:1/span 2;width:20px;height:20px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;color:var(--nvb-toast-icon-color);flex:0 0 auto}.nvb-toast__icon{font-size:20px;line-height:1}.nvb-toast__content{grid-column:2;min-width:0;display:grid;gap:2px}.nvb-toast--no-icon .nvb-toast__content,.nvb-toast--no-icon .nvb-toast__action{grid-column:1/3}.nvb-toast__title{margin:0;font-size:14px;font-weight:600;line-height:20px;letter-spacing:0;color:var(--nvb-color-neutral-900)}.nvb-toast__description{margin:0;font-size:13px;line-height:18px;color:var(--nvb-color-neutral-600);overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nvb-toast__action{grid-column:2;justify-self:start;min-height:22px;padding:0;border:0;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-primary-700);font:inherit;font-size:13px;line-height:20px;font-weight:600;cursor:pointer;white-space:nowrap}.nvb-toast__action:hover{color:var(--nvb-color-primary-800);text-decoration:underline;text-underline-offset:2px}.nvb-toast__action:focus-visible,.nvb-toast__dismiss:focus-visible{outline:0;box-shadow:var(--nvb-focus-ring)}.nvb-toast__dismiss{grid-column:3;grid-row:1;width:24px;height:24px;margin:-2px -2px 0 0;border:1px solid transparent;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-neutral-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,color .16s ease}.nvb-toast__dismiss:hover{background:var(--nvb-color-neutral-100);color:var(--nvb-color-neutral-900)}.nvb-toast--info{--nvb-toast-icon-color: var(--nvb-color-primary-600)}.nvb-toast--success{--nvb-toast-icon-color: var(--nvb-color-success-700)}.nvb-toast--warning{--nvb-toast-icon-color: var(--nvb-color-warning-700)}.nvb-toast--error{--nvb-toast-icon-color: var(--nvb-color-risk-700)}@media(max-width:520px){.nvb-toast-shell{width:min(360px,100vw - 24px)}}\n"]}]}],propDecorators:{model:[{type:o.Input,args:[{isSignal:true,alias:"model",required:true}]}]}});export{n as ToastElement};
@@ -1 +1 @@
1
- import{A as s,b as i,d as t,e as o,f as l,g as r,h as n,i as E,B as d,j as _,k as S,l as c,m as u,n as T,o as A,p as m,q as I,C as N,r as C,s as L,t as M,u as R,v as b,w as g,x as B,y as p,z as O,F as P,G as v,H as V,I as D,J as x,K as w,L as U,O as y,P as G,Q as H,R as F,T as X,V as W,W as h,X as Y,Y as K,Z as k,_ as z,$ as f,a0 as Z,a1 as j,a2 as J,a3 as q,a4 as Q,a5 as $,a6 as ee,a7 as ae,a8 as se,a9 as ie,aa as te,D as oe,ab as le,ac as re,ad as ne,ae as Ee,af as de,ag as _e,ah as Se,ai as ce,E as ue,aj as Te,ak as Ae,al as me,am as Ie,an as Ne,ao as Ce,ap as Le,aq as Me,ar as Re,as as be,at as ge,au as Be,av as pe,aw as Oe,ax as Pe,ay as ve,az as Ve,aA as De,aB as xe,aC as we,aD as Ue,aE as ye,aF as Ge,aG as He,aH as Fe,aI as Xe,aJ as We,aK as he,aL as Ye,aM as Ke,aN as ke,aO as ze,aP as fe,aQ as Ze,aR as je,aS as Je,aT as qe,aU as Qe,aV as $e,aW as ea,aX as aa,aY as sa,aZ as ia,a_ as ta,a$ as oa,b0 as la,b1 as ra,b2 as na,M as Ea,b3 as da,b4 as _a,b5 as Sa,b6 as ca,b7 as ua,b8 as Ta,b9 as Aa,ba as ma,bb as Ia,bc as Na,bd as Ca,be as La,bf as Ma,bg as Ra,bh as ba,bi as ga,bj as Ba,bk as pa,bl as Oa,bm as Pa,bn as va,bo as Va,bp as Da,bq as xa,br as wa,bs as Ua,bt as ya,bu as Ga,bv as Ha,bw as Fa,bx as Xa,by as Wa,bz as ha,bA as Ya,bB as Ka,bC as ka,bD as za,bE as fa,bF as Za,bG as ja,bH as Ja,bI as qa,bJ as Qa,bK as $a,bL as es,bM as as,bN as ss,bO as is,bP as ts,bQ as os,bR as ls,bS as rs,bT as ns,N as Es,bU as ds,bV as _s,bW as Ss,bX as cs,bY as us,bZ as Ts,b_ as As,b$ as ms,c0 as Is,c1 as Ns,c2 as Cs,c3 as Ls,c4 as Ms,c5 as Rs,c6 as bs,c7 as gs,c8 as Bs,c9 as ps,ca as Os,cb as Ps,cc as vs,cd as Vs,ce as Ds,cf as xs,cg as ws,ch as Us,ci as ys,cj as Gs,ck as Hs,cl as Fs,cm as Xs,cn as Ws,co as hs,cp as Ys,cq as Ks,cr as ks,cs as zs,ct as fs,cu as Zs,cv as js,cw as Js,cx as qs,cy as Qs,cz as $s,cA as ei,S as ai,cB as si,cC as ii,cD as ti,cE as oi,cF as li,cG as ri,cH as ni,cI as Ei,cJ as di,cK as _i,cL as Si,cM as ci,cN as ui,cO as Ti,cP as Ai,cQ as mi,cR as Ii,cS as Ni,cT as Ci,cU as Li,cV as Mi,cW as Ri,cX as bi,cY as gi,cZ as Bi,c_ as pi,c$ as Oi,d0 as Pi,d1 as vi,d2 as Vi,d3 as Di,d4 as xi,d5 as wi,d6 as Ui,d7 as yi,d8 as Gi,d9 as Hi,da as Fi,db as Xi,U as Wi,dc as hi,dd as Yi,de as Ki,df as ki,dg as zi,dh as fi,di as Zi,dj as ji,dk as Ji,dl as qi,dm as Qi,dn as $i,dp as et,dq as at,dr as st,ds as it,dt as tt,du as ot,dv as lt,dw as rt,dx as nt,dy as Et,dz as dt,dA as _t,dB as St,dC as ct,dD as ut,dE as Tt,dF as At,dG as mt,dH as It,dI as Nt,dJ as Ct,dK as Lt,dL as Mt,dM as Rt,dN as bt,dO as gt,dP as Bt,dQ as pt,dR as Ot,dS as Pt,dT as vt,dU as Vt,dV as Dt,dW as xt,dX as wt,dY as Ut,dZ as yt,d_ as Gt,d$ as Ht,e0 as Ft,e1 as Xt,e2 as Wt,e3 as ht,e4 as Yt,e5 as Kt,e6 as kt,e7 as zt,e8 as ft,e9 as Zt,ea as jt,eb as Jt,ec as qt,ed as Qt,ee as $t,ef as eo,eg as ao,eh as so,ei as io,ej as to,ek as oo}from"./ngxviewbuilder-runtime-ngxviewbuilder-runtime-B7TlmNyp.mjs";export{s as ALIGN_CLASS_MAP,i as ALIGN_CLASS_PREFIX,t as APPLICATION_LOCALE_VALUE,o as AccordionElement,l as AccordionModel,r as ApplicationLocaleService,n as AutocompleteModel,E as AvatarModel,d as BLOCK_TAGS,_ as BUILT_IN_STRUCTURE_MIGRATIONS,S as BUILT_IN_TABLE_CELL_ELEMENT_TYPES,c as BadgeModel,u as BreadcrumbsModel,T as BuilderModel,A as BuilderPageDisplayModeEnum,m as BuilderTabRegistryService,I as ButtonModel,N as COLOR_CLASS_PREFIX,C as CURRENT_SCHEMA_VERSION,L as ChartModel,M as CheckboxInputModel,R as ChoiceModel,b as ColumnFragmentModeEnum,g as ColumnModel,B as ComponentRegistryService,p as ConfirmDialog,O as CreatorStructureService,P as CustomHtmlModel,v as DATA_JSON_CAPABLE_ELEMENT_TYPES,V as DEFAULT_FONT,D as DEFAULT_FONT_CLASS,x as DEFAULT_HIGHLIGHT_COLOR,w as DEFAULT_LINE_HEIGHT_VALUE,U as DEFAULT_MOBILE_BREAKPOINT,y as DEFAULT_SIZE_CLASS,G as DEFAULT_SIZE_VALUE,H as DEFAULT_TABLET_BREAKPOINT,F as DEFAULT_TABLE_COLUMNS,X as DEFAULT_TABLE_ROWS,W as DEFAULT_TEXT_COLOR,h as DataService,Y as DataSourceModel,K as DataSourceService,k as DatePickerModel,z as DateRangeModel,f as DialogDragController,Z as DialogElement,j as DialogModel,J as DividerModel,q as DomInstrumentationService,Q as DragAndDropService,$ as DragAutoScrollService,ee as DynamicPanel,ae as DynamicPanelModel,se as DynamicTableColumnModel,ie as DynamicTableModel,te as DynamicTableRowColumnModel,oe as DynamicTextPipe,le as ELEMENT_ROW_CONTEXT_KEY,re as ELEMENT_ROW_SCOPE_PATH_KEY,ne as EN_UI_DICTIONARY,Ee as EXCLUDE_FROM_DATA_JSON_KEY,de as ElementActionButtonToneEnum,_e as ElementActionButtonVariantEnum,Se as ElementActionDialogOperationEnum,ce as ElementActionResponseModeEnum,ue as ElementActionService,Te as ElementActionSetValueModeEnum,Ae as ElementActionToastPositionEnum,me as ElementActionToastVariantEnum,Ie as ElementActionTriggerEnum,Ne as ElementActionTypeEnum,Ce as ElementBaseModel,Le as ElementContentBox,Me as ElementContentRow,Re as ElementDataSourceUseForEnum,be as ElementDefaultsService,ge as ElementExecutionModeEnum,Be as ElementFocusService,pe as ElementTypesEnum,Oe as ElementsService,Pe as EmptyBlockElement,ve as EmptyBlockModel,Ve as EventService,De as ExpressionService,xe as FONT_CLASS_MAP,we as FONT_CLASS_PREFIX,Ue as FeaturePackRegistryService,ye as FileUploadModel,Ge as ForgeInitializerService,He as HIGHLIGHT_CLASS_PREFIX,Fe as HIGHLIGHT_SWATCHES,Xe as HISTORY_COALESCE_MS,We as HeaderModel,he as HeaderTabEnum,Ye as INDENT_CLASS_PREFIX,Ke as INLINE_TAGS,ke as IconModel,ze as IconSvgService,fe as IframeModel,Ze as ImageModel,je as LEGACY_LINE_HEIGHT_CLASS_MAP,Je as LEGACY_SCHEMA_VERSION,qe as LEGACY_SIZE_CLASS_MAP,Qe as LINE_HEIGHT_CLASS_MAP,$e as LINE_HEIGHT_CLASS_PREFIX,ea as LINE_HEIGHT_OPTION_VALUES,aa as LOCALE_CHOICES,sa as ListBoxModel,ia as ListGridModel,ta as LocalizationService,oa as MANAGED_STRUCTURE_SETTING_KEYS,la as MARK_TAG_MAP,ra as MAX_HISTORY_ENTRIES,na as MAX_INDENT_LEVEL,Ea as MarkupSecurityService,da as MessageCardModel,_a as ModelService,Sa as MultiSelectInputModel,ca as NGX_VIEW_BUILDER_AI_ACTION_TYPES,ua as NGX_VIEW_BUILDER_AI_API_VERSION,Ta as NGX_VIEW_BUILDER_AI_AUTOMATION_ACTION_TYPES,Aa as NGX_VIEW_BUILDER_AI_ROW_CONTAINERS,ma as NGX_VIEW_BUILDER_AI_TAB_CONTAINERS,Ia as NGX_VIEW_BUILDER_AI_TEMPLATES_CAPABILITY,Na as NGX_VIEW_BUILDER_AI_VALIDATOR_TYPES,Ca as NGX_VIEW_BUILDER_ANY_ELEMENT_TYPE,La as NGX_VIEW_BUILDER_BRIDGE_PROTOCOL_VERSION,Ma as NGX_VIEW_BUILDER_HOSTED_MCP_URL,Ra as NGX_VIEW_BUILDER_MCP_KEY_TTL_MS,ba as NGX_VIEW_BUILDER_PROJECT_LAYER,ga as NGX_VIEW_BUILDER_UI_TRANSLATIONS,Ba as NVB_TEXT_CONTEXT_KEY,pa as NgxViewBuilder,Oa as NgxViewBuilderActionExecutorService,Pa as NgxViewBuilderAiApiService,va as NgxViewBuilderAlignEnum,Va as NgxViewBuilderApiService,Da as NgxViewBuilderAutomationActionTypeEnum,xa as NgxViewBuilderAutomationService,wa as NgxViewBuilderBuilderTabRenderModeEnum,Ua as NgxViewBuilderChromePositionEnum,ya as NgxViewBuilderDataSourceTypeEnum,Ga as NgxViewBuilderDialogCloseReasonEnum,Ha as NgxViewBuilderExecutionReasonEnum,Fa as NgxViewBuilderHeadlessService,Xa as NgxViewBuilderInteractionStatusEnum,Wa as NgxViewBuilderMcpBridgeService,ha as NgxViewBuilderPageNavigationModeEnum,Ya as NgxViewBuilderPreviewModeEnum,Ka as NgxViewBuilderProcessService,ka as NgxViewBuilderRenderModeEnum,za as NgxViewBuilderRenderPhaseEnum,fa as NgxViewBuilderRenderer,Za as NgxViewBuilderRuleExecutedBranchEnum,ja as NgxViewBuilderRuleRunModeEnum,Ja as NgxViewBuilderRulesEngineService,qa as NgxViewBuilderRuntime,Qa as NgxViewBuilderSaveRequestedSourceEnum,$a as NgxViewBuilderTableSettingsSourceEnum,es as NgxViewBuilderThemeModeEnum,as as NgxViewBuilderTriggerEngineService,ss as NgxViewBuilderTriggerEventEnum,is as NgxViewBuilderValidator,ts as NgxViewBuilderWebsocketMessageModeEnum,os as NumberInputModel,ls as NumberStepperModel,rs as NvbElement,ns as NvbElementContextService,Es as NvbIcon,ds as NvbRichTextEditor,_s as NvbRows,Ss as NvbScope,cs as NvbSelect,us as NvbStyleOutlet,Ts as NvbTab,As as ObjectPanelModel,ms as PHONE_COUNTRY_OPTIONS,Is as PHONE_COUNTRY_PROPERTY_CHOICES,Ns as PageElement,Cs as PageTitleModel,Ls as PanelElement,Ms as PanelModel,Rs as PhoneInputModel,bs as PreviewRendererService,gs as ProgressBarModel,Bs as ProgressFlowElement,ps as ProgressFlowModel,Os as PropertyModel,Ps as RICH_TEXT_DEFAULT_TOOLBAR_TOOLS,vs as RICH_TEXT_TOOLBAR_ICONS,Vs as RICH_TEXT_TOOLBAR_TOOLS,Ds as ROOT_BLOCK_TAGS,xs as RadioInputModel,ws as RendererService,Us as RichTextModel,ys as RouterOutletModel,Gs as RowModel,Hs as RuntimeDynamicPanel,Fs as RuntimeVariableSourceTypeEnum,Xs as RuntimeVariablesService,Ws as SINGLE_OBJECT_CONTAINER_TYPES,hs as SIZE_CLASS_MAP,Ys as SIZE_CLASS_PREFIX,Ks as SIZE_OPTION_VALUES,ks as SPECIAL_CHARACTERS,zs as SelectButtonModel,fs as SelectInputModel,Zs as SettingsModel,js as SignaturePadModel,Js as SingleCheckboxModel,qs as SliderModel,Qs as SpacerModel,$s as SplitterElement,ei as SplitterModel,ai as StateService,si as StatsCardModel,ii as StructureMigrationService,ti as StructureModel,oi as StructureService,li as TABLE_BORDER_CLASS_PREFIX,ri as TABLE_CELL_BACKGROUND_SWATCHES,ni as TABLE_CELL_VALIGN_CLASS_MAP,Ei as TABLE_CELL_VALIGN_CLASS_PREFIX,di as TABLE_CLASS,_i as TABLE_PICKER_COLUMNS,Si as TABLE_PICKER_ROWS,ci as TASK_ITEM_CHECKED_CLASS,ui as TASK_ITEM_CLASS,Ti as TASK_ITEM_MARKER_WIDTH,Ai as TASK_LIST_CLASS,mi as TEMPLATE_CONTAINER_TYPES,Ii as TableCellElementRegistryService,Ni as TableColumnAlignEnum,Ci as TableColumnCellActionsDisplayModeEnum,Li as TableColumnTypeEnum,Mi as TableFilterControlTypeEnum,Ri as TableFilterOptionsSourceTypeEnum,bi as TableInlineEditStartModeEnum,gi as TableInlineEditorTypeEnum,Bi as TableModel,pi as TableRowActionsDropdownButtonStyleEnum,Oi as TableStatusToneEnum,Pi as TabsElement,vi as TabsModel,Vi as TabsProModel,Di as TemplateEngineService,xi as TemplateStorageModeEnum,wi as TextAreaModel,Ui as TextInputModel,yi as TimePickerModel,Gi as ToastModel,Hi as ToggleSwitchModel,Fi as TooltipComponent,Xi as UiTranslatePipe,Wi as UiTranslationService,hi as ValidatorService,Yi as ValueChangeTriggerEnum,Ki as VideoModel,ki as applyDynamicPanelRowNumberingContext,zi as applyElementRowContext,fi as applyRuntimeNumberingContext,Zi as applyStructureMigrations,ji as applyViewportBreakpoints,Ji as bridgeNgxViewBuilderApiEvents,qi as buildElementRowRuntimeContext,Qi as buildFocusKey,$i as buildResponsiveColumnStyle,et as clearStructureMigrationNotice,at as cloneRecord,st as cloneValue,it as composeCssSize,tt as configureStructureMigrations,ot as createUuid,lt as describeDragEvent,rt as describeElementModel,nt as describeEventTarget,Et as describeMouseEvent,dt as elements,_t as emptyTemplateContainerValue,St as getMobileBreakpoint,ct as getRuntimeTextContext,ut as getStructureMigrationConfig,Tt as getTabletBreakpoint,At as getViewportContentWidth,mt as isDataJsonCapableElementType,It as isDragDebugEnabled,Nt as isMobileViewport,Ct as isMobileWidth,Lt as isPlainRecord,Mt as isRelativeResponsiveWidth,Rt as isSingleObjectContainerType,bt as isTabletViewport,gt as isTabletWidth,Bt as isTemplateContainerType,pt as lastStructureMigration,Ot as logDragDebug,Pt as logDragDebugThrottled,vt as migrateStructure,Vt as normalizeBreakpoint,Dt as normalizeCssSizeUnit,xt as normalizeResponsiveCssSize,wt as normalizeStringList,Ut as provideNgxViewBuilderExtensions,yt as provideNgxViewBuilderMigrations,Gt as provideNgxViewBuilderProjectLayer,Ht as provideNgxViewBuilderProjectLayers,Ft as provideNgxViewBuilderRuntime,Xt as provideNgxViewBuilderUiTranslations,Wt as pruneStructureSettings,ht as readSchemaVersion,Yt as recordStructureMigration,Kt as resetStructureMigrationConfig,kt as resolveAllowedPhoneCountries,zt as resolveCssSizeSetting,ft as resolveElementRowContext,Zt as resolveElementRowScope,jt as resolveElementRowScopedPath,Jt as resolveFixedViewport,qt as resolvePhoneCountry,Qt as resolveResponsiveDisplayWidth,$t as resolveResponsiveWidth,eo as resolveRuntimeTextContextValue,ao as resolveStructureSettings,so as rowIndexOfCellPath,io as setElementRowContext,to as setViewportContentWidth,oo as templateRowPath};
1
+ import{A as s,b as i,d as t,e as o,f as l,g as r,h as n,i as E,B as d,j as _,k as S,l as c,m as u,n as T,o as A,p as m,q as I,C as N,r as C,s as L,t as M,u as R,v as b,w as g,x as B,y as p,z as O,F as P,G as v,H as V,I as D,J as x,K as w,L as U,O as y,P as G,Q as H,R as F,T as X,V as W,W as h,X as Y,Y as K,Z as k,_ as z,$ as f,a0 as Z,a1 as j,a2 as J,a3 as q,a4 as Q,a5 as $,a6 as ee,a7 as ae,a8 as se,a9 as ie,aa as te,D as oe,ab as le,ac as re,ad as ne,ae as Ee,af as de,ag as _e,ah as Se,ai as ce,E as ue,aj as Te,ak as Ae,al as me,am as Ie,an as Ne,ao as Ce,ap as Le,aq as Me,ar as Re,as as be,at as ge,au as Be,av as pe,aw as Oe,ax as Pe,ay as ve,az as Ve,aA as De,aB as xe,aC as we,aD as Ue,aE as ye,aF as Ge,aG as He,aH as Fe,aI as Xe,aJ as We,aK as he,aL as Ye,aM as Ke,aN as ke,aO as ze,aP as fe,aQ as Ze,aR as je,aS as Je,aT as qe,aU as Qe,aV as $e,aW as ea,aX as aa,aY as sa,aZ as ia,a_ as ta,a$ as oa,b0 as la,b1 as ra,b2 as na,M as Ea,b3 as da,b4 as _a,b5 as Sa,b6 as ca,b7 as ua,b8 as Ta,b9 as Aa,ba as ma,bb as Ia,bc as Na,bd as Ca,be as La,bf as Ma,bg as Ra,bh as ba,bi as ga,bj as Ba,bk as pa,bl as Oa,bm as Pa,bn as va,bo as Va,bp as Da,bq as xa,br as wa,bs as Ua,bt as ya,bu as Ga,bv as Ha,bw as Fa,bx as Xa,by as Wa,bz as ha,bA as Ya,bB as Ka,bC as ka,bD as za,bE as fa,bF as Za,bG as ja,bH as Ja,bI as qa,bJ as Qa,bK as $a,bL as es,bM as as,bN as ss,bO as is,bP as ts,bQ as os,bR as ls,bS as rs,bT as ns,N as Es,bU as ds,bV as _s,bW as Ss,bX as cs,bY as us,bZ as Ts,b_ as As,b$ as ms,c0 as Is,c1 as Ns,c2 as Cs,c3 as Ls,c4 as Ms,c5 as Rs,c6 as bs,c7 as gs,c8 as Bs,c9 as ps,ca as Os,cb as Ps,cc as vs,cd as Vs,ce as Ds,cf as xs,cg as ws,ch as Us,ci as ys,cj as Gs,ck as Hs,cl as Fs,cm as Xs,cn as Ws,co as hs,cp as Ys,cq as Ks,cr as ks,cs as zs,ct as fs,cu as Zs,cv as js,cw as Js,cx as qs,cy as Qs,cz as $s,cA as ei,S as ai,cB as si,cC as ii,cD as ti,cE as oi,cF as li,cG as ri,cH as ni,cI as Ei,cJ as di,cK as _i,cL as Si,cM as ci,cN as ui,cO as Ti,cP as Ai,cQ as mi,cR as Ii,cS as Ni,cT as Ci,cU as Li,cV as Mi,cW as Ri,cX as bi,cY as gi,cZ as Bi,c_ as pi,c$ as Oi,d0 as Pi,d1 as vi,d2 as Vi,d3 as Di,d4 as xi,d5 as wi,d6 as Ui,d7 as yi,d8 as Gi,d9 as Hi,da as Fi,db as Xi,U as Wi,dc as hi,dd as Yi,de as Ki,df as ki,dg as zi,dh as fi,di as Zi,dj as ji,dk as Ji,dl as qi,dm as Qi,dn as $i,dp as et,dq as at,dr as st,ds as it,dt as tt,du as ot,dv as lt,dw as rt,dx as nt,dy as Et,dz as dt,dA as _t,dB as St,dC as ct,dD as ut,dE as Tt,dF as At,dG as mt,dH as It,dI as Nt,dJ as Ct,dK as Lt,dL as Mt,dM as Rt,dN as bt,dO as gt,dP as Bt,dQ as pt,dR as Ot,dS as Pt,dT as vt,dU as Vt,dV as Dt,dW as xt,dX as wt,dY as Ut,dZ as yt,d_ as Gt,d$ as Ht,e0 as Ft,e1 as Xt,e2 as Wt,e3 as ht,e4 as Yt,e5 as Kt,e6 as kt,e7 as zt,e8 as ft,e9 as Zt,ea as jt,eb as Jt,ec as qt,ed as Qt,ee as $t,ef as eo,eg as ao,eh as so,ei as io,ej as to,ek as oo}from"./ngxviewbuilder-runtime-ngxviewbuilder-runtime-Dt06A5he.mjs";export{s as ALIGN_CLASS_MAP,i as ALIGN_CLASS_PREFIX,t as APPLICATION_LOCALE_VALUE,o as AccordionElement,l as AccordionModel,r as ApplicationLocaleService,n as AutocompleteModel,E as AvatarModel,d as BLOCK_TAGS,_ as BUILT_IN_STRUCTURE_MIGRATIONS,S as BUILT_IN_TABLE_CELL_ELEMENT_TYPES,c as BadgeModel,u as BreadcrumbsModel,T as BuilderModel,A as BuilderPageDisplayModeEnum,m as BuilderTabRegistryService,I as ButtonModel,N as COLOR_CLASS_PREFIX,C as CURRENT_SCHEMA_VERSION,L as ChartModel,M as CheckboxInputModel,R as ChoiceModel,b as ColumnFragmentModeEnum,g as ColumnModel,B as ComponentRegistryService,p as ConfirmDialog,O as CreatorStructureService,P as CustomHtmlModel,v as DATA_JSON_CAPABLE_ELEMENT_TYPES,V as DEFAULT_FONT,D as DEFAULT_FONT_CLASS,x as DEFAULT_HIGHLIGHT_COLOR,w as DEFAULT_LINE_HEIGHT_VALUE,U as DEFAULT_MOBILE_BREAKPOINT,y as DEFAULT_SIZE_CLASS,G as DEFAULT_SIZE_VALUE,H as DEFAULT_TABLET_BREAKPOINT,F as DEFAULT_TABLE_COLUMNS,X as DEFAULT_TABLE_ROWS,W as DEFAULT_TEXT_COLOR,h as DataService,Y as DataSourceModel,K as DataSourceService,k as DatePickerModel,z as DateRangeModel,f as DialogDragController,Z as DialogElement,j as DialogModel,J as DividerModel,q as DomInstrumentationService,Q as DragAndDropService,$ as DragAutoScrollService,ee as DynamicPanel,ae as DynamicPanelModel,se as DynamicTableColumnModel,ie as DynamicTableModel,te as DynamicTableRowColumnModel,oe as DynamicTextPipe,le as ELEMENT_ROW_CONTEXT_KEY,re as ELEMENT_ROW_SCOPE_PATH_KEY,ne as EN_UI_DICTIONARY,Ee as EXCLUDE_FROM_DATA_JSON_KEY,de as ElementActionButtonToneEnum,_e as ElementActionButtonVariantEnum,Se as ElementActionDialogOperationEnum,ce as ElementActionResponseModeEnum,ue as ElementActionService,Te as ElementActionSetValueModeEnum,Ae as ElementActionToastPositionEnum,me as ElementActionToastVariantEnum,Ie as ElementActionTriggerEnum,Ne as ElementActionTypeEnum,Ce as ElementBaseModel,Le as ElementContentBox,Me as ElementContentRow,Re as ElementDataSourceUseForEnum,be as ElementDefaultsService,ge as ElementExecutionModeEnum,Be as ElementFocusService,pe as ElementTypesEnum,Oe as ElementsService,Pe as EmptyBlockElement,ve as EmptyBlockModel,Ve as EventService,De as ExpressionService,xe as FONT_CLASS_MAP,we as FONT_CLASS_PREFIX,Ue as FeaturePackRegistryService,ye as FileUploadModel,Ge as ForgeInitializerService,He as HIGHLIGHT_CLASS_PREFIX,Fe as HIGHLIGHT_SWATCHES,Xe as HISTORY_COALESCE_MS,We as HeaderModel,he as HeaderTabEnum,Ye as INDENT_CLASS_PREFIX,Ke as INLINE_TAGS,ke as IconModel,ze as IconSvgService,fe as IframeModel,Ze as ImageModel,je as LEGACY_LINE_HEIGHT_CLASS_MAP,Je as LEGACY_SCHEMA_VERSION,qe as LEGACY_SIZE_CLASS_MAP,Qe as LINE_HEIGHT_CLASS_MAP,$e as LINE_HEIGHT_CLASS_PREFIX,ea as LINE_HEIGHT_OPTION_VALUES,aa as LOCALE_CHOICES,sa as ListBoxModel,ia as ListGridModel,ta as LocalizationService,oa as MANAGED_STRUCTURE_SETTING_KEYS,la as MARK_TAG_MAP,ra as MAX_HISTORY_ENTRIES,na as MAX_INDENT_LEVEL,Ea as MarkupSecurityService,da as MessageCardModel,_a as ModelService,Sa as MultiSelectInputModel,ca as NGX_VIEW_BUILDER_AI_ACTION_TYPES,ua as NGX_VIEW_BUILDER_AI_API_VERSION,Ta as NGX_VIEW_BUILDER_AI_AUTOMATION_ACTION_TYPES,Aa as NGX_VIEW_BUILDER_AI_ROW_CONTAINERS,ma as NGX_VIEW_BUILDER_AI_TAB_CONTAINERS,Ia as NGX_VIEW_BUILDER_AI_TEMPLATES_CAPABILITY,Na as NGX_VIEW_BUILDER_AI_VALIDATOR_TYPES,Ca as NGX_VIEW_BUILDER_ANY_ELEMENT_TYPE,La as NGX_VIEW_BUILDER_BRIDGE_PROTOCOL_VERSION,Ma as NGX_VIEW_BUILDER_HOSTED_MCP_URL,Ra as NGX_VIEW_BUILDER_MCP_KEY_TTL_MS,ba as NGX_VIEW_BUILDER_PROJECT_LAYER,ga as NGX_VIEW_BUILDER_UI_TRANSLATIONS,Ba as NVB_TEXT_CONTEXT_KEY,pa as NgxViewBuilder,Oa as NgxViewBuilderActionExecutorService,Pa as NgxViewBuilderAiApiService,va as NgxViewBuilderAlignEnum,Va as NgxViewBuilderApiService,Da as NgxViewBuilderAutomationActionTypeEnum,xa as NgxViewBuilderAutomationService,wa as NgxViewBuilderBuilderTabRenderModeEnum,Ua as NgxViewBuilderChromePositionEnum,ya as NgxViewBuilderDataSourceTypeEnum,Ga as NgxViewBuilderDialogCloseReasonEnum,Ha as NgxViewBuilderExecutionReasonEnum,Fa as NgxViewBuilderHeadlessService,Xa as NgxViewBuilderInteractionStatusEnum,Wa as NgxViewBuilderMcpBridgeService,ha as NgxViewBuilderPageNavigationModeEnum,Ya as NgxViewBuilderPreviewModeEnum,Ka as NgxViewBuilderProcessService,ka as NgxViewBuilderRenderModeEnum,za as NgxViewBuilderRenderPhaseEnum,fa as NgxViewBuilderRenderer,Za as NgxViewBuilderRuleExecutedBranchEnum,ja as NgxViewBuilderRuleRunModeEnum,Ja as NgxViewBuilderRulesEngineService,qa as NgxViewBuilderRuntime,Qa as NgxViewBuilderSaveRequestedSourceEnum,$a as NgxViewBuilderTableSettingsSourceEnum,es as NgxViewBuilderThemeModeEnum,as as NgxViewBuilderTriggerEngineService,ss as NgxViewBuilderTriggerEventEnum,is as NgxViewBuilderValidator,ts as NgxViewBuilderWebsocketMessageModeEnum,os as NumberInputModel,ls as NumberStepperModel,rs as NvbElement,ns as NvbElementContextService,Es as NvbIcon,ds as NvbRichTextEditor,_s as NvbRows,Ss as NvbScope,cs as NvbSelect,us as NvbStyleOutlet,Ts as NvbTab,As as ObjectPanelModel,ms as PHONE_COUNTRY_OPTIONS,Is as PHONE_COUNTRY_PROPERTY_CHOICES,Ns as PageElement,Cs as PageTitleModel,Ls as PanelElement,Ms as PanelModel,Rs as PhoneInputModel,bs as PreviewRendererService,gs as ProgressBarModel,Bs as ProgressFlowElement,ps as ProgressFlowModel,Os as PropertyModel,Ps as RICH_TEXT_DEFAULT_TOOLBAR_TOOLS,vs as RICH_TEXT_TOOLBAR_ICONS,Vs as RICH_TEXT_TOOLBAR_TOOLS,Ds as ROOT_BLOCK_TAGS,xs as RadioInputModel,ws as RendererService,Us as RichTextModel,ys as RouterOutletModel,Gs as RowModel,Hs as RuntimeDynamicPanel,Fs as RuntimeVariableSourceTypeEnum,Xs as RuntimeVariablesService,Ws as SINGLE_OBJECT_CONTAINER_TYPES,hs as SIZE_CLASS_MAP,Ys as SIZE_CLASS_PREFIX,Ks as SIZE_OPTION_VALUES,ks as SPECIAL_CHARACTERS,zs as SelectButtonModel,fs as SelectInputModel,Zs as SettingsModel,js as SignaturePadModel,Js as SingleCheckboxModel,qs as SliderModel,Qs as SpacerModel,$s as SplitterElement,ei as SplitterModel,ai as StateService,si as StatsCardModel,ii as StructureMigrationService,ti as StructureModel,oi as StructureService,li as TABLE_BORDER_CLASS_PREFIX,ri as TABLE_CELL_BACKGROUND_SWATCHES,ni as TABLE_CELL_VALIGN_CLASS_MAP,Ei as TABLE_CELL_VALIGN_CLASS_PREFIX,di as TABLE_CLASS,_i as TABLE_PICKER_COLUMNS,Si as TABLE_PICKER_ROWS,ci as TASK_ITEM_CHECKED_CLASS,ui as TASK_ITEM_CLASS,Ti as TASK_ITEM_MARKER_WIDTH,Ai as TASK_LIST_CLASS,mi as TEMPLATE_CONTAINER_TYPES,Ii as TableCellElementRegistryService,Ni as TableColumnAlignEnum,Ci as TableColumnCellActionsDisplayModeEnum,Li as TableColumnTypeEnum,Mi as TableFilterControlTypeEnum,Ri as TableFilterOptionsSourceTypeEnum,bi as TableInlineEditStartModeEnum,gi as TableInlineEditorTypeEnum,Bi as TableModel,pi as TableRowActionsDropdownButtonStyleEnum,Oi as TableStatusToneEnum,Pi as TabsElement,vi as TabsModel,Vi as TabsProModel,Di as TemplateEngineService,xi as TemplateStorageModeEnum,wi as TextAreaModel,Ui as TextInputModel,yi as TimePickerModel,Gi as ToastModel,Hi as ToggleSwitchModel,Fi as TooltipComponent,Xi as UiTranslatePipe,Wi as UiTranslationService,hi as ValidatorService,Yi as ValueChangeTriggerEnum,Ki as VideoModel,ki as applyDynamicPanelRowNumberingContext,zi as applyElementRowContext,fi as applyRuntimeNumberingContext,Zi as applyStructureMigrations,ji as applyViewportBreakpoints,Ji as bridgeNgxViewBuilderApiEvents,qi as buildElementRowRuntimeContext,Qi as buildFocusKey,$i as buildResponsiveColumnStyle,et as clearStructureMigrationNotice,at as cloneRecord,st as cloneValue,it as composeCssSize,tt as configureStructureMigrations,ot as createUuid,lt as describeDragEvent,rt as describeElementModel,nt as describeEventTarget,Et as describeMouseEvent,dt as elements,_t as emptyTemplateContainerValue,St as getMobileBreakpoint,ct as getRuntimeTextContext,ut as getStructureMigrationConfig,Tt as getTabletBreakpoint,At as getViewportContentWidth,mt as isDataJsonCapableElementType,It as isDragDebugEnabled,Nt as isMobileViewport,Ct as isMobileWidth,Lt as isPlainRecord,Mt as isRelativeResponsiveWidth,Rt as isSingleObjectContainerType,bt as isTabletViewport,gt as isTabletWidth,Bt as isTemplateContainerType,pt as lastStructureMigration,Ot as logDragDebug,Pt as logDragDebugThrottled,vt as migrateStructure,Vt as normalizeBreakpoint,Dt as normalizeCssSizeUnit,xt as normalizeResponsiveCssSize,wt as normalizeStringList,Ut as provideNgxViewBuilderExtensions,yt as provideNgxViewBuilderMigrations,Gt as provideNgxViewBuilderProjectLayer,Ht as provideNgxViewBuilderProjectLayers,Ft as provideNgxViewBuilderRuntime,Xt as provideNgxViewBuilderUiTranslations,Wt as pruneStructureSettings,ht as readSchemaVersion,Yt as recordStructureMigration,Kt as resetStructureMigrationConfig,kt as resolveAllowedPhoneCountries,zt as resolveCssSizeSetting,ft as resolveElementRowContext,Zt as resolveElementRowScope,jt as resolveElementRowScopedPath,Jt as resolveFixedViewport,qt as resolvePhoneCountry,Qt as resolveResponsiveDisplayWidth,$t as resolveResponsiveWidth,eo as resolveRuntimeTextContextValue,ao as resolveStructureSettings,so as rowIndexOfCellPath,io as setElementRowContext,to as setViewportContentWidth,oo as templateRowPath};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxviewbuilder/runtime",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
4
4
  "description": "Native Angular runtime for NGX View Builder: renders forms, dashboards, data tables and guided flows defined as JSON.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "homepage": "https://ngxviewbuilder.io",
@@ -2584,8 +2584,11 @@ interface INgxViewBuilderBuilderSettings {
2584
2584
  *
2585
2585
  * The builder dials out when it mounts and drops the connection when it unmounts, so a
2586
2586
  * runtime only host never opens one. Left out, nothing connects at all.
2587
+ *
2588
+ * `false` switches AI access off entirely: nothing connects, and Settings shows no AI
2589
+ * access section, so a person cannot connect from there either (a public demo, say).
2587
2590
  */
2588
- mcp?: {
2591
+ mcp?: false | {
2589
2592
  /** Bridge endpoint, e.g. `wss://mcp.example.com/bridge`. An http(s) URL is upgraded. */
2590
2593
  url: string;
2591
2594
  /** Key issued by the host's own backend. Left out, the builder generates one and shows
@@ -5660,6 +5663,10 @@ declare class NgxViewBuilderMcpBridgeService {
5660
5663
  private readonly pairedClientsSignal;
5661
5664
  private readonly bridgeUrlSignal;
5662
5665
  private readonly licenseProblemSignal;
5666
+ private readonly disabledByHostSignal;
5667
+ /** The host set `mcp: false`: no connection, and the builder offers none. */
5668
+ readonly disabledByHost: _angular_core.Signal<boolean>;
5669
+ setDisabledByHost(disabled: boolean): void;
5663
5670
  /**
5664
5671
  * Why the server refused this tab (no key, revoked, updates ended), or null. Set, the
5665
5672
  * bridge stops retrying: nothing changes until the license does.
@@ -5717,6 +5724,8 @@ declare class NgxViewBuilderMcpBridgeService {
5717
5724
  /** When the key is how long it may live, replaces it (and with it every pairing). */
5718
5725
  private scheduleKeyExpiry;
5719
5726
  private clearKeyExpiryTimer;
5727
+ /** `keepStatus`: a key swap on a live connection keeps showing it as connected until the
5728
+ * server answers; a refusal still turns it into an error. */
5720
5729
  private openSocket;
5721
5730
  private onClose;
5722
5731
  /** Backs off to 30 s between attempts. The key does not change, so neither does the
@@ -5733,6 +5742,8 @@ declare class NgxViewBuilderMcpBridgeService {
5733
5742
  /** Storage can throw in a sandboxed iframe or with cookies blocked, and a builder that
5734
5743
  * refused to open because of that would be a poor trade for a convenience. */
5735
5744
  /** The stored key with the time it was issued; an expired one reads as none. */
5745
+ private readDeviceId;
5746
+ private generateDeviceId;
5736
5747
  private readStoredKey;
5737
5748
  private storeKey;
5738
5749
  private send;