@ngxviewbuilder/runtime 0.12.0 → 0.12.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.
Files changed (60) hide show
  1. package/fesm2022/{ngxviewbuilder-runtime-autocomplete-element-D627PmE6.mjs → ngxviewbuilder-runtime-autocomplete-element-DWbMobho.mjs} +1 -1
  2. package/fesm2022/{ngxviewbuilder-runtime-avatar-element-Bq1dfv2w.mjs → ngxviewbuilder-runtime-avatar-element-98vFX6ZL.mjs} +1 -1
  3. package/fesm2022/{ngxviewbuilder-runtime-badge-element-C2f14QNw.mjs → ngxviewbuilder-runtime-badge-element-WdHbUp_X.mjs} +1 -1
  4. package/fesm2022/{ngxviewbuilder-runtime-breadcrumbs-element-DUD-zxsq.mjs → ngxviewbuilder-runtime-breadcrumbs-element-qlHbgWfh.mjs} +1 -1
  5. package/fesm2022/{ngxviewbuilder-runtime-button-element-DLKWXLDr.mjs → ngxviewbuilder-runtime-button-element-BWI56rGB.mjs} +1 -1
  6. package/fesm2022/{ngxviewbuilder-runtime-chart-element-B8SBRRoW.mjs → ngxviewbuilder-runtime-chart-element-wN98hSa2.mjs} +1 -1
  7. package/fesm2022/ngxviewbuilder-runtime-checkbox-element-yAUJgMY7.mjs +1 -0
  8. package/fesm2022/ngxviewbuilder-runtime-column-CEOo23I_.mjs +43 -0
  9. package/fesm2022/{ngxviewbuilder-runtime-custom-html-element-BBZi5m3e.mjs → ngxviewbuilder-runtime-custom-html-element-D7ezjkGw.mjs} +2 -2
  10. package/fesm2022/{ngxviewbuilder-runtime-date-range-element-Dh0iamQ0.mjs → ngxviewbuilder-runtime-date-range-element-kRoWWvXf.mjs} +1 -1
  11. package/fesm2022/{ngxviewbuilder-runtime-datepicker-element-BzrNzV5m.mjs → ngxviewbuilder-runtime-datepicker-element-Co2_JHM2.mjs} +1 -1
  12. package/fesm2022/{ngxviewbuilder-runtime-divider-element-DaWflvFL.mjs → ngxviewbuilder-runtime-divider-element-Bit-YRpc.mjs} +1 -1
  13. package/fesm2022/ngxviewbuilder-runtime-dynamic-text.pipe-BUJ4fCqt.mjs +1 -0
  14. package/fesm2022/{ngxviewbuilder-runtime-element-wrapper-FxbwPLem.mjs → ngxviewbuilder-runtime-element-wrapper-D0lfZvuW.mjs} +3 -3
  15. package/fesm2022/{ngxviewbuilder-runtime-file-upload-element-CVmIguAo.mjs → ngxviewbuilder-runtime-file-upload-element-B1sGgTAJ.mjs} +1 -1
  16. package/fesm2022/{ngxviewbuilder-runtime-icon-element-D1RfF2C0.mjs → ngxviewbuilder-runtime-icon-element-BBV3IriU.mjs} +1 -1
  17. package/fesm2022/{ngxviewbuilder-runtime-iframe-element-DeU-ENc8.mjs → ngxviewbuilder-runtime-iframe-element-DAKlSTTJ.mjs} +1 -1
  18. package/fesm2022/{ngxviewbuilder-runtime-image-element-9xxf0IfB.mjs → ngxviewbuilder-runtime-image-element-Co9eNt6D.mjs} +1 -1
  19. package/fesm2022/{ngxviewbuilder-runtime-list-box-element-BDz4--85.mjs → ngxviewbuilder-runtime-list-box-element-BkqVfq4H.mjs} +1 -1
  20. package/fesm2022/{ngxviewbuilder-runtime-list-grid-element-BIyp-dce.mjs → ngxviewbuilder-runtime-list-grid-element-BsVooLf9.mjs} +1 -1
  21. package/fesm2022/{ngxviewbuilder-runtime-message-card-element-D0JmZyvI.mjs → ngxviewbuilder-runtime-message-card-element-DOlB-FAw.mjs} +1 -1
  22. package/fesm2022/ngxviewbuilder-runtime-multi-select-element-5YHKOX69.mjs +1 -0
  23. package/fesm2022/ngxviewbuilder-runtime-number-element-MNO3T8kR.mjs +1 -0
  24. package/fesm2022/{ngxviewbuilder-runtime-number-stepper-element-iBpT-zsi.mjs → ngxviewbuilder-runtime-number-stepper-element-Jl6DZNAb.mjs} +1 -1
  25. package/fesm2022/ngxviewbuilder-runtime-nvb-select-DuPHFQk6.mjs +1 -0
  26. package/fesm2022/{ngxviewbuilder-runtime-page-title-element-CYS9yCvk.mjs → ngxviewbuilder-runtime-page-title-element-BdfBrnaW.mjs} +1 -1
  27. package/fesm2022/{ngxviewbuilder-runtime-phone-input-element-D4rPIZgc.mjs → ngxviewbuilder-runtime-phone-input-element-BDZkscMD.mjs} +1 -1
  28. package/fesm2022/{ngxviewbuilder-runtime-progress-bar-element-D780Bz4H.mjs → ngxviewbuilder-runtime-progress-bar-element-Dg7Y6-jq.mjs} +1 -1
  29. package/fesm2022/ngxviewbuilder-runtime-radio-element-xscwN_Hs.mjs +1 -0
  30. package/fesm2022/{ngxviewbuilder-runtime-rich-text-element-jeeNhKfo.mjs → ngxviewbuilder-runtime-rich-text-element-DAl3vSxG.mjs} +2 -2
  31. package/fesm2022/{ngxviewbuilder-runtime-router-outlet-element-DSIY_9ES.mjs → ngxviewbuilder-runtime-router-outlet-element-BpGv-kkh.mjs} +1 -1
  32. package/fesm2022/{ngxviewbuilder-runtime-select-button-element-D3ECf6NN.mjs → ngxviewbuilder-runtime-select-button-element-BPH_N-fd.mjs} +1 -1
  33. package/fesm2022/ngxviewbuilder-runtime-select-element-B_FOlIzR.mjs +1 -0
  34. package/fesm2022/{ngxviewbuilder-runtime-signature-pad-element-DNWzJf8n.mjs → ngxviewbuilder-runtime-signature-pad-element-BxZMh4-H.mjs} +1 -1
  35. package/fesm2022/{ngxviewbuilder-runtime-single-checkbox-element-CwUV4QeU.mjs → ngxviewbuilder-runtime-single-checkbox-element-DZiHDP6i.mjs} +1 -1
  36. package/fesm2022/{ngxviewbuilder-runtime-slider-element-DG3yzEol.mjs → ngxviewbuilder-runtime-slider-element-NBbgW-1w.mjs} +1 -1
  37. package/fesm2022/{ngxviewbuilder-runtime-spacer-element-DmK0-mBg.mjs → ngxviewbuilder-runtime-spacer-element-BGJ-ObOf.mjs} +1 -1
  38. package/fesm2022/{ngxviewbuilder-runtime-stats-card-element-BwF1DgRq.mjs → ngxviewbuilder-runtime-stats-card-element-DUxzXyTC.mjs} +1 -1
  39. package/fesm2022/ngxviewbuilder-runtime-table-element-yvDWlU-z.mjs +1 -0
  40. package/fesm2022/ngxviewbuilder-runtime-text-element-C9W3pPu7.mjs +1 -0
  41. package/fesm2022/ngxviewbuilder-runtime-textarea-element-55rqT93w.mjs +1 -0
  42. package/fesm2022/{ngxviewbuilder-runtime-time-picker-element-DcaL0iul.mjs → ngxviewbuilder-runtime-time-picker-element-C1p0lG_4.mjs} +1 -1
  43. package/fesm2022/{ngxviewbuilder-runtime-toast-element-Dz0k7DJQ.mjs → ngxviewbuilder-runtime-toast-element-Dc8tFqFS.mjs} +1 -1
  44. package/fesm2022/ngxviewbuilder-runtime-toggle-switch-element-DEmC69ye.mjs +1 -0
  45. package/fesm2022/{ngxviewbuilder-runtime-video-element-Cn45kYTv.mjs → ngxviewbuilder-runtime-video-element-COR0eePU.mjs} +1 -1
  46. package/fesm2022/ngxviewbuilder-runtime.mjs +1 -1
  47. package/package.json +1 -1
  48. package/types/ngxviewbuilder-runtime.d.ts +35 -0
  49. package/fesm2022/ngxviewbuilder-runtime-checkbox-element-BUc3LIZY.mjs +0 -1
  50. package/fesm2022/ngxviewbuilder-runtime-column-CQL6_3oR.mjs +0 -43
  51. package/fesm2022/ngxviewbuilder-runtime-dynamic-text.pipe-DJNHX-1z.mjs +0 -1
  52. package/fesm2022/ngxviewbuilder-runtime-multi-select-element-kVcNNhEt.mjs +0 -1
  53. package/fesm2022/ngxviewbuilder-runtime-number-element-DctiWuS1.mjs +0 -1
  54. package/fesm2022/ngxviewbuilder-runtime-nvb-select-BEN_kxMD.mjs +0 -1
  55. package/fesm2022/ngxviewbuilder-runtime-radio-element-CMnPn8dr.mjs +0 -1
  56. package/fesm2022/ngxviewbuilder-runtime-select-element-CL95ygLj.mjs +0 -1
  57. package/fesm2022/ngxviewbuilder-runtime-table-element-DEQz2d-s.mjs +0 -1
  58. package/fesm2022/ngxviewbuilder-runtime-text-element-CMGjmapD.mjs +0 -1
  59. package/fesm2022/ngxviewbuilder-runtime-textarea-element-BXIAOW-5.mjs +0 -1
  60. package/fesm2022/ngxviewbuilder-runtime-toggle-switch-element-D2X34AZt.mjs +0 -1
@@ -1 +0,0 @@
1
- import{t as c}from"./ngxviewbuilder-runtime-rolldown-runtime-DpJrqANO.mjs";import{an as h,g,t as u,yt as v}from"./ngxviewbuilder-runtime-dynamic-text.pipe-DJNHX-1z.mjs";import{r as x,rt as f,t as m}from"./ngxviewbuilder-runtime-element-wrapper-FxbwPLem.mjs";import{t as y}from"./ngxviewbuilder-runtime-input-mask.service-WZEF2C2_.mjs";import*as n from"@angular/core";import{ChangeDetectionStrategy as b,ChangeDetectorRef as C,Component as M,Injector as S,computed as o,effect as _,inject as l,input as I,signal as s}from"@angular/core";import{NgClass as w}from"@angular/common";var V=c({TextElement:()=>d});var d=class p{model=I.required(...ngDevMode?[{debugName:"model"}]:[]);tid=x(this.model,"nvb-text","text");useCompactStyle=s(false,...ngDevMode?[{debugName:"useCompactStyle"}]:[]);displayValue=s("",...ngDevMode?[{debugName:"displayValue"}]:[]);isEditing=s(false,...ngDevMode?[{debugName:"isEditing"}]:[]);maxLength=o(()=>{const e=Number(this.model()?.["maxlength"]);if(!Number.isFinite(e)||e<=0)return 0;return Math.floor(e)},...ngDevMode?[{debugName:"maxLength"}]:[]);showMaxLengthCounter=o(()=>{if(this.maxLength()<=0)return false;const e=this.model()?.["showMaxLengthCounter"];if(e===void 0||e===null)return true;return Boolean(e)},...ngDevMode?[{debugName:"showMaxLengthCounter"}]:[]);currentLength=o(()=>String(this.displayValue()??"").length,...ngDevMode?[{debugName:"currentLength"}]:[]);elementActionService=l(f);inputMaskService=l(y);dataService=l(h);eventService=l(g);cdr=l(C);injector=l(S);onPropertyChangedHandler=e=>{const t=String(this.model()?.dataPath??"").trim();if(!t)return;if(String(e?.payload?.elementNameOrPath??"").trim()!==t)return;this.cdr.markForCheck()};ngOnInit(){if(this.model()?.parentElement&&this.model()?.parentElement instanceof v)this.useCompactStyle.set(this.model()?.parentElement["useCompactStyle"]);this.refreshDisplayValue();_(()=>{const e=String(this.model()?.dataPath??"").trim();if(!e)return;const t=this.dataService.getValue(e);if(!Object.is(this.model().value,t))this.model().value=t;if(!this.isEditing())this.refreshDisplayValue()},{injector:this.injector});this.eventService.afterPropertyChanged.add(this.onPropertyChangedHandler)}ngOnDestroy(){this.eventService.afterPropertyChanged.remove(this.onPropertyChangedHandler)}onInput(e){this.applyMask(e);this.syncDisplayValue(e);if(this.shouldCommitForTrigger("input"))this.model().setValue(e,"input");this.runActions("input",e)}onChange(e){this.applyMask(e);this.syncDisplayValue(e);if(this.shouldCommitForTrigger("change"))this.model().setValue(e,"change");this.runActions("change",e)}onBlur(e){this.isEditing.set(false);this.model().setValue(e,"blur");this.refreshDisplayValue();this.runActions("blur",e)}onFocus(e){this.isEditing.set(true);this.runActions("focus",e)}shouldCommitForTrigger(e){const t=e==="input"?"oninput":"onchange";const i=this.normalizeExecutionMode(this.model().logicExecutionMode);const a=this.normalizeExecutionMode(this.model().validationExecutionMode);if(i===t||a===t)return true;return(this.model().events??[]).some(r=>String(r?.trigger??"").trim().toLowerCase()===e)}normalizeExecutionMode(e){const t=String(e??"").trim().toLowerCase();if(t==="oninput")return"oninput";if(t==="onchange")return"onchange";return"onblur"}runActions(e,t){const i=this.resolveInputValue(t);const a=String(this.model().name??"").trim();const r={value:i,item:null,row:null};if(a)r[a]=i;this.elementActionService.runActions(this.model(),this.model().events??[],e,r)}resolveInputValue(e){const t=e?.target;if(!t)return this.displayValue();return t.value??""}syncDisplayValue(e){const t=e?.target;this.displayValue.set(t?.value??"")}refreshDisplayValue(){this.displayValue.set(String(this.model().value??""))}applyMask(e){const t=e?.target;if(!t)return;const i=this.model()?.["maskType"]??"none";const a=this.model()?.["maskPattern"]??"";const r=this.inputMaskService.applyMask(t.value??"",i,a);if(r!==t.value)t.value=r;this.displayValue.set(t.value??"")}static ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.2.1",ngImport:n,type:p,deps:[],target:n.ɵɵFactoryTarget.Component});static ɵcmp=n.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.2.1",type:p,isStandalone:true,selector:"text-element",inputs:{model:{classPropertyName:"model",publicName:"model",isSignal:true,isRequired:true,transformFunction:null}},ngImport:n,template:"<element-wrapper [model]=\"model()\" #fieldWrapper=\"elementWrapper\">\n <div class=\"nvb-text-input\">\n <input\n [id]=\"fieldWrapper.controlId()\"\n type=\"text\"\n [placeholder]=\"model().placeholder ? (model().placeholder | dynamicText: model()) : ''\"\n [disabled]=\"model().disabled\"\n [readOnly]=\"model().readOnly\"\n [attr.autocomplete]=\"model()['autocomplete'] ?? null\"\n [attr.inputmode]=\"model()['inputMode'] ?? null\"\n [attr.spellcheck]=\"model()['spellcheck'] ?? null\"\n [attr.minlength]=\"model()['minlength'] ?? null\"\n [attr.maxlength]=\"model()['maxlength'] ?? null\"\n [attr.pattern]=\"model()['pattern'] ?? null\"\n [attr.aria-describedby]=\"\n fieldWrapper.describedByIds(showMaxLengthCounter() ? fieldWrapper.partId('counter') : null)\n \"\n [attr.aria-errormessage]=\"fieldWrapper.isInvalid() ? fieldWrapper.errorId() : null\"\n [attr.aria-invalid]=\"fieldWrapper.isInvalid() ? 'true' : null\"\n [attr.aria-required]=\"model().required ? 'true' : null\"\n [attr.data-testid]=\"tid('input')\"\n [class.nvb-control__text-input]=\"!this.useCompactStyle()\"\n [class.nvb-control__column-input]=\"this.useCompactStyle()\"\n [class.nvb-text-input__field--with-counter]=\"showMaxLengthCounter()\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n [value]=\"displayValue()\"\n />\n\n @if (showMaxLengthCounter()) {\n <span [id]=\"fieldWrapper.partId('counter')\" class=\"nvb-text-input__counter\">\n {{ currentLength() }}/{{ maxLength() }}\n </span>\n }\n </div>\n</element-wrapper>\n",styles:[":host{display:block;width:100%}.nvb-text-input{position:relative;width:100%;min-width:0;height:100%}.nvb-text-input__field--with-counter{padding-right:54px!important}:host ::ng-deep .nvb-control__text-input,:host ::ng-deep .nvb-control__column-input{padding-left:10px;padding-inline-start:10px;text-indent:0}.nvb-text-input__counter{position:absolute;top:4px;right:8px;font-size:10px;line-height:1;color:var(--nvb-color-neutral-500);pointer-events:none}\n"],dependencies:[{kind:"component",type:m,selector:"element-wrapper",inputs:["model","controlIdInput","labelForInput","groupRole","showTextWrapperInput"],exportAs:["elementWrapper"]},{kind:"pipe",type:u,name:"dynamicText"}],changeDetection:n.ChangeDetectionStrategy.OnPush})};n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"22.2.1",ngImport:n,type:d,decorators:[{type:M,args:[{selector:"text-element",changeDetection:b.OnPush,imports:[m,w,u],template:"<element-wrapper [model]=\"model()\" #fieldWrapper=\"elementWrapper\">\n <div class=\"nvb-text-input\">\n <input\n [id]=\"fieldWrapper.controlId()\"\n type=\"text\"\n [placeholder]=\"model().placeholder ? (model().placeholder | dynamicText: model()) : ''\"\n [disabled]=\"model().disabled\"\n [readOnly]=\"model().readOnly\"\n [attr.autocomplete]=\"model()['autocomplete'] ?? null\"\n [attr.inputmode]=\"model()['inputMode'] ?? null\"\n [attr.spellcheck]=\"model()['spellcheck'] ?? null\"\n [attr.minlength]=\"model()['minlength'] ?? null\"\n [attr.maxlength]=\"model()['maxlength'] ?? null\"\n [attr.pattern]=\"model()['pattern'] ?? null\"\n [attr.aria-describedby]=\"\n fieldWrapper.describedByIds(showMaxLengthCounter() ? fieldWrapper.partId('counter') : null)\n \"\n [attr.aria-errormessage]=\"fieldWrapper.isInvalid() ? fieldWrapper.errorId() : null\"\n [attr.aria-invalid]=\"fieldWrapper.isInvalid() ? 'true' : null\"\n [attr.aria-required]=\"model().required ? 'true' : null\"\n [attr.data-testid]=\"tid('input')\"\n [class.nvb-control__text-input]=\"!this.useCompactStyle()\"\n [class.nvb-control__column-input]=\"this.useCompactStyle()\"\n [class.nvb-text-input__field--with-counter]=\"showMaxLengthCounter()\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n [value]=\"displayValue()\"\n />\n\n @if (showMaxLengthCounter()) {\n <span [id]=\"fieldWrapper.partId('counter')\" class=\"nvb-text-input__counter\">\n {{ currentLength() }}/{{ maxLength() }}\n </span>\n }\n </div>\n</element-wrapper>\n",styles:[":host{display:block;width:100%}.nvb-text-input{position:relative;width:100%;min-width:0;height:100%}.nvb-text-input__field--with-counter{padding-right:54px!important}:host ::ng-deep .nvb-control__text-input,:host ::ng-deep .nvb-control__column-input{padding-left:10px;padding-inline-start:10px;text-indent:0}.nvb-text-input__counter{position:absolute;top:4px;right:8px;font-size:10px;line-height:1;color:var(--nvb-color-neutral-500);pointer-events:none}\n"]}]}],propDecorators:{model:[{type:n.Input,args:[{isSignal:true,alias:"model",required:true}]}]}});export{V as n,d as t};
@@ -1 +0,0 @@
1
- import{t as h}from"./ngxviewbuilder-runtime-rolldown-runtime-DpJrqANO.mjs";import{an as g,g as v,t as p,yt as y}from"./ngxviewbuilder-runtime-dynamic-text.pipe-DJNHX-1z.mjs";import{r as f,rt as x,t as m}from"./ngxviewbuilder-runtime-element-wrapper-FxbwPLem.mjs";import{t as b}from"./ngxviewbuilder-runtime-input-mask.service-WZEF2C2_.mjs";import*as n from"@angular/core";import{ChangeDetectionStrategy as C,ChangeDetectorRef as S,Component as _,Injector as w,computed as l,effect as M,inject as o,input as I,signal as s}from"@angular/core";import{NgClass as c}from"@angular/common";var V=h({TextAreaElement:()=>d});var d=class u{model=I.required(...ngDevMode?[{debugName:"model"}]:[]);tid=f(this.model,"nvb-textarea","textarea");useCompactStyle=s(false,...ngDevMode?[{debugName:"useCompactStyle"}]:[]);displayValue=s("",...ngDevMode?[{debugName:"displayValue"}]:[]);isEditing=s(false,...ngDevMode?[{debugName:"isEditing"}]:[]);maxLength=l(()=>{const e=Number(this.model()?.["maxlength"]);if(!Number.isFinite(e)||e<=0)return 0;return Math.floor(e)},...ngDevMode?[{debugName:"maxLength"}]:[]);showMaxLengthCounter=l(()=>{if(this.maxLength()<=0)return false;const e=this.model()?.["showMaxLengthCounter"];if(e===void 0||e===null)return true;return Boolean(e)},...ngDevMode?[{debugName:"showMaxLengthCounter"}]:[]);currentLength=l(()=>String(this.displayValue()??"").length,...ngDevMode?[{debugName:"currentLength"}]:[]);elementActionService=o(x);inputMaskService=o(b);dataService=o(g);eventService=o(v);cdr=o(S);injector=o(w);onPropertyChangedHandler=e=>{const t=String(this.model()?.dataPath??"").trim();if(!t)return;if(String(e?.payload?.elementNameOrPath??"").trim()!==t)return;this.cdr.markForCheck()};ngOnInit(){if(this.model()?.parentElement&&this.model()?.parentElement instanceof y)this.useCompactStyle.set(this.model()?.parentElement["useCompactStyle"]);this.refreshDisplayValue();M(()=>{const e=String(this.model()?.dataPath??"").trim();if(!e)return;const t=this.dataService.getValue(e);if(!Object.is(this.model().value,t))this.model().value=t;if(!this.isEditing())this.refreshDisplayValue()},{injector:this.injector});this.eventService.afterPropertyChanged.add(this.onPropertyChangedHandler)}ngOnDestroy(){this.eventService.afterPropertyChanged.remove(this.onPropertyChangedHandler)}onInput(e){this.applyMask(e);this.syncDisplayValue(e);if(this.shouldCommitForTrigger("input"))this.model().setValue(e,"input");this.runActions("input",e)}onChange(e){this.applyMask(e);this.syncDisplayValue(e);if(this.shouldCommitForTrigger("change"))this.model().setValue(e,"change");this.runActions("change",e)}onBlur(e){this.isEditing.set(false);this.model().setValue(e,"blur");this.refreshDisplayValue();this.runActions("blur",e)}onFocus(e){this.isEditing.set(true);this.runActions("focus",e)}shouldCommitForTrigger(e){const t=e==="input"?"oninput":"onchange";const a=this.normalizeExecutionMode(this.model().logicExecutionMode);const i=this.normalizeExecutionMode(this.model().validationExecutionMode);if(a===t||i===t)return true;return(this.model().events??[]).some(r=>String(r?.trigger??"").trim().toLowerCase()===e)}normalizeExecutionMode(e){const t=String(e??"").trim().toLowerCase();if(t==="oninput")return"oninput";if(t==="onchange")return"onchange";return"onblur"}runActions(e,t){const a=this.resolveInputValue(t);const i=String(this.model().name??"").trim();const r={value:a,item:null,row:null};if(i)r[i]=a;this.elementActionService.runActions(this.model(),this.model().events??[],e,r)}resolveInputValue(e){const t=e?.target;if(!t)return this.displayValue();return t.value??""}syncDisplayValue(e){const t=e?.target;this.displayValue.set(t?.value??"")}refreshDisplayValue(){this.displayValue.set(String(this.model().value??""))}applyMask(e){const t=e?.target;if(!t)return;const a=this.model()?.["maskType"]??"none";const i=this.model()?.["maskPattern"]??"";const r=this.inputMaskService.applyMask(t.value??"",a,i);if(r!==t.value)t.value=r;this.displayValue.set(t.value??"")}static ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.2.1",ngImport:n,type:u,deps:[],target:n.ɵɵFactoryTarget.Component});static ɵcmp=n.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.2.1",type:u,isStandalone:true,selector:"textarea-element",inputs:{model:{classPropertyName:"model",publicName:"model",isSignal:true,isRequired:true,transformFunction:null}},ngImport:n,template:"<element-wrapper [model]=\"model()\" #fieldWrapper=\"elementWrapper\">\n <div class=\"nvb-textarea\">\n <textarea\n [id]=\"fieldWrapper.controlId()\"\n [placeholder]=\"model().placeholder ? (model().placeholder | dynamicText: model()) : ''\"\n [disabled]=\"model().disabled\"\n [readOnly]=\"model().readOnly\"\n [attr.spellcheck]=\"model()['spellcheck'] ?? null\"\n [attr.minlength]=\"model()['minlength'] ?? null\"\n [attr.maxlength]=\"model()['maxlength'] ?? null\"\n [ngClass]=\"this.useCompactStyle() ? 'nvb-control__column-input ' : 'nvb-control__text-input'\"\n [class.nvb-control__column-input]=\"this.useCompactStyle()\"\n [class.nvb-control__text-input]=\"!this.useCompactStyle()\"\n [class.nvb-textarea__field--with-counter]=\"showMaxLengthCounter()\"\n [attr.aria-describedby]=\"\n fieldWrapper.describedByIds(showMaxLengthCounter() ? fieldWrapper.partId('counter') : null)\n \"\n [attr.aria-errormessage]=\"fieldWrapper.isInvalid() ? fieldWrapper.errorId() : null\"\n [attr.aria-invalid]=\"fieldWrapper.isInvalid() ? 'true' : null\"\n [attr.aria-required]=\"model().required ? 'true' : null\"\n [attr.data-testid]=\"tid('input')\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n [value]=\"displayValue()\"\n [rows]=\"model().rows\"\n ></textarea>\n @if (showMaxLengthCounter()) {\n <span [id]=\"fieldWrapper.partId('counter')\" class=\"nvb-textarea__counter\">\n {{ currentLength() }}/{{ maxLength() }}\n </span>\n }\n </div>\n</element-wrapper>\n",styles:[":host{display:block;width:100%}.nvb-textarea{position:relative;width:100%;min-width:0;height:100%}.nvb-textarea__field--with-counter{padding-bottom:18px!important}.nvb-textarea__counter{position:absolute;right:8px;bottom:6px;font-size:10px;line-height:1;color:var(--nvb-color-neutral-500);pointer-events:none}\n"],dependencies:[{kind:"component",type:m,selector:"element-wrapper",inputs:["model","controlIdInput","labelForInput","groupRole","showTextWrapperInput"],exportAs:["elementWrapper"]},{kind:"directive",type:c,selector:"[ngClass]",inputs:["class","ngClass"]},{kind:"pipe",type:p,name:"dynamicText"}],changeDetection:n.ChangeDetectionStrategy.OnPush})};n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"22.2.1",ngImport:n,type:d,decorators:[{type:_,args:[{selector:"textarea-element",changeDetection:C.OnPush,imports:[m,c,p],template:"<element-wrapper [model]=\"model()\" #fieldWrapper=\"elementWrapper\">\n <div class=\"nvb-textarea\">\n <textarea\n [id]=\"fieldWrapper.controlId()\"\n [placeholder]=\"model().placeholder ? (model().placeholder | dynamicText: model()) : ''\"\n [disabled]=\"model().disabled\"\n [readOnly]=\"model().readOnly\"\n [attr.spellcheck]=\"model()['spellcheck'] ?? null\"\n [attr.minlength]=\"model()['minlength'] ?? null\"\n [attr.maxlength]=\"model()['maxlength'] ?? null\"\n [ngClass]=\"this.useCompactStyle() ? 'nvb-control__column-input ' : 'nvb-control__text-input'\"\n [class.nvb-control__column-input]=\"this.useCompactStyle()\"\n [class.nvb-control__text-input]=\"!this.useCompactStyle()\"\n [class.nvb-textarea__field--with-counter]=\"showMaxLengthCounter()\"\n [attr.aria-describedby]=\"\n fieldWrapper.describedByIds(showMaxLengthCounter() ? fieldWrapper.partId('counter') : null)\n \"\n [attr.aria-errormessage]=\"fieldWrapper.isInvalid() ? fieldWrapper.errorId() : null\"\n [attr.aria-invalid]=\"fieldWrapper.isInvalid() ? 'true' : null\"\n [attr.aria-required]=\"model().required ? 'true' : null\"\n [attr.data-testid]=\"tid('input')\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n [value]=\"displayValue()\"\n [rows]=\"model().rows\"\n ></textarea>\n @if (showMaxLengthCounter()) {\n <span [id]=\"fieldWrapper.partId('counter')\" class=\"nvb-textarea__counter\">\n {{ currentLength() }}/{{ maxLength() }}\n </span>\n }\n </div>\n</element-wrapper>\n",styles:[":host{display:block;width:100%}.nvb-textarea{position:relative;width:100%;min-width:0;height:100%}.nvb-textarea__field--with-counter{padding-bottom:18px!important}.nvb-textarea__counter{position:absolute;right:8px;bottom:6px;font-size:10px;line-height:1;color:var(--nvb-color-neutral-500);pointer-events:none}\n"]}]}],propDecorators:{model:[{type:n.Input,args:[{isSignal:true,alias:"model",required:true}]}]}});export{V as n,d as t};
@@ -1 +0,0 @@
1
- import{t as d}from"./ngxviewbuilder-runtime-rolldown-runtime-DpJrqANO.mjs";import{an as h,g,on as p}from"./ngxviewbuilder-runtime-dynamic-text.pipe-DJNHX-1z.mjs";import{r as u,rt as b,t as c}from"./ngxviewbuilder-runtime-element-wrapper-FxbwPLem.mjs";import*as n from"@angular/core";import{ChangeDetectionStrategy as v,ChangeDetectorRef as m,Component as w,Injector as f,effect as _,inject as r,input as k,signal as y}from"@angular/core";var x=d({ToggleSwitchElement:()=>a});var a=class o{model=k.required(...ngDevMode?[{debugName:"model"}]:[]);tid=u(this.model,"nvb-toggle-switch","toggle-switch");checked=y(false,...ngDevMode?[{debugName:"checked"}]:[]);elementActionService=r(b);dataService=r(h);uiTranslationService=r(p);eventService=r(g);cdr=r(m);injector=r(f);onPropertyChangedHandler=e=>{const t=String(this.model()?.dataPath??"").trim();if(!t)return;if(String(e?.payload?.elementNameOrPath??"").trim()!==t)return;this.cdr.markForCheck()};ngOnInit(){this.syncCheckedState();_(()=>{const e=String(this.model()?.dataPath??"").trim();if(!e)return;const t=this.dataService.getValue(e);if(!Object.is(this.model().value,t))this.model().value=t;this.syncCheckedState()},{injector:this.injector});this.eventService.afterPropertyChanged.add(this.onPropertyChangedHandler)}ngOnDestroy(){this.eventService.afterPropertyChanged.remove(this.onPropertyChangedHandler)}onToggle(e){const t=e.target;if(!t||this.isInteractionLocked())return;this.model().setChecked(Boolean(t.checked),"change");this.syncCheckedState();this.runActions("input",this.model().value);this.runActions("change",this.model().value)}onFocus(){this.runActions("focus",this.model().value)}onBlur(){this.runActions("blur",this.model().value)}currentLabel(){const e=this.checked()?this.model().trueLabel:this.model().falseLabel;const t=String(e??"").trim();if(this.checked()&&t==="On")return this.uiTranslationService.translate("toggle.on","On");if(!this.checked()&&t==="Off")return this.uiTranslationService.translate("toggle.off","Off");return t}runActions(e,t){const i=t!==void 0?t:this.model().value;const s=String(this.model().name??"").trim();const l={value:i,item:null,row:null};if(s)l[s]=i;this.elementActionService.runActions(this.model(),this.model().events??[],e,l)}syncCheckedState(){this.checked.set(this.model().isChecked())}isInteractionLocked(){const e=this.model();if(!e)return false;if(Boolean(e["__pfInteractionLocked"]))return true;return Boolean(e.disabled)||Boolean(e.readOnly)}static ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.2.1",ngImport:n,type:o,deps:[],target:n.ɵɵFactoryTarget.Component});static ɵcmp=n.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.2.1",type:o,isStandalone:true,selector:"toggle-switch-element",inputs:{model:{classPropertyName:"model",publicName:"model",isSignal:true,isRequired:true,transformFunction:null}},ngImport:n,template:"<element-wrapper [model]=\"model()\" #fieldWrapper=\"elementWrapper\">\n <label\n class=\"nvb-toggle-switch\"\n [class.nvb-toggle-switch--disabled]=\"model().disabled\"\n [class.nvb-toggle-switch--square]=\"model().shape === 'square'\"\n >\n <input\n [id]=\"fieldWrapper.controlId()\"\n class=\"nvb-toggle-switch__input\"\n type=\"checkbox\"\n [checked]=\"checked()\"\n [disabled]=\"model().disabled\"\n role=\"switch\"\n [attr.aria-describedby]=\"fieldWrapper.describedByIds()\"\n [attr.aria-errormessage]=\"fieldWrapper.isInvalid() ? fieldWrapper.errorId() : null\"\n [attr.aria-invalid]=\"fieldWrapper.isInvalid() ? 'true' : null\"\n [attr.aria-required]=\"model().required ? 'true' : null\"\n [attr.aria-checked]=\"checked()\"\n [attr.data-testid]=\"tid('root')\"\n (change)=\"onToggle($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n />\n <span class=\"nvb-toggle-switch__track\">\n <span class=\"nvb-toggle-switch__thumb\"></span>\n </span>\n @if (!this.model()?.hideLabel) {\n <span class=\"nvb-toggle-switch__label\">{{ currentLabel() }}</span>\n }\n </label>\n</element-wrapper>\n",styles:['@charset "UTF-8";:host{display:block;width:100%}.nvb-toggle-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;min-height:var(--nvb-input-height);-webkit-user-select:none;user-select:none}.nvb-toggle-switch--disabled{cursor:not-allowed;opacity:.6}.nvb-toggle-switch__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.nvb-toggle-switch__track{position:relative;width:44px;height:24px;border-radius:var(--nvb-radius-full);border:1px solid var(--nvb-color-neutral-300);background:var(--nvb-color-neutral-100);transition:border-color .16s ease,background-color .16s ease}.nvb-toggle-switch__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--nvb-radius-full);background:var(--nvb-color-neutral-000);box-shadow:0 1px 3px #00000040;transition:transform .16s ease}.nvb-toggle-switch__input:checked+.nvb-toggle-switch__track{border-color:var(--nvb-color-primary-500);background:var(--nvb-color-primary-500)}.nvb-toggle-switch__input:checked+.nvb-toggle-switch__track .nvb-toggle-switch__thumb{transform:translate(20px)}.nvb-toggle-switch__label{font-size:13px;color:var(--nvb-color-neutral-700);font-weight:600;line-height:1.2}.nvb-toggle-switch--square .nvb-toggle-switch__track,.nvb-toggle-switch--square .nvb-toggle-switch__thumb{border-radius:var(--nvb-radius-sm)}\n'],dependencies:[{kind:"component",type:c,selector:"element-wrapper",inputs:["model","controlIdInput","labelForInput","groupRole","showTextWrapperInput"],exportAs:["elementWrapper"]}],changeDetection:n.ChangeDetectionStrategy.OnPush})};n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"22.2.1",ngImport:n,type:a,decorators:[{type:w,args:[{selector:"toggle-switch-element",changeDetection:v.OnPush,imports:[c],template:"<element-wrapper [model]=\"model()\" #fieldWrapper=\"elementWrapper\">\n <label\n class=\"nvb-toggle-switch\"\n [class.nvb-toggle-switch--disabled]=\"model().disabled\"\n [class.nvb-toggle-switch--square]=\"model().shape === 'square'\"\n >\n <input\n [id]=\"fieldWrapper.controlId()\"\n class=\"nvb-toggle-switch__input\"\n type=\"checkbox\"\n [checked]=\"checked()\"\n [disabled]=\"model().disabled\"\n role=\"switch\"\n [attr.aria-describedby]=\"fieldWrapper.describedByIds()\"\n [attr.aria-errormessage]=\"fieldWrapper.isInvalid() ? fieldWrapper.errorId() : null\"\n [attr.aria-invalid]=\"fieldWrapper.isInvalid() ? 'true' : null\"\n [attr.aria-required]=\"model().required ? 'true' : null\"\n [attr.aria-checked]=\"checked()\"\n [attr.data-testid]=\"tid('root')\"\n (change)=\"onToggle($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n />\n <span class=\"nvb-toggle-switch__track\">\n <span class=\"nvb-toggle-switch__thumb\"></span>\n </span>\n @if (!this.model()?.hideLabel) {\n <span class=\"nvb-toggle-switch__label\">{{ currentLabel() }}</span>\n }\n </label>\n</element-wrapper>\n",styles:['@charset "UTF-8";:host{display:block;width:100%}.nvb-toggle-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;min-height:var(--nvb-input-height);-webkit-user-select:none;user-select:none}.nvb-toggle-switch--disabled{cursor:not-allowed;opacity:.6}.nvb-toggle-switch__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.nvb-toggle-switch__track{position:relative;width:44px;height:24px;border-radius:var(--nvb-radius-full);border:1px solid var(--nvb-color-neutral-300);background:var(--nvb-color-neutral-100);transition:border-color .16s ease,background-color .16s ease}.nvb-toggle-switch__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--nvb-radius-full);background:var(--nvb-color-neutral-000);box-shadow:0 1px 3px #00000040;transition:transform .16s ease}.nvb-toggle-switch__input:checked+.nvb-toggle-switch__track{border-color:var(--nvb-color-primary-500);background:var(--nvb-color-primary-500)}.nvb-toggle-switch__input:checked+.nvb-toggle-switch__track .nvb-toggle-switch__thumb{transform:translate(20px)}.nvb-toggle-switch__label{font-size:13px;color:var(--nvb-color-neutral-700);font-weight:600;line-height:1.2}.nvb-toggle-switch--square .nvb-toggle-switch__track,.nvb-toggle-switch--square .nvb-toggle-switch__thumb{border-radius:var(--nvb-radius-sm)}\n']}]}],propDecorators:{model:[{type:n.Input,args:[{isSignal:true,alias:"model",required:true}]}]}});export{x as n,a as t};