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

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 (240) hide show
  1. package/dist/cjs/{ApplicationUtils-006ca96f.js → ApplicationUtils-dc653b57.js} +1 -1
  2. package/dist/cjs/{app-globals-5cb12916.js → app-globals-16ec1ff7.js} +1 -1
  3. package/dist/cjs/classic-search-list_7.cjs.entry.js +2 -2
  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 +4 -4
  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 +62 -154
  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 +4 -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 +98 -113
  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-a7b0c73d.js +8 -0
  58. package/dist/cjs/{index-350d0fa0.js → index-a8537087.js} +85 -30
  59. package/dist/cjs/loader.cjs.js +3 -3
  60. package/dist/cjs/{search-column-fbf680d7.js → search-column-cd0e44be.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 +1 -1
  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 +20 -6
  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-popup/ez-popup.js +0 -1
  78. package/dist/collection/components/ez-record-navigation/ez-record-navigation.css +51 -0
  79. package/dist/collection/components/ez-record-navigation/ez-record-navigation.js +246 -0
  80. package/dist/collection/components/ez-scroller/EzScrollNavigationMode.js +5 -0
  81. package/dist/collection/components/ez-scroller/ez-scroller.css +117 -11
  82. package/dist/collection/components/ez-scroller/ez-scroller.js +118 -13
  83. package/dist/collection/components/ez-search/ez-search.css +4 -0
  84. package/dist/collection/components/ez-search-plus/ez-search-plus.js +2 -2
  85. package/dist/collection/components/ez-split-button/ez-split-button.css +1 -1
  86. package/dist/collection/components/ez-split-button/ez-split-button.js +2 -2
  87. package/dist/collection/utils/i18n/locales/en-us.js +25 -4
  88. package/dist/collection/utils/i18n/locales/es-es.js +25 -4
  89. package/dist/collection/utils/i18n/locales/pt-br.js +25 -4
  90. package/dist/collection/utils/searchColumn/search-column.js +2 -5
  91. package/dist/custom-elements/index.d.ts +12 -0
  92. package/dist/custom-elements/index.js +835 -439
  93. package/dist/esm/{ApplicationUtils-0c5cb207.js → ApplicationUtils-e99e53c8.js} +1 -1
  94. package/dist/esm/{app-globals-1db10325.js → app-globals-6e27b3bb.js} +1 -1
  95. package/dist/esm/classic-search-list_7.entry.js +2 -2
  96. package/dist/esm/ez-actions-button.entry.js +2 -2
  97. package/dist/esm/ez-alert-list.entry.js +1 -1
  98. package/dist/esm/ez-avatar.entry.js +1 -1
  99. package/dist/esm/ez-calendar.entry.js +1 -1
  100. package/dist/esm/ez-classic-combo-box.entry.js +2 -1
  101. package/dist/esm/ez-classic-date-input.entry.js +2 -2
  102. package/dist/esm/ez-classic-date-time-input.entry.js +1 -1
  103. package/dist/esm/ez-classic-number-input.entry.js +1 -1
  104. package/dist/esm/ez-classic-search-plus.entry.js +4 -4
  105. package/dist/esm/ez-classic-search.entry.js +2 -2
  106. package/dist/esm/ez-classic-time-input.entry.js +4 -3
  107. package/dist/esm/ez-collapsible-box.entry.js +2 -2
  108. package/dist/esm/ez-combo-box.entry.js +2 -2
  109. package/dist/esm/ez-date-input.entry.js +1 -1
  110. package/dist/esm/ez-date-time-input.entry.js +1 -1
  111. package/dist/esm/ez-dialog.entry.js +1 -1
  112. package/dist/esm/ez-double-list.entry.js +1 -1
  113. package/dist/esm/ez-dropdown.entry.js +1 -1
  114. package/dist/esm/ez-empty-card.entry.js +1 -1
  115. package/dist/esm/ez-file-item.entry.js +1 -1
  116. package/dist/esm/ez-form-view.entry.js +1 -1
  117. package/dist/esm/ez-form.entry.js +3 -3
  118. package/dist/esm/ez-grid-pagination.entry.js +223 -0
  119. package/dist/esm/ez-grid.entry.js +63 -155
  120. package/dist/esm/ez-guide-navigator.entry.js +1 -1
  121. package/dist/esm/ez-icon.entry.js +1 -1
  122. package/dist/esm/ez-link-builder_6.entry.js +1 -1
  123. package/dist/esm/ez-list.entry.js +1 -1
  124. package/dist/esm/ez-modal-container.entry.js +1 -1
  125. package/dist/esm/ez-modal.entry.js +1 -1
  126. package/dist/esm/ez-multi-selection-list.entry.js +1 -1
  127. package/dist/esm/ez-number-input.entry.js +1 -1
  128. package/dist/esm/ez-pagination.entry.js +1 -1
  129. package/dist/esm/ez-popover-core.entry.js +1 -1
  130. package/dist/esm/ez-popup.entry.js +1 -2
  131. package/dist/esm/ez-record-navigation.entry.js +117 -0
  132. package/dist/esm/ez-scroller_2.entry.js +81 -14
  133. package/dist/esm/ez-search-plus.entry.js +4 -4
  134. package/dist/esm/ez-search-result-list.entry.js +1 -1
  135. package/dist/esm/ez-search.entry.js +3 -3
  136. package/dist/esm/ez-sidebar-navigator.entry.js +1 -1
  137. package/dist/esm/ez-skeleton.entry.js +1 -1
  138. package/dist/esm/ez-sortable-list.entry.js +98 -113
  139. package/dist/esm/ez-spinner.entry.js +1 -1
  140. package/dist/esm/ez-split-button.entry.js +4 -4
  141. package/dist/esm/ez-split-item.entry.js +2 -2
  142. package/dist/esm/ez-time-input.entry.js +1 -1
  143. package/dist/esm/ez-tooltip.entry.js +1 -1
  144. package/dist/esm/ez-tree.entry.js +1 -1
  145. package/dist/esm/ez-upload.entry.js +2 -2
  146. package/dist/esm/ezui.js +3 -3
  147. package/dist/esm/filter-column.entry.js +1 -1
  148. package/dist/esm/{floating-ui.dom.esm-ad30f2f0.js → floating-ui.dom.esm-2964eae1.js} +165 -119
  149. package/dist/esm/{index-225aa0c3.js → index-a031816b.js} +85 -30
  150. package/dist/esm/index-baa5e267.js +8 -0
  151. package/dist/esm/loader.js +3 -3
  152. package/dist/esm/{search-column-40a78cac.js → search-column-33d72c20.js} +4 -7
  153. package/dist/ezui/ezui.esm.js +1 -1
  154. package/dist/ezui/p-05e4541a.entry.js +7 -0
  155. package/dist/ezui/{p-56565777.entry.js → p-0bc16f75.entry.js} +1 -1
  156. package/dist/ezui/p-0d80e3ec.entry.js +1 -0
  157. package/dist/ezui/{p-556bf329.entry.js → p-0fc981e9.entry.js} +1 -1
  158. package/dist/ezui/{p-26cd4c2e.entry.js → p-1244fac0.entry.js} +1 -1
  159. package/dist/ezui/{p-0625743b.entry.js → p-160a268d.entry.js} +1 -1
  160. package/dist/ezui/p-178cb9df.entry.js +1 -0
  161. package/dist/ezui/{p-6ac056d7.entry.js → p-1ab5ba19.entry.js} +1 -1
  162. package/dist/ezui/p-2241dea1.js +1 -0
  163. package/dist/ezui/{p-9825c1d2.js → p-24582dd6.js} +1 -1
  164. package/dist/ezui/{p-62c149cb.entry.js → p-2887cbf9.entry.js} +1 -1
  165. package/dist/ezui/p-2b65728f.entry.js +1 -0
  166. package/dist/ezui/{p-b705b342.entry.js → p-318d4dc9.entry.js} +1 -1
  167. package/dist/ezui/{p-8e5f1c74.entry.js → p-32b8f057.entry.js} +1 -1
  168. package/dist/ezui/{p-f5552540.entry.js → p-3311e7ef.entry.js} +1 -1
  169. package/dist/ezui/{p-b0a716ef.entry.js → p-39d2bce5.entry.js} +1 -1
  170. package/dist/ezui/{p-e3cd5080.entry.js → p-3d772561.entry.js} +1 -1
  171. package/dist/ezui/{p-c56ee8c0.entry.js → p-473a397f.entry.js} +1 -1
  172. package/dist/ezui/{p-729bd1be.entry.js → p-4991931a.entry.js} +1 -1
  173. package/dist/ezui/{p-d5dc6b01.entry.js → p-4ca4e8d1.entry.js} +1 -1
  174. package/dist/ezui/{p-4f7ad3ee.entry.js → p-4f76dc28.entry.js} +1 -1
  175. package/dist/ezui/{p-2da9faf1.entry.js → p-510eccc7.entry.js} +1 -1
  176. package/dist/ezui/p-54975948.entry.js +1 -0
  177. package/dist/ezui/p-69344c23.js +1 -0
  178. package/dist/ezui/p-6bb36afc.entry.js +1 -0
  179. package/dist/ezui/{p-5abb220b.entry.js → p-700af412.entry.js} +1 -1
  180. package/dist/ezui/{p-a4351519.entry.js → p-7f475884.entry.js} +1 -1
  181. package/dist/ezui/{p-4c76b365.entry.js → p-84be1391.entry.js} +1 -1
  182. package/dist/ezui/{p-987185c4.entry.js → p-879cee4d.entry.js} +1 -1
  183. package/dist/ezui/{p-34d459e4.entry.js → p-8980b477.entry.js} +1 -1
  184. package/dist/ezui/p-8a5efec5.entry.js +1 -0
  185. package/dist/ezui/p-91ff4511.entry.js +1 -0
  186. package/dist/ezui/{p-7134726a.entry.js → p-93097edc.entry.js} +1 -1
  187. package/dist/ezui/{p-e2972977.entry.js → p-96e5eaa2.entry.js} +1 -1
  188. package/dist/ezui/{p-0248846f.entry.js → p-a383fbc5.entry.js} +1 -1
  189. package/dist/ezui/{p-351fb12f.entry.js → p-a4735a12.entry.js} +1 -1
  190. package/dist/ezui/{p-a3bad8f8.entry.js → p-a4911d89.entry.js} +1 -1
  191. package/dist/ezui/{p-7edc3ef7.entry.js → p-a8f807ed.entry.js} +1 -1
  192. package/dist/ezui/{p-e3a42f47.entry.js → p-ab41edab.entry.js} +1 -1
  193. package/dist/ezui/{p-7953ecb9.entry.js → p-ab4da973.entry.js} +1 -1
  194. package/dist/ezui/{p-e493ad57.entry.js → p-adee66db.entry.js} +1 -1
  195. package/dist/ezui/{p-544605c4.entry.js → p-b5f45319.entry.js} +1 -1
  196. package/dist/ezui/p-c2d44132.entry.js +1 -0
  197. package/dist/ezui/{p-df802548.entry.js → p-c33d46e0.entry.js} +1 -1
  198. package/dist/ezui/{p-b36475f9.entry.js → p-c8584e28.entry.js} +1 -1
  199. package/dist/ezui/{p-a872c642.entry.js → p-caf3cd8f.entry.js} +1 -1
  200. package/dist/ezui/{p-4d30b703.entry.js → p-cf66ace0.entry.js} +1 -1
  201. package/dist/ezui/p-d2601b25.js +1 -0
  202. package/dist/ezui/{p-4c2a4435.entry.js → p-d98dd01a.entry.js} +1 -1
  203. package/dist/ezui/p-dd5326e6.entry.js +1 -0
  204. package/dist/ezui/{p-4af745e1.entry.js → p-ddc6432d.entry.js} +1 -1
  205. package/dist/ezui/{p-5a74d132.entry.js → p-ea0f78d1.entry.js} +46 -46
  206. package/dist/ezui/{p-97312709.entry.js → p-ed6b6e0f.entry.js} +1 -1
  207. package/dist/ezui/{p-4e869617.entry.js → p-f1390be9.entry.js} +1 -1
  208. package/dist/ezui/{p-6a794336.js → p-f71a4d97.js} +1 -1
  209. package/dist/ezui/{p-ef8bd3e8.entry.js → p-fc72aeb8.entry.js} +1 -1
  210. package/dist/ezui/p-fcdd861e.entry.js +1 -0
  211. package/dist/types/components/ez-empty-card/ez-empty-card.d.ts +2 -2
  212. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +2 -0
  213. package/dist/types/components/ez-grid/controller/ag-grid/gridColumnDefaultWidths.d.ts +4 -0
  214. package/dist/types/components/ez-grid/ez-grid.d.ts +10 -27
  215. package/dist/types/components/ez-grid/utils/index.d.ts +1 -0
  216. package/dist/types/components/ez-grid-pagination/ez-grid-pagination.d.ts +75 -0
  217. package/dist/types/components/ez-record-navigation/ez-record-navigation.d.ts +43 -0
  218. package/dist/types/components/ez-scroller/EzScrollNavigationMode.d.ts +4 -0
  219. package/dist/types/components/ez-scroller/ez-scroller.d.ts +16 -2
  220. package/dist/types/components.d.ts +154 -6
  221. package/dist/types/utils/i18n/locales/en-us.d.ts +24 -3
  222. package/dist/types/utils/i18n/locales/es-es.d.ts +24 -3
  223. package/dist/types/utils/i18n/locales/pt-br.d.ts +24 -3
  224. package/dist/types/utils/i18n/translations.d.ts +72 -9
  225. package/package.json +2 -2
  226. package/react/components.d.ts +2 -0
  227. package/react/components.js +2 -0
  228. package/react/components.js.map +1 -1
  229. package/dist/ezui/p-07fb22c3.entry.js +0 -1
  230. package/dist/ezui/p-288631d1.entry.js +0 -1
  231. package/dist/ezui/p-2a806303.js +0 -1
  232. package/dist/ezui/p-2de94faf.entry.js +0 -1
  233. package/dist/ezui/p-619225ce.entry.js +0 -1
  234. package/dist/ezui/p-a813a748.entry.js +0 -1
  235. package/dist/ezui/p-b8078832.entry.js +0 -1
  236. package/dist/ezui/p-c0ae79fa.entry.js +0 -1
  237. package/dist/ezui/p-c178730b.js +0 -1
  238. package/dist/ezui/p-ce0a0036.entry.js +0 -7
  239. package/dist/ezui/p-d2645bdf.entry.js +0 -1
  240. package/dist/ezui/p-ff4312d5.js +0 -1
@@ -0,0 +1,117 @@
1
+ import { r as registerInstance, h, F as Fragment, H as Host, g as getElement } from './index-baa5e267.js';
2
+ import { Action, ElementIDUtils } from '@sankhyalabs/core';
3
+ import { i as initI18n } from './index-a031816b.js';
4
+
5
+ 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}";
6
+
7
+ const EzRecordNavigation = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this._dataUnitInitialized = false;
11
+ this.leftButtonDisabled = undefined;
12
+ this.rightButtonDisabled = undefined;
13
+ this.dataUnit = undefined;
14
+ this.primaryKeys = undefined;
15
+ this.textPosition = 'right';
16
+ this.disabled = false;
17
+ }
18
+ /**
19
+ * Navega para a página anterior.
20
+ */
21
+ async previousRecord() {
22
+ if (!this.dataUnit) {
23
+ return;
24
+ }
25
+ await this.dataUnit.previousRecord();
26
+ }
27
+ /**
28
+ * Navega para a próxima página.
29
+ */
30
+ async nextRecord() {
31
+ if (!this.dataUnit) {
32
+ return;
33
+ }
34
+ await this.dataUnit.nextRecord();
35
+ }
36
+ onDataUnitChange() {
37
+ this.initializeDataUnit();
38
+ }
39
+ onDisabledChange() {
40
+ this.setStatusButtonPagination();
41
+ }
42
+ renderPageTitle() {
43
+ if (!this.primaryKeys) {
44
+ return null;
45
+ }
46
+ return this.primaryKeys.map((key, index) => {
47
+ var _a;
48
+ const fieldValue = this.dataUnit.getFieldValue(key);
49
+ const fieldLabel = (_a = this.dataUnit.getField(key)) === null || _a === void 0 ? void 0 : _a.label;
50
+ const isLast = index === this.primaryKeys.length - 1;
51
+ return (h(Fragment, null, h("ez-tooltip", { message: fieldLabel !== null && fieldLabel !== void 0 ? fieldLabel : fieldValue }, h("span", { class: "record-navigation__label", "aria-live": "polite", "aria-atomic": "true" }, fieldValue !== null && fieldValue !== void 0 ? fieldValue : '-')), !isLast && h("span", { class: "record-navigation__divider" })));
52
+ });
53
+ }
54
+ dataUnitObserver(action) {
55
+ switch (action.type) {
56
+ case Action.SELECTION_CHANGED:
57
+ case Action.PREVIOUS_SELECTED:
58
+ case Action.NEXT_SELECTED:
59
+ this.setStatusButtonPagination();
60
+ break;
61
+ }
62
+ }
63
+ getLeftButtonDisabledStatus() {
64
+ if (!this.dataUnit || this.disabled)
65
+ return true;
66
+ return !this.dataUnit.hasPrevious();
67
+ }
68
+ getRightButtonDisabledStatus() {
69
+ if (!this.dataUnit || this.disabled)
70
+ return true;
71
+ return !this.dataUnit.hasNext();
72
+ }
73
+ setStatusButtonPagination() {
74
+ this.leftButtonDisabled = this.getLeftButtonDisabledStatus();
75
+ this.rightButtonDisabled = this.getRightButtonDisabledStatus();
76
+ }
77
+ initializeDataUnit() {
78
+ if (!this.dataUnit || this._dataUnitInitialized) {
79
+ return;
80
+ }
81
+ this.setStatusButtonPagination();
82
+ this._dataUnitObserverBound = this.dataUnitObserver.bind(this);
83
+ this.dataUnit.subscribe(this._dataUnitObserverBound);
84
+ this._dataUnitInitialized = true;
85
+ }
86
+ addInfoId() {
87
+ if (this._element) {
88
+ ElementIDUtils.addIDInfo(this._element);
89
+ }
90
+ }
91
+ async connectedCallback() {
92
+ this.i18n = await initI18n();
93
+ this.initializeDataUnit();
94
+ }
95
+ componentDidLoad() {
96
+ this.addInfoId();
97
+ }
98
+ disconnectedCallback() {
99
+ if (this.dataUnit && this._dataUnitInitialized && this._dataUnitObserverBound) {
100
+ this.dataUnit.unsubscribe(this._dataUnitObserverBound);
101
+ }
102
+ }
103
+ render() {
104
+ return (h(Host, null, h("div", { class: {
105
+ "record-navigation__container": true,
106
+ "record-navigation-text-right": this.textPosition === 'right'
107
+ } }, h("div", { class: "record-navigation__container-label" }, this.renderPageTitle()), h("div", { id: "grid-record-navigation-tooltip", class: "record-navigation__buttons-container" }, h("ez-tooltip", { message: this.i18n("ez-record-navigation.previousRecord") }, h("ez-button", { iconName: "chevron-left", mode: "icon", isDisabled: this.leftButtonDisabled, onClick: () => this.previousRecord(), label: this.i18n("ez-record-navigation.previousRecord") })), h("ez-tooltip", { message: this.i18n("ez-record-navigation.nextRecord") }, h("ez-button", { iconName: "chevron-right", mode: "icon", isDisabled: this.rightButtonDisabled, onClick: () => this.nextRecord(), label: this.i18n("ez-record-navigation.nextRecord") }))))));
108
+ }
109
+ get _element() { return getElement(this); }
110
+ static get watchers() { return {
111
+ "dataUnit": ["onDataUnitChange"],
112
+ "disabled": ["onDisabledChange"]
113
+ }; }
114
+ };
115
+ EzRecordNavigation.style = ezRecordNavigationCss;
116
+
117
+ export { EzRecordNavigation as ez_record_navigation };
@@ -1,29 +1,73 @@
1
1
  import { r as registerInstance, h, H as Host, c as createEvent, g as getElement } from './index-baa5e267.js';
2
2
  import { JSUtils, ElementIDUtils } from '@sankhyalabs/core';
3
+ import { i as initI18n } from './index-a031816b.js';
3
4
  import { E as EzScrollDirection } from './EzScrollDirection-2df26c93.js';
4
5
 
5
- 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%)}";
6
+ var EzScrollNavigationMode;
7
+ (function (EzScrollNavigationMode) {
8
+ EzScrollNavigationMode["SCROLLBAR"] = "scrollbar";
9
+ EzScrollNavigationMode["BUTTONS"] = "buttons";
10
+ })(EzScrollNavigationMode || (EzScrollNavigationMode = {}));
11
+
12
+ 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}";
6
13
 
7
14
  const EzScroller = class {
8
15
  constructor(hostRef) {
9
16
  registerInstance(this, hostRef);
10
17
  this._shadowStart = "ez-scroller__wrapper--shadow-start";
11
18
  this._shadowEnd = "ez-scroller__wrapper--shadow-end";
19
+ this._startHidden = undefined;
20
+ this._endHidden = undefined;
12
21
  this.isActive = false;
13
22
  this.direction = undefined;
14
23
  this.locked = false;
15
24
  this.activeShadow = false;
25
+ this.navigationMode = EzScrollNavigationMode.SCROLLBAR;
26
+ this.scrollAmount = 200;
16
27
  }
17
28
  //---------------------------------------------
18
29
  // Private methods
19
30
  //---------------------------------------------
31
+ scrollToPrevious() {
32
+ if (!this._container)
33
+ return;
34
+ const scrollOptions = {
35
+ behavior: 'smooth'
36
+ };
37
+ if (this.direction === EzScrollDirection.HORIZONTAL) {
38
+ scrollOptions.left = Math.max(0, this._container.scrollLeft - this.scrollAmount);
39
+ }
40
+ else if (this.direction === EzScrollDirection.VERTICAL) {
41
+ scrollOptions.top = Math.max(0, this._container.scrollTop - this.scrollAmount);
42
+ }
43
+ this._container.scrollTo(scrollOptions);
44
+ }
45
+ scrollToNext() {
46
+ if (!this._container)
47
+ return;
48
+ const scrollOptions = {
49
+ behavior: 'smooth'
50
+ };
51
+ if (this.direction === EzScrollDirection.HORIZONTAL) {
52
+ scrollOptions.left = this._container.scrollLeft + this.scrollAmount;
53
+ }
54
+ else if (this.direction === EzScrollDirection.VERTICAL) {
55
+ scrollOptions.top = this._container.scrollTop + this.scrollAmount;
56
+ }
57
+ this._container.scrollTo(scrollOptions);
58
+ }
20
59
  getContainerClass() {
60
+ const isButtonMode = this.navigationMode === EzScrollNavigationMode.BUTTONS;
21
61
  return `ez-scroller__container ez-scroller__container--${this.direction}
22
62
  ${this.locked || !this.isActive ? " ez-scroller__container--locked" : ""}
63
+ ${isButtonMode ? " ez-scroller__container--buttons-mode" : ""}
23
64
  `;
24
65
  }
25
66
  getWrapperClass() {
26
- return `ez-scroller__wrapper ez-scroller__wrapper--${this.direction}`;
67
+ const isButtonMode = this.navigationMode === EzScrollNavigationMode.BUTTONS;
68
+ return `ez-scroller__wrapper ez-scroller__wrapper--${this.direction}
69
+ ${isButtonMode ? " ez-scroller__wrapper--buttons-mode" : ""}
70
+ `;
27
71
  }
28
72
  finishDrag() {
29
73
  if (this._controller) {
@@ -51,27 +95,33 @@ const EzScroller = class {
51
95
  this.updateShadow();
52
96
  }
53
97
  updateShadow() {
54
- const wrapper = this._wrapper;
55
- if (!this.activeShadow || wrapper == undefined) {
98
+ if (!this.activeShadow) {
99
+ return;
100
+ }
101
+ // Apply shadow classes to container when in buttons mode, otherwise to wrapper
102
+ const targetElement = this.navigationMode === EzScrollNavigationMode.BUTTONS
103
+ ? this._container
104
+ : this._wrapper;
105
+ if (targetElement == undefined) {
56
106
  return;
57
107
  }
58
108
  const shadowPositions = ["", "start", "end", "middle"];
59
109
  const currentPosition = shadowPositions[Number(this._startHidden) | Number(this._endHidden) << 1];
60
110
  if (currentPosition === "start") {
61
- wrapper.classList.add(this._shadowStart);
62
- wrapper.classList.remove(this._shadowEnd);
111
+ targetElement.classList.add(this._shadowStart);
112
+ targetElement.classList.remove(this._shadowEnd);
63
113
  }
64
114
  else if (currentPosition === "end") {
65
- wrapper.classList.remove(this._shadowStart);
66
- wrapper.classList.add(this._shadowEnd);
115
+ targetElement.classList.remove(this._shadowStart);
116
+ targetElement.classList.add(this._shadowEnd);
67
117
  }
68
118
  else if (currentPosition === "middle") {
69
- wrapper.classList.add(this._shadowStart);
70
- wrapper.classList.add(this._shadowEnd);
119
+ targetElement.classList.add(this._shadowStart);
120
+ targetElement.classList.add(this._shadowEnd);
71
121
  }
72
122
  else {
73
- wrapper.classList.remove(this._shadowStart);
74
- wrapper.classList.remove(this._shadowEnd);
123
+ targetElement.classList.remove(this._shadowStart);
124
+ targetElement.classList.remove(this._shadowEnd);
75
125
  }
76
126
  }
77
127
  configResize() {
@@ -95,6 +145,17 @@ const EzScroller = class {
95
145
  return this._container.scrollWidth > this._container.clientWidth
96
146
  || this._container.scrollHeight > this._container.clientHeight;
97
147
  }
148
+ renderNavigationButtons() {
149
+ if (this.navigationMode !== EzScrollNavigationMode.BUTTONS || this.direction === EzScrollDirection.BOTH) {
150
+ return null;
151
+ }
152
+ const isHorizontal = this.direction === EzScrollDirection.HORIZONTAL;
153
+ const previousIconName = isHorizontal ? "arrow_back" : "arrow-up";
154
+ const nextIconName = isHorizontal ? "arrow-forward" : "arrow-down";
155
+ const previousButton = this._startHidden ? (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 }, h("ez-icon", { iconName: previousIconName }))) : null;
156
+ const nextButton = this._endHidden ? (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 }, h("ez-icon", { iconName: nextIconName }))) : null;
157
+ return { previousButton, nextButton };
158
+ }
98
159
  //---------------------------------------------
99
160
  // Event handlers
100
161
  //---------------------------------------------
@@ -133,6 +194,9 @@ const EzScroller = class {
133
194
  }
134
195
  }
135
196
  }
197
+ async componentWillLoad() {
198
+ this.i18n = await initI18n();
199
+ }
136
200
  componentDidRender() {
137
201
  var _a, _b;
138
202
  if (this._container == undefined) {
@@ -149,8 +213,11 @@ const EzScroller = class {
149
213
  this.updateScroller();
150
214
  }
151
215
  render() {
152
- return (h(Host, null, this.activeShadow
153
- ? h("div", { ref: ref => this._wrapper = ref, class: this.getWrapperClass() }, this.getContainerElement())
216
+ const buttons = this.navigationMode === EzScrollNavigationMode.BUTTONS ? this.renderNavigationButtons() : null;
217
+ return (h(Host, null, this.activeShadow || this.navigationMode === EzScrollNavigationMode.BUTTONS
218
+ ? h("div", { ref: ref => this._wrapper = ref, class: this.getWrapperClass() }, buttons === null || buttons === void 0 ? void 0 :
219
+ buttons.previousButton, this.getContainerElement(), buttons === null || buttons === void 0 ? void 0 :
220
+ buttons.nextButton)
154
221
  : this.getContainerElement()));
155
222
  }
156
223
  };
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-baa5e267.js';
2
2
  import { StringUtils, KeyboardManager, ElementIDUtils } from '@sankhyalabs/core';
3
- import { A as ApplicationUtils } from './ApplicationUtils-0c5cb207.js';
3
+ import { A as ApplicationUtils } from './ApplicationUtils-e99e53c8.js';
4
4
  import { C as CSSVarsUtils } from './CSSVarsUtils-acba92d7.js';
5
5
  import './DialogType-54a62731.js';
6
6
  import './CheckMode-bdb2ec19.js';
7
- import { i as initI18n } from './index-225aa0c3.js';
7
+ import { i as initI18n } from './index-a031816b.js';
8
8
  import { S as SearchMode } from './types-6f6b2650.js';
9
9
  import './FormLayout-bda67973.js';
10
10
 
@@ -97,7 +97,7 @@ const EzSearchPlus = class {
97
97
  * Aplica o foco no campo.
98
98
  */
99
99
  async setFocus(options) {
100
- var _a;
100
+ var _a, _b;
101
101
  if (this.disableCodeInput) {
102
102
  (_a = this._textInputDescriptionValue) === null || _a === void 0 ? void 0 : _a.setFocus(options);
103
103
  return;
@@ -106,7 +106,7 @@ const EzSearchPlus = class {
106
106
  this._latestFocusedInputElement.setFocus(options);
107
107
  return;
108
108
  }
109
- this._textInputCodeValue.setFocus(options);
109
+ (_b = this._textInputCodeValue) === null || _b === void 0 ? void 0 : _b.setFocus(options);
110
110
  }
111
111
  /**
112
112
  * Obtém o valor do componente só após a compo de apresentação
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-baa5e267.js';
2
2
  import { StringUtils } from '@sankhyalabs/core';
3
- import { i as initI18n } from './index-225aa0c3.js';
3
+ import { i as initI18n } from './index-a031816b.js';
4
4
 
5
5
  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}}";
6
6
 
@@ -1,15 +1,15 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-baa5e267.js';
2
2
  import { C as CSSVarsUtils } from './CSSVarsUtils-acba92d7.js';
3
3
  import { ObjectUtils, StringUtils, ElementIDUtils } from '@sankhyalabs/core';
4
- import { A as ApplicationUtils } from './ApplicationUtils-0c5cb207.js';
4
+ import { A as ApplicationUtils } from './ApplicationUtils-e99e53c8.js';
5
5
  import './DialogType-54a62731.js';
6
6
  import './CheckMode-bdb2ec19.js';
7
- import { i as initI18n } from './index-225aa0c3.js';
7
+ import { i as initI18n } from './index-a031816b.js';
8
8
  import { S as SearchMode } from './types-6f6b2650.js';
9
9
  import './FormLayout-bda67973.js';
10
10
  import { r as replaceQuotes, a as replaceHighlight } from './searchFormatters-8229207e.js';
11
11
 
12
- 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}";
12
+ 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}";
13
13
 
14
14
  const EzSearch = class {
15
15
  constructor(hostRef) {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-baa5e267.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { E as EzScrollDirection } from './EzScrollDirection-2df26c93.js';
4
- import { i as initI18n } from './index-225aa0c3.js';
4
+ import { i as initI18n } from './index-a031816b.js';
5
5
 
6
6
  var ModeMenuEnum;
7
7
  (function (ModeMenuEnum) {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-baa5e267.js';
2
- import { i as initI18n } from './index-225aa0c3.js';
2
+ import { i as initI18n } from './index-a031816b.js';
3
3
  import '@sankhyalabs/core';
4
4
 
5
5
  const ALLOWED_ANIMATIONS = ['progress', 'pulse', 'false'];