@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-86600.1 → 0.0.0-bugfix-dev-5562683.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-a2753c93.js → ClientSideExporterProvider-a9ac4ced.js} +6 -6
  2. package/dist/cjs/{ConfigStorage-df09fb78.js → ConfigStorage-cdc3e499.js} +47 -19
  3. package/dist/cjs/{DataFetcher-1afdb18e.js → DataFetcher-73ecd756.js} +1 -1
  4. package/dist/cjs/FormConfigHelper-c664dbae.js +260 -0
  5. package/dist/cjs/{ISave-c76e2c51.js → ISave-14bf4a17.js} +1 -1
  6. package/dist/cjs/{PersonalizedFilterUtils-0184ffbb.js → PersonalizedFilterUtils-7259cf65.js} +1 -1
  7. package/dist/cjs/{SnkFormConfigManager-45a8d7b7.js → SnkFormConfigManager-ac1a9df7.js} +4 -5
  8. package/dist/cjs/{SnkMessageBuilder-aecd7c18.js → SnkMessageBuilder-221cc88d.js} +42 -8
  9. package/dist/cjs/{auth-fetcher-1687ac0a.js → auth-fetcher-aac507be.js} +1 -1
  10. package/dist/cjs/config-header.cjs.entry.js +79 -0
  11. package/dist/cjs/configs-button.cjs.entry.js +61 -0
  12. package/dist/cjs/{constants-77c1b8bd.js → constants-6d82e405.js} +8 -38
  13. package/dist/cjs/{dataunit-fetcher-a723f0dc.js → dataunit-fetcher-ed652ef5.js} +1 -1
  14. package/dist/cjs/default-filters-a09bf82b.js +8 -0
  15. package/dist/cjs/field-config_2.cjs.entry.js +324 -0
  16. package/dist/cjs/fields-layout.cjs.entry.js +341 -0
  17. package/dist/cjs/fields-selector.cjs.entry.js +74 -0
  18. package/dist/cjs/{filter-type.enum-b14ce507.js → filter-type.enum-2bb46d2a.js} +1 -0
  19. package/dist/cjs/{form-config-fetcher-40d3f752.js → form-config-fetcher-2be34347.js} +1 -1
  20. package/dist/cjs/guides-configurator.cjs.entry.js +164 -0
  21. package/dist/cjs/{index-ab1cfb44.js → index-0ad2baeb.js} +1 -1
  22. package/dist/cjs/{index-f9e81701.js → index-1cf293c1.js} +34 -12
  23. package/dist/cjs/{index-c5771aba.js → index-62760a9c.js} +5 -0
  24. package/dist/cjs/loader.cjs.js +2 -2
  25. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +8 -8
  26. package/dist/cjs/sankhyablocks.cjs.js +2 -2
  27. package/dist/cjs/{snk-actions-button_7.cjs.entry.js → snk-actions-button_8.cjs.entry.js} +124 -204
  28. package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-application.cjs.entry.js +13 -13
  30. package/dist/cjs/snk-attach.cjs.entry.js +52 -23
  31. package/dist/cjs/snk-client-confirm.cjs.entry.js +1 -1
  32. package/dist/cjs/snk-configurator.cjs.entry.js +2 -2
  33. package/dist/cjs/snk-crud.cjs.entry.js +11 -35
  34. package/dist/cjs/snk-custom-slot-elements.cjs.entry.js +1 -1
  35. package/dist/cjs/snk-data-exporter.cjs.entry.js +8 -8
  36. package/dist/cjs/{snk-data-unit-ebfdb9ba.js → snk-data-unit-23fb8852.js} +3 -3
  37. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  38. package/dist/cjs/snk-default-filter.cjs.entry.js +77 -0
  39. package/dist/cjs/snk-detail-view.cjs.entry.js +66 -14
  40. package/dist/cjs/snk-entity-list.cjs.entry.js +3 -8
  41. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  42. package/dist/cjs/snk-expression-group_2.cjs.entry.js +10 -8
  43. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +5 -4
  44. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +86 -32
  45. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  47. package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
  48. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +3 -3
  49. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -5
  50. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  51. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  52. package/dist/cjs/snk-filter-period.cjs.entry.js +1 -1
  53. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  54. package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
  55. package/dist/cjs/snk-form-summary.cjs.entry.js +1 -1
  56. package/dist/cjs/snk-form-view.cjs.entry.js +20 -8
  57. package/dist/cjs/snk-form_2.cjs.entry.js +433 -0
  58. package/dist/cjs/snk-grid.cjs.entry.js +36 -35
  59. package/dist/cjs/{snk-guides-viewer-401c4854.js → snk-guides-viewer-39f1c38d.js} +43 -31
  60. package/dist/cjs/snk-guides-viewer.cjs.entry.js +13 -12
  61. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
  62. package/dist/cjs/snk-personalized-filter.cjs.entry.js +55 -20
  63. package/dist/cjs/snk-pesquisa.cjs.entry.js +13 -7
  64. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  65. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  66. package/dist/cjs/snk-simple-crud.cjs.entry.js +83 -95
  67. package/dist/cjs/snk-taskbar.cjs.entry.js +9 -5
  68. package/dist/cjs/sortable.esm-9a110bb7.js +2668 -0
  69. package/dist/cjs/{taskbar-elements-21f0370c.js → taskbar-elements-3b74cd21.js} +10 -2
  70. package/dist/cjs/{field-search-68e34bf4.js → taskbar-processor-2fba34a8.js} +0 -35
  71. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  72. package/dist/collection/collection-manifest.json +9 -14
  73. package/dist/collection/components/snk-application/snk-application.js +4 -4
  74. package/dist/collection/components/snk-attach/snk-attach.js +27 -1
  75. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +17 -13
  76. package/dist/collection/components/snk-crud/snk-crud.js +21 -45
  77. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +58 -4
  78. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
  79. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +36 -40
  80. package/dist/collection/components/snk-entity-list/snk-entity-list.js +2 -7
  81. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +1 -1
  82. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +80 -12
  83. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-default-filter/snk-default-filter.css +34 -0
  84. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-default-filter/snk-default-filter.js +142 -0
  85. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -0
  86. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +24 -15
  87. package/dist/collection/components/snk-filter-bar/types/default-filters.js +6 -0
  88. package/dist/collection/components/snk-filter-bar/types/filter-type.enum.js +1 -0
  89. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +4 -4
  90. package/dist/collection/components/snk-form-config/FormConfigHelper.js +245 -0
  91. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +4 -5
  92. package/dist/collection/components/snk-form-config/config-header/config-header.css +18 -0
  93. package/dist/collection/components/snk-form-config/config-header/config-header.js +236 -0
  94. package/dist/collection/components/snk-form-config/config-header/configs-button/configs-button.css +41 -0
  95. package/dist/collection/components/snk-form-config/config-header/configs-button/configs-button.js +170 -0
  96. package/dist/collection/components/snk-form-config/field-item/field-config/field-config.css +21 -0
  97. package/dist/collection/components/snk-form-config/field-item/field-config/field-config.js +408 -0
  98. package/dist/collection/components/snk-form-config/field-item/field-item.css +88 -0
  99. package/dist/collection/components/snk-form-config/field-item/field-item.js +206 -0
  100. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.css +125 -0
  101. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.js +578 -0
  102. package/dist/collection/components/snk-form-config/fields-selector/fields-selector.css +42 -0
  103. package/dist/collection/components/snk-form-config/fields-selector/fields-selector.js +146 -0
  104. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +132 -0
  105. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +317 -0
  106. package/dist/collection/components/snk-form-config/snk-form-config.css +16 -229
  107. package/dist/collection/components/snk-form-config/snk-form-config.js +288 -980
  108. package/dist/collection/components/snk-grid/snk-grid.css +1 -0
  109. package/dist/collection/components/snk-grid/snk-grid.js +97 -43
  110. package/dist/collection/components/snk-grid-config/snk-grid-config.css +7 -41
  111. package/dist/collection/components/snk-grid-config/snk-grid-config.js +58 -193
  112. package/dist/collection/components/snk-grid-config/snk-select-box/snk-select-box.css +1 -0
  113. package/dist/collection/components/snk-personalized-filter/interfaces/index.js +5 -0
  114. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +67 -13
  115. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.css +3 -0
  116. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +20 -1
  117. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +22 -3
  118. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.js +20 -1
  119. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +2 -2
  120. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +9 -2
  121. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +75 -85
  122. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +1 -0
  123. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +1 -1
  124. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +8 -0
  125. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
  127. package/dist/collection/components/snk-taskbar/snk-taskbar.js +28 -2
  128. package/dist/collection/lib/configs/ConfigStorage.js +16 -8
  129. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +1 -1
  130. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +29 -9
  131. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -1
  132. package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +6 -0
  133. package/dist/collection/lib/message/resources/snk-form.msg.js +16 -2
  134. package/dist/collection/lib/message/resources/snk-grid.msg.js +11 -3
  135. package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +6 -1
  136. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +2 -1
  137. package/dist/collection/lib/utils/constants.js +7 -1
  138. package/dist/components/ConfigStorage.js +45 -17
  139. package/dist/components/ContinuousInsertUtils.js +2 -33
  140. package/dist/components/DataFetcher.js +1 -1
  141. package/dist/components/PersonalizedFilterUtils.js +6 -1
  142. package/dist/components/SnkFormConfigManager.js +2 -3
  143. package/dist/components/SnkMessageBuilder.js +42 -8
  144. package/dist/components/{snk-tab-config.d.ts → config-header.d.ts} +4 -4
  145. package/dist/components/config-header.js +6 -0
  146. package/dist/components/config-header2.js +103 -0
  147. package/dist/components/configs-button.d.ts +11 -0
  148. package/dist/components/configs-button.js +6 -0
  149. package/dist/components/configs-button2.js +76 -0
  150. package/dist/components/constants.js +8 -34
  151. package/dist/components/field-config.d.ts +11 -0
  152. package/dist/components/field-config.js +6 -0
  153. package/dist/components/field-config2.js +525 -0
  154. package/dist/components/field-item.d.ts +11 -0
  155. package/dist/components/field-item.js +6 -0
  156. package/dist/components/field-item2.js +93 -0
  157. package/dist/components/fields-layout.d.ts +11 -0
  158. package/dist/components/fields-layout.js +6 -0
  159. package/dist/components/fields-layout2.js +370 -0
  160. package/dist/components/{snk-field-config.d.ts → fields-selector.d.ts} +4 -4
  161. package/dist/components/fields-selector.js +6 -0
  162. package/dist/components/fields-selector2.js +98 -0
  163. package/dist/components/guides-configurator.d.ts +11 -0
  164. package/dist/components/guides-configurator.js +6 -0
  165. package/dist/components/guides-configurator2.js +182 -0
  166. package/dist/components/index.d.ts +9 -3
  167. package/dist/components/index.js +9 -3
  168. package/dist/components/pesquisa-grid2.js +2 -2
  169. package/dist/components/snk-application2.js +5 -5
  170. package/dist/components/snk-attach2.js +77 -42
  171. package/dist/components/snk-crud.js +65 -59
  172. package/dist/components/{snk-config-options.d.ts → snk-default-filter.d.ts} +4 -4
  173. package/dist/components/snk-default-filter.js +6 -0
  174. package/dist/components/snk-default-filter2.js +97 -0
  175. package/dist/components/snk-detail-view2.js +168 -68
  176. package/dist/components/snk-entity-list.js +2 -7
  177. package/dist/components/snk-expression-group2.js +4 -2
  178. package/dist/components/snk-expression-item2.js +5 -3
  179. package/dist/components/snk-filter-assistent-mode2.js +4 -2
  180. package/dist/components/snk-filter-bar2.js +30 -21
  181. package/dist/components/snk-filter-modal-item2.js +1 -0
  182. package/dist/components/snk-filter-modal.js +59 -8
  183. package/dist/components/snk-form-config2.js +253 -953
  184. package/dist/components/snk-form-view2.js +22 -8
  185. package/dist/components/snk-form.js +33 -9
  186. package/dist/components/snk-grid-config2.js +56 -195
  187. package/dist/components/snk-grid2.js +71 -61
  188. package/dist/components/snk-personalized-filter2.js +50 -14
  189. package/dist/components/snk-pesquisa2.js +9 -2
  190. package/dist/components/snk-select-box2.js +1 -1
  191. package/dist/components/snk-simple-crud2.js +104 -109
  192. package/dist/components/snk-simple-form-config2.js +2 -2
  193. package/dist/components/snk-taskbar2.js +29 -10
  194. package/dist/components/sortable.esm.js +2666 -0
  195. package/dist/components/taskbar-split-button.d.ts +11 -0
  196. package/dist/components/taskbar-split-button.js +6 -0
  197. package/dist/components/taskbar-split-button2.js +87 -0
  198. package/dist/esm/{ClientSideExporterProvider-b3871edb.js → ClientSideExporterProvider-d9e1f06a.js} +6 -6
  199. package/dist/esm/{ConfigStorage-71e6766f.js → ConfigStorage-523106df.js} +47 -19
  200. package/dist/esm/{DataFetcher-88e56266.js → DataFetcher-7d1d7572.js} +1 -1
  201. package/dist/esm/FormConfigHelper-49fe72ca.js +248 -0
  202. package/dist/esm/{ISave-5efafc97.js → ISave-be72330c.js} +1 -1
  203. package/dist/esm/{PersonalizedFilterUtils-e2b38ef7.js → PersonalizedFilterUtils-2db38ff2.js} +1 -1
  204. package/dist/esm/{SnkFormConfigManager-be490a33.js → SnkFormConfigManager-34540c46.js} +4 -5
  205. package/dist/esm/{SnkMessageBuilder-12f5fe1a.js → SnkMessageBuilder-da87a821.js} +42 -8
  206. package/dist/esm/{auth-fetcher-3510520e.js → auth-fetcher-c17e8322.js} +1 -1
  207. package/dist/esm/config-header.entry.js +75 -0
  208. package/dist/esm/configs-button.entry.js +57 -0
  209. package/dist/esm/{constants-7db1128a.js → constants-7b422de0.js} +8 -34
  210. package/dist/esm/{dataunit-fetcher-0e025732.js → dataunit-fetcher-020f7b9c.js} +1 -1
  211. package/dist/esm/default-filters-50105e43.js +8 -0
  212. package/dist/esm/field-config_2.entry.js +319 -0
  213. package/dist/esm/fields-layout.entry.js +337 -0
  214. package/dist/esm/fields-selector.entry.js +70 -0
  215. package/dist/esm/{filter-type.enum-a80c1b6b.js → filter-type.enum-f6a8fe23.js} +1 -0
  216. package/dist/esm/{form-config-fetcher-fa208a6c.js → form-config-fetcher-b0ef1639.js} +1 -1
  217. package/dist/esm/guides-configurator.entry.js +160 -0
  218. package/dist/esm/{index-a7d3d3f1.js → index-479e1293.js} +34 -12
  219. package/dist/esm/{index-ae591a44.js → index-8acbae97.js} +6 -1
  220. package/dist/esm/{index-c57e49af.js → index-b72af127.js} +1 -1
  221. package/dist/esm/loader.js +3 -3
  222. package/dist/esm/pesquisa-grid_2.entry.js +8 -8
  223. package/dist/esm/sankhyablocks.js +3 -3
  224. package/dist/esm/{snk-actions-button_7.entry.js → snk-actions-button_8.entry.js} +124 -205
  225. package/dist/esm/snk-actions-form.entry.js +1 -1
  226. package/dist/esm/snk-application.entry.js +13 -13
  227. package/dist/esm/snk-attach.entry.js +52 -23
  228. package/dist/esm/snk-client-confirm.entry.js +1 -1
  229. package/dist/esm/snk-configurator.entry.js +2 -2
  230. package/dist/esm/snk-crud.entry.js +12 -36
  231. package/dist/esm/snk-custom-slot-elements.entry.js +1 -1
  232. package/dist/esm/snk-data-exporter.entry.js +8 -8
  233. package/dist/esm/{snk-data-unit-03654813.js → snk-data-unit-3df26dac.js} +3 -3
  234. package/dist/esm/snk-data-unit.entry.js +5 -5
  235. package/dist/esm/snk-default-filter.entry.js +73 -0
  236. package/dist/esm/snk-detail-view.entry.js +67 -15
  237. package/dist/esm/snk-entity-list.entry.js +3 -8
  238. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  239. package/dist/esm/snk-expression-group_2.entry.js +10 -8
  240. package/dist/esm/snk-filter-advanced-mode_2.entry.js +5 -4
  241. package/dist/esm/snk-filter-bar_4.entry.js +86 -32
  242. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  243. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  244. package/dist/esm/snk-filter-detail.entry.js +3 -3
  245. package/dist/esm/snk-filter-field-search_2.entry.js +3 -3
  246. package/dist/esm/snk-filter-modal-item.entry.js +5 -5
  247. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  248. package/dist/esm/snk-filter-number.entry.js +1 -1
  249. package/dist/esm/snk-filter-period.entry.js +1 -1
  250. package/dist/esm/snk-filter-search.entry.js +1 -1
  251. package/dist/esm/snk-filter-text.entry.js +1 -1
  252. package/dist/esm/snk-form-summary.entry.js +1 -1
  253. package/dist/esm/snk-form-view.entry.js +20 -8
  254. package/dist/esm/snk-form_2.entry.js +428 -0
  255. package/dist/esm/snk-grid.entry.js +34 -33
  256. package/dist/esm/{snk-guides-viewer-e17ff4ec.js → snk-guides-viewer-f4ca46e4.js} +43 -31
  257. package/dist/esm/snk-guides-viewer.entry.js +13 -12
  258. package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
  259. package/dist/esm/snk-personalized-filter.entry.js +55 -20
  260. package/dist/esm/snk-pesquisa.entry.js +13 -7
  261. package/dist/esm/snk-print-selector.entry.js +1 -1
  262. package/dist/esm/snk-simple-bar.entry.js +1 -1
  263. package/dist/esm/snk-simple-crud.entry.js +84 -96
  264. package/dist/esm/snk-taskbar.entry.js +9 -5
  265. package/dist/esm/sortable.esm-842f85a3.js +2666 -0
  266. package/dist/esm/{taskbar-elements-08cf25e8.js → taskbar-elements-171476d4.js} +10 -2
  267. package/dist/esm/{field-search-f8b1d91e.js → taskbar-processor-3436124c.js} +1 -34
  268. package/dist/esm/teste-pesquisa.entry.js +1 -1
  269. package/dist/sankhyablocks/p-0024d3fd.entry.js +1 -0
  270. package/dist/sankhyablocks/p-0e28ff4b.entry.js +1 -0
  271. package/dist/sankhyablocks/{p-9531fd46.entry.js → p-180716b2.entry.js} +1 -1
  272. package/dist/sankhyablocks/p-1a0caadb.js +1 -0
  273. package/dist/sankhyablocks/p-1ef1c728.js +56 -0
  274. package/dist/sankhyablocks/p-21107f0d.entry.js +1 -0
  275. package/dist/sankhyablocks/p-23b20add.entry.js +1 -0
  276. package/dist/sankhyablocks/p-25ce2f4e.entry.js +1 -0
  277. package/dist/sankhyablocks/{p-118e769b.entry.js → p-27482793.entry.js} +1 -1
  278. package/dist/sankhyablocks/{p-ad07f0c5.entry.js → p-2d71bfcb.entry.js} +1 -1
  279. package/dist/sankhyablocks/{p-26b0ce3e.entry.js → p-2fdac5e6.entry.js} +1 -1
  280. package/dist/sankhyablocks/p-35e73c5d.js +1 -0
  281. package/dist/sankhyablocks/{p-89c92727.entry.js → p-398cdd67.entry.js} +1 -1
  282. package/dist/sankhyablocks/{p-434817f0.entry.js → p-3d41f5a8.entry.js} +1 -1
  283. package/dist/sankhyablocks/{p-8002dcd0.entry.js → p-471b34f4.entry.js} +1 -1
  284. package/dist/sankhyablocks/{p-fbba7e3d.js → p-485e7917.js} +1 -1
  285. package/dist/sankhyablocks/p-49d644f3.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-7e2ded86.entry.js → p-49d968e2.entry.js} +1 -1
  287. package/dist/sankhyablocks/{p-f4d5bb7f.js → p-4c699e80.js} +1 -1
  288. package/dist/sankhyablocks/p-4d2ff2fb.entry.js +1 -0
  289. package/dist/sankhyablocks/{p-885802c3.js → p-511341c0.js} +1 -1
  290. package/dist/sankhyablocks/p-51833248.js +7 -0
  291. package/dist/sankhyablocks/{p-6dd38d7b.js → p-53be2cfb.js} +1 -1
  292. package/dist/sankhyablocks/{p-4a93daef.entry.js → p-5661a96e.entry.js} +1 -1
  293. package/dist/sankhyablocks/{p-165cde3b.entry.js → p-59e84644.entry.js} +1 -1
  294. package/dist/sankhyablocks/p-60dd1d27.entry.js +1 -0
  295. package/dist/sankhyablocks/{p-21a81901.entry.js → p-667cab42.entry.js} +1 -1
  296. package/dist/sankhyablocks/p-6a4b21dd.js +1 -0
  297. package/dist/sankhyablocks/p-71a05822.entry.js +1 -0
  298. package/dist/sankhyablocks/p-72c8c847.entry.js +1 -0
  299. package/dist/sankhyablocks/{p-ac8d1cd6.entry.js → p-7345782c.entry.js} +1 -1
  300. package/dist/sankhyablocks/p-7ced2cf4.entry.js +1 -0
  301. package/dist/sankhyablocks/p-7d0012a4.entry.js +1 -0
  302. package/dist/sankhyablocks/p-7de79adf.js +1 -0
  303. package/dist/sankhyablocks/p-7e250432.entry.js +1 -0
  304. package/dist/sankhyablocks/{p-2c08fa3e.entry.js → p-80b15a59.entry.js} +3 -3
  305. package/dist/sankhyablocks/p-8331fc49.js +1 -0
  306. package/dist/sankhyablocks/{p-47178038.entry.js → p-83c100f2.entry.js} +1 -1
  307. package/dist/sankhyablocks/p-84345e7a.js +1 -0
  308. package/dist/sankhyablocks/p-86bd4478.entry.js +1 -0
  309. package/dist/sankhyablocks/p-9019a32f.js +1 -0
  310. package/dist/sankhyablocks/{p-54a5d52a.entry.js → p-90805683.entry.js} +1 -1
  311. package/dist/sankhyablocks/{p-c2e468c9.entry.js → p-91a9abb6.entry.js} +1 -1
  312. package/dist/sankhyablocks/p-91d8a5bc.entry.js +1 -0
  313. package/dist/sankhyablocks/p-93475700.js +1 -0
  314. package/dist/sankhyablocks/{p-057fad05.js → p-988afe78.js} +1 -1
  315. package/dist/sankhyablocks/{p-16a1dd18.entry.js → p-9a63f3f7.entry.js} +1 -1
  316. package/dist/sankhyablocks/{p-90684a75.entry.js → p-9ad3557c.entry.js} +1 -1
  317. package/dist/sankhyablocks/{p-b6200d32.entry.js → p-9fd87bfd.entry.js} +1 -1
  318. package/dist/sankhyablocks/{p-5e9fbd76.js → p-a349689a.js} +1 -1
  319. package/dist/sankhyablocks/{p-8c235d4c.entry.js → p-a76e6d51.entry.js} +1 -1
  320. package/dist/sankhyablocks/p-ab3f6efe.js +1 -0
  321. package/dist/sankhyablocks/p-b30f68dd.entry.js +1 -0
  322. package/dist/sankhyablocks/p-b568c1d4.js +1 -0
  323. package/dist/sankhyablocks/p-ba31c931.entry.js +1 -0
  324. package/dist/sankhyablocks/{p-bf2acf72.entry.js → p-c6a8a8bc.entry.js} +1 -1
  325. package/dist/sankhyablocks/p-cc06aaa3.entry.js +1 -0
  326. package/dist/sankhyablocks/p-cfc219f6.entry.js +1 -0
  327. package/dist/sankhyablocks/p-d3d125bc.entry.js +1 -0
  328. package/dist/sankhyablocks/{p-7993b2e3.js → p-d4ba9239.js} +1 -1
  329. package/dist/sankhyablocks/{p-79f823f3.entry.js → p-d67526b6.entry.js} +1 -1
  330. package/dist/sankhyablocks/p-d7fcf327.entry.js +1 -0
  331. package/dist/sankhyablocks/{p-d2d301a6.js → p-d8d8169b.js} +1 -1
  332. package/dist/sankhyablocks/{p-5f157b09.entry.js → p-dff65083.entry.js} +1 -1
  333. package/dist/sankhyablocks/{p-33718dfc.entry.js → p-e824d565.entry.js} +1 -1
  334. package/dist/sankhyablocks/p-e8dca0ba.entry.js +1 -0
  335. package/dist/sankhyablocks/p-ebfc0c98.entry.js +1 -0
  336. package/dist/sankhyablocks/{p-601b252b.js → p-f3e60dd1.js} +1 -1
  337. package/dist/sankhyablocks/p-fc4eac32.js +1 -0
  338. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  339. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  340. package/dist/types/components/snk-crud/snk-crud.d.ts +4 -7
  341. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +12 -0
  342. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
  343. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -6
  344. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +16 -4
  345. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-default-filter/snk-default-filter.d.ts +27 -0
  346. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -3
  347. package/dist/types/components/snk-filter-bar/types/default-filters.d.ts +5 -0
  348. package/dist/types/components/snk-filter-bar/types/filter-type.enum.d.ts +2 -1
  349. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -3
  350. package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +31 -0
  351. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +3 -3
  352. package/dist/types/components/snk-form-config/config-header/config-header.d.ts +23 -0
  353. package/dist/types/components/snk-form-config/config-header/configs-button/configs-button.d.ts +19 -0
  354. package/dist/types/components/snk-form-config/field-item/field-config/field-config.d.ts +56 -0
  355. package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +63 -0
  356. package/dist/types/components/snk-form-config/fields-selector/fields-selector.d.ts +18 -0
  357. package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +42 -0
  358. package/dist/types/components/snk-form-config/snk-form-config.d.ts +51 -120
  359. package/dist/types/components/snk-grid/snk-grid.d.ts +21 -7
  360. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +7 -20
  361. package/dist/types/components/snk-personalized-filter/interfaces/index.d.ts +4 -0
  362. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +7 -1
  363. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.d.ts +4 -0
  364. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +4 -0
  365. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.d.ts +4 -0
  366. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +1 -0
  367. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +10 -10
  368. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
  369. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +5 -0
  370. package/dist/types/components.d.ts +407 -211
  371. package/dist/types/lib/configs/ConfigStorage.d.ts +4 -2
  372. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +8 -4
  373. package/dist/types/lib/utils/constants.d.ts +6 -0
  374. package/package.json +8 -6
  375. package/react/components.d.ts +9 -3
  376. package/react/components.js +9 -3
  377. package/react/components.js.map +1 -1
  378. package/dist/cjs/Sortable-fb1c4cbb.js +0 -2853
  379. package/dist/cjs/snk-config-options_3.cjs.entry.js +0 -1390
  380. package/dist/cjs/snk-field-config.cjs.entry.js +0 -60
  381. package/dist/cjs/snk-tab-config.cjs.entry.js +0 -332
  382. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.css +0 -16
  383. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +0 -346
  384. package/dist/collection/components/snk-form-config/subcomponents/snk-field-config/snk-field-config.css +0 -219
  385. package/dist/collection/components/snk-form-config/subcomponents/snk-field-config/snk-field-config.js +0 -184
  386. package/dist/collection/components/snk-form-config/subcomponents/snk-tab-config/snk-tab-config.css +0 -323
  387. package/dist/collection/components/snk-form-config/subcomponents/snk-tab-config/snk-tab-config.js +0 -527
  388. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
  389. package/dist/components/snk-config-options.js +0 -6
  390. package/dist/components/snk-config-options2.js +0 -257
  391. package/dist/components/snk-field-config.js +0 -6
  392. package/dist/components/snk-field-config2.js +0 -76
  393. package/dist/components/snk-tab-config.js +0 -6
  394. package/dist/components/snk-tab-config2.js +0 -3202
  395. package/dist/esm/Sortable-83960219.js +0 -2851
  396. package/dist/esm/snk-config-options_3.entry.js +0 -1384
  397. package/dist/esm/snk-field-config.entry.js +0 -56
  398. package/dist/esm/snk-tab-config.entry.js +0 -328
  399. package/dist/sankhyablocks/p-03b68a74.js +0 -56
  400. package/dist/sankhyablocks/p-1db45d26.entry.js +0 -1
  401. package/dist/sankhyablocks/p-1ee379ce.entry.js +0 -1
  402. package/dist/sankhyablocks/p-23736d75.js +0 -1
  403. package/dist/sankhyablocks/p-3749dffb.entry.js +0 -1
  404. package/dist/sankhyablocks/p-3ab6df3d.entry.js +0 -1
  405. package/dist/sankhyablocks/p-3c9794dc.entry.js +0 -1
  406. package/dist/sankhyablocks/p-42dd1346.js +0 -1
  407. package/dist/sankhyablocks/p-5ffa0493.entry.js +0 -1
  408. package/dist/sankhyablocks/p-60137b7a.entry.js +0 -1
  409. package/dist/sankhyablocks/p-6a0c8ce0.entry.js +0 -1
  410. package/dist/sankhyablocks/p-73285a8a.js +0 -1
  411. package/dist/sankhyablocks/p-7b920eb8.entry.js +0 -1
  412. package/dist/sankhyablocks/p-80f8c22c.js +0 -1
  413. package/dist/sankhyablocks/p-847449f8.entry.js +0 -1
  414. package/dist/sankhyablocks/p-9261d8a0.js +0 -1
  415. package/dist/sankhyablocks/p-933c0c0b.js +0 -1
  416. package/dist/sankhyablocks/p-979ecc40.entry.js +0 -1
  417. package/dist/sankhyablocks/p-a3f5ebb6.entry.js +0 -1
  418. package/dist/sankhyablocks/p-aadd3911.entry.js +0 -1
  419. package/dist/sankhyablocks/p-bfdf92e9.entry.js +0 -1
  420. package/dist/sankhyablocks/p-c0eb761b.entry.js +0 -1
  421. package/dist/sankhyablocks/p-c8b3cb54.js +0 -1
  422. package/dist/sankhyablocks/p-d31a701e.entry.js +0 -1
  423. package/dist/sankhyablocks/p-d9804798.js +0 -1
  424. package/dist/sankhyablocks/p-dc6ad9a6.entry.js +0 -1
  425. package/dist/sankhyablocks/p-dce8e631.entry.js +0 -1
  426. package/dist/sankhyablocks/p-ebdb9d89.js +0 -1
  427. package/dist/sankhyablocks/p-fa816fb2.js +0 -1
  428. package/dist/types/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.d.ts +0 -57
  429. package/dist/types/components/snk-form-config/subcomponents/snk-field-config/snk-field-config.d.ts +0 -43
  430. package/dist/types/components/snk-form-config/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -105
  431. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -0,0 +1,337 @@
1
+ import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-479e1293.js';
2
+ import { StringUtils, ObjectUtils } from '@sankhyalabs/core';
3
+ import { S as Sortable } from './sortable.esm-842f85a3.js';
4
+ import { S as SORTABLE_PATH, d as getFieldsStructure, I as ID_AVAILABLE_FIELDS } from './FormConfigHelper-49fe72ca.js';
5
+ import { a as TAB_NAMES, G as GROUP_NAMES } from './constants-7b422de0.js';
6
+ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
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:\"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:\"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
+
10
+ const FieldLayoutComponent = class {
11
+ constructor(hostRef) {
12
+ registerInstance(this, hostRef);
13
+ this.isEditingGuideName = createEvent(this, "isEditingGuideName", 7);
14
+ this.isEditingGroupName = createEvent(this, "isEditingGroupName", 7);
15
+ this.layoutChanged = createEvent(this, "layoutChanged", 7);
16
+ this.setFieldListAsAvailable = createEvent(this, "setFieldListAsAvailable", 7);
17
+ this.guideRenamed = createEvent(this, "guideRenamed", 7);
18
+ this.ID_GROUPS = 'container-groups';
19
+ this.ID_FIELDS = 'container-fields';
20
+ this.reservedGuideNames = [TAB_NAMES.main.toLowerCase(), TAB_NAMES.general.toLocaleLowerCase()];
21
+ this.groupsListMemory = [];
22
+ this.groupsRefList = [];
23
+ this.isEditGuideNameActive = false;
24
+ this.selectedGuide = undefined;
25
+ this.groupsList = [];
26
+ this.guideNames = [];
27
+ this.dataUnit = undefined;
28
+ this.messagesBuilder = undefined;
29
+ }
30
+ handleFieldConfigChanged({ detail }) {
31
+ const updatedField = detail;
32
+ const groupToUpdate = this.groupsListMemory.find(g => g.name === updatedField.group);
33
+ if (!groupToUpdate)
34
+ return;
35
+ const updatedFields = groupToUpdate.fields.map(field => {
36
+ return (field.name === updatedField.name) ? updatedField : field;
37
+ });
38
+ const updatedGroupList = this.groupsListMemory.map(group => {
39
+ return (group.name === groupToUpdate.name)
40
+ ? { name: group.name, fields: updatedFields }
41
+ : group;
42
+ });
43
+ this.applyGroupUpdate(updatedGroupList);
44
+ }
45
+ observeSelectedGuide() {
46
+ this.isEditGuideNameActive = false;
47
+ forceUpdate(this);
48
+ this.isEditingGroupName.emit(false);
49
+ }
50
+ observeGroupList(newValue) {
51
+ this.groupsListMemory = [...newValue];
52
+ }
53
+ observeIsEditGuideNameActive(newValue) {
54
+ this.isEditingGuideName.emit(newValue);
55
+ }
56
+ async addFieldToLayout(incomingField) {
57
+ incomingField.group = GROUP_NAMES.noGroup;
58
+ incomingField.tab = this.selectedGuide.name;
59
+ const fixedFieldsGroup = this.getFixedFieldsGroup();
60
+ const newFixedFieldsGroup = {
61
+ name: GROUP_NAMES.noGroup,
62
+ fields: fixedFieldsGroup ? [...fixedFieldsGroup.fields, incomingField] : [incomingField],
63
+ };
64
+ const updatedGroupListMemory = fixedFieldsGroup
65
+ ? [newFixedFieldsGroup, ...this.groupsListMemory.slice(1)]
66
+ : [newFixedFieldsGroup, ...this.groupsListMemory];
67
+ this.applyGroupUpdate(updatedGroupListMemory);
68
+ }
69
+ getFixedFieldsGroup() {
70
+ return this.groupsListMemory.find(g => g.name === GROUP_NAMES.noGroup);
71
+ }
72
+ getMessage(key, params) {
73
+ return this.messagesBuilder.getMessage(key, params);
74
+ }
75
+ handleAddGroup() {
76
+ const newGroup = { name: this.buildNewGroupName(), fields: [] };
77
+ const updatedGroupsList = [...this.groupsListMemory, newGroup];
78
+ this.applyGroupUpdate(updatedGroupsList);
79
+ }
80
+ buildNewGroupName() {
81
+ var _a, _b;
82
+ const qtdWithNewGroupName = (_b = (_a = this.groupsListMemory.filter(g => g.name.includes(GROUP_NAMES.newGroup))) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
83
+ return qtdWithNewGroupName === 0
84
+ ? GROUP_NAMES.newGroup
85
+ : `${GROUP_NAMES.newGroup} (${qtdWithNewGroupName})`;
86
+ }
87
+ makeDynamicFieldsContainersDraggable() {
88
+ const draggableGroups = this.groupsList.filter((g) => g.name !== GROUP_NAMES.noGroup);
89
+ draggableGroups.forEach(group => {
90
+ this.makeFieldContainerDraggable(this.getFieldsContainerId(group.name));
91
+ });
92
+ }
93
+ getFieldsContainerId(groupName) {
94
+ return `${this.ID_FIELDS}-${StringUtils.replaceBlankCharacters(groupName)}`;
95
+ }
96
+ handleSortGroups(evt) {
97
+ var _a;
98
+ const htmlStructure = (_a = evt.to) === null || _a === void 0 ? void 0 : _a.children;
99
+ if (!htmlStructure)
100
+ return;
101
+ const groupsOrder = Array.from(htmlStructure).map(el => el.getAttribute('data-group-name'));
102
+ const updatedOrderGroupsList = [];
103
+ const fixedGroup = this.getFixedFieldsGroup();
104
+ if (fixedGroup) {
105
+ updatedOrderGroupsList.push(fixedGroup);
106
+ }
107
+ groupsOrder.forEach(groupName => {
108
+ const group = this.groupsListMemory.find(g => g.name === groupName);
109
+ if (group) {
110
+ updatedOrderGroupsList.push(group);
111
+ }
112
+ });
113
+ this.applyGroupUpdate(updatedOrderGroupsList);
114
+ }
115
+ handleFieldsChanged(evt) {
116
+ let updatedGroupsList = [...this.groupsListMemory];
117
+ updatedGroupsList = [...this.handleFieldsOnGroupUpdate(updatedGroupsList, evt, SORTABLE_PATH.FROM)];
118
+ updatedGroupsList = [...this.handleFieldsOnGroupUpdate(updatedGroupsList, evt, SORTABLE_PATH.TO)];
119
+ this.applyGroupUpdate(updatedGroupsList);
120
+ }
121
+ applyGroupUpdate(updatedGroupList) {
122
+ var _a;
123
+ (_a = this.groupsRefList) === null || _a === void 0 ? void 0 : _a.forEach((group) => group === null || group === void 0 ? void 0 : group.cancelEdition());
124
+ if (ObjectUtils.equals(updatedGroupList, this.groupsListMemory)) {
125
+ return false;
126
+ }
127
+ this.groupsListMemory = [...updatedGroupList];
128
+ this.layoutChanged.emit(this.groupsListMemory);
129
+ return true;
130
+ }
131
+ handleFieldsOnGroupUpdate(groupList, evt, path) {
132
+ const element = evt[path];
133
+ const isAvailableFields = element.id === ID_AVAILABLE_FIELDS;
134
+ return isAvailableFields ? groupList : this.updateGroupList(groupList, element, path, evt);
135
+ }
136
+ updateGroupList(groupList, element, path, evt) {
137
+ const groupName = element.getAttribute('data-group-name');
138
+ const updatedGroup = {
139
+ name: groupName,
140
+ fields: getFieldsStructure(evt, path, groupName, this.selectedGuide.name),
141
+ };
142
+ return this.replaceGroup(groupList, updatedGroup);
143
+ }
144
+ replaceGroup(groupList, newGroup) {
145
+ return groupList.map(group => group.name === newGroup.name ? newGroup : group);
146
+ }
147
+ makeGroupsDraggable() {
148
+ try {
149
+ const element = this.getContainerElement(this.ID_GROUPS);
150
+ if (!element)
151
+ return;
152
+ new Sortable(element, {
153
+ group: 'groups',
154
+ ghostClass: 'ghost',
155
+ direction: 'horizontal',
156
+ animation: 15,
157
+ onSort: (evt) => this.handleSortGroups(evt),
158
+ });
159
+ }
160
+ catch (e) {
161
+ console.error('Falha ao tornar container de grupos arrastável: ', this.ID_GROUPS);
162
+ }
163
+ }
164
+ makeFieldContainerDraggable(containerId) {
165
+ try {
166
+ const element = this.getContainerElement(containerId);
167
+ if (!element)
168
+ return;
169
+ new Sortable(element, {
170
+ group: 'fields',
171
+ ghostClass: 'ghost',
172
+ direction: 'vertical',
173
+ animation: 15,
174
+ onAdd: (evt) => this.handleFieldsChanged(evt),
175
+ onRemove: (evt) => this.handleFieldsChanged(evt),
176
+ onSort: (evt) => this.handleFieldsChanged(evt),
177
+ });
178
+ }
179
+ catch (e) {
180
+ console.error('Falha ao tornar grupo arrastável: ', containerId);
181
+ }
182
+ }
183
+ getContainerElement(id) {
184
+ return this.el.querySelector(`[id="${id}"]`);
185
+ }
186
+ handleSetFieldAsAvailable(field) {
187
+ var _a;
188
+ const groupName = (_a = field.group) !== null && _a !== void 0 ? _a : GROUP_NAMES.noGroup;
189
+ const group = this.groupsListMemory.find(group => group.name === groupName);
190
+ const fields = group.fields.filter(f => f.name !== field.name);
191
+ const updatedGroup = { name: groupName, fields };
192
+ const updatedList = [...this.replaceGroup(this.groupsListMemory, updatedGroup)];
193
+ this.applyGroupUpdate(updatedList);
194
+ }
195
+ removeGroup(group) {
196
+ var _a, _b;
197
+ const groupFields = (_b = (_a = this.groupsListMemory.find(f => f.name === group.name)) === null || _a === void 0 ? void 0 : _a.fields) !== null && _b !== void 0 ? _b : [];
198
+ const updatedGroupList = [...this.groupsListMemory.filter(g => g.name !== group.name)];
199
+ if (this.applyGroupUpdate(updatedGroupList)) {
200
+ this.setFieldListAsAvailable.emit(groupFields);
201
+ }
202
+ }
203
+ handleRenameGroup(editDetails) {
204
+ const { value: actualName, newValue: newGroupName } = editDetails.detail;
205
+ const updatedGroupList = this.groupsListMemory.map(group => {
206
+ if (group.name !== actualName)
207
+ return Object.assign({}, group);
208
+ const updatedFields = group.fields.map(f => {
209
+ return Object.assign(Object.assign({}, f), { group: newGroupName });
210
+ });
211
+ return { name: newGroupName, fields: updatedFields };
212
+ });
213
+ this.applyGroupUpdate(updatedGroupList);
214
+ }
215
+ canSaveGroup(newLabel, index) {
216
+ const hasOtherWithThisName = this.groupsList.some(group => {
217
+ var _a;
218
+ return ((_a = group.name) !== null && _a !== void 0 ? _a : '').toLocaleLowerCase() === (newLabel !== null && newLabel !== void 0 ? newLabel : '').toLocaleLowerCase();
219
+ });
220
+ if (!hasOtherWithThisName)
221
+ return true;
222
+ const title = this.getMessage('snkFormConfig.confirm.title');
223
+ const message = this.buildDuplicatedGroupNameContent(newLabel);
224
+ ApplicationUtils.alert(title, message).then(() => { var _a; return (_a = this.groupsRefList[index]) === null || _a === void 0 ? void 0 : _a.applyFocusTextEdit(); });
225
+ return false;
226
+ }
227
+ buildDuplicatedGroupNameContent(newLabel) {
228
+ const tabName = this.selectedGuide.name;
229
+ return `
230
+ ${this.getMessage('snkFormConfig.alert.titleGroupExists')}
231
+ <b>${newLabel}</b>
232
+ ${this.getMessage('snkFormConfig.alert.inTab')}
233
+ <b>${tabName === TAB_NAMES.main ? this.getMessage('snkFormConfig.form.mainArea') : tabName}</b>.
234
+ <br/><br/>
235
+ ${this.getMessage('snkFormConfig.alert.infoValidTitle')}
236
+ `;
237
+ }
238
+ buildDuplicatedTabNameContent(newLabel) {
239
+ return `
240
+ ${this.getMessage('snkFormConfig.alert.titleGuideExists')}
241
+ <b>${newLabel}</b>.
242
+ <br/><br/>
243
+ ${this.getMessage('snkFormConfig.alert.infoValidTitle')}
244
+ `;
245
+ }
246
+ buildReservedTabNameContent(newLabel) {
247
+ return `
248
+ ${this.getMessage('snkFormConfig.alert.titleGuideReservedName')}
249
+ <br/><br/>
250
+ <b>${newLabel}</b>.
251
+ <br/><br/>
252
+ ${this.getMessage('snkFormConfig.alert.infoValidTitle')}
253
+ `;
254
+ }
255
+ renderFields(fields) {
256
+ if (fields.length === 0)
257
+ return;
258
+ return fields.map(field => (h("field-item", { key: field.name, fieldConfig: field, onLayoutConfig: true, dataUnit: this.dataUnit, messagesBuilder: this.messagesBuilder, onSetFieldAsAvailable: (e) => this.handleSetFieldAsAvailable(e.detail) })));
259
+ }
260
+ renderDraggableGroups() {
261
+ const draggableGroups = this.groupsList.filter(g => g.name !== GROUP_NAMES.noGroup);
262
+ return (draggableGroups.map((group, index) => {
263
+ var _a;
264
+ return (h("div", { key: group.name, class: 'group-config', "data-group-name": group.name }, h("ez-collapsible-box", { ref: ref => this.groupsRefList[index] = ref, label: group.name, headerSize: "large", editable: true, removable: true, "icon-placement": "left", onEzRemove: () => this.removeGroup(group), onEzSaveEditLabel: (event => this.handleRenameGroup(event)), onEzEditLabelMode: ({ detail }) => this.isEditingGroupName.emit(detail), conditionalSave: (newLabel) => this.canSaveGroup(newLabel, index) }, h("div", { id: this.getFieldsContainerId(group.name), class: `group-content ${!((_a = group.fields) === null || _a === void 0 ? void 0 : _a.length) ? 'empty-content' : ''}`, "data-group-name": group.name }, this.renderFields(group.fields)))));
265
+ }));
266
+ }
267
+ renderFixedFields() {
268
+ var _a, _b;
269
+ const noGroupFields = (_b = (_a = this.groupsList.find(g => g.name === GROUP_NAMES.noGroup)) === null || _a === void 0 ? void 0 : _a.fields) !== null && _b !== void 0 ? _b : [];
270
+ return this.renderFields(noGroupFields);
271
+ }
272
+ handleRenameGuide(editDetails) {
273
+ const { value: actualValue, newValue } = editDetails.detail;
274
+ this.isEditGuideNameActive = false;
275
+ if (newValue === actualValue) {
276
+ return;
277
+ }
278
+ const duplicatedName = this.guideNames.includes(newValue.toLowerCase());
279
+ const forbiddenName = this.reservedGuideNames.includes(newValue.toLowerCase());
280
+ if (forbiddenName || duplicatedName) {
281
+ const title = this.getMessage('snkFormConfig.confirm.title');
282
+ const message = forbiddenName ? this.buildReservedTabNameContent(newValue) : this.buildDuplicatedTabNameContent(newValue);
283
+ ApplicationUtils.alert(title, message).then(() => this._refTextEdit.applyFocusSelect());
284
+ return;
285
+ }
286
+ this.guideRenamed.emit(newValue);
287
+ }
288
+ cancelEditGuideName() {
289
+ this.isEditGuideNameActive = false;
290
+ }
291
+ async startGuideNameEdition() {
292
+ this.isEditGuideNameActive = true;
293
+ setTimeout(async () => {
294
+ await this._refTextEdit.applyFocusSelect();
295
+ }, 200);
296
+ }
297
+ getTextEditStyle() {
298
+ return {
299
+ fontSize: '20px',
300
+ fontWeight: '500',
301
+ fontFamily: 'Roboto',
302
+ };
303
+ }
304
+ renderGuideName() {
305
+ var _a, _b;
306
+ if (this.isEditGuideNameActive) {
307
+ return (h("div", { class: 'guide-header' }, h("ez-text-edit", { class: "collapsible-box__text-edit", ref: ref => this._refTextEdit = ref, value: (_a = this.selectedGuide) === null || _a === void 0 ? void 0 : _a.label, styled: this.getTextEditStyle(), onSaveEdition: (ev) => this.handleRenameGuide(ev), onCancelEdition: () => this.cancelEditGuideName() })));
308
+ }
309
+ return (h("div", { class: 'guide-header' }, h("span", { class: 'guide-header-label' }, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.label), this.renderEditGuideNameButton()));
310
+ }
311
+ renderEditGuideNameButton() {
312
+ var _a;
313
+ if (((_a = this.selectedGuide) === null || _a === void 0 ? void 0 : _a.name) === TAB_NAMES.main)
314
+ return;
315
+ return (h("ez-button", { mode: "icon", class: "ez-button--tertiary", onClick: () => this.startGuideNameEdition(), size: "medium", iconName: 'edit', title: 'Renomear' }));
316
+ }
317
+ componentDidRender() {
318
+ this.makeGroupsDraggable();
319
+ this.makeDynamicFieldsContainersDraggable();
320
+ this.makeFieldContainerDraggable(GROUP_NAMES.noGroup);
321
+ }
322
+ render() {
323
+ if (!this.selectedGuide) {
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' }, "Selecione uma guia e comece a configurar")));
325
+ }
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, "Criar novo grupo"))));
327
+ }
328
+ get el() { return getElement(this); }
329
+ static get watchers() { return {
330
+ "selectedGuide": ["observeSelectedGuide"],
331
+ "groupsList": ["observeGroupList"],
332
+ "isEditGuideNameActive": ["observeIsEditGuideNameActive"]
333
+ }; }
334
+ };
335
+ FieldLayoutComponent.style = fieldsLayoutCss;
336
+
337
+ export { FieldLayoutComponent as fields_layout };
@@ -0,0 +1,70 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-479e1293.js';
2
+ import { S as Sortable } from './sortable.esm-842f85a3.js';
3
+ import { I as ID_AVAILABLE_FIELDS } from './FormConfigHelper-49fe72ca.js';
4
+ import { ArrayUtils } from '@sankhyalabs/core';
5
+ import './constants-7b422de0.js';
6
+
7
+ const fieldsSelectorCss = ".sc-fields-selector-h{width:33.33333%;display:flex;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);max-width:260px}.fields-label.sc-fields-selector{display:block;font-size:16px;font-weight:500;width:100%}.fields-count.sc-fields-selector{display:block;color:#AFB6C0;font-size:14px;padding:12px 0;font-weight:400;width:100%}.fields-container.sc-fields-selector{display:flex;flex-direction:column;gap:12px;height:calc(100vh - 220px);width:100%}.ghost.sc-fields-selector{opacity:.5;background:#c8fbe2}.filter-input.sc-fields-selector{padding-right:var(--space--2xs, 8px)}";
8
+
9
+ const FieldsSelector = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.fieldListChanged = createEvent(this, "fieldListChanged", 7);
13
+ this.availableFields = [];
14
+ this.dataUnit = undefined;
15
+ this.filterTerm = '';
16
+ }
17
+ onAddField(evt) {
18
+ const newIndex = evt.newIndex;
19
+ const item = evt.item;
20
+ const fieldConfig = item.fieldConfig;
21
+ const updatedFields = this.addItemInPosition(newIndex, fieldConfig);
22
+ this.fieldListChanged.emit(updatedFields);
23
+ }
24
+ addItemInPosition(newIndex, fieldConfig) {
25
+ return [
26
+ ...this.availableFields.slice(0, newIndex),
27
+ fieldConfig,
28
+ ...this.availableFields.slice(newIndex),
29
+ ];
30
+ }
31
+ onRemoveField(evt) {
32
+ const item = evt.item;
33
+ const fieldName = item.fieldConfig.name;
34
+ const updatedFields = [...this.availableFields.filter(f => f.name !== fieldName)];
35
+ this.fieldListChanged.emit(updatedFields);
36
+ requestAnimationFrame(() => item.remove());
37
+ return;
38
+ }
39
+ renderFields() {
40
+ const fieldsToShow = ArrayUtils.applyStringFilter(this.filterTerm, this.availableFields);
41
+ return fieldsToShow.map(field => (h("field-item", { key: field.name, dataUnit: this.dataUnit, fieldConfig: field })));
42
+ }
43
+ getCountText() {
44
+ if (!this.availableFields.length)
45
+ return 'Nenhum campo disponível';
46
+ if (this.availableFields.length === 1)
47
+ return '1 campo disponível';
48
+ return `${this.availableFields.length} campos disponíveis`;
49
+ }
50
+ initializeDraggableContainer() {
51
+ new Sortable(this.el.querySelector(`#${ID_AVAILABLE_FIELDS}`), {
52
+ group: 'fields',
53
+ direction: 'vertical',
54
+ ghostClass: 'ghost',
55
+ animation: 15,
56
+ onAdd: (evt) => this.onAddField(evt),
57
+ onRemove: (evt) => this.onRemoveField(evt),
58
+ });
59
+ }
60
+ componentDidRender() {
61
+ this.initializeDraggableContainer();
62
+ }
63
+ render() {
64
+ return (h(Host, { class: 'ez-col ez-col--sd-4 ez-col--tb-4 ez-padding--medium' }, h("span", { class: 'fields-label ez-padding-bottom--small' }, "Campos dispon\u00EDveis"), h("ez-filter-input", { class: 'filter-input', slot: "content", mode: "slim", label: "Buscar campo", onEzChange: evt => this.filterTerm = evt.detail }), h("span", { class: 'fields-count' }, this.getCountText()), h("ez-scroller", { direction: 'vertical', activeShadow: true }, h("div", { id: ID_AVAILABLE_FIELDS, class: 'fields-container' }, this.renderFields()))));
65
+ }
66
+ get el() { return getElement(this); }
67
+ };
68
+ FieldsSelector.style = fieldsSelectorCss;
69
+
70
+ export { FieldsSelector as fields_selector };
@@ -3,6 +3,7 @@ var FilterType;
3
3
  FilterType["QUICK_FILTER"] = "QUICK_FILTER";
4
4
  FilterType["CUSTOM_FILTER"] = "CUSTOM_FILTER";
5
5
  FilterType["OTHER_FILTERS"] = "OTHER_FILTERS";
6
+ FilterType["DEFAULT_FILTER"] = "DEFAULT_FILTER";
6
7
  })(FilterType || (FilterType = {}));
7
8
  const FilterType$1 = FilterType;
8
9
 
@@ -1,4 +1,4 @@
1
- import { d as dist, D as DataFetcher } from './DataFetcher-88e56266.js';
1
+ import { d as dist, D as DataFetcher } from './DataFetcher-7d1d7572.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
3
 
4
4
  class ResourceFetcher {
@@ -0,0 +1,160 @@
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
+ import { ObjectUtils, ArrayUtils } from '@sankhyalabs/core';
4
+ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
5
+ import { a as TAB_NAMES } from './constants-7b422de0.js';
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:\"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:\"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}";
8
+
9
+ const GuidesConfigurator = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.guideSelected = createEvent(this, "guideSelected", 7);
13
+ this.guideListChanged = createEvent(this, "guideListChanged", 7);
14
+ this.guideDeleted = createEvent(this, "guideDeleted", 7);
15
+ this.createNewGuide = createEvent(this, "createNewGuide", 7);
16
+ this.ID_VISIBLE_GUIDES = 'container-visible-guides';
17
+ this.ID_HIDDEN_GUIDES = 'container-hidden-guides';
18
+ this.sortLogic = (a, b) => {
19
+ var _a, _b;
20
+ const orderA = (_a = a.order) !== null && _a !== void 0 ? _a : Number.MAX_VALUE;
21
+ const orderB = (_b = b.order) !== null && _b !== void 0 ? _b : Number.MAX_VALUE;
22
+ return orderA - orderB;
23
+ };
24
+ this.mainGuide = undefined;
25
+ this.filterTerm = '';
26
+ this.visibleGuides = [];
27
+ this.hiddenGuides = [];
28
+ this.guidesList = [];
29
+ this.selectedGuide = undefined;
30
+ this.messagesBuilder = undefined;
31
+ }
32
+ observeVisibleGuides(newGuides) {
33
+ this.initGuidesConfig(newGuides);
34
+ }
35
+ observeSelectedGuide(newGuide) {
36
+ this.guideSelected.emit(newGuide);
37
+ }
38
+ getMessage(key, params) {
39
+ return this.messagesBuilder.getMessage(key, params);
40
+ }
41
+ initGuidesConfig(newGuides) {
42
+ const visibleAux = [...newGuides.filter(guide => (guide.visible && guide.name !== TAB_NAMES.main))];
43
+ const hiddenAux = [...newGuides.filter(guide => (!guide.visible && guide.name !== TAB_NAMES.main))];
44
+ this.visibleGuides = [...visibleAux.sort(this.sortLogic)];
45
+ this.hiddenGuides = [...hiddenAux.sort(this.sortLogic)];
46
+ this.mainGuide = newGuides.find(g => g.name === TAB_NAMES.main);
47
+ }
48
+ handleAddGuide() {
49
+ this.createNewGuide.emit();
50
+ }
51
+ handleSelectGuide(guide, evt) {
52
+ evt.stopPropagation();
53
+ this.selectedGuide = guide;
54
+ }
55
+ toggleGuideVisibility(guide, evt) {
56
+ evt.stopPropagation();
57
+ const updatedGuide = Object.assign(Object.assign({}, guide), { visible: !guide.visible });
58
+ let visibleAux;
59
+ let hiddenAux;
60
+ if (guide.visible) {
61
+ visibleAux = [...this.visibleGuides.filter(g => g.name !== guide.name)];
62
+ hiddenAux = [...this.hiddenGuides, updatedGuide];
63
+ }
64
+ else {
65
+ visibleAux = [...this.visibleGuides, updatedGuide];
66
+ hiddenAux = [...this.hiddenGuides.filter(g => g.name !== guide.name)];
67
+ }
68
+ const updatedGuideList = [...visibleAux, ...hiddenAux];
69
+ this.applyGuidesUpdate(updatedGuideList);
70
+ }
71
+ adjustListOrder(guideList) {
72
+ return guideList.map((g, index) => {
73
+ return Object.assign(Object.assign({}, g), { order: index });
74
+ });
75
+ }
76
+ applyGuidesUpdate(updatedGuideList) {
77
+ let newGuidesList = this.adjustListOrder(updatedGuideList);
78
+ newGuidesList = [this.mainGuide, ...newGuidesList];
79
+ if (!ObjectUtils.equals(newGuidesList, this.guidesList)) {
80
+ this.guideListChanged.emit(newGuidesList);
81
+ }
82
+ }
83
+ async handleDeleteGuide(guide, e) {
84
+ e.stopPropagation();
85
+ const title = this.getMessage('snkFormConfig.confirm.title');
86
+ const message = this.getMessage('snkFormConfig.confirm.deleteGuide').replace('{0}', guide.label);
87
+ const canRemove = await ApplicationUtils.confirm(title, message);
88
+ if (!canRemove)
89
+ return;
90
+ this.guideDeleted.emit(guide);
91
+ const deletedMessage = this.getMessage('snkFormConfig.info.successfullyGuideDeleted').replace('{0}', guide.label);
92
+ ApplicationUtils.info(deletedMessage);
93
+ }
94
+ renderItems(guides) {
95
+ const guidesToShow = ArrayUtils.applyStringFilter(this.filterTerm, guides);
96
+ return guidesToShow.map(guide => {
97
+ var _a;
98
+ return (h("div", { key: guide.name, "data-guide-name": guide.name, title: guide.label, class: `guide-item ${((_a = this.selectedGuide) === null || _a === void 0 ? void 0 : _a.label) === guide.label ? 'selected' : ''} ${this.filterTerm.length ? 'disable-sort' : ''}`, onClick: e => this.handleSelectGuide(guide, e) }, h("span", null, h("ez-icon", { iconName: "drag-indicator", class: 'ez-margin-right--small' })), h("span", { class: 'item-label' }, guide.label), h("div", { class: 'actions' }, h("ez-button", { mode: "icon", class: "ez-button--tertiary", onClick: e => this.toggleGuideVisibility(guide, e), size: "medium", iconName: guide.visible ? 'eye-off' : 'eye', title: guide.visible ? 'Ocultar' : 'Tornar visível' }), h("ez-button", { mode: "icon", class: "ez-button--tertiary", onClick: e => this.handleDeleteGuide(guide, e), size: "medium", iconName: 'delete', title: 'Excluir' }))));
99
+ });
100
+ }
101
+ getContainerElement(id) {
102
+ return this.el.querySelector(`[id="${id}"]`);
103
+ }
104
+ handleSortGuide() {
105
+ const updatedGuideList = [...this.getGuidesFromStatus(true), ...this.getGuidesFromStatus(false)];
106
+ this.applyGuidesUpdate(updatedGuideList);
107
+ }
108
+ getGuidesFromStatus(visible) {
109
+ let updatedGuideList = [];
110
+ const orderedGuides = this.getOrderedGuideNames(visible ? this.ID_VISIBLE_GUIDES : this.ID_HIDDEN_GUIDES);
111
+ orderedGuides.forEach(guideName => {
112
+ const updatedGuide = this.guidesList.find(g => g.name === guideName);
113
+ if (updatedGuide) {
114
+ updatedGuideList.push(Object.assign(Object.assign({}, updatedGuide), { visible }));
115
+ }
116
+ });
117
+ return updatedGuideList;
118
+ }
119
+ getOrderedGuideNames(containerId) {
120
+ var _a;
121
+ const guidesCollection = (_a = this.getContainerElement(containerId)) === null || _a === void 0 ? void 0 : _a.children;
122
+ return Array.from(guidesCollection).map((element) => element.getAttribute('data-guide-name'));
123
+ }
124
+ initializeDraggableContainers() {
125
+ this._sortableVisibleGuides = new Sortable(this.getContainerElement(this.ID_VISIBLE_GUIDES), {
126
+ group: 'guides',
127
+ ghostClass: 'ghost',
128
+ direction: 'vertical',
129
+ filter: '.disable-sort',
130
+ animation: 15,
131
+ onSort: () => this.handleSortGuide(),
132
+ });
133
+ this._sortableInvisibleGuides = new Sortable(this.getContainerElement(this.ID_HIDDEN_GUIDES), {
134
+ group: 'guides',
135
+ ghostClass: 'ghost',
136
+ animation: 15,
137
+ filter: '.disable-sort',
138
+ onSort: () => this.handleSortGuide(),
139
+ });
140
+ }
141
+ handleSelectMainGuide() {
142
+ this.guideSelected.emit(this.mainGuide);
143
+ }
144
+ componentDidLoad() {
145
+ this.initializeDraggableContainers();
146
+ this.initGuidesConfig(this.guidesList);
147
+ }
148
+ render() {
149
+ var _a, _b, _c;
150
+ return (h("ez-sidebar-navigator", { class: 'ezSidebarNavigator', type: 'fixed', size: 'md', titleMenu: 'Guias' }, h("div", { class: 'navigator-container' }, h("ez-filter-input", { slot: "content", mode: "slim", label: "Buscar guia", onEzChange: evt => this.filterTerm = evt.detail }), h("div", { onClick: this.handleSelectMainGuide.bind(this), class: `main-guide ${((_a = this.selectedGuide) === null || _a === void 0 ? void 0 : _a.name) === ((_b = this.mainGuide) === null || _b === void 0 ? void 0 : _b.name) ? 'selected' : ''}` }, h("span", null, (_c = this.mainGuide) === null || _c === void 0 ? void 0 : _c.label)), h("div", { class: 'collapsible-container' }, h("div", { class: 'collapsible-item' }, h("ez-collapsible-box", { label: "Guias vis\u00EDveis", headerSize: "large" }, h("div", { id: this.ID_VISIBLE_GUIDES, class: `guide-list ${!this.visibleGuides.length ? 'visible-empty-content' : ''}` }, this.renderItems(this.visibleGuides)))), h("div", { class: 'collapsible-item' }, h("ez-collapsible-box", { label: "Guias ocultas", headerSize: "large" }, h("div", { id: this.ID_HIDDEN_GUIDES, class: `guide-list ${!this.hiddenGuides.length ? 'hidden-empty-content' : ''}` }, this.renderItems(this.hiddenGuides))))), h("div", { class: 'add-button-container', onClick: this.handleAddGuide.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus" }), h("span", null, "Criar nova guia")))));
151
+ }
152
+ get el() { return getElement(this); }
153
+ static get watchers() { return {
154
+ "guidesList": ["observeVisibleGuides"],
155
+ "selectedGuide": ["observeSelectedGuide"]
156
+ }; }
157
+ };
158
+ GuidesConfigurator.style = guidesConfiguratorCss;
159
+
160
+ export { GuidesConfigurator as guides_configurator };