@sankhyalabs/sankhyablocks 10.1.0-dev.7 → 10.1.0-dev.9

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 (121) hide show
  1. package/dist/cjs/{ConfigStorage-72f34bd4.js → ConfigStorage-5c0590b3.js} +2 -2
  2. package/dist/cjs/{DataFetcher-991b0349.js → DataFetcher-5181a917.js} +3 -0
  3. package/dist/cjs/{FormConfigHelper-e253a418.js → FormConfigHelper-28fe4668.js} +3 -1
  4. package/dist/cjs/{ISave-ebf6b4ed.js → ISave-0f98a457.js} +1 -1
  5. package/dist/cjs/{SnkFormConfigManager-cdbb29d4.js → SnkFormConfigManager-1907ffed.js} +5 -5
  6. package/dist/cjs/{SnkMultiSelectionListDataSource-011bec79.js → SnkMultiSelectionListDataSource-e4e38139.js} +4 -4
  7. package/dist/cjs/{auth-fetcher-c3cac878.js → auth-fetcher-cff55b1f.js} +1 -1
  8. package/dist/cjs/{dataunit-fetcher-8bf469e7.js → dataunit-fetcher-1ba5e2cc.js} +1 -1
  9. package/dist/cjs/field-config_2.cjs.entry.js +1 -1
  10. package/dist/cjs/fields-layout.cjs.entry.js +4 -4
  11. package/dist/cjs/fields-selector.cjs.entry.js +1 -1
  12. package/dist/cjs/{form-config-fetcher-c7af90d8.js → form-config-fetcher-4a679e23.js} +1 -1
  13. package/dist/cjs/guides-configurator.cjs.entry.js +2 -2
  14. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +4 -4
  15. package/dist/cjs/snk-actions-button_9.cjs.entry.js +5 -5
  16. package/dist/cjs/snk-application.cjs.entry.js +6 -6
  17. package/dist/cjs/snk-attach.cjs.entry.js +5 -5
  18. package/dist/cjs/snk-crud.cjs.entry.js +5 -5
  19. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -5
  20. package/dist/cjs/{snk-data-unit-7d587ad5.js → snk-data-unit-dacf1864.js} +2 -2
  21. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
  22. package/dist/cjs/snk-detail-view.cjs.entry.js +7 -7
  23. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +3 -3
  24. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  25. package/dist/cjs/snk-form_2.cjs.entry.js +18 -8
  26. package/dist/cjs/snk-grid.cjs.entry.js +6 -6
  27. package/dist/cjs/{snk-guides-viewer-366d5c32.js → snk-guides-viewer-ae31b7a1.js} +5 -5
  28. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -7
  29. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  30. package/dist/cjs/snk-pesquisa.cjs.entry.js +4 -5
  31. package/dist/cjs/snk-simple-crud.cjs.entry.js +7 -7
  32. package/dist/collection/components/snk-form-config/FormConfigHelper.js +3 -1
  33. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +3 -3
  34. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.css +16 -0
  35. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.js +4 -4
  36. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +3 -3
  37. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +2 -2
  38. package/dist/collection/components/snk-form-config/snk-form-config.js +13 -3
  39. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +0 -4
  40. package/dist/collection/lib/message/resources/en-us/snk-form.msg.js +1 -0
  41. package/dist/collection/lib/message/resources/es-es/snk-form.msg.js +1 -0
  42. package/dist/collection/lib/message/resources/pt-br/snk-form.msg.js +1 -0
  43. package/dist/components/DataFetcher.js +3 -0
  44. package/dist/components/SnkFormConfigManager.js +3 -3
  45. package/dist/components/field-config2.js +3 -1
  46. package/dist/components/fields-layout2.js +4 -4
  47. package/dist/components/guides-configurator2.js +2 -2
  48. package/dist/components/snk-form-config2.js +13 -3
  49. package/dist/components/snk-pesquisa2.js +0 -1
  50. package/dist/esm/{ConfigStorage-22324b6b.js → ConfigStorage-bd096633.js} +2 -2
  51. package/dist/esm/{DataFetcher-450828a0.js → DataFetcher-5780ad39.js} +3 -0
  52. package/dist/esm/{FormConfigHelper-e89ca25c.js → FormConfigHelper-d09669f3.js} +3 -1
  53. package/dist/esm/{ISave-61153166.js → ISave-8a22ec18.js} +1 -1
  54. package/dist/esm/{SnkFormConfigManager-b5a92e12.js → SnkFormConfigManager-437e98bb.js} +5 -5
  55. package/dist/esm/{SnkMultiSelectionListDataSource-d7ce2e54.js → SnkMultiSelectionListDataSource-42125ef4.js} +4 -4
  56. package/dist/esm/{auth-fetcher-eef9d01e.js → auth-fetcher-28b9d0db.js} +1 -1
  57. package/dist/esm/{dataunit-fetcher-da9596f6.js → dataunit-fetcher-c4251d80.js} +1 -1
  58. package/dist/esm/field-config_2.entry.js +1 -1
  59. package/dist/esm/fields-layout.entry.js +4 -4
  60. package/dist/esm/fields-selector.entry.js +1 -1
  61. package/dist/esm/{form-config-fetcher-8d0a5e1c.js → form-config-fetcher-d0536a71.js} +1 -1
  62. package/dist/esm/guides-configurator.entry.js +2 -2
  63. package/dist/esm/pesquisa-grid_2.entry.js +4 -4
  64. package/dist/esm/snk-actions-button_9.entry.js +5 -5
  65. package/dist/esm/snk-application.entry.js +6 -6
  66. package/dist/esm/snk-attach.entry.js +5 -5
  67. package/dist/esm/snk-crud.entry.js +5 -5
  68. package/dist/esm/snk-data-exporter.entry.js +5 -5
  69. package/dist/esm/{snk-data-unit-99616a07.js → snk-data-unit-d92b50eb.js} +2 -2
  70. package/dist/esm/snk-data-unit.entry.js +3 -3
  71. package/dist/esm/snk-detail-view.entry.js +7 -7
  72. package/dist/esm/snk-filter-bar_4.entry.js +3 -3
  73. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  74. package/dist/esm/snk-form_2.entry.js +18 -8
  75. package/dist/esm/snk-grid.entry.js +6 -6
  76. package/dist/esm/{snk-guides-viewer-240de636.js → snk-guides-viewer-b33dcf56.js} +5 -5
  77. package/dist/esm/snk-guides-viewer.entry.js +7 -7
  78. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  79. package/dist/esm/snk-pesquisa.entry.js +4 -5
  80. package/dist/esm/snk-simple-crud.entry.js +7 -7
  81. package/dist/sankhyablocks/{p-f5e942b7.entry.js → p-01ca59fc.entry.js} +1 -1
  82. package/dist/sankhyablocks/{p-0948dc0a.entry.js → p-028fb380.entry.js} +1 -1
  83. package/dist/sankhyablocks/{p-6ee2ca7a.entry.js → p-03f02b12.entry.js} +1 -1
  84. package/dist/sankhyablocks/{p-669bb869.entry.js → p-059f6ea3.entry.js} +1 -1
  85. package/dist/sankhyablocks/{p-28f50632.js → p-07898230.js} +1 -1
  86. package/dist/sankhyablocks/{p-7d6f1285.js → p-0e4f8b86.js} +1 -1
  87. package/dist/sankhyablocks/{p-ada013c0.entry.js → p-105b6bcd.entry.js} +1 -1
  88. package/dist/sankhyablocks/p-1b1373b6.js +1 -0
  89. package/dist/sankhyablocks/{p-4963dd2a.entry.js → p-2e882241.entry.js} +1 -1
  90. package/dist/sankhyablocks/{p-86e54841.entry.js → p-35974f5f.entry.js} +1 -1
  91. package/dist/sankhyablocks/{p-7cac3870.entry.js → p-3b167a03.entry.js} +1 -1
  92. package/dist/sankhyablocks/{p-840fb68c.js → p-3c046287.js} +1 -1
  93. package/dist/sankhyablocks/{p-e91c3c57.entry.js → p-42272de8.entry.js} +1 -1
  94. package/dist/sankhyablocks/{p-ec5fbad8.js → p-45d998f5.js} +1 -1
  95. package/dist/sankhyablocks/{p-5ea893c5.entry.js → p-4c2e2767.entry.js} +1 -1
  96. package/dist/sankhyablocks/{p-c35fc941.js → p-4db9dbf8.js} +1 -1
  97. package/dist/sankhyablocks/{p-91005a00.entry.js → p-4f556315.entry.js} +1 -1
  98. package/dist/sankhyablocks/{p-62e9b9b8.entry.js → p-5d408e7e.entry.js} +1 -1
  99. package/dist/sankhyablocks/{p-cadf4846.entry.js → p-6e5af618.entry.js} +1 -1
  100. package/dist/sankhyablocks/{p-118c221e.js → p-8b4d6719.js} +1 -1
  101. package/dist/sankhyablocks/p-9700c7b6.entry.js +1 -0
  102. package/dist/sankhyablocks/{p-58683e28.js → p-9ab6ae1e.js} +2 -2
  103. package/dist/sankhyablocks/{p-88b337fe.entry.js → p-a64ffe30.entry.js} +1 -1
  104. package/dist/sankhyablocks/{p-55f6fef2.entry.js → p-a94b454b.entry.js} +1 -1
  105. package/dist/sankhyablocks/{p-92cfc028.js → p-aca74b21.js} +1 -1
  106. package/dist/sankhyablocks/{p-1d589380.entry.js → p-b6004739.entry.js} +1 -1
  107. package/dist/sankhyablocks/{p-002d4d2b.js → p-b9699067.js} +1 -1
  108. package/dist/sankhyablocks/{p-62aef37a.js → p-d3534985.js} +1 -1
  109. package/dist/sankhyablocks/{p-0b9a42ad.entry.js → p-f3027bc9.entry.js} +1 -1
  110. package/dist/sankhyablocks/{p-ea729922.entry.js → p-f35f2eb3.entry.js} +1 -1
  111. package/dist/sankhyablocks/{p-11f94056.entry.js → p-fd05e31d.entry.js} +1 -1
  112. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  113. package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +1 -1
  114. package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +2 -2
  115. package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +1 -1
  116. package/dist/types/components/snk-form-config/snk-form-config.d.ts +2 -1
  117. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +0 -1
  118. package/dist/types/components.d.ts +0 -1
  119. package/package.json +1 -1
  120. package/dist/sankhyablocks/p-39be771c.js +0 -1
  121. package/dist/sankhyablocks/p-56f16390.entry.js +0 -1
@@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-1cf293c1.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const ISave = require('./ISave-ebf6b4ed.js');
8
- require('./DataFetcher-991b0349.js');
7
+ const ISave = require('./ISave-0f98a457.js');
8
+ require('./DataFetcher-5181a917.js');
9
9
  require('./index-e3e39724.js');
10
10
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
11
11
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
12
- require('./dataunit-fetcher-8bf469e7.js');
12
+ require('./dataunit-fetcher-1ba5e2cc.js');
13
13
  require('./filter-item-type.enum-a7ffdaa6.js');
14
- require('./form-config-fetcher-c7af90d8.js');
14
+ require('./form-config-fetcher-4a679e23.js');
15
15
  require('./constants-6d82e405.js');
16
16
  require('./PrintUtils-bcaeb82f.js');
17
17
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
@@ -56,7 +56,6 @@ const SnkPesquisa = class {
56
56
  * Útil para cenários onde a pesquisa precisa ser disparada sem interação do usuário.
57
57
  *
58
58
  * @param text Texto utilizado como argumento de pesquisa.
59
- * @returns Promise<void>
60
59
  * @example
61
60
  * await pesquisaRef.executeSearch("Texto para pesquisa");
62
61
  */
@@ -7,18 +7,18 @@ const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const constants = require('./constants-6d82e405.js');
9
9
  const taskbarElements = require('./taskbar-elements-fb5d1e08.js');
10
- require('./DataFetcher-991b0349.js');
11
- require('./ISave-ebf6b4ed.js');
12
- const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-011bec79.js');
10
+ require('./DataFetcher-5181a917.js');
11
+ require('./ISave-0f98a457.js');
12
+ const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-e4e38139.js');
13
13
  const index$1 = require('./index-e3e39724.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
- const dataunitFetcher = require('./dataunit-fetcher-8bf469e7.js');
16
+ const dataunitFetcher = require('./dataunit-fetcher-1ba5e2cc.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
- const formConfigFetcher = require('./form-config-fetcher-c7af90d8.js');
18
+ const formConfigFetcher = require('./form-config-fetcher-4a679e23.js');
19
19
  const taskbarProcessor = require('./taskbar-processor-2fba34a8.js');
20
- const ConfigStorage = require('./ConfigStorage-72f34bd4.js');
21
- const SnkFormConfigManager = require('./SnkFormConfigManager-cdbb29d4.js');
20
+ const ConfigStorage = require('./ConfigStorage-5c0590b3.js');
21
+ const SnkFormConfigManager = require('./SnkFormConfigManager-1907ffed.js');
22
22
  const index$2 = require('./index-13d05f03.js');
23
23
  require('./PrintUtils-bcaeb82f.js');
24
24
  require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
@@ -116,7 +116,9 @@ export function buildChildrenGuides(dataUnit, initialOrderIndex = 0, guidesList)
116
116
  const children = ((_a = dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.children) || [];
117
117
  const childrenWithNoGuide = [];
118
118
  for (const child of children) {
119
- if (guidesList.some((guide) => child.label === guide.label)) {
119
+ const guideOnConfig = guidesList.find(guide => child.label === guide.label);
120
+ if (guideOnConfig) {
121
+ guideOnConfig.isCustom = true;
120
122
  continue;
121
123
  }
122
124
  childrenWithNoGuide.push({
@@ -178,7 +178,7 @@ export class SnkFormConfigManager {
178
178
  return Array.isArray(object) ? object : [object];
179
179
  }
180
180
  buildFormMetadataUITabs(config, forceEmptyConfig = false) {
181
- var _a;
181
+ var _a, _b, _c;
182
182
  const hasConfig = this.hasConfig(config);
183
183
  if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
184
184
  return config;
@@ -187,10 +187,10 @@ export class SnkFormConfigManager {
187
187
  config.tabs = this.parseObjectList(config.tabs);
188
188
  config.emptyConfig = false;
189
189
  config.defaultConfiguration = true;
190
- const fields = this._dataUnit.metadata.fields;
190
+ const fields = (_b = (_a = this._dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.fields) !== null && _b !== void 0 ? _b : [];
191
191
  for (const currentField of fields) {
192
192
  const field = config.fields.find(field => field.name === currentField.name);
193
- const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
193
+ const uiTabName = (_c = currentField.properties) === null || _c === void 0 ? void 0 : _c.UITabName;
194
194
  if (!uiTabName || uiTabName === TAB_NAMES.main) {
195
195
  continue;
196
196
  }
@@ -119,6 +119,22 @@
119
119
  font-weight: 500;
120
120
  }
121
121
 
122
+ .message-container {
123
+ margin: auto;
124
+ display: flex;
125
+ flex-direction: column;
126
+ justify-content: center;
127
+ align-items: center;
128
+ }
129
+
130
+ .message-config-detail {
131
+ display: block;
132
+ margin: auto;
133
+ font-size: var(--font-size--medium, 16px);
134
+ color: #AFB6C0;
135
+ font-weight: var(--font-weight--medium, 500);
136
+ }
137
+
122
138
  .ghost {
123
139
  opacity: .5;
124
140
  background: #c8fbe2;
@@ -1,9 +1,9 @@
1
- import { forceUpdate, h, Host, } from '@stencil/core';
2
1
  import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
2
+ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
+ import { forceUpdate, h, Host, } from '@stencil/core';
3
4
  import Sortable from 'sortablejs';
4
- import { getFieldsStructure, ID_AVAILABLE_FIELDS, SORTABLE_PATH, } from '../FormConfigHelper';
5
5
  import { GROUP_NAMES, TAB_NAMES } from '../../../lib/utils/constants';
6
- import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
6
+ import { getFieldsStructure, ID_AVAILABLE_FIELDS, SORTABLE_PATH, } from '../FormConfigHelper';
7
7
  export class FieldLayoutComponent {
8
8
  constructor() {
9
9
  this.ID_GROUPS = 'container-groups';
@@ -321,7 +321,7 @@ export class FieldLayoutComponent {
321
321
  return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("span", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.noGuideSelected'))));
322
322
  }
323
323
  if (this.selectedGuide.isCustom || this.selectedGuide.isDetail) {
324
- return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("span", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.canNotEditCustomGuide'))));
324
+ return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("div", { class: 'message-container' }, h("h1", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.canNotEditCustomGuide')), h("span", { class: 'message-config-detail' }, this.getMessage('snkFormConfig.form.canNotEditDetailGuide')))));
325
325
  }
326
326
  return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, this.renderGuideName(), h("div", { class: 'layout-container' }, h("ez-scroller", { direction: 'vertical', activeShadow: true }, h("div", { class: 'no-group-container' }, h("div", { id: GROUP_NAMES.noGroup, class: 'group-content', "data-group-name": GROUP_NAMES.noGroup }, this.renderFixedFields())), h("hr", null), h("div", { id: this.ID_GROUPS, class: 'groups-container' }, this.renderDraggableGroups()))), h("div", { class: 'add-group-container', onClick: this.handleAddGroup.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus" }), h("span", null, this.getMessage('snkFormConfig.form.createNewGroup')))));
327
327
  }
@@ -91,13 +91,13 @@
91
91
  .guide-item .actions {
92
92
  display: flex;
93
93
  gap: 8px;
94
- transition: 0.2s ease-in-out;
95
- visibility: hidden;
94
+ transition: opacity 0.2s ease-in-out;
95
+ display: none;
96
96
  opacity: 0;
97
97
  }
98
98
 
99
99
  .guide-item:hover .actions {
100
- visibility: visible;
100
+ display: flex;
101
101
  opacity: 1;
102
102
  }
103
103
 
@@ -1,7 +1,7 @@
1
- import { h } from '@stencil/core';
2
- import Sortable from 'sortablejs';
3
1
  import { ArrayUtils, ObjectUtils } from '@sankhyalabs/core';
4
2
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
+ import { h } from '@stencil/core';
4
+ import Sortable from 'sortablejs';
5
5
  import { TAB_NAMES } from '../../../lib/utils/constants';
6
6
  export class GuidesConfigurator {
7
7
  constructor() {
@@ -147,13 +147,23 @@ export class SnkFormConfig {
147
147
  return fieldVisible === true && hasCfg === false;
148
148
  });
149
149
  }
150
+ getInitialOrder(guidesList) {
151
+ var _a, _b;
152
+ if (Array.isArray((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.tabs)) {
153
+ return (_b = this._formConfig.tabs) === null || _b === void 0 ? void 0 : _b.length;
154
+ }
155
+ if (guidesList.length > 0) {
156
+ return Math.max(...guidesList.map(g => g.order));
157
+ }
158
+ return 0;
159
+ }
150
160
  loadGuides() {
151
- var _a, _b, _c, _d;
161
+ var _a;
152
162
  this.guidesList = [];
153
163
  this.guidesList.push(...buildGuides(this._formConfig, this.getMessage('snkFormConfig.form.mainArea')));
154
- this.guidesList.push(...buildChildrenGuides(this.dataUnit, (_c = (_b = (_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.tabs) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, this.guidesList));
164
+ this.guidesList.push(...buildChildrenGuides(this.dataUnit, this.getInitialOrder(this.guidesList), this.guidesList));
155
165
  this.guidesList.push(...buildCustomGuides(this.customGuidesConfig, this.guidesList));
156
- this.guidesMap = buildGuidesMap((_d = this._formConfig) === null || _d === void 0 ? void 0 : _d.fields, this.guidesList, this.dataUnit, this.getMessage('snkFormConfig.form.tabGeneral'));
166
+ this.guidesMap = buildGuidesMap((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields, this.guidesList, this.dataUnit, this.getMessage('snkFormConfig.form.tabGeneral'));
157
167
  }
158
168
  getConfig() {
159
169
  let config = this.configManager.getConfig(this.dataUnit, false);
@@ -37,7 +37,6 @@ export class SnkPesquisa {
37
37
  * Útil para cenários onde a pesquisa precisa ser disparada sem interação do usuário.
38
38
  *
39
39
  * @param text Texto utilizado como argumento de pesquisa.
40
- * @returns Promise<void>
41
40
  * @example
42
41
  * await pesquisaRef.executeSearch("Texto para pesquisa");
43
42
  */
@@ -642,9 +641,6 @@ export class SnkPesquisa {
642
641
  "tags": [{
643
642
  "name": "param",
644
643
  "text": "text Texto utilizado como argumento de pesquisa."
645
- }, {
646
- "name": "returns",
647
- "text": "Promise<void>"
648
644
  }, {
649
645
  "name": "example",
650
646
  "text": "await pesquisaRef.executeSearch(\"Texto para pesquisa\");"
@@ -40,6 +40,7 @@ export const snkFormConfigMessages = {
40
40
  mainArea: "Main area",
41
41
  tabGeneral: "General",
42
42
  canNotEditCustomGuide: "It is not possible to edit detail tabs and custom tabs",
43
+ canNotEditDetailGuide: "To configure a detail screen, you must access its tab",
43
44
  createNewGroup: "Create new group",
44
45
  newGroup: "New group",
45
46
  noGuideSelected: "Select a tab and start configuring",
@@ -40,6 +40,7 @@ export const snkFormConfigMessages = {
40
40
  mainArea: "Área principal",
41
41
  tabGeneral: "General",
42
42
  canNotEditCustomGuide: "No es posible editar pestañas de detalles y pestañas personalizadas",
43
+ canNotEditDetailGuide: "Para realizar la configuración de una pantalla de detalles es necesario acceder a su pestaña",
43
44
  createNewGroup: "Crear nuevo grupo",
44
45
  newGroup: "Nuevo grupo",
45
46
  noGuideSelected: "Seleccione una pestaña y comience a configurar",
@@ -40,6 +40,7 @@ export const snkFormConfigMessages = {
40
40
  mainArea: "Área principal",
41
41
  tabGeneral: "Geral",
42
42
  canNotEditCustomGuide: "Não é possível editar guias detalhe e guias personalizadas",
43
+ canNotEditDetailGuide: "Para realizar a configuração de uma tela de detalhes é necessário acessar a sua aba",
43
44
  createNewGroup: "Criar novo grupo",
44
45
  newGroup: "Criar novo grupo",
45
46
  noGuideSelected: "Selecione uma guia e comece a configurar",
@@ -7439,6 +7439,7 @@ const snkFormConfigMessages$2 = {
7439
7439
  mainArea: "Área principal",
7440
7440
  tabGeneral: "Geral",
7441
7441
  canNotEditCustomGuide: "Não é possível editar guias detalhe e guias personalizadas",
7442
+ canNotEditDetailGuide: "Para realizar a configuração de uma tela de detalhes é necessário acessar a sua aba",
7442
7443
  createNewGroup: "Criar novo grupo",
7443
7444
  newGroup: "Criar novo grupo",
7444
7445
  noGuideSelected: "Selecione uma guia e comece a configurar",
@@ -8303,6 +8304,7 @@ const snkFormConfigMessages$1 = {
8303
8304
  mainArea: "Main area",
8304
8305
  tabGeneral: "General",
8305
8306
  canNotEditCustomGuide: "It is not possible to edit detail tabs and custom tabs",
8307
+ canNotEditDetailGuide: "To configure a detail screen, you must access its tab",
8306
8308
  createNewGroup: "Create new group",
8307
8309
  newGroup: "New group",
8308
8310
  noGuideSelected: "Select a tab and start configuring",
@@ -9167,6 +9169,7 @@ const snkFormConfigMessages = {
9167
9169
  mainArea: "Área principal",
9168
9170
  tabGeneral: "General",
9169
9171
  canNotEditCustomGuide: "No es posible editar pestañas de detalles y pestañas personalizadas",
9172
+ canNotEditDetailGuide: "Para realizar la configuración de una pantalla de detalles es necesario acceder a su pestaña",
9170
9173
  createNewGroup: "Crear nuevo grupo",
9171
9174
  newGroup: "Nuevo grupo",
9172
9175
  noGuideSelected: "Seleccione una pestaña y comience a configurar",
@@ -179,7 +179,7 @@ class SnkFormConfigManager {
179
179
  return Array.isArray(object) ? object : [object];
180
180
  }
181
181
  buildFormMetadataUITabs(config, forceEmptyConfig = false) {
182
- var _a;
182
+ var _a, _b, _c;
183
183
  const hasConfig = this.hasConfig(config);
184
184
  if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
185
185
  return config;
@@ -188,10 +188,10 @@ class SnkFormConfigManager {
188
188
  config.tabs = this.parseObjectList(config.tabs);
189
189
  config.emptyConfig = false;
190
190
  config.defaultConfiguration = true;
191
- const fields = this._dataUnit.metadata.fields;
191
+ const fields = (_b = (_a = this._dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.fields) !== null && _b !== void 0 ? _b : [];
192
192
  for (const currentField of fields) {
193
193
  const field = config.fields.find(field => field.name === currentField.name);
194
- const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
194
+ const uiTabName = (_c = currentField.properties) === null || _c === void 0 ? void 0 : _c.UITabName;
195
195
  if (!uiTabName || uiTabName === TAB_NAMES.main) {
196
196
  continue;
197
197
  }
@@ -120,7 +120,9 @@ function buildChildrenGuides(dataUnit, initialOrderIndex = 0, guidesList) {
120
120
  const children = ((_a = dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.children) || [];
121
121
  const childrenWithNoGuide = [];
122
122
  for (const child of children) {
123
- if (guidesList.some((guide) => child.label === guide.label)) {
123
+ const guideOnConfig = guidesList.find(guide => child.label === guide.label);
124
+ if (guideOnConfig) {
125
+ guideOnConfig.isCustom = true;
124
126
  continue;
125
127
  }
126
128
  childrenWithNoGuide.push({
@@ -1,12 +1,12 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
2
2
  import { StringUtils, ObjectUtils } from '@sankhyalabs/core';
3
+ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
4
  import { S as Sortable } from './sortable.esm.js';
4
- import { S as SORTABLE_PATH, a as getFieldsStructure, d as defineCustomElement$2, I as ID_AVAILABLE_FIELDS } from './field-config2.js';
5
5
  import { T as TAB_NAMES, G as GROUP_NAMES } from './constants.js';
6
- import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
6
+ import { S as SORTABLE_PATH, a as getFieldsStructure, d as defineCustomElement$2, I as ID_AVAILABLE_FIELDS } from './field-config2.js';
7
7
  import { d as defineCustomElement$1 } from './field-item2.js';
8
8
 
9
- const fieldsLayoutCss = ".sc-fields-layout-h{display:flex;padding:12px;box-shadow:var(--shadow--small, 0 0 16px rgba(0, 38, 111, 0.07));border-radius:var(--border--radius-medium, 6px);height:var(--snk-form-config-container-height);flex-direction:column}.layout-container.sc-fields-layout{container-type:inline-size;display:flex;flex-direction:column;overflow:auto;height:calc(100vh - 225px)}.guide-header.sc-fields-layout{display:flex;width:100%;font-size:20px;border-bottom:1px solid #dce0e8;margin-bottom:6px;align-items:center;height:45px}.guide-header.sc-fields-layout ez-button.sc-fields-layout{transition:all 0.2s ease-in-out;visibility:hidden;opacity:0}.guide-header.sc-fields-layout:hover ez-button.sc-fields-layout{visibility:visible;opacity:1}.guide-header-label.sc-fields-layout{display:block;padding:10px 0}.group-config.sc-fields-layout{padding:12px 0;display:flex;flex-direction:column;width:100%}.group-content.sc-fields-layout{display:grid;gap:12px;min-height:65px;width:100%;padding:6px 0;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr))}.group-content.empty-content.sc-fields-layout{position:relative}.group-content.empty-content.sc-fields-layout::before{content:var(--empty-content-message, \"Arraste e solte um campo aqui\");color:#cbcfd7;font-size:16px;font-weight:500;text-align:center;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity 0.3s;height:100%;box-sizing:border-box;padding:10px;background:#f9f9f9;border:1px dashed #dce0e8;border-radius:6px}.no-group-container.sc-fields-layout{padding:12px 0;width:100%;border-bottom:1px solid #dce0e8}.no-group-container.sc-fields-layout::before{content:var(--no-group-message, \"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário\");width:100%;display:block;font-size:16px;font-weight:400;color:#AFB6C0;padding-bottom:12px}.add-group-container.sc-fields-layout{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;padding-bottom:12px;gap:6px;cursor:pointer;justify-content:center;width:100%;height:55px}.no-guide-selected.sc-fields-layout{display:block;margin:auto;font-size:24px;color:#AFB6C0;font-weight:500}.ghost.sc-fields-layout{opacity:.5;background:#c8fbe2}";
9
+ const fieldsLayoutCss = ".sc-fields-layout-h{display:flex;padding:12px;box-shadow:var(--shadow--small, 0 0 16px rgba(0, 38, 111, 0.07));border-radius:var(--border--radius-medium, 6px);height:var(--snk-form-config-container-height);flex-direction:column}.layout-container.sc-fields-layout{container-type:inline-size;display:flex;flex-direction:column;overflow:auto;height:calc(100vh - 225px)}.guide-header.sc-fields-layout{display:flex;width:100%;font-size:20px;border-bottom:1px solid #dce0e8;margin-bottom:6px;align-items:center;height:45px}.guide-header.sc-fields-layout ez-button.sc-fields-layout{transition:all 0.2s ease-in-out;visibility:hidden;opacity:0}.guide-header.sc-fields-layout:hover ez-button.sc-fields-layout{visibility:visible;opacity:1}.guide-header-label.sc-fields-layout{display:block;padding:10px 0}.group-config.sc-fields-layout{padding:12px 0;display:flex;flex-direction:column;width:100%}.group-content.sc-fields-layout{display:grid;gap:12px;min-height:65px;width:100%;padding:6px 0;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr))}.group-content.empty-content.sc-fields-layout{position:relative}.group-content.empty-content.sc-fields-layout::before{content:var(--empty-content-message, \"Arraste e solte um campo aqui\");color:#cbcfd7;font-size:16px;font-weight:500;text-align:center;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity 0.3s;height:100%;box-sizing:border-box;padding:10px;background:#f9f9f9;border:1px dashed #dce0e8;border-radius:6px}.no-group-container.sc-fields-layout{padding:12px 0;width:100%;border-bottom:1px solid #dce0e8}.no-group-container.sc-fields-layout::before{content:var(--no-group-message, \"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário\");width:100%;display:block;font-size:16px;font-weight:400;color:#AFB6C0;padding-bottom:12px}.add-group-container.sc-fields-layout{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;padding-bottom:12px;gap:6px;cursor:pointer;justify-content:center;width:100%;height:55px}.no-guide-selected.sc-fields-layout{display:block;margin:auto;font-size:24px;color:#AFB6C0;font-weight:500}.message-container.sc-fields-layout{margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:center}.message-config-detail.sc-fields-layout{display:block;margin:auto;font-size:var(--font-size--medium, 16px);color:#AFB6C0;font-weight:var(--font-weight--medium, 500)}.ghost.sc-fields-layout{opacity:.5;background:#c8fbe2}";
10
10
 
11
11
  const FieldLayoutComponent = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
12
12
  constructor() {
@@ -332,7 +332,7 @@ const FieldLayoutComponent = /*@__PURE__*/ proxyCustomElement(class extends HTML
332
332
  return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("span", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.noGuideSelected'))));
333
333
  }
334
334
  if (this.selectedGuide.isCustom || this.selectedGuide.isDetail) {
335
- return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("span", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.canNotEditCustomGuide'))));
335
+ return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("div", { class: 'message-container' }, h("h1", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.canNotEditCustomGuide')), h("span", { class: 'message-config-detail' }, this.getMessage('snkFormConfig.form.canNotEditDetailGuide')))));
336
336
  }
337
337
  return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, this.renderGuideName(), h("div", { class: 'layout-container' }, h("ez-scroller", { direction: 'vertical', activeShadow: true }, h("div", { class: 'no-group-container' }, h("div", { id: GROUP_NAMES.noGroup, class: 'group-content', "data-group-name": GROUP_NAMES.noGroup }, this.renderFixedFields())), h("hr", null), h("div", { id: this.ID_GROUPS, class: 'groups-container' }, this.renderDraggableGroups()))), h("div", { class: 'add-group-container', onClick: this.handleAddGroup.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus" }), h("span", null, this.getMessage('snkFormConfig.form.createNewGroup')))));
338
338
  }
@@ -1,10 +1,10 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { S as Sortable } from './sortable.esm.js';
3
2
  import { ObjectUtils, ArrayUtils } from '@sankhyalabs/core';
4
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
+ import { S as Sortable } from './sortable.esm.js';
5
5
  import { T as TAB_NAMES } from './constants.js';
6
6
 
7
- const guidesConfiguratorCss = ".ezSidebarNavigator.sc-guides-configurator{--ez-sidebar-navigator--height:calc(100vh - 118px)}.navigator-container.sc-guides-configurator{height:calc(100vh - 175px);display:flex;flex-direction:column;justify-content:space-between}.collapsible-container.sc-guides-configurator{display:flex;flex-direction:column;gap:12px;flex-grow:1;max-height:calc(100vh - 240px);overflow:auto}.collapsible-item.sc-guides-configurator{padding:6px;border-radius:6px;border:1px solid #dce0e8}.add-button-container.sc-guides-configurator{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;gap:6px;cursor:pointer;justify-content:center}.add-button-container.sc-guides-configurator span.sc-guides-configurator{display:block}.guide-list.sc-guides-configurator{display:flex;flex-direction:column;width:100%;min-height:10px}.guide-list.hidden-empty-content.sc-guides-configurator::before{content:var(--no-hidden-guides-message, \"Nenhuma guia oculta\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.guide-list.visible-empty-content.sc-guides-configurator::before{content:var(--no-visible-guides-message, \"Nenhuma guia visível\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.item-label.sc-guides-configurator{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.guide-item.sc-guides-configurator{margin:0 3px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;transition:all 0.2s ease-in-out;height:32px}.guide-item.sc-guides-configurator .actions.sc-guides-configurator{display:flex;gap:8px;transition:0.2s ease-in-out;visibility:hidden;opacity:0}.guide-item.sc-guides-configurator:hover .actions.sc-guides-configurator{visibility:visible;opacity:1}ez-button.sc-guides-configurator{width:24px;align-items:center;justify-content:center;display:flex}.ghost.sc-guides-configurator{opacity:.5;background:#e2eaf4}.main-guide.sc-guides-configurator{padding:12px;margin:12px 0;border:1px solid #dce0e8;border-radius:6px;transition:all 0.2s ease-in-out}.guide-item.selected.sc-guides-configurator,.main-guide.selected.sc-guides-configurator{background:#E2F4EF}.guide-item.sc-guides-configurator:hover,.main-guide.sc-guides-configurator:hover{background:#f5fcfa}";
7
+ const guidesConfiguratorCss = ".ezSidebarNavigator.sc-guides-configurator{--ez-sidebar-navigator--height:calc(100vh - 118px)}.navigator-container.sc-guides-configurator{height:calc(100vh - 175px);display:flex;flex-direction:column;justify-content:space-between}.collapsible-container.sc-guides-configurator{display:flex;flex-direction:column;gap:12px;flex-grow:1;max-height:calc(100vh - 240px);overflow:auto}.collapsible-item.sc-guides-configurator{padding:6px;border-radius:6px;border:1px solid #dce0e8}.add-button-container.sc-guides-configurator{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;gap:6px;cursor:pointer;justify-content:center}.add-button-container.sc-guides-configurator span.sc-guides-configurator{display:block}.guide-list.sc-guides-configurator{display:flex;flex-direction:column;width:100%;min-height:10px}.guide-list.hidden-empty-content.sc-guides-configurator::before{content:var(--no-hidden-guides-message, \"Nenhuma guia oculta\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.guide-list.visible-empty-content.sc-guides-configurator::before{content:var(--no-visible-guides-message, \"Nenhuma guia visível\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.item-label.sc-guides-configurator{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.guide-item.sc-guides-configurator{margin:0 3px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;transition:all 0.2s ease-in-out;height:32px}.guide-item.sc-guides-configurator .actions.sc-guides-configurator{display:flex;gap:8px;transition:opacity 0.2s ease-in-out;display:none;opacity:0}.guide-item.sc-guides-configurator:hover .actions.sc-guides-configurator{display:flex;opacity:1}ez-button.sc-guides-configurator{width:24px;align-items:center;justify-content:center;display:flex}.ghost.sc-guides-configurator{opacity:.5;background:#e2eaf4}.main-guide.sc-guides-configurator{padding:12px;margin:12px 0;border:1px solid #dce0e8;border-radius:6px;transition:all 0.2s ease-in-out}.guide-item.selected.sc-guides-configurator,.main-guide.selected.sc-guides-configurator{background:#E2F4EF}.guide-item.sc-guides-configurator:hover,.main-guide.sc-guides-configurator:hover{background:#f5fcfa}";
8
8
 
9
9
  const GuidesConfigurator = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
10
10
  constructor() {
@@ -160,13 +160,23 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
160
160
  return fieldVisible === true && hasCfg === false;
161
161
  });
162
162
  }
163
+ getInitialOrder(guidesList) {
164
+ var _a, _b;
165
+ if (Array.isArray((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.tabs)) {
166
+ return (_b = this._formConfig.tabs) === null || _b === void 0 ? void 0 : _b.length;
167
+ }
168
+ if (guidesList.length > 0) {
169
+ return Math.max(...guidesList.map(g => g.order));
170
+ }
171
+ return 0;
172
+ }
163
173
  loadGuides() {
164
- var _a, _b, _c, _d;
174
+ var _a;
165
175
  this.guidesList = [];
166
176
  this.guidesList.push(...buildGuides(this._formConfig, this.getMessage('snkFormConfig.form.mainArea')));
167
- this.guidesList.push(...buildChildrenGuides(this.dataUnit, (_c = (_b = (_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.tabs) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, this.guidesList));
177
+ this.guidesList.push(...buildChildrenGuides(this.dataUnit, this.getInitialOrder(this.guidesList), this.guidesList));
168
178
  this.guidesList.push(...buildCustomGuides(this.customGuidesConfig, this.guidesList));
169
- this.guidesMap = buildGuidesMap((_d = this._formConfig) === null || _d === void 0 ? void 0 : _d.fields, this.guidesList, this.dataUnit, this.getMessage('snkFormConfig.form.tabGeneral'));
179
+ this.guidesMap = buildGuidesMap((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields, this.guidesList, this.dataUnit, this.getMessage('snkFormConfig.form.tabGeneral'));
170
180
  }
171
181
  getConfig() {
172
182
  let config = this.configManager.getConfig(this.dataUnit, false);
@@ -50,7 +50,6 @@ const SnkPesquisa = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
50
50
  * Útil para cenários onde a pesquisa precisa ser disparada sem interação do usuário.
51
51
  *
52
52
  * @param text Texto utilizado como argumento de pesquisa.
53
- * @returns Promise<void>
54
53
  * @example
55
54
  * await pesquisaRef.executeSearch("Texto para pesquisa");
56
55
  */
@@ -1,5 +1,5 @@
1
- import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-8d0a5e1c.js';
2
- import { D as DataFetcher, d as dist } from './DataFetcher-450828a0.js';
1
+ import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-d0536a71.js';
2
+ import { D as DataFetcher, d as dist } from './DataFetcher-5780ad39.js';
3
3
  import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
4
4
  import { ObjectUtils } from '@sankhyalabs/core';
5
5
 
@@ -7439,6 +7439,7 @@ const snkFormConfigMessages$2 = {
7439
7439
  mainArea: "Área principal",
7440
7440
  tabGeneral: "Geral",
7441
7441
  canNotEditCustomGuide: "Não é possível editar guias detalhe e guias personalizadas",
7442
+ canNotEditDetailGuide: "Para realizar a configuração de uma tela de detalhes é necessário acessar a sua aba",
7442
7443
  createNewGroup: "Criar novo grupo",
7443
7444
  newGroup: "Criar novo grupo",
7444
7445
  noGuideSelected: "Selecione uma guia e comece a configurar",
@@ -8303,6 +8304,7 @@ const snkFormConfigMessages$1 = {
8303
8304
  mainArea: "Main area",
8304
8305
  tabGeneral: "General",
8305
8306
  canNotEditCustomGuide: "It is not possible to edit detail tabs and custom tabs",
8307
+ canNotEditDetailGuide: "To configure a detail screen, you must access its tab",
8306
8308
  createNewGroup: "Create new group",
8307
8309
  newGroup: "New group",
8308
8310
  noGuideSelected: "Select a tab and start configuring",
@@ -9167,6 +9169,7 @@ const snkFormConfigMessages = {
9167
9169
  mainArea: "Área principal",
9168
9170
  tabGeneral: "General",
9169
9171
  canNotEditCustomGuide: "No es posible editar pestañas de detalles y pestañas personalizadas",
9172
+ canNotEditDetailGuide: "Para realizar la configuración de una pantalla de detalles es necesario acceder a su pestaña",
9170
9173
  createNewGroup: "Crear nuevo grupo",
9171
9174
  newGroup: "Nuevo grupo",
9172
9175
  noGuideSelected: "Seleccione una pestaña y comience a configurar",
@@ -117,7 +117,9 @@ function buildChildrenGuides(dataUnit, initialOrderIndex = 0, guidesList) {
117
117
  const children = ((_a = dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.children) || [];
118
118
  const childrenWithNoGuide = [];
119
119
  for (const child of children) {
120
- if (guidesList.some((guide) => child.label === guide.label)) {
120
+ const guideOnConfig = guidesList.find(guide => child.label === guide.label);
121
+ if (guideOnConfig) {
122
+ guideOnConfig.isCustom = true;
121
123
  continue;
122
124
  }
123
125
  childrenWithNoGuide.push({
@@ -1,5 +1,5 @@
1
1
  import { UserInterface, DataType, ApplicationContext, ErrorException } from '@sankhyalabs/core';
2
- import { d as dist, D as DataFetcher } from './DataFetcher-450828a0.js';
2
+ import { d as dist, D as DataFetcher } from './DataFetcher-5780ad39.js';
3
3
 
4
4
  function buildGridMetadata(rawValue) {
5
5
  const fieldsMetadata = buildFieldsMetadata(rawValue.fieldsMetadata);
@@ -1,6 +1,6 @@
1
1
  import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
2
- import { C as ConfigStorage } from './ConfigStorage-22324b6b.js';
3
- import { F as FormConfigFetcher } from './form-config-fetcher-8d0a5e1c.js';
2
+ import { C as ConfigStorage } from './ConfigStorage-bd096633.js';
3
+ import { F as FormConfigFetcher } from './form-config-fetcher-d0536a71.js';
4
4
  import { a as TAB_NAMES } from './constants-7b422de0.js';
5
5
 
6
6
  class SnkFormConfigManager {
@@ -179,7 +179,7 @@ class SnkFormConfigManager {
179
179
  return Array.isArray(object) ? object : [object];
180
180
  }
181
181
  buildFormMetadataUITabs(config, forceEmptyConfig = false) {
182
- var _a;
182
+ var _a, _b, _c;
183
183
  const hasConfig = this.hasConfig(config);
184
184
  if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
185
185
  return config;
@@ -188,10 +188,10 @@ class SnkFormConfigManager {
188
188
  config.tabs = this.parseObjectList(config.tabs);
189
189
  config.emptyConfig = false;
190
190
  config.defaultConfiguration = true;
191
- const fields = this._dataUnit.metadata.fields;
191
+ const fields = (_b = (_a = this._dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.fields) !== null && _b !== void 0 ? _b : [];
192
192
  for (const currentField of fields) {
193
193
  const field = config.fields.find(field => field.name === currentField.name);
194
- const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
194
+ const uiTabName = (_c = currentField.properties) === null || _c === void 0 ? void 0 : _c.UITabName;
195
195
  if (!uiTabName || uiTabName === TAB_NAMES.main) {
196
196
  continue;
197
197
  }
@@ -1,12 +1,12 @@
1
- import { D as DataFetcher } from './DataFetcher-450828a0.js';
2
- import './ISave-61153166.js';
1
+ import { D as DataFetcher } from './DataFetcher-5780ad39.js';
2
+ import './ISave-8a22ec18.js';
3
3
  import { SortMode, ApplicationContext, ObjectUtils, StringUtils, NumberUtils, DataType, UserInterface as UserInterface$1, DateUtils } from '@sankhyalabs/core';
4
4
  import { D as DataExporterOption } from './index-b40568ff.js';
5
5
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
6
6
  import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
7
- import { P as PreloadManager } from './dataunit-fetcher-da9596f6.js';
7
+ import { P as PreloadManager } from './dataunit-fetcher-c4251d80.js';
8
8
  import './filter-item-type.enum-d45e026f.js';
9
- import './form-config-fetcher-8d0a5e1c.js';
9
+ import './form-config-fetcher-d0536a71.js';
10
10
  import './constants-7b422de0.js';
11
11
  import { h } from './index-479e1293.js';
12
12
  import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo-9fa41508.js';
@@ -1,5 +1,5 @@
1
1
  import { ObjectUtils } from '@sankhyalabs/core';
2
- import { R as ResourceFetcher } from './form-config-fetcher-8d0a5e1c.js';
2
+ import { R as ResourceFetcher } from './form-config-fetcher-d0536a71.js';
3
3
 
4
4
  class AuthFetcher extends ResourceFetcher {
5
5
  getData(resourceID) {
@@ -1,5 +1,5 @@
1
1
  import { ObjectUtils, DataUnit, DataUnitInMemoryLoader, ApplicationContext, StringUtils, UserInterface, DataUnitStorage, DataType, ChangeOperation } from '@sankhyalabs/core';
2
- import { D as DataFetcher, S as SnkMessageBuilder, d as dist } from './DataFetcher-450828a0.js';
2
+ import { D as DataFetcher, S as SnkMessageBuilder, d as dist } from './DataFetcher-5780ad39.js';
3
3
  import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
4
4
  import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
5
  import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
@@ -3,7 +3,7 @@ import { UserInterface, StringUtils, ObjectUtils, ApplicationContext } from '@sa
3
3
  import { b as VARS_BY_TYPE, D as DEFAULT_TYPE, c as TAGS_BY_TYPE } from './constants-7b422de0.js';
4
4
  import { getConvertedValue } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
5
5
  import { CheckMode } from '@sankhyalabs/ezui/dist/collection/utils';
6
- import { h as getValidatedFieldValue, i as getEnabledByProperty, j as getValueByProperty, k as getIconName } from './FormConfigHelper-e89ca25c.js';
6
+ import { h as getValidatedFieldValue, i as getEnabledByProperty, j as getValueByProperty, k as getIconName } from './FormConfigHelper-d09669f3.js';
7
7
 
8
8
  const fieldConfigCss = ".field-config-container.sc-field-config{font-family:'Roboto';color:#2b3a54;display:flex;flex-direction:column;gap:10px;width:330px;justify-content:space-between}.header.sc-field-config{display:flex;font-weight:500;font-size:16px}.actions.sc-field-config{display:flex;align-items:flex-end;gap:12px}";
9
9
 
@@ -1,11 +1,11 @@
1
1
  import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-479e1293.js';
2
2
  import { StringUtils, ObjectUtils } from '@sankhyalabs/core';
3
+ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
4
  import { S as Sortable } from './sortable.esm-842f85a3.js';
4
- import { S as SORTABLE_PATH, f as getFieldsStructure, I as ID_AVAILABLE_FIELDS } from './FormConfigHelper-e89ca25c.js';
5
5
  import { a as TAB_NAMES, G as GROUP_NAMES } from './constants-7b422de0.js';
6
- import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
6
+ import { S as SORTABLE_PATH, f as getFieldsStructure, I as ID_AVAILABLE_FIELDS } from './FormConfigHelper-d09669f3.js';
7
7
 
8
- const fieldsLayoutCss = ".sc-fields-layout-h{display:flex;padding:12px;box-shadow:var(--shadow--small, 0 0 16px rgba(0, 38, 111, 0.07));border-radius:var(--border--radius-medium, 6px);height:var(--snk-form-config-container-height);flex-direction:column}.layout-container.sc-fields-layout{container-type:inline-size;display:flex;flex-direction:column;overflow:auto;height:calc(100vh - 225px)}.guide-header.sc-fields-layout{display:flex;width:100%;font-size:20px;border-bottom:1px solid #dce0e8;margin-bottom:6px;align-items:center;height:45px}.guide-header.sc-fields-layout ez-button.sc-fields-layout{transition:all 0.2s ease-in-out;visibility:hidden;opacity:0}.guide-header.sc-fields-layout:hover ez-button.sc-fields-layout{visibility:visible;opacity:1}.guide-header-label.sc-fields-layout{display:block;padding:10px 0}.group-config.sc-fields-layout{padding:12px 0;display:flex;flex-direction:column;width:100%}.group-content.sc-fields-layout{display:grid;gap:12px;min-height:65px;width:100%;padding:6px 0;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr))}.group-content.empty-content.sc-fields-layout{position:relative}.group-content.empty-content.sc-fields-layout::before{content:var(--empty-content-message, \"Arraste e solte um campo aqui\");color:#cbcfd7;font-size:16px;font-weight:500;text-align:center;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity 0.3s;height:100%;box-sizing:border-box;padding:10px;background:#f9f9f9;border:1px dashed #dce0e8;border-radius:6px}.no-group-container.sc-fields-layout{padding:12px 0;width:100%;border-bottom:1px solid #dce0e8}.no-group-container.sc-fields-layout::before{content:var(--no-group-message, \"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário\");width:100%;display:block;font-size:16px;font-weight:400;color:#AFB6C0;padding-bottom:12px}.add-group-container.sc-fields-layout{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;padding-bottom:12px;gap:6px;cursor:pointer;justify-content:center;width:100%;height:55px}.no-guide-selected.sc-fields-layout{display:block;margin:auto;font-size:24px;color:#AFB6C0;font-weight:500}.ghost.sc-fields-layout{opacity:.5;background:#c8fbe2}";
8
+ const fieldsLayoutCss = ".sc-fields-layout-h{display:flex;padding:12px;box-shadow:var(--shadow--small, 0 0 16px rgba(0, 38, 111, 0.07));border-radius:var(--border--radius-medium, 6px);height:var(--snk-form-config-container-height);flex-direction:column}.layout-container.sc-fields-layout{container-type:inline-size;display:flex;flex-direction:column;overflow:auto;height:calc(100vh - 225px)}.guide-header.sc-fields-layout{display:flex;width:100%;font-size:20px;border-bottom:1px solid #dce0e8;margin-bottom:6px;align-items:center;height:45px}.guide-header.sc-fields-layout ez-button.sc-fields-layout{transition:all 0.2s ease-in-out;visibility:hidden;opacity:0}.guide-header.sc-fields-layout:hover ez-button.sc-fields-layout{visibility:visible;opacity:1}.guide-header-label.sc-fields-layout{display:block;padding:10px 0}.group-config.sc-fields-layout{padding:12px 0;display:flex;flex-direction:column;width:100%}.group-content.sc-fields-layout{display:grid;gap:12px;min-height:65px;width:100%;padding:6px 0;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr))}.group-content.empty-content.sc-fields-layout{position:relative}.group-content.empty-content.sc-fields-layout::before{content:var(--empty-content-message, \"Arraste e solte um campo aqui\");color:#cbcfd7;font-size:16px;font-weight:500;text-align:center;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity 0.3s;height:100%;box-sizing:border-box;padding:10px;background:#f9f9f9;border:1px dashed #dce0e8;border-radius:6px}.no-group-container.sc-fields-layout{padding:12px 0;width:100%;border-bottom:1px solid #dce0e8}.no-group-container.sc-fields-layout::before{content:var(--no-group-message, \"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário\");width:100%;display:block;font-size:16px;font-weight:400;color:#AFB6C0;padding-bottom:12px}.add-group-container.sc-fields-layout{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;padding-bottom:12px;gap:6px;cursor:pointer;justify-content:center;width:100%;height:55px}.no-guide-selected.sc-fields-layout{display:block;margin:auto;font-size:24px;color:#AFB6C0;font-weight:500}.message-container.sc-fields-layout{margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:center}.message-config-detail.sc-fields-layout{display:block;margin:auto;font-size:var(--font-size--medium, 16px);color:#AFB6C0;font-weight:var(--font-weight--medium, 500)}.ghost.sc-fields-layout{opacity:.5;background:#c8fbe2}";
9
9
 
10
10
  const FieldLayoutComponent = class {
11
11
  constructor(hostRef) {
@@ -330,7 +330,7 @@ const FieldLayoutComponent = class {
330
330
  return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("span", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.noGuideSelected'))));
331
331
  }
332
332
  if (this.selectedGuide.isCustom || this.selectedGuide.isDetail) {
333
- return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("span", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.canNotEditCustomGuide'))));
333
+ return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("div", { class: 'message-container' }, h("h1", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.canNotEditCustomGuide')), h("span", { class: 'message-config-detail' }, this.getMessage('snkFormConfig.form.canNotEditDetailGuide')))));
334
334
  }
335
335
  return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, this.renderGuideName(), h("div", { class: 'layout-container' }, h("ez-scroller", { direction: 'vertical', activeShadow: true }, h("div", { class: 'no-group-container' }, h("div", { id: GROUP_NAMES.noGroup, class: 'group-content', "data-group-name": GROUP_NAMES.noGroup }, this.renderFixedFields())), h("hr", null), h("div", { id: this.ID_GROUPS, class: 'groups-container' }, this.renderDraggableGroups()))), h("div", { class: 'add-group-container', onClick: this.handleAddGroup.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus" }), h("span", null, this.getMessage('snkFormConfig.form.createNewGroup')))));
336
336
  }
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-479e1293.js';
2
2
  import { S as Sortable } from './sortable.esm-842f85a3.js';
3
- import { I as ID_AVAILABLE_FIELDS } from './FormConfigHelper-e89ca25c.js';
3
+ import { I as ID_AVAILABLE_FIELDS } from './FormConfigHelper-d09669f3.js';
4
4
  import { ArrayUtils } from '@sankhyalabs/core';
5
5
  import './constants-7b422de0.js';
6
6
 
@@ -1,4 +1,4 @@
1
- import { d as dist, D as DataFetcher } from './DataFetcher-450828a0.js';
1
+ import { d as dist, D as DataFetcher } from './DataFetcher-5780ad39.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
3
 
4
4
  class ResourceFetcher {
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-479e1293.js';
2
- import { S as Sortable } from './sortable.esm-842f85a3.js';
3
2
  import { ObjectUtils, ArrayUtils } from '@sankhyalabs/core';
4
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
+ import { S as Sortable } from './sortable.esm-842f85a3.js';
5
5
  import { a as TAB_NAMES } from './constants-7b422de0.js';
6
6
 
7
- const guidesConfiguratorCss = ".ezSidebarNavigator.sc-guides-configurator{--ez-sidebar-navigator--height:calc(100vh - 118px)}.navigator-container.sc-guides-configurator{height:calc(100vh - 175px);display:flex;flex-direction:column;justify-content:space-between}.collapsible-container.sc-guides-configurator{display:flex;flex-direction:column;gap:12px;flex-grow:1;max-height:calc(100vh - 240px);overflow:auto}.collapsible-item.sc-guides-configurator{padding:6px;border-radius:6px;border:1px solid #dce0e8}.add-button-container.sc-guides-configurator{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;gap:6px;cursor:pointer;justify-content:center}.add-button-container.sc-guides-configurator span.sc-guides-configurator{display:block}.guide-list.sc-guides-configurator{display:flex;flex-direction:column;width:100%;min-height:10px}.guide-list.hidden-empty-content.sc-guides-configurator::before{content:var(--no-hidden-guides-message, \"Nenhuma guia oculta\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.guide-list.visible-empty-content.sc-guides-configurator::before{content:var(--no-visible-guides-message, \"Nenhuma guia visível\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.item-label.sc-guides-configurator{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.guide-item.sc-guides-configurator{margin:0 3px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;transition:all 0.2s ease-in-out;height:32px}.guide-item.sc-guides-configurator .actions.sc-guides-configurator{display:flex;gap:8px;transition:0.2s ease-in-out;visibility:hidden;opacity:0}.guide-item.sc-guides-configurator:hover .actions.sc-guides-configurator{visibility:visible;opacity:1}ez-button.sc-guides-configurator{width:24px;align-items:center;justify-content:center;display:flex}.ghost.sc-guides-configurator{opacity:.5;background:#e2eaf4}.main-guide.sc-guides-configurator{padding:12px;margin:12px 0;border:1px solid #dce0e8;border-radius:6px;transition:all 0.2s ease-in-out}.guide-item.selected.sc-guides-configurator,.main-guide.selected.sc-guides-configurator{background:#E2F4EF}.guide-item.sc-guides-configurator:hover,.main-guide.sc-guides-configurator:hover{background:#f5fcfa}";
7
+ const guidesConfiguratorCss = ".ezSidebarNavigator.sc-guides-configurator{--ez-sidebar-navigator--height:calc(100vh - 118px)}.navigator-container.sc-guides-configurator{height:calc(100vh - 175px);display:flex;flex-direction:column;justify-content:space-between}.collapsible-container.sc-guides-configurator{display:flex;flex-direction:column;gap:12px;flex-grow:1;max-height:calc(100vh - 240px);overflow:auto}.collapsible-item.sc-guides-configurator{padding:6px;border-radius:6px;border:1px solid #dce0e8}.add-button-container.sc-guides-configurator{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;gap:6px;cursor:pointer;justify-content:center}.add-button-container.sc-guides-configurator span.sc-guides-configurator{display:block}.guide-list.sc-guides-configurator{display:flex;flex-direction:column;width:100%;min-height:10px}.guide-list.hidden-empty-content.sc-guides-configurator::before{content:var(--no-hidden-guides-message, \"Nenhuma guia oculta\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.guide-list.visible-empty-content.sc-guides-configurator::before{content:var(--no-visible-guides-message, \"Nenhuma guia visível\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.item-label.sc-guides-configurator{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.guide-item.sc-guides-configurator{margin:0 3px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;transition:all 0.2s ease-in-out;height:32px}.guide-item.sc-guides-configurator .actions.sc-guides-configurator{display:flex;gap:8px;transition:opacity 0.2s ease-in-out;display:none;opacity:0}.guide-item.sc-guides-configurator:hover .actions.sc-guides-configurator{display:flex;opacity:1}ez-button.sc-guides-configurator{width:24px;align-items:center;justify-content:center;display:flex}.ghost.sc-guides-configurator{opacity:.5;background:#e2eaf4}.main-guide.sc-guides-configurator{padding:12px;margin:12px 0;border:1px solid #dce0e8;border-radius:6px;transition:all 0.2s ease-in-out}.guide-item.selected.sc-guides-configurator,.main-guide.selected.sc-guides-configurator{background:#E2F4EF}.guide-item.sc-guides-configurator:hover,.main-guide.sc-guides-configurator:hover{background:#f5fcfa}";
8
8
 
9
9
  const GuidesConfigurator = class {
10
10
  constructor(hostRef) {