@memberjunction/ng-dashboards 5.36.0 → 5.38.0

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 (92) hide show
  1. package/README.md +32 -0
  2. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +14 -0
  3. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  4. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +450 -292
  5. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  6. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +73 -1
  7. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  8. package/dist/ComponentStudio/component-studio-dashboard.component.js +512 -127
  9. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  10. package/dist/ComponentStudio/component-studio-resource.component.d.ts +22 -0
  11. package/dist/ComponentStudio/component-studio-resource.component.d.ts.map +1 -0
  12. package/dist/ComponentStudio/component-studio-resource.component.js +55 -0
  13. package/dist/ComponentStudio/component-studio-resource.component.js.map +1 -0
  14. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +104 -45
  15. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
  16. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +234 -331
  17. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  18. package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.d.ts +54 -0
  19. package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.d.ts.map +1 -0
  20. package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.js +339 -0
  21. package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.js.map +1 -0
  22. package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.d.ts +65 -0
  23. package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.d.ts.map +1 -0
  24. package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.js +492 -0
  25. package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.js.map +1 -0
  26. package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.d.ts +88 -0
  27. package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.d.ts.map +1 -0
  28. package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.js +457 -0
  29. package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.js.map +1 -0
  30. package/dist/ComponentStudio/components/form-override-dialog.component.d.ts +106 -0
  31. package/dist/ComponentStudio/components/form-override-dialog.component.d.ts.map +1 -0
  32. package/dist/ComponentStudio/components/form-override-dialog.component.js +478 -0
  33. package/dist/ComponentStudio/components/form-override-dialog.component.js.map +1 -0
  34. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +54 -0
  35. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -1
  36. package/dist/ComponentStudio/components/workspace/component-preview.component.js +361 -50
  37. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
  38. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +10 -0
  39. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -1
  40. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +114 -45
  41. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
  42. package/dist/ComponentStudio/services/canvas-to-code.d.ts +32 -0
  43. package/dist/ComponentStudio/services/canvas-to-code.d.ts.map +1 -0
  44. package/dist/ComponentStudio/services/canvas-to-code.js +347 -0
  45. package/dist/ComponentStudio/services/canvas-to-code.js.map +1 -0
  46. package/dist/ComponentStudio/services/code-to-canvas.d.ts +32 -0
  47. package/dist/ComponentStudio/services/code-to-canvas.d.ts.map +1 -0
  48. package/dist/ComponentStudio/services/code-to-canvas.js +92 -0
  49. package/dist/ComponentStudio/services/code-to-canvas.js.map +1 -0
  50. package/dist/ComponentStudio/services/component-studio-state.service.d.ts +29 -0
  51. package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -1
  52. package/dist/ComponentStudio/services/component-studio-state.service.js +76 -0
  53. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -1
  54. package/dist/ComponentStudio/services/entity-form-override.service.d.ts +86 -0
  55. package/dist/ComponentStudio/services/entity-form-override.service.d.ts.map +1 -0
  56. package/dist/ComponentStudio/services/entity-form-override.service.js +246 -0
  57. package/dist/ComponentStudio/services/entity-form-override.service.js.map +1 -0
  58. package/dist/ComponentStudio/services/field-binding-scanner.d.ts +29 -0
  59. package/dist/ComponentStudio/services/field-binding-scanner.d.ts.map +1 -0
  60. package/dist/ComponentStudio/services/field-binding-scanner.js +110 -0
  61. package/dist/ComponentStudio/services/field-binding-scanner.js.map +1 -0
  62. package/dist/ComponentStudio/services/form-canvas-model.d.ts +56 -0
  63. package/dist/ComponentStudio/services/form-canvas-model.d.ts.map +1 -0
  64. package/dist/ComponentStudio/services/form-canvas-model.js +35 -0
  65. package/dist/ComponentStudio/services/form-canvas-model.js.map +1 -0
  66. package/dist/ComponentStudio/services/form-host-props-fixture.d.ts +10 -0
  67. package/dist/ComponentStudio/services/form-host-props-fixture.d.ts.map +1 -0
  68. package/dist/ComponentStudio/services/form-host-props-fixture.js +10 -0
  69. package/dist/ComponentStudio/services/form-host-props-fixture.js.map +1 -0
  70. package/dist/DataExplorer/data-explorer-dashboard.component.js +2 -2
  71. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  72. package/dist/FormBuilder/form-builder-resource.component.d.ts +964 -0
  73. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -0
  74. package/dist/FormBuilder/form-builder-resource.component.js +4487 -0
  75. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -0
  76. package/dist/FormBuilder/form-builder-version-rail.helpers.d.ts +55 -0
  77. package/dist/FormBuilder/form-builder-version-rail.helpers.d.ts.map +1 -0
  78. package/dist/FormBuilder/form-builder-version-rail.helpers.js +73 -0
  79. package/dist/FormBuilder/form-builder-version-rail.helpers.js.map +1 -0
  80. package/dist/Home/home-application.d.ts +21 -1
  81. package/dist/Home/home-application.d.ts.map +1 -1
  82. package/dist/Home/home-application.js +60 -8
  83. package/dist/Home/home-application.js.map +1 -1
  84. package/dist/QueryBrowser/query-browser-resource.component.d.ts +14 -14
  85. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  86. package/dist/QueryBrowser/query-browser-resource.component.js +11 -10
  87. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  88. package/dist/component-studio-dashboards.module.d.ts +34 -22
  89. package/dist/component-studio-dashboards.module.d.ts.map +1 -1
  90. package/dist/component-studio-dashboards.module.js +65 -9
  91. package/dist/component-studio-dashboards.module.js.map +1 -1
  92. package/package.json +54 -53
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-builder-right-panel.component.js","sourceRoot":"","sources":["../../../../src/ComponentStudio/components/form-builder/form-builder-right-panel.component.ts","../../../../src/ComponentStudio/components/form-builder/form-builder-right-panel.component.html"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,MAAM,EACN,MAAM,GACT,MAAM,eAAe,CAAC;;;;;ICYT,gCAA6B;IAAA,YAAwC;IAAA,iBAAO;;;IAA/C,cAAwC;IAAxC,wEAAwC;;;;IAJzE,AADF,AADF,kCAAgC,aACH,aACO;IAAA,YAAqD;IAAA,iBAAM;IAEzF,AADF,+BAAgC,eACC;IAAA,YAAwB;IAAA,iBAAO;IAC9D,8HAAwC;IAI5C,AADE,iBAAM,EACF;IAGJ,AADF,+BAAwB,YACf;IAAA,+BAAc;IAAA,iBAAQ;IAC7B,kCAEyE;IADlE,uNAAS,kCAA2B,KAAC;IAE9C,AAHE,iBAEyE,EACrE;IAGJ,AADF,gCAAwB,aACf;IAAA,4BAAW;IAAA,iBAAQ;IAC1B,kCAE0D;IADnD,uNAAS,mCAA4B,KAAC;IAE/C,AAHE,iBAE0D,EACtD;IAIF,AADF,AADF,gCAAsB,iBACI,iBAE8B;IAA7C,yNAAU,sCAA+B,KAAC;IADjD,iBACoD;IACpD,6BAAM;IAAA,yBAAQ;IAChB,AADgB,iBAAO,EACf;IAGN,AADF,gCAA0C,aACjC;IAAA,qBAAI;IAAA,iBAAQ;IACnB,mCAAgG;IAAvC,0NAAU,kCAA2B,KAAC;IAC7F,mCAAkB;IAAA,qBAAI;IAAA,iBAAS;IAC/B,mCAAkB;IAAA,2BAAU;IAIpC,AADE,AADE,AADE,AAD8B,iBAAS,EAC9B,EACL,EACF,EACE;;;IAtC0B,eAAqD;IAArD,mFAAqD;IAEpD,eAAwB;IAAxB,+CAAwB;IACvD,cAEC;IAFD,oHAEC;IAMgB,eAAqC;IAEjD,AAFY,0DAAqC,8EAEc;IAKnD,eAAsC;IAAtC,2DAAsC;IAOhC,eAA8D;IAA9D,0FAA8D;IAO7E,eAAgD;IAAhD,qEAAgD;;;;IAU1D,AADF,AADF,kCAAgC,cACN,YACf;IAAA,2BAAW;IAAA,iBAAQ;IAC1B,iCACiG;IAA1F,sNAAS,iCAA0B,KAAC;IAC7C,AAFE,iBACiG,EAC7F;IAEJ,AADF,+BAA0C,YACjC;IAAA,oBAAI;IAAA,iBAAQ;IACnB,kCAAgG;IAAvC,yNAAU,kCAA2B,KAAC;IAC7F,kCAAkB;IAAA,qBAAI;IAAA,iBAAS;IAC/B,mCAAkB;IAAA,2BAAU;IAGlC,AADE,AADE,AAD8B,iBAAS,EAC9B,EACL,EACE;;;IAVa,eAAoC;IAApC,yDAAoC;IAK/C,eAAgD;IAAhD,qEAAgD;;;;IASxD,AADF,AADF,kCAAgC,cACN,YACf;IAAA,qBAAK;IAAA,iBAAQ;IACpB,iCAAiG;IAAxC,sNAAS,kCAA2B,KAAC;IAChG,AADE,iBAAiG,EAC7F;IAEJ,AADF,+BAAwB,YACf;IAAA,0BAAU;IAAA,iBAAQ;IACzB,iCAE0D;IADnD,sNAAS,uCAAgC,KAAC;IADjD,iBAE0D;IAC1D,6BAAO;IAAA,8CAA6B;IAAA,6BAAM;IAAA,uBAAM;IAAA,iBAAO;IAAA,kBAAC;IAE5D,AADE,AAD0D,iBAAQ,EAC5D,EACE;;;IATa,eAAqC;IAArC,0DAAqC;IAIrC,eAA0C;IAA1C,+DAA0C;;;IAQ/D,AADF,kCAAgC,YACb;IAAA,8CAA8B;IACjD,AADiD,iBAAI,EAC3C;;;;IAnFV,AADF,iCAA6B,aACD;IACxB,uBAAmC;IACnC,4BAAM;IAAA,kCAAkB;IAC1B,AAD0B,iBAAO,EAC3B;IACN,iCAA4E;IAA5B,kMAAS,wBAAiB,KAAC;IACzE,uBAAiC;IAErC,AADE,iBAAS,EACF;IAyEP,AAdA,AAfA,AA1CF,mHAAyD,6FA0CJ,6FAeH,8FAcF;;;IAvEhD,eA2EC;IA3ED,+OA2EC;;;;IAKC,AADF,iCAA6B,aACD;IACxB,wBAAuC;IACvC,4BAAM;IAAA,kCAAkB;IAC1B,AAD0B,iBAAO,EAC3B;IACN,kCAA4E;IAA5B,kMAAS,wBAAiB,KAAC;IACzE,uBAAiC;IAErC,AADE,iBAAS,EACF;IAIL,AADF,AADF,kCAAgC,cACN,YACf;IAAA,sBAAK;IAAA,iBAAQ;IACpB,kCAA2F;IAAxC,wMAAS,kCAA2B,KAAC;IAC1F,AADE,iBAA2F,EACvF;IAEJ,AADF,gCAA0C,aACjC;IAAA,wBAAO;IAAA,iBAAQ;IACtB,mCAA+F;IAA1C,2MAAU,qCAA8B,KAAC;IAC5F,mCAAkB;IAAA,yBAAQ;IAAA,iBAAS;IACnC,mCAAkB;IAAA,0BAAS;IAE/B,AADE,AAD6B,iBAAS,EAC7B,EACL;IAEJ,AADF,kCAAwB,iBACyF;IAAhD,0MAAU,yCAAkC,KAAC;IAA5G,iBAA+G;IAC/G,6BAAM;IAAA,4BAAW;IAErB,AADE,AADmB,iBAAO,EAClB,EACA;;;IAba,gBAA+B;IAA/B,oDAA+B;IAI1C,eAA4C;IAA5C,iEAA4C;IAM7B,eAAuC;IAAvC,4DAAuC;;;IA4BxD,wBAAwC;;;IAExC,wBAAoC;;;IAOlC,gCAAgD;IAAA,iBAAC;IAAA,iBAAO;;;IAMxD,gCAA6B;IAAA,YAA4B;IAAA,iBAAO;;;IAAnC,cAA4B;IAA5B,wDAA4B;;;IAGzD,gCAA+B;IAAA,YAAoC;IAAA,iBAAO;;;IAA3C,cAAoC;IAApC,+DAAoC;;;;IA1B3E,8BAKqF;IAAjF,AAHA,4NAAS,2BAAiB,KAAC,0PAGqB,sBAAsB,iBAAU;IAClF,gCAA4B;IAGxB,AAFF,mHAAuB,6FAEd;IAGX,iBAAO;IAEL,AADF,+BAA0B,cACE;IACxB,YACA;IAAA,sHAAkB;IAGpB,iBAAM;IAEJ,AADF,+BAA0B,eACO;IAAA,aAAY;IAAA,iBAAO;IAClD,wHAA4B;IAG5B,wHAAqD;IAK3D,AADE,AADE,iBAAM,EACF,EACH;;;;IA7BD,kDAA+B;;IAM/B,eAIC;IAJD,mDAIC;IAIC,eACA;IADA,8DACA;IAAA,cAEC;IAFD,wCAEC;IAG8B,eAAY;IAAZ,+BAAY;IAC3C,cAEC;IAFD,qFAEC;IACD,cAEC;IAFD,+EAEC;;;;IAvCT,AADF,iCAA6B,aACD;IACxB,wBAAsC;IACtC,4BAAM;IAAA,6BAAa;IAEvB,AADE,AADqB,iBAAO,EACtB,EACC;IAGP,AADF,mCAAgC,gBACqE;IAAlC,uMAAS,4BAAqB,KAAC;IAClG,AADE,iBAAmG,EAC3F;IAEV,8BAAyB;IACvB,gHAgCC;IACH,iBAAK;IAGH,AADF,mCAA+B,aACtB;IAAA,qFAAoE;IAC7E,AAD6E,iBAAQ,EAC5E;;;IAzCyC,eAAgB;IAAhB,qCAAgB;IAIhE,eAgCC;IAhCD,oCAgCC;;;IASH,8BAAyB;IACvB,wBAAuC;IACvC,yBAAG;IAAA,iFAAiE;IACtE,AADsE,iBAAI,EACpE;;ADtKV;;;;;;;;;;;;;GAaG;AAQH,MAAM,OAAO,8BAA8B;IAC/B,OAAO,GAA6B,IAAI,CAAC;IACjD,IACI,MAAM,CAAC,KAA+B;QACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEO,OAAO,GAA2B,IAAI,CAAC;IAC/C,IACI,MAAM,CAAC,KAA6B;QACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEQ,iBAAiB,GAAkB,IAAI,CAAC;IACxC,iBAAiB,GAAkB,IAAI,CAAC;IAEjD,wEAAwE;IAC9D,cAAc,GAAG,IAAI,YAAY,EAAqB,CAAC;IACjE,wEAAwE;IAC9D,cAAc,GAAG,IAAI,YAAY,EAAqB,CAAC;IACjE,6CAA6C;IACnC,cAAc,GAAG,IAAI,YAAY,EAAU,CAAC;IACtD,6CAA6C;IACnC,cAAc,GAAG,IAAI,YAAY,EAAU,CAAC;IACtD,6EAA6E;IACnE,UAAU,GAAG,IAAI,YAAY,EAAyB,CAAC;IAE1D,MAAM,GAAG,EAAE,CAAC;IACX,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3B,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEjD,IAAW,cAAc;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CACtD,CAAC;IACN,CAAC;IAED,IAAW,eAAe;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAC1D,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC1E,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAW,eAAe;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;IACpF,CAAC;IAED,IAAW,aAAa;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC3E,CAAC;IAEM,OAAO,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAEM,aAAa,CAAC,KAAY;QAC7B,IAAI,CAAC,MAAM,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;IAC3D,CAAC;IAEM,mBAAmB,CAAC,KAAY;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,IAAI,GAAsB,EAAE,GAAG,EAAE,EAAE,KAAK,EAAG,KAAK,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC;QAC3F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,oBAAoB,CAAC,KAAY;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,CAAC,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;QACnD,MAAM,IAAI,GAAsB,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAChF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,uBAAuB,CAAC,KAAY;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,IAAI,GAAsB,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAG,KAAK,CAAC,MAA2B,CAAC,OAAO,EAAE,CAAC;QAChG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,mBAAmB,CAAC,KAAY;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,CAAC,GAAG,MAAM,CAAE,KAAK,CAAC,MAA4B,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAsB,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,kBAAkB,CAAC,KAAY;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,IAAI,GAAsB,EAAE,GAAG,EAAE,EAAE,IAAI,EAAG,KAAK,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC;QAC1F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,wBAAwB,CAAC,KAAY;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,IAAI,GAAsB,EAAE,GAAG,EAAE,EAAE,UAAU,EAAG,KAAK,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC;QAChG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,eAAe;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,mBAAmB,CAAC,KAAY;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/B,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,MAAM,IAAI,GAAsB,EAAE,GAAG,CAAC,EAAE,KAAK,EAAG,KAAK,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC;QAC1F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,sBAAsB,CAAC,KAAY;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/B,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,MAAM,CAAC,GAAG,MAAM,CAAE,KAAK,CAAC,MAA4B,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAsB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,0BAA0B,CAAC,KAAY;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/B,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,MAAM,IAAI,GAAsB,EAAE,GAAG,CAAC,EAAE,WAAW,EAAG,KAAK,CAAC,MAA2B,CAAC,OAAO,EAAE,CAAC;QAClG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,eAAe;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/B,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAEM,cAAc,CAAC,KAAuB;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;wHA3KQ,8BAA8B;6DAA9B,8BAA8B;YCjC3C,8BAAyB;YA6KrB,AArDA,AA9BA,AAzFF,uFAAuB,iEAyFO,iEA8BT,0EAqDZ;YAOX,iBAAM;;YAnLJ,cAkLC;YAlLD,wFAkLC;;;iFDlJU,8BAA8B;cAP1C,SAAS;6BACM,KAAK,YACP,6BAA6B,mBACtB,uBAAuB,CAAC,MAAM;;kBAM9C,KAAK;;kBAUL,KAAK;;kBAUL,KAAK;;kBACL,KAAK;;kBAGL,MAAM;;kBAEN,MAAM;;kBAEN,MAAM;;kBAEN,MAAM;;kBAEN,MAAM;;kFAlCE,8BAA8B","sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n EventEmitter,\n Input,\n Output,\n inject,\n} from '@angular/core';\nimport type { CuratedFormField, CuratedFormSchema } from '@memberjunction/interactive-component-types/forms';\nimport type { FormCanvasElement, FormCanvasModel, FormCanvasSection } from '../../services/form-canvas-model';\n\n/**\n * Right-panel inspector. Two modes:\n *\n * 1. **Palette mode** (default — no element selected): shows the curated\n * fields for the active entity. Each row is a CDK drag source — drop\n * onto a section to add a field element. Includes a search filter and a\n * \"bound\" badge that mirrors which fields are already on the canvas.\n *\n * 2. **Inspector mode** (element selected): shows the selected element's\n * properties (label override, helper text, required flag, span).\n *\n * The component is presentational — it emits events but doesn't mutate\n * canvas state. The dashboard owns the canvas and applies the updates.\n */\n@Component({\n standalone: false,\n selector: 'mj-form-builder-right-panel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './form-builder-right-panel.component.html',\n styleUrls: ['./form-builder-right-panel.component.css'],\n})\nexport class FormBuilderRightPanelComponent {\n private _schema: CuratedFormSchema | null = null;\n @Input()\n set Schema(value: CuratedFormSchema | null) {\n this._schema = value;\n this.cdr.markForCheck();\n }\n get Schema(): CuratedFormSchema | null {\n return this._schema;\n }\n\n private _canvas: FormCanvasModel | null = null;\n @Input()\n set Canvas(value: FormCanvasModel | null) {\n this._canvas = value;\n this.recomputeBoundFields();\n this.cdr.markForCheck();\n }\n get Canvas(): FormCanvasModel | null {\n return this._canvas;\n }\n\n @Input() SelectedElementId: string | null = null;\n @Input() SelectedSectionId: string | null = null;\n\n /** Emitted when the user updates a property on the selected element. */\n @Output() ElementChanged = new EventEmitter<FormCanvasElement>();\n /** Emitted when the user updates a property on the selected section. */\n @Output() SectionChanged = new EventEmitter<FormCanvasSection>();\n /** Delete the currently-selected element. */\n @Output() ElementDeleted = new EventEmitter<string>();\n /** Delete the currently-selected section. */\n @Output() SectionDeleted = new EventEmitter<string>();\n /** Add a new element from the palette (drag fallback for non-DnD inputs). */\n @Output() FieldAdded = new EventEmitter<{ fieldName: string }>();\n\n public Search = '';\n private boundFieldNames = new Set<string>();\n\n private readonly cdr = inject(ChangeDetectorRef);\n\n public get filteredFields(): CuratedFormField[] {\n if (!this._schema) return [];\n const q = this.Search.trim().toLowerCase();\n if (!q) return this._schema.fields;\n return this._schema.fields.filter(f =>\n f.name.toLowerCase().includes(q) ||\n (f.displayName?.toLowerCase().includes(q) ?? false),\n );\n }\n\n public get SelectedElement(): FormCanvasElement | null {\n if (!this._canvas || !this.SelectedElementId) return null;\n for (const section of this._canvas.sections) {\n const found = section.elements.find(e => e.id === this.SelectedElementId);\n if (found) return found;\n }\n return null;\n }\n\n public get SelectedSection(): FormCanvasSection | null {\n if (!this._canvas || !this.SelectedSectionId) return null;\n return this._canvas.sections.find(s => s.id === this.SelectedSectionId) ?? null;\n }\n\n public get SelectedField(): CuratedFormField | null {\n const el = this.SelectedElement;\n if (!el || el.type !== 'field' || !el.fieldName) return null;\n return this._schema?.fields.find(f => f.name === el.fieldName) ?? null;\n }\n\n public isBound(fieldName: string): boolean {\n return this.boundFieldNames.has(fieldName);\n }\n\n public OnSearchInput(event: Event): void {\n this.Search = (event.target as HTMLInputElement).value;\n }\n\n public OnElementLabelInput(event: Event): void {\n const el = this.SelectedElement;\n if (!el) return;\n const next: FormCanvasElement = { ...el, label: (event.target as HTMLInputElement).value };\n this.ElementChanged.emit(next);\n }\n\n public OnElementHelperInput(event: Event): void {\n const el = this.SelectedElement;\n if (!el) return;\n const v = (event.target as HTMLInputElement).value;\n const next: FormCanvasElement = { ...el, helper: v.length > 0 ? v : undefined };\n this.ElementChanged.emit(next);\n }\n\n public OnElementRequiredChange(event: Event): void {\n const el = this.SelectedElement;\n if (!el) return;\n const next: FormCanvasElement = { ...el, required: (event.target as HTMLInputElement).checked };\n this.ElementChanged.emit(next);\n }\n\n public OnElementSpanChange(event: Event): void {\n const el = this.SelectedElement;\n if (!el) return;\n const v = Number((event.target as HTMLSelectElement).value);\n const next: FormCanvasElement = { ...el, span: (v === 2 ? 2 : 1) };\n this.ElementChanged.emit(next);\n }\n\n public OnElementTextInput(event: Event): void {\n const el = this.SelectedElement;\n if (!el) return;\n const next: FormCanvasElement = { ...el, text: (event.target as HTMLInputElement).value };\n this.ElementChanged.emit(next);\n }\n\n public OnElementExpressionInput(event: Event): void {\n const el = this.SelectedElement;\n if (!el) return;\n const next: FormCanvasElement = { ...el, expression: (event.target as HTMLInputElement).value };\n this.ElementChanged.emit(next);\n }\n\n public OnDeleteElement(): void {\n const el = this.SelectedElement;\n if (!el) return;\n this.ElementDeleted.emit(el.id);\n }\n\n public OnSectionTitleInput(event: Event): void {\n const s = this.SelectedSection;\n if (!s) return;\n const next: FormCanvasSection = { ...s, title: (event.target as HTMLInputElement).value };\n this.SectionChanged.emit(next);\n }\n\n public OnSectionColumnsChange(event: Event): void {\n const s = this.SelectedSection;\n if (!s) return;\n const v = Number((event.target as HTMLSelectElement).value);\n const next: FormCanvasSection = { ...s, columns: (v === 2 ? 2 : 1) };\n this.SectionChanged.emit(next);\n }\n\n public OnSectionCollapsibleChange(event: Event): void {\n const s = this.SelectedSection;\n if (!s) return;\n const next: FormCanvasSection = { ...s, collapsible: (event.target as HTMLInputElement).checked };\n this.SectionChanged.emit(next);\n }\n\n public OnDeleteSection(): void {\n const s = this.SelectedSection;\n if (!s) return;\n this.SectionDeleted.emit(s.id);\n }\n\n public OnPaletteClick(field: CuratedFormField): void {\n this.FieldAdded.emit({ fieldName: field.name });\n }\n\n private recomputeBoundFields(): void {\n this.boundFieldNames = new Set<string>();\n if (!this._canvas) return;\n for (const section of this._canvas.sections) {\n for (const element of section.elements) {\n if (element.type === 'field' && element.fieldName) {\n this.boundFieldNames.add(element.fieldName);\n }\n }\n }\n }\n}\n","<div class=\"right-panel\">\n @if (SelectedElement) {\n <!-- ============== INSPECTOR MODE ============== -->\n <header class=\"panel-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n <span>Element Properties</span>\n </div>\n <button class=\"icon-btn\" title=\"Delete element\" (click)=\"OnDeleteElement()\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n </header>\n\n @if (SelectedElement.type === 'field' && SelectedField) {\n <section class=\"inspector-body\">\n <div class=\"field-summary\">\n <div class=\"field-summary-name\">{{ SelectedField.displayName || SelectedField.name }}</div>\n <div class=\"field-summary-meta\">\n <span class=\"badge badge-type\">{{ SelectedField.type }}</span>\n @if (SelectedField.references?.entity) {\n <span class=\"badge badge-fk\">→ {{ SelectedField.references!.entity }}</span>\n }\n </div>\n </div>\n\n <div class=\"form-field\">\n <label>Label override</label>\n <input type=\"text\" [value]=\"SelectedElement.label ?? ''\"\n (input)=\"OnElementLabelInput($event)\"\n [placeholder]=\"SelectedField.displayName ?? SelectedField.name\" />\n </div>\n\n <div class=\"form-field\">\n <label>Helper text</label>\n <input type=\"text\" [value]=\"SelectedElement.helper ?? ''\"\n (input)=\"OnElementHelperInput($event)\"\n placeholder=\"Optional — shown beneath the input\" />\n </div>\n\n <div class=\"form-row\">\n <label class=\"checkbox\">\n <input type=\"checkbox\" [checked]=\"SelectedElement.required ?? SelectedField.required\"\n (change)=\"OnElementRequiredChange($event)\" />\n <span>Required</span>\n </label>\n\n <div class=\"form-field form-field-inline\">\n <label>Span</label>\n <select [value]=\"(SelectedElement.span ?? 1).toString()\" (change)=\"OnElementSpanChange($event)\">\n <option value=\"1\">Half</option>\n <option value=\"2\">Full width</option>\n </select>\n </div>\n </div>\n </section>\n } @else if (SelectedElement.type === 'static-text') {\n <section class=\"inspector-body\">\n <div class=\"form-field\">\n <label>Static text</label>\n <input type=\"text\" [value]=\"SelectedElement.text ?? ''\"\n (input)=\"OnElementTextInput($event)\" placeholder=\"Section description, instructions...\" />\n </div>\n <div class=\"form-field form-field-inline\">\n <label>Span</label>\n <select [value]=\"(SelectedElement.span ?? 1).toString()\" (change)=\"OnElementSpanChange($event)\">\n <option value=\"1\">Half</option>\n <option value=\"2\">Full width</option>\n </select>\n </div>\n </section>\n } @else if (SelectedElement.type === 'computed') {\n <section class=\"inspector-body\">\n <div class=\"form-field\">\n <label>Label</label>\n <input type=\"text\" [value]=\"SelectedElement.label ?? ''\" (input)=\"OnElementLabelInput($event)\" />\n </div>\n <div class=\"form-field\">\n <label>Expression</label>\n <input type=\"text\" [value]=\"SelectedElement.expression ?? ''\"\n (input)=\"OnElementExpressionInput($event)\"\n placeholder='record.Quantity * record.UnitPrice' />\n <small>Evaluated at runtime against <code>record</code>.</small>\n </div>\n </section>\n } @else if (SelectedElement.type === 'spacer') {\n <section class=\"inspector-body\">\n <p class=\"muted\">Spacer element. No properties.</p>\n </section>\n }\n\n } @else if (SelectedSection) {\n <!-- ============== SECTION INSPECTOR ============== -->\n <header class=\"panel-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-layer-group\"></i>\n <span>Section Properties</span>\n </div>\n <button class=\"icon-btn\" title=\"Delete section\" (click)=\"OnDeleteSection()\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n </header>\n\n <section class=\"inspector-body\">\n <div class=\"form-field\">\n <label>Title</label>\n <input type=\"text\" [value]=\"SelectedSection.title\" (input)=\"OnSectionTitleInput($event)\" />\n </div>\n <div class=\"form-field form-field-inline\">\n <label>Columns</label>\n <select [value]=\"SelectedSection.columns.toString()\" (change)=\"OnSectionColumnsChange($event)\">\n <option value=\"1\">1 column</option>\n <option value=\"2\">2 columns</option>\n </select>\n </div>\n <label class=\"checkbox\">\n <input type=\"checkbox\" [checked]=\"SelectedSection.collapsible\" (change)=\"OnSectionCollapsibleChange($event)\" />\n <span>Collapsible</span>\n </label>\n </section>\n\n } @else if (Schema) {\n <!-- ============== PALETTE MODE ============== -->\n <header class=\"panel-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-list-check\"></i>\n <span>Field Palette</span>\n </div>\n </header>\n\n <section class=\"palette-search\">\n <input type=\"text\" placeholder=\"Filter fields…\" [value]=\"Search\" (input)=\"OnSearchInput($event)\" />\n </section>\n\n <ul class=\"palette-list\">\n @for (f of filteredFields; track f.name) {\n <li class=\"palette-row\"\n [class.bound]=\"isBound(f.name)\"\n (click)=\"OnPaletteClick(f)\"\n [attr.data-field-name]=\"f.name\"\n draggable=\"true\"\n (dragstart)=\"$any($event).dataTransfer?.setData('text/x-mj-form-field', f.name)\">\n <span class=\"palette-glyph\">\n @if (isBound(f.name)) {\n <i class=\"fa-solid fa-circle-check\"></i>\n } @else {\n <i class=\"fa-regular fa-circle\"></i>\n }\n </span>\n <div class=\"palette-body\">\n <div class=\"palette-name\">\n {{ f.displayName || f.name }}\n @if (f.required) {\n <span class=\"palette-required\" title=\"Required\">*</span>\n }\n </div>\n <div class=\"palette-meta\">\n <span class=\"badge badge-type\">{{ f.type }}</span>\n @if (f.references?.entity) {\n <span class=\"badge badge-fk\">→ {{ f.references!.entity }}</span>\n }\n @if (f.allowedValues && f.allowedValues.length > 0) {\n <span class=\"badge badge-enum\">{{ f.allowedValues!.length }} values</span>\n }\n </div>\n </div>\n </li>\n }\n </ul>\n\n <footer class=\"palette-footer\">\n <small>Drag a field onto a section, or click to add to the focused section.</small>\n </footer>\n\n } @else {\n <!-- ============== EMPTY ============== -->\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-circle-info\"></i>\n <p>Pick an entity from the canvas toolbar to load its field palette.</p>\n </div>\n }\n</div>\n"]}
@@ -0,0 +1,88 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import type { FormMode } from '@memberjunction/interactive-component-types/forms';
3
+ import { ComponentStudioStateService } from '../../services/component-studio-state.service';
4
+ import { type FormCanvasElement, type FormCanvasModel, type FormCanvasSection } from '../../services/form-canvas-model';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Form Builder tab — the visual drag-and-drop canvas surface that appears
8
+ * in Component Studio's editor-tabs strip when the active spec is form-role.
9
+ *
10
+ * The canvas is the source-of-truth while this tab is active. On save, the
11
+ * dashboard serialises the canvas to JSX via `generateCodeFromCanvas` and
12
+ * pushes that into `state.EditableCode`. When the user opens an existing
13
+ * form-role Component, `parseCanvasFromCode` reconstructs the canvas
14
+ * (lossily) from the stored code; if the round-trip is too lossy, we leave
15
+ * the canvas empty and steer the user toward the Code tab.
16
+ *
17
+ * The component is presentational where it can be — the heavy state
18
+ * (canvas, schema, selection, preview mode) lives on
19
+ * `ComponentStudioStateService`. This keeps the right-panel and the live
20
+ * preview pane in sync with whatever the user is doing in here.
21
+ */
22
+ export declare class FormBuilderTabComponent {
23
+ /** Notifies the parent (dashboard) that the user wants to switch to the Code tab. */
24
+ RequestCodeTab: EventEmitter<void>;
25
+ /** Fired separately for the dashboard's NavigationService bridge. */
26
+ OpenInChatRequested: EventEmitter<void>;
27
+ IsEntityPickerOpen: boolean;
28
+ EntityPickerSearch: string;
29
+ EntityChoices: Array<{
30
+ Name: string;
31
+ DisplayName: string;
32
+ }>;
33
+ readonly state: ComponentStudioStateService;
34
+ private readonly cdr;
35
+ private readonly notifications;
36
+ private readonly destroy$;
37
+ ngOnInit(): void;
38
+ ngOnDestroy(): void;
39
+ ToggleEntityPicker(): void;
40
+ OnEntityPickerSearch(event: Event): void;
41
+ OnEntityPicked(entityName: string): void;
42
+ get filteredEntityChoices(): Array<{
43
+ Name: string;
44
+ DisplayName: string;
45
+ }>;
46
+ private refreshEntityChoices;
47
+ SetPreviewMode(mode: FormMode): void;
48
+ OnCanvasChanged(next: FormCanvasModel): void;
49
+ OnElementSelected(payload: {
50
+ sectionId: string;
51
+ elementId: string;
52
+ }): void;
53
+ OnSectionSelected(sectionId: string): void;
54
+ OnDeselected(): void;
55
+ OnElementChanged(next: FormCanvasElement): void;
56
+ OnSectionChanged(next: FormCanvasSection): void;
57
+ OnElementDeleted(elementId: string): void;
58
+ OnSectionDeleted(sectionId: string): void;
59
+ OnFieldAddedFromPalette(payload: {
60
+ fieldName: string;
61
+ }): void;
62
+ private findFocusedSection;
63
+ /**
64
+ * Bubble up — the dashboard wires up `navigationService.SetAgentContext`
65
+ * via the state event because we don't extend BaseResourceComponent
66
+ * here. The tab also fires a local Output for the editor-tabs parent in
67
+ * case it wants to react.
68
+ */
69
+ OnOpenInChat(): void;
70
+ OnViewCode(): void;
71
+ OnKeyDown(event: KeyboardEvent): void;
72
+ /**
73
+ * Build a fresh canvas if the spec already has a target entity but no
74
+ * canvas yet (e.g. tab activated for the first time). Best-effort — if
75
+ * the spec's code is too lossy to parse, we leave the canvas empty and
76
+ * show a banner.
77
+ */
78
+ private hydrateCanvasFromState;
79
+ /**
80
+ * Mirror the canvas into ComponentStudioStateService.EditableCode so the
81
+ * Code tab, the preview, and the eventual Save flow all see the same
82
+ * source. Quietly no-op if we don't have enough to render.
83
+ */
84
+ private regenerateCode;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormBuilderTabComponent, never>;
86
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormBuilderTabComponent, "mj-form-builder-tab", never, {}, { "RequestCodeTab": "RequestCodeTab"; "OpenInChatRequested": "OpenInChatRequested"; }, never, never, false, never>;
87
+ }
88
+ //# sourceMappingURL=form-builder-tab.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-builder-tab.component.d.ts","sourceRoot":"","sources":["../../../../src/ComponentStudio/components/form-builder/form-builder-tab.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,YAAY,EAIf,MAAM,eAAe,CAAC;AAIvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAG5F,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACzB,MAAM,kCAAkC,CAAC;;AAE1C;;;;;;;;;;;;;;;GAeG;AACH,qBAOa,uBAAuB;IAEhC,qFAAqF;IAC3E,cAAc,qBAA4B;IAEpD,qEAAqE;IAC3D,mBAAmB,qBAA4B;IAElD,kBAAkB,UAAS;IAC3B,kBAAkB,SAAM;IACxB,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAExE,SAAgB,KAAK,8BAAuC;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAMhD,QAAQ,IAAI,IAAI;IAUhB,WAAW,IAAI,IAAI;IASZ,kBAAkB,IAAI,IAAI;IAM1B,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKxC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IA+B/C,IAAW,qBAAqB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAM/E;IAED,OAAO,CAAC,oBAAoB;IAgBrB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAQpC,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAM5C,iBAAiB,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAK1E,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK1C,YAAY,IAAI,IAAI;IAKpB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAa/C,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAU/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAczC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAWzC,uBAAuB,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAmBpE,OAAO,CAAC,kBAAkB;IAiB1B;;;;;OAKG;IACI,YAAY,IAAI,IAAI;IASpB,UAAU,IAAI,IAAI;IAWlB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAe5C;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;;;OAIG;IACH,OAAO,CAAC,cAAc;yCAhSb,uBAAuB;2CAAvB,uBAAuB;CA4SnC"}