@sankhyalabs/sankhyablocks 10.1.0-dev.4 → 10.1.0-dev.41

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 (448) hide show
  1. package/dist/cjs/{ConfigStorage-b29e31be.js → ConfigStorage-a1fab5ca.js} +19 -2
  2. package/dist/cjs/ContinuousInsertUtils-1ae0c6ac.js +41 -0
  3. package/dist/cjs/{DataFetcher-ed9d97ea.js → DataFetcher-384d2ce8.js} +2 -2733
  4. package/dist/cjs/{FormConfigHelper-ebb77625.js → FormConfigHelper-28fe4668.js} +44 -0
  5. package/dist/cjs/{ISave-81eb2fbc.js → ISave-ecbe9336.js} +1 -1
  6. package/dist/cjs/ImageUtils-c46f2d11.js +142 -0
  7. package/dist/cjs/{PersonalizedFilterUtils-7259cf65.js → PersonalizedFilterUtils-eccb267a.js} +13 -0
  8. package/dist/cjs/{SnkFormConfigManager-6838389c.js → SnkFormConfigManager-44386305.js} +7 -7
  9. package/dist/cjs/SnkMessageBuilder-a9300ebe.js +2833 -0
  10. package/dist/cjs/{SnkMultiSelectionListDataSource-1e804147.js → SnkMultiSelectionListDataSource-b951ed91.js} +61 -47
  11. package/dist/cjs/{auth-fetcher-cc28d847.js → auth-fetcher-6b134ec4.js} +1 -1
  12. package/dist/cjs/config-header.cjs.entry.js +1 -1
  13. package/dist/cjs/configs-button.cjs.entry.js +1 -1
  14. package/dist/cjs/css-shim-a27d231b.js +6 -0
  15. package/dist/cjs/{dataunit-fetcher-ab1cc071.js → dataunit-fetcher-93f53260.js} +26 -3
  16. package/dist/cjs/dom-ff96a4bc.js +75 -0
  17. package/dist/cjs/field-config_2.cjs.entry.js +3 -3
  18. package/dist/cjs/fields-layout.cjs.entry.js +8 -5
  19. package/dist/cjs/fields-selector.cjs.entry.js +3 -3
  20. package/dist/cjs/{form-config-fetcher-f0897eb5.js → form-config-fetcher-45d1964c.js} +19 -1
  21. package/dist/cjs/guides-configurator.cjs.entry.js +6 -4
  22. package/dist/cjs/{index-1cf293c1.js → index-1894343a.js} +1529 -177
  23. package/dist/cjs/{index-13d05f03.js → index-f0fe7e6e.js} +90 -21
  24. package/dist/cjs/loader.cjs.js +16 -2
  25. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +6 -5
  26. package/dist/cjs/sankhyablocks.cjs.js +132 -4
  27. package/dist/cjs/shadow-css-7e3e0ab1.js +389 -0
  28. package/dist/cjs/snk-actions-button_9.cjs.entry.js +160 -113
  29. package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-application.cjs.entry.js +29 -9
  31. package/dist/cjs/snk-attach.cjs.entry.js +53 -26
  32. package/dist/cjs/snk-client-confirm.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-crud.cjs.entry.js +351 -108
  35. package/dist/cjs/snk-custom-slot-elements.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-custom-slot-guide.cjs.entry.js +40 -0
  37. package/dist/cjs/snk-data-exporter.cjs.entry.js +9 -7
  38. package/dist/cjs/{snk-data-unit-68992932.js → snk-data-unit-6abc5efc.js} +21 -12
  39. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -4
  40. package/dist/cjs/snk-default-filter.cjs.entry.js +1 -1
  41. package/dist/cjs/snk-detail-view.cjs.entry.js +19 -20
  42. package/dist/cjs/snk-entity-list.cjs.entry.js +1 -1
  43. package/dist/cjs/snk-entity-search.cjs.entry.js +211 -0
  44. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +2 -2
  45. package/dist/cjs/snk-expression-group_2.cjs.entry.js +2 -2
  46. package/dist/cjs/{snk-filter-advanced-mode_2.cjs.entry.js → snk-filter-advanced-mode_3.cjs.entry.js} +41 -3
  47. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +147 -94
  48. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  49. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  50. package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
  51. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +2 -2
  52. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -4
  53. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  54. package/dist/cjs/snk-filter-number.cjs.entry.js +11 -7
  55. package/dist/cjs/snk-filter-period.cjs.entry.js +14 -7
  56. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  57. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -2
  58. package/dist/cjs/snk-form-summary.cjs.entry.js +1 -1
  59. package/dist/cjs/snk-form-view.cjs.entry.js +70 -8
  60. package/dist/cjs/snk-form_2.cjs.entry.js +34 -10
  61. package/dist/cjs/snk-grid.cjs.entry.js +63 -30
  62. package/dist/cjs/{snk-guides-viewer-8b841753.js → snk-guides-viewer-b4ca3437.js} +114 -188
  63. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -18
  64. package/dist/cjs/snk-image-input.cjs.entry.js +148 -0
  65. package/dist/cjs/snk-layout-form-config.cjs.entry.js +72 -0
  66. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
  67. package/dist/cjs/snk-personalized-filter.cjs.entry.js +8 -7
  68. package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -6
  69. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  70. package/dist/cjs/snk-simple-crud.cjs.entry.js +30 -35
  71. package/dist/cjs/snk-taskbar.cjs.entry.js +237 -168
  72. package/dist/cjs/{sortable.esm-9a110bb7.js → sortable.esm-b87669ab.js} +76 -90
  73. package/dist/cjs/taskbar-elements-80eddec8.js +152 -0
  74. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  75. package/dist/collection/collection-manifest.json +10 -1
  76. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -3
  77. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +1 -0
  78. package/dist/collection/components/snk-application/snk-application.js +20 -2
  79. package/dist/collection/components/snk-attach/snk-attach.css +29 -7
  80. package/dist/collection/components/snk-attach/snk-attach.js +82 -19
  81. package/dist/collection/components/snk-crud/snk-crud.css +46 -0
  82. package/dist/collection/components/snk-crud/snk-crud.js +190 -96
  83. package/dist/collection/components/snk-crud/subcomponents/GuideBuilder.js +1 -1
  84. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +5 -5
  85. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.css +17 -0
  86. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.js +330 -0
  87. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +90 -8
  88. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +22 -8
  89. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +165 -179
  90. package/dist/collection/components/snk-crud/utils/taskbarUtils.js +144 -0
  91. package/dist/collection/components/snk-custom-slot-guide/snk-custom-slot-guide.css +3 -0
  92. package/dist/collection/components/snk-custom-slot-guide/snk-custom-slot-guide.js +95 -0
  93. package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +1 -1
  94. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +20 -1
  95. package/dist/collection/components/snk-data-unit/snk-data-unit.js +9 -0
  96. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +13 -9
  97. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +14 -7
  98. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +1 -1
  99. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +1 -1
  100. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.css +5 -1
  101. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +28 -2
  102. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +7 -1
  103. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +22 -8
  104. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -6
  105. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +166 -78
  106. package/dist/collection/components/snk-form-config/FormConfigHelper.js +42 -0
  107. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +6 -6
  108. package/dist/collection/components/snk-form-config/field-item/field-config/field-config.css +1 -0
  109. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.css +16 -0
  110. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.js +6 -3
  111. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +3 -4
  112. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +5 -3
  113. package/dist/collection/components/snk-form-config/snk-form-config.js +53 -6
  114. package/dist/collection/components/snk-grid/snk-grid.css +24 -3
  115. package/dist/collection/components/snk-grid/snk-grid.js +170 -18
  116. package/dist/collection/components/snk-grid-config/snk-grid-config.js +153 -51
  117. package/dist/collection/components/snk-image-input/snk-image-input.css +3 -0
  118. package/dist/collection/components/snk-image-input/snk-image-input.js +326 -0
  119. package/dist/collection/components/snk-image-input/utils/ImageUtils.js +133 -0
  120. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +1 -1
  121. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +1 -1
  122. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  123. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +13 -0
  124. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +0 -4
  125. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +35 -23
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +8 -0
  127. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +38 -2
  128. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +54 -37
  129. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +27 -1
  130. package/dist/collection/components/snk-taskbar/processor/simple-taskbar-processor.js +55 -0
  131. package/dist/collection/components/snk-taskbar/snk-taskbar.css +44 -1
  132. package/dist/collection/components/snk-taskbar/snk-taskbar.js +304 -174
  133. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.css +12 -0
  134. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.js +19 -0
  135. package/dist/collection/lib/configs/ConfigStorage.js +5 -0
  136. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +24 -2
  137. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +12 -0
  138. package/dist/collection/lib/http/data-fetcher/fetchers/resource-fetcher.js +18 -0
  139. package/dist/collection/lib/message/SnkMessageBuilder.js +11 -2
  140. package/dist/collection/lib/message/messageResourceEnUSUtils.js +2 -0
  141. package/dist/collection/lib/message/messageResourceEsESUtils.js +2 -0
  142. package/dist/collection/lib/message/messageResourcePtBRUtils.js +2 -0
  143. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +9 -1
  144. package/dist/collection/lib/message/resources/en-us/snk-form.msg.js +7 -0
  145. package/dist/collection/lib/message/resources/en-us/snk-image-input.msg.js +11 -0
  146. package/dist/collection/lib/message/resources/en-us/snk-layout-form-config.msg.js +10 -2
  147. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +9 -1
  148. package/dist/collection/lib/message/resources/es-es/snk-form.msg.js +7 -0
  149. package/dist/collection/lib/message/resources/es-es/snk-image-input.msg.js +11 -0
  150. package/dist/collection/lib/message/resources/es-es/snk-layout-form-config.msg.js +8 -0
  151. package/dist/collection/lib/message/resources/pt-br/snk-configurator.msg.js +1 -1
  152. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +9 -1
  153. package/dist/collection/lib/message/resources/pt-br/snk-form.msg.js +8 -1
  154. package/dist/collection/lib/message/resources/pt-br/snk-image-input.msg.js +11 -0
  155. package/dist/collection/lib/message/resources/pt-br/snk-layout-form-config.msg.js +10 -2
  156. package/dist/components/ConfigStorage.js +17 -0
  157. package/dist/components/ContinuousInsertUtils.js +1 -1
  158. package/dist/components/DataFetcher.js +3 -2713
  159. package/dist/components/PersonalizedFilterUtils.js +13 -0
  160. package/dist/components/SnkFormConfigManager.js +6 -6
  161. package/dist/components/SnkMessageBuilder.js +2831 -0
  162. package/dist/components/dataunit-fetcher.js +25 -2
  163. package/dist/components/field-config2.js +44 -2
  164. package/dist/components/fields-layout2.js +6 -3
  165. package/dist/components/form-config-fetcher.js +18 -0
  166. package/dist/components/guides-configurator2.js +5 -3
  167. package/dist/components/index.d.ts +4 -0
  168. package/dist/components/index.js +4 -0
  169. package/dist/components/index2.js +90 -21
  170. package/dist/components/snk-actions-button2.js +6 -3
  171. package/dist/components/snk-application2.js +22 -2
  172. package/dist/components/snk-attach2.js +59 -29
  173. package/dist/components/snk-crud.js +435 -174
  174. package/dist/components/snk-custom-slot-guide.d.ts +11 -0
  175. package/dist/components/snk-custom-slot-guide.js +55 -0
  176. package/dist/components/snk-data-exporter2.js +3 -1
  177. package/dist/components/snk-data-unit2.js +10 -1
  178. package/dist/components/snk-detail-view2.js +250 -292
  179. package/dist/components/snk-entity-search.d.ts +11 -0
  180. package/dist/components/snk-entity-search.js +6 -0
  181. package/dist/components/snk-entity-search2.js +231 -0
  182. package/dist/components/snk-exporter-email-sender2.js +1 -1
  183. package/dist/components/snk-filter-bar2.js +116 -80
  184. package/dist/components/snk-filter-detail2.js +1 -1
  185. package/dist/components/snk-filter-item2.js +9 -3
  186. package/dist/components/snk-filter-modal2.js +22 -9
  187. package/dist/components/snk-filter-number.js +12 -8
  188. package/dist/components/snk-filter-period.js +13 -6
  189. package/dist/components/snk-filter-text.js +1 -1
  190. package/dist/components/snk-form-config2.js +29 -5
  191. package/dist/components/snk-form-view2.js +79 -10
  192. package/dist/components/snk-grid-config2.js +109 -50
  193. package/dist/components/snk-grid2.js +103 -59
  194. package/dist/components/snk-image-input.d.ts +11 -0
  195. package/dist/components/snk-image-input.js +6 -0
  196. package/dist/components/snk-image-input2.js +302 -0
  197. package/dist/components/snk-layout-form-config2.js +1 -1
  198. package/dist/components/snk-personalized-filter2.js +1 -1
  199. package/dist/components/snk-pesquisa2.js +0 -1
  200. package/dist/components/snk-simple-crud2.js +47 -46
  201. package/dist/components/snk-taskbar-skeleton.d.ts +11 -0
  202. package/dist/components/snk-taskbar-skeleton.js +6 -0
  203. package/dist/components/snk-taskbar-skeleton2.js +29 -0
  204. package/dist/components/snk-taskbar2.js +310 -218
  205. package/dist/components/snk-view-representation2.js +1 -1
  206. package/dist/components/sortable.esm.js +76 -90
  207. package/dist/components/taskbar-actions-button2.js +21 -2
  208. package/dist/components/taskbar-split-button2.js +10 -1
  209. package/dist/esm/{ConfigStorage-13d80e36.js → ConfigStorage-76872695.js} +19 -2
  210. package/dist/esm/ContinuousInsertUtils-bce77dc1.js +39 -0
  211. package/dist/esm/{DataFetcher-f4ccd9f3.js → DataFetcher-e60f8d53.js} +3 -2713
  212. package/dist/esm/{FormConfigHelper-4e42f0b6.js → FormConfigHelper-d09669f3.js} +43 -1
  213. package/dist/esm/{ISave-288fa9df.js → ISave-4929c071.js} +1 -1
  214. package/dist/esm/ImageUtils-7f3a4149.js +136 -0
  215. package/dist/esm/{PersonalizedFilterUtils-2db38ff2.js → PersonalizedFilterUtils-d2439a9a.js} +13 -0
  216. package/dist/esm/{SnkFormConfigManager-3ee2937b.js → SnkFormConfigManager-83f6b22f.js} +7 -7
  217. package/dist/esm/SnkMessageBuilder-1eb7a1af.js +2831 -0
  218. package/dist/esm/{SnkMultiSelectionListDataSource-5d3a93f2.js → SnkMultiSelectionListDataSource-7fe25a58.js} +55 -41
  219. package/dist/esm/{auth-fetcher-59ab0c67.js → auth-fetcher-1a31c1e4.js} +1 -1
  220. package/dist/esm/config-header.entry.js +1 -1
  221. package/dist/esm/configs-button.entry.js +1 -1
  222. package/dist/esm/css-shim-9f2d321e.js +4 -0
  223. package/dist/esm/{dataunit-fetcher-c4f9f222.js → dataunit-fetcher-050b6d31.js} +25 -2
  224. package/dist/esm/dom-64053c71.js +73 -0
  225. package/dist/esm/field-config_2.entry.js +3 -3
  226. package/dist/esm/fields-layout.entry.js +8 -5
  227. package/dist/esm/fields-selector.entry.js +3 -3
  228. package/dist/esm/{form-config-fetcher-6a00fe9e.js → form-config-fetcher-b44b2727.js} +19 -1
  229. package/dist/esm/guides-configurator.entry.js +6 -4
  230. package/dist/esm/{index-479e1293.js → index-04f73a26.js} +1521 -177
  231. package/dist/esm/{index-446f9341.js → index-ea250be6.js} +90 -21
  232. package/dist/esm/loader.js +17 -3
  233. package/dist/esm/pesquisa-grid_2.entry.js +6 -5
  234. package/dist/esm/sankhyablocks.js +133 -5
  235. package/dist/esm/shadow-css-98135883.js +387 -0
  236. package/dist/esm/snk-actions-button_9.entry.js +161 -114
  237. package/dist/esm/snk-actions-form.entry.js +1 -1
  238. package/dist/esm/snk-application.entry.js +28 -8
  239. package/dist/esm/snk-attach.entry.js +52 -25
  240. package/dist/esm/snk-client-confirm.entry.js +1 -1
  241. package/dist/esm/snk-configurator.entry.js +1 -1
  242. package/dist/esm/snk-crud.entry.js +343 -100
  243. package/dist/esm/snk-custom-slot-elements.entry.js +1 -1
  244. package/dist/esm/snk-custom-slot-guide.entry.js +36 -0
  245. package/dist/esm/snk-data-exporter.entry.js +9 -7
  246. package/dist/esm/{snk-data-unit-0edeb967.js → snk-data-unit-ca2c9858.js} +12 -3
  247. package/dist/esm/snk-data-unit.entry.js +5 -4
  248. package/dist/esm/snk-default-filter.entry.js +1 -1
  249. package/dist/esm/snk-detail-view.entry.js +17 -18
  250. package/dist/esm/snk-entity-list.entry.js +1 -1
  251. package/dist/esm/snk-entity-search.entry.js +207 -0
  252. package/dist/esm/snk-exporter-email-sender.entry.js +2 -2
  253. package/dist/esm/snk-expression-group_2.entry.js +2 -2
  254. package/dist/esm/{snk-filter-advanced-mode_2.entry.js → snk-filter-advanced-mode_3.entry.js} +41 -4
  255. package/dist/esm/snk-filter-bar_4.entry.js +148 -95
  256. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  257. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  258. package/dist/esm/snk-filter-detail.entry.js +3 -3
  259. package/dist/esm/snk-filter-field-search_2.entry.js +2 -2
  260. package/dist/esm/snk-filter-modal-item.entry.js +5 -4
  261. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  262. package/dist/esm/snk-filter-number.entry.js +11 -7
  263. package/dist/esm/snk-filter-period.entry.js +14 -7
  264. package/dist/esm/snk-filter-search.entry.js +1 -1
  265. package/dist/esm/snk-filter-text.entry.js +2 -2
  266. package/dist/esm/snk-form-summary.entry.js +1 -1
  267. package/dist/esm/snk-form-view.entry.js +71 -9
  268. package/dist/esm/snk-form_2.entry.js +34 -10
  269. package/dist/esm/snk-grid.entry.js +60 -27
  270. package/dist/esm/{snk-guides-viewer-9cd4d20f.js → snk-guides-viewer-cc37535b.js} +115 -189
  271. package/dist/esm/snk-guides-viewer.entry.js +11 -18
  272. package/dist/esm/snk-image-input.entry.js +144 -0
  273. package/dist/esm/snk-layout-form-config.entry.js +68 -0
  274. package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
  275. package/dist/esm/snk-personalized-filter.entry.js +8 -7
  276. package/dist/esm/snk-pesquisa.entry.js +6 -6
  277. package/dist/esm/snk-print-selector.entry.js +1 -1
  278. package/dist/esm/snk-simple-crud.entry.js +28 -33
  279. package/dist/esm/snk-taskbar.entry.js +238 -169
  280. package/dist/esm/{sortable.esm-842f85a3.js → sortable.esm-bc277c12.js} +76 -90
  281. package/dist/esm/taskbar-elements-63651ca7.js +149 -0
  282. package/dist/esm/teste-pesquisa.entry.js +1 -1
  283. package/dist/sankhyablocks/p-09ba6bd4.js +1 -0
  284. package/dist/sankhyablocks/{p-7f7fe6c4.entry.js → p-0a160fb5.entry.js} +1 -1
  285. package/dist/sankhyablocks/p-10f27dc6.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-162bddae.entry.js → p-175c9576.entry.js} +1 -1
  287. package/dist/sankhyablocks/p-20af4b6a.entry.js +1 -0
  288. package/dist/sankhyablocks/p-251aee41.entry.js +11 -0
  289. package/dist/sankhyablocks/{p-c4fcf1fb.entry.js → p-27e0cd68.entry.js} +1 -1
  290. package/dist/sankhyablocks/p-2af815bb.entry.js +1 -0
  291. package/dist/sankhyablocks/p-2af8aca3.js +1 -0
  292. package/dist/sankhyablocks/p-2b3c284c.entry.js +1 -0
  293. package/dist/sankhyablocks/p-2c9d0870.js +2 -0
  294. package/dist/sankhyablocks/{p-cb4343c4.entry.js → p-2cc2526e.entry.js} +1 -1
  295. package/dist/sankhyablocks/{p-75af335e.entry.js → p-2ebda226.entry.js} +1 -1
  296. package/dist/sankhyablocks/p-3072136e.js +1 -0
  297. package/dist/sankhyablocks/p-33492640.entry.js +1 -0
  298. package/dist/sankhyablocks/p-35317d9a.entry.js +1 -0
  299. package/dist/sankhyablocks/{p-1c2971e4.js → p-3704bf1b.js} +1 -1
  300. package/dist/sankhyablocks/p-3870748a.js +28 -0
  301. package/dist/sankhyablocks/p-3a35917e.entry.js +1 -0
  302. package/dist/sankhyablocks/{p-78ff8734.js → p-3c990841.js} +2 -2
  303. package/dist/sankhyablocks/p-420b39b5.js +1 -0
  304. package/dist/sankhyablocks/{p-49ddc27a.entry.js → p-438a225f.entry.js} +1 -1
  305. package/dist/sankhyablocks/p-46f75667.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-53599b26.js → p-4f7adf97.js} +2 -2
  307. package/dist/sankhyablocks/p-554c0e54.js +1 -0
  308. package/dist/sankhyablocks/{p-27482793.entry.js → p-5aae5c74.entry.js} +1 -1
  309. package/dist/sankhyablocks/p-68c1a093.js +1 -0
  310. package/dist/sankhyablocks/p-6ae7543b.entry.js +1 -0
  311. package/dist/sankhyablocks/{p-825098c1.entry.js → p-752c57f4.entry.js} +1 -1
  312. package/dist/sankhyablocks/{p-e258de96.entry.js → p-76729994.entry.js} +1 -1
  313. package/dist/sankhyablocks/p-771b137e.js +1 -0
  314. package/dist/sankhyablocks/p-77f608bc.entry.js +1 -0
  315. package/dist/sankhyablocks/p-7c8bf699.entry.js +1 -0
  316. package/dist/sankhyablocks/p-855ccf64.entry.js +1 -0
  317. package/dist/sankhyablocks/p-8a8900a9.entry.js +1 -0
  318. package/dist/sankhyablocks/p-8b4d6719.js +1 -0
  319. package/dist/sankhyablocks/{p-3d41f5a8.entry.js → p-8d946600.entry.js} +1 -1
  320. package/dist/sankhyablocks/{p-96d45943.entry.js → p-90ae6c2e.entry.js} +1 -1
  321. package/dist/sankhyablocks/p-95af0bb1.entry.js +1 -0
  322. package/dist/sankhyablocks/{p-7b3ca294.entry.js → p-9742ea0e.entry.js} +1 -1
  323. package/dist/sankhyablocks/p-98241c21.entry.js +1 -0
  324. package/dist/sankhyablocks/{p-2fdac5e6.entry.js → p-9e109f5e.entry.js} +1 -1
  325. package/dist/sankhyablocks/p-9e7dc97d.entry.js +1 -0
  326. package/dist/sankhyablocks/p-a2a9f520.entry.js +1 -0
  327. package/dist/sankhyablocks/p-a46ac091.js +1 -0
  328. package/dist/sankhyablocks/p-a73b6b00.js +1 -0
  329. package/dist/sankhyablocks/p-ab12f544.entry.js +1 -0
  330. package/dist/sankhyablocks/p-ab5e12fa.js +1 -0
  331. package/dist/sankhyablocks/p-ac384a1e.entry.js +1 -0
  332. package/dist/sankhyablocks/{p-180716b2.entry.js → p-ae326d06.entry.js} +1 -1
  333. package/dist/sankhyablocks/p-aff2d081.entry.js +1 -0
  334. package/dist/sankhyablocks/p-b3b51693.entry.js +1 -0
  335. package/dist/sankhyablocks/p-b555ce38.entry.js +1 -0
  336. package/dist/sankhyablocks/p-bab4cde4.entry.js +1 -0
  337. package/dist/sankhyablocks/p-c3ec6642.js +19 -0
  338. package/dist/sankhyablocks/p-cbb8e351.js +7 -0
  339. package/dist/sankhyablocks/{p-c3dbf441.entry.js → p-cc64239c.entry.js} +1 -1
  340. package/dist/sankhyablocks/{p-471b34f4.entry.js → p-cd00a3d1.entry.js} +1 -1
  341. package/dist/sankhyablocks/p-ce3b284c.entry.js +1 -0
  342. package/dist/sankhyablocks/p-ce8ccd72.entry.js +1 -0
  343. package/dist/sankhyablocks/{p-4c763b10.entry.js → p-d657f71f.entry.js} +1 -1
  344. package/dist/sankhyablocks/p-d972a9c1.js +60 -0
  345. package/dist/sankhyablocks/p-da455c82.js +12 -0
  346. package/dist/sankhyablocks/p-e5a3711f.js +1 -0
  347. package/dist/sankhyablocks/{p-9a63f3f7.entry.js → p-e737fd5a.entry.js} +1 -1
  348. package/dist/sankhyablocks/p-ee56dda6.entry.js +1 -0
  349. package/dist/sankhyablocks/p-ef9343c3.entry.js +1 -0
  350. package/dist/sankhyablocks/p-efd18bc2.entry.js +1 -0
  351. package/dist/sankhyablocks/{p-667cab42.entry.js → p-f152ef98.entry.js} +1 -1
  352. package/dist/sankhyablocks/p-f185d5ad.js +1 -0
  353. package/dist/sankhyablocks/{p-7e250432.entry.js → p-f7170e10.entry.js} +1 -1
  354. package/dist/sankhyablocks/{p-7345782c.entry.js → p-f921270b.entry.js} +1 -1
  355. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  356. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +4 -0
  357. package/dist/types/components/snk-application/snk-application.d.ts +1 -1
  358. package/dist/types/components/snk-attach/snk-attach.d.ts +20 -4
  359. package/dist/types/components/snk-crud/snk-crud.d.ts +37 -9
  360. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  361. package/dist/types/components/snk-crud/subcomponents/snk-entity-search.d.ts +62 -0
  362. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +12 -0
  363. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +28 -18
  364. package/dist/types/components/snk-crud/utils/taskbarUtils.d.ts +13 -0
  365. package/dist/types/components/snk-custom-slot-guide/snk-custom-slot-guide.d.ts +16 -0
  366. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -0
  367. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
  368. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +1 -1
  369. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +1 -0
  370. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +5 -1
  371. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +2 -1
  372. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +33 -16
  373. package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +6 -1
  374. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +1 -1
  375. package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +2 -2
  376. package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +1 -1
  377. package/dist/types/components/snk-form-config/snk-form-config.d.ts +9 -2
  378. package/dist/types/components/snk-grid/snk-grid.d.ts +29 -1
  379. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +11 -0
  380. package/dist/types/components/snk-image-input/snk-image-input.d.ts +56 -0
  381. package/dist/types/components/snk-image-input/utils/ImageUtils.d.ts +15 -0
  382. package/dist/types/components/snk-personalized-filter/interfaces/IParameter.d.ts +1 -0
  383. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +0 -1
  384. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -1
  385. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +6 -0
  386. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +29 -2
  387. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +5 -0
  388. package/dist/types/components/snk-taskbar/processor/simple-taskbar-processor.d.ts +31 -0
  389. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +37 -23
  390. package/dist/types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.d.ts +3 -0
  391. package/dist/types/components.d.ts +377 -5
  392. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -0
  393. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -1
  394. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -0
  395. package/dist/types/lib/http/data-fetcher/fetchers/resource-fetcher.d.ts +1 -0
  396. package/dist/types/lib/message/resources/en-us/snk-image-input.msg.d.ts +1 -0
  397. package/dist/types/lib/message/resources/es-es/snk-image-input.msg.d.ts +1 -0
  398. package/dist/types/lib/message/resources/pt-br/snk-image-input.msg.d.ts +1 -0
  399. package/package.json +6 -7
  400. package/react/components.d.ts +4 -0
  401. package/react/components.js +4 -0
  402. package/react/components.js.map +1 -1
  403. package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -45
  404. package/dist/cjs/taskbar-elements-fb5d1e08.js +0 -132
  405. package/dist/cjs/taskbar-processor-2fba34a8.js +0 -53
  406. package/dist/esm/snk-simple-bar.entry.js +0 -41
  407. package/dist/esm/taskbar-elements-faaf5d8f.js +0 -129
  408. package/dist/esm/taskbar-processor-3436124c.js +0 -51
  409. package/dist/sankhyablocks/p-093f58fa.entry.js +0 -1
  410. package/dist/sankhyablocks/p-0e279e7a.js +0 -1
  411. package/dist/sankhyablocks/p-11346b8d.entry.js +0 -1
  412. package/dist/sankhyablocks/p-1858c023.entry.js +0 -1
  413. package/dist/sankhyablocks/p-1a0caadb.js +0 -1
  414. package/dist/sankhyablocks/p-21107f0d.entry.js +0 -1
  415. package/dist/sankhyablocks/p-26e0f63c.entry.js +0 -1
  416. package/dist/sankhyablocks/p-34df7eca.entry.js +0 -1
  417. package/dist/sankhyablocks/p-34f447ba.entry.js +0 -1
  418. package/dist/sankhyablocks/p-38e56b68.entry.js +0 -1
  419. package/dist/sankhyablocks/p-3abeeefa.entry.js +0 -1
  420. package/dist/sankhyablocks/p-3d021bef.entry.js +0 -1
  421. package/dist/sankhyablocks/p-3ed04f0d.entry.js +0 -1
  422. package/dist/sankhyablocks/p-44939a0e.entry.js +0 -1
  423. package/dist/sankhyablocks/p-51833248.js +0 -7
  424. package/dist/sankhyablocks/p-5304753a.js +0 -60
  425. package/dist/sankhyablocks/p-557368df.entry.js +0 -1
  426. package/dist/sankhyablocks/p-55798617.js +0 -1
  427. package/dist/sankhyablocks/p-583151c5.entry.js +0 -1
  428. package/dist/sankhyablocks/p-60dd1d27.entry.js +0 -1
  429. package/dist/sankhyablocks/p-6180de07.entry.js +0 -1
  430. package/dist/sankhyablocks/p-80014119.entry.js +0 -1
  431. package/dist/sankhyablocks/p-8f73da95.js +0 -1
  432. package/dist/sankhyablocks/p-91a9abb6.entry.js +0 -1
  433. package/dist/sankhyablocks/p-9317942f.js +0 -26
  434. package/dist/sankhyablocks/p-988afe78.js +0 -1
  435. package/dist/sankhyablocks/p-a2ed1ebd.entry.js +0 -1
  436. package/dist/sankhyablocks/p-a5108625.entry.js +0 -1
  437. package/dist/sankhyablocks/p-a644a956.js +0 -1
  438. package/dist/sankhyablocks/p-ae108ffd.entry.js +0 -11
  439. package/dist/sankhyablocks/p-b4322b87.entry.js +0 -1
  440. package/dist/sankhyablocks/p-b7e891cc.entry.js +0 -1
  441. package/dist/sankhyablocks/p-b987e15d.js +0 -1
  442. package/dist/sankhyablocks/p-bb2f5f38.js +0 -1
  443. package/dist/sankhyablocks/p-d8d8169b.js +0 -2
  444. package/dist/sankhyablocks/p-d9c54991.js +0 -1
  445. package/dist/sankhyablocks/p-dc851b6e.entry.js +0 -1
  446. package/dist/sankhyablocks/p-e9021f79.entry.js +0 -1
  447. package/dist/sankhyablocks/p-f15478a1.js +0 -1
  448. package/dist/sankhyablocks/p-f8f29e1a.entry.js +0 -1
@@ -1,8 +1,8 @@
1
- import { Action as DUAction, ApplicationContext, ElementIDUtils, LockManager, LockManagerOperation, OverflowDirection, OVERFLOWED_CLASS_NAME, OverflowWatcher, SilentException, StringUtils, } from '@sankhyalabs/core';
1
+ import { ApplicationContext, Action as DUAction, ElementIDUtils, LockManager, LockManagerOperation, OverflowDirection, OVERFLOWED_CLASS_NAME, OverflowWatcher, SilentException, StringUtils, } from '@sankhyalabs/core';
2
2
  import { h, Host } from '@stencil/core';
3
+ import { PresentationMode } from '../../lib/@types';
3
4
  import { AuthorizationConfig } from '../snk-configurator/AuthorizationConfig';
4
5
  import { AuthorizationElements, buildCustomButton, buildElem, TaskbarElement, VisibleWhenForbidden, } from './elements/taskbar-elements';
5
- import { PresentationMode } from '../../lib/@types';
6
6
  export class SnkTaskbar {
7
7
  constructor() {
8
8
  this.TASKBAR_ITEM_ID_PREFIX = 'TASKBAR_ITEM_';
@@ -11,6 +11,11 @@ export class SnkTaskbar {
11
11
  this.TASKBAR_CUSTOM_ELEMENTS = 'taskbar-custom-elements-container';
12
12
  this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME = 'taskbar-additional-slot-container';
13
13
  this.TASKBAR_ADDITIONAL_SLOT = 'taskbar-additional-slot-container';
14
+ this._dataUnitInitialized = false;
15
+ this._permissions = {};
16
+ this._customElements = new Map();
17
+ this._customElementsId = [];
18
+ this._overFlowedElements = [];
14
19
  this._titleKeyByElement = {
15
20
  [TaskbarElement.UPDATE_MULTIPLE]: "snkTaskbar.titleUpdateMultiple",
16
21
  [TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
@@ -42,15 +47,9 @@ export class SnkTaskbar {
42
47
  break;
43
48
  }
44
49
  };
45
- this._permissions = undefined;
46
- this._overFlowedElements = [];
47
- this._customElements = undefined;
48
- this._customElementsId = undefined;
49
- this._slotContainer = undefined;
50
50
  this._hiddenActionsList = [];
51
- this._lastWidth = undefined;
52
- this._hasToUpdateOverFlow = false;
53
51
  this._isWaitingForSave = false;
52
+ this._isLoading = true;
54
53
  this.alignRigth = false;
55
54
  this.customSlotId = "TASKBAR_CUSTOM_ELEMENTS";
56
55
  this.additionalSlotId = "TASKBAR_ADDITIONAL_SLOT";
@@ -62,11 +61,14 @@ export class SnkTaskbar {
62
61
  this.customButtons = undefined;
63
62
  this.actionsList = undefined;
64
63
  this.actionsSettingsList = undefined;
64
+ this.customActionsList = undefined;
65
65
  this.primaryButton = undefined;
66
66
  this.disabledButtons = undefined;
67
67
  this.dataUnit = undefined;
68
68
  this.presentationMode = PresentationMode.PRIMARY;
69
69
  this.messagesBuilder = undefined;
70
+ this.disableSkeleton = false;
71
+ this.sizeButtons = 'small';
70
72
  }
71
73
  handleCustomSlotElementsLoaded(event) {
72
74
  if (this.hasToSearchCustomElements(event)) {
@@ -87,19 +89,10 @@ export class SnkTaskbar {
87
89
  return this.customSlotId === event.detail && !this._slotContainer;
88
90
  }
89
91
  observeButtons() {
90
- this._definitions = undefined;
91
- requestAnimationFrame(() => {
92
- requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
93
- });
92
+ this.handleDefinitions();
94
93
  }
95
94
  observeDisabledButtons() {
96
- var _a;
97
- (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate();
98
- }
99
- observeLastWidth(newValue, oldValue) {
100
- if (oldValue === 0 && newValue !== 0) {
101
- this._hasToUpdateOverFlow = true;
102
- }
95
+ this.handleDefinitions();
103
96
  }
104
97
  observeIsWaitingForSave(newValue, oldValue) {
105
98
  if (newValue == true && oldValue == false) {
@@ -109,7 +102,17 @@ export class SnkTaskbar {
109
102
  this.taskbarSaveUnlocker.emit();
110
103
  }
111
104
  }
112
- // Internal methods
105
+ observeDataUnit(newValue) {
106
+ this.initializeDataUnit(newValue);
107
+ }
108
+ initializeDataUnit(dataUnit = this.dataUnit) {
109
+ if (!!dataUnit && !this._dataUnitInitialized) {
110
+ this._dataUnitInitialized = true;
111
+ const dataInfo = { dataUnit: this.dataUnit };
112
+ ElementIDUtils.addIDInfo(this._element, null, dataInfo);
113
+ this.dataUnit.subscribe(this.onSaveEvent);
114
+ }
115
+ }
113
116
  elementsFromString(strButtons) {
114
117
  const elements = [];
115
118
  if (strButtons == null)
@@ -123,15 +126,17 @@ export class SnkTaskbar {
123
126
  return elements;
124
127
  }
125
128
  isAllowed(buttonName) {
129
+ if (!this._permissions) {
130
+ return false;
131
+ }
132
+ if (this._permissions.isSup) {
133
+ return true;
134
+ }
126
135
  if (buttonName === AuthorizationElements.CONFIGURATOR) {
127
- return this._permissions
128
- ? this._permissions.isSup
129
- || this._permissions[AuthorizationConfig.CONFIG_GRID]
130
- || this._permissions[AuthorizationConfig.CONFIG]
131
- : false;
136
+ return this._permissions[AuthorizationConfig.CONFIG_GRID] || this._permissions[AuthorizationConfig.CONFIG];
132
137
  }
133
138
  if (AuthorizationElements[buttonName]) {
134
- return this._permissions ? this._permissions.isSup || this._permissions[buttonName] : false;
139
+ return this._permissions[buttonName];
135
140
  }
136
141
  return true;
137
142
  }
@@ -154,45 +159,46 @@ export class SnkTaskbar {
154
159
  }
155
160
  elementClick(elem) {
156
161
  LockManager.whenResolve(this._element, LockManagerOperation.TASKBAR_CLICK).then(() => {
157
- if (this.dataUnit) {
158
- switch (elem) {
159
- case TaskbarElement.PREVIOUS:
160
- this.dataUnit.previousRecord();
161
- break;
162
- case TaskbarElement.NEXT:
163
- this.dataUnit.nextRecord();
164
- break;
165
- case TaskbarElement.REFRESH:
166
- this.dataUnit.loadData();
167
- break;
168
- case TaskbarElement.CLONE:
169
- this.dataUnit.copySelected();
170
- break;
171
- case TaskbarElement.REMOVE:
172
- this.dataUnit.removeSelectedRecords();
173
- break;
174
- case TaskbarElement.INSERT:
175
- this.dataUnit.addRecord();
176
- break;
177
- case TaskbarElement.CANCEL:
178
- this.dataUnit.cancelEdition();
179
- break;
180
- case TaskbarElement.SAVE:
181
- if (!this._isWaitingForSave) {
182
- this._isWaitingForSave = true;
183
- this.dataUnit.saveData().catch((err) => {
184
- if (err instanceof SilentException) {
185
- return;
186
- }
187
- else {
188
- throw err;
189
- }
190
- }).finally(() => {
191
- this._isWaitingForSave = false;
192
- });
193
- }
194
- break;
195
- }
162
+ if (!this.dataUnit) {
163
+ return;
164
+ }
165
+ switch (elem) {
166
+ case TaskbarElement.PREVIOUS:
167
+ this.dataUnit.previousRecord();
168
+ break;
169
+ case TaskbarElement.NEXT:
170
+ this.dataUnit.nextRecord();
171
+ break;
172
+ case TaskbarElement.REFRESH:
173
+ this.dataUnit.loadData();
174
+ break;
175
+ case TaskbarElement.CLONE:
176
+ this.dataUnit.copySelected();
177
+ break;
178
+ case TaskbarElement.REMOVE:
179
+ this.dataUnit.removeSelectedRecords();
180
+ break;
181
+ case TaskbarElement.INSERT:
182
+ this.dataUnit.addRecord();
183
+ break;
184
+ case TaskbarElement.CANCEL:
185
+ this.dataUnit.cancelEdition();
186
+ break;
187
+ case TaskbarElement.SAVE:
188
+ if (!this._isWaitingForSave) {
189
+ this._isWaitingForSave = true;
190
+ this.dataUnit.saveData().catch((err) => {
191
+ if (err instanceof SilentException) {
192
+ return;
193
+ }
194
+ else {
195
+ throw err;
196
+ }
197
+ }).finally(() => {
198
+ this._isWaitingForSave = false;
199
+ });
200
+ }
201
+ break;
196
202
  }
197
203
  if (this.isEnabled(elem))
198
204
  this.actionClick.emit(elem);
@@ -204,32 +210,54 @@ export class SnkTaskbar {
204
210
  }
205
211
  return !(this.disabledButtons && this.disabledButtons.includes(elem));
206
212
  }
207
- validatePresentationMode() {
208
- if (Object.values(PresentationMode).includes(this.presentationMode)) {
209
- return;
210
- }
211
- this.presentationMode = PresentationMode.PRIMARY;
212
- }
213
213
  getElement(index, def) {
214
- let className = def === this.primaryButton ? "ez-button--primary " : "";
215
- if (index > 1) {
216
- className += "ez-padding-left--medium";
217
- }
214
+ const className = {
215
+ "taskbar-element": true,
216
+ "space-between-item": index > 0
217
+ };
218
218
  const taskbarElement = TaskbarElement[def.toString()];
219
219
  const dataExporterStoreKey = this._element.dataset.exporterStoreKey || this.configName;
220
220
  if (taskbarElement) {
221
- return buildElem(def, className, this.getIdElemBtnNative(def), elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), def !== TaskbarElement.CONFIGURATOR ? this.buildDynamicActionsList() : this.buildActionsSettingsList(), dataExporterStoreKey, this.presentationMode);
221
+ return buildElem({
222
+ element: def,
223
+ className,
224
+ dataElementId: this.getIdElemBtnNative(def),
225
+ getTitle: elem => this.getTitle(elem),
226
+ action: elem => this.elementClick(elem),
227
+ isEnabled: elem => this.isEnabled(elem),
228
+ actions: def !== TaskbarElement.CONFIGURATOR ? this.buildDynamicActionsList() : this.buildActionsSettingsList(),
229
+ dataExporterStoreKey,
230
+ presentationMode: this.presentationMode,
231
+ variant: def === this.primaryButton ? "primary" : "secondary",
232
+ size: this.sizeButtons,
233
+ });
222
234
  }
223
235
  else {
224
- return buildCustomButton(def, className, this.getIdElemBtnCustom(def), elem => this.elementClick(elem), elem => this.isEnabled(elem));
236
+ return buildCustomButton({
237
+ def: def,
238
+ className,
239
+ dataElementId: this.getIdElemBtnCustom(def),
240
+ action: elem => this.elementClick(elem),
241
+ isEnabled: elem => this.isEnabled(elem),
242
+ size: this.sizeButtons
243
+ });
225
244
  }
226
245
  }
246
+ buildDivider() {
247
+ return { value: '', label: '', type: 'divider' };
248
+ }
227
249
  buildDynamicActionsList() {
228
- var _a;
250
+ var _a, _b;
251
+ const customActions = [...((_a = this.customActionsList) !== null && _a !== void 0 ? _a : [])].filter(a => a !== undefined);
252
+ const defaultActionsList = [...((_b = this.actionsList) !== null && _b !== void 0 ? _b : [])].filter(a => a !== undefined);
253
+ if (customActions.length > 0 && defaultActionsList.length > 0) {
254
+ customActions.push(this.buildDivider());
255
+ }
256
+ const combinedList = [...customActions, ...defaultActionsList];
229
257
  if (this._hiddenActionsList.length) {
230
- return [...((_a = this.actionsList) !== null && _a !== void 0 ? _a : []), ...this._hiddenActionsList];
258
+ return [...combinedList, ...this._hiddenActionsList];
231
259
  }
232
- return this.actionsList;
260
+ return combinedList;
233
261
  }
234
262
  buildActionsSettingsList() {
235
263
  return this.actionsSettingsList;
@@ -299,38 +327,12 @@ export class SnkTaskbar {
299
327
  else {
300
328
  slotContainer = this._element.querySelector(`#${this.customSlotId}`);
301
329
  }
302
- // Caso nõa encontre o slot container dentro do próprio elemento, tenta buscar na DOM do document.
330
+ // Caso não encontre o slot container dentro do próprio elemento, tenta buscar na DOM do document.
303
331
  if (searchOnDocument && !slotContainer) {
304
332
  slotContainer = document.querySelector(`#${this.customSlotId}`);
305
333
  }
306
334
  return slotContainer;
307
335
  }
308
- componentWillLoad() {
309
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
310
- if (this._application) {
311
- this._application.getAllAccess(this.resourceID).then(access => this._permissions = access);
312
- }
313
- else {
314
- this._permissions = {};
315
- }
316
- this.getCustomElements();
317
- }
318
- componentWillRender() {
319
- this.handleDefinitions();
320
- this.validatePresentationMode();
321
- this.updateOverFlowIfNeeded();
322
- }
323
- handleDefinitions() {
324
- if (this._definitions == undefined && this._permissions) {
325
- this._definitions = this.elementsFromString(this.buttons);
326
- }
327
- }
328
- updateOverFlowIfNeeded() {
329
- if (this._hasToUpdateOverFlow) {
330
- requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
331
- this._hasToUpdateOverFlow = false;
332
- }
333
- }
334
336
  handleOverFlow(overFlowingElements) {
335
337
  const elementsToHandle = overFlowingElements.filter(element => !this.hasToIgnoreOverFlow(element));
336
338
  this.resetOverFlowedElements();
@@ -350,28 +352,38 @@ export class SnkTaskbar {
350
352
  this.addItemToActionList(element);
351
353
  });
352
354
  }
355
+ getAttributeFromName(element, attributeName) {
356
+ var _a;
357
+ if (!element) {
358
+ console.warn(`[snk-taskbar] Tentativa de acessar atributo "${attributeName}" em elemento nulo.`);
359
+ return "";
360
+ }
361
+ let attributeValue = element.getAttribute(attributeName);
362
+ if (!attributeValue && ((_a = element.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'ez-tooltip') {
363
+ const innerButton = element.querySelector('ez-button');
364
+ if (innerButton) {
365
+ attributeValue = innerButton.getAttribute(attributeName);
366
+ }
367
+ }
368
+ return attributeValue !== null && attributeValue !== void 0 ? attributeValue : "";
369
+ }
353
370
  addItemToActionList(element) {
354
- const taskbarElement = this.getTaskbarElementName(element);
371
+ const taskbarElement = this.getAttributeFromName(element, 'data-taskbar-element');
355
372
  if (taskbarElement && this.isEnabled(taskbarElement) && this.isAllowed(taskbarElement)) {
356
373
  const optionItem = {
357
374
  value: taskbarElement,
358
- label: this.getTaskbarElementLabel(element),
359
- iconName: this.getTaskbarElementIcon(element)
375
+ label: this.getAttributeFromName(element, 'data-taskbar-label'),
376
+ iconName: this.getIconName(element)
360
377
  };
361
378
  this._hiddenActionsList.push(optionItem);
362
379
  }
363
380
  }
364
- getTaskbarElementName(element) {
365
- var _a;
366
- return (_a = element.getAttribute('data-taskbar-element')) !== null && _a !== void 0 ? _a : "";
367
- }
368
- getTaskbarElementIcon(element) {
369
- var _a;
370
- return (_a = element.getAttribute('data-taskbar-icon')) !== null && _a !== void 0 ? _a : "";
371
- }
372
- getTaskbarElementLabel(element) {
373
- var _a;
374
- return (_a = element.getAttribute('data-taskbar-label')) !== null && _a !== void 0 ? _a : "";
381
+ getIconName(element) {
382
+ const taskbarElement = this.getAttributeFromName(element, 'data-taskbar-element');
383
+ if (taskbarElement === TaskbarElement.INSERT) {
384
+ return "plus";
385
+ }
386
+ return this.getAttributeFromName(element, 'data-taskbar-icon');
375
387
  }
376
388
  hasToIgnoreOverFlow(element) {
377
389
  return element.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME) ||
@@ -390,24 +402,34 @@ export class SnkTaskbar {
390
402
  notOverFlow: this.NOT_OVERFLOW_ELEMENTS
391
403
  };
392
404
  }
393
- componentDidLoad() {
394
- const dataInfo = { dataUnit: this.dataUnit };
395
- ElementIDUtils.addIDInfo(this._element, null, dataInfo);
396
- this.handleOverFlowStrategy();
397
- this.dataUnit.subscribe(this.onSaveEvent);
398
- }
399
- componentDidRender() {
400
- this.appendCustomElementsInTaskbar();
401
- this.updateLastWidth();
402
- }
403
- updateLastWidth() {
404
- this._lastWidth = this._element.getBoundingClientRect().width;
405
+ handleDefinitions() {
406
+ if (!this._permissions) {
407
+ return;
408
+ }
409
+ this._definitions = this.elementsFromString(this.buttons);
410
+ requestAnimationFrame(() => {
411
+ requestAnimationFrame(() => {
412
+ var _a;
413
+ (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate();
414
+ });
415
+ });
405
416
  }
406
- disconnectedCallback() {
407
- var _a, _b;
408
- (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.unsubscribe(this.onSaveEvent);
409
- this.unlinkAllCustomElements();
410
- (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.destroy();
417
+ async getAccess() {
418
+ if (!this._application) {
419
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
420
+ }
421
+ if (!this._application) {
422
+ console.warn('[snk-taskbar] Application context não encontrado. Permissões serão vazias.');
423
+ this._permissions = {};
424
+ return;
425
+ }
426
+ try {
427
+ this._permissions = await this._application.getAllAccess(this.resourceID);
428
+ }
429
+ catch (error) {
430
+ console.error('[snk-taskbar] Erro ao obter permissões:', error);
431
+ this._permissions = {};
432
+ }
411
433
  }
412
434
  unlinkAllCustomElements() {
413
435
  var _a;
@@ -420,35 +442,82 @@ export class SnkTaskbar {
420
442
  unlinkCustomElementFromTaskbar(customElement) {
421
443
  this._slotContainer.appendChild(customElement);
422
444
  }
423
- render() {
424
- var _a, _b;
425
- if (this._definitions === undefined) {
426
- return undefined;
427
- }
428
- let index = 0;
429
- return (h(Host, { class: this.getHostClasses() }, this.removeEmpty(this._definitions.map((elem) => {
430
- var _a, _b;
431
- index++;
432
- if (TaskbarElement[elem]) {
433
- return this.getElement(index, TaskbarElement[elem]);
434
- }
435
- if ((_a = this.customButtons) === null || _a === void 0 ? void 0 : _a.has(elem)) {
436
- return this.getElement(index, this.customButtons.get(elem));
437
- }
438
- if (this._customElements.has(elem)) {
439
- return this.addCustomElementContainer(elem);
440
- }
441
- (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.addNotOverFlowElement(elem);
442
- return h("slot", { name: elem });
443
- })), h("div", { id: this.TASKBAR_CUSTOM_ELEMENTS, class: this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME }, h("slot", { name: this.customSlotId }), (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 :
444
- _a.addNotOverFlowElement(this.TASKBAR_CUSTOM_ELEMENTS)), h("div", { id: this.TASKBAR_ADDITIONAL_SLOT, class: this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME }, h("slot", { name: this.additionalSlotId }), (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 :
445
- _b.addNotOverFlowElement(this.TASKBAR_ADDITIONAL_SLOT))));
446
- }
447
445
  getHostClasses() {
448
446
  if (this.overflowStrategy !== 'hiddenItems')
449
447
  return 'no-wrap';
450
448
  return `full-width ${this.alignRigth ? 'align-right' : ""}`;
451
449
  }
450
+ connectedCallback() {
451
+ this.initializeDataUnit();
452
+ this.handleOverFlowStrategy();
453
+ this.getCustomElements();
454
+ }
455
+ async componentWillLoad() {
456
+ this._isLoading = true;
457
+ try {
458
+ await this.getAccess();
459
+ this.handleDefinitions();
460
+ }
461
+ catch (error) {
462
+ console.error('[snk-taskbar] Erro ao obter permissões de acesso:', error);
463
+ }
464
+ finally {
465
+ this._isLoading = false;
466
+ }
467
+ }
468
+ componentDidRender() {
469
+ this.appendCustomElementsInTaskbar();
470
+ }
471
+ disconnectedCallback() {
472
+ var _a, _b;
473
+ (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.unsubscribe(this.onSaveEvent);
474
+ this.unlinkAllCustomElements();
475
+ (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.destroy();
476
+ }
477
+ renderTaskbarElement(elem, index) {
478
+ var _a, _b;
479
+ if (TaskbarElement[elem]) {
480
+ return this.getElement(index, TaskbarElement[elem]);
481
+ }
482
+ if ((_a = this.customButtons) === null || _a === void 0 ? void 0 : _a.has(elem)) {
483
+ return this.getElement(index, this.customButtons.get(elem));
484
+ }
485
+ if (this._customElements.has(elem)) {
486
+ return this.addCustomElementContainer(elem);
487
+ }
488
+ (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.addNotOverFlowElement(elem);
489
+ return h("slot", { name: elem });
490
+ }
491
+ renderElements() {
492
+ var _a, _b;
493
+ const spacerIndex = (_a = this._definitions) === null || _a === void 0 ? void 0 : _a.indexOf(TaskbarElement.SPACER);
494
+ const hasSpacerElement = spacerIndex !== undefined && spacerIndex !== -1;
495
+ if (!hasSpacerElement) {
496
+ const arrayOfElements = (_b = this._definitions) === null || _b === void 0 ? void 0 : _b.map((elem, index) => this.renderTaskbarElement(elem, index));
497
+ return this.removeEmpty(arrayOfElements);
498
+ }
499
+ // Split elements into before and after spacer
500
+ const elementsBeforeSpacer = this._definitions.slice(0, spacerIndex);
501
+ const elementsAfterSpacer = this._definitions.slice(spacerIndex + 1);
502
+ const beforeElements = elementsBeforeSpacer.map((elem, index) => this.renderTaskbarElement(elem, index));
503
+ const afterElements = elementsAfterSpacer.map((elem, index) => this.renderTaskbarElement(elem, index + spacerIndex + 1));
504
+ return [
505
+ h("div", { class: "taskbar-group taskbar-group--start" }, this.removeEmpty(beforeElements)),
506
+ h("div", { class: "taskbar-group taskbar-group--end" }, this.removeEmpty(afterElements))
507
+ ];
508
+ }
509
+ render() {
510
+ var _a, _b;
511
+ if (!this._definitions) {
512
+ return;
513
+ }
514
+ if (this._isLoading && !this.disableSkeleton) {
515
+ return (h(Host, { class: this.getHostClasses() }, h("snk-taskbar-skeleton", null)));
516
+ }
517
+ return (h(Host, { class: this.getHostClasses() }, this.renderElements(), h("div", { id: this.TASKBAR_CUSTOM_ELEMENTS, class: this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME }, h("slot", { name: this.customSlotId }), (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 :
518
+ _a.addNotOverFlowElement(this.TASKBAR_CUSTOM_ELEMENTS)), h("div", { id: this.TASKBAR_ADDITIONAL_SLOT, class: this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME }, h("slot", { name: this.additionalSlotId }), (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 :
519
+ _b.addNotOverFlowElement(this.TASKBAR_ADDITIONAL_SLOT))));
520
+ }
452
521
  static get is() { return "snk-taskbar"; }
453
522
  static get encapsulation() { return "scoped"; }
454
523
  static get originalStyleUrls() {
@@ -705,6 +774,31 @@ export class SnkTaskbar {
705
774
  "text": ""
706
775
  }
707
776
  },
777
+ "customActionsList": {
778
+ "type": "unknown",
779
+ "mutable": false,
780
+ "complexType": {
781
+ "original": "Array<Action>",
782
+ "resolved": "Action[]",
783
+ "references": {
784
+ "Array": {
785
+ "location": "global"
786
+ },
787
+ "Action": {
788
+ "location": "local"
789
+ }
790
+ }
791
+ },
792
+ "required": false,
793
+ "optional": false,
794
+ "docs": {
795
+ "tags": [{
796
+ "name": "description",
797
+ "text": "Lista de a\u00E7\u00F5es personalizadas que devem ser usadas no bot\u00E3o \"Mais op\u00E7\u00F5es\"."
798
+ }],
799
+ "text": ""
800
+ }
801
+ },
708
802
  "primaryButton": {
709
803
  "type": "string",
710
804
  "mutable": false,
@@ -818,20 +912,56 @@ export class SnkTaskbar {
818
912
  }],
819
913
  "text": ""
820
914
  }
915
+ },
916
+ "disableSkeleton": {
917
+ "type": "boolean",
918
+ "mutable": false,
919
+ "complexType": {
920
+ "original": "boolean",
921
+ "resolved": "boolean",
922
+ "references": {}
923
+ },
924
+ "required": false,
925
+ "optional": false,
926
+ "docs": {
927
+ "tags": [{
928
+ "name": "description",
929
+ "text": "Se verdadeiro, desabilita a exibi\u00E7\u00E3o do esqueleto de carregamento da barra de tarefas."
930
+ }],
931
+ "text": ""
932
+ },
933
+ "attribute": "disable-skeleton",
934
+ "reflect": false,
935
+ "defaultValue": "false"
936
+ },
937
+ "sizeButtons": {
938
+ "type": "string",
939
+ "mutable": false,
940
+ "complexType": {
941
+ "original": "'small' | 'medium' | 'large'",
942
+ "resolved": "\"large\" | \"medium\" | \"small\"",
943
+ "references": {}
944
+ },
945
+ "required": false,
946
+ "optional": false,
947
+ "docs": {
948
+ "tags": [{
949
+ "name": "description",
950
+ "text": "Define o tamanho dos bot\u00F5es da barra de tarefas, podendo ser 'small', 'medium' ou 'large'."
951
+ }],
952
+ "text": ""
953
+ },
954
+ "attribute": "size-buttons",
955
+ "reflect": false,
956
+ "defaultValue": "'small'"
821
957
  }
822
958
  };
823
959
  }
824
960
  static get states() {
825
961
  return {
826
- "_permissions": {},
827
- "_overFlowedElements": {},
828
- "_customElements": {},
829
- "_customElementsId": {},
830
- "_slotContainer": {},
831
962
  "_hiddenActionsList": {},
832
- "_lastWidth": {},
833
- "_hasToUpdateOverFlow": {},
834
- "_isWaitingForSave": {}
963
+ "_isWaitingForSave": {},
964
+ "_isLoading": {}
835
965
  };
836
966
  }
837
967
  static get events() {
@@ -908,12 +1038,12 @@ export class SnkTaskbar {
908
1038
  }, {
909
1039
  "propName": "disabledButtons",
910
1040
  "methodName": "observeDisabledButtons"
911
- }, {
912
- "propName": "_lastWidth",
913
- "methodName": "observeLastWidth"
914
1041
  }, {
915
1042
  "propName": "_isWaitingForSave",
916
1043
  "methodName": "observeIsWaitingForSave"
1044
+ }, {
1045
+ "propName": "dataUnit",
1046
+ "methodName": "observeDataUnit"
917
1047
  }];
918
1048
  }
919
1049
  static get listeners() {
@@ -0,0 +1,12 @@
1
+ :host {
2
+ display: flex;
3
+ align-items: center;
4
+ height: 100%;
5
+ padding: 0 var(--space--8, 8px);
6
+ }
7
+
8
+ ez-skeleton {
9
+ --skeleton-width: 42px;
10
+ --skeleton-height: 42px;
11
+ --skeleton-margin-left: var(--space--4, 4px);
12
+ }
@@ -0,0 +1,19 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class SnkTaskbarSkeleton {
3
+ render() {
4
+ return (h(Host, null, h("ez-skeleton", { variant: "circle", count: 12 }), h("ez-skeleton", { width: "100px" })));
5
+ }
6
+ static get is() { return "snk-taskbar-skeleton"; }
7
+ static get encapsulation() { return "scoped"; }
8
+ static get originalStyleUrls() {
9
+ return {
10
+ "$": ["snk-taskbar-skeleton.css"]
11
+ };
12
+ }
13
+ static get styleUrls() {
14
+ return {
15
+ "$": ["snk-taskbar-skeleton.css"]
16
+ };
17
+ }
18
+ }
19
+ ;
@@ -78,6 +78,11 @@ export class ConfigStorage {
78
78
  await this.deleteGridConfigCache(name, resourceID);
79
79
  return this.gridConfigFetcher.saveConfig(config, name, resourceID);
80
80
  }
81
+ static async deleteGridConfig(name, resourceID) {
82
+ name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.grid);
83
+ await this.deleteGridConfigCache(name, resourceID);
84
+ return this.gridConfigFetcher.deleteConfig(name, resourceID);
85
+ }
81
86
  static async loadDefaultFilter(filterId, resourceID, configName) {
82
87
  const legacyConfigName = this.filterBarLegacyConfig.get(configName);
83
88
  return this.personalizedFilterFetcher.loadDefaultFilter(resourceID, filterId, configName, legacyConfigName);