@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-131882.2 → 0.0.0-bugfix-dev-KB-174860.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 (443) hide show
  1. package/LICENSE +4 -1
  2. package/dist/cjs/{ConfigStorage-d9d24844.js → ConfigStorage-156bfcac.js} +19 -2
  3. package/dist/cjs/ContinuousInsertUtils-1ae0c6ac.js +41 -0
  4. package/dist/cjs/{DataFetcher-3a8ea521.js → DataFetcher-d13b4637.js} +2803 -2
  5. package/dist/cjs/FormConfigHelper-c5f5473a.js +342 -0
  6. package/dist/cjs/{ISave-a66bb65e.js → ISave-55d9dcc3.js} +1 -1
  7. package/dist/cjs/{ImageUtils-5e3f406b.js → ImageUtils-d6139911.js} +5 -3
  8. package/dist/cjs/{PersonalizedFilterUtils-eccb267a.js → PersonalizedFilterUtils-263e4d24.js} +52 -5
  9. package/dist/cjs/{SnkFormConfigManager-c88cf1e9.js → SnkFormConfigManager-5cb9a39c.js} +2 -2
  10. package/dist/cjs/{SnkMultiSelectionListDataSource-f53b60c4.js → SnkMultiSelectionListDataSource-5c5badfc.js} +146 -74
  11. package/dist/cjs/{auth-fetcher-faa61f64.js → auth-fetcher-d1715459.js} +1 -1
  12. package/dist/cjs/{dataunit-fetcher-6febd6c4.js → dataunit-fetcher-fae710c5.js} +68 -110
  13. package/dist/cjs/fields-layout.cjs.entry.js +1 -1
  14. package/dist/cjs/fields-selector.cjs.entry.js +1 -1
  15. package/dist/cjs/{filter-type.enum-2bb46d2a.js → filter-type.enum-b3b388af.js} +7 -0
  16. package/dist/cjs/{form-config-fetcher-72cf0e3d.js → form-config-fetcher-bbebdcb8.js} +41 -5
  17. package/dist/cjs/guides-configurator.cjs.entry.js +2 -2
  18. package/dist/cjs/index-1894343a.js +28 -40
  19. package/dist/cjs/{index-e3e39724.js → index-bc950921.js} +6 -0
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +5 -6
  22. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  23. package/dist/cjs/{snk-actions-button_8.cjs.entry.js → snk-actions-button_9.cjs.entry.js} +151 -63
  24. package/dist/cjs/snk-application.cjs.entry.js +8 -9
  25. package/dist/cjs/snk-attach_11.cjs.entry.js +2958 -0
  26. package/dist/cjs/snk-configurator.cjs.entry.js +2 -0
  27. package/dist/cjs/snk-crud.cjs.entry.js +140 -99
  28. package/dist/cjs/snk-data-exporter.cjs.entry.js +61 -16
  29. package/dist/cjs/{snk-data-unit-94757628.js → snk-data-unit-32237a2d.js} +11 -11
  30. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -4
  31. package/dist/cjs/snk-detail-view.cjs.entry.js +28 -20
  32. package/dist/cjs/snk-dynaform-config-header_5.cjs.entry.js +739 -0
  33. package/dist/cjs/snk-dynaform-detail-view_2.cjs.entry.js +961 -0
  34. package/dist/cjs/snk-dynaform-field-config_2.cjs.entry.js +327 -0
  35. package/dist/cjs/snk-dynaform-guides-view-2c7c6ce4.js +1094 -0
  36. package/dist/cjs/snk-dynaform-guides-view.cjs.entry.js +23 -0
  37. package/dist/cjs/snk-dynaform.cjs.entry.js +679 -0
  38. package/dist/cjs/snk-entity-search.cjs.entry.js +211 -0
  39. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  40. package/dist/cjs/{snk-expression-group_2.cjs.entry.js → snk-expression-group_4.cjs.entry.js} +421 -18
  41. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +137 -121
  42. package/dist/cjs/snk-filter-search.cjs.entry.js +10 -0
  43. package/dist/cjs/snk-form-view.cjs.entry.js +1 -4
  44. package/dist/cjs/snk-form_2.cjs.entry.js +4 -5
  45. package/dist/cjs/snk-grid.cjs.entry.js +53 -21
  46. package/dist/cjs/{snk-guides-viewer-315f8580.js → snk-guides-viewer-67b9cca9.js} +38 -161
  47. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -17
  48. package/dist/cjs/snk-layout-form-config.cjs.entry.js +5 -6
  49. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -6
  50. package/dist/cjs/snk-taskbar.cjs.entry.js +182 -125
  51. package/dist/cjs/{sortable.esm-9a110bb7.js → sortable.esm-b87669ab.js} +76 -90
  52. package/dist/cjs/taskbar-elements-25f800b3.js +152 -0
  53. package/dist/cjs/taskbarUtils-99aaa01f.js +236 -0
  54. package/dist/collection/collection-manifest.json +19 -0
  55. package/dist/collection/components/snk-actions-button/actions/executor/launch-screen.executor.js +6 -3
  56. package/dist/collection/components/snk-actions-button/snk-actions-button.js +30 -6
  57. package/dist/collection/components/snk-attach/snk-attach.css +29 -7
  58. package/dist/collection/components/snk-attach/snk-attach.js +93 -18
  59. package/dist/collection/components/snk-configurator/snk-configurator.js +2 -0
  60. package/dist/collection/components/snk-crud/snk-crud.css +55 -0
  61. package/dist/collection/components/snk-crud/snk-crud.js +147 -94
  62. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +4 -1
  63. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +18 -7
  64. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.css +17 -0
  65. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.js +330 -0
  66. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +0 -3
  67. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +22 -8
  68. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +36 -152
  69. package/dist/collection/components/snk-crud/utils/taskbarUtils.js +163 -0
  70. package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +1 -1
  71. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +2 -2
  72. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +78 -23
  73. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +28 -5
  74. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +43 -2
  75. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomEditor.js +1 -0
  76. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomRender.js +1 -0
  77. package/dist/collection/components/snk-dynaform/snk-dynaform.css +69 -0
  78. package/dist/collection/components/snk-dynaform/snk-dynaform.js +1661 -0
  79. package/dist/collection/components/snk-dynaform/subcomponents/CardFormResizeObserver.js +26 -0
  80. package/dist/collection/components/snk-dynaform/subcomponents/GuideBuilder.js +51 -0
  81. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.css +182 -0
  82. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.js +1015 -0
  83. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.css +98 -0
  84. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.js +590 -0
  85. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.css +321 -0
  86. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.js +1587 -0
  87. package/dist/collection/components/snk-dynaform-form-config/FormConfigHelper.js +325 -0
  88. package/dist/collection/components/snk-dynaform-form-config/SnkFormConfigManager.js +219 -0
  89. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.css +17 -0
  90. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.js +236 -0
  91. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.css +41 -0
  92. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.js +170 -0
  93. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.css +22 -0
  94. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.js +408 -0
  95. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.css +88 -0
  96. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.js +209 -0
  97. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.css +167 -0
  98. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.js +655 -0
  99. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.css +42 -0
  100. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.js +171 -0
  101. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.css +66 -0
  102. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.js +557 -0
  103. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.css +80 -0
  104. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.js +326 -0
  105. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +30 -0
  106. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +9 -3
  107. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.css +2 -2
  108. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +24 -4
  109. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +6 -1
  110. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +8 -5
  111. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -6
  112. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +148 -77
  113. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +0 -1
  114. package/dist/collection/components/snk-grid/snk-grid.css +21 -5
  115. package/dist/collection/components/snk-grid/snk-grid.js +161 -7
  116. package/dist/collection/components/snk-grid-config/snk-grid-config.js +111 -44
  117. package/dist/collection/components/snk-image-input/snk-image-input.js +15 -3
  118. package/dist/collection/components/snk-image-input/utils/ImageUtils.js +5 -3
  119. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  120. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +8 -0
  121. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +38 -2
  122. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +51 -35
  123. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +27 -1
  124. package/dist/collection/components/snk-taskbar/processor/simple-taskbar-processor.js +55 -0
  125. package/dist/collection/components/snk-taskbar/snk-taskbar.css +44 -1
  126. package/dist/collection/components/snk-taskbar/snk-taskbar.js +248 -132
  127. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.css +12 -0
  128. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.js +19 -0
  129. package/dist/collection/lib/@types/index.js +6 -0
  130. package/dist/collection/lib/configs/ConfigStorage.js +5 -0
  131. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +1 -1
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +51 -4
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +15 -104
  134. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +22 -4
  135. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +12 -0
  136. package/dist/collection/lib/http/data-fetcher/fetchers/resource-fetcher.js +18 -0
  137. package/dist/collection/lib/message/resources/en-us/dataUnitDataLoaderHelper.msg.js +0 -13
  138. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +12 -0
  139. package/dist/collection/lib/message/resources/es-es/dataUnitDataLoaderHelper.msg.js +0 -13
  140. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +12 -0
  141. package/dist/collection/lib/message/resources/pt-br/dataUnitDataLoaderHelper.msg.js +0 -13
  142. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +12 -0
  143. package/dist/collection/lib/utils/CrudUtils.js +7 -4
  144. package/dist/components/ConfigStorage.js +17 -0
  145. package/dist/components/ContinuousInsertUtils.js +86 -28
  146. package/dist/components/ISave.js +6 -0
  147. package/dist/components/SnkMessageBuilder.js +36 -39
  148. package/dist/components/dataunit-fetcher.js +67 -109
  149. package/dist/components/form-config-fetcher.js +40 -4
  150. package/dist/components/guides-configurator2.js +1 -1
  151. package/dist/components/index.d.ts +14 -0
  152. package/dist/components/index.js +14 -0
  153. package/dist/components/snk-actions-button2.js +15 -9
  154. package/dist/components/snk-attach2.js +67 -26
  155. package/dist/components/snk-configurator2.js +2 -0
  156. package/dist/components/snk-crud.js +229 -175
  157. package/dist/components/snk-data-exporter2.js +56 -9
  158. package/dist/components/snk-detail-view2.js +174 -267
  159. package/dist/components/snk-dynaform-config-header.d.ts +11 -0
  160. package/dist/components/snk-dynaform-config-header.js +6 -0
  161. package/dist/components/snk-dynaform-config-header2.js +103 -0
  162. package/dist/components/snk-dynaform-configs-button.d.ts +11 -0
  163. package/dist/components/snk-dynaform-configs-button.js +6 -0
  164. package/dist/components/snk-dynaform-configs-button2.js +76 -0
  165. package/dist/components/snk-dynaform-detail-view.d.ts +11 -0
  166. package/dist/components/snk-dynaform-detail-view.js +6 -0
  167. package/dist/components/snk-dynaform-detail-view2.js +2213 -0
  168. package/dist/components/snk-dynaform-field-config.d.ts +11 -0
  169. package/dist/components/snk-dynaform-field-config.js +6 -0
  170. package/dist/components/snk-dynaform-field-config2.js +605 -0
  171. package/dist/components/snk-dynaform-field-item.d.ts +11 -0
  172. package/dist/components/snk-dynaform-field-item.js +6 -0
  173. package/dist/components/snk-dynaform-field-item2.js +96 -0
  174. package/dist/components/snk-dynaform-fields-layout.d.ts +11 -0
  175. package/dist/components/snk-dynaform-fields-layout.js +6 -0
  176. package/dist/components/snk-dynaform-fields-layout2.js +428 -0
  177. package/dist/components/snk-dynaform-fields-selector.d.ts +11 -0
  178. package/dist/components/snk-dynaform-fields-selector.js +6 -0
  179. package/dist/components/snk-dynaform-fields-selector2.js +104 -0
  180. package/dist/components/snk-dynaform-form-config.d.ts +11 -0
  181. package/dist/components/snk-dynaform-form-config.js +6 -0
  182. package/dist/components/snk-dynaform-form-config2.js +430 -0
  183. package/dist/components/snk-dynaform-form-view.d.ts +11 -0
  184. package/dist/components/snk-dynaform-form-view.js +6 -0
  185. package/dist/components/snk-dynaform-form-view2.js +272 -0
  186. package/dist/components/snk-dynaform-guides-configurator.d.ts +11 -0
  187. package/dist/components/snk-dynaform-guides-configurator.js +6 -0
  188. package/dist/components/snk-dynaform-guides-configurator2.js +173 -0
  189. package/dist/components/snk-dynaform-guides-view.d.ts +11 -0
  190. package/dist/components/snk-dynaform-guides-view.js +6 -0
  191. package/dist/components/snk-dynaform.d.ts +11 -0
  192. package/dist/components/snk-dynaform.js +1007 -0
  193. package/dist/components/snk-entity-search.d.ts +11 -0
  194. package/dist/components/snk-entity-search.js +6 -0
  195. package/dist/components/snk-entity-search2.js +231 -0
  196. package/dist/components/snk-exporter-email-sender2.js +1 -1
  197. package/dist/components/snk-filter-bar2.js +98 -79
  198. package/dist/components/snk-filter-detail2.js +9 -3
  199. package/dist/components/snk-filter-item2.js +5 -5
  200. package/dist/components/snk-filter-modal2.js +8 -5
  201. package/dist/components/snk-filter-search.js +12 -1
  202. package/dist/components/snk-form-view2.js +0 -3
  203. package/dist/components/snk-grid-config2.js +92 -44
  204. package/dist/components/snk-grid2.js +95 -50
  205. package/dist/components/snk-image-input2.js +20 -6
  206. package/dist/components/snk-personalized-filter2.js +1 -1
  207. package/dist/components/snk-simple-crud2.js +29 -23
  208. package/dist/components/snk-taskbar-skeleton.d.ts +11 -0
  209. package/dist/components/snk-taskbar-skeleton.js +6 -0
  210. package/dist/components/snk-taskbar-skeleton2.js +29 -0
  211. package/dist/components/snk-taskbar2.js +253 -174
  212. package/dist/components/sortable.esm.js +76 -90
  213. package/dist/components/taskbar-actions-button2.js +21 -2
  214. package/dist/components/taskbar-split-button2.js +10 -1
  215. package/dist/components/taskbarUtils.js +229 -0
  216. package/dist/esm/{ConfigStorage-d15d2014.js → ConfigStorage-0d1c0695.js} +19 -2
  217. package/dist/esm/ContinuousInsertUtils-bce77dc1.js +39 -0
  218. package/dist/esm/{DataFetcher-1dd7e8c0.js → DataFetcher-70de9419.js} +2803 -3
  219. package/dist/esm/FormConfigHelper-efc29480.js +328 -0
  220. package/dist/esm/{ISave-498c4831.js → ISave-f5704813.js} +1 -1
  221. package/dist/esm/{ImageUtils-8fc8d905.js → ImageUtils-efbea0e4.js} +5 -3
  222. package/dist/esm/{PersonalizedFilterUtils-d2439a9a.js → PersonalizedFilterUtils-45b5803c.js} +49 -2
  223. package/dist/esm/{SnkFormConfigManager-86befa68.js → SnkFormConfigManager-e7f05f79.js} +2 -2
  224. package/dist/esm/{SnkMultiSelectionListDataSource-6e9496f0.js → SnkMultiSelectionListDataSource-6ac291a9.js} +141 -69
  225. package/dist/esm/{auth-fetcher-69cbda8d.js → auth-fetcher-e34880e5.js} +1 -1
  226. package/dist/esm/{dataunit-fetcher-21c43ec7.js → dataunit-fetcher-d26e4a08.js} +68 -110
  227. package/dist/esm/fields-layout.entry.js +1 -1
  228. package/dist/esm/fields-selector.entry.js +1 -1
  229. package/dist/esm/{filter-type.enum-f6a8fe23.js → filter-type.enum-62b7fe88.js} +8 -1
  230. package/dist/esm/{form-config-fetcher-fcc7b62f.js → form-config-fetcher-98c42169.js} +41 -5
  231. package/dist/esm/guides-configurator.entry.js +2 -2
  232. package/dist/esm/index-04f73a26.js +28 -40
  233. package/dist/esm/{index-b40568ff.js → index-c6721886.js} +6 -0
  234. package/dist/esm/loader.js +1 -1
  235. package/dist/esm/pesquisa-grid_2.entry.js +5 -6
  236. package/dist/esm/sankhyablocks.js +1 -1
  237. package/dist/esm/{snk-actions-button_8.entry.js → snk-actions-button_9.entry.js} +152 -65
  238. package/dist/esm/snk-application.entry.js +7 -8
  239. package/dist/esm/snk-attach_11.entry.js +2944 -0
  240. package/dist/esm/snk-configurator.entry.js +2 -0
  241. package/dist/esm/snk-crud.entry.js +140 -99
  242. package/dist/esm/snk-data-exporter.entry.js +61 -16
  243. package/dist/esm/{snk-data-unit-3b06a0f3.js → snk-data-unit-ff57ac90.js} +2 -2
  244. package/dist/esm/snk-data-unit.entry.js +3 -4
  245. package/dist/esm/snk-detail-view.entry.js +26 -18
  246. package/dist/esm/snk-dynaform-config-header_5.entry.js +731 -0
  247. package/dist/esm/snk-dynaform-detail-view_2.entry.js +956 -0
  248. package/dist/esm/snk-dynaform-field-config_2.entry.js +322 -0
  249. package/dist/esm/snk-dynaform-guides-view-0dfbefc1.js +1091 -0
  250. package/dist/esm/snk-dynaform-guides-view.entry.js +15 -0
  251. package/dist/esm/snk-dynaform.entry.js +675 -0
  252. package/dist/esm/snk-entity-search.entry.js +207 -0
  253. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  254. package/dist/esm/{snk-expression-group_2.entry.js → snk-expression-group_4.entry.js} +405 -4
  255. package/dist/esm/snk-filter-bar_4.entry.js +112 -96
  256. package/dist/esm/snk-filter-search.entry.js +10 -0
  257. package/dist/esm/snk-form-view.entry.js +1 -4
  258. package/dist/esm/snk-form_2.entry.js +4 -5
  259. package/dist/esm/snk-grid.entry.js +50 -18
  260. package/dist/esm/{snk-guides-viewer-a4e31f63.js → snk-guides-viewer-31a0a23d.js} +39 -162
  261. package/dist/esm/snk-guides-viewer.entry.js +8 -17
  262. package/dist/esm/snk-layout-form-config.entry.js +5 -6
  263. package/dist/esm/snk-pesquisa.entry.js +5 -6
  264. package/dist/esm/snk-taskbar.entry.js +183 -126
  265. package/dist/esm/{sortable.esm-842f85a3.js → sortable.esm-bc277c12.js} +76 -90
  266. package/dist/esm/taskbar-elements-ba9d6889.js +149 -0
  267. package/dist/esm/taskbarUtils-cb9db0d9.js +230 -0
  268. package/dist/sankhyablocks/{p-32ad76cc.js → p-097d75b3.js} +2 -2
  269. package/dist/sankhyablocks/p-0dbd53d9.js +1 -0
  270. package/dist/sankhyablocks/p-12579574.entry.js +1 -0
  271. package/dist/sankhyablocks/p-1d31aec3.entry.js +1 -0
  272. package/dist/sankhyablocks/{p-2cc2526e.entry.js → p-1d7d5814.entry.js} +1 -1
  273. package/dist/sankhyablocks/p-24b059ee.entry.js +1 -0
  274. package/dist/sankhyablocks/p-250b273e.entry.js +1 -0
  275. package/dist/sankhyablocks/p-26f1919e.entry.js +1 -0
  276. package/dist/sankhyablocks/p-2a83f20e.entry.js +1 -0
  277. package/dist/sankhyablocks/p-2c4f7fdd.entry.js +1 -0
  278. package/dist/sankhyablocks/p-2ec98523.js +1 -0
  279. package/dist/sankhyablocks/p-449dfe55.entry.js +1 -0
  280. package/dist/sankhyablocks/p-46d7e2de.js +1 -0
  281. package/dist/sankhyablocks/p-4dd574d6.js +1 -0
  282. package/dist/sankhyablocks/p-541c72ec.entry.js +1 -0
  283. package/dist/sankhyablocks/p-58709cf9.js +1 -0
  284. package/dist/sankhyablocks/p-5aeae67f.js +1 -0
  285. package/dist/sankhyablocks/p-5d50f59a.entry.js +1 -0
  286. package/dist/sankhyablocks/p-5ef0e9a8.entry.js +1 -0
  287. package/dist/sankhyablocks/p-6d3bcabf.entry.js +1 -0
  288. package/dist/sankhyablocks/p-6f60df43.js +1 -0
  289. package/dist/sankhyablocks/p-846d8f79.entry.js +1 -0
  290. package/dist/sankhyablocks/{p-e30acdca.entry.js → p-855ccf64.entry.js} +1 -1
  291. package/dist/sankhyablocks/p-885262ce.entry.js +1 -0
  292. package/dist/sankhyablocks/p-8d1ef77a.js +60 -0
  293. package/dist/sankhyablocks/{p-9114e869.js → p-8d81c8d3.js} +2 -2
  294. package/dist/sankhyablocks/p-8f5dd87d.entry.js +1 -0
  295. package/dist/sankhyablocks/p-90037547.js +1 -0
  296. package/dist/sankhyablocks/{p-7150eacf.entry.js → p-9742ea0e.entry.js} +1 -1
  297. package/dist/sankhyablocks/p-9e02a785.js +1 -0
  298. package/dist/sankhyablocks/{p-6564180d.entry.js → p-9e7dc97d.entry.js} +1 -1
  299. package/dist/sankhyablocks/p-a25ab2ff.entry.js +1 -0
  300. package/dist/sankhyablocks/p-a696bbcd.entry.js +1 -0
  301. package/dist/sankhyablocks/{p-88b0797e.entry.js → p-a9012341.entry.js} +2 -2
  302. package/dist/sankhyablocks/p-abcb646d.js +1 -0
  303. package/dist/sankhyablocks/{p-4ff3b494.js → p-af673291.js} +1 -1
  304. package/dist/sankhyablocks/p-bd2a845c.js +1 -0
  305. package/dist/sankhyablocks/p-c4b34e2b.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-7e9f8fa4.js → p-c9440c8a.js} +1 -1
  307. package/dist/sankhyablocks/p-ca3728c0.entry.js +1 -0
  308. package/dist/sankhyablocks/p-cbb8e351.js +7 -0
  309. package/dist/sankhyablocks/p-cd153f71.entry.js +1 -0
  310. package/dist/sankhyablocks/p-ce8ccd72.entry.js +1 -0
  311. package/dist/sankhyablocks/p-ddb160eb.entry.js +1 -0
  312. package/dist/sankhyablocks/p-e5a3711f.js +1 -0
  313. package/dist/sankhyablocks/{p-2b882835.entry.js → p-e737fd5a.entry.js} +1 -1
  314. package/dist/sankhyablocks/{p-362e6e8c.js → p-eac48627.js} +1 -1
  315. package/dist/sankhyablocks/p-ec7c87bb.js +28 -0
  316. package/dist/sankhyablocks/p-fb6e3c65.entry.js +1 -0
  317. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  318. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +4 -0
  319. package/dist/types/components/snk-attach/snk-attach.d.ts +22 -4
  320. package/dist/types/components/snk-crud/snk-crud.d.ts +28 -10
  321. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +3 -2
  322. package/dist/types/components/snk-crud/subcomponents/snk-entity-search.d.ts +62 -0
  323. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +4 -18
  324. package/dist/types/components/snk-crud/utils/taskbarUtils.d.ts +13 -0
  325. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +8 -0
  326. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -0
  327. package/dist/types/components/snk-data-exporter/structure/ItemBuilder.d.ts +16 -0
  328. package/dist/types/components/snk-dynaform/interfaces/PropsCustomEditor.d.ts +4 -0
  329. package/dist/types/components/snk-dynaform/interfaces/PropsCustomRender.d.ts +4 -0
  330. package/dist/types/components/snk-dynaform/subcomponents/CardFormResizeObserver.d.ts +1 -0
  331. package/dist/types/components/snk-dynaform/subcomponents/GuideBuilder.d.ts +14 -0
  332. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.d.ts +169 -0
  333. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.d.ts +108 -0
  334. package/dist/types/components/snk-dynaform-form-config/FormConfigHelper.d.ts +36 -0
  335. package/dist/types/components/snk-dynaform-form-config/SnkFormConfigManager.d.ts +35 -0
  336. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.d.ts +23 -0
  337. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.d.ts +19 -0
  338. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.d.ts +56 -0
  339. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.d.ts +74 -0
  340. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.d.ts +21 -0
  341. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-form-config.d.ts +95 -0
  342. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.d.ts +35 -0
  343. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +1 -0
  344. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +1 -1
  345. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +5 -1
  346. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +33 -16
  347. package/dist/types/components/snk-grid/snk-grid.d.ts +29 -1
  348. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +7 -0
  349. package/dist/types/components/snk-image-input/snk-image-input.d.ts +1 -0
  350. package/dist/types/components/snk-image-input/utils/ImageUtils.d.ts +1 -1
  351. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +6 -0
  352. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +29 -2
  353. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +5 -0
  354. package/dist/types/components/snk-taskbar/processor/simple-taskbar-processor.d.ts +31 -0
  355. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +32 -21
  356. package/dist/types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.d.ts +3 -0
  357. package/dist/types/components.d.ts +2503 -1188
  358. package/dist/types/lib/@types/index.d.ts +6 -0
  359. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -0
  360. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  361. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +3 -1
  362. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +2 -0
  363. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +1 -0
  364. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -0
  365. package/dist/types/lib/http/data-fetcher/fetchers/resource-fetcher.d.ts +1 -0
  366. package/package.json +11 -8
  367. package/react/components.d.ts +14 -0
  368. package/react/components.js +14 -0
  369. package/react/components.js.map +1 -1
  370. package/dist/cjs/SnkMessageBuilder-d9558dba.js +0 -2809
  371. package/dist/cjs/default-filters-a09bf82b.js +0 -8
  372. package/dist/cjs/index-62760a9c.js +0 -49
  373. package/dist/cjs/index-8d94b7e0.js +0 -7
  374. package/dist/cjs/snk-attach.cjs.entry.js +0 -911
  375. package/dist/cjs/snk-default-filter.cjs.entry.js +0 -77
  376. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +0 -61
  377. package/dist/cjs/snk-filter-detail.cjs.entry.js +0 -198
  378. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +0 -408
  379. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +0 -109
  380. package/dist/cjs/snk-image-input.cjs.entry.js +0 -148
  381. package/dist/cjs/snk-personalized-filter.cjs.entry.js +0 -358
  382. package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -45
  383. package/dist/cjs/snk-simple-crud.cjs.entry.js +0 -865
  384. package/dist/cjs/taskbar-elements-a94d4318.js +0 -133
  385. package/dist/cjs/taskbar-processor-2fba34a8.js +0 -53
  386. package/dist/esm/SnkMessageBuilder-c0bc4424.js +0 -2807
  387. package/dist/esm/default-filters-50105e43.js +0 -8
  388. package/dist/esm/index-620ac460.js +0 -7
  389. package/dist/esm/index-8acbae97.js +0 -49
  390. package/dist/esm/snk-attach.entry.js +0 -907
  391. package/dist/esm/snk-default-filter.entry.js +0 -73
  392. package/dist/esm/snk-filter-advanced-mode_2.entry.js +0 -56
  393. package/dist/esm/snk-filter-detail.entry.js +0 -194
  394. package/dist/esm/snk-filter-field-search_2.entry.js +0 -403
  395. package/dist/esm/snk-filter-modal-item.entry.js +0 -105
  396. package/dist/esm/snk-image-input.entry.js +0 -144
  397. package/dist/esm/snk-personalized-filter.entry.js +0 -354
  398. package/dist/esm/snk-simple-bar.entry.js +0 -41
  399. package/dist/esm/snk-simple-crud.entry.js +0 -861
  400. package/dist/esm/taskbar-elements-97541bdd.js +0 -130
  401. package/dist/esm/taskbar-processor-3436124c.js +0 -51
  402. package/dist/sankhyablocks/p-07619e85.entry.js +0 -1
  403. package/dist/sankhyablocks/p-0d15b109.entry.js +0 -1
  404. package/dist/sankhyablocks/p-0f3698af.js +0 -1
  405. package/dist/sankhyablocks/p-10cad767.entry.js +0 -1
  406. package/dist/sankhyablocks/p-17653b22.entry.js +0 -1
  407. package/dist/sankhyablocks/p-1a0caadb.js +0 -1
  408. package/dist/sankhyablocks/p-25540da8.js +0 -1
  409. package/dist/sankhyablocks/p-27d6590e.js +0 -1
  410. package/dist/sankhyablocks/p-27e0cd68.entry.js +0 -1
  411. package/dist/sankhyablocks/p-2a356340.entry.js +0 -1
  412. package/dist/sankhyablocks/p-438a225f.entry.js +0 -1
  413. package/dist/sankhyablocks/p-45a830d9.js +0 -1
  414. package/dist/sankhyablocks/p-48c580b9.entry.js +0 -1
  415. package/dist/sankhyablocks/p-4a8d0917.entry.js +0 -1
  416. package/dist/sankhyablocks/p-4cdfa0e4.entry.js +0 -1
  417. package/dist/sankhyablocks/p-4fe8380b.entry.js +0 -1
  418. package/dist/sankhyablocks/p-51833248.js +0 -7
  419. package/dist/sankhyablocks/p-68c1a093.js +0 -1
  420. package/dist/sankhyablocks/p-6a4b21dd.js +0 -1
  421. package/dist/sankhyablocks/p-72d62f22.js +0 -1
  422. package/dist/sankhyablocks/p-73b455e1.entry.js +0 -1
  423. package/dist/sankhyablocks/p-84345e7a.js +0 -1
  424. package/dist/sankhyablocks/p-8bb4e86b.entry.js +0 -1
  425. package/dist/sankhyablocks/p-9c1ff75e.entry.js +0 -1
  426. package/dist/sankhyablocks/p-a9839628.js +0 -26
  427. package/dist/sankhyablocks/p-b25777fa.entry.js +0 -1
  428. package/dist/sankhyablocks/p-b568c1d4.js +0 -1
  429. package/dist/sankhyablocks/p-b9970342.js +0 -60
  430. package/dist/sankhyablocks/p-bdf0077f.js +0 -1
  431. package/dist/sankhyablocks/p-c8043a53.entry.js +0 -1
  432. package/dist/sankhyablocks/p-c860552e.entry.js +0 -1
  433. package/dist/sankhyablocks/p-cc64239c.entry.js +0 -1
  434. package/dist/sankhyablocks/p-cd00a3d1.entry.js +0 -1
  435. package/dist/sankhyablocks/p-e0a6818c.js +0 -1
  436. package/dist/sankhyablocks/p-e0e3914e.entry.js +0 -1
  437. package/dist/sankhyablocks/p-ebce5394.entry.js +0 -1
  438. package/dist/sankhyablocks/p-ef9343c3.entry.js +0 -1
  439. package/dist/sankhyablocks/p-f1110b78.entry.js +0 -1
  440. package/dist/sankhyablocks/p-f1bf7248.entry.js +0 -1
  441. package/dist/sankhyablocks/p-f1d541e9.entry.js +0 -1
  442. package/dist/sankhyablocks/p-f2472d12.entry.js +0 -1
  443. package/dist/sankhyablocks/p-f4184ce7.js +0 -1
@@ -1,11 +1,12 @@
1
1
  import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
2
- import { Action, ElementIDUtils, LockManager, LockManagerOperation, SilentException, StringUtils, ApplicationContext, OVERFLOWED_CLASS_NAME, OverflowWatcher, OverflowDirection } from '@sankhyalabs/core';
2
+ import { Action, ElementIDUtils, LockManager, LockManagerOperation, SilentException, StringUtils, OVERFLOWED_CLASS_NAME, OverflowWatcher, OverflowDirection, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { P as PresentationMode } from './ISave.js';
4
4
  import { A as AuthorizationConfig } from './AuthorizationConfig.js';
5
5
  import { s as store } from './index2.js';
6
- import { d as defineCustomElement$5 } from './snk-actions-button2.js';
7
- import { d as defineCustomElement$4 } from './snk-data-exporter2.js';
8
- import { d as defineCustomElement$3 } from './snk-exporter-email-sender2.js';
6
+ import { d as defineCustomElement$6 } from './snk-actions-button2.js';
7
+ import { d as defineCustomElement$5 } from './snk-data-exporter2.js';
8
+ import { d as defineCustomElement$4 } from './snk-exporter-email-sender2.js';
9
+ import { d as defineCustomElement$3 } from './snk-taskbar-skeleton2.js';
9
10
  import { d as defineCustomElement$2 } from './taskbar-actions-button2.js';
10
11
  import { d as defineCustomElement$1 } from './taskbar-split-button2.js';
11
12
 
@@ -24,6 +25,7 @@ var TaskbarElement;
24
25
  TaskbarElement["FORM_MODE"] = "FORM_MODE";
25
26
  TaskbarElement["MORE_OPTIONS"] = "MORE_OPTIONS";
26
27
  TaskbarElement["DIVIDER"] = "DIVIDER";
28
+ TaskbarElement["SPACER"] = "SPACER";
27
29
  TaskbarElement["CONFIGURATOR"] = "CONFIGURATOR";
28
30
  TaskbarElement["DATA_EXPORTER"] = "DATA_EXPORTER";
29
31
  TaskbarElement["ATTACH"] = "ATTACH";
@@ -42,99 +44,117 @@ var VisibleWhenForbidden;
42
44
  (function (VisibleWhenForbidden) {
43
45
  VisibleWhenForbidden["CONFIGURATOR"] = "CONFIGURATOR";
44
46
  })(VisibleWhenForbidden || (VisibleWhenForbidden = {}));
45
- const buildCustomButton = (def, className, dataElementId, action, isEnabled) => {
47
+ const buildCustomButton = ({ def, className, dataElementId, action, isEnabled, size }) => {
46
48
  const { hint, text, iconName } = def;
47
49
  if (iconName) {
48
50
  if (text) {
49
- return iconTextButton(iconName, def.name, className, dataElementId, hint, text, action, isEnabled);
51
+ return iconTextButton({ iconName, element: def.name, className, dataElementId, title: hint, action, isEnabled, size });
50
52
  }
51
53
  else {
52
- return iconButton(iconName, def.name, className, dataElementId, hint, action, isEnabled);
54
+ return iconButton({ iconName, element: def.name, className, dataElementId, title: hint, action, isEnabled, size });
53
55
  }
54
56
  }
55
57
  else {
56
- return textButton(def.name, className, dataElementId, text, hint, action, isEnabled);
58
+ return textButton({ element: def.name, className, dataElementId, title: hint, action, isEnabled, size });
57
59
  }
58
60
  };
59
- const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions, dataExporterStoreKey, presentationMode) => {
61
+ const buildElem = ({ element, className, dataElementId, getTitle, action, isEnabled, actions, dataExporterStoreKey, presentationMode, variant, size }) => {
60
62
  var _a, _b;
61
63
  const title = getTitle(element);
64
+ const propertiesItem = {
65
+ element, className, dataElementId, title, action, isEnabled, actions, variant, size
66
+ };
62
67
  switch (element) {
63
68
  case TaskbarElement.PREVIOUS:
64
- return iconButton("chevron-left", element, className, dataElementId, title, action, isEnabled);
69
+ return iconButton(Object.assign({ iconName: "chevron-left" }, propertiesItem));
65
70
  case TaskbarElement.NEXT:
66
- return iconButton("chevron-right", element, className, dataElementId, title, action, isEnabled);
71
+ return iconButton(Object.assign({ iconName: "chevron-right" }, propertiesItem));
67
72
  case TaskbarElement.REFRESH:
68
- return iconButton("sync", element, className, dataElementId, title, action, isEnabled);
73
+ return iconButton(Object.assign({ iconName: "sync" }, propertiesItem));
69
74
  case TaskbarElement.UPDATE:
70
- return iconButton("edit", element, className, dataElementId, title, action, isEnabled);
75
+ return iconButton(Object.assign({ iconName: "edit" }, propertiesItem));
71
76
  case TaskbarElement.UPDATE_MULTIPLE:
72
- return iconButton("edit-table", element, className, dataElementId, title, action, isEnabled);
77
+ return iconButton(Object.assign({ iconName: "edit-table" }, propertiesItem));
73
78
  case TaskbarElement.CLONE:
74
- return iconButton("copy", element, className, dataElementId, title, action, isEnabled);
79
+ return iconButton(Object.assign({ iconName: "copy" }, propertiesItem));
75
80
  case TaskbarElement.REMOVE:
76
- return iconButton("delete", element, className, dataElementId, title, action, isEnabled);
81
+ return iconButton(Object.assign({ iconName: "delete" }, propertiesItem));
77
82
  case TaskbarElement.INSERT:
78
83
  if (presentationMode === PresentationMode.PRIMARY) {
79
- return iconTextButton("plus", element, className, dataElementId, title, title, action, isEnabled);
84
+ return textButton(Object.assign({}, propertiesItem));
80
85
  }
81
86
  else {
82
- return iconButton("plus", element, className, dataElementId, title, action, isEnabled);
87
+ return iconButton(Object.assign({ iconName: "plus" }, propertiesItem));
83
88
  }
84
89
  case TaskbarElement.CANCEL:
85
- return textButton(element, className, dataElementId, title, title, action, isEnabled);
90
+ return textButton(Object.assign({}, propertiesItem));
86
91
  case TaskbarElement.SAVE:
87
92
  if (presentationMode === PresentationMode.PRIMARY) {
88
- return iconTextButton("save", element, className, dataElementId, title, title, action, isEnabled);
93
+ return iconTextButton(Object.assign(Object.assign({ iconName: "save" }, propertiesItem), { variant: "primary" }));
89
94
  }
90
95
  else {
91
- return iconButton("save", element, className, dataElementId, title, action, isEnabled);
96
+ return iconButton(Object.assign(Object.assign({ iconName: "save" }, propertiesItem), { variant: "primary" }));
92
97
  }
93
98
  case TaskbarElement.GRID_MODE:
94
- return iconButton("table", element, className, dataElementId, title, action, isEnabled);
99
+ return iconButton(Object.assign({ iconName: "table" }, propertiesItem));
95
100
  case TaskbarElement.FORM_MODE:
96
- return iconButton("list", element, className, dataElementId, title, action, isEnabled);
101
+ return iconButton(Object.assign({ iconName: "list" }, propertiesItem));
97
102
  case TaskbarElement.CONFIGURATOR:
98
103
  if ((actions === null || actions === void 0 ? void 0 : actions.length) > 0) {
99
- return splitButton("settings-inverted", element, className, title, dataElementId, isEnabled, actions, action);
104
+ return splitButton(Object.assign({ iconName: "settings-inverted" }, propertiesItem));
100
105
  }
101
- return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
106
+ return iconButton(Object.assign({ iconName: "settings-inverted" }, propertiesItem));
102
107
  case TaskbarElement.MORE_OPTIONS:
103
108
  const definedActions = (_a = actions === null || actions === void 0 ? void 0 : actions.filter(a => a !== undefined)) !== null && _a !== void 0 ? _a : [];
104
- return actionButton(element, className, dataElementId, title, isEnabled, definedActions, action);
109
+ return actionButton(Object.assign(Object.assign({}, propertiesItem), { actions: definedActions }));
105
110
  case TaskbarElement.DIVIDER:
106
111
  return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin--none ez-margin-left--medium", "data-taskbar-divider": true });
107
112
  case TaskbarElement.DATA_EXPORTER:
108
113
  const provider = (_b = store.get("exporterProviders")) === null || _b === void 0 ? void 0 : _b[dataExporterStoreKey];
109
- return h("snk-data-exporter", { class: className, provider: provider, "data-element-id": dataElementId, "data-taskbar-element": element });
114
+ return h("snk-data-exporter", { class: className, provider: provider, "data-element-id": dataElementId, "data-taskbar-element": element, size: size });
110
115
  case TaskbarElement.ATTACH:
111
- return iconButton("anexo", element, className, dataElementId, title, action, isEnabled);
116
+ return iconButton(Object.assign({ iconName: "anexo" }, propertiesItem));
112
117
  case TaskbarElement.ACTIONS_BUTTON:
113
- return h("snk-actions-button", { "data-element-id": dataElementId, "data-taskbar-element": element });
118
+ return h("snk-actions-button", { "data-element-id": dataElementId, "data-taskbar-element": element, class: className, size: size });
114
119
  }
115
120
  };
116
- function textButton(name, className, dataElementId, text, title, action, isEnabled) {
117
- return h("ez-button", { key: dataElementId, title: title, label: text, size: "small", class: className, "data-taskbar-label": text, "data-taskbar-element": name, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) });
121
+ function textButton({ action, className, dataElementId, title, element, isEnabled, variant, size }) {
122
+ return (h("ez-tooltip", { key: dataElementId, message: title, class: className },
123
+ h("ez-button", { label: title, "data-taskbar-label": title, "data-taskbar-element": element, "data-element-id": dataElementId, isDisabled: !isEnabled(element), onClick: () => action(element), variant: variant, size: size })));
118
124
  }
119
- function iconButton(iconName, name, className, dataElementId, title, action, isEnabled) {
120
- return h("ez-button", { key: dataElementId, title: title, mode: "icon", size: "small", class: className, "data-taskbar-label": title, "data-taskbar-element": name, "data-taskbar-icon": iconName, "data-element-id": dataElementId, iconName: iconName, enabled: isEnabled(name), onClick: () => action(name) });
125
+ function concatClass(className) {
126
+ if (typeof className === "string") {
127
+ return className;
128
+ }
129
+ else {
130
+ return Object.keys(className).filter(key => className[key]).join(" ");
131
+ }
132
+ }
133
+ function iconButton({ iconName, element, className, dataElementId, title, action, isEnabled, variant, size }) {
134
+ return (h("ez-tooltip", { key: dataElementId, message: title, class: {
135
+ [concatClass(className)]: true,
136
+ [`icon-button--${size}`]: true
137
+ } },
138
+ h("ez-button", { mode: "icon", "data-taskbar-label": title, "data-taskbar-element": element, "data-taskbar-icon": iconName, "data-element-id": dataElementId, iconName: iconName, isDisabled: !isEnabled(element), onClick: () => action(element), variant: variant, size: size })));
121
139
  }
122
- function iconTextButton(iconName, name, className, dataElementId, text, title, action, isEnabled) {
123
- return h("ez-button", { key: dataElementId, title: title, label: text, size: "small", class: className, "data-taskbar-label": text, "data-taskbar-icon": iconName, "data-taskbar-element": name, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) },
124
- h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
140
+ function iconTextButton({ iconName, element, className, dataElementId, title, action, isEnabled, variant, size }) {
141
+ return (h("ez-tooltip", { key: dataElementId, message: title, class: className },
142
+ h("ez-button", { label: title, "data-taskbar-label": title, "data-taskbar-icon": iconName, "data-taskbar-element": element, "data-element-id": dataElementId, isDisabled: !isEnabled(element), onClick: () => action(element), variant: variant, size: size },
143
+ h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }))));
125
144
  }
126
- function splitButton(iconName, element, className, title, dataElementId, isEnabled, actions, action) {
145
+ function splitButton({ iconName, element, className, title, dataElementId, isEnabled, actions, action, size }) {
127
146
  return actions && actions.length > 0
128
- ? h("taskbar-split-button", { iconName: iconName, class: className, key: dataElementId, "data-taskbar-icon": iconName, "data-taskbar-label": title, "data-taskbar-element": element, "data-element-id": dataElementId, enabled: isEnabled(element), actions: actions, title: title, action: () => action(element) })
147
+ ?
148
+ h("taskbar-split-button", { key: dataElementId, class: className, iconName: iconName, "data-taskbar-icon": iconName, "data-taskbar-label": title, title: title, "data-taskbar-element": element, "data-element-id": dataElementId, enabled: isEnabled(element), actions: actions, action: () => action(element), size: size })
129
149
  : undefined;
130
150
  }
131
- function actionButton(element, className, dataElementId, title, isEnabled, actions, action) {
151
+ function actionButton({ element, className, dataElementId, title, isEnabled, actions, action, size }) {
132
152
  return actions && actions.length > 0
133
- ? h("taskbar-actions-button", { class: className, key: dataElementId, title: title, "data-taskbar-element": element, "data-element-id": dataElementId, enabled: isEnabled(element), actions: actions, onTaskbarActionSelected: (evt) => action(evt.detail.value) })
153
+ ? h("taskbar-actions-button", { class: className, key: dataElementId, title: title, "data-taskbar-element": element, "data-element-id": dataElementId, enabled: isEnabled(element), actions: actions, onTaskbarActionSelected: (evt) => action(evt.detail.value), size: size })
134
154
  : undefined;
135
155
  }
136
156
 
137
- const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex;flex-wrap:wrap}.no-wrap.sc-snk-taskbar-h{flex-wrap:nowrap}.full-width.sc-snk-taskbar-h{width:100%}.align-right.sc-snk-taskbar-h{justify-content:flex-end}.overflowed.sc-snk-taskbar{display:none}";
157
+ const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex;flex-wrap:nowrap}.no-wrap.sc-snk-taskbar-h{flex-wrap:nowrap}.full-width.sc-snk-taskbar-h{width:100%}.align-right.sc-snk-taskbar-h{justify-content:flex-end}.overflowed.sc-snk-taskbar{display:none}.taskbar-element.sc-snk-taskbar{width:auto}.space-between-item.sc-snk-taskbar{margin-left:var(--space--8, 8px)}.icon-button--small.sc-snk-taskbar{width:32px;height:32px}.icon-button--medium.sc-snk-taskbar{width:42px;height:42px}.icon-button--large.sc-snk-taskbar{width:46px;height:46px}.taskbar-spacer.sc-snk-taskbar{flex:1}.taskbar-group.sc-snk-taskbar{display:flex;flex-wrap:wrap;min-width:0}.taskbar-group--start.sc-snk-taskbar{flex:1 1 auto;justify-content:flex-start}.taskbar-group--end.sc-snk-taskbar{flex:0 0 auto;justify-content:flex-end}";
138
158
 
139
159
  const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
140
160
  constructor() {
@@ -150,6 +170,10 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
150
170
  this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME = 'taskbar-additional-slot-container';
151
171
  this.TASKBAR_ADDITIONAL_SLOT = 'taskbar-additional-slot-container';
152
172
  this._dataUnitInitialized = false;
173
+ this._permissions = {};
174
+ this._customElements = new Map();
175
+ this._customElementsId = [];
176
+ this._overFlowedElements = [];
153
177
  this._titleKeyByElement = {
154
178
  [TaskbarElement.UPDATE_MULTIPLE]: "snkTaskbar.titleUpdateMultiple",
155
179
  [TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
@@ -181,15 +205,9 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
181
205
  break;
182
206
  }
183
207
  };
184
- this._permissions = undefined;
185
- this._overFlowedElements = [];
186
- this._customElements = undefined;
187
- this._customElementsId = undefined;
188
- this._slotContainer = undefined;
189
208
  this._hiddenActionsList = [];
190
- this._lastWidth = undefined;
191
- this._hasToUpdateOverFlow = false;
192
209
  this._isWaitingForSave = false;
210
+ this._isLoading = true;
193
211
  this.alignRigth = false;
194
212
  this.customSlotId = "TASKBAR_CUSTOM_ELEMENTS";
195
213
  this.additionalSlotId = "TASKBAR_ADDITIONAL_SLOT";
@@ -201,11 +219,14 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
201
219
  this.customButtons = undefined;
202
220
  this.actionsList = undefined;
203
221
  this.actionsSettingsList = undefined;
222
+ this.customActionsList = undefined;
204
223
  this.primaryButton = undefined;
205
224
  this.disabledButtons = undefined;
206
225
  this.dataUnit = undefined;
207
226
  this.presentationMode = PresentationMode.PRIMARY;
208
227
  this.messagesBuilder = undefined;
228
+ this.disableSkeleton = false;
229
+ this.sizeButtons = 'small';
209
230
  }
210
231
  handleCustomSlotElementsLoaded(event) {
211
232
  if (this.hasToSearchCustomElements(event)) {
@@ -226,19 +247,10 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
226
247
  return this.customSlotId === event.detail && !this._slotContainer;
227
248
  }
228
249
  observeButtons() {
229
- this._definitions = undefined;
230
- requestAnimationFrame(() => {
231
- requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
232
- });
250
+ this.handleDefinitions();
233
251
  }
234
252
  observeDisabledButtons() {
235
- var _a;
236
- (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate();
237
- }
238
- observeLastWidth(newValue, oldValue) {
239
- if (oldValue === 0 && newValue !== 0) {
240
- this._hasToUpdateOverFlow = true;
241
- }
253
+ this.handleDefinitions();
242
254
  }
243
255
  observeIsWaitingForSave(newValue, oldValue) {
244
256
  if (newValue == true && oldValue == false) {
@@ -251,7 +263,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
251
263
  observeDataUnit(newValue) {
252
264
  this.initializeDataUnit(newValue);
253
265
  }
254
- initializeDataUnit(dataUnit) {
266
+ initializeDataUnit(dataUnit = this.dataUnit) {
255
267
  if (!!dataUnit && !this._dataUnitInitialized) {
256
268
  this._dataUnitInitialized = true;
257
269
  const dataInfo = { dataUnit: this.dataUnit };
@@ -259,7 +271,6 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
259
271
  this.dataUnit.subscribe(this.onSaveEvent);
260
272
  }
261
273
  }
262
- // Internal methods
263
274
  elementsFromString(strButtons) {
264
275
  const elements = [];
265
276
  if (strButtons == null)
@@ -273,15 +284,17 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
273
284
  return elements;
274
285
  }
275
286
  isAllowed(buttonName) {
287
+ if (!this._permissions) {
288
+ return false;
289
+ }
290
+ if (this._permissions.isSup) {
291
+ return true;
292
+ }
276
293
  if (buttonName === AuthorizationElements.CONFIGURATOR) {
277
- return this._permissions
278
- ? this._permissions.isSup
279
- || this._permissions[AuthorizationConfig.CONFIG_GRID]
280
- || this._permissions[AuthorizationConfig.CONFIG]
281
- : false;
294
+ return this._permissions[AuthorizationConfig.CONFIG_GRID] || this._permissions[AuthorizationConfig.CONFIG];
282
295
  }
283
296
  if (AuthorizationElements[buttonName]) {
284
- return this._permissions ? this._permissions.isSup || this._permissions[buttonName] : false;
297
+ return this._permissions[buttonName];
285
298
  }
286
299
  return true;
287
300
  }
@@ -355,32 +368,54 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
355
368
  }
356
369
  return !(this.disabledButtons && this.disabledButtons.includes(elem));
357
370
  }
358
- validatePresentationMode() {
359
- if (Object.values(PresentationMode).includes(this.presentationMode)) {
360
- return;
361
- }
362
- this.presentationMode = PresentationMode.PRIMARY;
363
- }
364
371
  getElement(index, def) {
365
- let className = def === this.primaryButton ? "ez-button--primary " : "";
366
- if (index > 1) {
367
- className += "ez-padding-left--medium";
368
- }
372
+ const className = {
373
+ "taskbar-element": true,
374
+ "space-between-item": index > 0
375
+ };
369
376
  const taskbarElement = TaskbarElement[def.toString()];
370
377
  const dataExporterStoreKey = this._element.dataset.exporterStoreKey || this.configName;
371
378
  if (taskbarElement) {
372
- 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);
379
+ return buildElem({
380
+ element: def,
381
+ className,
382
+ dataElementId: this.getIdElemBtnNative(def),
383
+ getTitle: elem => this.getTitle(elem),
384
+ action: elem => this.elementClick(elem),
385
+ isEnabled: elem => this.isEnabled(elem),
386
+ actions: def !== TaskbarElement.CONFIGURATOR ? this.buildDynamicActionsList() : this.buildActionsSettingsList(),
387
+ dataExporterStoreKey,
388
+ presentationMode: this.presentationMode,
389
+ variant: def === this.primaryButton ? "primary" : "secondary",
390
+ size: this.sizeButtons,
391
+ });
373
392
  }
374
393
  else {
375
- return buildCustomButton(def, className, this.getIdElemBtnCustom(def), elem => this.elementClick(elem), elem => this.isEnabled(elem));
394
+ return buildCustomButton({
395
+ def: def,
396
+ className,
397
+ dataElementId: this.getIdElemBtnCustom(def),
398
+ action: elem => this.elementClick(elem),
399
+ isEnabled: elem => this.isEnabled(elem),
400
+ size: this.sizeButtons
401
+ });
376
402
  }
377
403
  }
404
+ buildDivider() {
405
+ return { value: '', label: '', type: 'divider' };
406
+ }
378
407
  buildDynamicActionsList() {
379
- var _a;
408
+ var _a, _b;
409
+ const customActions = [...((_a = this.customActionsList) !== null && _a !== void 0 ? _a : [])].filter(a => a !== undefined);
410
+ const defaultActionsList = [...((_b = this.actionsList) !== null && _b !== void 0 ? _b : [])].filter(a => a !== undefined);
411
+ if (customActions.length > 0 && defaultActionsList.length > 0) {
412
+ customActions.push(this.buildDivider());
413
+ }
414
+ const combinedList = [...customActions, ...defaultActionsList];
380
415
  if (this._hiddenActionsList.length) {
381
- return [...((_a = this.actionsList) !== null && _a !== void 0 ? _a : []), ...this._hiddenActionsList];
416
+ return [...combinedList, ...this._hiddenActionsList];
382
417
  }
383
- return this.actionsList;
418
+ return combinedList;
384
419
  }
385
420
  buildActionsSettingsList() {
386
421
  return this.actionsSettingsList;
@@ -450,38 +485,12 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
450
485
  else {
451
486
  slotContainer = this._element.querySelector(`#${this.customSlotId}`);
452
487
  }
453
- // Caso nõa encontre o slot container dentro do próprio elemento, tenta buscar na DOM do document.
488
+ // Caso não encontre o slot container dentro do próprio elemento, tenta buscar na DOM do document.
454
489
  if (searchOnDocument && !slotContainer) {
455
490
  slotContainer = document.querySelector(`#${this.customSlotId}`);
456
491
  }
457
492
  return slotContainer;
458
493
  }
459
- componentWillLoad() {
460
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
461
- if (this._application) {
462
- this._application.getAllAccess(this.resourceID).then(access => this._permissions = access);
463
- }
464
- else {
465
- this._permissions = {};
466
- }
467
- this.getCustomElements();
468
- }
469
- componentWillRender() {
470
- this.handleDefinitions();
471
- this.validatePresentationMode();
472
- this.updateOverFlowIfNeeded();
473
- }
474
- handleDefinitions() {
475
- if (this._definitions == undefined && this._permissions) {
476
- this._definitions = this.elementsFromString(this.buttons);
477
- }
478
- }
479
- updateOverFlowIfNeeded() {
480
- if (this._hasToUpdateOverFlow) {
481
- requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
482
- this._hasToUpdateOverFlow = false;
483
- }
484
- }
485
494
  handleOverFlow(overFlowingElements) {
486
495
  const elementsToHandle = overFlowingElements.filter(element => !this.hasToIgnoreOverFlow(element));
487
496
  this.resetOverFlowedElements();
@@ -501,28 +510,38 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
501
510
  this.addItemToActionList(element);
502
511
  });
503
512
  }
513
+ getAttributeFromName(element, attributeName) {
514
+ var _a;
515
+ if (!element) {
516
+ console.warn(`[snk-taskbar] Tentativa de acessar atributo "${attributeName}" em elemento nulo.`);
517
+ return "";
518
+ }
519
+ let attributeValue = element.getAttribute(attributeName);
520
+ if (!attributeValue && ((_a = element.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'ez-tooltip') {
521
+ const innerButton = element.querySelector('ez-button');
522
+ if (innerButton) {
523
+ attributeValue = innerButton.getAttribute(attributeName);
524
+ }
525
+ }
526
+ return attributeValue !== null && attributeValue !== void 0 ? attributeValue : "";
527
+ }
504
528
  addItemToActionList(element) {
505
- const taskbarElement = this.getTaskbarElementName(element);
529
+ const taskbarElement = this.getAttributeFromName(element, 'data-taskbar-element');
506
530
  if (taskbarElement && this.isEnabled(taskbarElement) && this.isAllowed(taskbarElement)) {
507
531
  const optionItem = {
508
532
  value: taskbarElement,
509
- label: this.getTaskbarElementLabel(element),
510
- iconName: this.getTaskbarElementIcon(element)
533
+ label: this.getAttributeFromName(element, 'data-taskbar-label'),
534
+ iconName: this.getIconName(element)
511
535
  };
512
536
  this._hiddenActionsList.push(optionItem);
513
537
  }
514
538
  }
515
- getTaskbarElementName(element) {
516
- var _a;
517
- return (_a = element.getAttribute('data-taskbar-element')) !== null && _a !== void 0 ? _a : "";
518
- }
519
- getTaskbarElementIcon(element) {
520
- var _a;
521
- return (_a = element.getAttribute('data-taskbar-icon')) !== null && _a !== void 0 ? _a : "";
522
- }
523
- getTaskbarElementLabel(element) {
524
- var _a;
525
- return (_a = element.getAttribute('data-taskbar-label')) !== null && _a !== void 0 ? _a : "";
539
+ getIconName(element) {
540
+ const taskbarElement = this.getAttributeFromName(element, 'data-taskbar-element');
541
+ if (taskbarElement === TaskbarElement.INSERT) {
542
+ return "plus";
543
+ }
544
+ return this.getAttributeFromName(element, 'data-taskbar-icon');
526
545
  }
527
546
  hasToIgnoreOverFlow(element) {
528
547
  return element.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME) ||
@@ -541,22 +560,34 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
541
560
  notOverFlow: this.NOT_OVERFLOW_ELEMENTS
542
561
  };
543
562
  }
544
- componentDidLoad() {
545
- this.initializeDataUnit(this.dataUnit);
546
- this.handleOverFlowStrategy();
547
- }
548
- componentDidRender() {
549
- this.appendCustomElementsInTaskbar();
550
- this.updateLastWidth();
551
- }
552
- updateLastWidth() {
553
- this._lastWidth = this._element.getBoundingClientRect().width;
563
+ handleDefinitions() {
564
+ if (!this._permissions) {
565
+ return;
566
+ }
567
+ this._definitions = this.elementsFromString(this.buttons);
568
+ requestAnimationFrame(() => {
569
+ requestAnimationFrame(() => {
570
+ var _a;
571
+ (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate();
572
+ });
573
+ });
554
574
  }
555
- disconnectedCallback() {
556
- var _a, _b;
557
- (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.unsubscribe(this.onSaveEvent);
558
- this.unlinkAllCustomElements();
559
- (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.destroy();
575
+ async getAccess() {
576
+ if (!this._application) {
577
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
578
+ }
579
+ if (!this._application) {
580
+ console.warn('[snk-taskbar] Application context não encontrado. Permissões serão vazias.');
581
+ this._permissions = {};
582
+ return;
583
+ }
584
+ try {
585
+ this._permissions = await this._application.getAllAccess(this.resourceID);
586
+ }
587
+ catch (error) {
588
+ console.error('[snk-taskbar] Erro ao obter permissões:', error);
589
+ this._permissions = {};
590
+ }
560
591
  }
561
592
  unlinkAllCustomElements() {
562
593
  var _a;
@@ -569,40 +600,86 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
569
600
  unlinkCustomElementFromTaskbar(customElement) {
570
601
  this._slotContainer.appendChild(customElement);
571
602
  }
572
- render() {
573
- var _a, _b;
574
- if (this._definitions === undefined) {
575
- return undefined;
576
- }
577
- let index = 0;
578
- return (h(Host, { class: this.getHostClasses() }, this.removeEmpty(this._definitions.map((elem) => {
579
- var _a, _b;
580
- index++;
581
- if (TaskbarElement[elem]) {
582
- return this.getElement(index, TaskbarElement[elem]);
583
- }
584
- if ((_a = this.customButtons) === null || _a === void 0 ? void 0 : _a.has(elem)) {
585
- return this.getElement(index, this.customButtons.get(elem));
586
- }
587
- if (this._customElements.has(elem)) {
588
- return this.addCustomElementContainer(elem);
589
- }
590
- (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.addNotOverFlowElement(elem);
591
- return h("slot", { name: elem });
592
- })), 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 :
593
- _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 :
594
- _b.addNotOverFlowElement(this.TASKBAR_ADDITIONAL_SLOT))));
595
- }
596
603
  getHostClasses() {
597
604
  if (this.overflowStrategy !== 'hiddenItems')
598
605
  return 'no-wrap';
599
606
  return `full-width ${this.alignRigth ? 'align-right' : ""}`;
600
607
  }
608
+ connectedCallback() {
609
+ this.initializeDataUnit();
610
+ this.handleOverFlowStrategy();
611
+ this.getCustomElements();
612
+ }
613
+ async componentWillLoad() {
614
+ this._isLoading = true;
615
+ try {
616
+ await this.getAccess();
617
+ this.handleDefinitions();
618
+ }
619
+ catch (error) {
620
+ console.error('[snk-taskbar] Erro ao obter permissões de acesso:', error);
621
+ }
622
+ finally {
623
+ this._isLoading = false;
624
+ }
625
+ }
626
+ componentDidRender() {
627
+ this.appendCustomElementsInTaskbar();
628
+ }
629
+ disconnectedCallback() {
630
+ var _a, _b;
631
+ (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.unsubscribe(this.onSaveEvent);
632
+ this.unlinkAllCustomElements();
633
+ (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.destroy();
634
+ }
635
+ renderTaskbarElement(elem, index) {
636
+ var _a, _b;
637
+ if (TaskbarElement[elem]) {
638
+ return this.getElement(index, TaskbarElement[elem]);
639
+ }
640
+ if ((_a = this.customButtons) === null || _a === void 0 ? void 0 : _a.has(elem)) {
641
+ return this.getElement(index, this.customButtons.get(elem));
642
+ }
643
+ if (this._customElements.has(elem)) {
644
+ return this.addCustomElementContainer(elem);
645
+ }
646
+ (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.addNotOverFlowElement(elem);
647
+ return h("slot", { name: elem });
648
+ }
649
+ renderElements() {
650
+ var _a, _b;
651
+ const spacerIndex = (_a = this._definitions) === null || _a === void 0 ? void 0 : _a.indexOf(TaskbarElement.SPACER);
652
+ const hasSpacerElement = spacerIndex !== undefined && spacerIndex !== -1;
653
+ if (!hasSpacerElement) {
654
+ const arrayOfElements = (_b = this._definitions) === null || _b === void 0 ? void 0 : _b.map((elem, index) => this.renderTaskbarElement(elem, index));
655
+ return this.removeEmpty(arrayOfElements);
656
+ }
657
+ // Split elements into before and after spacer
658
+ const elementsBeforeSpacer = this._definitions.slice(0, spacerIndex);
659
+ const elementsAfterSpacer = this._definitions.slice(spacerIndex + 1);
660
+ const beforeElements = elementsBeforeSpacer.map((elem, index) => this.renderTaskbarElement(elem, index));
661
+ const afterElements = elementsAfterSpacer.map((elem, index) => this.renderTaskbarElement(elem, index + spacerIndex + 1));
662
+ return [
663
+ h("div", { class: "taskbar-group taskbar-group--start" }, this.removeEmpty(beforeElements)),
664
+ h("div", { class: "taskbar-group taskbar-group--end" }, this.removeEmpty(afterElements))
665
+ ];
666
+ }
667
+ render() {
668
+ var _a, _b;
669
+ if (!this._definitions) {
670
+ return;
671
+ }
672
+ if (this._isLoading && !this.disableSkeleton) {
673
+ return (h(Host, { class: this.getHostClasses() }, h("snk-taskbar-skeleton", null)));
674
+ }
675
+ 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 :
676
+ _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 :
677
+ _b.addNotOverFlowElement(this.TASKBAR_ADDITIONAL_SLOT))));
678
+ }
601
679
  get _element() { return this; }
602
680
  static get watchers() { return {
603
681
  "buttons": ["observeButtons"],
604
682
  "disabledButtons": ["observeDisabledButtons"],
605
- "_lastWidth": ["observeLastWidth"],
606
683
  "_isWaitingForSave": ["observeIsWaitingForSave"],
607
684
  "dataUnit": ["observeDataUnit"]
608
685
  }; }
@@ -619,26 +696,23 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
619
696
  "customButtons": [16],
620
697
  "actionsList": [16],
621
698
  "actionsSettingsList": [16],
699
+ "customActionsList": [16],
622
700
  "primaryButton": [1, "primary-button"],
623
701
  "disabledButtons": [16],
624
702
  "dataUnit": [16],
625
703
  "presentationMode": [1537, "presentation-mode"],
626
704
  "messagesBuilder": [1040],
627
- "_permissions": [32],
628
- "_overFlowedElements": [32],
629
- "_customElements": [32],
630
- "_customElementsId": [32],
631
- "_slotContainer": [32],
705
+ "disableSkeleton": [4, "disable-skeleton"],
706
+ "sizeButtons": [1, "size-buttons"],
632
707
  "_hiddenActionsList": [32],
633
- "_lastWidth": [32],
634
- "_hasToUpdateOverFlow": [32],
635
- "_isWaitingForSave": [32]
708
+ "_isWaitingForSave": [32],
709
+ "_isLoading": [32]
636
710
  }, [[8, "snkCustomSlotElementsLoaded", "handleCustomSlotElementsLoaded"], [8, "taskbarSaveLocker", "handleTaskbarSaveLocker"], [8, "taskbarSaveUnlocker", "handleTaskbarSaveUnlocker"]]]);
637
711
  function defineCustomElement() {
638
712
  if (typeof customElements === "undefined") {
639
713
  return;
640
714
  }
641
- const components = ["snk-taskbar", "snk-actions-button", "snk-data-exporter", "snk-exporter-email-sender", "taskbar-actions-button", "taskbar-split-button"];
715
+ const components = ["snk-taskbar", "snk-actions-button", "snk-data-exporter", "snk-exporter-email-sender", "snk-taskbar-skeleton", "taskbar-actions-button", "taskbar-split-button"];
642
716
  components.forEach(tagName => { switch (tagName) {
643
717
  case "snk-taskbar":
644
718
  if (!customElements.get(tagName)) {
@@ -647,15 +721,20 @@ function defineCustomElement() {
647
721
  break;
648
722
  case "snk-actions-button":
649
723
  if (!customElements.get(tagName)) {
650
- defineCustomElement$5();
724
+ defineCustomElement$6();
651
725
  }
652
726
  break;
653
727
  case "snk-data-exporter":
654
728
  if (!customElements.get(tagName)) {
655
- defineCustomElement$4();
729
+ defineCustomElement$5();
656
730
  }
657
731
  break;
658
732
  case "snk-exporter-email-sender":
733
+ if (!customElements.get(tagName)) {
734
+ defineCustomElement$4();
735
+ }
736
+ break;
737
+ case "snk-taskbar-skeleton":
659
738
  if (!customElements.get(tagName)) {
660
739
  defineCustomElement$3();
661
740
  }