@ngxviewbuilder/runtime 0.10.1 → 0.10.2

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-B7TlmNyp.mjs";class n{model=v.required(...ngDevMode?[{debugName:"model"}]:[]);tid=b(this.model,"nvb-toast","toast");visible=p(true,...ngDevMode?[{debugName:"visible"}]:[]);elementActionService=a(h);uiTranslationService=a(g);hideTimeoutId=null;autoHideStartedAt=0;autoHideDelayMs=0;autoHideRemainingMs=0;isEditor=e(()=>x.isEditor(),...ngDevMode?[{debugName:"isEditor"}]:[]);shellClass=e(()=>{const t=this.resolvePosition();return{[`nvb-toast-shell--${t}`]:true,"nvb-toast-shell--editor":this.isEditor()}},...ngDevMode?[{debugName:"shellClass"}]:[]);variantClass=e(()=>`nvb-toast--${this.resolveVariant()}`,...ngDevMode?[{debugName:"variantClass"}]:[]);iconName=e(()=>{const t=String(this.model()?.icon??"").trim();if(t){return t}switch(this.resolveVariant()){case"success":return"check_circle";case"warning":return"warning";case"error":return"error";default:return"info"}},...ngDevMode?[{debugName:"iconName"}]:[]);showActionButton=e(()=>String(this.model()?.actionText??"").trim().length>0,...ngDevMode?[{debugName:"showActionButton"}]:[]);ngOnInit(){this.visible.set(Boolean(this.model()?.initiallyVisible??true));if(this.isEditor()){this.visible.set(true);return}this.scheduleAutoHide()}ngOnDestroy(){this.clearAutoHide()}onToastClick(t){t.stopPropagation();void this.runActions("click")}onActionClick(t){t.preventDefault();t.stopPropagation();void this.runActions("action")}onDismissClick(t){t.preventDefault();t.stopPropagation();this.visible.set(false);this.clearAutoHide();void this.runActions("dismiss")}pauseAutoHide(){if(this.isEditor()||this.hideTimeoutId===null){return}const t=Date.now()-this.autoHideStartedAt;this.autoHideRemainingMs=Math.max(1e3,this.autoHideDelayMs-t);this.clearAutoHide()}resumeAutoHide(){if(this.isEditor()||!this.visible()||!this.model().autoHide||this.hideTimeoutId!==null){return}this.scheduleAutoHide(this.autoHideRemainingMs||this.resolveAutoHideDelayMs())}resolvedTitle(){const t=String(this.model()?.title??"").trim();return t==="Notification"?this.uiTranslationService.translate("toast.titleDefault","Notification"):t}resolvedDescription(){const t=String(this.model()?.descriptionText??"").trim();return t==="Toast message"?this.uiTranslationService.translate("toast.descriptionDefault","Toast message"):t}dismissLabel(){return this.uiTranslationService.translate("common.dismiss","Dismiss")}toastAriaLive(){return this.resolveVariant()==="info"?"polite":"assertive"}toastRole(){return this.toastAriaLive()==="assertive"?"alert":"status"}scheduleAutoHide(t=this.resolveAutoHideDelayMs()){this.clearAutoHide();if(!this.visible()){return}if(!this.model().autoHide){return}this.autoHideDelayMs=t;this.autoHideRemainingMs=t;this.autoHideStartedAt=Date.now();this.hideTimeoutId=setTimeout(()=>{this.visible.set(false);this.hideTimeoutId=null;void this.runActions("autoHide")},t)}clearAutoHide(){if(this.hideTimeoutId===null){return}clearTimeout(this.hideTimeoutId);this.hideTimeoutId=null}resolveAutoHideDelayMs(){const t=Number(this.model()?.autoHideMs);if(Number.isFinite(t)&&t>=0){return Math.floor(t)}return 7e3}async runActions(t){const i={action:t,value:this.model().value,item:null,row:null};const s=String(this.model().name??"").trim();if(s){i[s]=this.model().value}await this.elementActionService.runActions(this.model(),this.model().events??[],"click",i)}resolveVariant(){const t=String(this.model()?.variant??"info").trim().toLowerCase();if(t==="error"||t==="danger"||t==="risk"){return"error"}if(t==="warning"||t==="warn"){return"warning"}if(t==="success"||t==="ok"){return"success"}if(t==="info"||t==="neutral"){return"info"}return"info"}resolvePosition(){const t=String(this.model()?.position??"top-right").trim().toLowerCase();if(t==="top-left"||t==="top-center"||t==="top-right"||t==="bottom-left"||t==="bottom-center"||t==="bottom-right"){return t}return"top-right"}static ɵfac=o.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.1.4",ngImport:o,type:n,deps:[],target:o.ɵɵFactoryTarget.Component});static ɵcmp=o.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.1.4",type:n,isStandalone:true,selector:"toast-element",inputs:{model:{classPropertyName:"model",publicName:"model",isSignal:true,isRequired:true,transformFunction:null}},ngImport:o,template:"<element-wrapper [model]=\"model()\">\n @if (visible()) {\n <section class=\"nvb-toast-shell\" [ngClass]=\"shellClass()\" [attr.data-testid]=\"tid('root')\">\n <article\n class=\"nvb-toast\"\n [ngClass]=\"variantClass()\"\n [class.nvb-toast--no-icon]=\"!model().showIcon\"\n [attr.role]=\"toastRole()\"\n [attr.aria-live]=\"toastAriaLive()\"\n (click)=\"onToastClick($event)\"\n (mouseenter)=\"pauseAutoHide()\"\n (mouseleave)=\"resumeAutoHide()\"\n (focusin)=\"pauseAutoHide()\"\n (focusout)=\"resumeAutoHide()\"\n >\n @if (model().showIcon) {\n <span class=\"nvb-toast__media\" aria-hidden=\"true\">\n <nvb-icon class=\"nvb-toast__icon\" [name]=\"iconName()\"></nvb-icon>\n </span>\n }\n\n <div class=\"nvb-toast__content\">\n <h4 class=\"nvb-toast__title\">{{ resolvedTitle() | dynamicText: model() }}</h4>\n\n @if (resolvedDescription()) {\n <p class=\"nvb-toast__description\">\n {{ resolvedDescription() | dynamicText: model() }}\n </p>\n }\n </div>\n\n @if (showActionButton()) {\n <button type=\"button\" class=\"nvb-toast__action\" (click)=\"onActionClick($event)\">\n {{ model().actionText | dynamicText: model() }}\n </button>\n }\n\n @if (model().dismissible) {\n <button\n type=\"button\"\n class=\"nvb-toast__dismiss\"\n (click)=\"onDismissClick($event)\"\n [attr.aria-label]=\"dismissLabel()\"\n >\n <nvb-icon name=\"close\"></nvb-icon>\n </button>\n }\n </article>\n </section>\n }\n</element-wrapper>\n",styles:[":host{display:block;width:100%;font-family:var(--nvb-font-family)}.nvb-toast-shell{position:fixed;z-index:2147483500;width:min(360px,100vw - 32px);pointer-events:none;display:grid;gap:16px}.nvb-toast-shell--editor{position:relative;inset:auto;width:min(360px,100%);max-width:100%;margin-top:8px}.nvb-toast-shell--top-left{top:16px;left:16px}.nvb-toast-shell--top-center{top:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--top-right{top:16px;right:16px}.nvb-toast-shell--bottom-left{bottom:16px;left:16px}.nvb-toast-shell--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--bottom-right{bottom:16px;right:16px}.nvb-toast{--nvb-toast-icon-color: var(--nvb-color-primary-600);pointer-events:auto;position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 24px;gap:4px 12px;align-items:start;min-height:52px;padding:12px;border:1px solid var(--nvb-color-neutral-200);border-radius:var(--nvb-toast-radius, 4px);background:var(--nvb-color-neutral-000);color:var(--nvb-color-neutral-800);box-shadow:0 8px 16px color-mix(in oklab,var(--nvb-color-neutral-950) 14%,transparent),0 0 2px color-mix(in oklab,var(--nvb-color-neutral-950) 12%,transparent);overflow:hidden}.nvb-toast__media{grid-column:1;grid-row:1/span 2;width:20px;height:20px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;color:var(--nvb-toast-icon-color);flex:0 0 auto}.nvb-toast__icon{font-size:20px;line-height:1}.nvb-toast__content{grid-column:2;min-width:0;display:grid;gap:2px}.nvb-toast--no-icon .nvb-toast__content,.nvb-toast--no-icon .nvb-toast__action{grid-column:1/3}.nvb-toast__title{margin:0;font-size:14px;font-weight:600;line-height:20px;letter-spacing:0;color:var(--nvb-color-neutral-900)}.nvb-toast__description{margin:0;font-size:13px;line-height:18px;color:var(--nvb-color-neutral-600);overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nvb-toast__action{grid-column:2;justify-self:start;min-height:22px;padding:0;border:0;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-primary-700);font:inherit;font-size:13px;line-height:20px;font-weight:600;cursor:pointer;white-space:nowrap}.nvb-toast__action:hover{color:var(--nvb-color-primary-800);text-decoration:underline;text-underline-offset:2px}.nvb-toast__action:focus-visible,.nvb-toast__dismiss:focus-visible{outline:0;box-shadow:var(--nvb-focus-ring)}.nvb-toast__dismiss{grid-column:3;grid-row:1;width:24px;height:24px;margin:-2px -2px 0 0;border:1px solid transparent;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-neutral-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,color .16s ease}.nvb-toast__dismiss:hover{background:var(--nvb-color-neutral-100);color:var(--nvb-color-neutral-900)}.nvb-toast--info{--nvb-toast-icon-color: var(--nvb-color-primary-600)}.nvb-toast--success{--nvb-toast-icon-color: var(--nvb-color-success-700)}.nvb-toast--warning{--nvb-toast-icon-color: var(--nvb-color-warning-700)}.nvb-toast--error{--nvb-toast-icon-color: var(--nvb-color-risk-700)}@media(max-width:520px){.nvb-toast-shell{width:min(360px,100vw - 24px)}}\n"],dependencies:[{kind:"component",type:l,selector:"element-wrapper",inputs:["model","controlIdInput","labelForInput","groupRole","showTextWrapperInput"],exportAs:["elementWrapper"]},{kind:"directive",type:r,selector:"[ngClass]",inputs:["class","ngClass"]},{kind:"component",type:c,selector:"nvb-icon",inputs:["name","svg","ariaLabel"]},{kind:"pipe",type:d,name:"dynamicText"}],changeDetection:o.ChangeDetectionStrategy.OnPush})}o.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"22.1.4",ngImport:o,type:n,decorators:[{type:m,args:[{selector:"toast-element",changeDetection:u.OnPush,imports:[l,r,d,c],template:"<element-wrapper [model]=\"model()\">\n @if (visible()) {\n <section class=\"nvb-toast-shell\" [ngClass]=\"shellClass()\" [attr.data-testid]=\"tid('root')\">\n <article\n class=\"nvb-toast\"\n [ngClass]=\"variantClass()\"\n [class.nvb-toast--no-icon]=\"!model().showIcon\"\n [attr.role]=\"toastRole()\"\n [attr.aria-live]=\"toastAriaLive()\"\n (click)=\"onToastClick($event)\"\n (mouseenter)=\"pauseAutoHide()\"\n (mouseleave)=\"resumeAutoHide()\"\n (focusin)=\"pauseAutoHide()\"\n (focusout)=\"resumeAutoHide()\"\n >\n @if (model().showIcon) {\n <span class=\"nvb-toast__media\" aria-hidden=\"true\">\n <nvb-icon class=\"nvb-toast__icon\" [name]=\"iconName()\"></nvb-icon>\n </span>\n }\n\n <div class=\"nvb-toast__content\">\n <h4 class=\"nvb-toast__title\">{{ resolvedTitle() | dynamicText: model() }}</h4>\n\n @if (resolvedDescription()) {\n <p class=\"nvb-toast__description\">\n {{ resolvedDescription() | dynamicText: model() }}\n </p>\n }\n </div>\n\n @if (showActionButton()) {\n <button type=\"button\" class=\"nvb-toast__action\" (click)=\"onActionClick($event)\">\n {{ model().actionText | dynamicText: model() }}\n </button>\n }\n\n @if (model().dismissible) {\n <button\n type=\"button\"\n class=\"nvb-toast__dismiss\"\n (click)=\"onDismissClick($event)\"\n [attr.aria-label]=\"dismissLabel()\"\n >\n <nvb-icon name=\"close\"></nvb-icon>\n </button>\n }\n </article>\n </section>\n }\n</element-wrapper>\n",styles:[":host{display:block;width:100%;font-family:var(--nvb-font-family)}.nvb-toast-shell{position:fixed;z-index:2147483500;width:min(360px,100vw - 32px);pointer-events:none;display:grid;gap:16px}.nvb-toast-shell--editor{position:relative;inset:auto;width:min(360px,100%);max-width:100%;margin-top:8px}.nvb-toast-shell--top-left{top:16px;left:16px}.nvb-toast-shell--top-center{top:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--top-right{top:16px;right:16px}.nvb-toast-shell--bottom-left{bottom:16px;left:16px}.nvb-toast-shell--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.nvb-toast-shell--bottom-right{bottom:16px;right:16px}.nvb-toast{--nvb-toast-icon-color: var(--nvb-color-primary-600);pointer-events:auto;position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 24px;gap:4px 12px;align-items:start;min-height:52px;padding:12px;border:1px solid var(--nvb-color-neutral-200);border-radius:var(--nvb-toast-radius, 4px);background:var(--nvb-color-neutral-000);color:var(--nvb-color-neutral-800);box-shadow:0 8px 16px color-mix(in oklab,var(--nvb-color-neutral-950) 14%,transparent),0 0 2px color-mix(in oklab,var(--nvb-color-neutral-950) 12%,transparent);overflow:hidden}.nvb-toast__media{grid-column:1;grid-row:1/span 2;width:20px;height:20px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;color:var(--nvb-toast-icon-color);flex:0 0 auto}.nvb-toast__icon{font-size:20px;line-height:1}.nvb-toast__content{grid-column:2;min-width:0;display:grid;gap:2px}.nvb-toast--no-icon .nvb-toast__content,.nvb-toast--no-icon .nvb-toast__action{grid-column:1/3}.nvb-toast__title{margin:0;font-size:14px;font-weight:600;line-height:20px;letter-spacing:0;color:var(--nvb-color-neutral-900)}.nvb-toast__description{margin:0;font-size:13px;line-height:18px;color:var(--nvb-color-neutral-600);overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nvb-toast__action{grid-column:2;justify-self:start;min-height:22px;padding:0;border:0;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-primary-700);font:inherit;font-size:13px;line-height:20px;font-weight:600;cursor:pointer;white-space:nowrap}.nvb-toast__action:hover{color:var(--nvb-color-primary-800);text-decoration:underline;text-underline-offset:2px}.nvb-toast__action:focus-visible,.nvb-toast__dismiss:focus-visible{outline:0;box-shadow:var(--nvb-focus-ring)}.nvb-toast__dismiss{grid-column:3;grid-row:1;width:24px;height:24px;margin:-2px -2px 0 0;border:1px solid transparent;border-radius:var(--nvb-button-radius, 4px);background:transparent;color:var(--nvb-color-neutral-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,color .16s ease}.nvb-toast__dismiss:hover{background:var(--nvb-color-neutral-100);color:var(--nvb-color-neutral-900)}.nvb-toast--info{--nvb-toast-icon-color: var(--nvb-color-primary-600)}.nvb-toast--success{--nvb-toast-icon-color: var(--nvb-color-success-700)}.nvb-toast--warning{--nvb-toast-icon-color: var(--nvb-color-warning-700)}.nvb-toast--error{--nvb-toast-icon-color: var(--nvb-color-risk-700)}@media(max-width:520px){.nvb-toast-shell{width:min(360px,100vw - 24px)}}\n"]}]}],propDecorators:{model:[{type:o.Input,args:[{isSignal:true,alias:"model",required:true}]}]}});export{n as ToastElement};
@@ -1 +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-B7TlmNyp.mjs";export{s as ALIGN_CLASS_MAP,i as ALIGN_CLASS_PREFIX,t as APPLICATION_LOCALE_VALUE,o as AccordionElement,l as AccordionModel,r as ApplicationLocaleService,n as AutocompleteModel,E as AvatarModel,d as BLOCK_TAGS,_ as BUILT_IN_STRUCTURE_MIGRATIONS,S as BUILT_IN_TABLE_CELL_ELEMENT_TYPES,c as BadgeModel,u as BreadcrumbsModel,T as BuilderModel,A as BuilderPageDisplayModeEnum,m as BuilderTabRegistryService,I as ButtonModel,N as COLOR_CLASS_PREFIX,C as CURRENT_SCHEMA_VERSION,L as ChartModel,M as CheckboxInputModel,R as ChoiceModel,b as ColumnFragmentModeEnum,g as ColumnModel,B as ComponentRegistryService,p as ConfirmDialog,O as CreatorStructureService,P as CustomHtmlModel,v as DATA_JSON_CAPABLE_ELEMENT_TYPES,V as DEFAULT_FONT,D as DEFAULT_FONT_CLASS,x as DEFAULT_HIGHLIGHT_COLOR,w as DEFAULT_LINE_HEIGHT_VALUE,U as DEFAULT_MOBILE_BREAKPOINT,y as DEFAULT_SIZE_CLASS,G as DEFAULT_SIZE_VALUE,H as DEFAULT_TABLET_BREAKPOINT,F as DEFAULT_TABLE_COLUMNS,X as DEFAULT_TABLE_ROWS,W as DEFAULT_TEXT_COLOR,h as DataService,Y as DataSourceModel,K as DataSourceService,k as DatePickerModel,z as DateRangeModel,f as DialogDragController,Z as DialogElement,j as DialogModel,J as DividerModel,q as DomInstrumentationService,Q as DragAndDropService,$ as DragAutoScrollService,ee as DynamicPanel,ae as DynamicPanelModel,se as DynamicTableColumnModel,ie as DynamicTableModel,te as DynamicTableRowColumnModel,oe as DynamicTextPipe,le as ELEMENT_ROW_CONTEXT_KEY,re as ELEMENT_ROW_SCOPE_PATH_KEY,ne as EN_UI_DICTIONARY,Ee as EXCLUDE_FROM_DATA_JSON_KEY,de as ElementActionButtonToneEnum,_e as ElementActionButtonVariantEnum,Se as ElementActionDialogOperationEnum,ce as ElementActionResponseModeEnum,ue as ElementActionService,Te as ElementActionSetValueModeEnum,Ae as ElementActionToastPositionEnum,me as ElementActionToastVariantEnum,Ie as ElementActionTriggerEnum,Ne as ElementActionTypeEnum,Ce as ElementBaseModel,Le as ElementContentBox,Me as ElementContentRow,Re as ElementDataSourceUseForEnum,be as ElementDefaultsService,ge as ElementExecutionModeEnum,Be as ElementFocusService,pe as ElementTypesEnum,Oe as ElementsService,Pe as EmptyBlockElement,ve as EmptyBlockModel,Ve as EventService,De as ExpressionService,xe as FONT_CLASS_MAP,we as FONT_CLASS_PREFIX,Ue as FeaturePackRegistryService,ye as FileUploadModel,Ge as ForgeInitializerService,He as HIGHLIGHT_CLASS_PREFIX,Fe as HIGHLIGHT_SWATCHES,Xe as HISTORY_COALESCE_MS,We as HeaderModel,he as HeaderTabEnum,Ye as INDENT_CLASS_PREFIX,Ke as INLINE_TAGS,ke as IconModel,ze as IconSvgService,fe as IframeModel,Ze as ImageModel,je as LEGACY_LINE_HEIGHT_CLASS_MAP,Je as LEGACY_SCHEMA_VERSION,qe as LEGACY_SIZE_CLASS_MAP,Qe as LINE_HEIGHT_CLASS_MAP,$e as LINE_HEIGHT_CLASS_PREFIX,ea as LINE_HEIGHT_OPTION_VALUES,aa as LOCALE_CHOICES,sa as ListBoxModel,ia as ListGridModel,ta as LocalizationService,oa as MANAGED_STRUCTURE_SETTING_KEYS,la as MARK_TAG_MAP,ra as MAX_HISTORY_ENTRIES,na as MAX_INDENT_LEVEL,Ea as MarkupSecurityService,da as MessageCardModel,_a as ModelService,Sa as MultiSelectInputModel,ca as NGX_VIEW_BUILDER_AI_ACTION_TYPES,ua as NGX_VIEW_BUILDER_AI_API_VERSION,Ta as NGX_VIEW_BUILDER_AI_AUTOMATION_ACTION_TYPES,Aa as NGX_VIEW_BUILDER_AI_ROW_CONTAINERS,ma as NGX_VIEW_BUILDER_AI_TAB_CONTAINERS,Ia as NGX_VIEW_BUILDER_AI_TEMPLATES_CAPABILITY,Na as NGX_VIEW_BUILDER_AI_VALIDATOR_TYPES,Ca as NGX_VIEW_BUILDER_ANY_ELEMENT_TYPE,La as NGX_VIEW_BUILDER_BRIDGE_PROTOCOL_VERSION,Ma as NGX_VIEW_BUILDER_HOSTED_MCP_URL,Ra as NGX_VIEW_BUILDER_MCP_KEY_TTL_MS,ba as NGX_VIEW_BUILDER_PROJECT_LAYER,ga as NGX_VIEW_BUILDER_UI_TRANSLATIONS,Ba as NVB_TEXT_CONTEXT_KEY,pa as NgxViewBuilder,Oa as NgxViewBuilderActionExecutorService,Pa as NgxViewBuilderAiApiService,va as NgxViewBuilderAlignEnum,Va as NgxViewBuilderApiService,Da as NgxViewBuilderAutomationActionTypeEnum,xa as NgxViewBuilderAutomationService,wa as NgxViewBuilderBuilderTabRenderModeEnum,Ua as NgxViewBuilderChromePositionEnum,ya as NgxViewBuilderDataSourceTypeEnum,Ga as NgxViewBuilderDialogCloseReasonEnum,Ha as NgxViewBuilderExecutionReasonEnum,Fa as NgxViewBuilderHeadlessService,Xa as NgxViewBuilderInteractionStatusEnum,Wa as NgxViewBuilderMcpBridgeService,ha as NgxViewBuilderPageNavigationModeEnum,Ya as NgxViewBuilderPreviewModeEnum,Ka as NgxViewBuilderProcessService,ka as NgxViewBuilderRenderModeEnum,za as NgxViewBuilderRenderPhaseEnum,fa as NgxViewBuilderRenderer,Za as NgxViewBuilderRuleExecutedBranchEnum,ja as NgxViewBuilderRuleRunModeEnum,Ja as NgxViewBuilderRulesEngineService,qa as NgxViewBuilderRuntime,Qa as NgxViewBuilderSaveRequestedSourceEnum,$a as NgxViewBuilderTableSettingsSourceEnum,es as NgxViewBuilderThemeModeEnum,as as NgxViewBuilderTriggerEngineService,ss as NgxViewBuilderTriggerEventEnum,is as NgxViewBuilderValidator,ts as NgxViewBuilderWebsocketMessageModeEnum,os as NumberInputModel,ls as NumberStepperModel,rs as NvbElement,ns as NvbElementContextService,Es as NvbIcon,ds as NvbRichTextEditor,_s as NvbRows,Ss as NvbScope,cs as NvbSelect,us as NvbStyleOutlet,Ts as NvbTab,As as ObjectPanelModel,ms as PHONE_COUNTRY_OPTIONS,Is as PHONE_COUNTRY_PROPERTY_CHOICES,Ns as PageElement,Cs as PageTitleModel,Ls as PanelElement,Ms as PanelModel,Rs as PhoneInputModel,bs as PreviewRendererService,gs as ProgressBarModel,Bs as ProgressFlowElement,ps as ProgressFlowModel,Os as PropertyModel,Ps as RICH_TEXT_DEFAULT_TOOLBAR_TOOLS,vs as RICH_TEXT_TOOLBAR_ICONS,Vs as RICH_TEXT_TOOLBAR_TOOLS,Ds as ROOT_BLOCK_TAGS,xs as RadioInputModel,ws as RendererService,Us as RichTextModel,ys as RouterOutletModel,Gs as RowModel,Hs as RuntimeDynamicPanel,Fs as RuntimeVariableSourceTypeEnum,Xs as RuntimeVariablesService,Ws as SINGLE_OBJECT_CONTAINER_TYPES,hs as SIZE_CLASS_MAP,Ys as SIZE_CLASS_PREFIX,Ks as SIZE_OPTION_VALUES,ks as SPECIAL_CHARACTERS,zs as SelectButtonModel,fs as SelectInputModel,Zs as SettingsModel,js as SignaturePadModel,Js as SingleCheckboxModel,qs as SliderModel,Qs as SpacerModel,$s as SplitterElement,ei as SplitterModel,ai as StateService,si as StatsCardModel,ii as StructureMigrationService,ti as StructureModel,oi as StructureService,li as TABLE_BORDER_CLASS_PREFIX,ri as TABLE_CELL_BACKGROUND_SWATCHES,ni as TABLE_CELL_VALIGN_CLASS_MAP,Ei as TABLE_CELL_VALIGN_CLASS_PREFIX,di as TABLE_CLASS,_i as TABLE_PICKER_COLUMNS,Si as TABLE_PICKER_ROWS,ci as TASK_ITEM_CHECKED_CLASS,ui as TASK_ITEM_CLASS,Ti as TASK_ITEM_MARKER_WIDTH,Ai as TASK_LIST_CLASS,mi as TEMPLATE_CONTAINER_TYPES,Ii as TableCellElementRegistryService,Ni as TableColumnAlignEnum,Ci as TableColumnCellActionsDisplayModeEnum,Li as TableColumnTypeEnum,Mi as TableFilterControlTypeEnum,Ri as TableFilterOptionsSourceTypeEnum,bi as TableInlineEditStartModeEnum,gi as TableInlineEditorTypeEnum,Bi as TableModel,pi as TableRowActionsDropdownButtonStyleEnum,Oi as TableStatusToneEnum,Pi as TabsElement,vi as TabsModel,Vi as TabsProModel,Di as TemplateEngineService,xi as TemplateStorageModeEnum,wi as TextAreaModel,Ui as TextInputModel,yi as TimePickerModel,Gi as ToastModel,Hi as ToggleSwitchModel,Fi as TooltipComponent,Xi as UiTranslatePipe,Wi as UiTranslationService,hi as ValidatorService,Yi as ValueChangeTriggerEnum,Ki as VideoModel,ki as applyDynamicPanelRowNumberingContext,zi as applyElementRowContext,fi as applyRuntimeNumberingContext,Zi as applyStructureMigrations,ji as applyViewportBreakpoints,Ji as bridgeNgxViewBuilderApiEvents,qi as buildElementRowRuntimeContext,Qi as buildFocusKey,$i as buildResponsiveColumnStyle,et as clearStructureMigrationNotice,at as cloneRecord,st as cloneValue,it as composeCssSize,tt as configureStructureMigrations,ot as createUuid,lt as describeDragEvent,rt as describeElementModel,nt as describeEventTarget,Et as describeMouseEvent,dt as elements,_t as emptyTemplateContainerValue,St as getMobileBreakpoint,ct as getRuntimeTextContext,ut as getStructureMigrationConfig,Tt as getTabletBreakpoint,At as getViewportContentWidth,mt as isDataJsonCapableElementType,It as isDragDebugEnabled,Nt as isMobileViewport,Ct as isMobileWidth,Lt as isPlainRecord,Mt as isRelativeResponsiveWidth,Rt as isSingleObjectContainerType,bt as isTabletViewport,gt as isTabletWidth,Bt as isTemplateContainerType,pt as lastStructureMigration,Ot as logDragDebug,Pt as logDragDebugThrottled,vt as migrateStructure,Vt as normalizeBreakpoint,Dt as normalizeCssSizeUnit,xt as normalizeResponsiveCssSize,wt as normalizeStringList,Ut as provideNgxViewBuilderExtensions,yt as provideNgxViewBuilderMigrations,Gt as provideNgxViewBuilderProjectLayer,Ht as provideNgxViewBuilderProjectLayers,Ft as provideNgxViewBuilderRuntime,Xt as provideNgxViewBuilderUiTranslations,Wt as pruneStructureSettings,ht as readSchemaVersion,Yt as recordStructureMigration,Kt as resetStructureMigrationConfig,kt as resolveAllowedPhoneCountries,zt as resolveCssSizeSetting,ft as resolveElementRowContext,Zt as resolveElementRowScope,jt as resolveElementRowScopedPath,Jt as resolveFixedViewport,qt as resolvePhoneCountry,Qt as resolveResponsiveDisplayWidth,$t as resolveResponsiveWidth,eo as resolveRuntimeTextContextValue,ao as resolveStructureSettings,so as rowIndexOfCellPath,io as setElementRowContext,to as setViewportContentWidth,oo as templateRowPath};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxviewbuilder/runtime",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
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;
@@ -5760,6 +5778,12 @@ declare function isSingleObjectContainerType(type: unknown): boolean;
5760
5778
  declare function templateRowPath(containerPath: string, rowIndex: number, containerType: unknown): string;
5761
5779
  /** The empty value of a template container: `[]` for a repeater, `{}` for an object. */
5762
5780
  declare function emptyTemplateContainerValue(containerType: unknown): unknown[] | Record<string, unknown>;
5781
+ /**
5782
+ * The row a changed path points into when it is a value inside one row of a repeater:
5783
+ * `lines[3].lt` under `lines` gives 3. The repeater itself, a whole row (`lines[3]`) or
5784
+ * anything outside it gives null, since those can add or replace rows.
5785
+ */
5786
+ declare function rowIndexOfCellPath(changedPath: string, containerPath: string): number | null;
5763
5787
 
5764
5788
  /**
5765
5789
  * Row context carried by element models that live inside a data row - today the
@@ -6220,8 +6244,19 @@ declare class StructureService {
6220
6244
  * repeater rows, so ordinary containers (panel, dialog, tabs, accordion, splitter) built from
6221
6245
  * rows/columns need this page-layout-tree walk instead. Falls back to the preview structure so
6222
6246
  * it also works for a deployed runtime consumer, which never populates the builder-only structure.
6247
+ *
6248
+ * The answer for every element is built in one walk and kept for the current burst
6249
+ * of work. Hiding elements asks this once per hidden element, and walking the whole
6250
+ * layout each time cost seconds on a form with a thousand fields. The layout does not
6251
+ * change inside one burst, and the index is dropped before the next task.
6223
6252
  */
6253
+ private layoutDescendantIndex;
6224
6254
  getLayoutDescendantElementNames(rootElementName: string): Set<string>;
6255
+ private buildLayoutDescendantIndex;
6256
+ /**
6257
+ * Walks the layout once: every name under a column is recorded as a descendant of each
6258
+ * enclosing element ref (`ancestors`), so one pass answers every element.
6259
+ */
6225
6260
  private collectLayoutDescendantsFromRows;
6226
6261
  private collectLayoutDescendantsFromTabRows;
6227
6262
  private collectElementRefsFromRows;
@@ -6315,13 +6350,29 @@ declare class ExpressionService {
6315
6350
  eventService: EventService;
6316
6351
  constructor();
6317
6352
  private evaluateMutationSources;
6353
+ private rowExpressionElementsOf;
6318
6354
  getRegisteredFunctions(): IJexlFunctionDescriptor[];
6355
+ /**
6356
+ * Dependencies per (data path, expression) for the current burst of work. Every value
6357
+ * change asks every element whether it depends on the changed path, which re-parsed
6358
+ * the same expressions tens of thousands of times on a large form.
6359
+ */
6360
+ private readonly dependencyCache;
6319
6361
  extractDependenciesFromExpression(expression: string, element?: ElementBaseModel | null): string[];
6320
6362
  registerFunction(definition: IJexlFunctionRegistration): void;
6321
6363
  registerCustomFunctions(functions: IJexlFunctionRegistration[]): void;
6322
6364
  evaluateStartingElement(startElement: ElementBaseModel): Promise<void>;
6323
6365
  evaluateAllExpressionsInDependencyOrder(): Promise<void>;
6324
- private evaluateDependentsRecursively;
6366
+ private dependentElementsOf;
6367
+ /**
6368
+ * Evaluates `initial` and everything that depends on them, each element once, every
6369
+ * element after the ones it reads. Walking the graph depth first instead evaluated a
6370
+ * total over fifty sections fifty times, once per section on the way, and each of
6371
+ * those evaluations wrote the data and woke every listener; on a large form one
6372
+ * change then froze the page for seconds. Elements caught in a cycle keep the order
6373
+ * they were found in.
6374
+ */
6375
+ private evaluateCascade;
6325
6376
  private evaluateExpressionOnly;
6326
6377
  /**
6327
6378
  * Applies every logic key of one element in a single pass.
@@ -6340,6 +6391,15 @@ declare class ExpressionService {
6340
6391
  private applyElementExpressions;
6341
6392
  private setExpressionResult;
6342
6393
  private updateChildElement;
6394
+ /**
6395
+ * What has to be evaluated after this element changed. A row cell with its own
6396
+ * expression also changes the value of the repeater it sits in, so whatever reads
6397
+ * the repeater, `sumArray({lines}, lt)`, depends on every `lines[i].lt` although its
6398
+ * expression only names `lines`. A person typing into the row reaches those through
6399
+ * the repeater's own change event; an expression writing the cell does not raise
6400
+ * one, so the edge is added here, for every repeater up the chain.
6401
+ */
6402
+ private dependentPathsOf;
6343
6403
  private isRepeaterRowInstance;
6344
6404
  private notifyElementPropertyChanged;
6345
6405
  /**
@@ -6515,6 +6575,12 @@ declare class ExpressionService {
6515
6575
  private resolveRuntimeStateAliasPath;
6516
6576
  private resolveRuntimeStateAliasElementName;
6517
6577
  private registerDefaultFunctions;
6578
+ /**
6579
+ * Plain helpers forms often need: text slicing, age, rounding and variadic
6580
+ * min / max / sum. Empty input gives null rather than throwing,
6581
+ * so a half filled form does not break the expressions that read it.
6582
+ */
6583
+ private registerGeneralFunctions;
6518
6584
  /**
6519
6585
  * Reads any configured property off an element - `label`, `placeholder`,
6520
6586
  * `required`, `visibleIf`, a nested `dataSource.name`. The counterpart of
@@ -7288,6 +7354,9 @@ declare class RuntimeDynamicPanel implements OnInit, OnDestroy {
7288
7354
  private dataService;
7289
7355
  private modelService;
7290
7356
  private rendererService;
7357
+ private readonly previewRendererService;
7358
+ /** Rows are created after the preview loaded its data sources; see `loadDataSourceFor`. */
7359
+ private loadRowDataSource;
7291
7360
  private elementFocusService;
7292
7361
  private expressionService;
7293
7362
  private validatorService;
@@ -7345,6 +7414,8 @@ declare class RuntimeDynamicPanel implements OnInit, OnDestroy {
7345
7414
  private normalizeCssTemplate;
7346
7415
  private normalizeCssSize;
7347
7416
  private reloadIfPanelPathChanged;
7417
+ private cellReloadTimer;
7418
+ private scheduleCellReload;
7348
7419
  hasDataSource(): boolean;
7349
7420
  private resolveInitialDataSourceLoadedState;
7350
7421
  private hasPersistedRowsSnapshot;
@@ -8246,6 +8317,9 @@ declare class DynamicPanel implements OnInit, OnDestroy {
8246
8317
  private dataService;
8247
8318
  private modelService;
8248
8319
  private rendererService;
8320
+ private readonly previewRendererService;
8321
+ /** Rows are created after the preview loaded its data sources; see `loadDataSourceFor`. */
8322
+ private loadRowDataSource;
8249
8323
  private templateEngineService;
8250
8324
  private elementFocusService;
8251
8325
  private expressionService;
@@ -8317,6 +8391,8 @@ declare class DynamicPanel implements OnInit, OnDestroy {
8317
8391
  private buildGridTemplateColumns;
8318
8392
  private resolveResponsiveGridColumnCount;
8319
8393
  private reloadIfPanelPathChanged;
8394
+ private cellReloadTimer;
8395
+ private scheduleCellReload;
8320
8396
  hasDataSource(): boolean;
8321
8397
  private resolveInitialDataSourceLoadedState;
8322
8398
  private hasPersistedRowsSnapshot;
@@ -9124,6 +9200,13 @@ declare class ValidatorService {
9124
9200
  isElementValidationVisible(element: ElementBaseModel | null | undefined): boolean;
9125
9201
  handleElementBlur(element: ElementBaseModel | null | undefined): Promise<void>;
9126
9202
  getValidationRenderVersion(): number;
9203
+ private validationScheduled;
9204
+ /**
9205
+ * Validates the whole form once for a burst of value changes. Every value an
9206
+ * expression writes fires onDataMutated, and on a large form hundreds of them land in
9207
+ * a row; re-running every validator for each one froze the preview for seconds.
9208
+ */
9209
+ private scheduleAllValidators;
9127
9210
  evaluateAllValidators(): Promise<void>;
9128
9211
  validateForm(): Promise<boolean>;
9129
9212
  hasValidationErrors(): boolean;
@@ -9264,6 +9347,15 @@ declare class PreviewRendererService extends RendererService {
9264
9347
  stopPreviewDataSources(): void;
9265
9348
  toModel(structureJson: IStructure): void;
9266
9349
  applyDataSources(): void;
9350
+ /**
9351
+ * Loads the data source of a model created after the preview was built: a row that a
9352
+ * dynamic panel or table adds when it renders, or when the person presses Add.
9353
+ * `applyDataSources` only reaches the models that existed then, and a row whose source
9354
+ * does not read the repeater's own path is not reloaded by the data change either, so
9355
+ * its select waited for options forever with the spinner running. A source that
9356
+ * already answered the same request comes from the cache.
9357
+ */
9358
+ loadDataSourceFor(element: ElementBaseModel | null | undefined): void;
9267
9359
  getDataSource(name: string): DataSourceModel | undefined;
9268
9360
  private loadElementDataSource;
9269
9361
  private bindDataSourceValueWatcher;
@@ -9612,5 +9704,5 @@ declare function isMobileViewport(): boolean;
9612
9704
  declare function isTabletViewport(): boolean;
9613
9705
  declare function normalizeBreakpoint(value: unknown, fallback: number): number;
9614
9706
 
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 };
9707
+ 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
9708
  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 };