@sankhyalabs/ezui 5.22.0-dev.136 → 5.22.0-dev.138

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.
@@ -66216,7 +66216,7 @@ class InMemoryFilterColumnDataSource {
66216
66216
  }
66217
66217
  }
66218
66218
 
66219
- const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:var(--shadow);--ez-grid--min-height:300px;--ez-grid__container--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--shadow:var(--shadow--xsmall);--ez-grid__header--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--outline:none;--ez-grid__header--border:none;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid-header.shadow-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid-header.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow--outline);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.header-overlay.sc-ez-grid{padding-top:15px;margin-top:-12px}.grid__container.sc-ez-grid{outline:none;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color);border:var(--border--small) var(--color--strokes);border-radius:var(--border--radius-small)}.grid__container.no-scroll.sc-ez-grid{width:100vw}.sc-ez-grid-h:not([no-header]) .grid__container.sc-ez-grid{border:none}.grid__container.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__container--shadow--outline);border:none;outline:none}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{justify-content:flex-end;flex-wrap:nowrap}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}.pagination-contracted.sc-ez-grid{width:100px}.pagination-expanded.sc-ez-grid{min-width:150px}.left__header-contracted.sc-ez-grid{width:calc(100% - 100px)}.left__header-expanded.sc-ez-grid{flex-grow:1}.grid__footer.sc-ez-grid{background-color:var(--background--xlight, #FFF);border-radius:0 0 var(--border--radius-medium) var(--border--radius-medium);box-shadow:var(--shadow--small)}.cancel-pagination.sc-ez-grid{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:4px;padding:8px;width:180px}.cancel-pagination-btn.sc-ez-grid{color:var(--color--error);font-size:var(--text--medium);font-weight:var(--text-weight--large);font-family:var(--font-pattern, Roboto);text-wrap:nowrap;cursor:pointer}.spin.sc-ez-grid{animation-name:spin;animation-duration:5000ms;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
66219
+ const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:var(--shadow);--ez-grid--min-height:300px;--ez-grid__container--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--shadow:var(--shadow--xsmall);--ez-grid__header--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--outline:none;--ez-grid__header--border:none;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid-header.shadow-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid-header.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow--outline);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.header-overlay.sc-ez-grid{padding-top:15px;margin-top:-12px}.grid__container.sc-ez-grid{outline:none;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color);border:var(--border--small) var(--color--strokes);border-radius:var(--border--radius-small)}.grid__container.no-scroll.sc-ez-grid{width:100vw}.sc-ez-grid-h:not([no-header]) .grid__container.sc-ez-grid{border:none}.grid__container.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__container--shadow--outline);border:none;outline:none}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center;flex-grow:1;flex-shrink:1}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{justify-content:flex-end;flex-wrap:nowrap;flex-shrink:1;flex-grow:1}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}.pagination-contracted.sc-ez-grid{width:100px}.pagination-expanded.sc-ez-grid{min-width:150px}.left__header-contracted.sc-ez-grid{width:auto}.left__header-expanded.sc-ez-grid{flex-grow:1}.grid__footer.sc-ez-grid{background-color:var(--background--xlight, #FFF);border-radius:0 0 var(--border--radius-medium) var(--border--radius-medium);box-shadow:var(--shadow--small)}.cancel-pagination.sc-ez-grid{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:4px;padding:8px;width:180px}.cancel-pagination-btn.sc-ez-grid{color:var(--color--error);font-size:var(--text--medium);font-weight:var(--text-weight--large);font-family:var(--font-pattern, Roboto);text-wrap:nowrap;cursor:pointer}.spin.sc-ez-grid{animation-name:spin;animation-duration:5000ms;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
66220
66220
 
66221
66221
  const windowInstace = window;
66222
66222
  const matches = (text, filter) => {
@@ -66257,7 +66257,7 @@ const EzGrid = class {
66257
66257
  this.recordsValidator = undefined;
66258
66258
  this.canEdit = true;
66259
66259
  this.autoFocus = true;
66260
- this.paginationCounterMode = 'show';
66260
+ this.paginationCounterMode = 'auto';
66261
66261
  this.enableGridInsert = false;
66262
66262
  this.enableContinuousInsert = true;
66263
66263
  this.suppressCheckboxColumn = false;
@@ -66572,16 +66572,20 @@ const EzGrid = class {
66572
66572
  core.ElementIDUtils.addIDInfo(this._refPaginationControl, 'pagination', dtInfo);
66573
66573
  }
66574
66574
  }
66575
+ handlePageChange() {
66576
+ this.resetPaginationState();
66577
+ this._gridController.setFocusFirstRow();
66578
+ }
66575
66579
  previousPage() {
66576
66580
  if (this.dataUnit) {
66577
66581
  this.dataUnit.previousPage()
66578
- .then(() => this.resetPaginationState());
66582
+ .then(() => this.handlePageChange());
66579
66583
  }
66580
66584
  }
66581
66585
  nextPage() {
66582
66586
  if (this.dataUnit) {
66583
66587
  this.dataUnit.nextPage()
66584
- .then(() => this.resetPaginationState());
66588
+ .then(() => this.handlePageChange());
66585
66589
  }
66586
66590
  }
66587
66591
  nextRecord() {
@@ -66604,7 +66608,7 @@ const EzGrid = class {
66604
66608
  (_a = this._gridController) === null || _a === void 0 ? void 0 : _a.resetPaginationState();
66605
66609
  }
66606
66610
  resolvePaginationClassMode() {
66607
- if (this.paginationCounterMode == 'show')
66611
+ if (this.shouldPresentPaginationLabel())
66608
66612
  return "pagination-expanded";
66609
66613
  return "pagination-contracted";
66610
66614
  }
@@ -66630,7 +66634,10 @@ const EzGrid = class {
66630
66634
  if (!this._paginationInfo)
66631
66635
  return null;
66632
66636
  const { currentPage, hasMore } = this._paginationInfo;
66633
- return (index.h("div", { class: `grid-header__container grid-header__pagination ${this.resolvePaginationClassMode()}`, ref: ref => (this._refPaginationControl = ref) }, this.renderCancelPagination(), index.h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, index.h("span", { class: "grid-header__pagination-label" }, this.paginationCounterMode == 'show' && index.h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this.paginationCounterMode == 'show' && this._getRemainingPageLabel())), index.h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium", title: `${this._getActualPageLabel()} ${this._getRemainingPageLabel()}` }, index.h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), index.h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }))));
66637
+ return (index.h("div", { class: `grid-header__container grid-header__pagination ${this.resolvePaginationClassMode()}`, ref: ref => (this._refPaginationControl = ref) }, this.renderCancelPagination(), index.h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, index.h("span", { class: "grid-header__pagination-label" }, this.shouldPresentPaginationLabel() && index.h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this.shouldPresentPaginationLabel() && this._getRemainingPageLabel())), index.h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium", title: `${this._getActualPageLabel()} ${this._getRemainingPageLabel()}` }, index.h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), index.h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }))));
66638
+ }
66639
+ shouldPresentPaginationLabel() {
66640
+ return this.paginationCounterMode === 'show' || this.paginationCounterMode === 'auto';
66634
66641
  }
66635
66642
  componentDidLoad() {
66636
66643
  const _application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
@@ -66679,8 +66686,6 @@ const EzGrid = class {
66679
66686
  this.setEvents();
66680
66687
  this.componentReady.emit();
66681
66688
  this._gridController.configFilterColumn(this._filterColumn);
66682
- if (this.paginationCounterMode === 'auto')
66683
- this._initHeaderOverflowWatcher();
66684
66689
  this.initKeyboardManager();
66685
66690
  }
66686
66691
  handlePaginationChange(selectFirstRecord, paginationInfo) {
@@ -66714,6 +66719,8 @@ const EzGrid = class {
66714
66719
  return this._getActualPageLabel() + this._getRemainingPageLabel();
66715
66720
  }
66716
66721
  _initHeaderOverflowWatcher() {
66722
+ var _a;
66723
+ (_a = this._headerOverflowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
66717
66724
  if (this._refPaginationControl)
66718
66725
  this._headerOverflowWatcher = new core.OverflowWatcher(this.buildOverFlowWatcherParams());
66719
66726
  }
@@ -66724,15 +66731,30 @@ const EzGrid = class {
66724
66731
  notOverFlow: ["grid-pagination-tooltip"]
66725
66732
  };
66726
66733
  }
66727
- handleOverFlow(elementsOverflow) {
66728
- if (!this._refPaginationLabel)
66734
+ handleOverFlow() {
66735
+ if (!this._refPaginationLabel || !this._refPaginationControl)
66729
66736
  return;
66730
- if (elementsOverflow.length > 0) {
66731
- this._hidePaginationDescription();
66732
- }
66733
- else {
66737
+ const controlWidth = this._refPaginationControl.clientWidth;
66738
+ const labelWidth = this._refPaginationLabel.scrollWidth;
66739
+ const buttonsElement = this._refPaginationControl.querySelector('#grid-pagination-tooltip');
66740
+ const buttonsWidth = (buttonsElement === null || buttonsElement === void 0 ? void 0 : buttonsElement.clientWidth) || 0;
66741
+ const totalMargins = this._getElementMargins(this._refPaginationLabel) + (buttonsElement ? this._getElementMargins(buttonsElement) : 0);
66742
+ const paginationWidthWithoutDescription = labelWidth + buttonsWidth + totalMargins;
66743
+ const paginationWidthWithDescription = paginationWidthWithoutDescription + this._getPaginationDescriptionWidth();
66744
+ if (controlWidth > paginationWidthWithDescription) {
66734
66745
  this._showPaginationDescription();
66735
66746
  }
66747
+ else if (controlWidth <= paginationWidthWithoutDescription) {
66748
+ this._hidePaginationDescription();
66749
+ }
66750
+ }
66751
+ _getPaginationDescriptionWidth() {
66752
+ var _a;
66753
+ return ((_a = this._refPaginationLabelTooltip) === null || _a === void 0 ? void 0 : _a.scrollWidth) || 0;
66754
+ }
66755
+ _getElementMargins(element) {
66756
+ const style = getComputedStyle(element);
66757
+ return parseFloat(style.marginLeft) + parseFloat(style.marginRight);
66736
66758
  }
66737
66759
  _hidePaginationDescription() {
66738
66760
  this._refPaginationLabel.classList.add(core.OVERFLOWED_CLASS_NAME);
@@ -66775,6 +66797,8 @@ const EzGrid = class {
66775
66797
  if (this.dataUnit && this._showSelectionCounter) {
66776
66798
  this.setSelection(this.dataUnit.getSelectionInfo());
66777
66799
  }
66800
+ if (this.paginationCounterMode === 'auto')
66801
+ this._initHeaderOverflowWatcher();
66778
66802
  }
66779
66803
  getDataSource() {
66780
66804
  if (!this.columnfilterDataSource) {
@@ -89,6 +89,8 @@
89
89
  /*private*/
90
90
  display: flex;
91
91
  align-items: center;
92
+ flex-grow: 1;
93
+ flex-shrink: 1;
92
94
  }
93
95
 
94
96
  .grid-header__position {
@@ -143,6 +145,8 @@
143
145
  .grid-header__pagination{
144
146
  justify-content: flex-end;
145
147
  flex-wrap: nowrap;
148
+ flex-shrink: 1;
149
+ flex-grow: 1;
146
150
  }
147
151
 
148
152
  .grid-header__pagination-label {
@@ -163,7 +167,7 @@
163
167
  }
164
168
 
165
169
  .left__header-contracted {
166
- width: calc(100% - 100px);
170
+ width: auto;
167
171
  }
168
172
 
169
173
  .left__header-expanded{
@@ -39,7 +39,7 @@ export class EzGrid {
39
39
  this.recordsValidator = undefined;
40
40
  this.canEdit = true;
41
41
  this.autoFocus = true;
42
- this.paginationCounterMode = 'show';
42
+ this.paginationCounterMode = 'auto';
43
43
  this.enableGridInsert = false;
44
44
  this.enableContinuousInsert = true;
45
45
  this.suppressCheckboxColumn = false;
@@ -354,16 +354,20 @@ export class EzGrid {
354
354
  ElementIDUtils.addIDInfo(this._refPaginationControl, 'pagination', dtInfo);
355
355
  }
356
356
  }
357
+ handlePageChange() {
358
+ this.resetPaginationState();
359
+ this._gridController.setFocusFirstRow();
360
+ }
357
361
  previousPage() {
358
362
  if (this.dataUnit) {
359
363
  this.dataUnit.previousPage()
360
- .then(() => this.resetPaginationState());
364
+ .then(() => this.handlePageChange());
361
365
  }
362
366
  }
363
367
  nextPage() {
364
368
  if (this.dataUnit) {
365
369
  this.dataUnit.nextPage()
366
- .then(() => this.resetPaginationState());
370
+ .then(() => this.handlePageChange());
367
371
  }
368
372
  }
369
373
  nextRecord() {
@@ -386,7 +390,7 @@ export class EzGrid {
386
390
  (_a = this._gridController) === null || _a === void 0 ? void 0 : _a.resetPaginationState();
387
391
  }
388
392
  resolvePaginationClassMode() {
389
- if (this.paginationCounterMode == 'show')
393
+ if (this.shouldPresentPaginationLabel())
390
394
  return "pagination-expanded";
391
395
  return "pagination-contracted";
392
396
  }
@@ -412,7 +416,10 @@ export class EzGrid {
412
416
  if (!this._paginationInfo)
413
417
  return null;
414
418
  const { currentPage, hasMore } = this._paginationInfo;
415
- return (h("div", { class: `grid-header__container grid-header__pagination ${this.resolvePaginationClassMode()}`, ref: ref => (this._refPaginationControl = ref) }, this.renderCancelPagination(), h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, h("span", { class: "grid-header__pagination-label" }, this.paginationCounterMode == 'show' && h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this.paginationCounterMode == 'show' && this._getRemainingPageLabel())), h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium", title: `${this._getActualPageLabel()} ${this._getRemainingPageLabel()}` }, h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }))));
419
+ return (h("div", { class: `grid-header__container grid-header__pagination ${this.resolvePaginationClassMode()}`, ref: ref => (this._refPaginationControl = ref) }, this.renderCancelPagination(), h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, h("span", { class: "grid-header__pagination-label" }, this.shouldPresentPaginationLabel() && h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this.shouldPresentPaginationLabel() && this._getRemainingPageLabel())), h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium", title: `${this._getActualPageLabel()} ${this._getRemainingPageLabel()}` }, h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }))));
420
+ }
421
+ shouldPresentPaginationLabel() {
422
+ return this.paginationCounterMode === 'show' || this.paginationCounterMode === 'auto';
416
423
  }
417
424
  componentDidLoad() {
418
425
  const _application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
@@ -461,8 +468,6 @@ export class EzGrid {
461
468
  this.setEvents();
462
469
  this.componentReady.emit();
463
470
  this._gridController.configFilterColumn(this._filterColumn);
464
- if (this.paginationCounterMode === 'auto')
465
- this._initHeaderOverflowWatcher();
466
471
  this.initKeyboardManager();
467
472
  }
468
473
  handlePaginationChange(selectFirstRecord, paginationInfo) {
@@ -496,6 +501,8 @@ export class EzGrid {
496
501
  return this._getActualPageLabel() + this._getRemainingPageLabel();
497
502
  }
498
503
  _initHeaderOverflowWatcher() {
504
+ var _a;
505
+ (_a = this._headerOverflowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
499
506
  if (this._refPaginationControl)
500
507
  this._headerOverflowWatcher = new OverflowWatcher(this.buildOverFlowWatcherParams());
501
508
  }
@@ -506,15 +513,30 @@ export class EzGrid {
506
513
  notOverFlow: ["grid-pagination-tooltip"]
507
514
  };
508
515
  }
509
- handleOverFlow(elementsOverflow) {
510
- if (!this._refPaginationLabel)
516
+ handleOverFlow() {
517
+ if (!this._refPaginationLabel || !this._refPaginationControl)
511
518
  return;
512
- if (elementsOverflow.length > 0) {
513
- this._hidePaginationDescription();
514
- }
515
- else {
519
+ const controlWidth = this._refPaginationControl.clientWidth;
520
+ const labelWidth = this._refPaginationLabel.scrollWidth;
521
+ const buttonsElement = this._refPaginationControl.querySelector('#grid-pagination-tooltip');
522
+ const buttonsWidth = (buttonsElement === null || buttonsElement === void 0 ? void 0 : buttonsElement.clientWidth) || 0;
523
+ const totalMargins = this._getElementMargins(this._refPaginationLabel) + (buttonsElement ? this._getElementMargins(buttonsElement) : 0);
524
+ const paginationWidthWithoutDescription = labelWidth + buttonsWidth + totalMargins;
525
+ const paginationWidthWithDescription = paginationWidthWithoutDescription + this._getPaginationDescriptionWidth();
526
+ if (controlWidth > paginationWidthWithDescription) {
516
527
  this._showPaginationDescription();
517
528
  }
529
+ else if (controlWidth <= paginationWidthWithoutDescription) {
530
+ this._hidePaginationDescription();
531
+ }
532
+ }
533
+ _getPaginationDescriptionWidth() {
534
+ var _a;
535
+ return ((_a = this._refPaginationLabelTooltip) === null || _a === void 0 ? void 0 : _a.scrollWidth) || 0;
536
+ }
537
+ _getElementMargins(element) {
538
+ const style = getComputedStyle(element);
539
+ return parseFloat(style.marginLeft) + parseFloat(style.marginRight);
518
540
  }
519
541
  _hidePaginationDescription() {
520
542
  this._refPaginationLabel.classList.add(OVERFLOWED_CLASS_NAME);
@@ -557,6 +579,8 @@ export class EzGrid {
557
579
  if (this.dataUnit && this._showSelectionCounter) {
558
580
  this.setSelection(this.dataUnit.getSelectionInfo());
559
581
  }
582
+ if (this.paginationCounterMode === 'auto')
583
+ this._initHeaderOverflowWatcher();
560
584
  }
561
585
  getDataSource() {
562
586
  if (!this.columnfilterDataSource) {
@@ -934,7 +958,7 @@ export class EzGrid {
934
958
  },
935
959
  "attribute": "pagination-counter-mode",
936
960
  "reflect": false,
937
- "defaultValue": "'show'"
961
+ "defaultValue": "'auto'"
938
962
  },
939
963
  "enableGridInsert": {
940
964
  "type": "boolean",
@@ -72533,7 +72533,7 @@ class InMemoryFilterColumnDataSource {
72533
72533
  }
72534
72534
  }
72535
72535
 
72536
- const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:var(--shadow);--ez-grid--min-height:300px;--ez-grid__container--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--shadow:var(--shadow--xsmall);--ez-grid__header--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--outline:none;--ez-grid__header--border:none;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid-header.shadow-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid-header.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow--outline);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.header-overlay.sc-ez-grid{padding-top:15px;margin-top:-12px}.grid__container.sc-ez-grid{outline:none;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color);border:var(--border--small) var(--color--strokes);border-radius:var(--border--radius-small)}.grid__container.no-scroll.sc-ez-grid{width:100vw}.sc-ez-grid-h:not([no-header]) .grid__container.sc-ez-grid{border:none}.grid__container.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__container--shadow--outline);border:none;outline:none}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{justify-content:flex-end;flex-wrap:nowrap}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}.pagination-contracted.sc-ez-grid{width:100px}.pagination-expanded.sc-ez-grid{min-width:150px}.left__header-contracted.sc-ez-grid{width:calc(100% - 100px)}.left__header-expanded.sc-ez-grid{flex-grow:1}.grid__footer.sc-ez-grid{background-color:var(--background--xlight, #FFF);border-radius:0 0 var(--border--radius-medium) var(--border--radius-medium);box-shadow:var(--shadow--small)}.cancel-pagination.sc-ez-grid{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:4px;padding:8px;width:180px}.cancel-pagination-btn.sc-ez-grid{color:var(--color--error);font-size:var(--text--medium);font-weight:var(--text-weight--large);font-family:var(--font-pattern, Roboto);text-wrap:nowrap;cursor:pointer}.spin.sc-ez-grid{animation-name:spin;animation-duration:5000ms;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
72536
+ const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:var(--shadow);--ez-grid--min-height:300px;--ez-grid__container--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--shadow:var(--shadow--xsmall);--ez-grid__header--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--outline:none;--ez-grid__header--border:none;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid-header.shadow-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid-header.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow--outline);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.header-overlay.sc-ez-grid{padding-top:15px;margin-top:-12px}.grid__container.sc-ez-grid{outline:none;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color);border:var(--border--small) var(--color--strokes);border-radius:var(--border--radius-small)}.grid__container.no-scroll.sc-ez-grid{width:100vw}.sc-ez-grid-h:not([no-header]) .grid__container.sc-ez-grid{border:none}.grid__container.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__container--shadow--outline);border:none;outline:none}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center;flex-grow:1;flex-shrink:1}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{justify-content:flex-end;flex-wrap:nowrap;flex-shrink:1;flex-grow:1}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}.pagination-contracted.sc-ez-grid{width:100px}.pagination-expanded.sc-ez-grid{min-width:150px}.left__header-contracted.sc-ez-grid{width:auto}.left__header-expanded.sc-ez-grid{flex-grow:1}.grid__footer.sc-ez-grid{background-color:var(--background--xlight, #FFF);border-radius:0 0 var(--border--radius-medium) var(--border--radius-medium);box-shadow:var(--shadow--small)}.cancel-pagination.sc-ez-grid{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:4px;padding:8px;width:180px}.cancel-pagination-btn.sc-ez-grid{color:var(--color--error);font-size:var(--text--medium);font-weight:var(--text-weight--large);font-family:var(--font-pattern, Roboto);text-wrap:nowrap;cursor:pointer}.spin.sc-ez-grid{animation-name:spin;animation-duration:5000ms;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
72537
72537
 
72538
72538
  const windowInstace$1 = window;
72539
72539
  const matches = (text, filter) => {
@@ -72575,7 +72575,7 @@ const EzGrid$1 = class extends HTMLElement$1 {
72575
72575
  this.recordsValidator = undefined;
72576
72576
  this.canEdit = true;
72577
72577
  this.autoFocus = true;
72578
- this.paginationCounterMode = 'show';
72578
+ this.paginationCounterMode = 'auto';
72579
72579
  this.enableGridInsert = false;
72580
72580
  this.enableContinuousInsert = true;
72581
72581
  this.suppressCheckboxColumn = false;
@@ -72890,16 +72890,20 @@ const EzGrid$1 = class extends HTMLElement$1 {
72890
72890
  ElementIDUtils.addIDInfo(this._refPaginationControl, 'pagination', dtInfo);
72891
72891
  }
72892
72892
  }
72893
+ handlePageChange() {
72894
+ this.resetPaginationState();
72895
+ this._gridController.setFocusFirstRow();
72896
+ }
72893
72897
  previousPage() {
72894
72898
  if (this.dataUnit) {
72895
72899
  this.dataUnit.previousPage()
72896
- .then(() => this.resetPaginationState());
72900
+ .then(() => this.handlePageChange());
72897
72901
  }
72898
72902
  }
72899
72903
  nextPage() {
72900
72904
  if (this.dataUnit) {
72901
72905
  this.dataUnit.nextPage()
72902
- .then(() => this.resetPaginationState());
72906
+ .then(() => this.handlePageChange());
72903
72907
  }
72904
72908
  }
72905
72909
  nextRecord() {
@@ -72922,7 +72926,7 @@ const EzGrid$1 = class extends HTMLElement$1 {
72922
72926
  (_a = this._gridController) === null || _a === void 0 ? void 0 : _a.resetPaginationState();
72923
72927
  }
72924
72928
  resolvePaginationClassMode() {
72925
- if (this.paginationCounterMode == 'show')
72929
+ if (this.shouldPresentPaginationLabel())
72926
72930
  return "pagination-expanded";
72927
72931
  return "pagination-contracted";
72928
72932
  }
@@ -72948,7 +72952,10 @@ const EzGrid$1 = class extends HTMLElement$1 {
72948
72952
  if (!this._paginationInfo)
72949
72953
  return null;
72950
72954
  const { currentPage, hasMore } = this._paginationInfo;
72951
- return (h("div", { class: `grid-header__container grid-header__pagination ${this.resolvePaginationClassMode()}`, ref: ref => (this._refPaginationControl = ref) }, this.renderCancelPagination(), h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, h("span", { class: "grid-header__pagination-label" }, this.paginationCounterMode == 'show' && h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this.paginationCounterMode == 'show' && this._getRemainingPageLabel())), h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium", title: `${this._getActualPageLabel()} ${this._getRemainingPageLabel()}` }, h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }))));
72955
+ return (h("div", { class: `grid-header__container grid-header__pagination ${this.resolvePaginationClassMode()}`, ref: ref => (this._refPaginationControl = ref) }, this.renderCancelPagination(), h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, h("span", { class: "grid-header__pagination-label" }, this.shouldPresentPaginationLabel() && h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this.shouldPresentPaginationLabel() && this._getRemainingPageLabel())), h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium", title: `${this._getActualPageLabel()} ${this._getRemainingPageLabel()}` }, h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }))));
72956
+ }
72957
+ shouldPresentPaginationLabel() {
72958
+ return this.paginationCounterMode === 'show' || this.paginationCounterMode === 'auto';
72952
72959
  }
72953
72960
  componentDidLoad() {
72954
72961
  const _application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
@@ -72997,8 +73004,6 @@ const EzGrid$1 = class extends HTMLElement$1 {
72997
73004
  this.setEvents();
72998
73005
  this.componentReady.emit();
72999
73006
  this._gridController.configFilterColumn(this._filterColumn);
73000
- if (this.paginationCounterMode === 'auto')
73001
- this._initHeaderOverflowWatcher();
73002
73007
  this.initKeyboardManager();
73003
73008
  }
73004
73009
  handlePaginationChange(selectFirstRecord, paginationInfo) {
@@ -73032,6 +73037,8 @@ const EzGrid$1 = class extends HTMLElement$1 {
73032
73037
  return this._getActualPageLabel() + this._getRemainingPageLabel();
73033
73038
  }
73034
73039
  _initHeaderOverflowWatcher() {
73040
+ var _a;
73041
+ (_a = this._headerOverflowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
73035
73042
  if (this._refPaginationControl)
73036
73043
  this._headerOverflowWatcher = new OverflowWatcher(this.buildOverFlowWatcherParams());
73037
73044
  }
@@ -73042,15 +73049,30 @@ const EzGrid$1 = class extends HTMLElement$1 {
73042
73049
  notOverFlow: ["grid-pagination-tooltip"]
73043
73050
  };
73044
73051
  }
73045
- handleOverFlow(elementsOverflow) {
73046
- if (!this._refPaginationLabel)
73052
+ handleOverFlow() {
73053
+ if (!this._refPaginationLabel || !this._refPaginationControl)
73047
73054
  return;
73048
- if (elementsOverflow.length > 0) {
73049
- this._hidePaginationDescription();
73050
- }
73051
- else {
73055
+ const controlWidth = this._refPaginationControl.clientWidth;
73056
+ const labelWidth = this._refPaginationLabel.scrollWidth;
73057
+ const buttonsElement = this._refPaginationControl.querySelector('#grid-pagination-tooltip');
73058
+ const buttonsWidth = (buttonsElement === null || buttonsElement === void 0 ? void 0 : buttonsElement.clientWidth) || 0;
73059
+ const totalMargins = this._getElementMargins(this._refPaginationLabel) + (buttonsElement ? this._getElementMargins(buttonsElement) : 0);
73060
+ const paginationWidthWithoutDescription = labelWidth + buttonsWidth + totalMargins;
73061
+ const paginationWidthWithDescription = paginationWidthWithoutDescription + this._getPaginationDescriptionWidth();
73062
+ if (controlWidth > paginationWidthWithDescription) {
73052
73063
  this._showPaginationDescription();
73053
73064
  }
73065
+ else if (controlWidth <= paginationWidthWithoutDescription) {
73066
+ this._hidePaginationDescription();
73067
+ }
73068
+ }
73069
+ _getPaginationDescriptionWidth() {
73070
+ var _a;
73071
+ return ((_a = this._refPaginationLabelTooltip) === null || _a === void 0 ? void 0 : _a.scrollWidth) || 0;
73072
+ }
73073
+ _getElementMargins(element) {
73074
+ const style = getComputedStyle(element);
73075
+ return parseFloat(style.marginLeft) + parseFloat(style.marginRight);
73054
73076
  }
73055
73077
  _hidePaginationDescription() {
73056
73078
  this._refPaginationLabel.classList.add(OVERFLOWED_CLASS_NAME);
@@ -73093,6 +73115,8 @@ const EzGrid$1 = class extends HTMLElement$1 {
73093
73115
  if (this.dataUnit && this._showSelectionCounter) {
73094
73116
  this.setSelection(this.dataUnit.getSelectionInfo());
73095
73117
  }
73118
+ if (this.paginationCounterMode === 'auto')
73119
+ this._initHeaderOverflowWatcher();
73096
73120
  }
73097
73121
  getDataSource() {
73098
73122
  if (!this.columnfilterDataSource) {
@@ -66212,7 +66212,7 @@ class InMemoryFilterColumnDataSource {
66212
66212
  }
66213
66213
  }
66214
66214
 
66215
- const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:var(--shadow);--ez-grid--min-height:300px;--ez-grid__container--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--shadow:var(--shadow--xsmall);--ez-grid__header--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--outline:none;--ez-grid__header--border:none;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid-header.shadow-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid-header.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow--outline);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.header-overlay.sc-ez-grid{padding-top:15px;margin-top:-12px}.grid__container.sc-ez-grid{outline:none;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color);border:var(--border--small) var(--color--strokes);border-radius:var(--border--radius-small)}.grid__container.no-scroll.sc-ez-grid{width:100vw}.sc-ez-grid-h:not([no-header]) .grid__container.sc-ez-grid{border:none}.grid__container.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__container--shadow--outline);border:none;outline:none}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{justify-content:flex-end;flex-wrap:nowrap}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}.pagination-contracted.sc-ez-grid{width:100px}.pagination-expanded.sc-ez-grid{min-width:150px}.left__header-contracted.sc-ez-grid{width:calc(100% - 100px)}.left__header-expanded.sc-ez-grid{flex-grow:1}.grid__footer.sc-ez-grid{background-color:var(--background--xlight, #FFF);border-radius:0 0 var(--border--radius-medium) var(--border--radius-medium);box-shadow:var(--shadow--small)}.cancel-pagination.sc-ez-grid{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:4px;padding:8px;width:180px}.cancel-pagination-btn.sc-ez-grid{color:var(--color--error);font-size:var(--text--medium);font-weight:var(--text-weight--large);font-family:var(--font-pattern, Roboto);text-wrap:nowrap;cursor:pointer}.spin.sc-ez-grid{animation-name:spin;animation-duration:5000ms;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
66215
+ const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:var(--shadow);--ez-grid--min-height:300px;--ez-grid__container--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--shadow:var(--shadow--xsmall);--ez-grid__header--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--outline:none;--ez-grid__header--border:none;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid-header.shadow-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid-header.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow--outline);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.header-overlay.sc-ez-grid{padding-top:15px;margin-top:-12px}.grid__container.sc-ez-grid{outline:none;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color);border:var(--border--small) var(--color--strokes);border-radius:var(--border--radius-small)}.grid__container.no-scroll.sc-ez-grid{width:100vw}.sc-ez-grid-h:not([no-header]) .grid__container.sc-ez-grid{border:none}.grid__container.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__container--shadow--outline);border:none;outline:none}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center;flex-grow:1;flex-shrink:1}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{justify-content:flex-end;flex-wrap:nowrap;flex-shrink:1;flex-grow:1}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}.pagination-contracted.sc-ez-grid{width:100px}.pagination-expanded.sc-ez-grid{min-width:150px}.left__header-contracted.sc-ez-grid{width:auto}.left__header-expanded.sc-ez-grid{flex-grow:1}.grid__footer.sc-ez-grid{background-color:var(--background--xlight, #FFF);border-radius:0 0 var(--border--radius-medium) var(--border--radius-medium);box-shadow:var(--shadow--small)}.cancel-pagination.sc-ez-grid{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:4px;padding:8px;width:180px}.cancel-pagination-btn.sc-ez-grid{color:var(--color--error);font-size:var(--text--medium);font-weight:var(--text-weight--large);font-family:var(--font-pattern, Roboto);text-wrap:nowrap;cursor:pointer}.spin.sc-ez-grid{animation-name:spin;animation-duration:5000ms;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
66216
66216
 
66217
66217
  const windowInstace = window;
66218
66218
  const matches = (text, filter) => {
@@ -66253,7 +66253,7 @@ const EzGrid = class {
66253
66253
  this.recordsValidator = undefined;
66254
66254
  this.canEdit = true;
66255
66255
  this.autoFocus = true;
66256
- this.paginationCounterMode = 'show';
66256
+ this.paginationCounterMode = 'auto';
66257
66257
  this.enableGridInsert = false;
66258
66258
  this.enableContinuousInsert = true;
66259
66259
  this.suppressCheckboxColumn = false;
@@ -66568,16 +66568,20 @@ const EzGrid = class {
66568
66568
  ElementIDUtils.addIDInfo(this._refPaginationControl, 'pagination', dtInfo);
66569
66569
  }
66570
66570
  }
66571
+ handlePageChange() {
66572
+ this.resetPaginationState();
66573
+ this._gridController.setFocusFirstRow();
66574
+ }
66571
66575
  previousPage() {
66572
66576
  if (this.dataUnit) {
66573
66577
  this.dataUnit.previousPage()
66574
- .then(() => this.resetPaginationState());
66578
+ .then(() => this.handlePageChange());
66575
66579
  }
66576
66580
  }
66577
66581
  nextPage() {
66578
66582
  if (this.dataUnit) {
66579
66583
  this.dataUnit.nextPage()
66580
- .then(() => this.resetPaginationState());
66584
+ .then(() => this.handlePageChange());
66581
66585
  }
66582
66586
  }
66583
66587
  nextRecord() {
@@ -66600,7 +66604,7 @@ const EzGrid = class {
66600
66604
  (_a = this._gridController) === null || _a === void 0 ? void 0 : _a.resetPaginationState();
66601
66605
  }
66602
66606
  resolvePaginationClassMode() {
66603
- if (this.paginationCounterMode == 'show')
66607
+ if (this.shouldPresentPaginationLabel())
66604
66608
  return "pagination-expanded";
66605
66609
  return "pagination-contracted";
66606
66610
  }
@@ -66626,7 +66630,10 @@ const EzGrid = class {
66626
66630
  if (!this._paginationInfo)
66627
66631
  return null;
66628
66632
  const { currentPage, hasMore } = this._paginationInfo;
66629
- return (h("div", { class: `grid-header__container grid-header__pagination ${this.resolvePaginationClassMode()}`, ref: ref => (this._refPaginationControl = ref) }, this.renderCancelPagination(), h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, h("span", { class: "grid-header__pagination-label" }, this.paginationCounterMode == 'show' && h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this.paginationCounterMode == 'show' && this._getRemainingPageLabel())), h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium", title: `${this._getActualPageLabel()} ${this._getRemainingPageLabel()}` }, h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }))));
66633
+ return (h("div", { class: `grid-header__container grid-header__pagination ${this.resolvePaginationClassMode()}`, ref: ref => (this._refPaginationControl = ref) }, this.renderCancelPagination(), h("div", { class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium", ref: (element) => (this._refPaginationLabel = element) }, h("span", { class: "grid-header__pagination-label" }, this.shouldPresentPaginationLabel() && h("strong", { class: "ez-text ez-text--primary ez-text--medium" }, this._getActualPageLabel()), this.shouldPresentPaginationLabel() && this._getRemainingPageLabel())), h("div", { id: "grid-pagination-tooltip", ref: (element) => (this._refPaginationLabelTooltip = element), class: "ez-flex ez-margin-right--medium", title: `${this._getActualPageLabel()} ${this._getRemainingPageLabel()}` }, h("ez-button", { size: "small", class: "ez-margin-right--medium", iconName: "chevron-left", mode: "icon", enabled: currentPage > 0, onClick: () => this.previousPage(), label: "P\u00E1gina anterior" }), h("ez-button", { size: "small", iconName: "chevron-right", mode: "icon", enabled: hasMore, onClick: () => this.nextPage(), label: "Pr\u00F3xima P\u00E1gina" }))));
66634
+ }
66635
+ shouldPresentPaginationLabel() {
66636
+ return this.paginationCounterMode === 'show' || this.paginationCounterMode === 'auto';
66630
66637
  }
66631
66638
  componentDidLoad() {
66632
66639
  const _application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
@@ -66675,8 +66682,6 @@ const EzGrid = class {
66675
66682
  this.setEvents();
66676
66683
  this.componentReady.emit();
66677
66684
  this._gridController.configFilterColumn(this._filterColumn);
66678
- if (this.paginationCounterMode === 'auto')
66679
- this._initHeaderOverflowWatcher();
66680
66685
  this.initKeyboardManager();
66681
66686
  }
66682
66687
  handlePaginationChange(selectFirstRecord, paginationInfo) {
@@ -66710,6 +66715,8 @@ const EzGrid = class {
66710
66715
  return this._getActualPageLabel() + this._getRemainingPageLabel();
66711
66716
  }
66712
66717
  _initHeaderOverflowWatcher() {
66718
+ var _a;
66719
+ (_a = this._headerOverflowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
66713
66720
  if (this._refPaginationControl)
66714
66721
  this._headerOverflowWatcher = new OverflowWatcher(this.buildOverFlowWatcherParams());
66715
66722
  }
@@ -66720,15 +66727,30 @@ const EzGrid = class {
66720
66727
  notOverFlow: ["grid-pagination-tooltip"]
66721
66728
  };
66722
66729
  }
66723
- handleOverFlow(elementsOverflow) {
66724
- if (!this._refPaginationLabel)
66730
+ handleOverFlow() {
66731
+ if (!this._refPaginationLabel || !this._refPaginationControl)
66725
66732
  return;
66726
- if (elementsOverflow.length > 0) {
66727
- this._hidePaginationDescription();
66728
- }
66729
- else {
66733
+ const controlWidth = this._refPaginationControl.clientWidth;
66734
+ const labelWidth = this._refPaginationLabel.scrollWidth;
66735
+ const buttonsElement = this._refPaginationControl.querySelector('#grid-pagination-tooltip');
66736
+ const buttonsWidth = (buttonsElement === null || buttonsElement === void 0 ? void 0 : buttonsElement.clientWidth) || 0;
66737
+ const totalMargins = this._getElementMargins(this._refPaginationLabel) + (buttonsElement ? this._getElementMargins(buttonsElement) : 0);
66738
+ const paginationWidthWithoutDescription = labelWidth + buttonsWidth + totalMargins;
66739
+ const paginationWidthWithDescription = paginationWidthWithoutDescription + this._getPaginationDescriptionWidth();
66740
+ if (controlWidth > paginationWidthWithDescription) {
66730
66741
  this._showPaginationDescription();
66731
66742
  }
66743
+ else if (controlWidth <= paginationWidthWithoutDescription) {
66744
+ this._hidePaginationDescription();
66745
+ }
66746
+ }
66747
+ _getPaginationDescriptionWidth() {
66748
+ var _a;
66749
+ return ((_a = this._refPaginationLabelTooltip) === null || _a === void 0 ? void 0 : _a.scrollWidth) || 0;
66750
+ }
66751
+ _getElementMargins(element) {
66752
+ const style = getComputedStyle(element);
66753
+ return parseFloat(style.marginLeft) + parseFloat(style.marginRight);
66732
66754
  }
66733
66755
  _hidePaginationDescription() {
66734
66756
  this._refPaginationLabel.classList.add(OVERFLOWED_CLASS_NAME);
@@ -66771,6 +66793,8 @@ const EzGrid = class {
66771
66793
  if (this.dataUnit && this._showSelectionCounter) {
66772
66794
  this.setSelection(this.dataUnit.getSelectionInfo());
66773
66795
  }
66796
+ if (this.paginationCounterMode === 'auto')
66797
+ this._initHeaderOverflowWatcher();
66774
66798
  }
66775
66799
  getDataSource() {
66776
66800
  if (!this.columnfilterDataSource) {