@sankhyalabs/sankhyablocks 8.16.0-dev.97 → 8.16.0-dev.99

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 (135) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-9bd6fa5a.js → ClientSideExporterProvider-cc82b68a.js} +2 -3
  2. package/dist/cjs/{ConfigStorage-6b633b10.js → ConfigStorage-2235f35e.js} +1 -1
  3. package/dist/cjs/{pesquisa-fetcher-30cab386.js → ISave-62fbb1dd.js} +8 -0
  4. package/dist/cjs/{SnkFormConfigManager-d680be08.js → SnkFormConfigManager-6637cd6b.js} +2 -2
  5. package/dist/cjs/{auth-fetcher-24ba4135.js → auth-fetcher-abad589f.js} +1 -1
  6. package/dist/cjs/{form-config-fetcher-e0a512c3.js → form-config-fetcher-db332748.js} +14 -0
  7. package/dist/cjs/index-f9e81701.js +2 -2
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +3 -4
  10. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  11. package/dist/cjs/{snk-actions-button_5.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +63 -4
  12. package/dist/cjs/snk-application.cjs.entry.js +48 -5
  13. package/dist/cjs/snk-attach.cjs.entry.js +3 -4
  14. package/dist/cjs/snk-config-options_3.cjs.entry.js +3 -3
  15. package/dist/cjs/snk-configurator.cjs.entry.js +8 -1
  16. package/dist/cjs/snk-crud.cjs.entry.js +5 -5
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -3
  18. package/dist/cjs/snk-detail-view.cjs.entry.js +5 -6
  19. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +4 -3
  20. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +2 -2
  21. package/dist/cjs/snk-grid.cjs.entry.js +4 -5
  22. package/dist/cjs/{snk-guides-viewer-c588a295.js → snk-guides-viewer-0e4f3b1a.js} +3 -4
  23. package/dist/cjs/snk-guides-viewer.cjs.entry.js +5 -6
  24. package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -2
  25. package/dist/cjs/snk-pesquisa.cjs.entry.js +9 -10
  26. package/dist/cjs/snk-simple-crud.cjs.entry.js +7 -7
  27. package/dist/collection/collection-manifest.json +2 -0
  28. package/dist/collection/components/snk-application/snk-application.js +41 -0
  29. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  30. package/dist/collection/components/snk-crud/snk-crud.js +20 -1
  31. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +2 -1
  32. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  33. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  34. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  35. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  36. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +20 -1
  37. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  38. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +14 -0
  39. package/dist/components/form-config-fetcher.js +14 -0
  40. package/dist/components/index.d.ts +2 -0
  41. package/dist/components/index.js +2 -0
  42. package/dist/components/snk-application2.js +45 -0
  43. package/dist/components/snk-attach2.js +34 -22
  44. package/dist/components/snk-configurator2.js +22 -2
  45. package/dist/components/snk-crud.js +76 -62
  46. package/dist/components/snk-detail-view2.js +105 -83
  47. package/dist/components/snk-filter-item2.js +2 -1
  48. package/dist/components/snk-layout-form-config.d.ts +11 -0
  49. package/dist/components/snk-layout-form-config.js +6 -0
  50. package/dist/components/snk-layout-form-config2.js +73 -0
  51. package/dist/components/snk-simple-crud2.js +33 -19
  52. package/dist/components/snk-view-representation.d.ts +11 -0
  53. package/dist/components/snk-view-representation.js +6 -0
  54. package/dist/components/snk-view-representation2.js +41 -0
  55. package/dist/esm/{ClientSideExporterProvider-e42c5a48.js → ClientSideExporterProvider-8191676b.js} +2 -3
  56. package/dist/esm/{ConfigStorage-e5c1f4c0.js → ConfigStorage-9bd805d6.js} +1 -1
  57. package/dist/esm/{pesquisa-fetcher-e26c3295.js → ISave-7d546dce.js} +9 -1
  58. package/dist/esm/{SnkFormConfigManager-1efd102b.js → SnkFormConfigManager-fbc6a9a8.js} +2 -2
  59. package/dist/esm/{auth-fetcher-9987c66e.js → auth-fetcher-07d33333.js} +1 -1
  60. package/dist/esm/{form-config-fetcher-34becd23.js → form-config-fetcher-ac17cff4.js} +14 -0
  61. package/dist/esm/index-a7d3d3f1.js +2 -2
  62. package/dist/esm/loader.js +1 -1
  63. package/dist/esm/pesquisa-grid_2.entry.js +2 -3
  64. package/dist/esm/sankhyablocks.js +1 -1
  65. package/dist/esm/{snk-actions-button_5.entry.js → snk-actions-button_7.entry.js} +63 -6
  66. package/dist/esm/snk-application.entry.js +47 -4
  67. package/dist/esm/snk-attach.entry.js +3 -4
  68. package/dist/esm/snk-config-options_3.entry.js +3 -3
  69. package/dist/esm/snk-configurator.entry.js +8 -1
  70. package/dist/esm/snk-crud.entry.js +5 -5
  71. package/dist/esm/snk-data-exporter.entry.js +2 -3
  72. package/dist/esm/snk-detail-view.entry.js +5 -6
  73. package/dist/esm/snk-filter-bar_4.entry.js +4 -3
  74. package/dist/esm/snk-filter-modal-item.entry.js +2 -2
  75. package/dist/esm/snk-grid.entry.js +4 -5
  76. package/dist/esm/{snk-guides-viewer-c38641c5.js → snk-guides-viewer-80a8709c.js} +3 -4
  77. package/dist/esm/snk-guides-viewer.entry.js +5 -6
  78. package/dist/esm/snk-personalized-filter.entry.js +2 -2
  79. package/dist/esm/snk-pesquisa.entry.js +2 -3
  80. package/dist/esm/snk-simple-crud.entry.js +7 -7
  81. package/dist/sankhyablocks/p-01512409.js +26 -0
  82. package/dist/sankhyablocks/p-02c6dc9f.entry.js +1 -0
  83. package/dist/sankhyablocks/{p-6c43fcde.entry.js → p-0bcd4757.entry.js} +1 -1
  84. package/dist/sankhyablocks/{p-ef076eea.js → p-108fee57.js} +2 -2
  85. package/dist/sankhyablocks/{p-3fcb90d6.js → p-13f17dab.js} +1 -1
  86. package/dist/sankhyablocks/{p-d3b9b377.entry.js → p-340e2447.entry.js} +1 -1
  87. package/dist/sankhyablocks/p-35fcf37e.js +1 -0
  88. package/dist/sankhyablocks/p-3a36d4b3.entry.js +1 -0
  89. package/dist/sankhyablocks/{p-a77bdadc.js → p-48729c8c.js} +1 -1
  90. package/dist/sankhyablocks/p-513af002.entry.js +1 -0
  91. package/dist/sankhyablocks/{p-e5657d22.entry.js → p-5fea0816.entry.js} +1 -1
  92. package/dist/sankhyablocks/p-950e3cbe.entry.js +1 -0
  93. package/dist/sankhyablocks/p-9907cf67.entry.js +1 -0
  94. package/dist/sankhyablocks/p-af58c9d7.entry.js +1 -0
  95. package/dist/sankhyablocks/p-c5acb7ba.entry.js +11 -0
  96. package/dist/sankhyablocks/p-c7c6eab7.entry.js +1 -0
  97. package/dist/sankhyablocks/{p-3ce68be5.js → p-cb9d725a.js} +1 -1
  98. package/dist/sankhyablocks/p-d1f04e2c.js +1 -0
  99. package/dist/sankhyablocks/p-d2065bb4.entry.js +1 -0
  100. package/dist/sankhyablocks/p-dc617b0c.entry.js +1 -0
  101. package/dist/sankhyablocks/p-e5d8891d.entry.js +1 -0
  102. package/dist/sankhyablocks/{p-e66bcb5c.entry.js → p-f467153c.entry.js} +1 -1
  103. package/dist/sankhyablocks/p-f861bfcb.entry.js +1 -0
  104. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  105. package/dist/types/components/snk-application/snk-application.d.ts +10 -0
  106. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  107. package/dist/types/components/snk-crud/snk-crud.d.ts +4 -0
  108. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  109. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  110. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
  111. package/dist/types/components.d.ts +69 -1
  112. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  113. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +6 -0
  114. package/package.json +1 -1
  115. package/react/components.d.ts +2 -0
  116. package/react/components.js +2 -0
  117. package/react/components.js.map +1 -1
  118. package/dist/cjs/ISave-e91b70a7.js +0 -9
  119. package/dist/esm/ISave-d8c8bc59.js +0 -9
  120. package/dist/sankhyablocks/p-04acdc3a.entry.js +0 -1
  121. package/dist/sankhyablocks/p-04b96ffe.js +0 -1
  122. package/dist/sankhyablocks/p-05fda408.entry.js +0 -1
  123. package/dist/sankhyablocks/p-17af0b1c.entry.js +0 -1
  124. package/dist/sankhyablocks/p-21749402.js +0 -1
  125. package/dist/sankhyablocks/p-22ddc147.js +0 -26
  126. package/dist/sankhyablocks/p-27d12f8f.entry.js +0 -1
  127. package/dist/sankhyablocks/p-3bab7e9c.entry.js +0 -1
  128. package/dist/sankhyablocks/p-4b01cbad.entry.js +0 -11
  129. package/dist/sankhyablocks/p-4c9adf1c.entry.js +0 -1
  130. package/dist/sankhyablocks/p-6b898a51.entry.js +0 -1
  131. package/dist/sankhyablocks/p-9523fc40.entry.js +0 -1
  132. package/dist/sankhyablocks/p-99ab1e1d.entry.js +0 -1
  133. package/dist/sankhyablocks/p-a18de25e.js +0 -1
  134. package/dist/sankhyablocks/p-be2e5f36.entry.js +0 -1
  135. package/dist/sankhyablocks/p-d571e243.entry.js +0 -1
@@ -8,6 +8,8 @@ import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher.js
8
8
  import { a as PesquisaFetcher } from './ISave.js';
9
9
  import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
10
10
  import { T as TEMPLATES_SKELETON } from './constants.js';
11
+ import './filter-item-type.enum.js';
12
+ import { F as FormConfigFetcher } from './form-config-fetcher.js';
11
13
  import { d as defineCustomElement$3 } from './pesquisa-grid2.js';
12
14
  import { d as defineCustomElement$2 } from './pesquisa-tree2.js';
13
15
  import { d as defineCustomElement$1 } from './snk-pesquisa2.js';
@@ -377,6 +379,32 @@ class RequestListenerFactory {
377
379
  }
378
380
  }
379
381
 
382
+ class LayoutFormConfig {
383
+ constructor() {
384
+ this._config = null;
385
+ this.listeners = [];
386
+ }
387
+ static getInstance() {
388
+ if (!LayoutFormConfig.instance) {
389
+ LayoutFormConfig.instance = new LayoutFormConfig();
390
+ }
391
+ return LayoutFormConfig.instance;
392
+ }
393
+ get config() {
394
+ return this._config;
395
+ }
396
+ setConfig(newConfig) {
397
+ this._config = newConfig;
398
+ this.notifyListeners();
399
+ }
400
+ onConfigChange(listener) {
401
+ this.listeners.push(listener);
402
+ }
403
+ notifyListeners() {
404
+ this.listeners.forEach(listener => listener(this._config));
405
+ }
406
+ }
407
+
380
408
  const snkApplicationCss = ".sc-snk-application-h{--scrim-z-index:var(--elevation--100, 100);display:flex;flex-direction:column;height:100%}.sc-snk-application-h>.loading-hidden.sc-snk-application{display:none;pointer-events:none}.skeleton-content-left.sc-snk-application{width:300px;padding-right:5px}.skeleton-content.sc-snk-application{height:calc(100vh - 310px)}.spinner.sc-snk-application{height:100vh;gap:10px}.spinner.sc-snk-application>.spin.sc-snk-application{animation-name:spin;animation-duration:5000ms;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
381
409
 
382
410
  const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -397,6 +425,8 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
397
425
  this._pendingActions = new Map;
398
426
  this._loadPkParameter = null;
399
427
  this._isLoadedByPk = false;
428
+ this._formConfigFetcher = new FormConfigFetcher();
429
+ this._LayoutFormConfigSingleton = LayoutFormConfig.getInstance();
400
430
  this._applicationReady = false;
401
431
  this._templateSkeleton = TEMPLATES_SKELETON.GRID;
402
432
  this._activeScrimWindow = false;
@@ -471,6 +501,14 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
471
501
  async getKeyboardManager() {
472
502
  return Promise.resolve(this._keyboardManager);
473
503
  }
504
+ /**
505
+ * Obtém o notificador de Layout de formulario.
506
+ *
507
+ * @return {LayoutFormConfig} the Configurador de Layout do Formulario
508
+ */
509
+ async getLayoutFormConfig() {
510
+ return Promise.resolve(this._LayoutFormConfigSingleton);
511
+ }
474
512
  /**
475
513
  * Obtém `true` caso o usuário logado seja o SUP.
476
514
  */
@@ -1384,6 +1422,12 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
1384
1422
  ConfigStorage.preload(this.applicationResourceID, this.configName, legacyConfig);
1385
1423
  document.addEventListener("click", () => Workspace.applicationClick());
1386
1424
  this._waitingAppReady.forEach(resolve => resolve());
1425
+ this.setLayoutFormConfig();
1426
+ }
1427
+ async setLayoutFormConfig() {
1428
+ const response = await this._formConfigFetcher.fetchLayoutFormConfig('formColCfg.' + this.applicationResourceID);
1429
+ const config = isNaN(Number(response === null || response === void 0 ? void 0 : response.config)) ? null : Number(response === null || response === void 0 ? void 0 : response.config);
1430
+ this._LayoutFormConfigSingleton.setConfig(config);
1387
1431
  }
1388
1432
  connectedCallback() {
1389
1433
  this._isBrowserTypeElectron = UserAgentUtils.isElectron();
@@ -1564,6 +1608,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
1564
1608
  "_templateSkeleton": [32],
1565
1609
  "_activeScrimWindow": [32],
1566
1610
  "getKeyboardManager": [64],
1611
+ "getLayoutFormConfig": [64],
1567
1612
  "isUserSup": [64],
1568
1613
  "addPendingAction": [64],
1569
1614
  "callServiceBroker": [64],
@@ -7,17 +7,19 @@ import './filter-item-type.enum.js';
7
7
  import './form-config-fetcher.js';
8
8
  import { V as VIEW_MODE } from './constants.js';
9
9
  import { A as AutorizationType } from './auth-fetcher.js';
10
- import { T as TaskbarElement, d as defineCustomElement$2 } from './snk-taskbar2.js';
11
- import { d as defineCustomElement$c } from './snk-actions-button2.js';
12
- import { d as defineCustomElement$b } from './snk-configurator2.js';
13
- import { d as defineCustomElement$a } from './snk-data-exporter2.js';
14
- import { d as defineCustomElement$9 } from './snk-data-unit2.js';
15
- import { d as defineCustomElement$8 } from './snk-exporter-email-sender2.js';
16
- import { d as defineCustomElement$7 } from './snk-grid-config2.js';
17
- import { d as defineCustomElement$6 } from './snk-select-box2.js';
18
- import { d as defineCustomElement$5 } from './snk-simple-bar2.js';
19
- import { d as defineCustomElement$4 } from './snk-simple-crud2.js';
20
- import { d as defineCustomElement$3 } from './snk-simple-form-config2.js';
10
+ import { T as TaskbarElement, d as defineCustomElement$3 } from './snk-taskbar2.js';
11
+ import { d as defineCustomElement$e } from './snk-actions-button2.js';
12
+ import { d as defineCustomElement$d } from './snk-configurator2.js';
13
+ import { d as defineCustomElement$c } from './snk-data-exporter2.js';
14
+ import { d as defineCustomElement$b } from './snk-data-unit2.js';
15
+ import { d as defineCustomElement$a } from './snk-exporter-email-sender2.js';
16
+ import { d as defineCustomElement$9 } from './snk-grid-config2.js';
17
+ import { d as defineCustomElement$8 } from './snk-layout-form-config2.js';
18
+ import { d as defineCustomElement$7 } from './snk-select-box2.js';
19
+ import { d as defineCustomElement$6 } from './snk-simple-bar2.js';
20
+ import { d as defineCustomElement$5 } from './snk-simple-crud2.js';
21
+ import { d as defineCustomElement$4 } from './snk-simple-form-config2.js';
22
+ import { d as defineCustomElement$2 } from './snk-view-representation2.js';
21
23
  import { d as defineCustomElement$1 } from './taskbar-actions-button2.js';
22
24
 
23
25
  const SERVICE$1 = {
@@ -869,7 +871,7 @@ function defineCustomElement() {
869
871
  if (typeof customElements === "undefined") {
870
872
  return;
871
873
  }
872
- const components = ["snk-attach", "snk-actions-button", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-grid-config", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-taskbar", "taskbar-actions-button"];
874
+ const components = ["snk-attach", "snk-actions-button", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-grid-config", "snk-layout-form-config", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button"];
873
875
  components.forEach(tagName => { switch (tagName) {
874
876
  case "snk-attach":
875
877
  if (!customElements.get(tagName)) {
@@ -878,55 +880,65 @@ function defineCustomElement() {
878
880
  break;
879
881
  case "snk-actions-button":
880
882
  if (!customElements.get(tagName)) {
881
- defineCustomElement$c();
883
+ defineCustomElement$e();
882
884
  }
883
885
  break;
884
886
  case "snk-configurator":
885
887
  if (!customElements.get(tagName)) {
886
- defineCustomElement$b();
888
+ defineCustomElement$d();
887
889
  }
888
890
  break;
889
891
  case "snk-data-exporter":
890
892
  if (!customElements.get(tagName)) {
891
- defineCustomElement$a();
893
+ defineCustomElement$c();
892
894
  }
893
895
  break;
894
896
  case "snk-data-unit":
895
897
  if (!customElements.get(tagName)) {
896
- defineCustomElement$9();
898
+ defineCustomElement$b();
897
899
  }
898
900
  break;
899
901
  case "snk-exporter-email-sender":
900
902
  if (!customElements.get(tagName)) {
901
- defineCustomElement$8();
903
+ defineCustomElement$a();
902
904
  }
903
905
  break;
904
906
  case "snk-grid-config":
905
907
  if (!customElements.get(tagName)) {
906
- defineCustomElement$7();
908
+ defineCustomElement$9();
909
+ }
910
+ break;
911
+ case "snk-layout-form-config":
912
+ if (!customElements.get(tagName)) {
913
+ defineCustomElement$8();
907
914
  }
908
915
  break;
909
916
  case "snk-select-box":
910
917
  if (!customElements.get(tagName)) {
911
- defineCustomElement$6();
918
+ defineCustomElement$7();
912
919
  }
913
920
  break;
914
921
  case "snk-simple-bar":
915
922
  if (!customElements.get(tagName)) {
916
- defineCustomElement$5();
923
+ defineCustomElement$6();
917
924
  }
918
925
  break;
919
926
  case "snk-simple-crud":
920
927
  if (!customElements.get(tagName)) {
921
- defineCustomElement$4();
928
+ defineCustomElement$5();
922
929
  }
923
930
  break;
924
931
  case "snk-simple-form-config":
925
932
  if (!customElements.get(tagName)) {
926
- defineCustomElement$3();
933
+ defineCustomElement$4();
927
934
  }
928
935
  break;
929
936
  case "snk-taskbar":
937
+ if (!customElements.get(tagName)) {
938
+ defineCustomElement$3();
939
+ }
940
+ break;
941
+ case "snk-view-representation":
930
942
  if (!customElements.get(tagName)) {
931
943
  defineCustomElement$2();
932
944
  }
@@ -2,6 +2,8 @@ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/i
2
2
  import { ApplicationContext } from '@sankhyalabs/core';
3
3
  import { V as VIEW_MODE } from './constants.js';
4
4
  import { A as AuthorizationConfig } from './AuthorizationConfig.js';
5
+ import { d as defineCustomElement$2 } from './snk-layout-form-config2.js';
6
+ import { d as defineCustomElement$1 } from './snk-view-representation2.js';
5
7
 
6
8
  const snkConfiguratorCss = ".sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-configurator__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-configurator__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-configurator__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--small, 6px)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}.snk-configurator__collsable-box-action.sc-snk-configurator{width:100%}.snk-configurator__action-buttons.sc-snk-configurator{display:flex;flex-direction:row;justify-content:flex-end;gap:var(--space--medium)}.snk-configurator__outline.sc-snk-configurator{display:flex;flex-direction:column;gap:var(--space--small);margin-top:var(--space--small);margin-bottom:var(--space--large)}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;margin:var(--space--medium) 0;scrollbar-color:var(--snk-configurator__scrollbar--color-clicked) var(--snk-configurator__scrollbar--color-background)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--color-background);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--color-background);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--color-default);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:hover,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-configurator__scrollbar--color-hover)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:active,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-configurator__scrollbar--color-clicked)}";
7
9
 
@@ -20,6 +22,7 @@ const SnkConfigurator = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
20
22
  this.resourceID = undefined;
21
23
  this.viewMode = VIEW_MODE.GRID;
22
24
  this.customContainerId = undefined;
25
+ this.layoutFormConfig = false;
23
26
  this.messagesBuilder = undefined;
24
27
  }
25
28
  /**
@@ -80,6 +83,12 @@ const SnkConfigurator = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
80
83
  var _a;
81
84
  return (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, {});
82
85
  }
86
+ handleSave() {
87
+ if (this.layoutFormConfig) {
88
+ this._snkLayoutFormConfig.save();
89
+ }
90
+ this.save.emit();
91
+ }
83
92
  componentWillLoad() {
84
93
  this._application = ApplicationContext.getContextValue('__SNK__APPLICATION__');
85
94
  if (this._application) {
@@ -103,7 +112,7 @@ const SnkConfigurator = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
103
112
  insideCustomElementsContainer === null || insideCustomElementsContainer === void 0 ? void 0 : insideCustomElementsContainer.appendChild(configuratorCustomElement);
104
113
  }
105
114
  render() {
106
- return (h("ez-modal", { ref: (element) => (this.modal = element), opened: this._opened, "close-esc": false, "close-outside-click": false, "modal-size": "small", scrim: "light" }, h("div", { class: "snk-configurator" }, h("div", { class: "snk-configurator__header" }, h("label", { class: "snk-configurator__title" }, this.getMessage('snkConfigurator.titleConfigurations')), h("div", { class: "snk-configurator__button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", onClick: () => this.closeConfig() }))), h("div", { class: "snk-configurator__main" }, h("ez-collapsible-box", { boxBordered: true, label: "Modo de visualiza\u00E7\u00E3o ", headerSize: "medium", class: "snk-configurator__collapsable-box" }, h("ez-radio-button", { value: this.getViewModeValue().toString(), onEzChange: (evt) => this.onViewModeChanged(evt), enabled: this.enableModeConfig() }, h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelGrid'), value: VIEW_MODE.GRID }), h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelForm'), value: VIEW_MODE.FORM })), h("div", { class: "snk-configurator__collsable-box-action" }, h("ez-button", { label: this.viewMode === VIEW_MODE.GRID ? this.getMessage('snkConfigurator.labelConfigGrid') : this.getMessage('snkConfigurator.labelConfigForm'), class: "snk-configurator__button-config ez-button--secondary", onClick: () => this.onClickOpenConfig(), id: "openConfigurator" }))), h("div", { id: "slotContainer", class: "snk-configurator__outline" })), this.showActionButtons && (h("div", { class: "snk-configurator__action-buttons" }, h("ez-button", { label: "Cancelar", onClick: () => this.cancel.emit() }), h("ez-button", { label: "Salvar", onClick: () => this.save.emit(), class: "ez-button--primary" }))))));
115
+ return (h("ez-modal", { ref: (element) => (this.modal = element), opened: this._opened, "close-esc": false, "close-outside-click": false, "modal-size": "small", scrim: "light" }, h("div", { class: "snk-configurator" }, h("div", { class: "snk-configurator__header" }, h("label", { class: "snk-configurator__title" }, this.getMessage('snkConfigurator.titleConfigurations')), h("div", { class: "snk-configurator__button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", onClick: () => this.closeConfig() }))), h("div", { class: "snk-configurator__main" }, h("ez-collapsible-box", { boxBordered: true, label: "Modo de visualiza\u00E7\u00E3o ", headerSize: "medium", class: "snk-configurator__collapsable-box" }, h("ez-radio-button", { value: this.getViewModeValue().toString(), onEzChange: (evt) => this.onViewModeChanged(evt), enabled: this.enableModeConfig() }, h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelGrid'), value: VIEW_MODE.GRID }), h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelForm'), value: VIEW_MODE.FORM })), h("div", { class: "snk-configurator__collsable-box-action" }, h("ez-button", { label: this.viewMode === VIEW_MODE.GRID ? this.getMessage('snkConfigurator.labelConfigGrid') : this.getMessage('snkConfigurator.labelConfigForm'), class: "snk-configurator__button-config ez-button--secondary", onClick: () => this.onClickOpenConfig(), id: "openConfigurator" }))), this.layoutFormConfig && h("ez-collapsible-box", { boxBordered: true, value: true, label: "Layout do formul\u00E1rio", headerSize: "medium", class: "snk-configurator__collapsable-box ez-margin-top--medium" }, h("div", { class: 'ez-flex ez-flex--column ez-size-width--full' }, h("snk-layout-form-config", { ref: (ref) => this._snkLayoutFormConfig = ref }))), h("div", { id: "slotContainer", class: "snk-configurator__outline" })), this.showActionButtons && (h("div", { class: "snk-configurator__action-buttons" }, h("ez-button", { label: "Cancelar", onClick: () => this.cancel.emit() }), h("ez-button", { label: "Salvar", onClick: () => this.handleSave(), class: "ez-button--primary" }))))));
107
116
  }
108
117
  get _element() { return this; }
109
118
  static get style() { return snkConfiguratorCss; }
@@ -113,6 +122,7 @@ const SnkConfigurator = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
113
122
  "resourceID": [1, "resource-i-d"],
114
123
  "viewMode": [2, "view-mode"],
115
124
  "customContainerId": [1, "custom-container-id"],
125
+ "layoutFormConfig": [4, "layout-form-config"],
116
126
  "messagesBuilder": [1040],
117
127
  "_opened": [32],
118
128
  "_permissions": [32],
@@ -123,13 +133,23 @@ function defineCustomElement() {
123
133
  if (typeof customElements === "undefined") {
124
134
  return;
125
135
  }
126
- const components = ["snk-configurator"];
136
+ const components = ["snk-configurator", "snk-layout-form-config", "snk-view-representation"];
127
137
  components.forEach(tagName => { switch (tagName) {
128
138
  case "snk-configurator":
129
139
  if (!customElements.get(tagName)) {
130
140
  customElements.define(tagName, SnkConfigurator);
131
141
  }
132
142
  break;
143
+ case "snk-layout-form-config":
144
+ if (!customElements.get(tagName)) {
145
+ defineCustomElement$2();
146
+ }
147
+ break;
148
+ case "snk-view-representation":
149
+ if (!customElements.get(tagName)) {
150
+ defineCustomElement$1();
151
+ }
152
+ break;
133
153
  } });
134
154
  }
135
155
 
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { StringUtils, ElementIDUtils, ApplicationContext, JSUtils, FloatingManager } from '@sankhyalabs/core';
3
- import { T as TaskbarElement, d as defineCustomElement$3 } from './snk-taskbar2.js';
3
+ import { T as TaskbarElement, d as defineCustomElement$4 } from './snk-taskbar2.js';
4
4
  import './DataFetcher.js';
5
5
  import { P as PresentationMode, E as ExporterStrategy } from './ISave.js';
6
6
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
@@ -10,35 +10,37 @@ import './filter-item-type.enum.js';
10
10
  import './form-config-fetcher.js';
11
11
  import { V as VIEW_MODE } from './constants.js';
12
12
  import { A as AutorizationType } from './auth-fetcher.js';
13
- import { d as defineCustomElement$x } from './snk-actions-button2.js';
14
- import { d as defineCustomElement$w } from './snk-attach2.js';
15
- import { d as defineCustomElement$v } from './snk-config-options2.js';
16
- import { d as defineCustomElement$u } from './snk-configurator2.js';
17
- import { d as defineCustomElement$t } from './snk-data-exporter2.js';
18
- import { d as defineCustomElement$s } from './snk-data-unit2.js';
19
- import { d as defineCustomElement$a, a as defineCustomElement$r } from './snk-detail-view2.js';
20
- import { d as defineCustomElement$q } from './snk-exporter-email-sender2.js';
21
- import { d as defineCustomElement$p } from './snk-expression-group2.js';
22
- import { d as defineCustomElement$o } from './snk-expression-item2.js';
23
- import { d as defineCustomElement$n } from './snk-field-config2.js';
24
- import { d as defineCustomElement$m } from './snk-filter-advanced-mode2.js';
25
- import { d as defineCustomElement$l } from './snk-filter-assistent-mode2.js';
26
- import { d as defineCustomElement$k } from './snk-filter-bar2.js';
27
- import { d as defineCustomElement$j } from './snk-filter-detail2.js';
28
- import { d as defineCustomElement$i } from './snk-filter-field-search2.js';
29
- import { d as defineCustomElement$h } from './snk-filter-item2.js';
30
- import { d as defineCustomElement$g } from './snk-filter-param-config2.js';
31
- import { d as defineCustomElement$f } from './snk-form-config2.js';
32
- import { d as defineCustomElement$e } from './snk-form-summary2.js';
33
- import { d as defineCustomElement$d } from './snk-form-view2.js';
34
- import { d as defineCustomElement$c } from './snk-grid2.js';
35
- import { d as defineCustomElement$b } from './snk-grid-config2.js';
36
- import { d as defineCustomElement$9 } from './snk-personalized-filter2.js';
37
- import { d as defineCustomElement$8 } from './snk-select-box2.js';
38
- import { d as defineCustomElement$7 } from './snk-simple-bar2.js';
39
- import { d as defineCustomElement$6 } from './snk-simple-crud2.js';
40
- import { d as defineCustomElement$5 } from './snk-simple-form-config2.js';
41
- import { d as defineCustomElement$4 } from './snk-tab-config2.js';
13
+ import { d as defineCustomElement$z } from './snk-actions-button2.js';
14
+ import { d as defineCustomElement$y } from './snk-attach2.js';
15
+ import { d as defineCustomElement$x } from './snk-config-options2.js';
16
+ import { d as defineCustomElement$w } from './snk-configurator2.js';
17
+ import { d as defineCustomElement$v } from './snk-data-exporter2.js';
18
+ import { d as defineCustomElement$u } from './snk-data-unit2.js';
19
+ import { d as defineCustomElement$c, a as defineCustomElement$t } from './snk-detail-view2.js';
20
+ import { d as defineCustomElement$s } from './snk-exporter-email-sender2.js';
21
+ import { d as defineCustomElement$r } from './snk-expression-group2.js';
22
+ import { d as defineCustomElement$q } from './snk-expression-item2.js';
23
+ import { d as defineCustomElement$p } from './snk-field-config2.js';
24
+ import { d as defineCustomElement$o } from './snk-filter-advanced-mode2.js';
25
+ import { d as defineCustomElement$n } from './snk-filter-assistent-mode2.js';
26
+ import { d as defineCustomElement$m } from './snk-filter-bar2.js';
27
+ import { d as defineCustomElement$l } from './snk-filter-detail2.js';
28
+ import { d as defineCustomElement$k } from './snk-filter-field-search2.js';
29
+ import { d as defineCustomElement$j } from './snk-filter-item2.js';
30
+ import { d as defineCustomElement$i } from './snk-filter-param-config2.js';
31
+ import { d as defineCustomElement$h } from './snk-form-config2.js';
32
+ import { d as defineCustomElement$g } from './snk-form-summary2.js';
33
+ import { d as defineCustomElement$f } from './snk-form-view2.js';
34
+ import { d as defineCustomElement$e } from './snk-grid2.js';
35
+ import { d as defineCustomElement$d } from './snk-grid-config2.js';
36
+ import { d as defineCustomElement$b } from './snk-layout-form-config2.js';
37
+ import { d as defineCustomElement$a } from './snk-personalized-filter2.js';
38
+ import { d as defineCustomElement$9 } from './snk-select-box2.js';
39
+ import { d as defineCustomElement$8 } from './snk-simple-bar2.js';
40
+ import { d as defineCustomElement$7 } from './snk-simple-crud2.js';
41
+ import { d as defineCustomElement$6 } from './snk-simple-form-config2.js';
42
+ import { d as defineCustomElement$5 } from './snk-tab-config2.js';
43
+ import { d as defineCustomElement$3 } from './snk-view-representation2.js';
42
44
  import { d as defineCustomElement$2 } from './taskbar-actions-button2.js';
43
45
 
44
46
  const snkCrudCss = ".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";
@@ -87,6 +89,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
87
89
  this.ignoreReadOnlyFormFields = undefined;
88
90
  this.setCustomFormTitle = undefined;
89
91
  this.strategyExporter = ExporterStrategy.SERVER_SIDE;
92
+ this.layoutFormConfig = false;
90
93
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
91
94
  }
92
95
  /**
@@ -421,7 +424,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
421
424
  return;
422
425
  }
423
426
  this._snkDataUnit.ignoreSaveMessage = (this._currentViewMode === VIEW_MODE.GRID && !this.enableGridInsert);
424
- return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
427
+ return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
425
428
  }
426
429
  get _element() { return this; }
427
430
  static get watchers() { return {
@@ -454,6 +457,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
454
457
  "ignoreReadOnlyFormFields": [4, "ignore-read-only-form-fields"],
455
458
  "setCustomFormTitle": [16],
456
459
  "strategyExporter": [1025, "strategy-exporter"],
460
+ "layoutFormConfig": [4, "layout-form-config"],
457
461
  "_dataUnit": [32],
458
462
  "_dataState": [32],
459
463
  "attachmentRegisterKey": [32],
@@ -476,7 +480,7 @@ function defineCustomElement$1() {
476
480
  if (typeof customElements === "undefined") {
477
481
  return;
478
482
  }
479
- const components = ["snk-crud", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-guides-viewer", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-tab-config", "snk-taskbar", "taskbar-actions-button"];
483
+ const components = ["snk-crud", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-guides-viewer", "snk-layout-form-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-tab-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button"];
480
484
  components.forEach(tagName => { switch (tagName) {
481
485
  case "snk-crud":
482
486
  if (!customElements.get(tagName)) {
@@ -485,155 +489,165 @@ function defineCustomElement$1() {
485
489
  break;
486
490
  case "snk-actions-button":
487
491
  if (!customElements.get(tagName)) {
488
- defineCustomElement$x();
492
+ defineCustomElement$z();
489
493
  }
490
494
  break;
491
495
  case "snk-attach":
492
496
  if (!customElements.get(tagName)) {
493
- defineCustomElement$w();
497
+ defineCustomElement$y();
494
498
  }
495
499
  break;
496
500
  case "snk-config-options":
497
501
  if (!customElements.get(tagName)) {
498
- defineCustomElement$v();
502
+ defineCustomElement$x();
499
503
  }
500
504
  break;
501
505
  case "snk-configurator":
502
506
  if (!customElements.get(tagName)) {
503
- defineCustomElement$u();
507
+ defineCustomElement$w();
504
508
  }
505
509
  break;
506
510
  case "snk-data-exporter":
507
511
  if (!customElements.get(tagName)) {
508
- defineCustomElement$t();
512
+ defineCustomElement$v();
509
513
  }
510
514
  break;
511
515
  case "snk-data-unit":
512
516
  if (!customElements.get(tagName)) {
513
- defineCustomElement$s();
517
+ defineCustomElement$u();
514
518
  }
515
519
  break;
516
520
  case "snk-detail-view":
517
521
  if (!customElements.get(tagName)) {
518
- defineCustomElement$r();
522
+ defineCustomElement$t();
519
523
  }
520
524
  break;
521
525
  case "snk-exporter-email-sender":
522
526
  if (!customElements.get(tagName)) {
523
- defineCustomElement$q();
527
+ defineCustomElement$s();
524
528
  }
525
529
  break;
526
530
  case "snk-expression-group":
527
531
  if (!customElements.get(tagName)) {
528
- defineCustomElement$p();
532
+ defineCustomElement$r();
529
533
  }
530
534
  break;
531
535
  case "snk-expression-item":
532
536
  if (!customElements.get(tagName)) {
533
- defineCustomElement$o();
537
+ defineCustomElement$q();
534
538
  }
535
539
  break;
536
540
  case "snk-field-config":
537
541
  if (!customElements.get(tagName)) {
538
- defineCustomElement$n();
542
+ defineCustomElement$p();
539
543
  }
540
544
  break;
541
545
  case "snk-filter-advanced-mode":
542
546
  if (!customElements.get(tagName)) {
543
- defineCustomElement$m();
547
+ defineCustomElement$o();
544
548
  }
545
549
  break;
546
550
  case "snk-filter-assistent-mode":
547
551
  if (!customElements.get(tagName)) {
548
- defineCustomElement$l();
552
+ defineCustomElement$n();
549
553
  }
550
554
  break;
551
555
  case "snk-filter-bar":
552
556
  if (!customElements.get(tagName)) {
553
- defineCustomElement$k();
557
+ defineCustomElement$m();
554
558
  }
555
559
  break;
556
560
  case "snk-filter-detail":
557
561
  if (!customElements.get(tagName)) {
558
- defineCustomElement$j();
562
+ defineCustomElement$l();
559
563
  }
560
564
  break;
561
565
  case "snk-filter-field-search":
562
566
  if (!customElements.get(tagName)) {
563
- defineCustomElement$i();
567
+ defineCustomElement$k();
564
568
  }
565
569
  break;
566
570
  case "snk-filter-item":
567
571
  if (!customElements.get(tagName)) {
568
- defineCustomElement$h();
572
+ defineCustomElement$j();
569
573
  }
570
574
  break;
571
575
  case "snk-filter-param-config":
572
576
  if (!customElements.get(tagName)) {
573
- defineCustomElement$g();
577
+ defineCustomElement$i();
574
578
  }
575
579
  break;
576
580
  case "snk-form-config":
577
581
  if (!customElements.get(tagName)) {
578
- defineCustomElement$f();
582
+ defineCustomElement$h();
579
583
  }
580
584
  break;
581
585
  case "snk-form-summary":
582
586
  if (!customElements.get(tagName)) {
583
- defineCustomElement$e();
587
+ defineCustomElement$g();
584
588
  }
585
589
  break;
586
590
  case "snk-form-view":
587
591
  if (!customElements.get(tagName)) {
588
- defineCustomElement$d();
592
+ defineCustomElement$f();
589
593
  }
590
594
  break;
591
595
  case "snk-grid":
592
596
  if (!customElements.get(tagName)) {
593
- defineCustomElement$c();
597
+ defineCustomElement$e();
594
598
  }
595
599
  break;
596
600
  case "snk-grid-config":
597
601
  if (!customElements.get(tagName)) {
598
- defineCustomElement$b();
602
+ defineCustomElement$d();
599
603
  }
600
604
  break;
601
605
  case "snk-guides-viewer":
602
606
  if (!customElements.get(tagName)) {
603
- defineCustomElement$a();
607
+ defineCustomElement$c();
608
+ }
609
+ break;
610
+ case "snk-layout-form-config":
611
+ if (!customElements.get(tagName)) {
612
+ defineCustomElement$b();
604
613
  }
605
614
  break;
606
615
  case "snk-personalized-filter":
607
616
  if (!customElements.get(tagName)) {
608
- defineCustomElement$9();
617
+ defineCustomElement$a();
609
618
  }
610
619
  break;
611
620
  case "snk-select-box":
612
621
  if (!customElements.get(tagName)) {
613
- defineCustomElement$8();
622
+ defineCustomElement$9();
614
623
  }
615
624
  break;
616
625
  case "snk-simple-bar":
617
626
  if (!customElements.get(tagName)) {
618
- defineCustomElement$7();
627
+ defineCustomElement$8();
619
628
  }
620
629
  break;
621
630
  case "snk-simple-crud":
622
631
  if (!customElements.get(tagName)) {
623
- defineCustomElement$6();
632
+ defineCustomElement$7();
624
633
  }
625
634
  break;
626
635
  case "snk-simple-form-config":
627
636
  if (!customElements.get(tagName)) {
628
- defineCustomElement$5();
637
+ defineCustomElement$6();
629
638
  }
630
639
  break;
631
640
  case "snk-tab-config":
632
641
  if (!customElements.get(tagName)) {
633
- defineCustomElement$4();
642
+ defineCustomElement$5();
634
643
  }
635
644
  break;
636
645
  case "snk-taskbar":
646
+ if (!customElements.get(tagName)) {
647
+ defineCustomElement$4();
648
+ }
649
+ break;
650
+ case "snk-view-representation":
637
651
  if (!customElements.get(tagName)) {
638
652
  defineCustomElement$3();
639
653
  }