@sankhyalabs/ezui 7.2.0-dev.1 → 7.2.0-dev.11

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 (246) hide show
  1. package/dist/cjs/{ApplicationUtils-006ca96f.js → ApplicationUtils-88dfe345.js} +1 -1
  2. package/dist/cjs/{app-globals-5cb12916.js → app-globals-c1d07d68.js} +1 -1
  3. package/dist/cjs/classic-search-list_7.cjs.entry.js +9 -4
  4. package/dist/cjs/ez-actions-button.cjs.entry.js +2 -2
  5. package/dist/cjs/ez-alert-list.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-avatar.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  8. package/dist/cjs/ez-classic-combo-box.cjs.entry.js +2 -1
  9. package/dist/cjs/ez-classic-date-input.cjs.entry.js +2 -2
  10. package/dist/cjs/ez-classic-date-time-input.cjs.entry.js +1 -1
  11. package/dist/cjs/ez-classic-number-input.cjs.entry.js +1 -1
  12. package/dist/cjs/ez-classic-search-plus.cjs.entry.js +26 -13
  13. package/dist/cjs/ez-classic-search.cjs.entry.js +2 -2
  14. package/dist/cjs/ez-classic-time-input.cjs.entry.js +4 -3
  15. package/dist/cjs/ez-collapsible-box.cjs.entry.js +2 -2
  16. package/dist/cjs/ez-combo-box.cjs.entry.js +2 -2
  17. package/dist/cjs/ez-date-input.cjs.entry.js +1 -1
  18. package/dist/cjs/ez-date-time-input.cjs.entry.js +1 -1
  19. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  20. package/dist/cjs/ez-double-list.cjs.entry.js +1 -1
  21. package/dist/cjs/ez-dropdown.cjs.entry.js +1 -1
  22. package/dist/cjs/ez-empty-card.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  24. package/dist/cjs/ez-form-view.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-form.cjs.entry.js +3 -3
  26. package/dist/cjs/ez-grid-pagination.cjs.entry.js +227 -0
  27. package/dist/cjs/ez-grid.cjs.entry.js +85 -166
  28. package/dist/cjs/ez-guide-navigator.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-link-builder_6.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  34. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
  36. package/dist/cjs/ez-pagination.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-popover-core.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-popup.cjs.entry.js +1 -2
  39. package/dist/cjs/ez-record-navigation.cjs.entry.js +121 -0
  40. package/dist/cjs/ez-scroller_2.cjs.entry.js +81 -14
  41. package/dist/cjs/ez-search-plus.cjs.entry.js +13 -4
  42. package/dist/cjs/ez-search-result-list.cjs.entry.js +1 -1
  43. package/dist/cjs/ez-search.cjs.entry.js +3 -3
  44. package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +1 -1
  45. package/dist/cjs/ez-skeleton.cjs.entry.js +1 -1
  46. package/dist/cjs/ez-sortable-list.cjs.entry.js +99 -114
  47. package/dist/cjs/ez-spinner.cjs.entry.js +1 -1
  48. package/dist/cjs/ez-split-button.cjs.entry.js +4 -4
  49. package/dist/cjs/ez-split-item.cjs.entry.js +2 -2
  50. package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
  51. package/dist/cjs/ez-tooltip.cjs.entry.js +1 -1
  52. package/dist/cjs/ez-tree.cjs.entry.js +1 -1
  53. package/dist/cjs/ez-upload.cjs.entry.js +2 -2
  54. package/dist/cjs/ezui.cjs.js +3 -3
  55. package/dist/cjs/filter-column.cjs.entry.js +1 -1
  56. package/dist/cjs/{floating-ui.dom.esm-f4d87617.js → floating-ui.dom.esm-bea31048.js} +165 -119
  57. package/dist/cjs/{index-350d0fa0.js → index-9739c242.js} +91 -30
  58. package/dist/cjs/index-a7b0c73d.js +8 -0
  59. package/dist/cjs/loader.cjs.js +3 -3
  60. package/dist/cjs/{search-column-fbf680d7.js → search-column-9612bd3a.js} +4 -7
  61. package/dist/collection/collection-manifest.json +7 -0
  62. package/dist/collection/components/ez-classic-combo-box/ez-classic-combo-box.js +2 -1
  63. package/dist/collection/components/ez-classic-date-input/ez-classic-date-input.js +1 -1
  64. package/dist/collection/components/ez-classic-search-plus/ez-classic-search-plus.css +22 -0
  65. package/dist/collection/components/ez-classic-search-plus/ez-classic-search-plus.js +26 -11
  66. package/dist/collection/components/ez-classic-time-input/ez-classic-time-input.js +3 -2
  67. package/dist/collection/components/ez-dropdown/ez-dropdown.css +1 -1
  68. package/dist/collection/components/ez-empty-card/ez-empty-card.js +7 -7
  69. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +43 -18
  70. package/dist/collection/components/ez-grid/controller/ag-grid/gridColumnDefaultWidths.js +23 -0
  71. package/dist/collection/components/ez-grid/ez-grid.css +1 -60
  72. package/dist/collection/components/ez-grid/ez-grid.js +52 -150
  73. package/dist/collection/components/ez-grid/utils/index.js +1 -0
  74. package/dist/collection/components/ez-grid-pagination/ez-grid-pagination.css +111 -0
  75. package/dist/collection/components/ez-grid-pagination/ez-grid-pagination.js +410 -0
  76. package/dist/collection/components/ez-icon/ez-icon.css +5 -5
  77. package/dist/collection/components/ez-image-input/ez-image-input.css +24 -8
  78. package/dist/collection/components/ez-image-input/ez-image-input.js +6 -1
  79. package/dist/collection/components/ez-popup/ez-popup.js +0 -1
  80. package/dist/collection/components/ez-record-navigation/ez-record-navigation.css +51 -0
  81. package/dist/collection/components/ez-record-navigation/ez-record-navigation.js +246 -0
  82. package/dist/collection/components/ez-scroller/EzScrollNavigationMode.js +5 -0
  83. package/dist/collection/components/ez-scroller/ez-scroller.css +117 -11
  84. package/dist/collection/components/ez-scroller/ez-scroller.js +118 -13
  85. package/dist/collection/components/ez-search/ez-search.css +4 -0
  86. package/dist/collection/components/ez-search-plus/ez-search-plus.js +11 -2
  87. package/dist/collection/components/ez-sortable-list/ez-sortable-list.css +1 -1
  88. package/dist/collection/components/ez-split-button/ez-split-button.css +1 -1
  89. package/dist/collection/components/ez-split-button/ez-split-button.js +2 -2
  90. package/dist/collection/utils/i18n/locales/en-us.js +27 -4
  91. package/dist/collection/utils/i18n/locales/es-es.js +27 -4
  92. package/dist/collection/utils/i18n/locales/pt-br.js +27 -4
  93. package/dist/collection/utils/searchColumn/search-column.js +2 -5
  94. package/dist/custom-elements/index.d.ts +12 -0
  95. package/dist/custom-elements/index.js +904 -464
  96. package/dist/esm/{ApplicationUtils-0c5cb207.js → ApplicationUtils-f7721533.js} +1 -1
  97. package/dist/esm/{app-globals-1db10325.js → app-globals-6e258867.js} +1 -1
  98. package/dist/esm/classic-search-list_7.entry.js +9 -4
  99. package/dist/esm/ez-actions-button.entry.js +2 -2
  100. package/dist/esm/ez-alert-list.entry.js +1 -1
  101. package/dist/esm/ez-avatar.entry.js +1 -1
  102. package/dist/esm/ez-calendar.entry.js +1 -1
  103. package/dist/esm/ez-classic-combo-box.entry.js +2 -1
  104. package/dist/esm/ez-classic-date-input.entry.js +2 -2
  105. package/dist/esm/ez-classic-date-time-input.entry.js +1 -1
  106. package/dist/esm/ez-classic-number-input.entry.js +1 -1
  107. package/dist/esm/ez-classic-search-plus.entry.js +26 -13
  108. package/dist/esm/ez-classic-search.entry.js +2 -2
  109. package/dist/esm/ez-classic-time-input.entry.js +4 -3
  110. package/dist/esm/ez-collapsible-box.entry.js +2 -2
  111. package/dist/esm/ez-combo-box.entry.js +2 -2
  112. package/dist/esm/ez-date-input.entry.js +1 -1
  113. package/dist/esm/ez-date-time-input.entry.js +1 -1
  114. package/dist/esm/ez-dialog.entry.js +1 -1
  115. package/dist/esm/ez-double-list.entry.js +1 -1
  116. package/dist/esm/ez-dropdown.entry.js +1 -1
  117. package/dist/esm/ez-empty-card.entry.js +1 -1
  118. package/dist/esm/ez-file-item.entry.js +1 -1
  119. package/dist/esm/ez-form-view.entry.js +1 -1
  120. package/dist/esm/ez-form.entry.js +3 -3
  121. package/dist/esm/ez-grid-pagination.entry.js +223 -0
  122. package/dist/esm/ez-grid.entry.js +86 -167
  123. package/dist/esm/ez-guide-navigator.entry.js +1 -1
  124. package/dist/esm/ez-icon.entry.js +1 -1
  125. package/dist/esm/ez-link-builder_6.entry.js +1 -1
  126. package/dist/esm/ez-list.entry.js +1 -1
  127. package/dist/esm/ez-modal-container.entry.js +1 -1
  128. package/dist/esm/ez-modal.entry.js +1 -1
  129. package/dist/esm/ez-multi-selection-list.entry.js +1 -1
  130. package/dist/esm/ez-number-input.entry.js +1 -1
  131. package/dist/esm/ez-pagination.entry.js +1 -1
  132. package/dist/esm/ez-popover-core.entry.js +1 -1
  133. package/dist/esm/ez-popup.entry.js +1 -2
  134. package/dist/esm/ez-record-navigation.entry.js +117 -0
  135. package/dist/esm/ez-scroller_2.entry.js +81 -14
  136. package/dist/esm/ez-search-plus.entry.js +13 -4
  137. package/dist/esm/ez-search-result-list.entry.js +1 -1
  138. package/dist/esm/ez-search.entry.js +3 -3
  139. package/dist/esm/ez-sidebar-navigator.entry.js +1 -1
  140. package/dist/esm/ez-skeleton.entry.js +1 -1
  141. package/dist/esm/ez-sortable-list.entry.js +99 -114
  142. package/dist/esm/ez-spinner.entry.js +1 -1
  143. package/dist/esm/ez-split-button.entry.js +4 -4
  144. package/dist/esm/ez-split-item.entry.js +2 -2
  145. package/dist/esm/ez-time-input.entry.js +1 -1
  146. package/dist/esm/ez-tooltip.entry.js +1 -1
  147. package/dist/esm/ez-tree.entry.js +1 -1
  148. package/dist/esm/ez-upload.entry.js +2 -2
  149. package/dist/esm/ezui.js +3 -3
  150. package/dist/esm/filter-column.entry.js +1 -1
  151. package/dist/esm/{floating-ui.dom.esm-ad30f2f0.js → floating-ui.dom.esm-2964eae1.js} +165 -119
  152. package/dist/esm/{index-225aa0c3.js → index-9e6dab5b.js} +91 -30
  153. package/dist/esm/index-baa5e267.js +8 -0
  154. package/dist/esm/loader.js +3 -3
  155. package/dist/esm/{search-column-40a78cac.js → search-column-dba4853a.js} +4 -7
  156. package/dist/ezui/ezui.esm.js +1 -1
  157. package/dist/ezui/p-0592535f.entry.js +1 -0
  158. package/dist/ezui/{p-544605c4.entry.js → p-063bb342.entry.js} +1 -1
  159. package/dist/ezui/{p-c56ee8c0.entry.js → p-0ac8bd66.entry.js} +1 -1
  160. package/dist/ezui/p-0d80e3ec.entry.js +1 -0
  161. package/dist/ezui/{p-729bd1be.entry.js → p-108503ed.entry.js} +1 -1
  162. package/dist/ezui/{p-e3cd5080.entry.js → p-1166b2d5.entry.js} +1 -1
  163. package/dist/ezui/p-15873627.js +1 -0
  164. package/dist/ezui/{p-0625743b.entry.js → p-160a268d.entry.js} +1 -1
  165. package/dist/ezui/p-178cb9df.entry.js +1 -0
  166. package/dist/ezui/p-2856c545.entry.js +1 -0
  167. package/dist/ezui/{p-df802548.entry.js → p-2ae127bc.entry.js} +1 -1
  168. package/dist/ezui/{p-556bf329.entry.js → p-2ebd7383.entry.js} +1 -1
  169. package/dist/ezui/{p-b36475f9.entry.js → p-30c5f48a.entry.js} +1 -1
  170. package/dist/ezui/p-312bd3c6.entry.js +1 -0
  171. package/dist/ezui/{p-62c149cb.entry.js → p-3fae7072.entry.js} +1 -1
  172. package/dist/ezui/p-42e1e733.js +1 -0
  173. package/dist/ezui/{p-4e869617.entry.js → p-45245c32.entry.js} +1 -1
  174. package/dist/ezui/{p-a872c642.entry.js → p-46b1b2ac.entry.js} +1 -1
  175. package/dist/ezui/{p-5abb220b.entry.js → p-54af1af0.entry.js} +1 -1
  176. package/dist/ezui/{p-a4351519.entry.js → p-66455069.entry.js} +1 -1
  177. package/dist/ezui/p-72e77b45.entry.js +1 -0
  178. package/dist/ezui/{p-7edc3ef7.entry.js → p-73461028.entry.js} +1 -1
  179. package/dist/ezui/{p-f5552540.entry.js → p-7424d520.entry.js} +1 -1
  180. package/dist/ezui/{p-b705b342.entry.js → p-7a07c50f.entry.js} +1 -1
  181. package/dist/ezui/p-7b078125.entry.js +1 -0
  182. package/dist/ezui/{p-d5dc6b01.entry.js → p-7dad8018.entry.js} +1 -1
  183. package/dist/ezui/{p-6a794336.js → p-83bddbbb.js} +1 -1
  184. package/dist/ezui/{p-b0a716ef.entry.js → p-881abc22.entry.js} +1 -1
  185. package/dist/ezui/{p-7134726a.entry.js → p-99556756.entry.js} +1 -1
  186. package/dist/ezui/{p-7953ecb9.entry.js → p-9bd3e28b.entry.js} +1 -1
  187. package/dist/ezui/{p-97312709.entry.js → p-9bd78d39.entry.js} +1 -1
  188. package/dist/ezui/{p-351fb12f.entry.js → p-a4735a12.entry.js} +1 -1
  189. package/dist/ezui/{p-9825c1d2.js → p-ad5e263d.js} +1 -1
  190. package/dist/ezui/{p-26cd4c2e.entry.js → p-b06294c9.entry.js} +1 -1
  191. package/dist/ezui/{p-e493ad57.entry.js → p-b493757c.entry.js} +1 -1
  192. package/dist/ezui/{p-2da9faf1.entry.js → p-b8cd501a.entry.js} +1 -1
  193. package/dist/ezui/p-b986da95.entry.js +7 -0
  194. package/dist/ezui/{p-4c2a4435.entry.js → p-c25a4d30.entry.js} +1 -1
  195. package/dist/ezui/{p-4f7ad3ee.entry.js → p-c37fb359.entry.js} +1 -1
  196. package/dist/ezui/{p-e2972977.entry.js → p-cb00863d.entry.js} +1 -1
  197. package/dist/ezui/{p-4d30b703.entry.js → p-cf66ace0.entry.js} +1 -1
  198. package/dist/ezui/p-d2601b25.js +1 -0
  199. package/dist/ezui/{p-e3a42f47.entry.js → p-d5684cdc.entry.js} +1 -1
  200. package/dist/ezui/{p-6ac056d7.entry.js → p-d70805e4.entry.js} +1 -1
  201. package/dist/ezui/{p-a3bad8f8.entry.js → p-d75f583b.entry.js} +1 -1
  202. package/dist/ezui/p-d8b69419.entry.js +1 -0
  203. package/dist/ezui/{p-56565777.entry.js → p-dfced8c7.entry.js} +1 -1
  204. package/dist/ezui/{p-5a74d132.entry.js → p-dfda027e.entry.js} +46 -46
  205. package/dist/ezui/{p-0248846f.entry.js → p-e3d6b544.entry.js} +1 -1
  206. package/dist/ezui/{p-4c76b365.entry.js → p-e692c2a7.entry.js} +1 -1
  207. package/dist/ezui/{p-8e5f1c74.entry.js → p-e8cd003b.entry.js} +1 -1
  208. package/dist/ezui/p-ed790867.entry.js +1 -0
  209. package/dist/ezui/p-f2e0acf5.entry.js +1 -0
  210. package/dist/ezui/{p-34d459e4.entry.js → p-f498f6b5.entry.js} +1 -1
  211. package/dist/ezui/{p-4af745e1.entry.js → p-fb27b98d.entry.js} +1 -1
  212. package/dist/ezui/{p-987185c4.entry.js → p-fc11f5b9.entry.js} +1 -1
  213. package/dist/ezui/{p-ef8bd3e8.entry.js → p-fc72aeb8.entry.js} +1 -1
  214. package/dist/types/components/ez-classic-search-plus/ez-classic-search-plus.d.ts +3 -0
  215. package/dist/types/components/ez-empty-card/ez-empty-card.d.ts +2 -2
  216. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +4 -0
  217. package/dist/types/components/ez-grid/controller/ag-grid/gridColumnDefaultWidths.d.ts +4 -0
  218. package/dist/types/components/ez-grid/ez-grid.d.ts +10 -27
  219. package/dist/types/components/ez-grid/utils/index.d.ts +1 -0
  220. package/dist/types/components/ez-grid-pagination/ez-grid-pagination.d.ts +75 -0
  221. package/dist/types/components/ez-image-input/ez-image-input.d.ts +1 -0
  222. package/dist/types/components/ez-record-navigation/ez-record-navigation.d.ts +43 -0
  223. package/dist/types/components/ez-scroller/EzScrollNavigationMode.d.ts +4 -0
  224. package/dist/types/components/ez-scroller/ez-scroller.d.ts +16 -2
  225. package/dist/types/components/ez-search-plus/ez-search-plus.d.ts +1 -0
  226. package/dist/types/components.d.ts +154 -6
  227. package/dist/types/utils/i18n/locales/en-us.d.ts +26 -3
  228. package/dist/types/utils/i18n/locales/es-es.d.ts +26 -3
  229. package/dist/types/utils/i18n/locales/pt-br.d.ts +26 -3
  230. package/dist/types/utils/i18n/translations.d.ts +78 -9
  231. package/package.json +5 -5
  232. package/react/components.d.ts +2 -0
  233. package/react/components.js +2 -0
  234. package/react/components.js.map +1 -1
  235. package/dist/ezui/p-07fb22c3.entry.js +0 -1
  236. package/dist/ezui/p-288631d1.entry.js +0 -1
  237. package/dist/ezui/p-2a806303.js +0 -1
  238. package/dist/ezui/p-2de94faf.entry.js +0 -1
  239. package/dist/ezui/p-619225ce.entry.js +0 -1
  240. package/dist/ezui/p-a813a748.entry.js +0 -1
  241. package/dist/ezui/p-b8078832.entry.js +0 -1
  242. package/dist/ezui/p-c0ae79fa.entry.js +0 -1
  243. package/dist/ezui/p-c178730b.js +0 -1
  244. package/dist/ezui/p-ce0a0036.entry.js +0 -7
  245. package/dist/ezui/p-d2645bdf.entry.js +0 -1
  246. package/dist/ezui/p-ff4312d5.js +0 -1
@@ -0,0 +1,121 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-a7b0c73d.js');
6
+ const core = require('@sankhyalabs/core');
7
+ const index$1 = require('./index-9739c242.js');
8
+
9
+ const ezRecordNavigationCss = ":host{display:block}.record-navigation__container{display:flex;align-items:center;flex-grow:1;flex-shrink:1;justify-content:flex-end;flex-wrap:nowrap}.record-navigation__buttons-container{display:flex;gap:var(--space--8, 8px)}.record-navigation__container-label{font-size:var(--font-size--default, 14px);font-family:var(--font--pattern, 'Roboto');color:var(--color--gray-600, #1C1D22);text-shadow:0 0 var(--color--gray-500, #494A4E), 0 0 1px transparent;margin-right:var(--space--12, 12px);display:flex;align-items:center}.record-navigation-contracted{width:100px}.record-navigation-expanded{min-width:150px}.record-navigation__label{width:100%;white-space:nowrap}.record-navigation__divider{width:3px;height:15px;background-color:var(--color--gray-300, #C1C2C6);margin-inline:var(--space--8, 8px)}.record-navigation-text-right{flex-direction:row-reverse}";
10
+
11
+ const EzRecordNavigation = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this._dataUnitInitialized = false;
15
+ this.leftButtonDisabled = undefined;
16
+ this.rightButtonDisabled = undefined;
17
+ this.dataUnit = undefined;
18
+ this.primaryKeys = undefined;
19
+ this.textPosition = 'right';
20
+ this.disabled = false;
21
+ }
22
+ /**
23
+ * Navega para a página anterior.
24
+ */
25
+ async previousRecord() {
26
+ if (!this.dataUnit) {
27
+ return;
28
+ }
29
+ await this.dataUnit.previousRecord();
30
+ }
31
+ /**
32
+ * Navega para a próxima página.
33
+ */
34
+ async nextRecord() {
35
+ if (!this.dataUnit) {
36
+ return;
37
+ }
38
+ await this.dataUnit.nextRecord();
39
+ }
40
+ onDataUnitChange() {
41
+ this.initializeDataUnit();
42
+ }
43
+ onDisabledChange() {
44
+ this.setStatusButtonPagination();
45
+ }
46
+ renderPageTitle() {
47
+ if (!this.primaryKeys) {
48
+ return null;
49
+ }
50
+ return this.primaryKeys.map((key, index$1) => {
51
+ var _a;
52
+ const fieldValue = this.dataUnit.getFieldValue(key);
53
+ const fieldLabel = (_a = this.dataUnit.getField(key)) === null || _a === void 0 ? void 0 : _a.label;
54
+ const isLast = index$1 === this.primaryKeys.length - 1;
55
+ return (index.h(index.Fragment, null, index.h("ez-tooltip", { message: fieldLabel !== null && fieldLabel !== void 0 ? fieldLabel : fieldValue }, index.h("span", { class: "record-navigation__label", "aria-live": "polite", "aria-atomic": "true" }, fieldValue !== null && fieldValue !== void 0 ? fieldValue : '-')), !isLast && index.h("span", { class: "record-navigation__divider" })));
56
+ });
57
+ }
58
+ dataUnitObserver(action) {
59
+ switch (action.type) {
60
+ case core.Action.SELECTION_CHANGED:
61
+ case core.Action.PREVIOUS_SELECTED:
62
+ case core.Action.NEXT_SELECTED:
63
+ this.setStatusButtonPagination();
64
+ break;
65
+ }
66
+ }
67
+ getLeftButtonDisabledStatus() {
68
+ if (!this.dataUnit || this.disabled)
69
+ return true;
70
+ return !this.dataUnit.hasPrevious();
71
+ }
72
+ getRightButtonDisabledStatus() {
73
+ if (!this.dataUnit || this.disabled)
74
+ return true;
75
+ return !this.dataUnit.hasNext();
76
+ }
77
+ setStatusButtonPagination() {
78
+ this.leftButtonDisabled = this.getLeftButtonDisabledStatus();
79
+ this.rightButtonDisabled = this.getRightButtonDisabledStatus();
80
+ }
81
+ initializeDataUnit() {
82
+ if (!this.dataUnit || this._dataUnitInitialized) {
83
+ return;
84
+ }
85
+ this.setStatusButtonPagination();
86
+ this._dataUnitObserverBound = this.dataUnitObserver.bind(this);
87
+ this.dataUnit.subscribe(this._dataUnitObserverBound);
88
+ this._dataUnitInitialized = true;
89
+ }
90
+ addInfoId() {
91
+ if (this._element) {
92
+ core.ElementIDUtils.addIDInfo(this._element);
93
+ }
94
+ }
95
+ async connectedCallback() {
96
+ this.i18n = await index$1.initI18n();
97
+ this.initializeDataUnit();
98
+ }
99
+ componentDidLoad() {
100
+ this.addInfoId();
101
+ }
102
+ disconnectedCallback() {
103
+ if (this.dataUnit && this._dataUnitInitialized && this._dataUnitObserverBound) {
104
+ this.dataUnit.unsubscribe(this._dataUnitObserverBound);
105
+ }
106
+ }
107
+ render() {
108
+ return (index.h(index.Host, null, index.h("div", { class: {
109
+ "record-navigation__container": true,
110
+ "record-navigation-text-right": this.textPosition === 'right'
111
+ } }, index.h("div", { class: "record-navigation__container-label" }, this.renderPageTitle()), index.h("div", { id: "grid-record-navigation-tooltip", class: "record-navigation__buttons-container" }, index.h("ez-tooltip", { message: this.i18n("ez-record-navigation.previousRecord") }, index.h("ez-button", { iconName: "chevron-left", mode: "icon", isDisabled: this.leftButtonDisabled, onClick: () => this.previousRecord(), label: this.i18n("ez-record-navigation.previousRecord") })), index.h("ez-tooltip", { message: this.i18n("ez-record-navigation.nextRecord") }, index.h("ez-button", { iconName: "chevron-right", mode: "icon", isDisabled: this.rightButtonDisabled, onClick: () => this.nextRecord(), label: this.i18n("ez-record-navigation.nextRecord") }))))));
112
+ }
113
+ get _element() { return index.getElement(this); }
114
+ static get watchers() { return {
115
+ "dataUnit": ["onDataUnitChange"],
116
+ "disabled": ["onDisabledChange"]
117
+ }; }
118
+ };
119
+ EzRecordNavigation.style = ezRecordNavigationCss;
120
+
121
+ exports.ez_record_navigation = EzRecordNavigation;
@@ -4,30 +4,74 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a7b0c73d.js');
6
6
  const core = require('@sankhyalabs/core');
7
+ const index$1 = require('./index-9739c242.js');
7
8
  const EzScrollDirection = require('./EzScrollDirection-b2c99895.js');
8
9
 
9
- const ezScrollerCss = ":host{--ez-scroller--box-shadow-color:var(--background--body, #fafcff);--ez-scroller__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-scroller__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-scroller__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-scroller__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-scroller__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-scroller__scrollbar--width:var(--space--small, 6px);--ez-scroller__max-height:unset;--ez-scroller__scrollbar--padding-right:var(--space-extra-small, 3px);display:flex;cursor:grab;width:100%;overflow:hidden}.dragging{cursor:grabbing}.ez-scroller__container{display:flex;overflow-y:hidden;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked),.ez-scroller__container:not(.ez-scroller__container--locked):hover{scrollbar-color:var(--ez-scroller__scrollbar--color-clicked) var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container--both{overflow-y:scroll;overflow-x:scroll;flex-wrap:wrap}.ez-scroller__container--horizontal{overflow-x:scroll;flex-direction:row;padding-right:var(--ez-scroller__scrollbar--padding-right)}.ez-scroller__container--vertical{overflow-y:scroll;flex-direction:column;width:100%;max-height:var(--ez-scroller__max-height)}.ez-scroller__container::-webkit-scrollbar{background-color:transparent;width:var(--ez-scroller__scrollbar--width);height:var(--ez-scroller__scrollbar--width);max-width:var(--ez-scroller__scrollbar--width);min-width:var(--ez-scroller__scrollbar--width)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar{background-color:var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container::-webkit-scrollbar-track{visibility:hidden;background-color:transparent;border-radius:var(--ez-scroller__scrollbar--border-radius)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-track,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-track{background-color:var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container::-webkit-scrollbar-thumb{background-color:transparent;border-radius:var(--ez-scroller__scrollbar--border-radius)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb{background-color:var(--ez-scroller__scrollbar--color-default)}.ez-scroller__container::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container::-webkit-scrollbar-thumb:horizontal:hover{background-color:transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:horizontal:hover,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-scroller__scrollbar--color-hover)}.ez-scroller__container::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container::-webkit-scrollbar-thumb:horizontal:active{background-color:transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:horizontal:active,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-scroller__scrollbar--color-clicked)}.ez-scroller__wrapper{display:flex;position:relative;width:100%;height:auto}.ez-scroller__wrapper--horizontal{flex-direction:row}.ez-scroller__wrapper--vertical{flex-direction:column}.ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper--shadow-end::after{content:\"\";display:flex;position:absolute;z-index:1}.ez-scroller__wrapper--horizontal.ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper--horizontal.ez-scroller__wrapper--shadow-end::after{width:24px;min-height:calc(100% - 10px)}.ez-scroller__wrapper--horizontal.ez-scroller__wrapper--shadow-start::before{left:0;background:linear-gradient(to right, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--horizontal.ez-scroller__wrapper--shadow-end::after{right:0;background:linear-gradient(to left, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--vertical.ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper--vertical.ez-scroller__wrapper--shadow-end::after{min-width:calc(100% - 10px);height:24px}.ez-scroller__wrapper--vertical.ez-scroller__wrapper--shadow-start::before{top:0;background:linear-gradient(to bottom, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--vertical.ez-scroller__wrapper--shadow-end::after{bottom:0;background:linear-gradient(to top, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}";
10
+ var EzScrollNavigationMode;
11
+ (function (EzScrollNavigationMode) {
12
+ EzScrollNavigationMode["SCROLLBAR"] = "scrollbar";
13
+ EzScrollNavigationMode["BUTTONS"] = "buttons";
14
+ })(EzScrollNavigationMode || (EzScrollNavigationMode = {}));
15
+
16
+ const ezScrollerCss = ":host{--ez-scroller--box-shadow-color:var(--background--body, #fafcff);--ez-scroller__nav-button--spacing:var(--space--8, 8px);--ez-scroller__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-scroller__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-scroller__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-scroller__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-scroller__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-scroller__scrollbar--width:var(--space--small, 6px);--ez-scroller__max-height:unset;--ez-scroller__scrollbar--padding-right:var(--space-extra-small, 3px);display:flex;cursor:grab;width:100%;overflow:hidden}.dragging{cursor:grabbing}.ez-scroller__container{display:flex;overflow-y:hidden;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked),.ez-scroller__container:not(.ez-scroller__container--locked):hover{scrollbar-color:var(--ez-scroller__scrollbar--color-clicked) var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container--both{overflow-y:scroll;overflow-x:scroll;flex-wrap:wrap}.ez-scroller__container--horizontal{overflow-x:scroll;flex-direction:row;padding-right:var(--ez-scroller__scrollbar--padding-right)}.ez-scroller__container--vertical{overflow-y:scroll;flex-direction:column;width:100%;max-height:var(--ez-scroller__max-height)}.ez-scroller__container::-webkit-scrollbar{background-color:transparent;width:var(--ez-scroller__scrollbar--width);height:var(--ez-scroller__scrollbar--width);max-width:var(--ez-scroller__scrollbar--width);min-width:var(--ez-scroller__scrollbar--width)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar{background-color:var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container::-webkit-scrollbar-track{visibility:hidden;background-color:transparent;border-radius:var(--ez-scroller__scrollbar--border-radius)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-track,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-track{background-color:var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container::-webkit-scrollbar-thumb{background-color:transparent;border-radius:var(--ez-scroller__scrollbar--border-radius)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb{background-color:var(--ez-scroller__scrollbar--color-default)}.ez-scroller__container::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container::-webkit-scrollbar-thumb:horizontal:hover{background-color:transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:horizontal:hover,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-scroller__scrollbar--color-hover)}.ez-scroller__container::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container::-webkit-scrollbar-thumb:horizontal:active{background-color:transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:horizontal:active,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-scroller__scrollbar--color-clicked)}.ez-scroller__wrapper{display:flex;position:relative;width:100%;height:auto}.ez-scroller__wrapper--horizontal{flex-direction:row;align-items:center;gap:var(--ez-scroller__nav-button--spacing)}.ez-scroller__wrapper--vertical{flex-direction:column;align-items:center;gap:var(--ez-scroller__nav-button--spacing)}.ez-scroller__wrapper--buttons-mode{display:flex}.ez-scroller__wrapper--buttons-mode.ez-scroller__wrapper--horizontal{flex-direction:row}.ez-scroller__wrapper--buttons-mode.ez-scroller__wrapper--vertical{flex-direction:column}.ez-scroller__wrapper:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-end::after{content:\"\";display:flex;position:absolute;z-index:1}.ez-scroller__wrapper--horizontal:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper--horizontal:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-end::after{width:24px;min-height:calc(100% - 10px)}.ez-scroller__wrapper--horizontal:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-start::before{left:0;background:linear-gradient(to right, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--horizontal:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-end::after{right:0;background:linear-gradient(to left, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--vertical:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper--vertical:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-end::after{min-width:calc(100% - 10px);height:24px}.ez-scroller__wrapper--vertical:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-start::before{top:0;background:linear-gradient(to bottom, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--vertical:not(.ez-scroller__wrapper--buttons-mode).ez-scroller__wrapper--shadow-end::after{bottom:0;background:linear-gradient(to top, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__container--buttons-mode::-webkit-scrollbar{display:none}.ez-scroller__container--buttons-mode{scrollbar-width:none;flex:1;min-width:0;position:relative}.ez-scroller__nav-button{--ez-scroller__nav-button--size:var(--space--32, 32px);--ez-scroller__nav-button--border-radius:var(--border--radius-24, 24px);--ez-scroller__nav-button--gradient-width:40px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;flex-shrink:0;position:relative;z-index:2;width:var(--ez-scroller__nav-button--size);height:var(--ez-scroller__nav-button--size);border-radius:var(--ez-scroller__nav-button--border-radius)}.ez-scroller__nav-button--previous::after{content:\"\";position:absolute;z-index:-1;pointer-events:none}.ez-scroller__wrapper--horizontal .ez-scroller__nav-button--previous::after{left:100%;top:0;bottom:0;width:var(--ez-scroller__nav-button--gradient-width);background:linear-gradient(to left, transparent 0%, var(--ez-scroller--box-shadow-color, #fafcff) 100%)}.ez-scroller__wrapper--vertical .ez-scroller__nav-button--previous::after{top:100%;left:0;right:0;height:var(--ez-scroller__nav-button--gradient-width);background:linear-gradient(to top, transparent 0%, var(--ez-scroller--box-shadow-color, #fafcff) 100%)}.ez-scroller__nav-button--next::before{content:\"\";position:absolute;z-index:-1;pointer-events:none}.ez-scroller__wrapper--horizontal .ez-scroller__nav-button--next::before{right:100%;top:0;bottom:0;width:var(--ez-scroller__nav-button--gradient-width);background:linear-gradient(to right, transparent 0%, var(--ez-scroller--box-shadow-color, #fafcff) 100%)}.ez-scroller__wrapper--vertical .ez-scroller__nav-button--next::before{bottom:100%;left:0;right:0;height:var(--ez-scroller__nav-button--gradient-width);background:linear-gradient(to bottom, transparent 0%, var(--ez-scroller--box-shadow-color, #fafcff) 100%)}.ez-scroller__nav-button ez-icon{pointer-events:none}";
10
17
 
11
18
  const EzScroller = class {
12
19
  constructor(hostRef) {
13
20
  index.registerInstance(this, hostRef);
14
21
  this._shadowStart = "ez-scroller__wrapper--shadow-start";
15
22
  this._shadowEnd = "ez-scroller__wrapper--shadow-end";
23
+ this._startHidden = undefined;
24
+ this._endHidden = undefined;
16
25
  this.isActive = false;
17
26
  this.direction = undefined;
18
27
  this.locked = false;
19
28
  this.activeShadow = false;
29
+ this.navigationMode = EzScrollNavigationMode.SCROLLBAR;
30
+ this.scrollAmount = 200;
20
31
  }
21
32
  //---------------------------------------------
22
33
  // Private methods
23
34
  //---------------------------------------------
35
+ scrollToPrevious() {
36
+ if (!this._container)
37
+ return;
38
+ const scrollOptions = {
39
+ behavior: 'smooth'
40
+ };
41
+ if (this.direction === EzScrollDirection.EzScrollDirection.HORIZONTAL) {
42
+ scrollOptions.left = Math.max(0, this._container.scrollLeft - this.scrollAmount);
43
+ }
44
+ else if (this.direction === EzScrollDirection.EzScrollDirection.VERTICAL) {
45
+ scrollOptions.top = Math.max(0, this._container.scrollTop - this.scrollAmount);
46
+ }
47
+ this._container.scrollTo(scrollOptions);
48
+ }
49
+ scrollToNext() {
50
+ if (!this._container)
51
+ return;
52
+ const scrollOptions = {
53
+ behavior: 'smooth'
54
+ };
55
+ if (this.direction === EzScrollDirection.EzScrollDirection.HORIZONTAL) {
56
+ scrollOptions.left = this._container.scrollLeft + this.scrollAmount;
57
+ }
58
+ else if (this.direction === EzScrollDirection.EzScrollDirection.VERTICAL) {
59
+ scrollOptions.top = this._container.scrollTop + this.scrollAmount;
60
+ }
61
+ this._container.scrollTo(scrollOptions);
62
+ }
24
63
  getContainerClass() {
64
+ const isButtonMode = this.navigationMode === EzScrollNavigationMode.BUTTONS;
25
65
  return `ez-scroller__container ez-scroller__container--${this.direction}
26
66
  ${this.locked || !this.isActive ? " ez-scroller__container--locked" : ""}
67
+ ${isButtonMode ? " ez-scroller__container--buttons-mode" : ""}
27
68
  `;
28
69
  }
29
70
  getWrapperClass() {
30
- return `ez-scroller__wrapper ez-scroller__wrapper--${this.direction}`;
71
+ const isButtonMode = this.navigationMode === EzScrollNavigationMode.BUTTONS;
72
+ return `ez-scroller__wrapper ez-scroller__wrapper--${this.direction}
73
+ ${isButtonMode ? " ez-scroller__wrapper--buttons-mode" : ""}
74
+ `;
31
75
  }
32
76
  finishDrag() {
33
77
  if (this._controller) {
@@ -55,27 +99,33 @@ const EzScroller = class {
55
99
  this.updateShadow();
56
100
  }
57
101
  updateShadow() {
58
- const wrapper = this._wrapper;
59
- if (!this.activeShadow || wrapper == undefined) {
102
+ if (!this.activeShadow) {
103
+ return;
104
+ }
105
+ // Apply shadow classes to container when in buttons mode, otherwise to wrapper
106
+ const targetElement = this.navigationMode === EzScrollNavigationMode.BUTTONS
107
+ ? this._container
108
+ : this._wrapper;
109
+ if (targetElement == undefined) {
60
110
  return;
61
111
  }
62
112
  const shadowPositions = ["", "start", "end", "middle"];
63
113
  const currentPosition = shadowPositions[Number(this._startHidden) | Number(this._endHidden) << 1];
64
114
  if (currentPosition === "start") {
65
- wrapper.classList.add(this._shadowStart);
66
- wrapper.classList.remove(this._shadowEnd);
115
+ targetElement.classList.add(this._shadowStart);
116
+ targetElement.classList.remove(this._shadowEnd);
67
117
  }
68
118
  else if (currentPosition === "end") {
69
- wrapper.classList.remove(this._shadowStart);
70
- wrapper.classList.add(this._shadowEnd);
119
+ targetElement.classList.remove(this._shadowStart);
120
+ targetElement.classList.add(this._shadowEnd);
71
121
  }
72
122
  else if (currentPosition === "middle") {
73
- wrapper.classList.add(this._shadowStart);
74
- wrapper.classList.add(this._shadowEnd);
123
+ targetElement.classList.add(this._shadowStart);
124
+ targetElement.classList.add(this._shadowEnd);
75
125
  }
76
126
  else {
77
- wrapper.classList.remove(this._shadowStart);
78
- wrapper.classList.remove(this._shadowEnd);
127
+ targetElement.classList.remove(this._shadowStart);
128
+ targetElement.classList.remove(this._shadowEnd);
79
129
  }
80
130
  }
81
131
  configResize() {
@@ -99,6 +149,17 @@ const EzScroller = class {
99
149
  return this._container.scrollWidth > this._container.clientWidth
100
150
  || this._container.scrollHeight > this._container.clientHeight;
101
151
  }
152
+ renderNavigationButtons() {
153
+ if (this.navigationMode !== EzScrollNavigationMode.BUTTONS || this.direction === EzScrollDirection.EzScrollDirection.BOTH) {
154
+ return null;
155
+ }
156
+ const isHorizontal = this.direction === EzScrollDirection.EzScrollDirection.HORIZONTAL;
157
+ const previousIconName = isHorizontal ? "arrow_back" : "arrow-up";
158
+ const nextIconName = isHorizontal ? "arrow-forward" : "arrow-down";
159
+ const previousButton = this._startHidden ? (index.h("ez-button", { class: "ez-scroller__nav-button ez-scroller__nav-button--previous", onClick: () => this.scrollToPrevious(), title: this.i18n('ez-scroller.previousButton'), "aria-label": this.i18n('ez-scroller.previousButton'), type: "button", variant: "tertiary", mode: 'icon', suppressAnimation: true, iconName: previousIconName }, index.h("ez-icon", { iconName: previousIconName }))) : null;
160
+ const nextButton = this._endHidden ? (index.h("ez-button", { class: "ez-scroller__nav-button ez-scroller__nav-button--next", onClick: () => this.scrollToNext(), title: this.i18n('ez-scroller.nextButton'), "aria-label": this.i18n('ez-scroller.nextButton'), type: "button", variant: "tertiary", mode: 'icon', suppressAnimation: true, iconName: nextIconName }, index.h("ez-icon", { iconName: nextIconName }))) : null;
161
+ return { previousButton, nextButton };
162
+ }
102
163
  //---------------------------------------------
103
164
  // Event handlers
104
165
  //---------------------------------------------
@@ -137,6 +198,9 @@ const EzScroller = class {
137
198
  }
138
199
  }
139
200
  }
201
+ async componentWillLoad() {
202
+ this.i18n = await index$1.initI18n();
203
+ }
140
204
  componentDidRender() {
141
205
  var _a, _b;
142
206
  if (this._container == undefined) {
@@ -153,8 +217,11 @@ const EzScroller = class {
153
217
  this.updateScroller();
154
218
  }
155
219
  render() {
156
- return (index.h(index.Host, null, this.activeShadow
157
- ? index.h("div", { ref: ref => this._wrapper = ref, class: this.getWrapperClass() }, this.getContainerElement())
220
+ const buttons = this.navigationMode === EzScrollNavigationMode.BUTTONS ? this.renderNavigationButtons() : null;
221
+ return (index.h(index.Host, null, this.activeShadow || this.navigationMode === EzScrollNavigationMode.BUTTONS
222
+ ? index.h("div", { ref: ref => this._wrapper = ref, class: this.getWrapperClass() }, buttons === null || buttons === void 0 ? void 0 :
223
+ buttons.previousButton, this.getContainerElement(), buttons === null || buttons === void 0 ? void 0 :
224
+ buttons.nextButton)
158
225
  : this.getContainerElement()));
159
226
  }
160
227
  };
@@ -4,11 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a7b0c73d.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const ApplicationUtils = require('./ApplicationUtils-006ca96f.js');
7
+ const ApplicationUtils = require('./ApplicationUtils-88dfe345.js');
8
8
  const CSSVarsUtils = require('./CSSVarsUtils-f20973d1.js');
9
9
  require('./DialogType-2114c337.js');
10
10
  require('./CheckMode-ecb90b87.js');
11
- const index$1 = require('./index-350d0fa0.js');
11
+ const index$1 = require('./index-9739c242.js');
12
12
  const types = require('./types-6a5df0c7.js');
13
13
  require('./FormLayout-fe8da83c.js');
14
14
 
@@ -67,6 +67,7 @@ const EzSearchPlus = class {
67
67
  if (newNormalizedValue === undefined) {
68
68
  this.codeValue = undefined;
69
69
  this.descriptionValue = undefined;
70
+ this.cleanFieldsRef();
70
71
  this.ezChange.emit(undefined);
71
72
  return;
72
73
  }
@@ -101,7 +102,7 @@ const EzSearchPlus = class {
101
102
  * Aplica o foco no campo.
102
103
  */
103
104
  async setFocus(options) {
104
- var _a;
105
+ var _a, _b;
105
106
  if (this.disableCodeInput) {
106
107
  (_a = this._textInputDescriptionValue) === null || _a === void 0 ? void 0 : _a.setFocus(options);
107
108
  return;
@@ -110,7 +111,7 @@ const EzSearchPlus = class {
110
111
  this._latestFocusedInputElement.setFocus(options);
111
112
  return;
112
113
  }
113
- this._textInputCodeValue.setFocus(options);
114
+ (_b = this._textInputCodeValue) === null || _b === void 0 ? void 0 : _b.setFocus(options);
114
115
  }
115
116
  /**
116
117
  * Obtém o valor do componente só após a compo de apresentação
@@ -397,6 +398,14 @@ const EzSearchPlus = class {
397
398
  handleDescriptionInputFocus() {
398
399
  this.setLatestFocusedInputElement(this._textInputDescriptionValue);
399
400
  }
401
+ cleanFieldsRef() {
402
+ if (this._textInputCodeValue) {
403
+ this._textInputCodeValue.value = null;
404
+ }
405
+ if (this._textInputDescriptionValue) {
406
+ this._textInputDescriptionValue.value = null;
407
+ }
408
+ }
400
409
  getRightIconElement() {
401
410
  var _a, _b;
402
411
  if (!this.ensureClearButtonVisible && (!this.value && !((_a = this._textInputCodeValue) === null || _a === void 0 ? void 0 : _a.value) && !((_b = this._textInputDescriptionValue) === null || _b === void 0 ? void 0 : _b.value))) {
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a7b0c73d.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const index$1 = require('./index-350d0fa0.js');
7
+ const index$1 = require('./index-9739c242.js');
8
8
 
9
9
  const ezSearchResultListCss = ":host{--ez-search__list-title--primary:var(--title--primary, #2B3A54);--ez-search__list-text--primary:var(--text--primary, #626e82);--ez-search__list-height:calc(var(--ez-search--font-size) + var(--ez-search--space--medium) + 4px);--ez-search__list-min-width:64px;--ez-search__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-search__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-search__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-search__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-search__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-search__scrollbar--width:var(--space--small, 6px);--ez-search--border-radius-small:var(--border--radius-small, 6px);--ez-search--font-size:var(--text--medium, 14px);--ez-search--font-family:var(--font-pattern, Arial);--ez-search--font-weight--large:var(--text-weight--large, 500);--ez-search--font-weight--medium:var(--text-weight--medium, 400);--ez-search--background-medium:var(--background--medium, #f0f3f7);--ez-search--line-height:calc(var(--text--medium, 14px) + 4px)}.list-options{position:relative;z-index:var(--more-visible, 2);margin:var(--space--small) 0px;padding:0px;padding-inline-start:0px;box-sizing:border-box;width:100%;height:100%;max-height:350px;min-width:150px;display:flex;flex-direction:column;scroll-behavior:smooth;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--ez-search__scrollbar--color-clicked) var(--ez-search__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--scrollbar--background);width:var(--space--small);max-width:var(--space--small);min-width:var(--space--small);height:var(--space--small);max-height:var(--space--small);min-height:var(--space--small)}.list-options::-webkit-scrollbar-track{background-color:var(--ez-search__scrollbar--color-background);border-radius:var(--ez-search__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-search__scrollbar--color-default);border-radius:var(--ez-search__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb:vertical:hover,.list-options::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-search__scrollbar--color-hover)}.list-options::-webkit-scrollbar-thumb:vertical:active,.list-options::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-search__scrollbar--color-clicked)}.message{text-align:center;display:flex;justify-content:center;align-items:center;list-style-type:none;margin:var(--space--medium) 0px;min-height:var(--ez-search__list-height)}.message__no-result{color:var(--ez-search__list-title--primary);font-family:var(--ez-search--font-family);font-size:var(--ez-search--font-size)}.loading__container{display:flex;flex-direction:column;margin:var(--space--small)}.item__value,.item__label{flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-search__list-title--primary);font-family:var(--ez-search--font-family);font-size:var(--ez-search--font-size);line-height:var(--ez-search--line-height)}.item__label{font-weight:var(--ez-search--font-weight--medium)}.item__label--bold{font-weight:var(--ez-search--font-weight--large)}.item__value{text-align:center;color:var(--ez-search__list-text--primary);font-weight:var(--ez-search--font-weight--large)}.item__value--hidden{visibility:hidden;position:absolute;white-space:nowrap;z-index:-1;top:0;left:0}.item__label{text-align:left}.item__list>li:hover{background-color:var(--ez-search--background-medium)}.item{display:flex;align-items:center;width:100%;box-sizing:border-box;list-style-type:none;cursor:pointer;border-radius:var(--ez-search--border-radius-small);gap:var(--space--small, 6px)}.preselected{background-color:var(--background--medium)}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@supports not (scrollbar-width: thin){.item{padding-right:8px}}";
10
10
 
@@ -5,15 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-a7b0c73d.js');
6
6
  const CSSVarsUtils = require('./CSSVarsUtils-f20973d1.js');
7
7
  const core = require('@sankhyalabs/core');
8
- const ApplicationUtils = require('./ApplicationUtils-006ca96f.js');
8
+ const ApplicationUtils = require('./ApplicationUtils-88dfe345.js');
9
9
  require('./DialogType-2114c337.js');
10
10
  require('./CheckMode-ecb90b87.js');
11
- const index$1 = require('./index-350d0fa0.js');
11
+ const index$1 = require('./index-9739c242.js');
12
12
  const types = require('./types-6a5df0c7.js');
13
13
  require('./FormLayout-fe8da83c.js');
14
14
  const searchFormatters = require('./searchFormatters-b7e1ed1e.js');
15
15
 
16
- const ezSearchCss = ":host{--ez-search--height:42px;--ez-search--width:100%;--ez-search__icon--width:48px;--ez-search--border-radius:var(--border--radius-medium, 12px);--ez-search--border-radius-small:var(--border--radius-small, 6px);--ez-search--font-size:var(--text--medium, 14px);--ez-search--font-family:var(--font-pattern, Arial);--ez-search--font-weight--large:var(--text-weight--large, 500);--ez-search--font-weight--medium:var(--text-weight--medium, 400);--ez-search--background-color--xlight:var(--background--xlight, #fff);--ez-search--background-medium:var(--background--medium, #f0f3f7);--ez-search--line-height:calc(var(--text--medium, 14px) + 4px);--ez-search__input--background-color:var(--background--medium, #e0e0e0);--ez-search__input--border:var(--border--medium, 2px solid);--ez-search__input--border-color:var(--ez-search__input--background-color);--ez-search__input--focus--border-color:var(--color--primary, #008561);--ez-search__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-search__input--disabled--color:var(--text--disable, #AFB6C0);--ez-search__input--error--border-color:#CC2936;--ez-search__btn--color:var(--title--primary, #2B3A54);--ez-search__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-search__btn-hover--color:var(--color--primary, #4e4e4e);--ez-search__label--color:var(--title--primary, #2B3A54);--ez-search--space--medium:var(--space--medium, 12px);--ez-search--space--small:var(--space--small, 6px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-search--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-text-input__input--border-color:var(--color--strokes, #dce0e8);--ez-text-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-text-input__input--disabled--color:var(--title--primary, #2B3A54)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-search__btn--color)}.btn:disabled{cursor:not-allowed;color:var(--ez-search__btn-disabled--color)}.btn:disabled:hover{cursor:not-allowed;color:var(--ez-search__btn-disabled--color)}.btn:hover{color:var(--ez-search__btn-hover--color)}.btn__close{visibility:hidden}ez-text-input:hover .btn__close,ez-text-input:focus .btn__close{visibility:visible}";
16
+ const ezSearchCss = ":host{--ez-search--height:42px;--ez-search--width:100%;--ez-search--min-width:0;--ez-search__icon--width:48px;--ez-search--border-radius:var(--border--radius-medium, 12px);--ez-search--border-radius-small:var(--border--radius-small, 6px);--ez-search--font-size:var(--text--medium, 14px);--ez-search--font-family:var(--font-pattern, Arial);--ez-search--font-weight--large:var(--text-weight--large, 500);--ez-search--font-weight--medium:var(--text-weight--medium, 400);--ez-search--background-color--xlight:var(--background--xlight, #fff);--ez-search--background-medium:var(--background--medium, #f0f3f7);--ez-search--line-height:calc(var(--text--medium, 14px) + 4px);--ez-search__input--background-color:var(--background--medium, #e0e0e0);--ez-search__input--border:var(--border--medium, 2px solid);--ez-search__input--border-color:var(--ez-search__input--background-color);--ez-search__input--focus--border-color:var(--color--primary, #008561);--ez-search__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-search__input--disabled--color:var(--text--disable, #AFB6C0);--ez-search__input--error--border-color:#CC2936;--ez-search__btn--color:var(--title--primary, #2B3A54);--ez-search__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-search__btn-hover--color:var(--color--primary, #4e4e4e);--ez-search__label--color:var(--title--primary, #2B3A54);--ez-search--space--medium:var(--space--medium, 12px);--ez-search--space--small:var(--space--small, 6px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-search--width);min-width:var(--ez-search--min-width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-text-input__input--border-color:var(--color--strokes, #dce0e8);--ez-text-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-text-input__input--disabled--color:var(--title--primary, #2B3A54)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-search__btn--color)}.btn:disabled{cursor:not-allowed;color:var(--ez-search__btn-disabled--color)}.btn:disabled:hover{cursor:not-allowed;color:var(--ez-search__btn-disabled--color)}.btn:hover{color:var(--ez-search__btn-hover--color)}.btn__close{visibility:hidden}ez-text-input:hover .btn__close,ez-text-input:focus .btn__close{visibility:visible}";
17
17
 
18
18
  const EzSearch = class {
19
19
  constructor(hostRef) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-a7b0c73d.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const EzScrollDirection = require('./EzScrollDirection-b2c99895.js');
8
- const index$1 = require('./index-350d0fa0.js');
8
+ const index$1 = require('./index-9739c242.js');
9
9
 
10
10
  var ModeMenuEnum;
11
11
  (function (ModeMenuEnum) {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a7b0c73d.js');
6
- const index$1 = require('./index-350d0fa0.js');
6
+ const index$1 = require('./index-9739c242.js');
7
7
  require('@sankhyalabs/core');
8
8
 
9
9
  const ALLOWED_ANIMATIONS = ['progress', 'pulse', 'false'];