@sankhyalabs/sankhyablocks 10.1.0-dev.5 → 10.1.0-dev.51

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 (452) hide show
  1. package/LICENSE +4 -1
  2. package/dist/cjs/{ConfigStorage-72f34bd4.js → ConfigStorage-a1fab5ca.js} +19 -2
  3. package/dist/cjs/ContinuousInsertUtils-1ae0c6ac.js +41 -0
  4. package/dist/cjs/{DataFetcher-991b0349.js → DataFetcher-384d2ce8.js} +2 -2751
  5. package/dist/cjs/{FormConfigHelper-e253a418.js → FormConfigHelper-28fe4668.js} +3 -1
  6. package/dist/cjs/{ISave-ebf6b4ed.js → ISave-ecbe9336.js} +1 -1
  7. package/dist/cjs/ImageUtils-d6139911.js +144 -0
  8. package/dist/cjs/{PersonalizedFilterUtils-7259cf65.js → PersonalizedFilterUtils-eccb267a.js} +13 -0
  9. package/dist/cjs/{SnkFormConfigManager-cdbb29d4.js → SnkFormConfigManager-44386305.js} +5 -5
  10. package/dist/cjs/SnkMessageBuilder-a9300ebe.js +2833 -0
  11. package/dist/cjs/{SnkMultiSelectionListDataSource-011bec79.js → SnkMultiSelectionListDataSource-293bc3d2.js} +61 -47
  12. package/dist/cjs/{auth-fetcher-c3cac878.js → auth-fetcher-6b134ec4.js} +1 -1
  13. package/dist/cjs/config-header.cjs.entry.js +1 -1
  14. package/dist/cjs/configs-button.cjs.entry.js +1 -1
  15. package/dist/cjs/css-shim-a27d231b.js +6 -0
  16. package/dist/cjs/{dataunit-fetcher-8bf469e7.js → dataunit-fetcher-b9822794.js} +66 -6
  17. package/dist/cjs/dom-ff96a4bc.js +75 -0
  18. package/dist/cjs/field-config_2.cjs.entry.js +3 -3
  19. package/dist/cjs/fields-layout.cjs.entry.js +6 -6
  20. package/dist/cjs/fields-selector.cjs.entry.js +3 -3
  21. package/dist/cjs/{form-config-fetcher-c7af90d8.js → form-config-fetcher-45d1964c.js} +19 -1
  22. package/dist/cjs/guides-configurator.cjs.entry.js +3 -3
  23. package/dist/cjs/{index-1cf293c1.js → index-1894343a.js} +1529 -177
  24. package/dist/cjs/{index-13d05f03.js → index-f0fe7e6e.js} +90 -21
  25. package/dist/cjs/loader.cjs.js +16 -2
  26. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +6 -5
  27. package/dist/cjs/sankhyablocks.cjs.js +132 -4
  28. package/dist/cjs/shadow-css-7e3e0ab1.js +389 -0
  29. package/dist/cjs/snk-actions-button_9.cjs.entry.js +166 -116
  30. package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-application.cjs.entry.js +29 -9
  32. package/dist/cjs/snk-attach.cjs.entry.js +63 -25
  33. package/dist/cjs/snk-client-confirm.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-configurator.cjs.entry.js +3 -1
  35. package/dist/cjs/snk-crud.cjs.entry.js +350 -109
  36. package/dist/cjs/snk-custom-slot-elements.cjs.entry.js +1 -1
  37. package/dist/cjs/snk-custom-slot-guide.cjs.entry.js +40 -0
  38. package/dist/cjs/snk-data-exporter.cjs.entry.js +9 -7
  39. package/dist/cjs/{snk-data-unit-7d587ad5.js → snk-data-unit-4b6dc396.js} +21 -12
  40. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -4
  41. package/dist/cjs/snk-default-filter.cjs.entry.js +1 -1
  42. package/dist/cjs/snk-detail-view.cjs.entry.js +27 -20
  43. package/dist/cjs/snk-entity-list.cjs.entry.js +1 -1
  44. package/dist/cjs/snk-entity-search.cjs.entry.js +211 -0
  45. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +2 -2
  46. package/dist/cjs/snk-expression-group_2.cjs.entry.js +2 -2
  47. package/dist/cjs/{snk-filter-advanced-mode_2.cjs.entry.js → snk-filter-advanced-mode_3.cjs.entry.js} +41 -3
  48. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +147 -94
  49. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  50. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  51. package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
  52. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +2 -2
  53. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -4
  54. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  55. package/dist/cjs/snk-filter-number.cjs.entry.js +11 -7
  56. package/dist/cjs/snk-filter-period.cjs.entry.js +14 -7
  57. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  58. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -2
  59. package/dist/cjs/snk-form-summary.cjs.entry.js +1 -1
  60. package/dist/cjs/snk-form-view.cjs.entry.js +70 -8
  61. package/dist/cjs/snk-form_2.cjs.entry.js +22 -11
  62. package/dist/cjs/snk-grid.cjs.entry.js +76 -34
  63. package/dist/cjs/{snk-guides-viewer-366d5c32.js → snk-guides-viewer-b4ca3437.js} +78 -214
  64. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -18
  65. package/dist/cjs/snk-image-input.cjs.entry.js +160 -0
  66. package/dist/cjs/snk-layout-form-config.cjs.entry.js +72 -0
  67. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
  68. package/dist/cjs/snk-personalized-filter.cjs.entry.js +8 -7
  69. package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -6
  70. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  71. package/dist/cjs/snk-simple-crud.cjs.entry.js +30 -35
  72. package/dist/cjs/snk-taskbar.cjs.entry.js +183 -126
  73. package/dist/cjs/{sortable.esm-9a110bb7.js → sortable.esm-b87669ab.js} +76 -90
  74. package/dist/cjs/taskbar-elements-80eddec8.js +152 -0
  75. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  76. package/dist/collection/collection-manifest.json +9 -0
  77. package/dist/collection/components/snk-actions-button/actions/executor/launch-screen.executor.js +6 -3
  78. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -3
  79. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +1 -0
  80. package/dist/collection/components/snk-application/snk-application.js +20 -2
  81. package/dist/collection/components/snk-attach/snk-attach.css +29 -7
  82. package/dist/collection/components/snk-attach/snk-attach.js +94 -19
  83. package/dist/collection/components/snk-configurator/snk-configurator.js +2 -0
  84. package/dist/collection/components/snk-crud/snk-crud.css +50 -0
  85. package/dist/collection/components/snk-crud/snk-crud.js +165 -98
  86. package/dist/collection/components/snk-crud/subcomponents/GuideBuilder.js +1 -1
  87. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +15 -7
  88. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.css +17 -0
  89. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.js +330 -0
  90. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +90 -8
  91. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +22 -8
  92. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +90 -205
  93. package/dist/collection/components/snk-crud/utils/taskbarUtils.js +144 -0
  94. package/dist/collection/components/snk-custom-slot-guide/snk-custom-slot-guide.css +3 -0
  95. package/dist/collection/components/snk-custom-slot-guide/snk-custom-slot-guide.js +95 -0
  96. package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +1 -1
  97. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +20 -1
  98. package/dist/collection/components/snk-data-unit/snk-data-unit.js +9 -0
  99. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +13 -9
  100. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +14 -7
  101. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +1 -1
  102. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +1 -1
  103. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.css +5 -1
  104. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +28 -2
  105. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +7 -1
  106. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +22 -8
  107. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -6
  108. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +166 -78
  109. package/dist/collection/components/snk-form-config/FormConfigHelper.js +3 -1
  110. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +3 -3
  111. package/dist/collection/components/snk-form-config/field-item/field-config/field-config.css +1 -0
  112. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.css +16 -0
  113. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.js +4 -4
  114. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +3 -4
  115. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +2 -2
  116. package/dist/collection/components/snk-form-config/snk-form-config.js +15 -5
  117. package/dist/collection/components/snk-grid/snk-grid.css +24 -3
  118. package/dist/collection/components/snk-grid/snk-grid.js +183 -22
  119. package/dist/collection/components/snk-grid-config/snk-grid-config.js +153 -51
  120. package/dist/collection/components/snk-image-input/snk-image-input.css +3 -0
  121. package/dist/collection/components/snk-image-input/snk-image-input.js +338 -0
  122. package/dist/collection/components/snk-image-input/utils/ImageUtils.js +135 -0
  123. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +1 -1
  124. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +1 -1
  125. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  126. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +13 -0
  127. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +0 -4
  128. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +35 -23
  129. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +8 -0
  130. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +38 -2
  131. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +54 -37
  132. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +27 -1
  133. package/dist/collection/components/snk-taskbar/processor/simple-taskbar-processor.js +55 -0
  134. package/dist/collection/components/snk-taskbar/snk-taskbar.css +44 -1
  135. package/dist/collection/components/snk-taskbar/snk-taskbar.js +248 -132
  136. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.css +12 -0
  137. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.js +19 -0
  138. package/dist/collection/lib/configs/ConfigStorage.js +5 -0
  139. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +40 -3
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +24 -2
  141. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +12 -0
  142. package/dist/collection/lib/http/data-fetcher/fetchers/resource-fetcher.js +18 -0
  143. package/dist/collection/lib/message/SnkMessageBuilder.js +11 -2
  144. package/dist/collection/lib/message/messageResourceEnUSUtils.js +2 -0
  145. package/dist/collection/lib/message/messageResourceEsESUtils.js +2 -0
  146. package/dist/collection/lib/message/messageResourcePtBRUtils.js +2 -0
  147. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +9 -1
  148. package/dist/collection/lib/message/resources/en-us/snk-form.msg.js +1 -0
  149. package/dist/collection/lib/message/resources/en-us/snk-image-input.msg.js +11 -0
  150. package/dist/collection/lib/message/resources/en-us/snk-layout-form-config.msg.js +10 -2
  151. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +9 -1
  152. package/dist/collection/lib/message/resources/es-es/snk-form.msg.js +1 -0
  153. package/dist/collection/lib/message/resources/es-es/snk-image-input.msg.js +11 -0
  154. package/dist/collection/lib/message/resources/es-es/snk-layout-form-config.msg.js +8 -0
  155. package/dist/collection/lib/message/resources/pt-br/snk-configurator.msg.js +1 -1
  156. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +9 -1
  157. package/dist/collection/lib/message/resources/pt-br/snk-form.msg.js +1 -0
  158. package/dist/collection/lib/message/resources/pt-br/snk-image-input.msg.js +11 -0
  159. package/dist/collection/lib/message/resources/pt-br/snk-layout-form-config.msg.js +10 -2
  160. package/dist/components/ConfigStorage.js +17 -0
  161. package/dist/components/ContinuousInsertUtils.js +1 -1
  162. package/dist/components/DataFetcher.js +3 -2731
  163. package/dist/components/PersonalizedFilterUtils.js +13 -0
  164. package/dist/components/SnkFormConfigManager.js +3 -3
  165. package/dist/components/SnkMessageBuilder.js +2831 -0
  166. package/dist/components/dataunit-fetcher.js +65 -5
  167. package/dist/components/field-config2.js +4 -2
  168. package/dist/components/fields-layout2.js +4 -4
  169. package/dist/components/form-config-fetcher.js +18 -0
  170. package/dist/components/guides-configurator2.js +2 -2
  171. package/dist/components/index.d.ts +4 -0
  172. package/dist/components/index.js +4 -0
  173. package/dist/components/index2.js +90 -21
  174. package/dist/components/snk-actions-button2.js +12 -6
  175. package/dist/components/snk-application2.js +22 -2
  176. package/dist/components/snk-attach2.js +70 -28
  177. package/dist/components/snk-configurator2.js +2 -0
  178. package/dist/components/snk-crud.js +433 -176
  179. package/dist/components/snk-custom-slot-guide.d.ts +11 -0
  180. package/dist/components/snk-custom-slot-guide.js +55 -0
  181. package/dist/components/snk-data-exporter2.js +3 -1
  182. package/dist/components/snk-data-unit2.js +10 -1
  183. package/dist/components/snk-detail-view2.js +221 -318
  184. package/dist/components/snk-entity-search.d.ts +11 -0
  185. package/dist/components/snk-entity-search.js +6 -0
  186. package/dist/components/snk-entity-search2.js +231 -0
  187. package/dist/components/snk-exporter-email-sender2.js +1 -1
  188. package/dist/components/snk-filter-bar2.js +116 -80
  189. package/dist/components/snk-filter-detail2.js +1 -1
  190. package/dist/components/snk-filter-item2.js +9 -3
  191. package/dist/components/snk-filter-modal2.js +22 -9
  192. package/dist/components/snk-filter-number.js +12 -8
  193. package/dist/components/snk-filter-period.js +13 -6
  194. package/dist/components/snk-filter-text.js +1 -1
  195. package/dist/components/snk-form-config2.js +15 -5
  196. package/dist/components/snk-form-view2.js +79 -10
  197. package/dist/components/snk-grid-config2.js +109 -50
  198. package/dist/components/snk-grid2.js +116 -63
  199. package/dist/components/snk-image-input.d.ts +11 -0
  200. package/dist/components/snk-image-input.js +6 -0
  201. package/dist/components/snk-image-input2.js +316 -0
  202. package/dist/components/snk-layout-form-config2.js +1 -1
  203. package/dist/components/snk-personalized-filter2.js +1 -1
  204. package/dist/components/snk-pesquisa2.js +0 -1
  205. package/dist/components/snk-simple-crud2.js +47 -46
  206. package/dist/components/snk-taskbar-skeleton.d.ts +11 -0
  207. package/dist/components/snk-taskbar-skeleton.js +6 -0
  208. package/dist/components/snk-taskbar-skeleton2.js +29 -0
  209. package/dist/components/snk-taskbar2.js +256 -176
  210. package/dist/components/snk-view-representation2.js +1 -1
  211. package/dist/components/sortable.esm.js +76 -90
  212. package/dist/components/taskbar-actions-button2.js +21 -2
  213. package/dist/components/taskbar-split-button2.js +10 -1
  214. package/dist/esm/{ConfigStorage-22324b6b.js → ConfigStorage-76872695.js} +19 -2
  215. package/dist/esm/ContinuousInsertUtils-bce77dc1.js +39 -0
  216. package/dist/esm/{DataFetcher-450828a0.js → DataFetcher-e60f8d53.js} +3 -2731
  217. package/dist/esm/{FormConfigHelper-e89ca25c.js → FormConfigHelper-d09669f3.js} +3 -1
  218. package/dist/esm/{ISave-61153166.js → ISave-4929c071.js} +1 -1
  219. package/dist/esm/ImageUtils-efbea0e4.js +138 -0
  220. package/dist/esm/{PersonalizedFilterUtils-2db38ff2.js → PersonalizedFilterUtils-d2439a9a.js} +13 -0
  221. package/dist/esm/{SnkFormConfigManager-b5a92e12.js → SnkFormConfigManager-83f6b22f.js} +5 -5
  222. package/dist/esm/SnkMessageBuilder-1eb7a1af.js +2831 -0
  223. package/dist/esm/{SnkMultiSelectionListDataSource-d7ce2e54.js → SnkMultiSelectionListDataSource-f6cabd15.js} +55 -41
  224. package/dist/esm/{auth-fetcher-eef9d01e.js → auth-fetcher-1a31c1e4.js} +1 -1
  225. package/dist/esm/config-header.entry.js +1 -1
  226. package/dist/esm/configs-button.entry.js +1 -1
  227. package/dist/esm/css-shim-9f2d321e.js +4 -0
  228. package/dist/esm/{dataunit-fetcher-da9596f6.js → dataunit-fetcher-c176e002.js} +65 -5
  229. package/dist/esm/dom-64053c71.js +73 -0
  230. package/dist/esm/field-config_2.entry.js +3 -3
  231. package/dist/esm/fields-layout.entry.js +6 -6
  232. package/dist/esm/fields-selector.entry.js +3 -3
  233. package/dist/esm/{form-config-fetcher-8d0a5e1c.js → form-config-fetcher-b44b2727.js} +19 -1
  234. package/dist/esm/guides-configurator.entry.js +3 -3
  235. package/dist/esm/{index-479e1293.js → index-04f73a26.js} +1521 -177
  236. package/dist/esm/{index-446f9341.js → index-ea250be6.js} +90 -21
  237. package/dist/esm/loader.js +17 -3
  238. package/dist/esm/pesquisa-grid_2.entry.js +6 -5
  239. package/dist/esm/sankhyablocks.js +133 -5
  240. package/dist/esm/shadow-css-98135883.js +387 -0
  241. package/dist/esm/snk-actions-button_9.entry.js +167 -117
  242. package/dist/esm/snk-actions-form.entry.js +1 -1
  243. package/dist/esm/snk-application.entry.js +28 -8
  244. package/dist/esm/snk-attach.entry.js +62 -24
  245. package/dist/esm/snk-client-confirm.entry.js +1 -1
  246. package/dist/esm/snk-configurator.entry.js +3 -1
  247. package/dist/esm/snk-crud.entry.js +342 -101
  248. package/dist/esm/snk-custom-slot-elements.entry.js +1 -1
  249. package/dist/esm/snk-custom-slot-guide.entry.js +36 -0
  250. package/dist/esm/snk-data-exporter.entry.js +9 -7
  251. package/dist/esm/{snk-data-unit-99616a07.js → snk-data-unit-d8cfa950.js} +12 -3
  252. package/dist/esm/snk-data-unit.entry.js +5 -4
  253. package/dist/esm/snk-default-filter.entry.js +1 -1
  254. package/dist/esm/snk-detail-view.entry.js +25 -18
  255. package/dist/esm/snk-entity-list.entry.js +1 -1
  256. package/dist/esm/snk-entity-search.entry.js +207 -0
  257. package/dist/esm/snk-exporter-email-sender.entry.js +2 -2
  258. package/dist/esm/snk-expression-group_2.entry.js +2 -2
  259. package/dist/esm/{snk-filter-advanced-mode_2.entry.js → snk-filter-advanced-mode_3.entry.js} +41 -4
  260. package/dist/esm/snk-filter-bar_4.entry.js +148 -95
  261. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  262. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  263. package/dist/esm/snk-filter-detail.entry.js +3 -3
  264. package/dist/esm/snk-filter-field-search_2.entry.js +2 -2
  265. package/dist/esm/snk-filter-modal-item.entry.js +5 -4
  266. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  267. package/dist/esm/snk-filter-number.entry.js +11 -7
  268. package/dist/esm/snk-filter-period.entry.js +14 -7
  269. package/dist/esm/snk-filter-search.entry.js +1 -1
  270. package/dist/esm/snk-filter-text.entry.js +2 -2
  271. package/dist/esm/snk-form-summary.entry.js +1 -1
  272. package/dist/esm/snk-form-view.entry.js +71 -9
  273. package/dist/esm/snk-form_2.entry.js +22 -11
  274. package/dist/esm/snk-grid.entry.js +73 -31
  275. package/dist/esm/{snk-guides-viewer-240de636.js → snk-guides-viewer-cc37535b.js} +79 -215
  276. package/dist/esm/snk-guides-viewer.entry.js +11 -18
  277. package/dist/esm/snk-image-input.entry.js +156 -0
  278. package/dist/esm/snk-layout-form-config.entry.js +68 -0
  279. package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
  280. package/dist/esm/snk-personalized-filter.entry.js +8 -7
  281. package/dist/esm/snk-pesquisa.entry.js +6 -6
  282. package/dist/esm/snk-print-selector.entry.js +1 -1
  283. package/dist/esm/snk-simple-crud.entry.js +28 -33
  284. package/dist/esm/snk-taskbar.entry.js +184 -127
  285. package/dist/esm/{sortable.esm-842f85a3.js → sortable.esm-bc277c12.js} +76 -90
  286. package/dist/esm/taskbar-elements-63651ca7.js +149 -0
  287. package/dist/esm/teste-pesquisa.entry.js +1 -1
  288. package/dist/sankhyablocks/{p-7f7fe6c4.entry.js → p-0a160fb5.entry.js} +1 -1
  289. package/dist/sankhyablocks/p-0afc64df.entry.js +1 -0
  290. package/dist/sankhyablocks/p-10f27dc6.entry.js +1 -0
  291. package/dist/sankhyablocks/p-134702f6.entry.js +1 -0
  292. package/dist/sankhyablocks/{p-162bddae.entry.js → p-175c9576.entry.js} +1 -1
  293. package/dist/sankhyablocks/p-20f03230.entry.js +1 -0
  294. package/dist/sankhyablocks/p-26f1919e.entry.js +1 -0
  295. package/dist/sankhyablocks/p-2af8aca3.js +1 -0
  296. package/dist/sankhyablocks/p-2c9d0870.js +2 -0
  297. package/dist/sankhyablocks/{p-cb4343c4.entry.js → p-2cc2526e.entry.js} +1 -1
  298. package/dist/sankhyablocks/{p-75af335e.entry.js → p-2ebda226.entry.js} +1 -1
  299. package/dist/sankhyablocks/p-3072136e.js +1 -0
  300. package/dist/sankhyablocks/p-33492640.entry.js +1 -0
  301. package/dist/sankhyablocks/{p-002d4d2b.js → p-3704bf1b.js} +1 -1
  302. package/dist/sankhyablocks/p-3870748a.js +28 -0
  303. package/dist/sankhyablocks/p-3a35917e.entry.js +1 -0
  304. package/dist/sankhyablocks/{p-7d6f1285.js → p-3c990841.js} +2 -2
  305. package/dist/sankhyablocks/{p-49ddc27a.entry.js → p-438a225f.entry.js} +1 -1
  306. package/dist/sankhyablocks/p-4d04bc75.entry.js +1 -0
  307. package/dist/sankhyablocks/{p-840fb68c.js → p-4f7adf97.js} +2 -2
  308. package/dist/sankhyablocks/p-554c0e54.js +1 -0
  309. package/dist/sankhyablocks/{p-27482793.entry.js → p-5aae5c74.entry.js} +1 -1
  310. package/dist/sankhyablocks/p-68c1a093.js +1 -0
  311. package/dist/sankhyablocks/p-6ae7543b.entry.js +1 -0
  312. package/dist/sankhyablocks/p-6e278003.js +60 -0
  313. package/dist/sankhyablocks/{p-825098c1.entry.js → p-752c57f4.entry.js} +1 -1
  314. package/dist/sankhyablocks/{p-e258de96.entry.js → p-76729994.entry.js} +1 -1
  315. package/dist/sankhyablocks/p-771b137e.js +1 -0
  316. package/dist/sankhyablocks/p-77f608bc.entry.js +1 -0
  317. package/dist/sankhyablocks/p-82bcb4cf.entry.js +1 -0
  318. package/dist/sankhyablocks/p-855ccf64.entry.js +1 -0
  319. package/dist/sankhyablocks/{p-118c221e.js → p-8b4d6719.js} +1 -1
  320. package/dist/sankhyablocks/{p-3d41f5a8.entry.js → p-8d946600.entry.js} +1 -1
  321. package/dist/sankhyablocks/p-8fe740b7.entry.js +11 -0
  322. package/dist/sankhyablocks/{p-96d45943.entry.js → p-90ae6c2e.entry.js} +1 -1
  323. package/dist/sankhyablocks/p-95af0bb1.entry.js +1 -0
  324. package/dist/sankhyablocks/p-95b36bd3.entry.js +1 -0
  325. package/dist/sankhyablocks/{p-0b9a42ad.entry.js → p-9742ea0e.entry.js} +1 -1
  326. package/dist/sankhyablocks/{p-2fdac5e6.entry.js → p-9e109f5e.entry.js} +1 -1
  327. package/dist/sankhyablocks/p-9e77e136.js +1 -0
  328. package/dist/sankhyablocks/p-9e7dc97d.entry.js +1 -0
  329. package/dist/sankhyablocks/p-a2a9f520.entry.js +1 -0
  330. package/dist/sankhyablocks/p-a46ac091.js +1 -0
  331. package/dist/sankhyablocks/p-a73b6b00.js +1 -0
  332. package/dist/sankhyablocks/p-a905712a.entry.js +1 -0
  333. package/dist/sankhyablocks/{p-92cfc028.js → p-ab5e12fa.js} +1 -1
  334. package/dist/sankhyablocks/{p-180716b2.entry.js → p-ae326d06.entry.js} +1 -1
  335. package/dist/sankhyablocks/p-af673291.js +1 -0
  336. package/dist/sankhyablocks/p-aff2d081.entry.js +1 -0
  337. package/dist/sankhyablocks/p-b0a357b4.entry.js +1 -0
  338. package/dist/sankhyablocks/p-b555ce38.entry.js +1 -0
  339. package/dist/sankhyablocks/p-bab4cde4.entry.js +1 -0
  340. package/dist/sankhyablocks/p-c3ec6642.js +19 -0
  341. package/dist/sankhyablocks/p-ca3728c0.entry.js +1 -0
  342. package/dist/sankhyablocks/p-cbb8e351.js +7 -0
  343. package/dist/sankhyablocks/{p-c3dbf441.entry.js → p-cc64239c.entry.js} +1 -1
  344. package/dist/sankhyablocks/{p-471b34f4.entry.js → p-cd00a3d1.entry.js} +1 -1
  345. package/dist/sankhyablocks/p-ce8ccd72.entry.js +1 -0
  346. package/dist/sankhyablocks/{p-4c763b10.entry.js → p-d657f71f.entry.js} +1 -1
  347. package/dist/sankhyablocks/p-d9ec8c4b.entry.js +1 -0
  348. package/dist/sankhyablocks/p-da455c82.js +12 -0
  349. package/dist/sankhyablocks/p-e5a3711f.js +1 -0
  350. package/dist/sankhyablocks/{p-9a63f3f7.entry.js → p-e737fd5a.entry.js} +1 -1
  351. package/dist/sankhyablocks/p-e8df1dea.entry.js +1 -0
  352. package/dist/sankhyablocks/p-ee56dda6.entry.js +1 -0
  353. package/dist/sankhyablocks/p-ef9343c3.entry.js +1 -0
  354. package/dist/sankhyablocks/{p-667cab42.entry.js → p-f152ef98.entry.js} +1 -1
  355. package/dist/sankhyablocks/p-f1bbf065.entry.js +1 -0
  356. package/dist/sankhyablocks/p-f5ad0720.js +1 -0
  357. package/dist/sankhyablocks/{p-7e250432.entry.js → p-f7170e10.entry.js} +1 -1
  358. package/dist/sankhyablocks/{p-7345782c.entry.js → p-f921270b.entry.js} +1 -1
  359. package/dist/sankhyablocks/p-fec88660.entry.js +1 -0
  360. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  361. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +4 -0
  362. package/dist/types/components/snk-application/snk-application.d.ts +1 -1
  363. package/dist/types/components/snk-attach/snk-attach.d.ts +22 -4
  364. package/dist/types/components/snk-crud/snk-crud.d.ts +33 -11
  365. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +2 -2
  366. package/dist/types/components/snk-crud/subcomponents/snk-entity-search.d.ts +62 -0
  367. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +12 -0
  368. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +13 -25
  369. package/dist/types/components/snk-crud/utils/taskbarUtils.d.ts +13 -0
  370. package/dist/types/components/snk-custom-slot-guide/snk-custom-slot-guide.d.ts +16 -0
  371. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -0
  372. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
  373. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +1 -1
  374. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +1 -0
  375. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +5 -1
  376. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +2 -1
  377. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +33 -16
  378. package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +1 -1
  379. package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +2 -2
  380. package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +1 -1
  381. package/dist/types/components/snk-form-config/snk-form-config.d.ts +2 -1
  382. package/dist/types/components/snk-grid/snk-grid.d.ts +30 -1
  383. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +11 -0
  384. package/dist/types/components/snk-image-input/snk-image-input.d.ts +57 -0
  385. package/dist/types/components/snk-image-input/utils/ImageUtils.d.ts +15 -0
  386. package/dist/types/components/snk-personalized-filter/interfaces/IParameter.d.ts +1 -0
  387. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +0 -1
  388. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -1
  389. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +6 -0
  390. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +29 -2
  391. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +5 -0
  392. package/dist/types/components/snk-taskbar/processor/simple-taskbar-processor.d.ts +31 -0
  393. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +32 -21
  394. package/dist/types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.d.ts +3 -0
  395. package/dist/types/components.d.ts +347 -5
  396. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -0
  397. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  398. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -1
  399. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -0
  400. package/dist/types/lib/http/data-fetcher/fetchers/resource-fetcher.d.ts +1 -0
  401. package/dist/types/lib/message/resources/en-us/snk-image-input.msg.d.ts +1 -0
  402. package/dist/types/lib/message/resources/es-es/snk-image-input.msg.d.ts +1 -0
  403. package/dist/types/lib/message/resources/pt-br/snk-image-input.msg.d.ts +1 -0
  404. package/package.json +7 -8
  405. package/react/components.d.ts +4 -0
  406. package/react/components.js +4 -0
  407. package/react/components.js.map +1 -1
  408. package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -45
  409. package/dist/cjs/taskbar-elements-fb5d1e08.js +0 -132
  410. package/dist/cjs/taskbar-processor-2fba34a8.js +0 -53
  411. package/dist/esm/snk-simple-bar.entry.js +0 -41
  412. package/dist/esm/taskbar-elements-faaf5d8f.js +0 -129
  413. package/dist/esm/taskbar-processor-3436124c.js +0 -51
  414. package/dist/sankhyablocks/p-093f58fa.entry.js +0 -1
  415. package/dist/sankhyablocks/p-0948dc0a.entry.js +0 -11
  416. package/dist/sankhyablocks/p-1a0caadb.js +0 -1
  417. package/dist/sankhyablocks/p-1a9c5684.entry.js +0 -1
  418. package/dist/sankhyablocks/p-1d589380.entry.js +0 -1
  419. package/dist/sankhyablocks/p-21107f0d.entry.js +0 -1
  420. package/dist/sankhyablocks/p-28f50632.js +0 -1
  421. package/dist/sankhyablocks/p-39be771c.js +0 -1
  422. package/dist/sankhyablocks/p-3ed04f0d.entry.js +0 -1
  423. package/dist/sankhyablocks/p-4963dd2a.entry.js +0 -1
  424. package/dist/sankhyablocks/p-51833248.js +0 -7
  425. package/dist/sankhyablocks/p-55798617.js +0 -1
  426. package/dist/sankhyablocks/p-55f6fef2.entry.js +0 -1
  427. package/dist/sankhyablocks/p-56f16390.entry.js +0 -1
  428. package/dist/sankhyablocks/p-58683e28.js +0 -60
  429. package/dist/sankhyablocks/p-5ea893c5.entry.js +0 -1
  430. package/dist/sankhyablocks/p-60dd1d27.entry.js +0 -1
  431. package/dist/sankhyablocks/p-62aef37a.js +0 -1
  432. package/dist/sankhyablocks/p-62e9b9b8.entry.js +0 -1
  433. package/dist/sankhyablocks/p-669bb869.entry.js +0 -1
  434. package/dist/sankhyablocks/p-6ee2ca7a.entry.js +0 -1
  435. package/dist/sankhyablocks/p-7cac3870.entry.js +0 -1
  436. package/dist/sankhyablocks/p-86e54841.entry.js +0 -1
  437. package/dist/sankhyablocks/p-88b337fe.entry.js +0 -1
  438. package/dist/sankhyablocks/p-91005a00.entry.js +0 -1
  439. package/dist/sankhyablocks/p-91a9abb6.entry.js +0 -1
  440. package/dist/sankhyablocks/p-988afe78.js +0 -1
  441. package/dist/sankhyablocks/p-ada013c0.entry.js +0 -1
  442. package/dist/sankhyablocks/p-b7e891cc.entry.js +0 -1
  443. package/dist/sankhyablocks/p-b987e15d.js +0 -1
  444. package/dist/sankhyablocks/p-c35fc941.js +0 -26
  445. package/dist/sankhyablocks/p-c4fcf1fb.entry.js +0 -1
  446. package/dist/sankhyablocks/p-c98c79c3.entry.js +0 -1
  447. package/dist/sankhyablocks/p-cadf4846.entry.js +0 -1
  448. package/dist/sankhyablocks/p-d8d8169b.js +0 -2
  449. package/dist/sankhyablocks/p-e91c3c57.entry.js +0 -1
  450. package/dist/sankhyablocks/p-ea729922.entry.js +0 -1
  451. package/dist/sankhyablocks/p-ec5fbad8.js +0 -1
  452. package/dist/sankhyablocks/p-f5e942b7.entry.js +0 -1
@@ -1,10 +1,11 @@
1
1
  import { DataUnitInMemoryLoader, ObjectUtils, DataUnit, ApplicationContext, StringUtils, UserInterface, DataUnitStorage, DataType, ChangeOperation } from '@sankhyalabs/core';
2
- import { D as DataFetcher, S as SnkMessageBuilder, d as dist } from './DataFetcher.js';
2
+ import { D as DataFetcher, d as dist } from './DataFetcher.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';
6
6
  import SortingUtils from '@sankhyalabs/core/dist/utils/SortingUtils';
7
7
  import { R as ResourceIDUtils } from './ResourceIDUtils.js';
8
+ import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
8
9
 
9
10
  class InMemoryLoader {
10
11
  constructor(metadata, records, config) {
@@ -163,6 +164,9 @@ class PreloadManager {
163
164
  const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
164
165
  filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
165
166
  }
167
+ if (onlyLabel) {
168
+ return Promise.resolve(this.compileDistinctByLabel(dataUnit, fieldName, filterFunction));
169
+ }
166
170
  return new Promise((accept, reject) => {
167
171
  PreloadManager.getRepository(dataUnit).distict(record => {
168
172
  if (filterFunction != undefined && !filterFunction(record)) {
@@ -173,9 +177,6 @@ class PreloadManager {
173
177
  return { key: null, value: null };
174
178
  }
175
179
  let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
176
- if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
177
- return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
178
- }
179
180
  return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
180
181
  })
181
182
  .then(result => {
@@ -188,6 +189,43 @@ class PreloadManager {
188
189
  .catch(reason => reject(reason));
189
190
  });
190
191
  }
192
+ static compileDistinctByLabel(dataUnit, fieldName, filterFunction) {
193
+ const groupedOptions = new Map();
194
+ const cachedRecords = PreloadManager.getRepository(dataUnit).getFromCache();
195
+ cachedRecords.forEach(record => {
196
+ if (filterFunction != undefined && !filterFunction(record)) {
197
+ return;
198
+ }
199
+ const fieldValue = record[fieldName];
200
+ if (fieldValue == undefined) {
201
+ const nullKey = '';
202
+ if (!groupedOptions.has(nullKey)) {
203
+ groupedOptions.set(nullKey, {
204
+ values: new Set([null]),
205
+ option: { label: null, value: null, check: true },
206
+ });
207
+ }
208
+ return;
209
+ }
210
+ const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
211
+ const label = (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) ? fieldValue.label : dataUnit.getFormattedValue(fieldName, fieldValue);
212
+ const key = String(label !== null && label !== void 0 ? label : '');
213
+ let grouped = groupedOptions.get(key);
214
+ if (!grouped) {
215
+ grouped = {
216
+ values: new Set(),
217
+ option: { label, value, check: true },
218
+ };
219
+ groupedOptions.set(key, grouped);
220
+ }
221
+ grouped.values.add(value);
222
+ });
223
+ return Array.from(groupedOptions.values()).map(grouped => {
224
+ const option = grouped.option;
225
+ option.__multiValues = Array.from(grouped.values.values());
226
+ return grouped.option;
227
+ });
228
+ }
191
229
  static async loadData(dataUnit, request, loadFromServer) {
192
230
  try {
193
231
  if (PreloadManager.isCacheEnabled(dataUnit)) {
@@ -919,7 +957,7 @@ class DataUnitFetcher {
919
957
  }
920
958
  metadata.fields.push(Object.assign(Object.assign({}, source), { properties }));
921
959
  });
922
- metadata.fields.sort((a, b) => a.order - b.order);
960
+ metadata.fields.sort((a, b) => this.sortFieldsByGroup(a, b));
923
961
  resolve(metadata);
924
962
  })
925
963
  .catch((error) => {
@@ -927,6 +965,28 @@ class DataUnitFetcher {
927
965
  });
928
966
  });
929
967
  }
968
+ // Os campos devem ser separados em dois grupos: campos da própria entidade e campos que representam ligação com outra entidade.
969
+ // Além do grupo, a ordenação deve respeitar o atributo "order" de cada campo.
970
+ // Para saber se é um campo de relação, verificamos se o nome contém '.' (ex: 'Parceiro.CODPAR').
971
+ sortFieldsByGroup(a, b) {
972
+ const aIsRelation = a.name.includes('.');
973
+ const bIsRelation = b.name.includes('.');
974
+ // Se um é relação e outro não, campos próprios vêm primeiro
975
+ if (aIsRelation !== bIsRelation) {
976
+ return aIsRelation ? 1 : -1;
977
+ }
978
+ // Se ambos são relações, ordena por nome da entidade primeiro
979
+ if (aIsRelation && bIsRelation) {
980
+ const aEntity = a.name.split('.')[0];
981
+ const bEntity = b.name.split('.')[0];
982
+ if (aEntity !== bEntity) {
983
+ return aEntity.localeCompare(bEntity);
984
+ }
985
+ }
986
+ // Dentro do mesmo grupo (próprios ou mesma entidade de relação), ordena por order
987
+ return a.order - b.order;
988
+ }
989
+ ;
930
990
  loadSelectDistinct(dataUnit, fieldName, argument) {
931
991
  const { parentRecordId, filters } = dataUnit.getLastLoadRequest() || {};
932
992
  const filteredFilters = filters.filter(f => f.name !== `${DISTINCT_FILTER_NAME_PREFIX}${fieldName}`);
@@ -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({
@@ -287,7 +289,7 @@ function buildFieldToSave(fieldConfig) {
287
289
  return fieldToSave;
288
290
  }
289
291
 
290
- 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}";
292
+ 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;justify-content:flex-end;gap:12px}";
291
293
 
292
294
  const FieldConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
293
295
  constructor() {
@@ -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
  }
@@ -18,6 +18,9 @@ class ResourceFetcher {
18
18
  resource
19
19
  }
20
20
  }`);
21
+ this.templateByQuery.set("deleteResource", dist.gql `mutation($name: String!) {
22
+ $queryAlias$: deleteResource(name: $name)
23
+ }`);
21
24
  }
22
25
  loadResource(name) {
23
26
  if (ResourceFetcher._loadingResource.has(name)) {
@@ -61,6 +64,21 @@ class ResourceFetcher {
61
64
  });
62
65
  });
63
66
  }
67
+ deleteResource(name) {
68
+ return new Promise((resolve, reject) => {
69
+ DataFetcher.get()
70
+ .callGraphQL({
71
+ values: { name },
72
+ query: this.templateByQuery.get("deleteResource")
73
+ })
74
+ .then(() => {
75
+ resolve();
76
+ })
77
+ .catch((error) => {
78
+ reject(error);
79
+ });
80
+ });
81
+ }
64
82
  }
65
83
  ResourceFetcher._loadingResource = new Map();
66
84
 
@@ -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{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() {
@@ -16,11 +16,13 @@ export { SnkActionsForm as SnkClientConfirm } from '../types/components/snk-acti
16
16
  export { SnkConfigurator as SnkConfigurator } from '../types/components/snk-configurator/snk-configurator';
17
17
  export { SnkCrud as SnkCrud } from '../types/components/snk-crud/snk-crud';
18
18
  export { SnkCustomSlotElements as SnkCustomSlotElements } from '../types/components/snk-custom-slot-elements/snk-custom-slot-elements';
19
+ export { SnkCustomSlotGuide as SnkCustomSlotGuide } from '../types/components/snk-custom-slot-guide/snk-custom-slot-guide';
19
20
  export { SnkDataExporter as SnkDataExporter } from '../types/components/snk-data-exporter/snk-data-exporter';
20
21
  export { SnkDataUnit as SnkDataUnit } from '../types/components/snk-data-unit/snk-data-unit';
21
22
  export { SnkDefaultFilter as SnkDefaultFilter } from '../types/components/snk-filter-bar/filter-modal/subcomponents/snk-default-filter/snk-default-filter';
22
23
  export { SnkDetailView as SnkDetailView } from '../types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view';
23
24
  export { SnkEntityList as SnkEntityList } from '../types/components/snk-entity-list/snk-entity-list';
25
+ export { SnkEntitySearch as SnkEntitySearch } from '../types/components/snk-crud/subcomponents/snk-entity-search';
24
26
  export { SnkExporterEmailSender as SnkExporterEmailSender } from '../types/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender';
25
27
  export { SnkExpressionGroup as SnkExpressionGroup } from '../types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group';
26
28
  export { SnkExpressionItem as SnkExpressionItem } from '../types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item';
@@ -48,6 +50,7 @@ export { SnkFormView as SnkFormView } from '../types/components/snk-crud/subcomp
48
50
  export { SnkGrid as SnkGrid } from '../types/components/snk-grid/snk-grid';
49
51
  export { SnkGridConfig as SnkGridConfig } from '../types/components/snk-grid-config/snk-grid-config';
50
52
  export { SnkGuidesViewer as SnkGuidesViewer } from '../types/components/snk-crud/subcomponents/snk-guides-viewer';
53
+ export { SnkImageInput as SnkImageInput } from '../types/components/snk-image-input/snk-image-input';
51
54
  export { SnkLayoutFormConfig as SnkLayoutFormConfig } from '../types/components/snk-layout-form-config/snk-layout-form-config';
52
55
  export { SnkNumberingConfig as SnkNumberingConfig } from '../types/components/snk-numbering-config/snk-numbering-config';
53
56
  export { SnkPersonalizedFilter as SnkPersonalizedFilter } from '../types/components/snk-personalized-filter/snk-personalized-filter';
@@ -59,6 +62,7 @@ export { SnkSimpleBar as SnkSimpleBar } from '../types/components/snk-simple-bar
59
62
  export { SnkSimpleCrud as SnkSimpleCrud } from '../types/components/snk-simple-crud/snk-simple-crud';
60
63
  export { SnkSimpleFormConfig as SnkSimpleFormConfig } from '../types/components/snk-simple-form-config/snk-simple-form-config';
61
64
  export { SnkTaskbar as SnkTaskbar } from '../types/components/snk-taskbar/snk-taskbar';
65
+ export { SnkTaskbarSkeleton as SnkTaskbarSkeleton } from '../types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton';
62
66
  export { SnkViewRepresentation as SnkViewRepresentation } from '../types/components/snk-layout-form-config/snk-view-representation/snk-view-representation';
63
67
  export { TaskbarActionsButton as TaskbarActionsButton } from '../types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button';
64
68
  export { TaskbarSplitButton as TaskbarSplitButton } from '../types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button';
@@ -16,11 +16,13 @@ export { SnkClientConfirm, defineCustomElement as defineCustomElementSnkClientCo
16
16
  export { SnkConfigurator, defineCustomElement as defineCustomElementSnkConfigurator } from './snk-configurator.js';
17
17
  export { SnkCrud, defineCustomElement as defineCustomElementSnkCrud } from './snk-crud.js';
18
18
  export { SnkCustomSlotElements, defineCustomElement as defineCustomElementSnkCustomSlotElements } from './snk-custom-slot-elements.js';
19
+ export { SnkCustomSlotGuide, defineCustomElement as defineCustomElementSnkCustomSlotGuide } from './snk-custom-slot-guide.js';
19
20
  export { SnkDataExporter, defineCustomElement as defineCustomElementSnkDataExporter } from './snk-data-exporter.js';
20
21
  export { SnkDataUnit, defineCustomElement as defineCustomElementSnkDataUnit } from './snk-data-unit.js';
21
22
  export { SnkDefaultFilter, defineCustomElement as defineCustomElementSnkDefaultFilter } from './snk-default-filter.js';
22
23
  export { SnkDetailView, defineCustomElement as defineCustomElementSnkDetailView } from './snk-detail-view.js';
23
24
  export { SnkEntityList, defineCustomElement as defineCustomElementSnkEntityList } from './snk-entity-list.js';
25
+ export { SnkEntitySearch, defineCustomElement as defineCustomElementSnkEntitySearch } from './snk-entity-search.js';
24
26
  export { SnkExporterEmailSender, defineCustomElement as defineCustomElementSnkExporterEmailSender } from './snk-exporter-email-sender.js';
25
27
  export { SnkExpressionGroup, defineCustomElement as defineCustomElementSnkExpressionGroup } from './snk-expression-group.js';
26
28
  export { SnkExpressionItem, defineCustomElement as defineCustomElementSnkExpressionItem } from './snk-expression-item.js';
@@ -48,6 +50,7 @@ export { SnkFormView, defineCustomElement as defineCustomElementSnkFormView } fr
48
50
  export { SnkGrid, defineCustomElement as defineCustomElementSnkGrid } from './snk-grid.js';
49
51
  export { SnkGridConfig, defineCustomElement as defineCustomElementSnkGridConfig } from './snk-grid-config.js';
50
52
  export { SnkGuidesViewer, defineCustomElement as defineCustomElementSnkGuidesViewer } from './snk-guides-viewer.js';
53
+ export { SnkImageInput, defineCustomElement as defineCustomElementSnkImageInput } from './snk-image-input.js';
51
54
  export { SnkLayoutFormConfig, defineCustomElement as defineCustomElementSnkLayoutFormConfig } from './snk-layout-form-config.js';
52
55
  export { SnkNumberingConfig, defineCustomElement as defineCustomElementSnkNumberingConfig } from './snk-numbering-config.js';
53
56
  export { SnkPersonalizedFilter, defineCustomElement as defineCustomElementSnkPersonalizedFilter } from './snk-personalized-filter.js';
@@ -59,6 +62,7 @@ export { SnkSimpleBar, defineCustomElement as defineCustomElementSnkSimpleBar }
59
62
  export { SnkSimpleCrud, defineCustomElement as defineCustomElementSnkSimpleCrud } from './snk-simple-crud.js';
60
63
  export { SnkSimpleFormConfig, defineCustomElement as defineCustomElementSnkSimpleFormConfig } from './snk-simple-form-config.js';
61
64
  export { SnkTaskbar, defineCustomElement as defineCustomElementSnkTaskbar } from './snk-taskbar.js';
65
+ export { SnkTaskbarSkeleton, defineCustomElement as defineCustomElementSnkTaskbarSkeleton } from './snk-taskbar-skeleton.js';
62
66
  export { SnkViewRepresentation, defineCustomElement as defineCustomElementSnkViewRepresentation } from './snk-view-representation.js';
63
67
  export { TaskbarActionsButton, defineCustomElement as defineCustomElementTaskbarActionsButton } from './taskbar-actions-button.js';
64
68
  export { TaskbarSplitButton, defineCustomElement as defineCustomElementTaskbarSplitButton } from './taskbar-split-button.js';
@@ -1,12 +1,13 @@
1
- import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
1
+ import * as StencilCore from '@stencil/core/internal/client';
2
2
 
3
3
  const appendToMap = (map, propName, value) => {
4
- const items = map.get(propName);
5
- if (!items) {
6
- map.set(propName, [value]);
4
+ let refs = map.get(propName);
5
+ if (!refs) {
6
+ refs = [];
7
+ map.set(propName, refs);
7
8
  }
8
- else if (!items.includes(value)) {
9
- items.push(value);
9
+ if (!refs.some((ref) => ref.deref() === value)) {
10
+ refs.push(new WeakRef(value));
10
11
  }
11
12
  };
12
13
  const debounce = (fn, ms) => {
@@ -34,33 +35,54 @@ const debounce = (fn, ms) => {
34
35
  const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
35
36
  const cleanupElements = debounce((map) => {
36
37
  for (let key of map.keys()) {
37
- map.set(key, map.get(key).filter(isConnected));
38
+ const refs = map.get(key).filter((ref) => {
39
+ const elm = ref.deref();
40
+ return elm && isConnected(elm);
41
+ });
42
+ map.set(key, refs);
38
43
  }
39
44
  }, 2_000);
45
+ const core = StencilCore;
46
+ const forceUpdate = core.forceUpdate;
47
+ const getRenderingRef = core.getRenderingRef;
40
48
  const stencilSubscription = () => {
41
- if (typeof getRenderingRef !== 'function') {
49
+ if (typeof getRenderingRef !== 'function' || typeof forceUpdate !== 'function') {
42
50
  // If we are not in a stencil project, we do nothing.
43
51
  // This function is not really exported by @stencil/core.
44
52
  return {};
45
53
  }
54
+ const ensureForceUpdate = forceUpdate;
55
+ const ensureGetRenderingRef = getRenderingRef;
46
56
  const elmsToUpdate = new Map();
47
57
  return {
48
58
  dispose: () => elmsToUpdate.clear(),
49
59
  get: (propName) => {
50
- const elm = getRenderingRef();
60
+ const elm = ensureGetRenderingRef();
51
61
  if (elm) {
52
62
  appendToMap(elmsToUpdate, propName, elm);
53
63
  }
54
64
  },
55
65
  set: (propName) => {
56
- const elements = elmsToUpdate.get(propName);
57
- if (elements) {
58
- elmsToUpdate.set(propName, elements.filter(forceUpdate));
66
+ const refs = elmsToUpdate.get(propName);
67
+ if (refs) {
68
+ const nextRefs = refs.filter((ref) => {
69
+ const elm = ref.deref();
70
+ if (!elm)
71
+ return false;
72
+ return ensureForceUpdate(elm);
73
+ });
74
+ elmsToUpdate.set(propName, nextRefs);
59
75
  }
60
76
  cleanupElements(elmsToUpdate);
61
77
  },
62
78
  reset: () => {
63
- elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
79
+ elmsToUpdate.forEach((refs) => {
80
+ refs.forEach((ref) => {
81
+ const elm = ref.deref();
82
+ if (elm)
83
+ ensureForceUpdate(elm);
84
+ });
85
+ });
64
86
  cleanupElements(elmsToUpdate);
65
87
  },
66
88
  };
@@ -68,8 +90,11 @@ const stencilSubscription = () => {
68
90
 
69
91
  const unwrap = (val) => (typeof val === 'function' ? val() : val);
70
92
  const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
71
- const unwrappedState = unwrap(defaultState);
72
- let states = new Map(Object.entries(unwrappedState ?? {}));
93
+ const resolveDefaultState = () => (unwrap(defaultState) ?? {});
94
+ const initialState = resolveDefaultState();
95
+ let states = new Map(Object.entries(initialState));
96
+ const proxyAvailable = typeof Proxy !== 'undefined';
97
+ const plainState = proxyAvailable ? null : {};
73
98
  const handlers = {
74
99
  dispose: [],
75
100
  get: [],
@@ -81,7 +106,10 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
81
106
  const reset = () => {
82
107
  // When resetting the state, the default state may be a function - unwrap it to invoke it.
83
108
  // otherwise, the state won't be properly reset
84
- states = new Map(Object.entries(unwrap(defaultState) ?? {}));
109
+ states = new Map(Object.entries(resolveDefaultState()));
110
+ if (!proxyAvailable) {
111
+ syncPlainStateKeys();
112
+ }
85
113
  handlers.reset.forEach((cb) => cb());
86
114
  };
87
115
  const dispose = () => {
@@ -98,12 +126,14 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
98
126
  const oldValue = states.get(propName);
99
127
  if (shouldUpdate(value, oldValue, propName)) {
100
128
  states.set(propName, value);
129
+ if (!proxyAvailable) {
130
+ ensurePlainProperty(propName);
131
+ }
101
132
  handlers.set.forEach((cb) => cb(propName, value, oldValue));
102
133
  }
103
134
  };
104
- const state = (typeof Proxy === 'undefined'
105
- ? {}
106
- : new Proxy(unwrappedState, {
135
+ const state = (proxyAvailable
136
+ ? new Proxy(initialState, {
107
137
  get(_, propName) {
108
138
  return get(propName);
109
139
  },
@@ -123,7 +153,11 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
123
153
  set(propName, value);
124
154
  return true;
125
155
  },
126
- }));
156
+ })
157
+ : (() => {
158
+ syncPlainStateKeys();
159
+ return plainState;
160
+ })());
127
161
  const on = (eventName, callback) => {
128
162
  handlers[eventName].push(callback);
129
163
  return () => {
@@ -136,7 +170,10 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
136
170
  cb(newValue);
137
171
  }
138
172
  };
139
- const resetHandler = () => cb(unwrap(defaultState)[propName]);
173
+ const resetHandler = () => {
174
+ const snapshot = resolveDefaultState();
175
+ cb(snapshot[propName]);
176
+ };
140
177
  // Register the handlers
141
178
  const unSet = on('set', setHandler);
142
179
  const unReset = on('reset', resetHandler);
@@ -179,6 +216,38 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
179
216
  changeListeners.delete(listener);
180
217
  }
181
218
  };
219
+ function ensurePlainProperty(key) {
220
+ if (proxyAvailable || !plainState) {
221
+ return;
222
+ }
223
+ if (Object.prototype.hasOwnProperty.call(plainState, key)) {
224
+ return;
225
+ }
226
+ Object.defineProperty(plainState, key, {
227
+ configurable: true,
228
+ enumerable: true,
229
+ get() {
230
+ return get(key);
231
+ },
232
+ set(value) {
233
+ set(key, value);
234
+ },
235
+ });
236
+ }
237
+ function syncPlainStateKeys() {
238
+ if (proxyAvailable || !plainState) {
239
+ return;
240
+ }
241
+ const knownKeys = new Set(states.keys());
242
+ for (const key of Object.keys(plainState)) {
243
+ if (!knownKeys.has(key)) {
244
+ delete plainState[key];
245
+ }
246
+ }
247
+ for (const key of knownKeys) {
248
+ ensurePlainProperty(key);
249
+ }
250
+ }
182
251
  return {
183
252
  state,
184
253
  get,
@@ -80,11 +80,14 @@ class LaunchScreenExecutor {
80
80
  localFieldLabel = StringUtils.isEmpty(dataUnit.getField(localField).label) ? localField : localFieldLabel;
81
81
  throw new ErrorException(this._application.messagesBuilder.getMessage("snkActionsButton.title.error", undefined), this._application.messagesBuilder.getMessage("snkActionsButton.launchScreen.emptyField", { description: action.description, localFieldLabel: localFieldLabel }));
82
82
  }
83
- value = StringUtils.isEmpty(value.toString()) ? undefined : value.toString();
84
- launchObject[param.targetField] = value;
83
+ if (value !== null && typeof value === 'object' && 'value' in value) {
84
+ value = value.value;
85
+ }
86
+ const finalValue = StringUtils.isEmpty(value === null || value === void 0 ? void 0 : value.toString()) ? undefined : value.toString();
87
+ launchObject[param.targetField] = finalValue;
85
88
  processedParams.push({
86
89
  fieldName: param.targetField,
87
- value: value
90
+ value: finalValue
88
91
  });
89
92
  });
90
93
  launchObject.ACTION_PARAMETERS = processedParams;
@@ -607,6 +610,7 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
607
610
  action.execute(Object.assign({}, selectedAction));
608
611
  this._showDropdown = false;
609
612
  };
613
+ this.size = 'medium';
610
614
  this._items = [];
611
615
  this._showDropdown = false;
612
616
  }
@@ -656,12 +660,13 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
656
660
  document.addEventListener("scroll", this.positionDropdown.bind(this));
657
661
  }
658
662
  async componentWillLoad() {
663
+ var _a, _b;
659
664
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
660
665
  await this.loadParameters();
661
666
  const snkDataUnit = this._element.parentElement;
662
667
  this._dataUnit = snkDataUnit === null || snkDataUnit === void 0 ? void 0 : snkDataUnit.dataUnit;
663
668
  this._resourceID = snkDataUnit === null || snkDataUnit === void 0 ? void 0 : snkDataUnit.resourceID;
664
- this._entityName = this._dataUnit.name.split('/')[2];
669
+ this._entityName = (_b = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.split('/')[2];
665
670
  if (this._resourceID == undefined) {
666
671
  this._resourceID = await ResourceIDUtils.getResourceID();
667
672
  }
@@ -701,9 +706,9 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
701
706
  }
702
707
  render() {
703
708
  return (h(Host, null, (this._actions && this._actions.length > 0) &&
704
- (h("div", { class: `ez-padding-left--medium snk-actions-button
709
+ (h("div", { class: `snk-actions-button
705
710
  ${this.canShowDropdown() ? " ez-elevation--16" : ""}
706
- ` }, h("ez-button", Object.assign({ ref: (ref) => this._ezButton = ref, iconName: "acao", size: "small", mode: "icon", title: this._application.messagesBuilder.getMessage("snkActionsButton.title.actions", undefined), onClick: () => this.controlDropdown() }, this.getElementID("button"))), h("div", Object.assign({ ref: (ref) => this._dropdownParent = ref, class: `${this.canShowDropdown() ?
711
+ ` }, h("ez-tooltip", { message: this._application.messagesBuilder.getMessage("snkActionsButton.title.actions", undefined) }, h("ez-button", Object.assign({ ref: (ref) => this._ezButton = ref, iconName: "acao", mode: "icon", onClick: () => this.controlDropdown(), size: this.size }, this.getElementID("button")))), h("div", Object.assign({ ref: (ref) => this._dropdownParent = ref, class: `${this.canShowDropdown() ?
707
712
  "snk-actions-button__dropdown--show" :
708
713
  "snk-actions-button__dropdown"}
709
714
  ` }, this.getElementID("dropdown")), (this.canShowDropdown()) &&
@@ -713,6 +718,7 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
713
718
  get _element() { return this; }
714
719
  static get style() { return snkActionsButtonCss; }
715
720
  }, [2, "snk-actions-button", {
721
+ "size": [1],
716
722
  "_items": [32],
717
723
  "_showDropdown": [32]
718
724
  }]);
@@ -2,10 +2,11 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { DateUtils, StringUtils, ObjectUtils, WaitingChangeException, SilentException, WarningException, ErrorException, ElementIDUtils, SearchUtils, ArrayUtils, KeyboardManager, OnboardingUtils, DependencyType, DataType, ApplicationContext, ErrorTracking, UserAgentUtils, LockManager, LockManagerOperation } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { C as ConfigStorage } from './ConfigStorage.js';
5
- import { d as dist, D as DataFetcher, U as UrlUtils, S as SnkMessageBuilder } from './DataFetcher.js';
5
+ import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher.js';
6
6
  import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher.js';
7
7
  import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher.js';
8
8
  import { a as PesquisaFetcher } from './ISave.js';
9
+ import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
9
10
  import { c as TEMPLATES_SKELETON } from './constants.js';
10
11
  import './filter-item-type.enum.js';
11
12
  import { F as FormConfigFetcher } from './form-config-fetcher.js';
@@ -274,6 +275,7 @@ class SnkErrorHandler {
274
275
  this._app.error(exception.title, exception.message);
275
276
  }
276
277
  else {
278
+ console.warn("Erro não tratado", exception);
277
279
  this._app.isDebugMode().then(isDebug => {
278
280
  if (isDebug) {
279
281
  if (exception instanceof Error) {
@@ -787,6 +789,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
787
789
  this._popUp.opened = true;
788
790
  this._popUp.heightMode = size;
789
791
  this._popUp.useHeader = useHeader;
792
+ this._popUp.autoClose = false;
790
793
  if (content.tagName === 'EZ-MODAL-CONTAINER') {
791
794
  this._popUp.useHeader = false;
792
795
  }
@@ -1387,12 +1390,29 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
1387
1390
  * @async
1388
1391
  */
1389
1392
  async executePreparedSearch(mode, argument, options) {
1393
+ var _a;
1390
1394
  const mdByName = {};
1391
1395
  const { entity, criteria, searchOptions, useSearchPlus } = options;
1392
1396
  if (useSearchPlus) {
1393
1397
  return executePreparedSearchPlus(mode, argument, options, this, this.pesquisaFetcher);
1394
1398
  }
1395
- if (mode === "ADVANCED") {
1399
+ if (mode === "LOAD_DESCRIPTION") {
1400
+ let result = await this.pesquisaFetcher.loadByCode(entity, argument, criteria, searchOptions);
1401
+ result = ObjectUtils.stringToObject(result.json.$);
1402
+ let descriptionField = result.descriptionField;
1403
+ const option = (_a = result.data) === null || _a === void 0 ? void 0 : _a[0];
1404
+ if (!option) {
1405
+ return {
1406
+ value: argument,
1407
+ label: ""
1408
+ };
1409
+ }
1410
+ return {
1411
+ value: argument,
1412
+ label: option[descriptionField]
1413
+ };
1414
+ }
1415
+ else if (mode === "ADVANCED") {
1396
1416
  return executeAdvancedModeSearch(argument, options, this, this.pesquisaFetcher);
1397
1417
  }
1398
1418
  return new Promise((resolve, reject) => {