@ngxviewbuilder/runtime 0.10.1 → 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-IjpkAmRL.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 r,g as l,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 L,s as C,t as M,u as R,v as b,w as g,x as B,y as p,z as O,F as v,G as P,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 re,ac as le,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 Le,ap as Ce,aq as Me,ar as Re,as as be,at as ge,au as Be,av as pe,aw as Oe,ax as ve,ay as Pe,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 ra,b1 as la,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 La,be as Ca,bf as Ma,bg as Ra,bh as ba,bi as ga,bj as Ba,bk as pa,bl as Oa,bm as va,bn as Pa,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 rs,bS as ls,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 Ls,c3 as Cs,c4 as Ms,c5 as Rs,c6 as bs,c7 as gs,c8 as Bs,c9 as ps,ca as Os,cb as vs,cc as Ps,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 ri,cG as li,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 Li,cU as Ci,cV as Mi,cW as Ri,cX as bi,cY as gi,cZ as Bi,c_ as pi,c$ as Oi,d0 as vi,d1 as Pi,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 rt,dw as lt,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 Lt,dK as Ct,dL as Mt,dM as Rt,dN as bt,dO as gt,dP as Bt,dQ as pt,dR as Ot,dS as vt,dT as Pt,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}from"./ngxviewbuilder-runtime-ngxviewbuilder-runtime-IjpkAmRL.mjs";export{s as ALIGN_CLASS_MAP,i as ALIGN_CLASS_PREFIX,t as APPLICATION_LOCALE_VALUE,o as AccordionElement,r as AccordionModel,l 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,L as CURRENT_SCHEMA_VERSION,C as ChartModel,M as CheckboxInputModel,R as ChoiceModel,b as ColumnFragmentModeEnum,g as ColumnModel,B as ComponentRegistryService,p as ConfirmDialog,O as CreatorStructureService,v as CustomHtmlModel,P 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,re as ELEMENT_ROW_CONTEXT_KEY,le 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,Le as ElementBaseModel,Ce as ElementContentBox,Me as ElementContentRow,Re as ElementDataSourceUseForEnum,be as ElementDefaultsService,ge as ElementExecutionModeEnum,Be as ElementFocusService,pe as ElementTypesEnum,Oe as ElementsService,ve as EmptyBlockElement,Pe 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,ra as MARK_TAG_MAP,la 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,La as NGX_VIEW_BUILDER_ANY_ELEMENT_TYPE,Ca 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,va as NgxViewBuilderAiApiService,Pa 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,rs as NumberStepperModel,ls 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,Ls as PageTitleModel,Cs as PanelElement,Ms as PanelModel,Rs as PhoneInputModel,bs as PreviewRendererService,gs as ProgressBarModel,Bs as ProgressFlowElement,ps as ProgressFlowModel,Os as PropertyModel,vs as RICH_TEXT_DEFAULT_TOOLBAR_TOOLS,Ps 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,ri as TABLE_BORDER_CLASS_PREFIX,li 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,Li as TableColumnCellActionsDisplayModeEnum,Ci as TableColumnTypeEnum,Mi as TableFilterControlTypeEnum,Ri as TableFilterOptionsSourceTypeEnum,bi as TableInlineEditStartModeEnum,gi as TableInlineEditorTypeEnum,Bi as TableModel,pi as TableRowActionsDropdownButtonStyleEnum,Oi as TableStatusToneEnum,vi as TabsElement,Pi 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,rt as describeDragEvent,lt 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,Lt as isMobileWidth,Ct as isPlainRecord,Mt as isRelativeResponsiveWidth,Rt as isSingleObjectContainerType,bt as isTabletViewport,gt as isTabletWidth,Bt as isTemplateContainerType,pt as lastStructureMigration,Ot as logDragDebug,vt as logDragDebugThrottled,Pt 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 setElementRowContext,io as setViewportContentWidth,to 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.1",
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",
@@ -1972,6 +1972,15 @@ declare class NgxViewBuilderApiService {
1972
1972
  private dataService;
1973
1973
  private dataSourceService;
1974
1974
  private rendererService;
1975
+ private readonly injector;
1976
+ /**
1977
+ * Without a builder the structure is the running preview, and only the preview
1978
+ * renderer loads data sources. `setLanguage` rebuilds through here after the preview
1979
+ * already rebuilt for the new language, so the plain renderer replaced every model
1980
+ * with one whose options never loaded: selects spun forever unless their source
1981
+ * happened to name `{__language}`.
1982
+ */
1983
+ private structureRenderer;
1975
1984
  private structureMigrationService;
1976
1985
  private expressionService;
1977
1986
  private structureService;
@@ -2004,6 +2013,7 @@ declare class NgxViewBuilderApiService {
2004
2013
  private renderRoot;
2005
2014
  private sourceStructureSnapshot;
2006
2015
  private lastStructureChangeSnapshot;
2016
+ private structureChangeScheduled;
2007
2017
  private builderAdapter;
2008
2018
  private customElementGroups;
2009
2019
  private customElementDefinitions;
@@ -2301,7 +2311,15 @@ declare class NgxViewBuilderApiService {
2301
2311
  private normalizeTableSavedFilters;
2302
2312
  private cloneTableSavedFilters;
2303
2313
  private cloneTableSavedFilter;
2314
+ /**
2315
+ * Reports a structure change once per burst of work. Evaluating a large view flips
2316
+ * hundreds of element properties in a row (visibility, read-only state), and each one
2317
+ * lands here; serializing the whole structure for every one of them made switching to
2318
+ * the preview of a 1,500 element form take seconds. The snapshot comparison below then
2319
+ * decides whether anything actually changed.
2320
+ */
2304
2321
  notifyStructureChanged(): void;
2322
+ private emitStructureChanged;
2305
2323
  getElement(nameOrPath: string): unknown;
2306
2324
  getElementModel(nameOrPath: string): ElementBaseModel | null;
2307
2325
  getElementByDataPath(dataPath: string): ElementBaseModel | null;
@@ -2566,8 +2584,11 @@ interface INgxViewBuilderBuilderSettings {
2566
2584
  *
2567
2585
  * The builder dials out when it mounts and drops the connection when it unmounts, so a
2568
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).
2569
2590
  */
2570
- mcp?: {
2591
+ mcp?: false | {
2571
2592
  /** Bridge endpoint, e.g. `wss://mcp.example.com/bridge`. An http(s) URL is upgraded. */
2572
2593
  url: string;
2573
2594
  /** Key issued by the host's own backend. Left out, the builder generates one and shows
@@ -5642,6 +5663,10 @@ declare class NgxViewBuilderMcpBridgeService {
5642
5663
  private readonly pairedClientsSignal;
5643
5664
  private readonly bridgeUrlSignal;
5644
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;
5645
5670
  /**
5646
5671
  * Why the server refused this tab (no key, revoked, updates ended), or null. Set, the
5647
5672
  * bridge stops retrying: nothing changes until the license does.
@@ -5699,6 +5724,8 @@ declare class NgxViewBuilderMcpBridgeService {
5699
5724
  /** When the key is how long it may live, replaces it (and with it every pairing). */
5700
5725
  private scheduleKeyExpiry;
5701
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. */
5702
5729
  private openSocket;
5703
5730
  private onClose;
5704
5731
  /** Backs off to 30 s between attempts. The key does not change, so neither does the
@@ -5715,6 +5742,8 @@ declare class NgxViewBuilderMcpBridgeService {
5715
5742
  /** Storage can throw in a sandboxed iframe or with cookies blocked, and a builder that
5716
5743
  * refused to open because of that would be a poor trade for a convenience. */
5717
5744
  /** The stored key with the time it was issued; an expired one reads as none. */
5745
+ private readDeviceId;
5746
+ private generateDeviceId;
5718
5747
  private readStoredKey;
5719
5748
  private storeKey;
5720
5749
  private send;
@@ -5760,6 +5789,12 @@ declare function isSingleObjectContainerType(type: unknown): boolean;
5760
5789
  declare function templateRowPath(containerPath: string, rowIndex: number, containerType: unknown): string;
5761
5790
  /** The empty value of a template container: `[]` for a repeater, `{}` for an object. */
5762
5791
  declare function emptyTemplateContainerValue(containerType: unknown): unknown[] | Record<string, unknown>;
5792
+ /**
5793
+ * The row a changed path points into when it is a value inside one row of a repeater:
5794
+ * `lines[3].lt` under `lines` gives 3. The repeater itself, a whole row (`lines[3]`) or
5795
+ * anything outside it gives null, since those can add or replace rows.
5796
+ */
5797
+ declare function rowIndexOfCellPath(changedPath: string, containerPath: string): number | null;
5763
5798
 
5764
5799
  /**
5765
5800
  * Row context carried by element models that live inside a data row - today the
@@ -6220,8 +6255,19 @@ declare class StructureService {
6220
6255
  * repeater rows, so ordinary containers (panel, dialog, tabs, accordion, splitter) built from
6221
6256
  * rows/columns need this page-layout-tree walk instead. Falls back to the preview structure so
6222
6257
  * it also works for a deployed runtime consumer, which never populates the builder-only structure.
6258
+ *
6259
+ * The answer for every element is built in one walk and kept for the current burst
6260
+ * of work. Hiding elements asks this once per hidden element, and walking the whole
6261
+ * layout each time cost seconds on a form with a thousand fields. The layout does not
6262
+ * change inside one burst, and the index is dropped before the next task.
6223
6263
  */
6264
+ private layoutDescendantIndex;
6224
6265
  getLayoutDescendantElementNames(rootElementName: string): Set<string>;
6266
+ private buildLayoutDescendantIndex;
6267
+ /**
6268
+ * Walks the layout once: every name under a column is recorded as a descendant of each
6269
+ * enclosing element ref (`ancestors`), so one pass answers every element.
6270
+ */
6225
6271
  private collectLayoutDescendantsFromRows;
6226
6272
  private collectLayoutDescendantsFromTabRows;
6227
6273
  private collectElementRefsFromRows;
@@ -6315,13 +6361,29 @@ declare class ExpressionService {
6315
6361
  eventService: EventService;
6316
6362
  constructor();
6317
6363
  private evaluateMutationSources;
6364
+ private rowExpressionElementsOf;
6318
6365
  getRegisteredFunctions(): IJexlFunctionDescriptor[];
6366
+ /**
6367
+ * Dependencies per (data path, expression) for the current burst of work. Every value
6368
+ * change asks every element whether it depends on the changed path, which re-parsed
6369
+ * the same expressions tens of thousands of times on a large form.
6370
+ */
6371
+ private readonly dependencyCache;
6319
6372
  extractDependenciesFromExpression(expression: string, element?: ElementBaseModel | null): string[];
6320
6373
  registerFunction(definition: IJexlFunctionRegistration): void;
6321
6374
  registerCustomFunctions(functions: IJexlFunctionRegistration[]): void;
6322
6375
  evaluateStartingElement(startElement: ElementBaseModel): Promise<void>;
6323
6376
  evaluateAllExpressionsInDependencyOrder(): Promise<void>;
6324
- private evaluateDependentsRecursively;
6377
+ private dependentElementsOf;
6378
+ /**
6379
+ * Evaluates `initial` and everything that depends on them, each element once, every
6380
+ * element after the ones it reads. Walking the graph depth first instead evaluated a
6381
+ * total over fifty sections fifty times, once per section on the way, and each of
6382
+ * those evaluations wrote the data and woke every listener; on a large form one
6383
+ * change then froze the page for seconds. Elements caught in a cycle keep the order
6384
+ * they were found in.
6385
+ */
6386
+ private evaluateCascade;
6325
6387
  private evaluateExpressionOnly;
6326
6388
  /**
6327
6389
  * Applies every logic key of one element in a single pass.
@@ -6340,6 +6402,15 @@ declare class ExpressionService {
6340
6402
  private applyElementExpressions;
6341
6403
  private setExpressionResult;
6342
6404
  private updateChildElement;
6405
+ /**
6406
+ * What has to be evaluated after this element changed. A row cell with its own
6407
+ * expression also changes the value of the repeater it sits in, so whatever reads
6408
+ * the repeater, `sumArray({lines}, lt)`, depends on every `lines[i].lt` although its
6409
+ * expression only names `lines`. A person typing into the row reaches those through
6410
+ * the repeater's own change event; an expression writing the cell does not raise
6411
+ * one, so the edge is added here, for every repeater up the chain.
6412
+ */
6413
+ private dependentPathsOf;
6343
6414
  private isRepeaterRowInstance;
6344
6415
  private notifyElementPropertyChanged;
6345
6416
  /**
@@ -6515,6 +6586,12 @@ declare class ExpressionService {
6515
6586
  private resolveRuntimeStateAliasPath;
6516
6587
  private resolveRuntimeStateAliasElementName;
6517
6588
  private registerDefaultFunctions;
6589
+ /**
6590
+ * Plain helpers forms often need: text slicing, age, rounding and variadic
6591
+ * min / max / sum. Empty input gives null rather than throwing,
6592
+ * so a half filled form does not break the expressions that read it.
6593
+ */
6594
+ private registerGeneralFunctions;
6518
6595
  /**
6519
6596
  * Reads any configured property off an element - `label`, `placeholder`,
6520
6597
  * `required`, `visibleIf`, a nested `dataSource.name`. The counterpart of
@@ -7288,6 +7365,9 @@ declare class RuntimeDynamicPanel implements OnInit, OnDestroy {
7288
7365
  private dataService;
7289
7366
  private modelService;
7290
7367
  private rendererService;
7368
+ private readonly previewRendererService;
7369
+ /** Rows are created after the preview loaded its data sources; see `loadDataSourceFor`. */
7370
+ private loadRowDataSource;
7291
7371
  private elementFocusService;
7292
7372
  private expressionService;
7293
7373
  private validatorService;
@@ -7345,6 +7425,8 @@ declare class RuntimeDynamicPanel implements OnInit, OnDestroy {
7345
7425
  private normalizeCssTemplate;
7346
7426
  private normalizeCssSize;
7347
7427
  private reloadIfPanelPathChanged;
7428
+ private cellReloadTimer;
7429
+ private scheduleCellReload;
7348
7430
  hasDataSource(): boolean;
7349
7431
  private resolveInitialDataSourceLoadedState;
7350
7432
  private hasPersistedRowsSnapshot;
@@ -8246,6 +8328,9 @@ declare class DynamicPanel implements OnInit, OnDestroy {
8246
8328
  private dataService;
8247
8329
  private modelService;
8248
8330
  private rendererService;
8331
+ private readonly previewRendererService;
8332
+ /** Rows are created after the preview loaded its data sources; see `loadDataSourceFor`. */
8333
+ private loadRowDataSource;
8249
8334
  private templateEngineService;
8250
8335
  private elementFocusService;
8251
8336
  private expressionService;
@@ -8317,6 +8402,8 @@ declare class DynamicPanel implements OnInit, OnDestroy {
8317
8402
  private buildGridTemplateColumns;
8318
8403
  private resolveResponsiveGridColumnCount;
8319
8404
  private reloadIfPanelPathChanged;
8405
+ private cellReloadTimer;
8406
+ private scheduleCellReload;
8320
8407
  hasDataSource(): boolean;
8321
8408
  private resolveInitialDataSourceLoadedState;
8322
8409
  private hasPersistedRowsSnapshot;
@@ -9124,6 +9211,13 @@ declare class ValidatorService {
9124
9211
  isElementValidationVisible(element: ElementBaseModel | null | undefined): boolean;
9125
9212
  handleElementBlur(element: ElementBaseModel | null | undefined): Promise<void>;
9126
9213
  getValidationRenderVersion(): number;
9214
+ private validationScheduled;
9215
+ /**
9216
+ * Validates the whole form once for a burst of value changes. Every value an
9217
+ * expression writes fires onDataMutated, and on a large form hundreds of them land in
9218
+ * a row; re-running every validator for each one froze the preview for seconds.
9219
+ */
9220
+ private scheduleAllValidators;
9127
9221
  evaluateAllValidators(): Promise<void>;
9128
9222
  validateForm(): Promise<boolean>;
9129
9223
  hasValidationErrors(): boolean;
@@ -9264,6 +9358,15 @@ declare class PreviewRendererService extends RendererService {
9264
9358
  stopPreviewDataSources(): void;
9265
9359
  toModel(structureJson: IStructure): void;
9266
9360
  applyDataSources(): void;
9361
+ /**
9362
+ * Loads the data source of a model created after the preview was built: a row that a
9363
+ * dynamic panel or table adds when it renders, or when the person presses Add.
9364
+ * `applyDataSources` only reaches the models that existed then, and a row whose source
9365
+ * does not read the repeater's own path is not reloaded by the data change either, so
9366
+ * its select waited for options forever with the spinner running. A source that
9367
+ * already answered the same request comes from the cache.
9368
+ */
9369
+ loadDataSourceFor(element: ElementBaseModel | null | undefined): void;
9267
9370
  getDataSource(name: string): DataSourceModel | undefined;
9268
9371
  private loadElementDataSource;
9269
9372
  private bindDataSourceValueWatcher;
@@ -9612,5 +9715,5 @@ declare function isMobileViewport(): boolean;
9612
9715
  declare function isTabletViewport(): boolean;
9613
9716
  declare function normalizeBreakpoint(value: unknown, fallback: number): number;
9614
9717
 
9615
- export { ALIGN_CLASS_MAP, ALIGN_CLASS_PREFIX, APPLICATION_LOCALE_VALUE, AccordionElement, AccordionModel, ApplicationLocaleService, AutocompleteModel, AvatarModel, BLOCK_TAGS, BUILT_IN_STRUCTURE_MIGRATIONS, BUILT_IN_TABLE_CELL_ELEMENT_TYPES, BadgeModel, BreadcrumbsModel, BuilderModel, BuilderPageDisplayModeEnum, BuilderTabRegistryService, ButtonModel, COLOR_CLASS_PREFIX, CURRENT_SCHEMA_VERSION, ChartModel, CheckboxInputModel, ChoiceModel, ColumnFragmentModeEnum, ColumnModel, ComponentRegistryService, ConfirmDialog, CreatorStructureService, CustomHtmlModel, DATA_JSON_CAPABLE_ELEMENT_TYPES, DEFAULT_FONT, DEFAULT_FONT_CLASS, DEFAULT_HIGHLIGHT_COLOR, DEFAULT_LINE_HEIGHT_VALUE, DEFAULT_MOBILE_BREAKPOINT, DEFAULT_SIZE_CLASS, DEFAULT_SIZE_VALUE, DEFAULT_TABLET_BREAKPOINT, DEFAULT_TABLE_COLUMNS, DEFAULT_TABLE_ROWS, DEFAULT_TEXT_COLOR, DataService, DataSourceModel, DataSourceService, DatePickerModel, DateRangeModel, DialogDragController, DialogElement, DialogModel, DividerModel, DomInstrumentationService, DragAndDropService, DragAutoScrollService, DynamicPanel, DynamicPanelModel, DynamicTableColumnModel, DynamicTableModel, DynamicTableRowColumnModel, DynamicTextPipe, ELEMENT_ROW_CONTEXT_KEY, ELEMENT_ROW_SCOPE_PATH_KEY, EN_UI_DICTIONARY, EXCLUDE_FROM_DATA_JSON_KEY, ElementActionButtonToneEnum, ElementActionButtonVariantEnum, ElementActionDialogOperationEnum, ElementActionResponseModeEnum, ElementActionService, ElementActionSetValueModeEnum, ElementActionToastPositionEnum, ElementActionToastVariantEnum, ElementActionTriggerEnum, ElementActionTypeEnum, ElementBaseModel, ElementContentBox, ElementContentRow, ElementDataSourceUseForEnum, ElementDefaultsService, ElementExecutionModeEnum, ElementFocusService, ElementTypesEnum, ElementsService, EmptyBlockElement, EmptyBlockModel, EventService, ExpressionService, FONT_CLASS_MAP, FONT_CLASS_PREFIX, FeaturePackRegistryService, FileUploadModel, ForgeInitializerService, HIGHLIGHT_CLASS_PREFIX, HIGHLIGHT_SWATCHES, HISTORY_COALESCE_MS, HeaderModel, HeaderTabEnum, INDENT_CLASS_PREFIX, INLINE_TAGS, IconModel, IconSvgService, IframeModel, ImageModel, LEGACY_LINE_HEIGHT_CLASS_MAP, LEGACY_SCHEMA_VERSION, LEGACY_SIZE_CLASS_MAP, LINE_HEIGHT_CLASS_MAP, LINE_HEIGHT_CLASS_PREFIX, LINE_HEIGHT_OPTION_VALUES, LOCALE_CHOICES, ListBoxModel, ListGridModel, LocalizationService, MANAGED_STRUCTURE_SETTING_KEYS, MARK_TAG_MAP, MAX_HISTORY_ENTRIES, MAX_INDENT_LEVEL, MarkupSecurityService, MessageCardModel, ModelService, MultiSelectInputModel, NGX_VIEW_BUILDER_AI_ACTION_TYPES, NGX_VIEW_BUILDER_AI_API_VERSION, NGX_VIEW_BUILDER_AI_AUTOMATION_ACTION_TYPES, NGX_VIEW_BUILDER_AI_ROW_CONTAINERS, NGX_VIEW_BUILDER_AI_TAB_CONTAINERS, NGX_VIEW_BUILDER_AI_TEMPLATES_CAPABILITY, NGX_VIEW_BUILDER_AI_VALIDATOR_TYPES, NGX_VIEW_BUILDER_ANY_ELEMENT_TYPE, NGX_VIEW_BUILDER_BRIDGE_PROTOCOL_VERSION, NGX_VIEW_BUILDER_HOSTED_MCP_URL, NGX_VIEW_BUILDER_MCP_KEY_TTL_MS, NGX_VIEW_BUILDER_PROJECT_LAYER, NGX_VIEW_BUILDER_UI_TRANSLATIONS, NVB_TEXT_CONTEXT_KEY, NgxViewBuilder, NgxViewBuilderActionExecutorService, NgxViewBuilderAiApiService, NgxViewBuilderAlignEnum, NgxViewBuilderApiService, NgxViewBuilderAutomationActionTypeEnum, NgxViewBuilderAutomationService, NgxViewBuilderBuilderTabRenderModeEnum, NgxViewBuilderChromePositionEnum, NgxViewBuilderDataSourceTypeEnum, NgxViewBuilderDialogCloseReasonEnum, NgxViewBuilderExecutionReasonEnum, NgxViewBuilderHeadlessService, NgxViewBuilderInteractionStatusEnum, NgxViewBuilderMcpBridgeService, NgxViewBuilderPageNavigationModeEnum, NgxViewBuilderPreviewModeEnum, NgxViewBuilderProcessService, NgxViewBuilderRenderModeEnum, NgxViewBuilderRenderPhaseEnum, NgxViewBuilderRenderer, NgxViewBuilderRuleExecutedBranchEnum, NgxViewBuilderRuleRunModeEnum, NgxViewBuilderRulesEngineService, NgxViewBuilderRuntime, NgxViewBuilderSaveRequestedSourceEnum, NgxViewBuilderTableSettingsSourceEnum, NgxViewBuilderThemeModeEnum, NgxViewBuilderTriggerEngineService, NgxViewBuilderTriggerEventEnum, NgxViewBuilderValidator, NgxViewBuilderWebsocketMessageModeEnum, NumberInputModel, NumberStepperModel, NvbElement, NvbElementContextService, NvbIcon, NvbRichTextEditor, NvbRows, NvbScope, NvbSelect, NvbStyleOutlet, NvbTab, ObjectPanelModel, PHONE_COUNTRY_OPTIONS, PHONE_COUNTRY_PROPERTY_CHOICES, PageElement, PageTitleModel, PanelElement, PanelModel, PhoneInputModel, PreviewRendererService, ProgressBarModel, ProgressFlowElement, ProgressFlowModel, PropertyModel, RICH_TEXT_DEFAULT_TOOLBAR_TOOLS, RICH_TEXT_TOOLBAR_ICONS, RICH_TEXT_TOOLBAR_TOOLS, ROOT_BLOCK_TAGS, RadioInputModel, RendererService, RichTextModel, RouterOutletModel, RowModel, RuntimeDynamicPanel, RuntimeVariableSourceTypeEnum, RuntimeVariablesService, SINGLE_OBJECT_CONTAINER_TYPES, SIZE_CLASS_MAP, SIZE_CLASS_PREFIX, SIZE_OPTION_VALUES, SPECIAL_CHARACTERS, SelectButtonModel, SelectInputModel, SettingsModel, SignaturePadModel, SingleCheckboxModel, SliderModel, SpacerModel, SplitterElement, SplitterModel, StateService, StatsCardModel, StructureMigrationService, StructureModel, StructureService, TABLE_BORDER_CLASS_PREFIX, TABLE_CELL_BACKGROUND_SWATCHES, TABLE_CELL_VALIGN_CLASS_MAP, TABLE_CELL_VALIGN_CLASS_PREFIX, TABLE_CLASS, TABLE_PICKER_COLUMNS, TABLE_PICKER_ROWS, TASK_ITEM_CHECKED_CLASS, TASK_ITEM_CLASS, TASK_ITEM_MARKER_WIDTH, TASK_LIST_CLASS, TEMPLATE_CONTAINER_TYPES, TableCellElementRegistryService, TableColumnAlignEnum, TableColumnCellActionsDisplayModeEnum, TableColumnTypeEnum, TableFilterControlTypeEnum, TableFilterOptionsSourceTypeEnum, TableInlineEditStartModeEnum, TableInlineEditorTypeEnum, TableModel, TableRowActionsDropdownButtonStyleEnum, TableStatusToneEnum, TabsElement, TabsModel, TabsProModel, TemplateEngineService, TemplateStorageModeEnum, TextAreaModel, TextInputModel, TimePickerModel, ToastModel, ToggleSwitchModel, TooltipComponent, UiTranslatePipe, UiTranslationService, ValidatorService, ValueChangeTriggerEnum, VideoModel, applyDynamicPanelRowNumberingContext, applyElementRowContext, applyRuntimeNumberingContext, applyStructureMigrations, applyViewportBreakpoints, bridgeNgxViewBuilderApiEvents, buildElementRowRuntimeContext, buildFocusKey, buildResponsiveColumnStyle, clearStructureMigrationNotice, cloneRecord, cloneValue, composeCssSize, configureStructureMigrations, createUuid, describeDragEvent, describeElementModel, describeEventTarget, describeMouseEvent, elements, emptyTemplateContainerValue, getMobileBreakpoint, getRuntimeTextContext, getStructureMigrationConfig, getTabletBreakpoint, getViewportContentWidth, isDataJsonCapableElementType, isDragDebugEnabled, isMobileViewport, isMobileWidth, isPlainRecord, isRelativeResponsiveWidth, isSingleObjectContainerType, isTabletViewport, isTabletWidth, isTemplateContainerType, lastStructureMigration, logDragDebug, logDragDebugThrottled, migrateStructure, normalizeBreakpoint, normalizeCssSizeUnit, normalizeResponsiveCssSize, normalizeStringList, provideNgxViewBuilderExtensions, provideNgxViewBuilderMigrations, provideNgxViewBuilderProjectLayer, provideNgxViewBuilderProjectLayers, provideNgxViewBuilderRuntime, provideNgxViewBuilderUiTranslations, pruneStructureSettings, readSchemaVersion, recordStructureMigration, resetStructureMigrationConfig, resolveAllowedPhoneCountries, resolveCssSizeSetting, resolveElementRowContext, resolveElementRowScope, resolveElementRowScopedPath, resolveFixedViewport, resolvePhoneCountry, resolveResponsiveDisplayWidth, resolveResponsiveWidth, resolveRuntimeTextContextValue, resolveStructureSettings, setElementRowContext, setViewportContentWidth, templateRowPath };
9718
+ export { ALIGN_CLASS_MAP, ALIGN_CLASS_PREFIX, APPLICATION_LOCALE_VALUE, AccordionElement, AccordionModel, ApplicationLocaleService, AutocompleteModel, AvatarModel, BLOCK_TAGS, BUILT_IN_STRUCTURE_MIGRATIONS, BUILT_IN_TABLE_CELL_ELEMENT_TYPES, BadgeModel, BreadcrumbsModel, BuilderModel, BuilderPageDisplayModeEnum, BuilderTabRegistryService, ButtonModel, COLOR_CLASS_PREFIX, CURRENT_SCHEMA_VERSION, ChartModel, CheckboxInputModel, ChoiceModel, ColumnFragmentModeEnum, ColumnModel, ComponentRegistryService, ConfirmDialog, CreatorStructureService, CustomHtmlModel, DATA_JSON_CAPABLE_ELEMENT_TYPES, DEFAULT_FONT, DEFAULT_FONT_CLASS, DEFAULT_HIGHLIGHT_COLOR, DEFAULT_LINE_HEIGHT_VALUE, DEFAULT_MOBILE_BREAKPOINT, DEFAULT_SIZE_CLASS, DEFAULT_SIZE_VALUE, DEFAULT_TABLET_BREAKPOINT, DEFAULT_TABLE_COLUMNS, DEFAULT_TABLE_ROWS, DEFAULT_TEXT_COLOR, DataService, DataSourceModel, DataSourceService, DatePickerModel, DateRangeModel, DialogDragController, DialogElement, DialogModel, DividerModel, DomInstrumentationService, DragAndDropService, DragAutoScrollService, DynamicPanel, DynamicPanelModel, DynamicTableColumnModel, DynamicTableModel, DynamicTableRowColumnModel, DynamicTextPipe, ELEMENT_ROW_CONTEXT_KEY, ELEMENT_ROW_SCOPE_PATH_KEY, EN_UI_DICTIONARY, EXCLUDE_FROM_DATA_JSON_KEY, ElementActionButtonToneEnum, ElementActionButtonVariantEnum, ElementActionDialogOperationEnum, ElementActionResponseModeEnum, ElementActionService, ElementActionSetValueModeEnum, ElementActionToastPositionEnum, ElementActionToastVariantEnum, ElementActionTriggerEnum, ElementActionTypeEnum, ElementBaseModel, ElementContentBox, ElementContentRow, ElementDataSourceUseForEnum, ElementDefaultsService, ElementExecutionModeEnum, ElementFocusService, ElementTypesEnum, ElementsService, EmptyBlockElement, EmptyBlockModel, EventService, ExpressionService, FONT_CLASS_MAP, FONT_CLASS_PREFIX, FeaturePackRegistryService, FileUploadModel, ForgeInitializerService, HIGHLIGHT_CLASS_PREFIX, HIGHLIGHT_SWATCHES, HISTORY_COALESCE_MS, HeaderModel, HeaderTabEnum, INDENT_CLASS_PREFIX, INLINE_TAGS, IconModel, IconSvgService, IframeModel, ImageModel, LEGACY_LINE_HEIGHT_CLASS_MAP, LEGACY_SCHEMA_VERSION, LEGACY_SIZE_CLASS_MAP, LINE_HEIGHT_CLASS_MAP, LINE_HEIGHT_CLASS_PREFIX, LINE_HEIGHT_OPTION_VALUES, LOCALE_CHOICES, ListBoxModel, ListGridModel, LocalizationService, MANAGED_STRUCTURE_SETTING_KEYS, MARK_TAG_MAP, MAX_HISTORY_ENTRIES, MAX_INDENT_LEVEL, MarkupSecurityService, MessageCardModel, ModelService, MultiSelectInputModel, NGX_VIEW_BUILDER_AI_ACTION_TYPES, NGX_VIEW_BUILDER_AI_API_VERSION, NGX_VIEW_BUILDER_AI_AUTOMATION_ACTION_TYPES, NGX_VIEW_BUILDER_AI_ROW_CONTAINERS, NGX_VIEW_BUILDER_AI_TAB_CONTAINERS, NGX_VIEW_BUILDER_AI_TEMPLATES_CAPABILITY, NGX_VIEW_BUILDER_AI_VALIDATOR_TYPES, NGX_VIEW_BUILDER_ANY_ELEMENT_TYPE, NGX_VIEW_BUILDER_BRIDGE_PROTOCOL_VERSION, NGX_VIEW_BUILDER_HOSTED_MCP_URL, NGX_VIEW_BUILDER_MCP_KEY_TTL_MS, NGX_VIEW_BUILDER_PROJECT_LAYER, NGX_VIEW_BUILDER_UI_TRANSLATIONS, NVB_TEXT_CONTEXT_KEY, NgxViewBuilder, NgxViewBuilderActionExecutorService, NgxViewBuilderAiApiService, NgxViewBuilderAlignEnum, NgxViewBuilderApiService, NgxViewBuilderAutomationActionTypeEnum, NgxViewBuilderAutomationService, NgxViewBuilderBuilderTabRenderModeEnum, NgxViewBuilderChromePositionEnum, NgxViewBuilderDataSourceTypeEnum, NgxViewBuilderDialogCloseReasonEnum, NgxViewBuilderExecutionReasonEnum, NgxViewBuilderHeadlessService, NgxViewBuilderInteractionStatusEnum, NgxViewBuilderMcpBridgeService, NgxViewBuilderPageNavigationModeEnum, NgxViewBuilderPreviewModeEnum, NgxViewBuilderProcessService, NgxViewBuilderRenderModeEnum, NgxViewBuilderRenderPhaseEnum, NgxViewBuilderRenderer, NgxViewBuilderRuleExecutedBranchEnum, NgxViewBuilderRuleRunModeEnum, NgxViewBuilderRulesEngineService, NgxViewBuilderRuntime, NgxViewBuilderSaveRequestedSourceEnum, NgxViewBuilderTableSettingsSourceEnum, NgxViewBuilderThemeModeEnum, NgxViewBuilderTriggerEngineService, NgxViewBuilderTriggerEventEnum, NgxViewBuilderValidator, NgxViewBuilderWebsocketMessageModeEnum, NumberInputModel, NumberStepperModel, NvbElement, NvbElementContextService, NvbIcon, NvbRichTextEditor, NvbRows, NvbScope, NvbSelect, NvbStyleOutlet, NvbTab, ObjectPanelModel, PHONE_COUNTRY_OPTIONS, PHONE_COUNTRY_PROPERTY_CHOICES, PageElement, PageTitleModel, PanelElement, PanelModel, PhoneInputModel, PreviewRendererService, ProgressBarModel, ProgressFlowElement, ProgressFlowModel, PropertyModel, RICH_TEXT_DEFAULT_TOOLBAR_TOOLS, RICH_TEXT_TOOLBAR_ICONS, RICH_TEXT_TOOLBAR_TOOLS, ROOT_BLOCK_TAGS, RadioInputModel, RendererService, RichTextModel, RouterOutletModel, RowModel, RuntimeDynamicPanel, RuntimeVariableSourceTypeEnum, RuntimeVariablesService, SINGLE_OBJECT_CONTAINER_TYPES, SIZE_CLASS_MAP, SIZE_CLASS_PREFIX, SIZE_OPTION_VALUES, SPECIAL_CHARACTERS, SelectButtonModel, SelectInputModel, SettingsModel, SignaturePadModel, SingleCheckboxModel, SliderModel, SpacerModel, SplitterElement, SplitterModel, StateService, StatsCardModel, StructureMigrationService, StructureModel, StructureService, TABLE_BORDER_CLASS_PREFIX, TABLE_CELL_BACKGROUND_SWATCHES, TABLE_CELL_VALIGN_CLASS_MAP, TABLE_CELL_VALIGN_CLASS_PREFIX, TABLE_CLASS, TABLE_PICKER_COLUMNS, TABLE_PICKER_ROWS, TASK_ITEM_CHECKED_CLASS, TASK_ITEM_CLASS, TASK_ITEM_MARKER_WIDTH, TASK_LIST_CLASS, TEMPLATE_CONTAINER_TYPES, TableCellElementRegistryService, TableColumnAlignEnum, TableColumnCellActionsDisplayModeEnum, TableColumnTypeEnum, TableFilterControlTypeEnum, TableFilterOptionsSourceTypeEnum, TableInlineEditStartModeEnum, TableInlineEditorTypeEnum, TableModel, TableRowActionsDropdownButtonStyleEnum, TableStatusToneEnum, TabsElement, TabsModel, TabsProModel, TemplateEngineService, TemplateStorageModeEnum, TextAreaModel, TextInputModel, TimePickerModel, ToastModel, ToggleSwitchModel, TooltipComponent, UiTranslatePipe, UiTranslationService, ValidatorService, ValueChangeTriggerEnum, VideoModel, applyDynamicPanelRowNumberingContext, applyElementRowContext, applyRuntimeNumberingContext, applyStructureMigrations, applyViewportBreakpoints, bridgeNgxViewBuilderApiEvents, buildElementRowRuntimeContext, buildFocusKey, buildResponsiveColumnStyle, clearStructureMigrationNotice, cloneRecord, cloneValue, composeCssSize, configureStructureMigrations, createUuid, describeDragEvent, describeElementModel, describeEventTarget, describeMouseEvent, elements, emptyTemplateContainerValue, getMobileBreakpoint, getRuntimeTextContext, getStructureMigrationConfig, getTabletBreakpoint, getViewportContentWidth, isDataJsonCapableElementType, isDragDebugEnabled, isMobileViewport, isMobileWidth, isPlainRecord, isRelativeResponsiveWidth, isSingleObjectContainerType, isTabletViewport, isTabletWidth, isTemplateContainerType, lastStructureMigration, logDragDebug, logDragDebugThrottled, migrateStructure, normalizeBreakpoint, normalizeCssSizeUnit, normalizeResponsiveCssSize, normalizeStringList, provideNgxViewBuilderExtensions, provideNgxViewBuilderMigrations, provideNgxViewBuilderProjectLayer, provideNgxViewBuilderProjectLayers, provideNgxViewBuilderRuntime, provideNgxViewBuilderUiTranslations, pruneStructureSettings, readSchemaVersion, recordStructureMigration, resetStructureMigrationConfig, resolveAllowedPhoneCountries, resolveCssSizeSetting, resolveElementRowContext, resolveElementRowScope, resolveElementRowScopedPath, resolveFixedViewport, resolvePhoneCountry, resolveResponsiveDisplayWidth, resolveResponsiveWidth, resolveRuntimeTextContextValue, resolveStructureSettings, rowIndexOfCellPath, setElementRowContext, setViewportContentWidth, templateRowPath };
9616
9719
  export type { BreadcrumbsItemsSource, BuilderPageDisplayMode, ChartLegendLayout, ChartType, ColumnFragmentMode, DatePickerMode, DialogHeadingLevel, DialogMode, DialogTriggerAlign, DialogTriggerIconPosition, DialogTriggerVariant, ElementActionButtonTone, ElementActionButtonVariant, ElementActionDialogOperation, ElementActionResponseMode, ElementActionSetValueMode, ElementActionToastPosition, ElementActionToastVariant, ElementActionTrigger, ElementActionType, ElementDataSourceUseFor, ElementExecutionMode, ElementGroup, ElementRowScope, EmptyBlockFormStatus, EmptyBlockType, IAccordionItem, IBaseElement, IBreadcrumbItem, IBuilderAfterPropertyChangedEvent, IBuilderDragEndEvent, IBuilderDragStartEvent, IBuilderDropEvent, IBuilderElementContextMenuPayload, IBuilderElementContextMenuRequestedEvent, IBuilderElementFocusEvent, IBuilderPageFocusEvent, IBuilderPropertyMutationPayload, IBuilderRelocateDragStartEvent, IBuilderSaveRequestedEvent, IBuilderSidebarGroupDeleteRequestedEvent, IBuilderSidebarGroupDeletedEvent, IBuilderSidebarGroupDeletedPayload, IBuilderSidebarGroupsSetRequestedEvent, IBuilderSidebarSaveFocusedCopyRequestedEvent, IBuilderSidebarSaveFocusedGroupRequestedEvent, IBuilderSidebarTemplateSavedEvent, IBuilderSidebarTemplatesSetRequestedEvent, IBuilderSidebarTemplatesSetRequestedPayload, IChartPoint, IColumn, ICreateModelOptions, IDataSource, IDataSourceChangedEvent, IDataSourceParamMapping, IDateRangeValue, IDescribeElementOptions, IDynamicTableColumn, IDynamicTableRowColumn, IElementActionConfig, IElementActionRunEvent, IElementChangedEvent, IElementChangingEvent, IElementDataSource, IElementRef, IElementRowContext, IElementValidateEvent, IElementValueChangedEvent, IElementValueChangingEvent, IEvent, IFixedViewport, IForgeInitializerOptions, IHeader, IJexlFunctionDescriptor, IJexlFunctionRegistration, ILegacyTabsProItem, ILocaleChoice, ILocalization, INgxViewBuilderAccordionItemToggledEvent, INgxViewBuilderAiAddElementCommand, INgxViewBuilderAiAddPageCommand, INgxViewBuilderAiAddRowCommand, INgxViewBuilderAiAssistantConfig, INgxViewBuilderAiAssistantConfigEvent, INgxViewBuilderAiAuditEntry, INgxViewBuilderAiCommand, INgxViewBuilderAiCommandDoc, INgxViewBuilderAiDeleteDataSourceCommand, INgxViewBuilderAiDeleteElementCommand, INgxViewBuilderAiDeleteFragmentCommand, INgxViewBuilderAiDeletePageCommand, INgxViewBuilderAiDeleteRowCommand, INgxViewBuilderAiDeleteRuleCommand, INgxViewBuilderAiDeleteSidebarGroupCommand, INgxViewBuilderAiDeleteTemplateCommand, INgxViewBuilderAiDeleteTriggerCommand, INgxViewBuilderAiDeleteVariableCommand, INgxViewBuilderAiDuplicateElementCommand, INgxViewBuilderAiElementTypeDescriptor, INgxViewBuilderAiError, INgxViewBuilderAiExecuteOptions, INgxViewBuilderAiFeaturePack, INgxViewBuilderAiFocusElementCommand, INgxViewBuilderAiHelp, INgxViewBuilderAiInsertJsonCommand, INgxViewBuilderAiMoveElementCommand, INgxViewBuilderAiPropertyDescriptor, INgxViewBuilderAiRedoCommand, INgxViewBuilderAiReloadDataSourceCommand, INgxViewBuilderAiRenameElementCommand, INgxViewBuilderAiRenamePageCommand, INgxViewBuilderAiReplaceStructureCommand, INgxViewBuilderAiResult, INgxViewBuilderAiSaveSidebarGroupCommand, INgxViewBuilderAiSaveTemplateCommand, INgxViewBuilderAiSelection, INgxViewBuilderAiSetDataCommand, INgxViewBuilderAiSetHeaderCommand, INgxViewBuilderAiSetLanguageCommand, INgxViewBuilderAiSetLocalizationCommand, INgxViewBuilderAiSetProcessCommand, INgxViewBuilderAiSetRuntimeVariableContextCommand, INgxViewBuilderAiSetSettingsCommand, INgxViewBuilderAiSetTableFiltersCommand, INgxViewBuilderAiSetTableSettingsCommand, INgxViewBuilderAiSetThemeCommand, INgxViewBuilderAiSetUiTranslationsCommand, INgxViewBuilderAiSurface, INgxViewBuilderAiSwitchTabCommand, INgxViewBuilderAiTarget, INgxViewBuilderAiTemplateCatalog, INgxViewBuilderAiTemplateDescriptor, INgxViewBuilderAiTemplateHost, INgxViewBuilderAiTree, INgxViewBuilderAiTreeNode, INgxViewBuilderAiTreePage, INgxViewBuilderAiUndoCommand, INgxViewBuilderAiUpdateElementCommand, INgxViewBuilderAiUpdatePageCommand, INgxViewBuilderAiUpsertDataSourceCommand, INgxViewBuilderAiUpsertFragmentCommand, INgxViewBuilderAiUpsertRuleCommand, INgxViewBuilderAiUpsertTemplateCommand, INgxViewBuilderAiUpsertTriggerCommand, INgxViewBuilderAiUpsertVariableCommand, INgxViewBuilderAiUseTemplateCommand, INgxViewBuilderAiValidateCommand, INgxViewBuilderAiValidationIssue, INgxViewBuilderAutomationAction, INgxViewBuilderAutomationDefaults, INgxViewBuilderAutomationExportOptions, INgxViewBuilderAutomationExportResponse, INgxViewBuilderAutomationValidateOptions, INgxViewBuilderAutomationValidateResponse, INgxViewBuilderBuilderAdapter, INgxViewBuilderBuilderSettings, INgxViewBuilderBuilderTabDefinition, INgxViewBuilderClearValueOptions, INgxViewBuilderCompleteEvent, INgxViewBuilderCssVariablesEvent, INgxViewBuilderCurrentPageEvent, INgxViewBuilderCustomCssEvent, INgxViewBuilderCustomCssUrlsEvent, INgxViewBuilderCustomElementDefinition, INgxViewBuilderCustomElementGroup, INgxViewBuilderCustomThemeDefinition, INgxViewBuilderCustomThemeEvent, INgxViewBuilderDataSourceEventBase, INgxViewBuilderDataSourceLoadFailedEvent, INgxViewBuilderDataSourceLoadedEvent, INgxViewBuilderDataSourceLoadingEvent, INgxViewBuilderDataSourceReloadedEvent, INgxViewBuilderDataSourceTypeSettings, INgxViewBuilderDataSourceTypeSettingsEvent, INgxViewBuilderDialogClosedEvent, INgxViewBuilderElementApi, INgxViewBuilderElementColumnApi, INgxViewBuilderElementDefaults, INgxViewBuilderElementDefaultsEvent, INgxViewBuilderElementDefaultsOptions, INgxViewBuilderElementLookupResult, INgxViewBuilderElementPropertyChangedEvent, INgxViewBuilderElementPropertyChangingEvent, INgxViewBuilderElementPropertyEvent, INgxViewBuilderElementSubscriptionOptions, INgxViewBuilderElementTabChangedEvent, INgxViewBuilderElementValueEvent, INgxViewBuilderExtensionsConfig, INgxViewBuilderExternalConfig, INgxViewBuilderFeaturePack, INgxViewBuilderFeaturePackSummary, INgxViewBuilderFileUploadFilesEvent, INgxViewBuilderFragmentDefinition, INgxViewBuilderHeaderAction, INgxViewBuilderHeaderActionClickEvent, INgxViewBuilderHeadlessApi, INgxViewBuilderHeadlessOptions, INgxViewBuilderHeadlessValidateRequest, INgxViewBuilderLanguageEvent, INgxViewBuilderLanguageResolveOptions, INgxViewBuilderLanguageSyncHandle, INgxViewBuilderLanguageSyncOptions, INgxViewBuilderMcpClient, INgxViewBuilderMcpSettings, INgxViewBuilderMigrationConfig, INgxViewBuilderPreviewSettings, INgxViewBuilderProcessDefinition, INgxViewBuilderProcessStateDefinition, INgxViewBuilderProcessTransitionDefinition, INgxViewBuilderProjectLayer, INgxViewBuilderProjectLayerContext, INgxViewBuilderRenderEvent, INgxViewBuilderRepeaterApi, INgxViewBuilderRepeaterRowApi, INgxViewBuilderRepeaterRowEvent, INgxViewBuilderResolvedLanguage, INgxViewBuilderRowPathEntry, INgxViewBuilderRuleDefinition, INgxViewBuilderRuleEvaluatedEvent, INgxViewBuilderRuleEvaluatingEvent, INgxViewBuilderRuntimeVariablesConfig, INgxViewBuilderSaveRequestedEvent, INgxViewBuilderSidebarGroupDefinition, INgxViewBuilderSidebarGroupDeletedEvent, INgxViewBuilderSidebarGroupInput, INgxViewBuilderSidebarGroupSavedEvent, INgxViewBuilderSidebarGroupsLoadedEvent, INgxViewBuilderSidebarLibraryItem, INgxViewBuilderSidebarTemplateSavedEvent, INgxViewBuilderStructureEvent, INgxViewBuilderSvgIconDirectoryConfig$1 as INgxViewBuilderSvgIconDirectoryConfig, INgxViewBuilderSvgIconDirectoryLoadResult$1 as INgxViewBuilderSvgIconDirectoryLoadResult, INgxViewBuilderTabEvent, INgxViewBuilderTableColumnSetting, INgxViewBuilderTableFiltersAppliedEvent, INgxViewBuilderTableFiltersEvent, INgxViewBuilderTableSavedFilter, INgxViewBuilderTableSavedFilterSaveRequestedEvent, INgxViewBuilderTableSavedFiltersEvent, INgxViewBuilderTableSavedFiltersRequestEvent, INgxViewBuilderTableSettingsAppliedEvent, INgxViewBuilderTableSettingsEvent, INgxViewBuilderTableSettingsRequestEvent, INgxViewBuilderTableSettingsSaveRequestedEvent, INgxViewBuilderTemplateDefinition, INgxViewBuilderTemplateDeletedEvent, INgxViewBuilderTemplateInput, INgxViewBuilderTemplateSavedEvent, INgxViewBuilderTemplatesLoadedEvent, INgxViewBuilderThemeModeEvent, INgxViewBuilderToastPayload, INgxViewBuilderTriggerDefinition, INgxViewBuilderTriggerHandledEvent, INgxViewBuilderTriggerHandlingEvent, INgxViewBuilderUiTranslationsProviderConfig, INgxViewBuilderUiTranslationsProviderOptions, INgxViewBuilderValidateDataOptions, INgxViewBuilderValidationEvent, INgxViewBuilderValidationIssue, INgxViewBuilderValidationToastOptions, INgxViewBuilderValidatorContext, INgxViewBuilderValidatorError, INgxViewBuilderValidatorIssue, INgxViewBuilderValidatorResponse, INgxViewBuilderValidatorTypeDescriptor, INgxViewBuilderValidatorTypeRegistration, INgxViewBuilderValidatorValidateOptions, INgxViewBuilderWebsocketConnection, INgxViewBuilderWebsocketConnectionContext, INumberingContextEntry, INumberingTextContext, INvbElementEntry, INvbElementValueChange, IOption, IPage, IPhoneCountryOption, IPhoneInputValue, IProgressFlowItem, IResolvedCssSizeSetting, IResolvedStructureSettings, IResponsiveColumnStyleOptions, IResponsiveViewportState, IRouteBreadcrumbConfig, IRow, IRuntimeRouteVariables, IRuntimeVariableDefinition, ISettings, ISplitterPanel, IStructure, IStructureMigration, IStructureMigrationOutput, IStructureMigrationResult, ITabDefinition, ITableCellElementType, ITableColumnConfig, ITableColumnElementConfig, ITableCustomParam, ITableDataSourceConfig, ITableExtendedParam, ITableExtendedParamValue, ITablePagingParams, ITableRequestParamTuple, ITableRequestPayload, ITableRowActionConfig, ITableStatusRule, ITabsProItem, ITemplateDefinition, ITranslationEntry, IUploadedFileMeta, IValidator, IValueChangedEvent, IValueChangingEvent, IValueClearEvent, IValueMutationEvent, ListBoxSelectionMode, ListGridLayout, ListGridSortDirection, NgxViewBuilderAiActionOp, NgxViewBuilderAiErrorCode, NgxViewBuilderAiMutationOp, NgxViewBuilderAiOp, NgxViewBuilderAlign, NgxViewBuilderAutomationActionType, NgxViewBuilderBuilderTabCode, NgxViewBuilderBuilderTabRenderMode, NgxViewBuilderChromePosition, NgxViewBuilderDataSourceType, NgxViewBuilderDialogCloseReason, NgxViewBuilderExecutionReason, NgxViewBuilderExtensionsFactory, NgxViewBuilderFeaturePackCapability, NgxViewBuilderInteractionStatus, NgxViewBuilderMcpStatus, NgxViewBuilderPageNavigationMode, NgxViewBuilderPreviewMode, NgxViewBuilderProjectLayerExtensionsFactory, NgxViewBuilderRenderMode, NgxViewBuilderRenderPhase, NgxViewBuilderRuleExecutedBranch, NgxViewBuilderRuleRunMode, NgxViewBuilderSaveRequestedSource, NgxViewBuilderSizeUnit, NgxViewBuilderTableSettingsSource, NgxViewBuilderThemeMode, NgxViewBuilderTriggerEvent, NgxViewBuilderUnsubscribe, NgxViewBuilderUnsupportedSchemaAction, NgxViewBuilderWebsocketAuthorizer, NgxViewBuilderWebsocketMessageMode, NumberStepperOrientation, OnDragStartEvent, OnElementFocusEvent, ProgressBarDisplayType, ProgressBarStyleType, ProgressBarValueLabelMode, ProgressBarVariant, ProgressFlowItemSourceMode, ProgressFlowMode, ProgressFlowVariant, RuntimeVariableSourceType, SelectGroup, SignaturePadExportFormat, SplitterOrientation, TableColumnAlign, TableColumnCellActionsDisplayMode, TableColumnType, TableFilterControlType, TableFilterOptionsSourceType, TableInlineEditStartMode, TableInlineEditorType, TableRowActionsDropdownButtonStyle, TableStatusTone, TabsItemSourceMode, TabsPosition, TabsVariant, TemplateStorageMode, TimePickerFormat, ToggleSwitchMode, ToggleSwitchShape, UiDictionaries, UiDictionary, ValueChangeTrigger };