structra-ui 0.2.90 → 0.2.92

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.
@@ -313,9 +313,64 @@ function structraKanbanColScrollKey(status) {
313
313
 
314
314
  /** Coluna ocupa ~100% da largura do board (layout mobile com snap). */
315
315
  const DEFAULT_MOBILE_COLUMN_WIDTH_RATIO = 0.85;
316
+ /** px/ms — flick rápido (~250 px/s). */
317
+ const FLING_VELOCITY_THRESHOLD_PX_MS = 0.28;
318
+ /** Deslocamento mínimo (px) ou fração da coluna para trocar etapa. */
319
+ const FLING_DISPLACEMENT_MIN_PX = 28;
320
+ const FLING_DISPLACEMENT_COLUMN_RATIO = 0.1;
316
321
  function queryKanbanBoardColumns(board, columnSelector) {
317
322
  return Array.from(board.querySelectorAll(columnSelector)).filter((col) => !col.closest('.oficina-kanban-mobile-status-tabs'));
318
323
  }
324
+ function indexOfColumnNearestToViewportCenter(cols, scrollLeft, viewportWidth) {
325
+ const viewportCenter = scrollLeft + viewportWidth / 2;
326
+ let bestIdx = 0;
327
+ let bestDist = Number.POSITIVE_INFINITY;
328
+ for (let i = 0; i < cols.length; i++) {
329
+ const col = cols[i];
330
+ const center = col.offsetLeft + col.clientWidth / 2;
331
+ const dist = Math.abs(center - viewportCenter);
332
+ if (dist < bestDist) {
333
+ bestDist = dist;
334
+ bestIdx = i;
335
+ }
336
+ }
337
+ return bestIdx;
338
+ }
339
+ function resolveTargetColumnIndexWithGesture(cols, board, gesture) {
340
+ const colWidth = cols[0]?.clientWidth ?? board.clientWidth;
341
+ const displacementThreshold = Math.max(FLING_DISPLACEMENT_MIN_PX, colWidth * FLING_DISPLACEMENT_COLUMN_RATIO);
342
+ const absDelta = Math.abs(gesture.deltaX);
343
+ const absVelocity = Math.abs(gesture.velocityX);
344
+ const startIdx = indexOfColumnNearestToViewportCenter(cols, gesture.startScrollLeft, board.clientWidth);
345
+ const isFling = absVelocity >= FLING_VELOCITY_THRESHOLD_PX_MS || absDelta >= displacementThreshold;
346
+ if (!isFling || (gesture.deltaX === 0 && gesture.velocityX === 0)) {
347
+ return {
348
+ index: indexOfColumnNearestToViewportCenter(cols, board.scrollLeft, board.clientWidth),
349
+ usedFling: false,
350
+ };
351
+ }
352
+ const direction = absVelocity >= FLING_VELOCITY_THRESHOLD_PX_MS * 0.45
353
+ ? Math.sign(gesture.velocityX)
354
+ : Math.sign(gesture.deltaX);
355
+ if (direction > 0) {
356
+ return { index: Math.min(startIdx + 1, cols.length - 1), usedFling: true };
357
+ }
358
+ if (direction < 0) {
359
+ return { index: Math.max(startIdx - 1, 0), usedFling: true };
360
+ }
361
+ return { index: startIdx, usedFling: false };
362
+ }
363
+ function scrollBoardToColumn(board, target, options) {
364
+ const alvo = target.offsetLeft;
365
+ if (Math.abs(board.scrollLeft - alvo) <= 1) {
366
+ return;
367
+ }
368
+ if (options.smooth && typeof board.scrollTo === 'function') {
369
+ board.scrollTo({ left: alvo, behavior: 'smooth' });
370
+ return;
371
+ }
372
+ board.scrollLeft = alvo;
373
+ }
319
374
  /** Indica se o board está no layout mobile (uma coluna por viewport). */
320
375
  function isStructraKanbanMobileSnapBoard(board, options = {}) {
321
376
  const columnSelector = options.columnSelector ?? '[data-kanban-board-col], .oficina-kanban-board__col';
@@ -326,8 +381,23 @@ function isStructraKanbanMobileSnapBoard(board, options = {}) {
326
381
  const ratio = options.mobileColumnWidthRatio ?? DEFAULT_MOBILE_COLUMN_WIDTH_RATIO;
327
382
  return cols[0].clientWidth >= board.clientWidth * ratio;
328
383
  }
384
+ /** Status da coluna mais visível no viewport (mobile snap). */
385
+ function resolveStructraKanbanActiveStatusFromBoard(board, options = {}) {
386
+ const columnSelector = options.columnSelector ?? '[data-kanban-board-col], .oficina-kanban-board__col';
387
+ if (!isStructraKanbanMobileSnapBoard(board, options)) {
388
+ return null;
389
+ }
390
+ const cols = queryKanbanBoardColumns(board, columnSelector);
391
+ if (cols.length === 0) {
392
+ return null;
393
+ }
394
+ const idx = indexOfColumnNearestToViewportCenter(cols, board.scrollLeft, board.clientWidth);
395
+ const status = Number(cols[idx]?.dataset['kanbanStatus']);
396
+ return Number.isNaN(status) ? null : status;
397
+ }
329
398
  /**
330
399
  * Alinha `scrollLeft` à coluna mobile (snap). Desktop não altera.
400
+ * Com `gesture`, flings rápidos avançam/voltam coluna mesmo com pouco deslocamento.
331
401
  * @returns status da coluna alinhada ou null se não aplicável.
332
402
  */
333
403
  function snapStructraKanbanMobileBoard(board, options = {}) {
@@ -340,30 +410,29 @@ function snapStructraKanbanMobileBoard(board, options = {}) {
340
410
  return null;
341
411
  }
342
412
  let target = null;
413
+ let smoothFling = false;
343
414
  if (options.preferredStatus != null) {
344
415
  const wanted = String(options.preferredStatus);
345
416
  target =
346
417
  cols.find((col) => col.dataset['kanbanStatus']?.trim() === wanted) ?? null;
347
418
  }
419
+ if (!target && options.gesture) {
420
+ const resolved = resolveTargetColumnIndexWithGesture(cols, board, options.gesture);
421
+ target = cols[resolved.index] ?? null;
422
+ smoothFling =
423
+ resolved.usedFling &&
424
+ options.smoothFling !== false &&
425
+ resolved.index !==
426
+ indexOfColumnNearestToViewportCenter(cols, options.gesture.startScrollLeft, board.clientWidth);
427
+ }
348
428
  if (!target) {
349
- const viewportCenter = board.scrollLeft + board.clientWidth / 2;
350
- let melhorDist = Number.POSITIVE_INFINITY;
351
- for (const col of cols) {
352
- const center = col.offsetLeft + col.clientWidth / 2;
353
- const dist = Math.abs(center - viewportCenter);
354
- if (dist < melhorDist) {
355
- melhorDist = dist;
356
- target = col;
357
- }
358
- }
429
+ const idx = indexOfColumnNearestToViewportCenter(cols, board.scrollLeft, board.clientWidth);
430
+ target = cols[idx] ?? null;
359
431
  }
360
432
  if (!target) {
361
433
  return null;
362
434
  }
363
- const alvo = target.offsetLeft;
364
- if (Math.abs(board.scrollLeft - alvo) > 1) {
365
- board.scrollLeft = alvo;
366
- }
435
+ scrollBoardToColumn(board, target, { smooth: smoothFling });
367
436
  const status = Number(target.dataset['kanbanStatus']);
368
437
  return Number.isNaN(status) ? null : status;
369
438
  }
@@ -541,7 +610,7 @@ function provideStructraScrollState() {
541
610
  }
542
611
 
543
612
  /** Tempo de pressão (touch) antes de iniciar drag no Kanban mobile — alinhado ao CDK `cdkDragStartDelay`. */
544
- const STRUCTRA_KANBAN_MOBILE_DRAG_LONG_PRESS_MS = 450;
613
+ const STRUCTRA_KANBAN_MOBILE_DRAG_LONG_PRESS_MS = 380;
545
614
  const STRUCTRA_KANBAN_MOBILE_DRAG_START_DELAY = {
546
615
  touch: STRUCTRA_KANBAN_MOBILE_DRAG_LONG_PRESS_MS,
547
616
  mouse: 0,
@@ -554,6 +623,9 @@ const DEFAULT_COLUMN_EDGE_SIZE = 72;
554
623
  const DEFAULT_PLACEHOLDER_PADDING_PX = 12;
555
624
  const DEFAULT_BASE_SPEED = 10;
556
625
  const DEFAULT_MAX_SPEED = 22;
626
+ const MOBILE_COLUMN_EDGE_SIZE = 88;
627
+ const MOBILE_BASE_SPEED = 14;
628
+ const MOBILE_MAX_SPEED = 30;
557
629
  /**
558
630
  * Auto-scroll do Kanban durante drag (CDK):
559
631
  * - horizontal no board (desktop / colunas estreitas);
@@ -619,8 +691,9 @@ class StructraKanbanDragAutoScrollController {
619
691
  '.cdk-drag-placeholder, .oficina-kanban-board__card-placeholder');
620
692
  }
621
693
  calculateSpeed(intensity) {
622
- const baseSpeed = this.options.baseSpeed ?? DEFAULT_BASE_SPEED;
623
- const maxSpeed = this.options.maxSpeed ?? DEFAULT_MAX_SPEED;
694
+ const mobile = !this.isDesktop();
695
+ const baseSpeed = this.options.baseSpeed ?? (mobile ? MOBILE_BASE_SPEED : DEFAULT_BASE_SPEED);
696
+ const maxSpeed = this.options.maxSpeed ?? (mobile ? MOBILE_MAX_SPEED : DEFAULT_MAX_SPEED);
624
697
  const clamped = Math.min(1, Math.max(0, intensity));
625
698
  return baseSpeed + (maxSpeed - baseSpeed) * clamped;
626
699
  }
@@ -649,7 +722,8 @@ class StructraKanbanDragAutoScrollController {
649
722
  this.horizontalContainer = null;
650
723
  }
651
724
  updateVerticalScrollTarget(event, container) {
652
- const edgeSize = this.options.columnEdgeSize ?? DEFAULT_COLUMN_EDGE_SIZE;
725
+ const edgeSize = this.options.columnEdgeSize ??
726
+ (this.isDesktop() ? DEFAULT_COLUMN_EDGE_SIZE : MOBILE_COLUMN_EDGE_SIZE);
653
727
  const pointerY = event.pointerPosition.y;
654
728
  let target = null;
655
729
  let direction = 0;
@@ -750,10 +824,11 @@ class StructraKanbanDragAutoScrollController {
750
824
 
751
825
  /** Breakpoint mobile do Kanban (igual ao board Oficina / Structra drag). */
752
826
  const STRUCTRA_KANBAN_MOBILE_MAX_WIDTH = 768;
753
- const PAN_LOCK_THRESHOLD_PX = 8;
827
+ const PAN_LOCK_THRESHOLD_PX = 6;
754
828
  /** Só trata como scroll vertical quando |ΔY| supera claramente |ΔX| (cards não rolam na horizontal). */
755
- const VERTICAL_DOMINANCE_RATIO = 1.35;
756
- const PAN_SWIPE_ON_CARD_PX = 24;
829
+ const VERTICAL_DOMINANCE_RATIO = 1.45;
830
+ /** Distância horizontal mínima em card para iniciar pan antes do long-press (drag). */
831
+ const PAN_SWIPE_ON_CARD_PX = 14;
757
832
  /**
758
833
  * Swipe horizontal no corpo das colunas (incl. vazias e com cards) para rolar o board no mobile.
759
834
  * Complementa `touch-action` CSS quando a lista vertical captura o gesto.
@@ -766,6 +841,8 @@ class StructraKanbanMobileBoardPanController {
766
841
  this.startX = 0;
767
842
  this.startY = 0;
768
843
  this.startScrollLeft = 0;
844
+ this.lastMoveX = 0;
845
+ this.lastMoveAtMs = 0;
769
846
  this.panning = false;
770
847
  this.directionLock = null;
771
848
  this.snapDisabledBoard = null;
@@ -845,14 +922,17 @@ class StructraKanbanMobileBoardPanController {
845
922
  return;
846
923
  }
847
924
  const touch = event.touches[0];
925
+ const now = Date.now();
848
926
  this.activeTouchId = touch.identifier;
849
927
  this.startX = touch.clientX;
850
928
  this.startY = touch.clientY;
851
929
  this.startScrollLeft = board.scrollLeft;
930
+ this.lastMoveX = touch.clientX;
931
+ this.lastMoveAtMs = now;
852
932
  this.panning = false;
853
933
  this.directionLock = null;
854
934
  this.touchStartedOnCard = !!target.closest('.oficina-kanban-board__card');
855
- this.touchStartedAtMs = Date.now();
935
+ this.touchStartedAtMs = now;
856
936
  }
857
937
  isKanbanDragging() {
858
938
  if (typeof document === 'undefined') {
@@ -860,12 +940,17 @@ class StructraKanbanMobileBoardPanController {
860
940
  }
861
941
  return !!document.querySelector('.cdk-drop-list-dragging');
862
942
  }
943
+ /**
944
+ * Em cards, só libera pan horizontal com swipe explícito.
945
+ * Evita competir com long-press/reorder (CDK) após o delay — antes o pan
946
+ * reativava assim que o timer expirava, mesmo sem `.cdk-drop-list-dragging`.
947
+ */
863
948
  shouldDeferPanForCardLongPress(absX, absY) {
864
949
  if (!this.touchStartedOnCard) {
865
950
  return false;
866
951
  }
867
- if (Date.now() - this.touchStartedAtMs >= STRUCTRA_KANBAN_MOBILE_DRAG_LONG_PRESS_MS) {
868
- return this.isKanbanDragging();
952
+ if (this.isKanbanDragging()) {
953
+ return true;
869
954
  }
870
955
  if (absX >= PAN_SWIPE_ON_CARD_PX && absX > absY * VERTICAL_DOMINANCE_RATIO) {
871
956
  this.touchStartedOnCard = false;
@@ -911,9 +996,11 @@ class StructraKanbanMobileBoardPanController {
911
996
  if (this.directionLock !== 'horizontal' || !this.panning) {
912
997
  return;
913
998
  }
999
+ this.lastMoveX = touch.clientX;
1000
+ this.lastMoveAtMs = Date.now();
914
1001
  event.preventDefault();
915
1002
  board.scrollLeft = this.startScrollLeft + deltaX;
916
- this.options.onScroll?.();
1003
+ this.notifyBoardScroll(board);
917
1004
  }
918
1005
  onTouchEnd(event, board) {
919
1006
  if (this.activeTouchId == null) {
@@ -923,7 +1010,7 @@ class StructraKanbanMobileBoardPanController {
923
1010
  if (!touch) {
924
1011
  return;
925
1012
  }
926
- this.finishPan(board);
1013
+ this.finishPan(board, touch);
927
1014
  }
928
1015
  beginHorizontalPan(board) {
929
1016
  this.panning = true;
@@ -934,10 +1021,29 @@ class StructraKanbanMobileBoardPanController {
934
1021
  board.style.scrollSnapType = 'none';
935
1022
  board.classList.add('structra-kanban-board--panning');
936
1023
  }
937
- finishPan(board) {
938
- if (board) {
1024
+ finishPan(board, endTouch) {
1025
+ if (board && endTouch) {
1026
+ const now = Date.now();
1027
+ const deltaX = this.startX - endTouch.clientX;
1028
+ const overallDuration = Math.max(1, now - this.touchStartedAtMs);
1029
+ const overallVelocity = deltaX / overallDuration;
1030
+ const recentDuration = Math.max(1, now - this.lastMoveAtMs);
1031
+ const recentVelocity = (this.lastMoveX - endTouch.clientX) / recentDuration;
1032
+ const velocityX = Math.abs(recentVelocity) >= Math.abs(overallVelocity) * 0.45
1033
+ ? recentVelocity
1034
+ : overallVelocity;
1035
+ snapStructraKanbanMobileBoard(board, {
1036
+ gesture: {
1037
+ deltaX,
1038
+ velocityX,
1039
+ startScrollLeft: this.startScrollLeft,
1040
+ },
1041
+ });
1042
+ this.notifyBoardScroll(board);
1043
+ }
1044
+ else if (board) {
939
1045
  snapStructraKanbanMobileBoard(board);
940
- this.options.onScroll?.();
1046
+ this.notifyBoardScroll(board);
941
1047
  }
942
1048
  if (board) {
943
1049
  board.style.scrollSnapType = '';
@@ -953,6 +1059,12 @@ class StructraKanbanMobileBoardPanController {
953
1059
  this.directionLock = null;
954
1060
  this.touchStartedOnCard = false;
955
1061
  this.touchStartedAtMs = 0;
1062
+ this.lastMoveX = 0;
1063
+ this.lastMoveAtMs = 0;
1064
+ }
1065
+ notifyBoardScroll(board) {
1066
+ this.options.onScroll?.();
1067
+ board.dispatchEvent(new Event('scroll', { bubbles: true }));
956
1068
  }
957
1069
  boardPodeRolar(board, deltaX) {
958
1070
  if (board.scrollWidth <= board.clientWidth + 1) {
@@ -1996,11 +2108,11 @@ class SkeletonBlockComponent {
1996
2108
  return parts.join(' ');
1997
2109
  }
1998
2110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SkeletonBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1999
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: SkeletonBlockComponent, isStandalone: true, selector: "app-skeleton-block", inputs: { width: "width", height: "height", radius: "radius", animate: ["animate", "animate", booleanAttribute] }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<span class=\"skeleton-block__inner\" aria-hidden=\"true\" [style.width]=\"width\" [style.height]=\"height\"\n [style.border-radius]=\"radius\"></span>\n", styles: ["@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:block;min-width:0;box-sizing:border-box}.skeleton-block__inner{display:block;min-width:0;box-sizing:border-box}:host(.skeleton-block--animate) .skeleton-block__inner{position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}:host(.skeleton-block--animate) .skeleton-block__inner:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}:host(.skeleton-block--static) .skeleton-block__inner{background:var(--app-color-skeleton-track-strong, color-mix(in srgb, var(--app-color-text-primary) 10%, var(--app-color-surface-alt) 90%))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: SkeletonBlockComponent, isStandalone: true, selector: "app-skeleton-block", inputs: { width: "width", height: "height", radius: "radius", animate: ["animate", "animate", booleanAttribute] }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<span class=\"skeleton-block__inner\" aria-hidden=\"true\" [style.width]=\"width\" [style.height]=\"height\"\n [style.border-radius]=\"radius\"></span>\n", styles: ["@charset \"UTF-8\";@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:block;min-width:0;box-sizing:border-box}.skeleton-block__inner{display:block;min-width:0;box-sizing:border-box}:host(.skeleton-block--animate) .skeleton-block__inner{position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}:host(.skeleton-block--animate) .skeleton-block__inner:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}:host(.skeleton-block--static) .skeleton-block__inner{background:var(--app-color-skeleton-track-strong, color-mix(in srgb, var(--app-color-text-primary) 10%, var(--app-color-surface-alt) 90%))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2000
2112
  }
2001
2113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SkeletonBlockComponent, decorators: [{
2002
2114
  type: Component,
2003
- args: [{ selector: 'app-skeleton-block', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"skeleton-block__inner\" aria-hidden=\"true\" [style.width]=\"width\" [style.height]=\"height\"\n [style.border-radius]=\"radius\"></span>\n", styles: ["@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:block;min-width:0;box-sizing:border-box}.skeleton-block__inner{display:block;min-width:0;box-sizing:border-box}:host(.skeleton-block--animate) .skeleton-block__inner{position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}:host(.skeleton-block--animate) .skeleton-block__inner:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}:host(.skeleton-block--static) .skeleton-block__inner{background:var(--app-color-skeleton-track-strong, color-mix(in srgb, var(--app-color-text-primary) 10%, var(--app-color-surface-alt) 90%))}\n"] }]
2115
+ args: [{ selector: 'app-skeleton-block', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"skeleton-block__inner\" aria-hidden=\"true\" [style.width]=\"width\" [style.height]=\"height\"\n [style.border-radius]=\"radius\"></span>\n", styles: ["@charset \"UTF-8\";@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:block;min-width:0;box-sizing:border-box}.skeleton-block__inner{display:block;min-width:0;box-sizing:border-box}:host(.skeleton-block--animate) .skeleton-block__inner{position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}:host(.skeleton-block--animate) .skeleton-block__inner:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}:host(.skeleton-block--static) .skeleton-block__inner{background:var(--app-color-skeleton-track-strong, color-mix(in srgb, var(--app-color-text-primary) 10%, var(--app-color-surface-alt) 90%))}\n"] }]
2004
2116
  }], propDecorators: { width: [{
2005
2117
  type: Input
2006
2118
  }], height: [{
@@ -2180,11 +2292,11 @@ class SkeletonTableComponent {
2180
2292
  return index === 0 && this.showActionsColumn();
2181
2293
  }
2182
2294
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SkeletonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2183
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SkeletonTableComponent, isStandalone: true, selector: "app-skeleton-table", inputs: { columnCount: { classPropertyName: "columnCount", publicName: "columnCount", isSignal: false, isRequired: false, transformFunction: numberAttribute }, rowCount: { classPropertyName: "rowCount", publicName: "rowCount", isSignal: false, isRequired: false, transformFunction: numberAttribute }, showPager: { classPropertyName: "showPager", publicName: "showPager", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, pagerChromeOnly: { classPropertyName: "pagerChromeOnly", publicName: "pagerChromeOnly", isSignal: true, isRequired: false, transformFunction: null }, bodyOnly: { classPropertyName: "bodyOnly", publicName: "bodyOnly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, headerLabels: { classPropertyName: "headerLabels", publicName: "headerLabels", isSignal: true, isRequired: false, transformFunction: null }, chrome: { classPropertyName: "chrome", publicName: "chrome", isSignal: true, isRequired: false, transformFunction: null }, showActionsColumn: { classPropertyName: "showActionsColumn", publicName: "showActionsColumn", isSignal: true, isRequired: false, transformFunction: null }, pagerRangeLabel: { classPropertyName: "pagerRangeLabel", publicName: "pagerRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, pagerPageLabel: { classPropertyName: "pagerPageLabel", publicName: "pagerPageLabel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"skeleton-table\"\n [class.skeleton-table--body-only]=\"bodyOnly\"\n [class.skeleton-table--pager-chrome-only]=\"pagerChromeOnly()\"\n [class.skeleton-table--chrome-financeiro]=\"chrome() === 'financeiro'\"\n aria-hidden=\"true\">\n @if (!bodyOnly) {\n <div class=\"skeleton-table__header\">\n @for (label of resolvedHeaderLabels(); track $index; let i = $index) {\n <div\n class=\"skeleton-table__header-cell\"\n [class.skeleton-table__header-cell--actions]=\"isActionsHeaderCell(label, i)\"\n [class.skeleton-table__header-cell--skeleton]=\"!label?.trim()\">\n @if (label?.trim()) {\n <span class=\"skeleton-table__header-label\">{{ label }}</span>\n } @else {\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"72%\" height=\"0.65rem\" radius=\"6px\" [animate]=\"animate\" />\n }\n </div>\n }\n </div>\n }\n <div class=\"skeleton-table__body\">\n @for (r of rowIndexes(); track r) {\n <div class=\"skeleton-table__row\">\n @for (c of colIndexesList(); track c; let i = $index) {\n <div class=\"skeleton-table__body-cell\" [class.skeleton-table__body-cell--actions]=\"isActionsBodyCell(i)\">\n @if (isActionsBodyCell(i)) {\n <div class=\"skeleton-table__actions-chips\">\n <app-skeleton-block width=\"1.15rem\" height=\"1.15rem\" radius=\"4px\" [animate]=\"animate\" />\n <app-skeleton-block width=\"1.15rem\" height=\"1.15rem\" radius=\"4px\" [animate]=\"animate\" />\n </div>\n } @else {\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"72%\" height=\"0.55rem\" radius=\"5px\" [animate]=\"animate\" />\n }\n </div>\n }\n </div>\n }\n </div>\n @if (showPager && !bodyOnly) {\n <div class=\"skeleton-table__pager\" [class.skeleton-table__pager--chrome-only]=\"pagerChromeOnly()\">\n @if (!pagerChromeOnly()) {\n <span class=\"skeleton-table__pager-range\">{{ pagerRangeLabel() }}</span>\n <span class=\"skeleton-table__pager-nav\" aria-hidden=\"true\">\n <span class=\"skeleton-table__pager-btn\">&#171;</span>\n <span class=\"skeleton-table__pager-btn\">&#8249;</span>\n <span class=\"skeleton-table__pager-page\">{{ pagerPageLabel() }}</span>\n <span class=\"skeleton-table__pager-btn\">&#8250;</span>\n <span class=\"skeleton-table__pager-btn\">&#187;</span>\n </span>\n }\n </div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;height:100%;min-height:0;box-sizing:border-box}.skeleton-table{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box;border-radius:10px;overflow:hidden;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-elevated-surface, var(--app-color-surface));--skeleton-table-header-bg: var( --data-grid-header-background, color-mix(in srgb, var(--app-color-primary) 10%, var(--app-color-background, #ffffff)) )}.skeleton-table--chrome-financeiro{--skeleton-table-header-bg: var( --data-grid-header-background, color-mix(in srgb, var(--app-color-success, #15803d) 12%, var(--app-color-background, #ffffff)) )}.skeleton-table--body-only{border:none;border-radius:0;background:transparent}.skeleton-table__header{display:flex;align-items:stretch;flex-shrink:0;min-height:calc(var(--ag-grid-size, 7px) * 8);background:var(--skeleton-table-header-bg);border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .1))}.skeleton-table__header-cell{display:flex;flex:1 1 0%;align-items:center;justify-content:flex-start;min-width:0;padding:.65rem .75rem;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 10%,transparent)}.skeleton-table__header-cell:last-child{border-right:none}.skeleton-table__header-cell--actions{flex:0 0 6.5rem;max-width:6.5rem;justify-content:center;border-right:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .12))}.skeleton-table__header-cell--skeleton{justify-content:flex-start;align-items:flex-end;padding-top:.35rem;padding-bottom:.55rem}.skeleton-table__header-label{font-size:.85rem;font-weight:600;line-height:1.2;color:var(--app-color-text-primary, #1a2f45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skeleton-table__body{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.skeleton-table__row{display:flex;align-items:stretch;flex:0 0 auto;min-height:2.35rem;border-bottom:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 7%,transparent);background:var(--app-color-surface, #ffffff)}.skeleton-table__row:nth-child(2n){background:var(--app-color-surface-alt, var(--app-color-background, #f8fafc))}.skeleton-table__body-cell{display:flex;flex:1 1 0%;align-items:center;min-width:0;padding:.55rem .75rem;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 6%,transparent)}.skeleton-table__body-cell:last-child{border-right:none}.skeleton-table__body-cell--actions{flex:0 0 6.5rem;max-width:6.5rem;justify-content:center;border-right:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .12))}.skeleton-table__actions-chips{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0}.skeleton-table__cell{flex:1 1 0;min-width:0}:host ::ng-deep .skeleton-table__header-cell--skeleton>app-skeleton-block.skeleton-table__cell{flex:0 1 auto;min-width:0;align-self:flex-end}:host ::ng-deep .skeleton-table__body-cell>app-skeleton-block.skeleton-table__cell{flex:1 1 0%;min-width:0;align-self:stretch}:host ::ng-deep .skeleton-table__header,:host ::ng-deep .skeleton-table__row{width:100%;box-sizing:border-box}:host ::ng-deep .skeleton-table__body{width:100%;box-sizing:border-box}.skeleton-table__pager{display:flex;flex-shrink:0;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.5rem;min-height:calc(var(--ag-grid-size, 7px) * 8);padding:.5rem .75rem;box-sizing:border-box;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--skeleton-table-header-bg);font-size:.85rem;color:var(--app-color-tab-inactive-text, #51667a);-webkit-user-select:none;user-select:none}.skeleton-table--pager-chrome-only .skeleton-table__pager{position:relative;z-index:2}.skeleton-table__pager--chrome-only{padding-block:0;gap:0;font-size:0;line-height:0;color:transparent}.skeleton-table__pager-range{flex:0 0 auto}.skeleton-table__pager-nav{display:inline-flex;align-items:center;gap:.35rem}.skeleton-table__pager-page{min-width:5.5rem;text-align:center}.skeleton-table__pager-btn{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 18%,transparent);border-radius:4px;background:transparent;color:color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 70%,transparent);font-size:.72rem;line-height:1;opacity:.45;pointer-events:none}\n"], dependencies: [{ kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2295
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SkeletonTableComponent, isStandalone: true, selector: "app-skeleton-table", inputs: { columnCount: { classPropertyName: "columnCount", publicName: "columnCount", isSignal: false, isRequired: false, transformFunction: numberAttribute }, rowCount: { classPropertyName: "rowCount", publicName: "rowCount", isSignal: false, isRequired: false, transformFunction: numberAttribute }, showPager: { classPropertyName: "showPager", publicName: "showPager", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, pagerChromeOnly: { classPropertyName: "pagerChromeOnly", publicName: "pagerChromeOnly", isSignal: true, isRequired: false, transformFunction: null }, bodyOnly: { classPropertyName: "bodyOnly", publicName: "bodyOnly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, headerLabels: { classPropertyName: "headerLabels", publicName: "headerLabels", isSignal: true, isRequired: false, transformFunction: null }, chrome: { classPropertyName: "chrome", publicName: "chrome", isSignal: true, isRequired: false, transformFunction: null }, showActionsColumn: { classPropertyName: "showActionsColumn", publicName: "showActionsColumn", isSignal: true, isRequired: false, transformFunction: null }, pagerRangeLabel: { classPropertyName: "pagerRangeLabel", publicName: "pagerRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, pagerPageLabel: { classPropertyName: "pagerPageLabel", publicName: "pagerPageLabel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"skeleton-table\"\n [class.skeleton-table--body-only]=\"bodyOnly\"\n [class.skeleton-table--pager-chrome-only]=\"pagerChromeOnly()\"\n [class.skeleton-table--chrome-financeiro]=\"chrome() === 'financeiro'\"\n aria-hidden=\"true\">\n @if (!bodyOnly) {\n <div class=\"skeleton-table__header\">\n @for (label of resolvedHeaderLabels(); track $index; let i = $index) {\n <div\n class=\"skeleton-table__header-cell\"\n [class.skeleton-table__header-cell--actions]=\"isActionsHeaderCell(label, i)\"\n [class.skeleton-table__header-cell--skeleton]=\"!label?.trim()\">\n @if (label?.trim()) {\n <span class=\"skeleton-table__header-label\">{{ label }}</span>\n } @else {\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"72%\" height=\"0.65rem\" radius=\"6px\" [animate]=\"animate\" />\n }\n </div>\n }\n </div>\n }\n <div class=\"skeleton-table__body\">\n @for (r of rowIndexes(); track r) {\n <div class=\"skeleton-table__row\">\n @for (c of colIndexesList(); track c; let i = $index) {\n <div class=\"skeleton-table__body-cell\" [class.skeleton-table__body-cell--actions]=\"isActionsBodyCell(i)\">\n @if (isActionsBodyCell(i)) {\n <div class=\"skeleton-table__actions-chips\">\n <app-skeleton-block width=\"1.15rem\" height=\"1.15rem\" radius=\"4px\" [animate]=\"animate\" />\n <app-skeleton-block width=\"1.15rem\" height=\"1.15rem\" radius=\"4px\" [animate]=\"animate\" />\n </div>\n } @else {\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"72%\" height=\"0.55rem\" radius=\"5px\" [animate]=\"animate\" />\n }\n </div>\n }\n </div>\n }\n </div>\n @if (showPager && !bodyOnly) {\n <div class=\"skeleton-table__pager\" [class.skeleton-table__pager--chrome-only]=\"pagerChromeOnly()\">\n @if (!pagerChromeOnly()) {\n <span class=\"skeleton-table__pager-range\">{{ pagerRangeLabel() }}</span>\n <span class=\"skeleton-table__pager-nav\" aria-hidden=\"true\">\n <span class=\"skeleton-table__pager-btn\">&#171;</span>\n <span class=\"skeleton-table__pager-btn\">&#8249;</span>\n <span class=\"skeleton-table__pager-page\">{{ pagerPageLabel() }}</span>\n <span class=\"skeleton-table__pager-btn\">&#8250;</span>\n <span class=\"skeleton-table__pager-btn\">&#187;</span>\n </span>\n }\n </div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:block;width:100%;min-width:0;height:100%;min-height:0;box-sizing:border-box}.skeleton-table{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box;border-radius:10px;overflow:hidden;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-elevated-surface, var(--app-color-surface));--skeleton-table-header-bg: var( --data-grid-header-background, color-mix(in srgb, var(--app-color-primary) 10%, var(--app-color-background, #ffffff)) )}.skeleton-table--chrome-financeiro{--skeleton-table-header-bg: var( --data-grid-header-background, color-mix(in srgb, var(--app-color-success, #15803d) 12%, var(--app-color-background, #ffffff)) )}.skeleton-table--body-only{border:none;border-radius:0;background:transparent}.skeleton-table__header{display:flex;align-items:stretch;flex-shrink:0;min-height:calc(var(--ag-grid-size, 7px) * 8);background:var(--skeleton-table-header-bg);border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .1))}.skeleton-table__header-cell{display:flex;flex:1 1 0%;align-items:center;justify-content:flex-start;min-width:0;padding:.65rem .75rem;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 10%,transparent)}.skeleton-table__header-cell:last-child{border-right:none}.skeleton-table__header-cell--actions{flex:0 0 6.5rem;max-width:6.5rem;justify-content:center;border-right:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .12))}.skeleton-table__header-cell--skeleton{justify-content:center;align-items:flex-end;padding-top:.35rem;padding-bottom:.55rem}.skeleton-table__header-label{font-size:.85rem;font-weight:600;line-height:1.2;color:var(--app-color-text-primary, #1a2f45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skeleton-table__body{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.skeleton-table__row{display:flex;align-items:stretch;flex:0 0 auto;min-height:2.35rem;border-bottom:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 7%,transparent);background:var(--app-color-surface, #ffffff)}.skeleton-table__row:nth-child(2n){background:var(--app-color-surface-alt, var(--app-color-background, #f8fafc))}.skeleton-table__body-cell{display:flex;flex:1 1 0%;align-items:center;justify-content:center;min-width:0;padding:.55rem .75rem;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 6%,transparent)}.skeleton-table__body-cell:last-child{border-right:none}.skeleton-table__body-cell--actions{flex:0 0 6.5rem;max-width:6.5rem;justify-content:center;border-right:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .12))}.skeleton-table__actions-chips{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0}.skeleton-table__cell{flex:1 1 0;min-width:0}:host ::ng-deep .skeleton-table__header-cell--skeleton>app-skeleton-block.skeleton-table__cell{flex:0 1 auto;min-width:0;align-self:center;align-self:flex-end}:host ::ng-deep .skeleton-table__body-cell:not(.skeleton-table__body-cell--actions)>app-skeleton-block.skeleton-table__cell{flex:0 1 auto;min-width:0;align-self:center}:host ::ng-deep .skeleton-table__header,:host ::ng-deep .skeleton-table__row{width:100%;box-sizing:border-box}:host ::ng-deep .skeleton-table__body{width:100%;box-sizing:border-box}.skeleton-table__pager{display:flex;flex-shrink:0;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.5rem;min-height:calc(var(--ag-grid-size, 7px) * 8);padding:.5rem .75rem;box-sizing:border-box;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--skeleton-table-header-bg);font-size:.85rem;color:var(--app-color-tab-inactive-text, #51667a);-webkit-user-select:none;user-select:none}.skeleton-table--pager-chrome-only .skeleton-table__pager{position:relative;z-index:2}.skeleton-table__pager--chrome-only{padding-block:0;gap:0;font-size:0;line-height:0;color:transparent}.skeleton-table__pager-range{flex:0 0 auto}.skeleton-table__pager-nav{display:inline-flex;align-items:center;gap:.35rem}.skeleton-table__pager-page{min-width:5.5rem;text-align:center}.skeleton-table__pager-btn{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 18%,transparent);border-radius:4px;background:transparent;color:color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 70%,transparent);font-size:.72rem;line-height:1;opacity:.45;pointer-events:none}\n"], dependencies: [{ kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2184
2296
  }
2185
2297
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SkeletonTableComponent, decorators: [{
2186
2298
  type: Component,
2187
- args: [{ selector: 'app-skeleton-table', imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"skeleton-table\"\n [class.skeleton-table--body-only]=\"bodyOnly\"\n [class.skeleton-table--pager-chrome-only]=\"pagerChromeOnly()\"\n [class.skeleton-table--chrome-financeiro]=\"chrome() === 'financeiro'\"\n aria-hidden=\"true\">\n @if (!bodyOnly) {\n <div class=\"skeleton-table__header\">\n @for (label of resolvedHeaderLabels(); track $index; let i = $index) {\n <div\n class=\"skeleton-table__header-cell\"\n [class.skeleton-table__header-cell--actions]=\"isActionsHeaderCell(label, i)\"\n [class.skeleton-table__header-cell--skeleton]=\"!label?.trim()\">\n @if (label?.trim()) {\n <span class=\"skeleton-table__header-label\">{{ label }}</span>\n } @else {\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"72%\" height=\"0.65rem\" radius=\"6px\" [animate]=\"animate\" />\n }\n </div>\n }\n </div>\n }\n <div class=\"skeleton-table__body\">\n @for (r of rowIndexes(); track r) {\n <div class=\"skeleton-table__row\">\n @for (c of colIndexesList(); track c; let i = $index) {\n <div class=\"skeleton-table__body-cell\" [class.skeleton-table__body-cell--actions]=\"isActionsBodyCell(i)\">\n @if (isActionsBodyCell(i)) {\n <div class=\"skeleton-table__actions-chips\">\n <app-skeleton-block width=\"1.15rem\" height=\"1.15rem\" radius=\"4px\" [animate]=\"animate\" />\n <app-skeleton-block width=\"1.15rem\" height=\"1.15rem\" radius=\"4px\" [animate]=\"animate\" />\n </div>\n } @else {\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"72%\" height=\"0.55rem\" radius=\"5px\" [animate]=\"animate\" />\n }\n </div>\n }\n </div>\n }\n </div>\n @if (showPager && !bodyOnly) {\n <div class=\"skeleton-table__pager\" [class.skeleton-table__pager--chrome-only]=\"pagerChromeOnly()\">\n @if (!pagerChromeOnly()) {\n <span class=\"skeleton-table__pager-range\">{{ pagerRangeLabel() }}</span>\n <span class=\"skeleton-table__pager-nav\" aria-hidden=\"true\">\n <span class=\"skeleton-table__pager-btn\">&#171;</span>\n <span class=\"skeleton-table__pager-btn\">&#8249;</span>\n <span class=\"skeleton-table__pager-page\">{{ pagerPageLabel() }}</span>\n <span class=\"skeleton-table__pager-btn\">&#8250;</span>\n <span class=\"skeleton-table__pager-btn\">&#187;</span>\n </span>\n }\n </div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;height:100%;min-height:0;box-sizing:border-box}.skeleton-table{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box;border-radius:10px;overflow:hidden;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-elevated-surface, var(--app-color-surface));--skeleton-table-header-bg: var( --data-grid-header-background, color-mix(in srgb, var(--app-color-primary) 10%, var(--app-color-background, #ffffff)) )}.skeleton-table--chrome-financeiro{--skeleton-table-header-bg: var( --data-grid-header-background, color-mix(in srgb, var(--app-color-success, #15803d) 12%, var(--app-color-background, #ffffff)) )}.skeleton-table--body-only{border:none;border-radius:0;background:transparent}.skeleton-table__header{display:flex;align-items:stretch;flex-shrink:0;min-height:calc(var(--ag-grid-size, 7px) * 8);background:var(--skeleton-table-header-bg);border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .1))}.skeleton-table__header-cell{display:flex;flex:1 1 0%;align-items:center;justify-content:flex-start;min-width:0;padding:.65rem .75rem;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 10%,transparent)}.skeleton-table__header-cell:last-child{border-right:none}.skeleton-table__header-cell--actions{flex:0 0 6.5rem;max-width:6.5rem;justify-content:center;border-right:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .12))}.skeleton-table__header-cell--skeleton{justify-content:flex-start;align-items:flex-end;padding-top:.35rem;padding-bottom:.55rem}.skeleton-table__header-label{font-size:.85rem;font-weight:600;line-height:1.2;color:var(--app-color-text-primary, #1a2f45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skeleton-table__body{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.skeleton-table__row{display:flex;align-items:stretch;flex:0 0 auto;min-height:2.35rem;border-bottom:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 7%,transparent);background:var(--app-color-surface, #ffffff)}.skeleton-table__row:nth-child(2n){background:var(--app-color-surface-alt, var(--app-color-background, #f8fafc))}.skeleton-table__body-cell{display:flex;flex:1 1 0%;align-items:center;min-width:0;padding:.55rem .75rem;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 6%,transparent)}.skeleton-table__body-cell:last-child{border-right:none}.skeleton-table__body-cell--actions{flex:0 0 6.5rem;max-width:6.5rem;justify-content:center;border-right:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .12))}.skeleton-table__actions-chips{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0}.skeleton-table__cell{flex:1 1 0;min-width:0}:host ::ng-deep .skeleton-table__header-cell--skeleton>app-skeleton-block.skeleton-table__cell{flex:0 1 auto;min-width:0;align-self:flex-end}:host ::ng-deep .skeleton-table__body-cell>app-skeleton-block.skeleton-table__cell{flex:1 1 0%;min-width:0;align-self:stretch}:host ::ng-deep .skeleton-table__header,:host ::ng-deep .skeleton-table__row{width:100%;box-sizing:border-box}:host ::ng-deep .skeleton-table__body{width:100%;box-sizing:border-box}.skeleton-table__pager{display:flex;flex-shrink:0;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.5rem;min-height:calc(var(--ag-grid-size, 7px) * 8);padding:.5rem .75rem;box-sizing:border-box;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--skeleton-table-header-bg);font-size:.85rem;color:var(--app-color-tab-inactive-text, #51667a);-webkit-user-select:none;user-select:none}.skeleton-table--pager-chrome-only .skeleton-table__pager{position:relative;z-index:2}.skeleton-table__pager--chrome-only{padding-block:0;gap:0;font-size:0;line-height:0;color:transparent}.skeleton-table__pager-range{flex:0 0 auto}.skeleton-table__pager-nav{display:inline-flex;align-items:center;gap:.35rem}.skeleton-table__pager-page{min-width:5.5rem;text-align:center}.skeleton-table__pager-btn{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 18%,transparent);border-radius:4px;background:transparent;color:color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 70%,transparent);font-size:.72rem;line-height:1;opacity:.45;pointer-events:none}\n"] }]
2299
+ args: [{ selector: 'app-skeleton-table', imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"skeleton-table\"\n [class.skeleton-table--body-only]=\"bodyOnly\"\n [class.skeleton-table--pager-chrome-only]=\"pagerChromeOnly()\"\n [class.skeleton-table--chrome-financeiro]=\"chrome() === 'financeiro'\"\n aria-hidden=\"true\">\n @if (!bodyOnly) {\n <div class=\"skeleton-table__header\">\n @for (label of resolvedHeaderLabels(); track $index; let i = $index) {\n <div\n class=\"skeleton-table__header-cell\"\n [class.skeleton-table__header-cell--actions]=\"isActionsHeaderCell(label, i)\"\n [class.skeleton-table__header-cell--skeleton]=\"!label?.trim()\">\n @if (label?.trim()) {\n <span class=\"skeleton-table__header-label\">{{ label }}</span>\n } @else {\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"72%\" height=\"0.65rem\" radius=\"6px\" [animate]=\"animate\" />\n }\n </div>\n }\n </div>\n }\n <div class=\"skeleton-table__body\">\n @for (r of rowIndexes(); track r) {\n <div class=\"skeleton-table__row\">\n @for (c of colIndexesList(); track c; let i = $index) {\n <div class=\"skeleton-table__body-cell\" [class.skeleton-table__body-cell--actions]=\"isActionsBodyCell(i)\">\n @if (isActionsBodyCell(i)) {\n <div class=\"skeleton-table__actions-chips\">\n <app-skeleton-block width=\"1.15rem\" height=\"1.15rem\" radius=\"4px\" [animate]=\"animate\" />\n <app-skeleton-block width=\"1.15rem\" height=\"1.15rem\" radius=\"4px\" [animate]=\"animate\" />\n </div>\n } @else {\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"72%\" height=\"0.55rem\" radius=\"5px\" [animate]=\"animate\" />\n }\n </div>\n }\n </div>\n }\n </div>\n @if (showPager && !bodyOnly) {\n <div class=\"skeleton-table__pager\" [class.skeleton-table__pager--chrome-only]=\"pagerChromeOnly()\">\n @if (!pagerChromeOnly()) {\n <span class=\"skeleton-table__pager-range\">{{ pagerRangeLabel() }}</span>\n <span class=\"skeleton-table__pager-nav\" aria-hidden=\"true\">\n <span class=\"skeleton-table__pager-btn\">&#171;</span>\n <span class=\"skeleton-table__pager-btn\">&#8249;</span>\n <span class=\"skeleton-table__pager-page\">{{ pagerPageLabel() }}</span>\n <span class=\"skeleton-table__pager-btn\">&#8250;</span>\n <span class=\"skeleton-table__pager-btn\">&#187;</span>\n </span>\n }\n </div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:block;width:100%;min-width:0;height:100%;min-height:0;box-sizing:border-box}.skeleton-table{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box;border-radius:10px;overflow:hidden;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-elevated-surface, var(--app-color-surface));--skeleton-table-header-bg: var( --data-grid-header-background, color-mix(in srgb, var(--app-color-primary) 10%, var(--app-color-background, #ffffff)) )}.skeleton-table--chrome-financeiro{--skeleton-table-header-bg: var( --data-grid-header-background, color-mix(in srgb, var(--app-color-success, #15803d) 12%, var(--app-color-background, #ffffff)) )}.skeleton-table--body-only{border:none;border-radius:0;background:transparent}.skeleton-table__header{display:flex;align-items:stretch;flex-shrink:0;min-height:calc(var(--ag-grid-size, 7px) * 8);background:var(--skeleton-table-header-bg);border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .1))}.skeleton-table__header-cell{display:flex;flex:1 1 0%;align-items:center;justify-content:flex-start;min-width:0;padding:.65rem .75rem;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 10%,transparent)}.skeleton-table__header-cell:last-child{border-right:none}.skeleton-table__header-cell--actions{flex:0 0 6.5rem;max-width:6.5rem;justify-content:center;border-right:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .12))}.skeleton-table__header-cell--skeleton{justify-content:center;align-items:flex-end;padding-top:.35rem;padding-bottom:.55rem}.skeleton-table__header-label{font-size:.85rem;font-weight:600;line-height:1.2;color:var(--app-color-text-primary, #1a2f45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skeleton-table__body{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.skeleton-table__row{display:flex;align-items:stretch;flex:0 0 auto;min-height:2.35rem;border-bottom:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 7%,transparent);background:var(--app-color-surface, #ffffff)}.skeleton-table__row:nth-child(2n){background:var(--app-color-surface-alt, var(--app-color-background, #f8fafc))}.skeleton-table__body-cell{display:flex;flex:1 1 0%;align-items:center;justify-content:center;min-width:0;padding:.55rem .75rem;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 6%,transparent)}.skeleton-table__body-cell:last-child{border-right:none}.skeleton-table__body-cell--actions{flex:0 0 6.5rem;max-width:6.5rem;justify-content:center;border-right:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .12))}.skeleton-table__actions-chips{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0}.skeleton-table__cell{flex:1 1 0;min-width:0}:host ::ng-deep .skeleton-table__header-cell--skeleton>app-skeleton-block.skeleton-table__cell{flex:0 1 auto;min-width:0;align-self:center;align-self:flex-end}:host ::ng-deep .skeleton-table__body-cell:not(.skeleton-table__body-cell--actions)>app-skeleton-block.skeleton-table__cell{flex:0 1 auto;min-width:0;align-self:center}:host ::ng-deep .skeleton-table__header,:host ::ng-deep .skeleton-table__row{width:100%;box-sizing:border-box}:host ::ng-deep .skeleton-table__body{width:100%;box-sizing:border-box}.skeleton-table__pager{display:flex;flex-shrink:0;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.5rem;min-height:calc(var(--ag-grid-size, 7px) * 8);padding:.5rem .75rem;box-sizing:border-box;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--skeleton-table-header-bg);font-size:.85rem;color:var(--app-color-tab-inactive-text, #51667a);-webkit-user-select:none;user-select:none}.skeleton-table--pager-chrome-only .skeleton-table__pager{position:relative;z-index:2}.skeleton-table__pager--chrome-only{padding-block:0;gap:0;font-size:0;line-height:0;color:transparent}.skeleton-table__pager-range{flex:0 0 auto}.skeleton-table__pager-nav{display:inline-flex;align-items:center;gap:.35rem}.skeleton-table__pager-page{min-width:5.5rem;text-align:center}.skeleton-table__pager-btn{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:1px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 18%,transparent);border-radius:4px;background:transparent;color:color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 70%,transparent);font-size:.72rem;line-height:1;opacity:.45;pointer-events:none}\n"] }]
2188
2300
  }], propDecorators: { columnCount: [{
2189
2301
  type: Input,
2190
2302
  args: [{ transform: numberAttribute }]
@@ -29246,11 +29358,11 @@ class ConsultaPageLoadingSkeletonComponent {
29246
29358
  this.metadataGridHeaders = CONSULTA_SKELETON_GRID_HEADERS;
29247
29359
  }
29248
29360
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConsultaPageLoadingSkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29249
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ConsultaPageLoadingSkeletonComponent, isStandalone: true, selector: "app-consulta-page-loading-skeleton", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"consulta-page-loading-skeleton\"\n [class.consulta-page-loading-skeleton--financeiro]=\"variant() === 'financeiro'\"\n aria-hidden=\"true\">\n <section class=\"consulta-page-loading-skeleton__filtros\">\n <header class=\"consulta-page-loading-skeleton__filtros-header\">\n <span class=\"consulta-page-loading-skeleton__chevron\" aria-hidden=\"true\"></span>\n <div class=\"consulta-page-loading-skeleton__filtros-titles\">\n <span class=\"consulta-page-loading-skeleton__filtros-title\">Filtros</span>\n <span class=\"consulta-page-loading-skeleton__filtros-subtitle\"></span>\n </div>\n </header>\n </section>\n\n @if (variant() === 'financeiro') {\n <app-form-row class=\"consulta-page-loading-skeleton__stats oficina-consulta-stats oficina-consulta-stats--3\" gap=\"sm\" align=\"stretch\" justify=\"start\">\n @for (slot of financeiroStatSlots; track slot) {\n <app-form-col [xs]=\"12\" [sm]=\"6\">\n <div class=\"consulta-page-loading-skeleton__stat-card\">\n <div class=\"consulta-page-loading-skeleton__stat-head\">\n <span class=\"consulta-page-loading-skeleton__stat-icon\"></span>\n <span class=\"consulta-page-loading-skeleton__stat-title\"></span>\n </div>\n <span class=\"consulta-page-loading-skeleton__stat-value\"></span>\n </div>\n </app-form-col>\n }\n </app-form-row>\n }\n\n <div class=\"consulta-page-loading-skeleton__grid-host\">\n @if (variant() === 'financeiro') {\n <app-skeleton-table\n class=\"consulta-page-loading-skeleton__grid\"\n chrome=\"financeiro\"\n [headerLabels]=\"financeiroGridHeaders\"\n [columnCount]=\"financeiroGridHeaders.length\"\n [rowCount]=\"8\"\n [showPager]=\"true\"\n [pagerChromeOnly]=\"true\"\n />\n } @else {\n <app-skeleton-table\n class=\"consulta-page-loading-skeleton__grid\"\n chrome=\"default\"\n [headerLabels]=\"metadataGridHeaders\"\n [columnCount]=\"metadataGridHeaders.length\"\n [rowCount]=\"8\"\n [showPager]=\"true\"\n [pagerChromeOnly]=\"true\"\n [showActionsColumn]=\"false\"\n />\n }\n </div>\n</div>\n", styles: ["@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:flex;flex:1 1 0%;flex-direction:column;min-height:0;min-width:0;width:100%;height:100%;box-sizing:border-box}.consulta-page-loading-skeleton{display:flex;flex:1 1 0%;flex-direction:column;gap:var(--home-content-gutter, .35rem);min-height:0;min-width:0;width:100%;height:100%;box-sizing:border-box}.consulta-page-loading-skeleton__filtros{flex-shrink:0;border-radius:var(--app-radius-md, .5rem);border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-surface, #ffffff);overflow:hidden}.consulta-page-loading-skeleton__filtros-header{display:flex;align-items:center;gap:.5rem;min-height:var(--oficina-consulta-header-height, var(--app-header-height, 3.25rem));max-height:var(--oficina-consulta-header-height, var(--app-header-height, 3.25rem));padding:.5rem .65rem;box-sizing:border-box;overflow:hidden}.consulta-page-loading-skeleton__chevron{flex-shrink:0;width:.55rem;height:.55rem;border-right:2px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 55%,transparent);border-bottom:2px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 55%,transparent);transform:rotate(-45deg)}.consulta-page-loading-skeleton__filtros-titles{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;gap:.2rem;min-width:0}.consulta-page-loading-skeleton__filtros-title{font-size:.92rem;font-weight:600;line-height:1.25;color:var(--app-color-text-primary, #1a2f45)}.consulta-page-loading-skeleton__filtros-subtitle{display:block;width:42%;height:.62rem;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__filtros-subtitle:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats{flex-shrink:0;width:100%;min-width:0;margin:0;--oficina-consulta-stats-cols: 3}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats .form-row__grid{width:100%;min-width:0;gap:var(--oficina-consulta-panel-gap, .375rem)}@media(min-width:40rem){:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats .form-row__grid{display:grid;grid-template-columns:repeat(var(--oficina-consulta-stats-cols, 3),minmax(0,1fr))}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats app-form-col{grid-column:span 1!important;width:100%;max-width:none}}.consulta-page-loading-skeleton__stat-card{display:flex;flex-direction:column;gap:.45rem;height:100%;min-height:5.5rem;padding:1rem 1.05rem;box-sizing:border-box;border-radius:10px;border:2px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--app-color-surface, #ffffff);box-shadow:0 1px 2px #0f172a0a}.consulta-page-loading-skeleton__stat-head{display:flex;align-items:flex-start;gap:.5rem}.consulta-page-loading-skeleton__stat-icon{flex-shrink:0;width:2rem;height:2rem;border-radius:8px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-icon:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__stat-title{flex:1 1 auto;height:1.11rem;min-width:0;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-title:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__stat-value{display:block;width:44%;height:1.74rem;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-value:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__grid-host{display:flex;flex:1 1 0%;flex-direction:column;min-height:0;min-width:0;width:100%}.consulta-page-loading-skeleton__grid{flex:1 1 0%;min-height:0;width:100%}@media(max-width:767.98px){.consulta-page-loading-skeleton__filtros-header{min-height:auto;max-height:none;padding:.45rem .5rem .55rem}}\n"], dependencies: [{ kind: "component", type: FormRowComponent, selector: "app-form-row", inputs: ["gap", "align", "justify", "grow", "wrap", "stackOnMobile"] }, { kind: "component", type: FormColComponent, selector: "app-form-col", inputs: ["xs", "sm", "md", "lg", "xl", "order", "grow", "gap", "align", "justify"] }, { kind: "component", type: SkeletonTableComponent, selector: "app-skeleton-table", inputs: ["columnCount", "rowCount", "showPager", "pagerChromeOnly", "bodyOnly", "animate", "headerLabels", "chrome", "showActionsColumn", "pagerRangeLabel", "pagerPageLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29361
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ConsultaPageLoadingSkeletonComponent, isStandalone: true, selector: "app-consulta-page-loading-skeleton", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"consulta-page-loading-skeleton\"\n [class.consulta-page-loading-skeleton--financeiro]=\"variant() === 'financeiro'\"\n aria-hidden=\"true\">\n <section class=\"consulta-page-loading-skeleton__filtros\">\n <header class=\"consulta-page-loading-skeleton__filtros-header\">\n <span class=\"consulta-page-loading-skeleton__chevron\" aria-hidden=\"true\"></span>\n <div class=\"consulta-page-loading-skeleton__filtros-titles\">\n <span class=\"consulta-page-loading-skeleton__filtros-title\">Filtros</span>\n <span class=\"consulta-page-loading-skeleton__filtros-subtitle\"></span>\n </div>\n </header>\n </section>\n\n @if (variant() === 'financeiro') {\n <app-form-row class=\"consulta-page-loading-skeleton__stats oficina-consulta-stats oficina-consulta-stats--3\" gap=\"sm\" align=\"stretch\" justify=\"start\">\n @for (slot of financeiroStatSlots; track slot) {\n <app-form-col [xs]=\"12\" [sm]=\"6\">\n <div class=\"consulta-page-loading-skeleton__stat-card\">\n <div class=\"consulta-page-loading-skeleton__stat-head\">\n <span class=\"consulta-page-loading-skeleton__stat-icon\"></span>\n <span class=\"consulta-page-loading-skeleton__stat-title\"></span>\n </div>\n <span class=\"consulta-page-loading-skeleton__stat-value\"></span>\n </div>\n </app-form-col>\n }\n </app-form-row>\n }\n\n <div class=\"consulta-page-loading-skeleton__grid-host\">\n @if (variant() === 'financeiro') {\n <app-skeleton-table\n class=\"consulta-page-loading-skeleton__grid\"\n chrome=\"financeiro\"\n [headerLabels]=\"financeiroGridHeaders\"\n [columnCount]=\"financeiroGridHeaders.length\"\n [rowCount]=\"8\"\n [showPager]=\"true\"\n [pagerChromeOnly]=\"true\"\n />\n } @else {\n <app-skeleton-table\n class=\"consulta-page-loading-skeleton__grid\"\n chrome=\"default\"\n [headerLabels]=\"metadataGridHeaders\"\n [columnCount]=\"metadataGridHeaders.length\"\n [rowCount]=\"8\"\n [showPager]=\"true\"\n [pagerChromeOnly]=\"true\"\n [showActionsColumn]=\"false\"\n />\n }\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:flex;flex:1 1 0%;flex-direction:column;min-height:0;min-width:0;width:100%;height:100%;box-sizing:border-box}.consulta-page-loading-skeleton{display:flex;flex:1 1 0%;flex-direction:column;gap:var(--home-content-gutter, .35rem);min-height:0;min-width:0;width:100%;height:100%;box-sizing:border-box}.consulta-page-loading-skeleton__filtros{flex-shrink:0;border-radius:var(--app-radius-md, .5rem);border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-surface, #ffffff);overflow:hidden}.consulta-page-loading-skeleton__filtros-header{display:flex;align-items:center;gap:.5rem;min-height:var(--oficina-consulta-header-height, var(--app-header-height, 3.25rem));max-height:var(--oficina-consulta-header-height, var(--app-header-height, 3.25rem));padding:.5rem .65rem;box-sizing:border-box;overflow:hidden}.consulta-page-loading-skeleton__chevron{flex-shrink:0;width:.55rem;height:.55rem;border-right:2px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 55%,transparent);border-bottom:2px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 55%,transparent);transform:rotate(-45deg)}.consulta-page-loading-skeleton__filtros-titles{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;gap:.2rem;min-width:0}.consulta-page-loading-skeleton__filtros-title{font-size:.92rem;font-weight:600;line-height:1.25;color:var(--app-color-text-primary, #1a2f45)}.consulta-page-loading-skeleton__filtros-subtitle{display:block;width:42%;height:.62rem;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__filtros-subtitle:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats{flex-shrink:0;width:100%;min-width:0;margin:0;--oficina-consulta-stats-cols: 3}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats .form-row__grid{width:100%;min-width:0;gap:var(--oficina-consulta-panel-gap, .375rem)}@media(min-width:40rem){:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats .form-row__grid{display:grid;grid-template-columns:repeat(var(--oficina-consulta-stats-cols, 3),minmax(0,1fr))}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats app-form-col{grid-column:span 1!important;width:100%;max-width:none}}.consulta-page-loading-skeleton__stat-card{display:flex;flex-direction:column;gap:.45rem;height:100%;min-height:5.5rem;padding:1rem 1.05rem;box-sizing:border-box;border-radius:10px;border:2px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--app-color-surface, #ffffff);box-shadow:0 1px 2px #0f172a0a}.consulta-page-loading-skeleton__stat-head{display:flex;align-items:flex-start;gap:.5rem}.consulta-page-loading-skeleton__stat-icon{flex-shrink:0;width:2rem;height:2rem;border-radius:8px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-icon:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__stat-title{flex:1 1 auto;height:1.11rem;min-width:0;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-title:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__stat-value{display:block;width:44%;height:1.74rem;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-value:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__grid-host{display:flex;flex:1 1 0%;flex-direction:column;min-height:0;min-width:0;width:100%}.consulta-page-loading-skeleton__grid{flex:1 1 0%;min-height:0;width:100%}@media(max-width:767.98px){.consulta-page-loading-skeleton__filtros-header{min-height:auto;max-height:none;padding:.45rem .5rem .55rem}}\n"], dependencies: [{ kind: "component", type: FormRowComponent, selector: "app-form-row", inputs: ["gap", "align", "justify", "grow", "wrap", "stackOnMobile"] }, { kind: "component", type: FormColComponent, selector: "app-form-col", inputs: ["xs", "sm", "md", "lg", "xl", "order", "grow", "gap", "align", "justify"] }, { kind: "component", type: SkeletonTableComponent, selector: "app-skeleton-table", inputs: ["columnCount", "rowCount", "showPager", "pagerChromeOnly", "bodyOnly", "animate", "headerLabels", "chrome", "showActionsColumn", "pagerRangeLabel", "pagerPageLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29250
29362
  }
29251
29363
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConsultaPageLoadingSkeletonComponent, decorators: [{
29252
29364
  type: Component,
29253
- args: [{ selector: 'app-consulta-page-loading-skeleton', standalone: true, imports: [FormRowComponent, FormColComponent, SkeletonTableComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"consulta-page-loading-skeleton\"\n [class.consulta-page-loading-skeleton--financeiro]=\"variant() === 'financeiro'\"\n aria-hidden=\"true\">\n <section class=\"consulta-page-loading-skeleton__filtros\">\n <header class=\"consulta-page-loading-skeleton__filtros-header\">\n <span class=\"consulta-page-loading-skeleton__chevron\" aria-hidden=\"true\"></span>\n <div class=\"consulta-page-loading-skeleton__filtros-titles\">\n <span class=\"consulta-page-loading-skeleton__filtros-title\">Filtros</span>\n <span class=\"consulta-page-loading-skeleton__filtros-subtitle\"></span>\n </div>\n </header>\n </section>\n\n @if (variant() === 'financeiro') {\n <app-form-row class=\"consulta-page-loading-skeleton__stats oficina-consulta-stats oficina-consulta-stats--3\" gap=\"sm\" align=\"stretch\" justify=\"start\">\n @for (slot of financeiroStatSlots; track slot) {\n <app-form-col [xs]=\"12\" [sm]=\"6\">\n <div class=\"consulta-page-loading-skeleton__stat-card\">\n <div class=\"consulta-page-loading-skeleton__stat-head\">\n <span class=\"consulta-page-loading-skeleton__stat-icon\"></span>\n <span class=\"consulta-page-loading-skeleton__stat-title\"></span>\n </div>\n <span class=\"consulta-page-loading-skeleton__stat-value\"></span>\n </div>\n </app-form-col>\n }\n </app-form-row>\n }\n\n <div class=\"consulta-page-loading-skeleton__grid-host\">\n @if (variant() === 'financeiro') {\n <app-skeleton-table\n class=\"consulta-page-loading-skeleton__grid\"\n chrome=\"financeiro\"\n [headerLabels]=\"financeiroGridHeaders\"\n [columnCount]=\"financeiroGridHeaders.length\"\n [rowCount]=\"8\"\n [showPager]=\"true\"\n [pagerChromeOnly]=\"true\"\n />\n } @else {\n <app-skeleton-table\n class=\"consulta-page-loading-skeleton__grid\"\n chrome=\"default\"\n [headerLabels]=\"metadataGridHeaders\"\n [columnCount]=\"metadataGridHeaders.length\"\n [rowCount]=\"8\"\n [showPager]=\"true\"\n [pagerChromeOnly]=\"true\"\n [showActionsColumn]=\"false\"\n />\n }\n </div>\n</div>\n", styles: ["@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:flex;flex:1 1 0%;flex-direction:column;min-height:0;min-width:0;width:100%;height:100%;box-sizing:border-box}.consulta-page-loading-skeleton{display:flex;flex:1 1 0%;flex-direction:column;gap:var(--home-content-gutter, .35rem);min-height:0;min-width:0;width:100%;height:100%;box-sizing:border-box}.consulta-page-loading-skeleton__filtros{flex-shrink:0;border-radius:var(--app-radius-md, .5rem);border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-surface, #ffffff);overflow:hidden}.consulta-page-loading-skeleton__filtros-header{display:flex;align-items:center;gap:.5rem;min-height:var(--oficina-consulta-header-height, var(--app-header-height, 3.25rem));max-height:var(--oficina-consulta-header-height, var(--app-header-height, 3.25rem));padding:.5rem .65rem;box-sizing:border-box;overflow:hidden}.consulta-page-loading-skeleton__chevron{flex-shrink:0;width:.55rem;height:.55rem;border-right:2px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 55%,transparent);border-bottom:2px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 55%,transparent);transform:rotate(-45deg)}.consulta-page-loading-skeleton__filtros-titles{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;gap:.2rem;min-width:0}.consulta-page-loading-skeleton__filtros-title{font-size:.92rem;font-weight:600;line-height:1.25;color:var(--app-color-text-primary, #1a2f45)}.consulta-page-loading-skeleton__filtros-subtitle{display:block;width:42%;height:.62rem;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__filtros-subtitle:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats{flex-shrink:0;width:100%;min-width:0;margin:0;--oficina-consulta-stats-cols: 3}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats .form-row__grid{width:100%;min-width:0;gap:var(--oficina-consulta-panel-gap, .375rem)}@media(min-width:40rem){:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats .form-row__grid{display:grid;grid-template-columns:repeat(var(--oficina-consulta-stats-cols, 3),minmax(0,1fr))}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats app-form-col{grid-column:span 1!important;width:100%;max-width:none}}.consulta-page-loading-skeleton__stat-card{display:flex;flex-direction:column;gap:.45rem;height:100%;min-height:5.5rem;padding:1rem 1.05rem;box-sizing:border-box;border-radius:10px;border:2px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--app-color-surface, #ffffff);box-shadow:0 1px 2px #0f172a0a}.consulta-page-loading-skeleton__stat-head{display:flex;align-items:flex-start;gap:.5rem}.consulta-page-loading-skeleton__stat-icon{flex-shrink:0;width:2rem;height:2rem;border-radius:8px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-icon:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__stat-title{flex:1 1 auto;height:1.11rem;min-width:0;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-title:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__stat-value{display:block;width:44%;height:1.74rem;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-value:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__grid-host{display:flex;flex:1 1 0%;flex-direction:column;min-height:0;min-width:0;width:100%}.consulta-page-loading-skeleton__grid{flex:1 1 0%;min-height:0;width:100%}@media(max-width:767.98px){.consulta-page-loading-skeleton__filtros-header{min-height:auto;max-height:none;padding:.45rem .5rem .55rem}}\n"] }]
29365
+ args: [{ selector: 'app-consulta-page-loading-skeleton', standalone: true, imports: [FormRowComponent, FormColComponent, SkeletonTableComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"consulta-page-loading-skeleton\"\n [class.consulta-page-loading-skeleton--financeiro]=\"variant() === 'financeiro'\"\n aria-hidden=\"true\">\n <section class=\"consulta-page-loading-skeleton__filtros\">\n <header class=\"consulta-page-loading-skeleton__filtros-header\">\n <span class=\"consulta-page-loading-skeleton__chevron\" aria-hidden=\"true\"></span>\n <div class=\"consulta-page-loading-skeleton__filtros-titles\">\n <span class=\"consulta-page-loading-skeleton__filtros-title\">Filtros</span>\n <span class=\"consulta-page-loading-skeleton__filtros-subtitle\"></span>\n </div>\n </header>\n </section>\n\n @if (variant() === 'financeiro') {\n <app-form-row class=\"consulta-page-loading-skeleton__stats oficina-consulta-stats oficina-consulta-stats--3\" gap=\"sm\" align=\"stretch\" justify=\"start\">\n @for (slot of financeiroStatSlots; track slot) {\n <app-form-col [xs]=\"12\" [sm]=\"6\">\n <div class=\"consulta-page-loading-skeleton__stat-card\">\n <div class=\"consulta-page-loading-skeleton__stat-head\">\n <span class=\"consulta-page-loading-skeleton__stat-icon\"></span>\n <span class=\"consulta-page-loading-skeleton__stat-title\"></span>\n </div>\n <span class=\"consulta-page-loading-skeleton__stat-value\"></span>\n </div>\n </app-form-col>\n }\n </app-form-row>\n }\n\n <div class=\"consulta-page-loading-skeleton__grid-host\">\n @if (variant() === 'financeiro') {\n <app-skeleton-table\n class=\"consulta-page-loading-skeleton__grid\"\n chrome=\"financeiro\"\n [headerLabels]=\"financeiroGridHeaders\"\n [columnCount]=\"financeiroGridHeaders.length\"\n [rowCount]=\"8\"\n [showPager]=\"true\"\n [pagerChromeOnly]=\"true\"\n />\n } @else {\n <app-skeleton-table\n class=\"consulta-page-loading-skeleton__grid\"\n chrome=\"default\"\n [headerLabels]=\"metadataGridHeaders\"\n [columnCount]=\"metadataGridHeaders.length\"\n [rowCount]=\"8\"\n [showPager]=\"true\"\n [pagerChromeOnly]=\"true\"\n [showActionsColumn]=\"false\"\n />\n }\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}:host{display:flex;flex:1 1 0%;flex-direction:column;min-height:0;min-width:0;width:100%;height:100%;box-sizing:border-box}.consulta-page-loading-skeleton{display:flex;flex:1 1 0%;flex-direction:column;gap:var(--home-content-gutter, .35rem);min-height:0;min-width:0;width:100%;height:100%;box-sizing:border-box}.consulta-page-loading-skeleton__filtros{flex-shrink:0;border-radius:var(--app-radius-md, .5rem);border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-surface, #ffffff);overflow:hidden}.consulta-page-loading-skeleton__filtros-header{display:flex;align-items:center;gap:.5rem;min-height:var(--oficina-consulta-header-height, var(--app-header-height, 3.25rem));max-height:var(--oficina-consulta-header-height, var(--app-header-height, 3.25rem));padding:.5rem .65rem;box-sizing:border-box;overflow:hidden}.consulta-page-loading-skeleton__chevron{flex-shrink:0;width:.55rem;height:.55rem;border-right:2px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 55%,transparent);border-bottom:2px solid color-mix(in srgb,var(--app-color-text-secondary, #4a6682) 55%,transparent);transform:rotate(-45deg)}.consulta-page-loading-skeleton__filtros-titles{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;gap:.2rem;min-width:0}.consulta-page-loading-skeleton__filtros-title{font-size:.92rem;font-weight:600;line-height:1.25;color:var(--app-color-text-primary, #1a2f45)}.consulta-page-loading-skeleton__filtros-subtitle{display:block;width:42%;height:.62rem;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__filtros-subtitle:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats{flex-shrink:0;width:100%;min-width:0;margin:0;--oficina-consulta-stats-cols: 3}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats .form-row__grid{width:100%;min-width:0;gap:var(--oficina-consulta-panel-gap, .375rem)}@media(min-width:40rem){:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats .form-row__grid{display:grid;grid-template-columns:repeat(var(--oficina-consulta-stats-cols, 3),minmax(0,1fr))}:host ::ng-deep app-form-row.consulta-page-loading-skeleton__stats app-form-col{grid-column:span 1!important;width:100%;max-width:none}}.consulta-page-loading-skeleton__stat-card{display:flex;flex-direction:column;gap:.45rem;height:100%;min-height:5.5rem;padding:1rem 1.05rem;box-sizing:border-box;border-radius:10px;border:2px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--app-color-surface, #ffffff);box-shadow:0 1px 2px #0f172a0a}.consulta-page-loading-skeleton__stat-head{display:flex;align-items:flex-start;gap:.5rem}.consulta-page-loading-skeleton__stat-icon{flex-shrink:0;width:2rem;height:2rem;border-radius:8px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-icon:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__stat-title{flex:1 1 auto;height:1.11rem;min-width:0;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-title:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__stat-value{display:block;width:44%;height:1.74rem;border-radius:6px;position:relative;overflow:hidden;background:var(--app-color-skeleton-track, color-mix(in srgb, var(--app-color-text-primary) 7%, var(--app-color-surface-alt) 93%))}.consulta-page-loading-skeleton__stat-value:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-skeleton-shine, color-mix(in srgb, var(--app-color-text-primary) 14%, transparent)),transparent);animation:ui-skeleton-shimmer 1.35s ease-in-out infinite}.consulta-page-loading-skeleton__grid-host{display:flex;flex:1 1 0%;flex-direction:column;min-height:0;min-width:0;width:100%}.consulta-page-loading-skeleton__grid{flex:1 1 0%;min-height:0;width:100%}@media(max-width:767.98px){.consulta-page-loading-skeleton__filtros-header{min-height:auto;max-height:none;padding:.45rem .5rem .55rem}}\n"] }]
29254
29366
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
29255
29367
 
29256
29368
  function mapListarItensParaMultiselectOpcoes(itens, optionsValueField, optionsLabelField, optionsOnlyActive) {
@@ -47087,5 +47199,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
47087
47199
  * Generated bundle index. Do not edit.
47088
47200
  */
47089
47201
 
47090
- export { ADAPTIVE_DATA_VIEW_MOBILE_QUERY, APP_SIDEBAR_LABEL_REVEAL_LAG_MS, APP_SIDEBAR_LAYOUT_DURATION_MS, APP_SIDEBAR_NAV_REVEAL_TOTAL_MS, APP_THEME_BASE_CLASS, APP_THEME_IDS, ActionMenuComponent, AdaptiveDataViewComponent, AdminLoginPageComponent, AdminLoginShellComponent, StructraSidebarUserPanelComponent as AdminSidebarUserPanelComponent, AlertComponent, AnchoredOverlayComponent, AppBreadcrumbComponent, AppDialogComponent, AppLibLightBlockScrollStrategy, AppShellComponent, AppShellSidebarTemplateDirective, AppShellSidebarToggleComponent, AppSidebarBottomActionsSlotDirective, AppSidebarBottomActionsTemplateDirective, AppSidebarBrandDirective, AppSidebarComponent, AppSidebarFooterSlotDirective, AppSidebarFooterTemplateDirective, AppSidebarHeaderSlotDirective, AppSidebarHeaderTemplateDirective, AppSidebarToolbarDirective, AppSidebarUserInfoSlotDirective, AppSidebarUserInfoTemplateDirective, AppTheme, AppThemeService, AppTopbarComponent, AppUserMenuComponent, StructraAppVersionService as AppVersionService, BR_ESTADOS_NOME_SIGLA, ButtonType as BaseButtonType, ButtonVariant as BaseButtonVariant, BaseFieldComponent, BaseFieldDirective, BooleanFieldDirective, ButtonComponent, ButtonRadius, ButtonSize, ButtonType, ButtonVariant, CADASTRO_COLLAPSIBLE_REMOTE_LOAD_DELAY_MS, CADASTRO_DUPLICATE_FLAG_STATE, CADASTRO_DUPLICATE_SOURCE_ID_STATE, CADASTRO_FOCO_COLUNA_APOS_RESUMO_MS, CADASTRO_FORM_COLLECTION_REMOVE_ITEM_CONFIRM, CADASTRO_INVALIDATE_ROUTE_SNAPSHOT, CADASTRO_PAGE_SUBTITULO_PADRAO, CADASTRO_PAGE_TITULO_NOVO_PADRAO, CADASTRO_PESSOA_INLINE_DESTINO_URL_FRAGMENTS, CADASTRO_REFERENCIA_DIALOG_CONTEXT, CADASTRO_REFERENCIA_DIALOG_PAGE_CONFIG, CADASTRO_REFERENCIA_ROUTE_ACCESS, CADASTRO_REFERENCIA_ROUTE_ACCESS_PERMISSIVE, CADASTRO_RESUMO_FIELD_NAVIGATE_DEFER_MS, CADASTRO_TOAST_TITLE_PADRAO, CADASTRO_VALIDATION_SUMMARY_PINNED, CADASTRO_VALIDATION_SUMMARY_STATIC, CATEGORIAS_NAV_ID_EXCLUIDO, CATEGORIAS_NAV_LINHA_GRAVADA, CATEGORIAS_NAV_VOLTAR_SEM_RECARREGAR, CLIENTES_NAV_ID_EXCLUIDO, CLIENTES_NAV_LINHA_GRAVADA, CLIENTES_NAV_VOLTAR_SEM_RECARREGAR, CONSULTA_DATETIME_KEYS_ISO_PARA_FMT, CONSULTA_DOCUMENTO_GRID_KEYS_ISO_PARA_FMT, CONSULTA_FILTROS_SESSAO_USER, CONSULTA_GRID_OPTS_DATAS_PADRAO, CONSULTA_LISTA_CACHE_MAX_PAGINAS_DEFAULT, CONSULTA_LISTA_CACHE_NS_SEP, CONSULTA_LISTA_CACHE_TTL_MS_DEFAULT, CONSULTA_MOBILE_LAYOUT_MEDIA_QUERY, CONSULTA_MULTISELECT_LABEL_STUB, CONSULTA_OPTIONS_LISTAR_RESOLVER, CONSULTA_PEDIDOS_GRID_OPTS, CONSULTA_PHONE_GRID_KEYS_ISO_PARA_FMT, CONSULTA_PRESET_SELECT_EMPTY_OPTIONS_MESSAGE_DESKTOP, CONSULTA_PRESET_SELECT_EMPTY_OPTIONS_MESSAGE_MOBILE, CONSULTA_PRODUTOS_GRID_OPTS, CONSULTA_ROUTE_REUSE, CONSULTA_SERVIDOR_LISTA_QUERY_DEFAULTS, CONSULTA_TOPBAR_SLOT, CadastroBasePageComponent, CadastroCollectionGridColumnFormat, CadastroCollectionReferenciaHostService, CadastroCollectionRuntime, CadastroEnumOptionsRegistry, CadastroFieldRendererComponent, CadastroFieldRuntime, CadastroFieldsBaseComponent, CadastroFormDraftCacheService, CadastroFormLoadingSkeletonComponent, CadastroMetadataPageBase, CadastroMetadataPageComponent, CadastroMetadataPageServiceBase, CadastroMetadataPageShellLayoutComponent, CadastroMetadataPageStateBase, CadastroMetadataShellPageComponent, CadastroPadraoPageBase, CadastroReferenceRegistry, CadastroReferenciaDialogBridgeRegistry, CadastroReferenciaDialogHostComponent, CadastroReferenciaDialogService, CadastroReferenciaOpenMode, CadastroRuntime, CadastroRuntimeRegistry, CadastroSectionPanelLayout, CardListComponent, CepFieldComponent, CheckboxFieldComponent, ColorPickerFieldComponent, ComponentType, ConfirmDialogComponent, ConfirmDialogService, ConsoleLogComponent, ConsultaBasePageComponent, ConsultaCadastroFiltroDialogComponent, ConsultaCardCampoPapel, ConsultaCardFieldFormat, ConsultaCatalogBundleHelper, ConsultaFiltroPresetToolbarComponent, ConsultaFiltrosSessaoService, ConsultaGridColumnFormat, ConsultaGridOrderDirection, ConsultaListaMemoriaCacheService, ConsultaPadraoPageBase, ConsultaPageCache, ConsultaPageLoadingSkeletonComponent, ContainerLayoutSize, ContextMenuComponent, CpfCnpjFieldComponent, DEFAULT_STRUCTRA_APP_VERSION_API_PATH, DEFAULT_STRUCTRA_APP_VERSION_FALLBACK, DEFAULT_STRUCTRA_COOKIE_NOTICE_ACCEPT_LABEL, DEFAULT_STRUCTRA_COOKIE_NOTICE_DESCRIPTION, DEFAULT_STRUCTRA_COOKIE_NOTICE_STORAGE_KEY, DEFAULT_STRUCTRA_COOKIE_NOTICE_TITLE, DEFAULT_STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, DEFAULT_STRUCTRA_SHELL_SIDEBAR_COLLAPSED_STORAGE_KEY, DROPDOWN_SEARCH_LOCAL_PAGE_SIZE, DashboardSectionComponent, DataCardComponent, DataGridComponent, DataListComponent, DataToolbarComponent, DateFieldComponent, DecimalFieldComponent, DetailsFieldComponent, DetailsViewComponent, DialogFooterDirective, DividerComponent, DrawerComponent, DrawerSide, DrawerSize, DropdownBaseComponent, DropdownMenuComponent, DropdownMultiOptionFieldBase, DropdownOptionFieldBase, DropdownSearchFieldComponent, ENM_STATUS_OPCOES_SELECT, EmptyStateComponent, EnmStatus, FIELD_MOBILE_LAYOUT_QUERY, FILE_PREVIEW_UNAVAILABLE_MESSAGE, FORM_CONTAINER_STATE_STORAGE_PREFIX, FORNECEDORES_NAV_ID_EXCLUIDO, FORNECEDORES_NAV_LINHA_GRAVADA, FORNECEDORES_NAV_VOLTAR_SEM_RECARREGAR, FieldCadastroRedirectButtonComponent, FileUploadFieldComponent, FileUploadType, FormActionsAlign, FormActionsComponent, FormColComponent, FormCollectionComponent, FormCollectionLayout, FormGroupComponent, FormGroupVariant, FormLayoutGap, FormRowAlign, FormRowComponent, FormRowJustify, FormSectionAlign, FormSectionComponent, FormSectionRadius, FormSectionVariant, FormTabComponent, FormTabsComponent, GridLayoutConsultaService, ImagePreviewPanelComponent, InputMaskFieldComponent, IntegerFieldComponent, LAYOUT_STACK_SIDE_BY_SIDE, LAYOUT_STACK_STACKED, LayoutStackAlign, LayoutStackComponent, LayoutStackDirection, LayoutStackItemAlign, LibDialogSize, ListItemComponent, LoadingDialogComponent, LoadingDialogService, MaskedTextFieldBase, MenuDividerComponent, MenuDropdownPlacement, MenuGroupComponent, MenuListComponent, MultiselectFieldComponent, NO_OP_CONSULTA_ROUTE_REUSE, NO_OP_CONSULTA_TOPBAR_SLOT, NgControlFieldDirective, OPS_BOOL, OPS_DATA, OPS_TEXTO, OPS_TEXTO_MULTISELECT, ORIGEM_CADASTRO_INLINE_PESSOA, OnboardingChecklistComponent, OverlayPlacement, PDF_IFRAME_VIEWER_HASH, PEDIDOS_NAV_ID_EXCLUIDO, PEDIDOS_NAV_LINHA_GRAVADA, PEDIDOS_NAV_VOLTAR_SEM_RECARREGAR, PERMISSION_GROUP_OUTROS_KEY, PERMISSION_GROUP_OUTROS_LABEL, PERMISSION_GROUP_OUTROS_ORDER, PESSOAS_NAV_LINHA_GRAVADA, PESSOAS_NAV_VOLTAR_SEM_RECARREGAR, PHONE_BR_LANDLINE_MASK, PHONE_BR_MOBILE_MASK, PRODUTOS_NAV_ID_EXCLUIDO, PRODUTOS_NAV_LINHA_GRAVADA, PRODUTOS_NAV_VOLTAR_SEM_RECARREGAR, StructraPageFooterComponent as PageFooterComponent, PasswordFieldComponent, PermissionGroupTabComponent, PermissionGroupTabsComponent, PhoneFieldComponent, PopoverBodyTemplateDirective, PopoverComponent, PopoverFooterTemplateDirective, PopoverTriggerDirective, ReferenceOptionPreset, STRUCTRA_ADMIN_ROUTE_REDIRECT_CACHE_PREFIX, STRUCTRA_ADMIN_ROUTE_REDIRECT_LOGIN_ID_CACHE_KEY, STRUCTRA_APP_VERSION_CONFIG, STRUCTRA_CADASTRO_INLINE_RESULT_KEY, STRUCTRA_CADASTRO_INLINE_RETURN_KEY, STRUCTRA_CONSULTA_FORCE_REFRESH_KEY, STRUCTRA_CONSULTA_GRID_STATE_SESSION_RESET, STRUCTRA_CONSULTA_GRID_STATE_TENANT_RESOLVER, STRUCTRA_CONSULTA_GRID_STATE_TTL_MS_DEFAULT, STRUCTRA_COOKIE_NOTICE_CONFIG, STRUCTRA_DEDICATED_BACK_TO_TOP_SELECTOR, STRUCTRA_GRID_LAYOUT_API_BASE_RESOLVER, STRUCTRA_GRID_LAYOUT_AUTH_HEADERS_RESOLVER, STRUCTRA_GRID_LAYOUT_TENANT_RESOLVER, STRUCTRA_INLINE_FORM_DRAFT_PENDING_PREFIX, STRUCTRA_KANBAN_DESKTOP_MIN_WIDTH, STRUCTRA_KANBAN_MOBILE_DRAG_LONG_PRESS_MS, STRUCTRA_KANBAN_MOBILE_DRAG_START_DELAY, STRUCTRA_KANBAN_MOBILE_MAX_WIDTH, STRUCTRA_KANBAN_SCROLL_BOARD_KEY, STRUCTRA_KANBAN_SCROLL_STATUS_TABS_KEY, STRUCTRA_MIDIA_PUBLIC_BASE_RESOLVER, STRUCTRA_MIDIA_UPLOAD_TRANSPORT, STRUCTRA_PAGE_CACHE_SCOPE_SEP, STRUCTRA_PAGE_FOOTER_CONFIG, STRUCTRA_PAGE_FOOTER_PARTS, STRUCTRA_PAGE_STATE_ACTIVE_TAB_PREFIX, STRUCTRA_REPORT_DEFAULT_PAGE_SIZE, STRUCTRA_REPORT_TRANSPORT, STRUCTRA_SCROLL_SESSION_RESET, STRUCTRA_SCROLL_TENANT_RESOLVER, STRUCTRA_SHELL_NAV_CONTENT_READY, STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, STRUCTRA_SHELL_TOPBAR_TITLE_SKELETON, STRUCTRA_SIMULATED_LOADING_DELAY_MS, STRUCTRA_THEME_DARK_CLASS, STRUCTRA_THEME_IDS, STRUCTRA_UI, ScriptEditorFieldComponent, SelectFieldComponent, SkeletonBlockComponent, SkeletonCardComponent, SkeletonFieldShellComponent, SkeletonListComponent, SkeletonStatCardComponent, SkeletonTableComponent, SkeletonTextComponent, StatCardComponent, StatusBadgeComponent, StructraAdminRouteRedirectPageBase, StructraAppVersionService, StructraBackToTopButtonComponent, StructraConsultaGridStateService, StructraCookieNoticeComponent, StructraCookieNoticeService, StructraKanbanDragAutoScrollController, StructraKanbanMobileBoardPanController, StructraPageCacheService, StructraPageComponentOutletComponent, StructraPageComponentRegistry, StructraPageFooterComponent, StructraPageStateCacheService, StructraPreserveScrollDirective, StructraProgressOverlayComponent, StructraReportEmptyStateComponent, StructraReportFilterPanelComponent, StructraReportLoadingSkeletonComponent, StructraReportPageBaseComponent, StructraReportPageComponent, StructraReportPaginatorComponent, StructraReportPreviewHeaderComponent, StructraReportTableComponent, StructraReportTreeCacheService, StructraReportTreeComponent, StructraReportTreeSkeletonComponent, StructraReportViewerComponent, ScriptEditorFieldComponent as StructraScriptEditorComponent, StructraScrollStateService, StructraShellScrollRestorationService, StructraShellTopbarSlotService, AppSidebarBottomActionsTemplateDirective as StructraSidebarBottomActionsDirective, AppSidebarFooterTemplateDirective as StructraSidebarFooterDirective, AppSidebarHeaderTemplateDirective as StructraSidebarHeaderDirective, AppSidebarUserInfoTemplateDirective as StructraSidebarUserInfoDirective, StructraSidebarUserPanelComponent, StructraTreeExpandStateService, SwitchFieldComponent, THEME_PRIMARY_COLOR_LABEL_PT_BR, TOAST_REGISTRO_EXCLUIDO_SUCESSO, TableEmptyStateComponent, TableToolbarComponent, TextFieldComponent, TextareaFieldComponent, ThemeDirective, ToastHostComponent, ToastService, TooltipComponent, TooltipPanelTemplateDirective, TreeViewComponent, USUARIOS_CONSULTA_GRID_OPTS, USUARIOS_NAV_ID_EXCLUIDO, USUARIOS_NAV_LINHA_GRAVADA, USUARIOS_NAV_VOLTAR_SEM_RECARREGAR, VENDEDORES_NAV_ID_EXCLUIDO, VENDEDORES_NAV_LINHA_GRAVADA, VENDEDORES_NAV_VOLTAR_SEM_RECARREGAR, ValidationSummaryComponent, agruparCamposMetadataPorSecao, agruparPermissionTabs, anchoredOverlayPositions, aplicarNormalizacaoMultiselectIdsNoPartial, aplicarProdutoDtoNoFormulario, appendCadastroPageActiveTabQuery, appendPdfIframeViewerParams, applyCadastroCollectionArrayValidators, applyCadastroModoSenhaNovos, applyCollectionValidationSummaryNavigation, applyCollectionValueToFormArray, applyConsultaListaPatch, applyEntityToCadastroFormByMetadata, applyOptionalThemeHostClasses, applyPickedCalendarDate, attachStructraScrollPreserve, buildCadastroFiltroDialogItensGridRows, buildCadastroMetadataShellRuntime, buildCadastroPageActiveTabPageKey, buildCadastroPageActiveTabPageKeyFromLayout, buildCadastroPageRuntime, buildCadastroRedirectReturnUrl, buildCadastroReferenciaDialogContext, buildCardNavigateActionsFromGridColumns, buildCatalogoStubConsultaRuntime, buildConsultaConfirmDuplicarLinhaFromLayout, buildConsultaConfirmRemoverLinhaFromLayout, buildConsultaDefaultIsItemGuard, buildConsultaGridStateSessionKey, buildConsultaListaCacheKey, buildConsultaPageMetadataUnified, buildConsultaPageRuntime, buildDecimalBrDisplay, buildDecimalBrParseString, buildDefaultConsultaMapCardFromColunasGrid, buildEmptyStateOverlayHtml, buildFormContainerStateStorageKey, buildFormGroupFromCadastroCampos, buildGridNavigateUrl, buildHistoryStateAfterReturningFromNestedInlineChild, buildInlineReturnStateForChildCadastro, buildNovoFormDefaultsFromCampos, buildReportRowCardMap, buildRouteReuseKeyFromAppPathname, buildRouteReuseKeyFromNovoRouterLink, buildStructraAdminRouteRedirectCacheKey, buildStructraAdminRouteRedirectChildUrl, buildStructraPageCacheCadastroInitKey, buildStructraPageCacheRouteScope, buildStructraPageFooterParts, buildStructraSidebarTemplateContext, buildValidationMetaFromCadastroCampos, cadastroBuildImageUploadMetadata, cadastroCampoBlocoEditorOcupaLinhaInteira, cadastroCampoBooleanOcupaLinhaInteira, cadastroCampoMetadataDtoFromPartial, cadastroCampoMetadataEhBoolean, cadastroCampoMetadataLarguraCompacta, cadastroCampoMetadataLarguraFixaCss, cadastroCampoReferenciaMetadataDtoFromPartial, cadastroCampoRuleMaxLength, cadastroCampoScriptEditorLanguage, cadastroCampoScriptEditorMinHeight, cadastroCampoValidacaoDtoFromPartial, cadastroCampoWrapperWidthCss, cadastroCollectionEditorGridColumns, cadastroCollectionMaxItemsValidator, cadastroCollectionMinItemsValidator, cadastroConfirmExcluirPartialFromLayout, cadastroContainerLayoutSizeDoRecord, cadastroContainerPathJoin, cadastroCrudMessagesDoFormLayout, cadastroDeclarativeSnapshotDtoFromPartial, cadastroEnsureSingleBooleanInCollection, cadastroFieldsPerRowDoRecord, cadastroFlattenContainerRaw, cadastroFormDraftEnabledDoLayout, cadastroFormGridColumns, cadastroFormLayoutComoRecord, cadastroFormLayoutDoBundle, cadastroFormLayoutDoRuntime, cadastroFormLayoutPreserveActiveTab, cadastroFormPageLayoutFromPartial, cadastroGcd, cadastroGetCollectionItemControl, cadastroGridColumnSpanForFieldIndex, cadastroGridDenominadorTracks, cadastroGridTemplateColumnsLinhaUnicaSeAplicavel, cadastroInferExtensaoArquivo, cadastroInferImageContentType, cadastroLcm, cadastroMetadataDtoParaValidacaoLike, cadastroNavKeysStructra, cadastroNomeArquivoDaUploadUrl, cadastroNormalizarUploadUrlPorPrefixo, cadastroPageActionDtoFromPartial, cadastroPageActionsPorRegiao, cadastroPageActiveTabToRestore, cadastroPageComponentDtoFromPartial, cadastroPageComponentsPorRegiao, cadastroPageIdentityDoFormLayout, cadastroPageOverlayDtoFromPartial, cadastroPageShellAtivo, cadastroPageShellTabsKeepAliveFromLayout, cadastroPageTabDtoFromPartial, cadastroPageTabsOrdenados, cadastroPainelMaxWidthCss, cadastroRawBooleanDeep, cadastroRawNumber, cadastroRawString, cadastroReferenceEntryFromListarService, cadastroReferenciaOpenModeFromWire, cadastroReindexarCollectionOrdem, cadastroResolveId, cadastroSecaoFormGroupDense, cadastroSecaoPersisteExpandedState, cadastroSecaoRenderizaInlineDentroDoPai, cadastroSecaoSegmentosIntercalados, cadastroSecaoSegmentosParaRender, cadastroSecaoUsaFormGroup, cadastroSecaoUsaFormGroupComoBlocoVisual, cadastroSecaoUsaSuperficieDeclarativa, cadastroSingleBooleanCollectionBinding, cadastroTitulosEfectivosDoFormLayout, cadastroToastTitleEfectivoDoFormLayout, cadastroToolbarButtonDtoFromPartial, cadastroToolbarVisibilityDoFormLayout, cadastroUseBackToTopButtonFromLayout, cadastroValidationSummaryFlagsDoRecord, cadastroValidationSummaryPinnedFromFlags, cadastroWireCollectionOrdemReindexOnAdd, cadastroWireCollectionOrdemReindexOnAddRemove, cadastroWireCollectionOrdemReindexOnRemove, campoMetadataVisivelNoModo, caretIndexFromIntegerDigitCount, caretIndexFromSemantic, carregarOpcoesMultiselectViaSpec, cepMaskCompleteValidator, clearRequiredValidatorsOnReadOnlyCadastroFields, clearStructraCadastroInlineReturnSessionCacheForTests, clearStructraCadastroSessionStorageOnLogout, coerceDecimalPtBr, coerceReportBoolean, collectValidationSummaryItems, colunasGridTemFormatacaoDeclarativa, computeReferenciaHasMore, consoleLogLevelClass, consultaCadastroPatchKindFromModo, consultaCampoMetadataDtoFromPartial, consultaCardCampoDtoFromPartial, consultaFiltroValorDataSomenteDia, consultaGridColunaDtoFromPartial, consultaGridColunaKeyParaCampoLinha, consultaGridConfigDtoFromPartial, consultaNavKeysStructra, consultaPassaItem, consultaPassaTodosItens, consultaUsuariosMetadataReplyFromPartial, consumeCadastroInlineFormDraftPendingRestore, consumeConsultaPendingGridReturn, consumeGridReturnVoltarKeyForUrl, consumirResultadoCadastroInlineCampoPessoaId, consumirResultadoCadastroInlineCampoReferencia, cpfCnpjMaskCompleteValidator, createCadastroDialogActivatedRoute, createCadastroMetadataPageConfig, createCadastroPadraoConfig, createCadastroRuntime, createCollectionFormArray, createCollectionItemFormGroup, createConsultaListaItemGuardFromFiltroUi, createConsultaOptionsListarResolver, createConsultaPadraoRuntime, createConsultaPresetSelectEmptyOptionsMessageSignal, createConsultaPresetStorageApi, createGrpcSaveRequestMapper, createInlineHostNavigation, createMapCardFromConsultaColunasGrid, createMapGridRowFromConsultaColunasGrid, createSaveRequestFromPartialMapper, criarDraftInlinePessoa, decimalPtBrNaoNegativoValidator, decimalPtBrToNullableNumber, dedupeUiSelectOptionsByValue, defaultIsConsultaListItemMinimo, defaultParseLinhaGravadaJson, deleteConfirmPageConfigFromPartial, deriveCadastroTituloEditar, deriveConsultaListaItemGuardPropsFromFiltroUi, duplicateConfigFromLayout, duplicatePageConfigFromPartial, enrichCadastroReferenciaDialogPageConfig, enrichConsultaMapCardWithGridNavigate, ensureCadastroCollectionMinItems, ensureCadastroFormControlsFromMetadata, escapeHtml, evaluateStructraPageVisibleExpression, executarConsultaServidorComPreset, extractConsultaListaCacheNamespace, extractDecimalBrParts, fileIsLikelyImage, fileMatchesAccept, filtrarSecoesMetadataPorModo, filtrarUiSelectOptionsPainelComValorPersistente, filtrarUiSelectOptionsPorQuery, findCadastroCampoByKey, findFirstReportLeafId, findReportTreeLabel, fixedDigitsMaskCompleteValidator, flattenCadastroMetadataSecoes, fmtDataPt, fmtDocumentoCelulaConsultaGrid, formatAcceptForDisplay, formatDateTimePtBr, formatDecimalBr, formatDocumentoPessoaParaExibicao, formatFileSizeBytes, formatIntegerThousandsBr, formatMaskDigits, formatPhoneBr, formatReportPreviewTitulo, formatUiFieldDateValue, getFilePreviewKind, getStructraActionsByGroup, getThemeClass, getThemeClassList, getThemePrimaryColorLabelPtBr, getThemeTokenClass, gridNavigateIconClass, hexParaColorInput, inferCadastroItemFieldsFromPlainRows, inferCadastroListaUrlFallback, initialCadastroControlValue, injectEffectiveThemeId, isCadastroDuplicateNavigation, isCollectionField, isCollectionLikeField, isConsultaCardAutoSubtitleExcluded, isLegacyDarkThemeId, isLegacyFormContainerStateStorageKey, isLegacyNomeDocumentoReferencePreset, isReadonlyCollectionField, isReportBooleanColumn, isReportGroupNode, isReportNowrapColumn, isStructraKanbanMobileSnapBoard, isValidPhoneBr, libDialogPanelClasses, listaUrlFromRotaCadastro, listarItensCadastroReferencia, listarTodosPaginado, loadPresetsJson, loadStructraAdminRouteRedirectTarget, mapCadastroFormRawToPayload, mapConsultaGridColunasParaDataGrid, mapConsultaMetadataParaFiltroUi, mapErroTransporteParaMensagem as mapErroListaDefault, mapErroTransporteParaMensagem, mapEstadosToOptions, mapFiltroSalvoParaConsultaPreset, mapGridNavigateFromColuna, mapListarItensParaMultiselectOpcoes, mapReportTreeToTreeViewNodes, mapReportTreeToTreeViewNodesForSelection, markCadastroInlineFormDraftPendingRestore, markConsultaPendingGridReturn, maskDigitCount, mergeCadastroConfirmExcluir, mergeCardNavigateActions, mergeConsultaGridRowFormattingFromColunasGrid, mergeConsultaMultiselectOpcoesComSeleccionados, mergeDocumentoFmtNaLinhaConsulta, mergeMapConsultaGridColunasOptsComColumnFormat, mergeNovoIdEmListaSelecionada, mergeStructraShellScrollRestorationOptions, metadataCampoParaChaveLinhaCliente, modoPermissaoReferenciaFromWire, montarFiltrosGrpcPreset, montarFiltrosServidorPreset, montarHierarquiaSecoesMetadata, multiselectIdListRequiredValidator, multiselectMaxItemsValidator, navegarAposLoginAdmin, navegarVoltarLista, navegarVoltarListaComIdRemovido, navegarVoltarListaComLinha, navigateCadastroDuplicate, navigateCommandsFromRotaAlterar, navigateCommandsFromRotaNovo, navigateFromGrid, nomeSalvarParaPayloadComPessoa, normalizarArvoreSecoesMetadata, normalizarCaminhoLoginAdmin, normalizarHexCor, normalizarItensParaGravarServidorCadastro, normalizarListaIdsMultiselect, normalizarOperadorConsultaParaEnvioServidor, normalizarRotaReferencia, normalizarStructraAction, normalizarStructraActionGroup, normalizarStructraActionGroups, normalizeCadastroAppPath, normalizeCadastroCampoMetadataWire, normalizeCadastroInitRouteIdParam, normalizeCadastroItemEditorDecimalControls, normalizeCadastroReferenciaDialogRotaKey, normalizeCadastroRouteForContainerState, normalizeConsoleLogLevel, normalizeFormDateValue, normalizePhoneBr, normalizeStructraAdminPath, normalizeStructraKanbanBoardScrollAfterRestore, normalizeStructraScrollRoute, normalizeStructraTheme, novoPathCommandsFromRota, onlyDigits, operadorConsultaComValorUnicoComparacao, operadorConsultaDatetimeUsaDatePicker, operadoresConsultaCampo, operadoresPorTipo, ordenarFiltroItens, ordenarStructraActions, parseDecimalBr, parseIntegerString, parseUiFieldDateValue, patchFormFromEntidadeRecord, permissionTabsUsamGruposVerticais, permissoesReferenciaMetadata, persistStructraCookieNoticeAccepted, persistStructraShellSidebarCollapsed, phoneBrDynamicMaskCompleteValidator, phoneBrMaskCompleteValidator, phoneBrMaskFromDigits, pickCadastroPageActiveTabExplicit, pickTabKeyLinkedToSummaryItems, podeNavegarGridColuna, precisaValor, precisaValorFinal, provideAppPageFooter, provideAppVersion, provideStructraAppVersion, provideStructraCadastroReferenciaDialogRoot, provideStructraConsultaGridState, provideStructraCookieNotice, provideStructraPageFooter, provideStructraScrollState, provideStructraShellScrollRestoration, provideStructraTreeExpandState, qtdCriteriosPresetParaSkeleton, readCadastroDuplicateSourceId, readCadastroPageActiveTabFromNavigationState, readCadastroPageActiveTabFromUrl, readFormContainerCollapsedFromStorage, readStructraAdminRouteRedirectTarget, readStructraCadastroInlineReturn, readStructraShellSidebarCollapsed, referenciaAbreEmDialog, referenciaOpenModeRaw, referenciaUsesLegacyRegistryMapper, registerCadastroReferenceEntries, registerCadastroReferenceListSources, registerCadastroReferenciaDialogBridges, registerStructraBuiltinPageComponents, replaceProdutoCadastroFormControls, reportColumnWidthStyle, reportExistsInTree, reportTableHasFixedWidths, resetStructraCadastroReferenciaDialogRootForTests, resolveCadastroCollectionMinItems, resolveCadastroListaUrlParaNavegacao, resolveCadastroPageActiveTabKey, resolveCadastroReferenciaMapOptions, resolveConsultaEditActionLabelFromGridConfig, resolveConsultaListaQuerySliceFromGridConfig, resolveConsultaNavKeysFromPageLayout, resolveConsultaNovoRouterLinkFromLayout, resolveConsultaRouteEditBaseFromLayout, resolveConsultaToastTitleLista, resolveControlAtPath, resolveFormContainerCollapsed, resolveInitialReportId, resolveReferenciaOpcaoLabel, resolveReportPreviewSubtitulo, resolveStructraAdminMenuUrl, resolveStructraAppVersionConfig, resolveStructraCookieNoticeConfig, resolveStructraPageCacheCadastroScope, resolveStructraPageInputExpression, resolveStructraPageInputs, resolveStructraShellScrollContainer, resolverAcoesReferenciaPorRota, resolverValorOpcaoPorRotuloNormalizado, resumoValorMultiselectFiltro, rotaListaReferencia, rotuloEnmStatus, rotuloNomeDocumentoLista, rotuloOperadorConsulta, rotuloPessoaLista, runStructraSimulatedLoadingDelay, sanitizeDecimalBrInput, sanitizeIntegerDigits, sanitizeRecordForCadastroDuplicate, savePresetsJson, scheduleRemoteCollectionHydrationAfterSectionExpand, secaoMetadataEhContainerPlain, secaoTemConteudoVisivel, secaoTemCorpoParaRender, sectionHasVisibleInvalid, semanticCaretAt, semanticIntegerDigitCountLeft, serializeCollectionFormArray, shouldDeferInitialRemoteCollectionLoad, shouldSkipCadastroPageActiveTabCacheWrite, shouldSkipStructraAdminMenuNavigation, shouldStructraKanbanScrollToColumnAfterMobileMove, snapStructraKanbanMobileBoard, stripStructraCadastroInlineResultFromHistory, stripToDigits, structraActionButtonVariant, structraCadastroInlineResultTemIdSalvo, structraCadastroInlineResultTemReferenciaExcluida, structraCookieNoticeWasAccepted, structraElementScrolls, structraHasValue, structraIsFilledString, structraIsFormGroup, structraIsValidPort, structraKanbanBoardScrollContainerKey, structraKanbanColScrollKey, structraKanbanPreserveScrollDuring, structraParseNumberOrNull, structraReadFormValue, structraReadNestedValue, structraTrimString, subscribeMarkForCheckOnInvalidUiRefresh, subtreeHasVisibleInvalid, syncStructraCadastroInlineReturnSessionCache, tabWarningFromLinkedSummaryItems, tipoCampoMetadataParaUi, tipoValorApi, toCadastroReferenceListPageResult, toConsoleLogLineView, toConsoleLogLineViews, toUiSelectOptionsFromMetadata, uiSelectOpcaoIdNomeDocumento, uiSelectOpcoesDePessoas, validationLikeFromCampoMetadata, validatorsFromCampo, writeFormContainerCollapsedToStorage };
47202
+ export { ADAPTIVE_DATA_VIEW_MOBILE_QUERY, APP_SIDEBAR_LABEL_REVEAL_LAG_MS, APP_SIDEBAR_LAYOUT_DURATION_MS, APP_SIDEBAR_NAV_REVEAL_TOTAL_MS, APP_THEME_BASE_CLASS, APP_THEME_IDS, ActionMenuComponent, AdaptiveDataViewComponent, AdminLoginPageComponent, AdminLoginShellComponent, StructraSidebarUserPanelComponent as AdminSidebarUserPanelComponent, AlertComponent, AnchoredOverlayComponent, AppBreadcrumbComponent, AppDialogComponent, AppLibLightBlockScrollStrategy, AppShellComponent, AppShellSidebarTemplateDirective, AppShellSidebarToggleComponent, AppSidebarBottomActionsSlotDirective, AppSidebarBottomActionsTemplateDirective, AppSidebarBrandDirective, AppSidebarComponent, AppSidebarFooterSlotDirective, AppSidebarFooterTemplateDirective, AppSidebarHeaderSlotDirective, AppSidebarHeaderTemplateDirective, AppSidebarToolbarDirective, AppSidebarUserInfoSlotDirective, AppSidebarUserInfoTemplateDirective, AppTheme, AppThemeService, AppTopbarComponent, AppUserMenuComponent, StructraAppVersionService as AppVersionService, BR_ESTADOS_NOME_SIGLA, ButtonType as BaseButtonType, ButtonVariant as BaseButtonVariant, BaseFieldComponent, BaseFieldDirective, BooleanFieldDirective, ButtonComponent, ButtonRadius, ButtonSize, ButtonType, ButtonVariant, CADASTRO_COLLAPSIBLE_REMOTE_LOAD_DELAY_MS, CADASTRO_DUPLICATE_FLAG_STATE, CADASTRO_DUPLICATE_SOURCE_ID_STATE, CADASTRO_FOCO_COLUNA_APOS_RESUMO_MS, CADASTRO_FORM_COLLECTION_REMOVE_ITEM_CONFIRM, CADASTRO_INVALIDATE_ROUTE_SNAPSHOT, CADASTRO_PAGE_SUBTITULO_PADRAO, CADASTRO_PAGE_TITULO_NOVO_PADRAO, CADASTRO_PESSOA_INLINE_DESTINO_URL_FRAGMENTS, CADASTRO_REFERENCIA_DIALOG_CONTEXT, CADASTRO_REFERENCIA_DIALOG_PAGE_CONFIG, CADASTRO_REFERENCIA_ROUTE_ACCESS, CADASTRO_REFERENCIA_ROUTE_ACCESS_PERMISSIVE, CADASTRO_RESUMO_FIELD_NAVIGATE_DEFER_MS, CADASTRO_TOAST_TITLE_PADRAO, CADASTRO_VALIDATION_SUMMARY_PINNED, CADASTRO_VALIDATION_SUMMARY_STATIC, CATEGORIAS_NAV_ID_EXCLUIDO, CATEGORIAS_NAV_LINHA_GRAVADA, CATEGORIAS_NAV_VOLTAR_SEM_RECARREGAR, CLIENTES_NAV_ID_EXCLUIDO, CLIENTES_NAV_LINHA_GRAVADA, CLIENTES_NAV_VOLTAR_SEM_RECARREGAR, CONSULTA_DATETIME_KEYS_ISO_PARA_FMT, CONSULTA_DOCUMENTO_GRID_KEYS_ISO_PARA_FMT, CONSULTA_FILTROS_SESSAO_USER, CONSULTA_GRID_OPTS_DATAS_PADRAO, CONSULTA_LISTA_CACHE_MAX_PAGINAS_DEFAULT, CONSULTA_LISTA_CACHE_NS_SEP, CONSULTA_LISTA_CACHE_TTL_MS_DEFAULT, CONSULTA_MOBILE_LAYOUT_MEDIA_QUERY, CONSULTA_MULTISELECT_LABEL_STUB, CONSULTA_OPTIONS_LISTAR_RESOLVER, CONSULTA_PEDIDOS_GRID_OPTS, CONSULTA_PHONE_GRID_KEYS_ISO_PARA_FMT, CONSULTA_PRESET_SELECT_EMPTY_OPTIONS_MESSAGE_DESKTOP, CONSULTA_PRESET_SELECT_EMPTY_OPTIONS_MESSAGE_MOBILE, CONSULTA_PRODUTOS_GRID_OPTS, CONSULTA_ROUTE_REUSE, CONSULTA_SERVIDOR_LISTA_QUERY_DEFAULTS, CONSULTA_TOPBAR_SLOT, CadastroBasePageComponent, CadastroCollectionGridColumnFormat, CadastroCollectionReferenciaHostService, CadastroCollectionRuntime, CadastroEnumOptionsRegistry, CadastroFieldRendererComponent, CadastroFieldRuntime, CadastroFieldsBaseComponent, CadastroFormDraftCacheService, CadastroFormLoadingSkeletonComponent, CadastroMetadataPageBase, CadastroMetadataPageComponent, CadastroMetadataPageServiceBase, CadastroMetadataPageShellLayoutComponent, CadastroMetadataPageStateBase, CadastroMetadataShellPageComponent, CadastroPadraoPageBase, CadastroReferenceRegistry, CadastroReferenciaDialogBridgeRegistry, CadastroReferenciaDialogHostComponent, CadastroReferenciaDialogService, CadastroReferenciaOpenMode, CadastroRuntime, CadastroRuntimeRegistry, CadastroSectionPanelLayout, CardListComponent, CepFieldComponent, CheckboxFieldComponent, ColorPickerFieldComponent, ComponentType, ConfirmDialogComponent, ConfirmDialogService, ConsoleLogComponent, ConsultaBasePageComponent, ConsultaCadastroFiltroDialogComponent, ConsultaCardCampoPapel, ConsultaCardFieldFormat, ConsultaCatalogBundleHelper, ConsultaFiltroPresetToolbarComponent, ConsultaFiltrosSessaoService, ConsultaGridColumnFormat, ConsultaGridOrderDirection, ConsultaListaMemoriaCacheService, ConsultaPadraoPageBase, ConsultaPageCache, ConsultaPageLoadingSkeletonComponent, ContainerLayoutSize, ContextMenuComponent, CpfCnpjFieldComponent, DEFAULT_STRUCTRA_APP_VERSION_API_PATH, DEFAULT_STRUCTRA_APP_VERSION_FALLBACK, DEFAULT_STRUCTRA_COOKIE_NOTICE_ACCEPT_LABEL, DEFAULT_STRUCTRA_COOKIE_NOTICE_DESCRIPTION, DEFAULT_STRUCTRA_COOKIE_NOTICE_STORAGE_KEY, DEFAULT_STRUCTRA_COOKIE_NOTICE_TITLE, DEFAULT_STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, DEFAULT_STRUCTRA_SHELL_SIDEBAR_COLLAPSED_STORAGE_KEY, DROPDOWN_SEARCH_LOCAL_PAGE_SIZE, DashboardSectionComponent, DataCardComponent, DataGridComponent, DataListComponent, DataToolbarComponent, DateFieldComponent, DecimalFieldComponent, DetailsFieldComponent, DetailsViewComponent, DialogFooterDirective, DividerComponent, DrawerComponent, DrawerSide, DrawerSize, DropdownBaseComponent, DropdownMenuComponent, DropdownMultiOptionFieldBase, DropdownOptionFieldBase, DropdownSearchFieldComponent, ENM_STATUS_OPCOES_SELECT, EmptyStateComponent, EnmStatus, FIELD_MOBILE_LAYOUT_QUERY, FILE_PREVIEW_UNAVAILABLE_MESSAGE, FORM_CONTAINER_STATE_STORAGE_PREFIX, FORNECEDORES_NAV_ID_EXCLUIDO, FORNECEDORES_NAV_LINHA_GRAVADA, FORNECEDORES_NAV_VOLTAR_SEM_RECARREGAR, FieldCadastroRedirectButtonComponent, FileUploadFieldComponent, FileUploadType, FormActionsAlign, FormActionsComponent, FormColComponent, FormCollectionComponent, FormCollectionLayout, FormGroupComponent, FormGroupVariant, FormLayoutGap, FormRowAlign, FormRowComponent, FormRowJustify, FormSectionAlign, FormSectionComponent, FormSectionRadius, FormSectionVariant, FormTabComponent, FormTabsComponent, GridLayoutConsultaService, ImagePreviewPanelComponent, InputMaskFieldComponent, IntegerFieldComponent, LAYOUT_STACK_SIDE_BY_SIDE, LAYOUT_STACK_STACKED, LayoutStackAlign, LayoutStackComponent, LayoutStackDirection, LayoutStackItemAlign, LibDialogSize, ListItemComponent, LoadingDialogComponent, LoadingDialogService, MaskedTextFieldBase, MenuDividerComponent, MenuDropdownPlacement, MenuGroupComponent, MenuListComponent, MultiselectFieldComponent, NO_OP_CONSULTA_ROUTE_REUSE, NO_OP_CONSULTA_TOPBAR_SLOT, NgControlFieldDirective, OPS_BOOL, OPS_DATA, OPS_TEXTO, OPS_TEXTO_MULTISELECT, ORIGEM_CADASTRO_INLINE_PESSOA, OnboardingChecklistComponent, OverlayPlacement, PDF_IFRAME_VIEWER_HASH, PEDIDOS_NAV_ID_EXCLUIDO, PEDIDOS_NAV_LINHA_GRAVADA, PEDIDOS_NAV_VOLTAR_SEM_RECARREGAR, PERMISSION_GROUP_OUTROS_KEY, PERMISSION_GROUP_OUTROS_LABEL, PERMISSION_GROUP_OUTROS_ORDER, PESSOAS_NAV_LINHA_GRAVADA, PESSOAS_NAV_VOLTAR_SEM_RECARREGAR, PHONE_BR_LANDLINE_MASK, PHONE_BR_MOBILE_MASK, PRODUTOS_NAV_ID_EXCLUIDO, PRODUTOS_NAV_LINHA_GRAVADA, PRODUTOS_NAV_VOLTAR_SEM_RECARREGAR, StructraPageFooterComponent as PageFooterComponent, PasswordFieldComponent, PermissionGroupTabComponent, PermissionGroupTabsComponent, PhoneFieldComponent, PopoverBodyTemplateDirective, PopoverComponent, PopoverFooterTemplateDirective, PopoverTriggerDirective, ReferenceOptionPreset, STRUCTRA_ADMIN_ROUTE_REDIRECT_CACHE_PREFIX, STRUCTRA_ADMIN_ROUTE_REDIRECT_LOGIN_ID_CACHE_KEY, STRUCTRA_APP_VERSION_CONFIG, STRUCTRA_CADASTRO_INLINE_RESULT_KEY, STRUCTRA_CADASTRO_INLINE_RETURN_KEY, STRUCTRA_CONSULTA_FORCE_REFRESH_KEY, STRUCTRA_CONSULTA_GRID_STATE_SESSION_RESET, STRUCTRA_CONSULTA_GRID_STATE_TENANT_RESOLVER, STRUCTRA_CONSULTA_GRID_STATE_TTL_MS_DEFAULT, STRUCTRA_COOKIE_NOTICE_CONFIG, STRUCTRA_DEDICATED_BACK_TO_TOP_SELECTOR, STRUCTRA_GRID_LAYOUT_API_BASE_RESOLVER, STRUCTRA_GRID_LAYOUT_AUTH_HEADERS_RESOLVER, STRUCTRA_GRID_LAYOUT_TENANT_RESOLVER, STRUCTRA_INLINE_FORM_DRAFT_PENDING_PREFIX, STRUCTRA_KANBAN_DESKTOP_MIN_WIDTH, STRUCTRA_KANBAN_MOBILE_DRAG_LONG_PRESS_MS, STRUCTRA_KANBAN_MOBILE_DRAG_START_DELAY, STRUCTRA_KANBAN_MOBILE_MAX_WIDTH, STRUCTRA_KANBAN_SCROLL_BOARD_KEY, STRUCTRA_KANBAN_SCROLL_STATUS_TABS_KEY, STRUCTRA_MIDIA_PUBLIC_BASE_RESOLVER, STRUCTRA_MIDIA_UPLOAD_TRANSPORT, STRUCTRA_PAGE_CACHE_SCOPE_SEP, STRUCTRA_PAGE_FOOTER_CONFIG, STRUCTRA_PAGE_FOOTER_PARTS, STRUCTRA_PAGE_STATE_ACTIVE_TAB_PREFIX, STRUCTRA_REPORT_DEFAULT_PAGE_SIZE, STRUCTRA_REPORT_TRANSPORT, STRUCTRA_SCROLL_SESSION_RESET, STRUCTRA_SCROLL_TENANT_RESOLVER, STRUCTRA_SHELL_NAV_CONTENT_READY, STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, STRUCTRA_SHELL_TOPBAR_TITLE_SKELETON, STRUCTRA_SIMULATED_LOADING_DELAY_MS, STRUCTRA_THEME_DARK_CLASS, STRUCTRA_THEME_IDS, STRUCTRA_UI, ScriptEditorFieldComponent, SelectFieldComponent, SkeletonBlockComponent, SkeletonCardComponent, SkeletonFieldShellComponent, SkeletonListComponent, SkeletonStatCardComponent, SkeletonTableComponent, SkeletonTextComponent, StatCardComponent, StatusBadgeComponent, StructraAdminRouteRedirectPageBase, StructraAppVersionService, StructraBackToTopButtonComponent, StructraConsultaGridStateService, StructraCookieNoticeComponent, StructraCookieNoticeService, StructraKanbanDragAutoScrollController, StructraKanbanMobileBoardPanController, StructraPageCacheService, StructraPageComponentOutletComponent, StructraPageComponentRegistry, StructraPageFooterComponent, StructraPageStateCacheService, StructraPreserveScrollDirective, StructraProgressOverlayComponent, StructraReportEmptyStateComponent, StructraReportFilterPanelComponent, StructraReportLoadingSkeletonComponent, StructraReportPageBaseComponent, StructraReportPageComponent, StructraReportPaginatorComponent, StructraReportPreviewHeaderComponent, StructraReportTableComponent, StructraReportTreeCacheService, StructraReportTreeComponent, StructraReportTreeSkeletonComponent, StructraReportViewerComponent, ScriptEditorFieldComponent as StructraScriptEditorComponent, StructraScrollStateService, StructraShellScrollRestorationService, StructraShellTopbarSlotService, AppSidebarBottomActionsTemplateDirective as StructraSidebarBottomActionsDirective, AppSidebarFooterTemplateDirective as StructraSidebarFooterDirective, AppSidebarHeaderTemplateDirective as StructraSidebarHeaderDirective, AppSidebarUserInfoTemplateDirective as StructraSidebarUserInfoDirective, StructraSidebarUserPanelComponent, StructraTreeExpandStateService, SwitchFieldComponent, THEME_PRIMARY_COLOR_LABEL_PT_BR, TOAST_REGISTRO_EXCLUIDO_SUCESSO, TableEmptyStateComponent, TableToolbarComponent, TextFieldComponent, TextareaFieldComponent, ThemeDirective, ToastHostComponent, ToastService, TooltipComponent, TooltipPanelTemplateDirective, TreeViewComponent, USUARIOS_CONSULTA_GRID_OPTS, USUARIOS_NAV_ID_EXCLUIDO, USUARIOS_NAV_LINHA_GRAVADA, USUARIOS_NAV_VOLTAR_SEM_RECARREGAR, VENDEDORES_NAV_ID_EXCLUIDO, VENDEDORES_NAV_LINHA_GRAVADA, VENDEDORES_NAV_VOLTAR_SEM_RECARREGAR, ValidationSummaryComponent, agruparCamposMetadataPorSecao, agruparPermissionTabs, anchoredOverlayPositions, aplicarNormalizacaoMultiselectIdsNoPartial, aplicarProdutoDtoNoFormulario, appendCadastroPageActiveTabQuery, appendPdfIframeViewerParams, applyCadastroCollectionArrayValidators, applyCadastroModoSenhaNovos, applyCollectionValidationSummaryNavigation, applyCollectionValueToFormArray, applyConsultaListaPatch, applyEntityToCadastroFormByMetadata, applyOptionalThemeHostClasses, applyPickedCalendarDate, attachStructraScrollPreserve, buildCadastroFiltroDialogItensGridRows, buildCadastroMetadataShellRuntime, buildCadastroPageActiveTabPageKey, buildCadastroPageActiveTabPageKeyFromLayout, buildCadastroPageRuntime, buildCadastroRedirectReturnUrl, buildCadastroReferenciaDialogContext, buildCardNavigateActionsFromGridColumns, buildCatalogoStubConsultaRuntime, buildConsultaConfirmDuplicarLinhaFromLayout, buildConsultaConfirmRemoverLinhaFromLayout, buildConsultaDefaultIsItemGuard, buildConsultaGridStateSessionKey, buildConsultaListaCacheKey, buildConsultaPageMetadataUnified, buildConsultaPageRuntime, buildDecimalBrDisplay, buildDecimalBrParseString, buildDefaultConsultaMapCardFromColunasGrid, buildEmptyStateOverlayHtml, buildFormContainerStateStorageKey, buildFormGroupFromCadastroCampos, buildGridNavigateUrl, buildHistoryStateAfterReturningFromNestedInlineChild, buildInlineReturnStateForChildCadastro, buildNovoFormDefaultsFromCampos, buildReportRowCardMap, buildRouteReuseKeyFromAppPathname, buildRouteReuseKeyFromNovoRouterLink, buildStructraAdminRouteRedirectCacheKey, buildStructraAdminRouteRedirectChildUrl, buildStructraPageCacheCadastroInitKey, buildStructraPageCacheRouteScope, buildStructraPageFooterParts, buildStructraSidebarTemplateContext, buildValidationMetaFromCadastroCampos, cadastroBuildImageUploadMetadata, cadastroCampoBlocoEditorOcupaLinhaInteira, cadastroCampoBooleanOcupaLinhaInteira, cadastroCampoMetadataDtoFromPartial, cadastroCampoMetadataEhBoolean, cadastroCampoMetadataLarguraCompacta, cadastroCampoMetadataLarguraFixaCss, cadastroCampoReferenciaMetadataDtoFromPartial, cadastroCampoRuleMaxLength, cadastroCampoScriptEditorLanguage, cadastroCampoScriptEditorMinHeight, cadastroCampoValidacaoDtoFromPartial, cadastroCampoWrapperWidthCss, cadastroCollectionEditorGridColumns, cadastroCollectionMaxItemsValidator, cadastroCollectionMinItemsValidator, cadastroConfirmExcluirPartialFromLayout, cadastroContainerLayoutSizeDoRecord, cadastroContainerPathJoin, cadastroCrudMessagesDoFormLayout, cadastroDeclarativeSnapshotDtoFromPartial, cadastroEnsureSingleBooleanInCollection, cadastroFieldsPerRowDoRecord, cadastroFlattenContainerRaw, cadastroFormDraftEnabledDoLayout, cadastroFormGridColumns, cadastroFormLayoutComoRecord, cadastroFormLayoutDoBundle, cadastroFormLayoutDoRuntime, cadastroFormLayoutPreserveActiveTab, cadastroFormPageLayoutFromPartial, cadastroGcd, cadastroGetCollectionItemControl, cadastroGridColumnSpanForFieldIndex, cadastroGridDenominadorTracks, cadastroGridTemplateColumnsLinhaUnicaSeAplicavel, cadastroInferExtensaoArquivo, cadastroInferImageContentType, cadastroLcm, cadastroMetadataDtoParaValidacaoLike, cadastroNavKeysStructra, cadastroNomeArquivoDaUploadUrl, cadastroNormalizarUploadUrlPorPrefixo, cadastroPageActionDtoFromPartial, cadastroPageActionsPorRegiao, cadastroPageActiveTabToRestore, cadastroPageComponentDtoFromPartial, cadastroPageComponentsPorRegiao, cadastroPageIdentityDoFormLayout, cadastroPageOverlayDtoFromPartial, cadastroPageShellAtivo, cadastroPageShellTabsKeepAliveFromLayout, cadastroPageTabDtoFromPartial, cadastroPageTabsOrdenados, cadastroPainelMaxWidthCss, cadastroRawBooleanDeep, cadastroRawNumber, cadastroRawString, cadastroReferenceEntryFromListarService, cadastroReferenciaOpenModeFromWire, cadastroReindexarCollectionOrdem, cadastroResolveId, cadastroSecaoFormGroupDense, cadastroSecaoPersisteExpandedState, cadastroSecaoRenderizaInlineDentroDoPai, cadastroSecaoSegmentosIntercalados, cadastroSecaoSegmentosParaRender, cadastroSecaoUsaFormGroup, cadastroSecaoUsaFormGroupComoBlocoVisual, cadastroSecaoUsaSuperficieDeclarativa, cadastroSingleBooleanCollectionBinding, cadastroTitulosEfectivosDoFormLayout, cadastroToastTitleEfectivoDoFormLayout, cadastroToolbarButtonDtoFromPartial, cadastroToolbarVisibilityDoFormLayout, cadastroUseBackToTopButtonFromLayout, cadastroValidationSummaryFlagsDoRecord, cadastroValidationSummaryPinnedFromFlags, cadastroWireCollectionOrdemReindexOnAdd, cadastroWireCollectionOrdemReindexOnAddRemove, cadastroWireCollectionOrdemReindexOnRemove, campoMetadataVisivelNoModo, caretIndexFromIntegerDigitCount, caretIndexFromSemantic, carregarOpcoesMultiselectViaSpec, cepMaskCompleteValidator, clearRequiredValidatorsOnReadOnlyCadastroFields, clearStructraCadastroInlineReturnSessionCacheForTests, clearStructraCadastroSessionStorageOnLogout, coerceDecimalPtBr, coerceReportBoolean, collectValidationSummaryItems, colunasGridTemFormatacaoDeclarativa, computeReferenciaHasMore, consoleLogLevelClass, consultaCadastroPatchKindFromModo, consultaCampoMetadataDtoFromPartial, consultaCardCampoDtoFromPartial, consultaFiltroValorDataSomenteDia, consultaGridColunaDtoFromPartial, consultaGridColunaKeyParaCampoLinha, consultaGridConfigDtoFromPartial, consultaNavKeysStructra, consultaPassaItem, consultaPassaTodosItens, consultaUsuariosMetadataReplyFromPartial, consumeCadastroInlineFormDraftPendingRestore, consumeConsultaPendingGridReturn, consumeGridReturnVoltarKeyForUrl, consumirResultadoCadastroInlineCampoPessoaId, consumirResultadoCadastroInlineCampoReferencia, cpfCnpjMaskCompleteValidator, createCadastroDialogActivatedRoute, createCadastroMetadataPageConfig, createCadastroPadraoConfig, createCadastroRuntime, createCollectionFormArray, createCollectionItemFormGroup, createConsultaListaItemGuardFromFiltroUi, createConsultaOptionsListarResolver, createConsultaPadraoRuntime, createConsultaPresetSelectEmptyOptionsMessageSignal, createConsultaPresetStorageApi, createGrpcSaveRequestMapper, createInlineHostNavigation, createMapCardFromConsultaColunasGrid, createMapGridRowFromConsultaColunasGrid, createSaveRequestFromPartialMapper, criarDraftInlinePessoa, decimalPtBrNaoNegativoValidator, decimalPtBrToNullableNumber, dedupeUiSelectOptionsByValue, defaultIsConsultaListItemMinimo, defaultParseLinhaGravadaJson, deleteConfirmPageConfigFromPartial, deriveCadastroTituloEditar, deriveConsultaListaItemGuardPropsFromFiltroUi, duplicateConfigFromLayout, duplicatePageConfigFromPartial, enrichCadastroReferenciaDialogPageConfig, enrichConsultaMapCardWithGridNavigate, ensureCadastroCollectionMinItems, ensureCadastroFormControlsFromMetadata, escapeHtml, evaluateStructraPageVisibleExpression, executarConsultaServidorComPreset, extractConsultaListaCacheNamespace, extractDecimalBrParts, fileIsLikelyImage, fileMatchesAccept, filtrarSecoesMetadataPorModo, filtrarUiSelectOptionsPainelComValorPersistente, filtrarUiSelectOptionsPorQuery, findCadastroCampoByKey, findFirstReportLeafId, findReportTreeLabel, fixedDigitsMaskCompleteValidator, flattenCadastroMetadataSecoes, fmtDataPt, fmtDocumentoCelulaConsultaGrid, formatAcceptForDisplay, formatDateTimePtBr, formatDecimalBr, formatDocumentoPessoaParaExibicao, formatFileSizeBytes, formatIntegerThousandsBr, formatMaskDigits, formatPhoneBr, formatReportPreviewTitulo, formatUiFieldDateValue, getFilePreviewKind, getStructraActionsByGroup, getThemeClass, getThemeClassList, getThemePrimaryColorLabelPtBr, getThemeTokenClass, gridNavigateIconClass, hexParaColorInput, inferCadastroItemFieldsFromPlainRows, inferCadastroListaUrlFallback, initialCadastroControlValue, injectEffectiveThemeId, isCadastroDuplicateNavigation, isCollectionField, isCollectionLikeField, isConsultaCardAutoSubtitleExcluded, isLegacyDarkThemeId, isLegacyFormContainerStateStorageKey, isLegacyNomeDocumentoReferencePreset, isReadonlyCollectionField, isReportBooleanColumn, isReportGroupNode, isReportNowrapColumn, isStructraKanbanMobileSnapBoard, isValidPhoneBr, libDialogPanelClasses, listaUrlFromRotaCadastro, listarItensCadastroReferencia, listarTodosPaginado, loadPresetsJson, loadStructraAdminRouteRedirectTarget, mapCadastroFormRawToPayload, mapConsultaGridColunasParaDataGrid, mapConsultaMetadataParaFiltroUi, mapErroTransporteParaMensagem as mapErroListaDefault, mapErroTransporteParaMensagem, mapEstadosToOptions, mapFiltroSalvoParaConsultaPreset, mapGridNavigateFromColuna, mapListarItensParaMultiselectOpcoes, mapReportTreeToTreeViewNodes, mapReportTreeToTreeViewNodesForSelection, markCadastroInlineFormDraftPendingRestore, markConsultaPendingGridReturn, maskDigitCount, mergeCadastroConfirmExcluir, mergeCardNavigateActions, mergeConsultaGridRowFormattingFromColunasGrid, mergeConsultaMultiselectOpcoesComSeleccionados, mergeDocumentoFmtNaLinhaConsulta, mergeMapConsultaGridColunasOptsComColumnFormat, mergeNovoIdEmListaSelecionada, mergeStructraShellScrollRestorationOptions, metadataCampoParaChaveLinhaCliente, modoPermissaoReferenciaFromWire, montarFiltrosGrpcPreset, montarFiltrosServidorPreset, montarHierarquiaSecoesMetadata, multiselectIdListRequiredValidator, multiselectMaxItemsValidator, navegarAposLoginAdmin, navegarVoltarLista, navegarVoltarListaComIdRemovido, navegarVoltarListaComLinha, navigateCadastroDuplicate, navigateCommandsFromRotaAlterar, navigateCommandsFromRotaNovo, navigateFromGrid, nomeSalvarParaPayloadComPessoa, normalizarArvoreSecoesMetadata, normalizarCaminhoLoginAdmin, normalizarHexCor, normalizarItensParaGravarServidorCadastro, normalizarListaIdsMultiselect, normalizarOperadorConsultaParaEnvioServidor, normalizarRotaReferencia, normalizarStructraAction, normalizarStructraActionGroup, normalizarStructraActionGroups, normalizeCadastroAppPath, normalizeCadastroCampoMetadataWire, normalizeCadastroInitRouteIdParam, normalizeCadastroItemEditorDecimalControls, normalizeCadastroReferenciaDialogRotaKey, normalizeCadastroRouteForContainerState, normalizeConsoleLogLevel, normalizeFormDateValue, normalizePhoneBr, normalizeStructraAdminPath, normalizeStructraKanbanBoardScrollAfterRestore, normalizeStructraScrollRoute, normalizeStructraTheme, novoPathCommandsFromRota, onlyDigits, operadorConsultaComValorUnicoComparacao, operadorConsultaDatetimeUsaDatePicker, operadoresConsultaCampo, operadoresPorTipo, ordenarFiltroItens, ordenarStructraActions, parseDecimalBr, parseIntegerString, parseUiFieldDateValue, patchFormFromEntidadeRecord, permissionTabsUsamGruposVerticais, permissoesReferenciaMetadata, persistStructraCookieNoticeAccepted, persistStructraShellSidebarCollapsed, phoneBrDynamicMaskCompleteValidator, phoneBrMaskCompleteValidator, phoneBrMaskFromDigits, pickCadastroPageActiveTabExplicit, pickTabKeyLinkedToSummaryItems, podeNavegarGridColuna, precisaValor, precisaValorFinal, provideAppPageFooter, provideAppVersion, provideStructraAppVersion, provideStructraCadastroReferenciaDialogRoot, provideStructraConsultaGridState, provideStructraCookieNotice, provideStructraPageFooter, provideStructraScrollState, provideStructraShellScrollRestoration, provideStructraTreeExpandState, qtdCriteriosPresetParaSkeleton, readCadastroDuplicateSourceId, readCadastroPageActiveTabFromNavigationState, readCadastroPageActiveTabFromUrl, readFormContainerCollapsedFromStorage, readStructraAdminRouteRedirectTarget, readStructraCadastroInlineReturn, readStructraShellSidebarCollapsed, referenciaAbreEmDialog, referenciaOpenModeRaw, referenciaUsesLegacyRegistryMapper, registerCadastroReferenceEntries, registerCadastroReferenceListSources, registerCadastroReferenciaDialogBridges, registerStructraBuiltinPageComponents, replaceProdutoCadastroFormControls, reportColumnWidthStyle, reportExistsInTree, reportTableHasFixedWidths, resetStructraCadastroReferenciaDialogRootForTests, resolveCadastroCollectionMinItems, resolveCadastroListaUrlParaNavegacao, resolveCadastroPageActiveTabKey, resolveCadastroReferenciaMapOptions, resolveConsultaEditActionLabelFromGridConfig, resolveConsultaListaQuerySliceFromGridConfig, resolveConsultaNavKeysFromPageLayout, resolveConsultaNovoRouterLinkFromLayout, resolveConsultaRouteEditBaseFromLayout, resolveConsultaToastTitleLista, resolveControlAtPath, resolveFormContainerCollapsed, resolveInitialReportId, resolveReferenciaOpcaoLabel, resolveReportPreviewSubtitulo, resolveStructraAdminMenuUrl, resolveStructraAppVersionConfig, resolveStructraCookieNoticeConfig, resolveStructraKanbanActiveStatusFromBoard, resolveStructraPageCacheCadastroScope, resolveStructraPageInputExpression, resolveStructraPageInputs, resolveStructraShellScrollContainer, resolverAcoesReferenciaPorRota, resolverValorOpcaoPorRotuloNormalizado, resumoValorMultiselectFiltro, rotaListaReferencia, rotuloEnmStatus, rotuloNomeDocumentoLista, rotuloOperadorConsulta, rotuloPessoaLista, runStructraSimulatedLoadingDelay, sanitizeDecimalBrInput, sanitizeIntegerDigits, sanitizeRecordForCadastroDuplicate, savePresetsJson, scheduleRemoteCollectionHydrationAfterSectionExpand, secaoMetadataEhContainerPlain, secaoTemConteudoVisivel, secaoTemCorpoParaRender, sectionHasVisibleInvalid, semanticCaretAt, semanticIntegerDigitCountLeft, serializeCollectionFormArray, shouldDeferInitialRemoteCollectionLoad, shouldSkipCadastroPageActiveTabCacheWrite, shouldSkipStructraAdminMenuNavigation, shouldStructraKanbanScrollToColumnAfterMobileMove, snapStructraKanbanMobileBoard, stripStructraCadastroInlineResultFromHistory, stripToDigits, structraActionButtonVariant, structraCadastroInlineResultTemIdSalvo, structraCadastroInlineResultTemReferenciaExcluida, structraCookieNoticeWasAccepted, structraElementScrolls, structraHasValue, structraIsFilledString, structraIsFormGroup, structraIsValidPort, structraKanbanBoardScrollContainerKey, structraKanbanColScrollKey, structraKanbanPreserveScrollDuring, structraParseNumberOrNull, structraReadFormValue, structraReadNestedValue, structraTrimString, subscribeMarkForCheckOnInvalidUiRefresh, subtreeHasVisibleInvalid, syncStructraCadastroInlineReturnSessionCache, tabWarningFromLinkedSummaryItems, tipoCampoMetadataParaUi, tipoValorApi, toCadastroReferenceListPageResult, toConsoleLogLineView, toConsoleLogLineViews, toUiSelectOptionsFromMetadata, uiSelectOpcaoIdNomeDocumento, uiSelectOpcoesDePessoas, validationLikeFromCampoMetadata, validatorsFromCampo, writeFormContainerCollapsedToStorage };
47091
47203
  //# sourceMappingURL=structra-ui.mjs.map