@praxisui/table 9.0.0-beta.46 → 9.0.0-beta.48
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.
- package/README.md +1 -0
- package/ai/component-registry.json +22 -6
- package/fesm2022/{praxisui-table-praxisui-table-D5XtCbRm.mjs → praxisui-table-praxisui-table-D5UThmhh.mjs} +404 -35
- package/fesm2022/{praxisui-table-table-ai.adapter-DKr77wDN.mjs → praxisui-table-table-ai.adapter-DE5WpZ-t.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/types/praxisui-table.d.ts +28 -1
|
@@ -96,9 +96,18 @@ const PRAXIS_TABLE_RUNTIME_I18N_CONFIG = {
|
|
|
96
96
|
'table.chrome.disconnect': 'Desconectar',
|
|
97
97
|
'table.chrome.disconnectTooltip': 'Desconectar da fonte de dados',
|
|
98
98
|
'table.chrome.exportData': 'Exportar dados',
|
|
99
|
-
'table.
|
|
100
|
-
'table.
|
|
101
|
-
'table.
|
|
99
|
+
'table.chrome.exportVisibleExcel': 'Excel da página atual',
|
|
100
|
+
'table.chrome.exportVisibleExcel.description': 'Baixa somente as linhas carregadas e as colunas visíveis da página atual.',
|
|
101
|
+
'table.chrome.exportFormat.csv.provider': 'CSV via provider',
|
|
102
|
+
'table.chrome.exportFormat.excel.provider': 'Excel via provider',
|
|
103
|
+
'table.chrome.exportFormat.json.provider': 'JSON via provider',
|
|
104
|
+
'table.chrome.exportFormat.pdf.provider': 'PDF via provider',
|
|
105
|
+
'table.chrome.exportFormat.print.provider': 'Impressão via provider',
|
|
106
|
+
'table.chrome.exportFormat.provider.description': 'Usa o provider de exportação configurado conforme o escopo canônico da coleção.',
|
|
107
|
+
'table.chrome.exportFormat.excel.provider.description': 'Usa o provider de exportação configurado para gerar o Excel conforme o escopo canônico da coleção.',
|
|
108
|
+
'table.export.completed': 'Exportação concluída.',
|
|
109
|
+
'table.export.deferred': 'Exportação enviada para processamento.',
|
|
110
|
+
'table.export.error': 'Não foi possível exportar os dados.',
|
|
102
111
|
'table.chrome.moreActions': 'Mais ações',
|
|
103
112
|
'table.chrome.rowActions.more': 'Mais ações',
|
|
104
113
|
'table.chrome.rowActions.loading': 'Carregando ações contextuais',
|
|
@@ -109,6 +118,10 @@ const PRAXIS_TABLE_RUNTIME_I18N_CONFIG = {
|
|
|
109
118
|
'table.chrome.collectionActions.create': 'Novo',
|
|
110
119
|
'table.chrome.collectionActions.createTooltip': 'Criar novo registro',
|
|
111
120
|
'table.chrome.collectionActions.createUnavailable': 'Criação indisponível no contexto atual',
|
|
121
|
+
'table.chrome.actions.disabled.noSelection': 'Selecione ao menos um registro para executar esta ação.',
|
|
122
|
+
'table.chrome.actions.disabled.minSelection': 'Selecione ao menos {min} registros para executar esta ação.',
|
|
123
|
+
'table.chrome.actions.disabled.maxSelection': 'A seleção atual excede o limite permitido para esta ação.',
|
|
124
|
+
'table.chrome.actions.disabled.generic': 'Ação indisponível no contexto atual.',
|
|
112
125
|
'table.assistant.context.selectedRecords.label': 'Registros selecionados',
|
|
113
126
|
'table.assistant.context.selectedRecords.value': '{count} registro(s) selecionado(s){ids}',
|
|
114
127
|
'table.assistant.context.selectedRecords.value.singular': '{count} registro selecionado{ids}',
|
|
@@ -214,6 +227,15 @@ const PRAXIS_TABLE_RUNTIME_I18N_CONFIG = {
|
|
|
214
227
|
'table.chrome.disconnect': 'Disconnect',
|
|
215
228
|
'table.chrome.disconnectTooltip': 'Disconnect from the data source',
|
|
216
229
|
'table.chrome.exportData': 'Export data',
|
|
230
|
+
'table.chrome.exportVisibleExcel': 'Current page Excel',
|
|
231
|
+
'table.chrome.exportVisibleExcel.description': 'Downloads only the loaded rows and visible columns from the current page.',
|
|
232
|
+
'table.chrome.exportFormat.csv.provider': 'CSV via provider',
|
|
233
|
+
'table.chrome.exportFormat.excel.provider': 'Excel via provider',
|
|
234
|
+
'table.chrome.exportFormat.json.provider': 'JSON via provider',
|
|
235
|
+
'table.chrome.exportFormat.pdf.provider': 'PDF via provider',
|
|
236
|
+
'table.chrome.exportFormat.print.provider': 'Print via provider',
|
|
237
|
+
'table.chrome.exportFormat.provider.description': 'Uses the configured export provider according to the canonical collection scope.',
|
|
238
|
+
'table.chrome.exportFormat.excel.provider.description': 'Uses the configured export provider to generate Excel according to the canonical collection scope.',
|
|
217
239
|
'table.export.completed': 'Export completed.',
|
|
218
240
|
'table.export.deferred': 'Export submitted for processing.',
|
|
219
241
|
'table.export.error': 'Could not export the data.',
|
|
@@ -227,6 +249,10 @@ const PRAXIS_TABLE_RUNTIME_I18N_CONFIG = {
|
|
|
227
249
|
'table.chrome.collectionActions.create': 'New',
|
|
228
250
|
'table.chrome.collectionActions.createTooltip': 'Create a new record',
|
|
229
251
|
'table.chrome.collectionActions.createUnavailable': 'Create is unavailable in the current context',
|
|
252
|
+
'table.chrome.actions.disabled.noSelection': 'Select at least one record to run this action.',
|
|
253
|
+
'table.chrome.actions.disabled.minSelection': 'Select at least {min} records to run this action.',
|
|
254
|
+
'table.chrome.actions.disabled.maxSelection': 'The current selection exceeds the allowed limit for this action.',
|
|
255
|
+
'table.chrome.actions.disabled.generic': 'Action unavailable in the current context.',
|
|
230
256
|
'table.assistant.context.selectedRecords.label': 'Selected records',
|
|
231
257
|
'table.assistant.context.selectedRecords.value': '{count} selected record(s){ids}',
|
|
232
258
|
'table.assistant.context.selectedRecords.value.singular': '{count} selected record{ids}',
|
|
@@ -571,6 +597,7 @@ class PraxisTableToolbar {
|
|
|
571
597
|
warnedInvalidToolbarActionTypes = new Set();
|
|
572
598
|
warnedMenuWithoutChildren = new Set();
|
|
573
599
|
warnedVisibleWhenFallback = new Set();
|
|
600
|
+
warnedDisabledWhenFallback = new Set();
|
|
574
601
|
warnedInvalidShortcuts = new Set();
|
|
575
602
|
warnedInvalidShortcutScopes = new Set();
|
|
576
603
|
warnedShortcutConflicts = new Set();
|
|
@@ -625,6 +652,42 @@ class PraxisTableToolbar {
|
|
|
625
652
|
getExportDataLabel() {
|
|
626
653
|
return this.tx('table.chrome.exportData', 'Exportar dados');
|
|
627
654
|
}
|
|
655
|
+
getVisibleExcelExportLabel() {
|
|
656
|
+
return this.tx('table.chrome.exportVisibleExcel', 'Excel da página atual');
|
|
657
|
+
}
|
|
658
|
+
getVisibleExcelExportDescription() {
|
|
659
|
+
return this.tx('table.chrome.exportVisibleExcel.description', 'Baixa somente as linhas carregadas e as colunas visíveis da página atual.');
|
|
660
|
+
}
|
|
661
|
+
getVisibleExcelExportAriaLabel() {
|
|
662
|
+
return `${this.getVisibleExcelExportLabel()}. ${this.getVisibleExcelExportDescription()}`;
|
|
663
|
+
}
|
|
664
|
+
getExportFormatLabel(format) {
|
|
665
|
+
const normalized = this.normalizeExportFormat(format);
|
|
666
|
+
switch (normalized) {
|
|
667
|
+
case 'excel':
|
|
668
|
+
return this.tx('table.chrome.exportFormat.excel.provider', 'Excel via provider');
|
|
669
|
+
case 'csv':
|
|
670
|
+
return this.tx('table.chrome.exportFormat.csv.provider', 'CSV via provider');
|
|
671
|
+
case 'json':
|
|
672
|
+
return this.tx('table.chrome.exportFormat.json.provider', 'JSON via provider');
|
|
673
|
+
case 'pdf':
|
|
674
|
+
return this.tx('table.chrome.exportFormat.pdf.provider', 'PDF via provider');
|
|
675
|
+
case 'print':
|
|
676
|
+
return this.tx('table.chrome.exportFormat.print.provider', 'Impressão via provider');
|
|
677
|
+
default:
|
|
678
|
+
return String(format || '').trim().toUpperCase();
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
getExportFormatTooltip(format) {
|
|
682
|
+
const normalized = this.normalizeExportFormat(format);
|
|
683
|
+
if (normalized === 'excel') {
|
|
684
|
+
return this.tx('table.chrome.exportFormat.excel.provider.description', 'Usa o provider de exportação configurado para gerar o Excel conforme o escopo canônico da coleção.');
|
|
685
|
+
}
|
|
686
|
+
return this.tx('table.chrome.exportFormat.provider.description', 'Usa o provider de exportação configurado conforme o escopo canônico da coleção.');
|
|
687
|
+
}
|
|
688
|
+
getExportFormatAriaLabel(format) {
|
|
689
|
+
return `${this.getExportFormatLabel(format)}. ${this.getExportFormatTooltip(format)}`;
|
|
690
|
+
}
|
|
628
691
|
getMoreActionsLabel() {
|
|
629
692
|
return this.tx('table.chrome.moreActions', 'Mais ações');
|
|
630
693
|
}
|
|
@@ -634,6 +697,23 @@ class PraxisTableToolbar {
|
|
|
634
697
|
event.target?.blur?.();
|
|
635
698
|
this.exportAction.emit({ format });
|
|
636
699
|
}
|
|
700
|
+
emitVisibleExcelExportAction(event) {
|
|
701
|
+
if (this.exportBusy)
|
|
702
|
+
return;
|
|
703
|
+
event.target?.blur?.();
|
|
704
|
+
this.exportAction.emit({ format: 'excel', scope: 'currentPage', localOnly: true });
|
|
705
|
+
}
|
|
706
|
+
isExcelExportFormat(format) {
|
|
707
|
+
const normalized = this.normalizeExportFormat(format);
|
|
708
|
+
return normalized === 'excel' || normalized === 'xlsx';
|
|
709
|
+
}
|
|
710
|
+
isVisibleExcelExportEnabled(format) {
|
|
711
|
+
return this.isExcelExportFormat(format)
|
|
712
|
+
&& this.config?.export?.excel?.visibleCurrentPage !== false;
|
|
713
|
+
}
|
|
714
|
+
normalizeExportFormat(format) {
|
|
715
|
+
return String(format || '').trim().toLowerCase();
|
|
716
|
+
}
|
|
637
717
|
getColumnsVisibilityLabel() {
|
|
638
718
|
return this.tx('table.chrome.columnsVisibility', 'Colunas');
|
|
639
719
|
}
|
|
@@ -679,10 +759,15 @@ class PraxisTableToolbar {
|
|
|
679
759
|
toggleColumnVisibility(field, visible) {
|
|
680
760
|
this.columnVisibilityToggle.emit({ field, visible });
|
|
681
761
|
}
|
|
682
|
-
tx(key, fallback) {
|
|
762
|
+
tx(key, fallback, params) {
|
|
683
763
|
if (!this.i18n)
|
|
684
|
-
return fallback;
|
|
685
|
-
return translateTableRuntimeText(this.i18n, key, fallback,
|
|
764
|
+
return this.interpolateText(fallback, params);
|
|
765
|
+
return translateTableRuntimeText(this.i18n, key, fallback, params, this.config?.localization?.locale);
|
|
766
|
+
}
|
|
767
|
+
interpolateText(template, params) {
|
|
768
|
+
if (!params)
|
|
769
|
+
return template;
|
|
770
|
+
return Object.entries(params).reduce((current, [key, value]) => current.replace(new RegExp(`\\{${key}\\}`, 'g'), String(value ?? '')), template);
|
|
686
771
|
}
|
|
687
772
|
ngOnDestroy() {
|
|
688
773
|
}
|
|
@@ -898,13 +983,36 @@ class PraxisTableToolbar {
|
|
|
898
983
|
}
|
|
899
984
|
getActionAriaLabel(action) {
|
|
900
985
|
const label = String(action?.label || '').trim();
|
|
986
|
+
if (label && this.isActionDisabled(action)) {
|
|
987
|
+
return `${label}. ${this.resolveDisabledActionReason(action)}`;
|
|
988
|
+
}
|
|
901
989
|
if (label)
|
|
902
990
|
return label;
|
|
903
991
|
const actionId = getActionId(action);
|
|
904
992
|
return actionId || 'Acao';
|
|
905
993
|
}
|
|
906
994
|
isActionDisabled(action) {
|
|
907
|
-
|
|
995
|
+
if (!action)
|
|
996
|
+
return true;
|
|
997
|
+
if (action.disabled === true)
|
|
998
|
+
return true;
|
|
999
|
+
if (this.isBulkToolbarAction(action)) {
|
|
1000
|
+
const selectedCount = this.getSelectedCount();
|
|
1001
|
+
const minSelections = this.getBulkActionMinSelections(action);
|
|
1002
|
+
if (selectedCount < minSelections)
|
|
1003
|
+
return true;
|
|
1004
|
+
const maxSelections = this.getBulkActionMaxSelections(action);
|
|
1005
|
+
if (maxSelections !== null && selectedCount > maxSelections)
|
|
1006
|
+
return true;
|
|
1007
|
+
}
|
|
1008
|
+
return this.evaluateDisabledWhen(action);
|
|
1009
|
+
}
|
|
1010
|
+
getActionTooltip(action) {
|
|
1011
|
+
const configured = String(action?.tooltip || '').trim();
|
|
1012
|
+
if (this.isActionDisabled(action)) {
|
|
1013
|
+
return configured || this.resolveDisabledActionReason(action);
|
|
1014
|
+
}
|
|
1015
|
+
return configured || null;
|
|
908
1016
|
}
|
|
909
1017
|
onDocumentKeydown(event) {
|
|
910
1018
|
if (this.wasShortcutAlreadyHandled(event))
|
|
@@ -953,6 +1061,10 @@ class PraxisTableToolbar {
|
|
|
953
1061
|
return [];
|
|
954
1062
|
return this.config?.actions?.bulk?.actions || [];
|
|
955
1063
|
}
|
|
1064
|
+
isBulkToolbarAction(action) {
|
|
1065
|
+
const actionId = getActionId(action);
|
|
1066
|
+
return this.getBulkToolbarActions().some((candidate) => candidate === action || getActionId(candidate) === actionId);
|
|
1067
|
+
}
|
|
956
1068
|
getVisibleToolbarActions() {
|
|
957
1069
|
const actions = this.config?.toolbar?.actions || [];
|
|
958
1070
|
const sorted = this.sortActions(actions);
|
|
@@ -1011,6 +1123,34 @@ class PraxisTableToolbar {
|
|
|
1011
1123
|
}
|
|
1012
1124
|
return this.resolveVisibleWhenFallback(action, String(expression ?? ''), 'invalid-non-json-logic-expression');
|
|
1013
1125
|
}
|
|
1126
|
+
evaluateDisabledWhen(action) {
|
|
1127
|
+
const disabledWhen = action?.disabledWhen;
|
|
1128
|
+
if (disabledWhen === null
|
|
1129
|
+
|| disabledWhen === undefined
|
|
1130
|
+
|| (typeof disabledWhen === 'string' && !disabledWhen.trim())) {
|
|
1131
|
+
return false;
|
|
1132
|
+
}
|
|
1133
|
+
if (this.isJsonLogicExpression(disabledWhen)) {
|
|
1134
|
+
try {
|
|
1135
|
+
return this.jsonLogic.matches({
|
|
1136
|
+
condition: disabledWhen,
|
|
1137
|
+
data: this.buildEvaluationContext(),
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1140
|
+
catch (error) {
|
|
1141
|
+
return this.resolveDisabledWhenFallback(action, JSON.stringify(disabledWhen), 'json-logic-eval-error', { error });
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1144
|
+
return this.resolveDisabledWhenFallback(action, String(disabledWhen ?? ''), 'invalid-non-json-logic-expression');
|
|
1145
|
+
}
|
|
1146
|
+
resolveDisabledWhenFallback(action, expression, reason, extra) {
|
|
1147
|
+
this.warnDisabledWhenFallback(action, expression, reason, {
|
|
1148
|
+
policy: 'fail-closed',
|
|
1149
|
+
runtimeEnvironment: this.resolveRuntimeEnvironment(),
|
|
1150
|
+
...(extra ? { details: extra } : {}),
|
|
1151
|
+
});
|
|
1152
|
+
return true;
|
|
1153
|
+
}
|
|
1014
1154
|
isJsonLogicExpression(value) {
|
|
1015
1155
|
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
1016
1156
|
}
|
|
@@ -1060,6 +1200,42 @@ class PraxisTableToolbar {
|
|
|
1060
1200
|
}
|
|
1061
1201
|
return ctx;
|
|
1062
1202
|
}
|
|
1203
|
+
getSelectedCount() {
|
|
1204
|
+
const selectedCount = Number(this.buildEvaluationContext()['selectedCount']);
|
|
1205
|
+
return Number.isFinite(selectedCount) && selectedCount > 0
|
|
1206
|
+
? Math.floor(selectedCount)
|
|
1207
|
+
: 0;
|
|
1208
|
+
}
|
|
1209
|
+
getBulkActionMinSelections(action) {
|
|
1210
|
+
const value = Number(action?.minSelections);
|
|
1211
|
+
if (Number.isFinite(value)) {
|
|
1212
|
+
return Math.max(0, Math.floor(value));
|
|
1213
|
+
}
|
|
1214
|
+
return 1;
|
|
1215
|
+
}
|
|
1216
|
+
getBulkActionMaxSelections(action) {
|
|
1217
|
+
const value = Number(action?.maxSelections);
|
|
1218
|
+
if (!Number.isFinite(value))
|
|
1219
|
+
return null;
|
|
1220
|
+
return Math.max(0, Math.floor(value));
|
|
1221
|
+
}
|
|
1222
|
+
resolveDisabledActionReason(action) {
|
|
1223
|
+
if (this.isBulkToolbarAction(action)) {
|
|
1224
|
+
const selectedCount = this.getSelectedCount();
|
|
1225
|
+
const minSelections = this.getBulkActionMinSelections(action);
|
|
1226
|
+
if (selectedCount < minSelections) {
|
|
1227
|
+
if (minSelections > 1) {
|
|
1228
|
+
return this.tx('table.chrome.actions.disabled.minSelection', 'Selecione ao menos {min} registros para executar esta ação.', { min: minSelections });
|
|
1229
|
+
}
|
|
1230
|
+
return this.tx('table.chrome.actions.disabled.noSelection', 'Selecione ao menos um registro para executar esta ação.');
|
|
1231
|
+
}
|
|
1232
|
+
const maxSelections = this.getBulkActionMaxSelections(action);
|
|
1233
|
+
if (maxSelections !== null && selectedCount > maxSelections) {
|
|
1234
|
+
return this.tx('table.chrome.actions.disabled.maxSelection', 'A seleção atual excede o limite permitido para esta ação.');
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
return this.tx('table.chrome.actions.disabled.generic', 'Ação indisponível no contexto atual.');
|
|
1238
|
+
}
|
|
1063
1239
|
warnVisibleWhenFallback(action, expression, reason, extra) {
|
|
1064
1240
|
const actionId = getActionId(action) || action?.label || 'unknown';
|
|
1065
1241
|
const key = `${actionId}:${expression}:${reason}`;
|
|
@@ -1074,6 +1250,19 @@ class PraxisTableToolbar {
|
|
|
1074
1250
|
...(extra ? { extra } : {}),
|
|
1075
1251
|
});
|
|
1076
1252
|
}
|
|
1253
|
+
warnDisabledWhenFallback(action, expression, reason, extra) {
|
|
1254
|
+
const actionId = getActionId(action) || action?.label || 'unknown';
|
|
1255
|
+
const key = `${actionId}:${expression}:${reason}`;
|
|
1256
|
+
if (this.warnedDisabledWhenFallback.has(key))
|
|
1257
|
+
return;
|
|
1258
|
+
this.warnedDisabledWhenFallback.add(key);
|
|
1259
|
+
this.warnLog('[PraxisTableToolbar] disabledWhen evaluation failed; fail-closed policy applied.', {
|
|
1260
|
+
actionId,
|
|
1261
|
+
expression,
|
|
1262
|
+
reason,
|
|
1263
|
+
...(extra ? { extra } : {}),
|
|
1264
|
+
});
|
|
1265
|
+
}
|
|
1077
1266
|
collectShortcutBindings() {
|
|
1078
1267
|
const map = new Map();
|
|
1079
1268
|
const actions = [
|
|
@@ -1415,8 +1604,8 @@ class PraxisTableToolbar {
|
|
|
1415
1604
|
[color]="getActionColor(action)"
|
|
1416
1605
|
[disabled]="isActionDisabled(action)"
|
|
1417
1606
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1418
|
-
[attr.aria-label]="
|
|
1419
|
-
[matTooltip]="action
|
|
1607
|
+
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1608
|
+
[matTooltip]="getActionTooltip(action) || action.label || getActionId(action)"
|
|
1420
1609
|
matTooltipPosition="below"
|
|
1421
1610
|
>
|
|
1422
1611
|
<mat-icon [praxisIcon]="action.icon || 'bolt'"></mat-icon>
|
|
@@ -1428,8 +1617,8 @@ class PraxisTableToolbar {
|
|
|
1428
1617
|
[color]="getActionColor(action)"
|
|
1429
1618
|
[disabled]="isActionDisabled(action)"
|
|
1430
1619
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1431
|
-
[attr.aria-label]="
|
|
1432
|
-
[matTooltip]="action
|
|
1620
|
+
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1621
|
+
[matTooltip]="getActionTooltip(action) || action.label || getActionId(action)"
|
|
1433
1622
|
matTooltipPosition="below"
|
|
1434
1623
|
>
|
|
1435
1624
|
<mat-icon [praxisIcon]="action.icon || 'bolt'"></mat-icon>
|
|
@@ -1440,6 +1629,7 @@ class PraxisTableToolbar {
|
|
|
1440
1629
|
mat-button
|
|
1441
1630
|
[color]="getActionColor(action)"
|
|
1442
1631
|
[disabled]="isActionDisabled(action)"
|
|
1632
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1443
1633
|
[matMenuTriggerFor]="startActionMenu"
|
|
1444
1634
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1445
1635
|
>
|
|
@@ -1451,6 +1641,7 @@ class PraxisTableToolbar {
|
|
|
1451
1641
|
<button
|
|
1452
1642
|
mat-menu-item
|
|
1453
1643
|
[disabled]="isActionDisabled(child)"
|
|
1644
|
+
[matTooltip]="getActionTooltip(child)"
|
|
1454
1645
|
(click)="emitToolbarAction($event, getActionId(child), child)"
|
|
1455
1646
|
>
|
|
1456
1647
|
@if (child.icon) { <mat-icon [praxisIcon]="child.icon"></mat-icon> }
|
|
@@ -1464,6 +1655,7 @@ class PraxisTableToolbar {
|
|
|
1464
1655
|
mat-button
|
|
1465
1656
|
[color]="getActionColor(action)"
|
|
1466
1657
|
[disabled]="isActionDisabled(action)"
|
|
1658
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1467
1659
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1468
1660
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1469
1661
|
>
|
|
@@ -1476,6 +1668,7 @@ class PraxisTableToolbar {
|
|
|
1476
1668
|
mat-stroked-button
|
|
1477
1669
|
[color]="getActionColor(action)"
|
|
1478
1670
|
[disabled]="isActionDisabled(action)"
|
|
1671
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1479
1672
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1480
1673
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1481
1674
|
>
|
|
@@ -1488,6 +1681,7 @@ class PraxisTableToolbar {
|
|
|
1488
1681
|
mat-raised-button
|
|
1489
1682
|
[color]="getActionColor(action)"
|
|
1490
1683
|
[disabled]="isActionDisabled(action)"
|
|
1684
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1491
1685
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1492
1686
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1493
1687
|
>
|
|
@@ -1500,6 +1694,7 @@ class PraxisTableToolbar {
|
|
|
1500
1694
|
mat-button
|
|
1501
1695
|
[color]="getActionColor(action)"
|
|
1502
1696
|
[disabled]="isActionDisabled(action)"
|
|
1697
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1503
1698
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1504
1699
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1505
1700
|
>
|
|
@@ -1512,6 +1707,7 @@ class PraxisTableToolbar {
|
|
|
1512
1707
|
mat-button
|
|
1513
1708
|
[color]="getActionColor(action)"
|
|
1514
1709
|
[disabled]="isActionDisabled(action)"
|
|
1710
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1515
1711
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1516
1712
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1517
1713
|
>
|
|
@@ -1524,6 +1720,7 @@ class PraxisTableToolbar {
|
|
|
1524
1720
|
mat-flat-button
|
|
1525
1721
|
[color]="getActionColor(action)"
|
|
1526
1722
|
[disabled]="isActionDisabled(action)"
|
|
1723
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1527
1724
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1528
1725
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1529
1726
|
>
|
|
@@ -1541,8 +1738,8 @@ class PraxisTableToolbar {
|
|
|
1541
1738
|
[color]="getActionColor(action)"
|
|
1542
1739
|
[disabled]="isActionDisabled(action)"
|
|
1543
1740
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1544
|
-
[attr.aria-label]="
|
|
1545
|
-
[matTooltip]="action
|
|
1741
|
+
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1742
|
+
[matTooltip]="getActionTooltip(action) || action.label || getActionId(action)"
|
|
1546
1743
|
matTooltipPosition="below"
|
|
1547
1744
|
>
|
|
1548
1745
|
<mat-icon [praxisIcon]="action.icon || 'bolt'"></mat-icon>
|
|
@@ -1554,8 +1751,8 @@ class PraxisTableToolbar {
|
|
|
1554
1751
|
[color]="getActionColor(action)"
|
|
1555
1752
|
[disabled]="isActionDisabled(action)"
|
|
1556
1753
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1557
|
-
[attr.aria-label]="
|
|
1558
|
-
[matTooltip]="action
|
|
1754
|
+
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1755
|
+
[matTooltip]="getActionTooltip(action) || action.label || getActionId(action)"
|
|
1559
1756
|
matTooltipPosition="below"
|
|
1560
1757
|
>
|
|
1561
1758
|
<mat-icon [praxisIcon]="action.icon || 'bolt'"></mat-icon>
|
|
@@ -1566,6 +1763,7 @@ class PraxisTableToolbar {
|
|
|
1566
1763
|
mat-button
|
|
1567
1764
|
[color]="getActionColor(action)"
|
|
1568
1765
|
[disabled]="isActionDisabled(action)"
|
|
1766
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1569
1767
|
[matMenuTriggerFor]="endActionMenu"
|
|
1570
1768
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1571
1769
|
>
|
|
@@ -1577,6 +1775,7 @@ class PraxisTableToolbar {
|
|
|
1577
1775
|
<button
|
|
1578
1776
|
mat-menu-item
|
|
1579
1777
|
[disabled]="isActionDisabled(child)"
|
|
1778
|
+
[matTooltip]="getActionTooltip(child)"
|
|
1580
1779
|
(click)="emitToolbarAction($event, getActionId(child), child)"
|
|
1581
1780
|
>
|
|
1582
1781
|
@if (child.icon) { <mat-icon [praxisIcon]="child.icon"></mat-icon> }
|
|
@@ -1590,6 +1789,7 @@ class PraxisTableToolbar {
|
|
|
1590
1789
|
mat-button
|
|
1591
1790
|
[color]="getActionColor(action)"
|
|
1592
1791
|
[disabled]="isActionDisabled(action)"
|
|
1792
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1593
1793
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1594
1794
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1595
1795
|
>
|
|
@@ -1602,6 +1802,7 @@ class PraxisTableToolbar {
|
|
|
1602
1802
|
mat-stroked-button
|
|
1603
1803
|
[color]="getActionColor(action)"
|
|
1604
1804
|
[disabled]="isActionDisabled(action)"
|
|
1805
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1605
1806
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1606
1807
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1607
1808
|
>
|
|
@@ -1614,6 +1815,7 @@ class PraxisTableToolbar {
|
|
|
1614
1815
|
mat-raised-button
|
|
1615
1816
|
[color]="getActionColor(action)"
|
|
1616
1817
|
[disabled]="isActionDisabled(action)"
|
|
1818
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1617
1819
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1618
1820
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1619
1821
|
>
|
|
@@ -1626,6 +1828,7 @@ class PraxisTableToolbar {
|
|
|
1626
1828
|
mat-button
|
|
1627
1829
|
[color]="getActionColor(action)"
|
|
1628
1830
|
[disabled]="isActionDisabled(action)"
|
|
1831
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1629
1832
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1630
1833
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1631
1834
|
>
|
|
@@ -1638,6 +1841,7 @@ class PraxisTableToolbar {
|
|
|
1638
1841
|
mat-button
|
|
1639
1842
|
[color]="getActionColor(action)"
|
|
1640
1843
|
[disabled]="isActionDisabled(action)"
|
|
1844
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1641
1845
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1642
1846
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1643
1847
|
>
|
|
@@ -1650,6 +1854,7 @@ class PraxisTableToolbar {
|
|
|
1650
1854
|
mat-flat-button
|
|
1651
1855
|
[color]="getActionColor(action)"
|
|
1652
1856
|
[disabled]="isActionDisabled(action)"
|
|
1857
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1653
1858
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1654
1859
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1655
1860
|
>
|
|
@@ -1666,6 +1871,7 @@ class PraxisTableToolbar {
|
|
|
1666
1871
|
mat-button
|
|
1667
1872
|
[color]="getActionColor(action)"
|
|
1668
1873
|
[disabled]="isActionDisabled(action)"
|
|
1874
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1669
1875
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1670
1876
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1671
1877
|
>
|
|
@@ -1692,12 +1898,28 @@ class PraxisTableToolbar {
|
|
|
1692
1898
|
@for (format of config?.export?.formats; track format) {
|
|
1693
1899
|
<button
|
|
1694
1900
|
mat-menu-item
|
|
1901
|
+
class="praxis-table-export-menu-item"
|
|
1695
1902
|
[disabled]="exportBusy"
|
|
1903
|
+
[matTooltip]="getExportFormatTooltip(format)"
|
|
1904
|
+
[attr.aria-label]="getExportFormatAriaLabel(format)"
|
|
1696
1905
|
(click)="emitExportAction($event, format)"
|
|
1697
1906
|
>
|
|
1698
1907
|
<mat-icon [praxisIcon]="getExportIcon(format)"></mat-icon>
|
|
1699
|
-
{{ format
|
|
1908
|
+
{{ getExportFormatLabel(format) }}
|
|
1700
1909
|
</button>
|
|
1910
|
+
@if (isVisibleExcelExportEnabled(format)) {
|
|
1911
|
+
<button
|
|
1912
|
+
mat-menu-item
|
|
1913
|
+
class="praxis-table-export-menu-item"
|
|
1914
|
+
[disabled]="exportBusy"
|
|
1915
|
+
[matTooltip]="getVisibleExcelExportDescription()"
|
|
1916
|
+
[attr.aria-label]="getVisibleExcelExportAriaLabel()"
|
|
1917
|
+
(click)="emitVisibleExcelExportAction($event)"
|
|
1918
|
+
>
|
|
1919
|
+
<mat-icon [praxisIcon]="'table_view'"></mat-icon>
|
|
1920
|
+
{{ getVisibleExcelExportLabel() }}
|
|
1921
|
+
</button>
|
|
1922
|
+
}
|
|
1701
1923
|
}
|
|
1702
1924
|
</mat-menu>
|
|
1703
1925
|
}
|
|
@@ -1768,6 +1990,7 @@ class PraxisTableToolbar {
|
|
|
1768
1990
|
<button
|
|
1769
1991
|
mat-menu-item
|
|
1770
1992
|
[disabled]="isActionDisabled(action)"
|
|
1993
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1771
1994
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1772
1995
|
>
|
|
1773
1996
|
@if (action.icon) { <mat-icon [praxisIcon]="action.icon"></mat-icon> }
|
|
@@ -1790,12 +2013,28 @@ class PraxisTableToolbar {
|
|
|
1790
2013
|
@for (format of config?.export?.formats; track format) {
|
|
1791
2014
|
<button
|
|
1792
2015
|
mat-menu-item
|
|
2016
|
+
class="praxis-table-export-menu-item"
|
|
1793
2017
|
[disabled]="exportBusy"
|
|
2018
|
+
[matTooltip]="getExportFormatTooltip(format)"
|
|
2019
|
+
[attr.aria-label]="getExportFormatAriaLabel(format)"
|
|
1794
2020
|
(click)="emitExportAction($event, format)"
|
|
1795
2021
|
>
|
|
1796
2022
|
<mat-icon>{{ getExportIcon(format) }}</mat-icon>
|
|
1797
|
-
{{ format
|
|
2023
|
+
{{ getExportFormatLabel(format) }}
|
|
1798
2024
|
</button>
|
|
2025
|
+
@if (isVisibleExcelExportEnabled(format)) {
|
|
2026
|
+
<button
|
|
2027
|
+
mat-menu-item
|
|
2028
|
+
class="praxis-table-export-menu-item"
|
|
2029
|
+
[disabled]="exportBusy"
|
|
2030
|
+
[matTooltip]="getVisibleExcelExportDescription()"
|
|
2031
|
+
[attr.aria-label]="getVisibleExcelExportAriaLabel()"
|
|
2032
|
+
(click)="emitVisibleExcelExportAction($event)"
|
|
2033
|
+
>
|
|
2034
|
+
<mat-icon [praxisIcon]="'table_view'"></mat-icon>
|
|
2035
|
+
{{ getVisibleExcelExportLabel() }}
|
|
2036
|
+
</button>
|
|
2037
|
+
}
|
|
1799
2038
|
}
|
|
1800
2039
|
</mat-menu>
|
|
1801
2040
|
}
|
|
@@ -1843,7 +2082,7 @@ class PraxisTableToolbar {
|
|
|
1843
2082
|
}
|
|
1844
2083
|
</div>
|
|
1845
2084
|
</mat-toolbar>
|
|
1846
|
-
`, isInline: true, styles: [":host{display:block}.praxis-toolbar{--p-table-toolbar-bg-default: linear-gradient( 180deg, color-mix(in srgb, var(--md-sys-color-surface, #fff) 96%, transparent), color-mix(in srgb, var(--md-sys-color-surface-container-low, #f6f8fc) 100%, transparent) );--p-table-toolbar-fg-default: var(--md-sys-color-on-surface, currentColor);--p-table-toolbar-border-color-default: color-mix(in srgb, var(--md-sys-color-outline-variant, #d7dbe5) 78%, transparent);--p-table-toolbar-divider-color-default: color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);--p-table-toolbar-action-hover-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);--p-table-toolbar-action-active-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);--p-table-toolbar-action-focus-ring-default: color-mix(in srgb, var(--md-sys-color-primary) 52%, transparent);--p-table-toolbar-ai-accent-color-default: var(--md-sys-color-primary, #0b72d9);--p-table-toolbar-status-fg-default: var(--md-sys-color-on-surface-variant, currentColor);background:var(--p-table-toolbar-bg, var(--p-table-toolbar-bg-default));color:var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default));box-shadow:var(--p-table-toolbar-shadow, none);padding:var(--p-table-toolbar-padding-block, var(--pfx-toolbar-pad-y, 6px)) var(--p-table-toolbar-padding-inline, var(--pfx-toolbar-pad-x, 12px));min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));display:flex;flex-direction:row;align-items:center;gap:var(--p-table-toolbar-gap, 6px);flex-wrap:wrap;border:var(--p-table-toolbar-border-width, 1px) solid var(--p-table-toolbar-border-color, var(--p-table-toolbar-border-color-default));border-radius:var(--p-table-toolbar-radius, 10px)}.praxis-toolbar.p-table-toolbar--flat{--p-table-toolbar-border-width: 0;--p-table-toolbar-shadow: none}.praxis-toolbar.p-table-toolbar--elevated{--p-table-toolbar-shadow: 0 12px 28px color-mix(in srgb, var(--md-sys-color-shadow, #000) 12%, transparent)}.praxis-toolbar.p-table-toolbar--integrated{--p-table-toolbar-bg: transparent;--p-table-toolbar-border-width: 0;--p-table-toolbar-radius: 0}.praxis-toolbar.p-table-toolbar--compact{--p-table-toolbar-min-height: 36px;--p-table-toolbar-padding-block: 4px;--p-table-toolbar-padding-inline: 10px;--p-table-toolbar-gap: 4px;--p-table-toolbar-actions-gap: 4px;--p-table-toolbar-action-size: 32px;--p-table-toolbar-action-radius: 7px}.praxis-toolbar.p-table-toolbar--comfortable{--p-table-toolbar-min-height: 44px;--p-table-toolbar-action-size: 36px}.praxis-toolbar.p-table-toolbar--spacious{--p-table-toolbar-min-height: 52px;--p-table-toolbar-padding-block: 8px;--p-table-toolbar-padding-inline: 16px;--p-table-toolbar-gap: 8px;--p-table-toolbar-actions-gap: 8px;--p-table-toolbar-action-size: 40px}.praxis-toolbar.p-table-toolbar--square{--p-table-toolbar-radius: 0;--p-table-toolbar-action-radius: 4px}.praxis-toolbar.p-table-toolbar--pill{--p-table-toolbar-radius: 999px;--p-table-toolbar-action-radius: 999px}:host(.praxis-toolbar-stack-top) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.praxis-toolbar-footer) .praxis-toolbar{border-top-left-radius:0;border-top-right-radius:0}:host(.praxis-toolbar-footer.footer-flat) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}.praxis-toolbar.mat-toolbar-single-row,.praxis-toolbar .mat-toolbar-row{height:auto}.praxis-toolbar.mat-toolbar-multiple-rows{min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px))}.toolbar-main{display:flex;align-items:center;justify-content:flex-start;min-width:0;column-gap:var(--p-table-toolbar-gap, 6px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));flex:1 1 360px;flex-wrap:wrap;container-type:inline-size}.toolbar-identity{display:flex;align-items:center;gap:var(--p-table-toolbar-identity-gap, 8px);min-width:0;max-width:100%;min-height:var(--p-table-toolbar-identity-min-height, 30px);flex:1 1 100%;margin-block-end:var(--p-table-toolbar-identity-margin-bottom, 2px);padding-inline:2px;color:var(--p-table-toolbar-title-fg, var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default)))}.toolbar-identity--center{text-align:center;justify-content:center}.toolbar-identity--end{text-align:end;justify-content:flex-end}.toolbar-identity--center .toolbar-identity__copy{align-items:center}.toolbar-identity--end .toolbar-identity__copy{align-items:flex-end}.toolbar-identity__icon{width:var(--p-table-toolbar-identity-icon-size, 28px);height:var(--p-table-toolbar-identity-icon-size, 28px);border-radius:var(--p-table-toolbar-identity-icon-radius, 8px);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor));background:color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 8%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 18%,transparent)}.toolbar-identity__icon .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.toolbar-identity__copy{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:1px}.toolbar-identity__title,.toolbar-identity__subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-identity__title{font-size:var(--p-table-toolbar-title-font-size, 14px);font-weight:var(--p-table-toolbar-title-font-weight, 700);line-height:1.2;letter-spacing:0;color:var(--p-table-toolbar-title-fg, currentColor)}.toolbar-identity__subtitle{font-size:var(--p-table-toolbar-subtitle-font-size, 11.5px);line-height:1.25;color:var(--p-table-toolbar-subtitle-fg, var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default)))}.toolbar-main>*{min-width:0}@container (max-width: 720px){.toolbar-identity{flex-basis:100%;max-width:100%}}@container (max-width: 420px){.toolbar-identity{min-width:0;flex-basis:auto}.toolbar-identity__subtitle{display:none}}.toolbar-actions{display:flex;align-items:center;align-self:flex-end;justify-content:flex-end;gap:var(--p-table-toolbar-gap, 6px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));flex:0 0 auto;margin-left:auto}.actions-group{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px)}.action-btn{height:var(--p-table-toolbar-action-size, 36px);min-width:var(--p-table-toolbar-action-size, 36px);border-radius:var(--p-table-toolbar-action-radius, 8px);font-size:12px;line-height:1.2;color:var(--p-table-toolbar-action-fg, inherit);background:var(--p-table-toolbar-action-bg, transparent)}.action-btn:hover:not(:disabled),.overflow-trigger:hover:not(:disabled),.end-actions ::ng-deep .mat-mdc-icon-button:hover:not(:disabled){background:var(--p-table-toolbar-action-hover-bg, var(--p-table-toolbar-action-hover-bg-default))}.action-btn:focus-visible,.overflow-trigger:focus-visible,.end-actions ::ng-deep .mat-mdc-icon-button:focus-visible{outline:2px solid var(--p-table-toolbar-action-focus-ring, var(--p-table-toolbar-action-focus-ring-default));outline-offset:2px}.action-btn--utility{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}.praxis-table-toolbar-action--columns.action-btn{width:var(--p-table-toolbar-action-size, 36px);padding:0}.praxis-table-toolbar-action--columns mat-icon{margin:0}.toolbar-icon-btn{width:var(--p-table-toolbar-action-size, 36px);height:var(--p-table-toolbar-action-size, 36px);border-radius:var(--p-table-toolbar-action-radius, 8px);color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.toolbar-icon-btn:hover:not(:disabled){color:var(--md-sys-color-on-primary-container);background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-primary) 36%,transparent)}.action-btn--fab{width:42px;height:42px;box-shadow:none}.pfx-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pfx-tonal:hover{background:var(--md-sys-color-secondary-container)}.mobile-actions{display:none;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px)}.overflow-trigger{height:var(--p-table-toolbar-action-size, 36px)}.action-btn .mat-icon,.action-btn--fab .mat-icon,.overflow-trigger .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.praxis-table-toolbar-action--columns .mat-icon{font-size:24px;width:24px;height:24px;line-height:24px}.praxis-table-column-menu-item.mat-mdc-menu-item{min-height:40px}.praxis-table-column-menu-content{align-items:center;display:flex;gap:10px;min-height:40px;width:100%}.praxis-table-column-menu-check.mat-icon{color:var(--md-sys-color-primary, currentColor);flex:0 0 20px;font-size:20px;height:20px;line-height:20px;margin-inline-end:0;width:20px}.action-btn.mat-mdc-button-base,.action-btn--fab.mat-mdc-button-base,.overflow-trigger.mat-mdc-button-base,.toolbar-icon-btn.mat-mdc-button-base{--mdc-text-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-filled-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-protected-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-outlined-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px)}.action-btn.mat-mdc-unelevated-button:not(:disabled),.action-btn.mat-mdc-outlined-button:not(:disabled),.action-btn.pfx-tonal:not(:disabled){border-color:color-mix(in srgb,var(--md-sys-color-outline-variant, #d7dbe5) 82%,transparent)}.action-btn.mat-mdc-unelevated-button:not(:disabled){box-shadow:none}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--md-sys-color-primary);--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);--mat-filled-button-state-layer-color: var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)!important;border-color:transparent;color:var(--md-sys-color-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%)!important}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled) .mat-icon{color:var(--md-sys-color-on-primary)!important}.action-btn.mat-mdc-button-base:not(.mat-mdc-icon-button){padding-inline:10px}.end-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px);margin-left:4px;padding-left:10px;border-left:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions:empty{display:none;gap:0;margin-left:0;padding-left:0;border-left:0}.end-actions ::ng-deep .mat-mdc-icon-button{width:var(--p-table-toolbar-action-size, 36px);height:var(--p-table-toolbar-action-size, 36px);display:inline-grid;place-items:center;padding:0;line-height:0;--mdc-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px);--mat-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px)}.end-actions ::ng-deep .mat-mdc-icon-button .mat-icon{display:block;flex:0 0 auto;font-size:24px;width:24px;height:24px;line-height:24px;margin:0}.praxis-toolbar.p-table-toolbar--divider-between-groups .actions-group,.praxis-toolbar.p-table-toolbar--divider-start .toolbar-main{padding-right:10px;border-right:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions ::ng-deep .praxis-table-toolbar-action--ai,.end-actions ::ng-deep .praxis-table-ai-trigger{color:var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default));background:color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 10%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 24%,transparent)}.end-actions ::ng-deep [data-role=table-settings]{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}@media(min-width:1024px){.toolbar-actions{justify-content:flex-end}}@media(max-width:1023px){.actions-group{display:none}.mobile-actions{display:flex}.toolbar-actions{justify-content:flex-end}.toolbar-identity{min-width:0;max-width:100%;flex:1 1 100%}}\n"], dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
|
|
2085
|
+
`, isInline: true, styles: [":host{display:block}.praxis-toolbar{--p-table-toolbar-bg-default: linear-gradient( 180deg, color-mix(in srgb, var(--md-sys-color-surface, #fff) 96%, transparent), color-mix(in srgb, var(--md-sys-color-surface-container-low, #f6f8fc) 100%, transparent) );--p-table-toolbar-fg-default: var(--md-sys-color-on-surface, currentColor);--p-table-toolbar-border-color-default: color-mix(in srgb, var(--md-sys-color-outline-variant, #d7dbe5) 78%, transparent);--p-table-toolbar-divider-color-default: color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);--p-table-toolbar-action-hover-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);--p-table-toolbar-action-active-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);--p-table-toolbar-action-focus-ring-default: color-mix(in srgb, var(--md-sys-color-primary) 52%, transparent);--p-table-toolbar-ai-accent-color-default: var(--md-sys-color-primary, #0b72d9);--p-table-toolbar-status-fg-default: var(--md-sys-color-on-surface-variant, currentColor);background:var(--p-table-toolbar-bg, var(--p-table-toolbar-bg-default));color:var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default));box-shadow:var(--p-table-toolbar-shadow, none);padding:var(--p-table-toolbar-padding-block, var(--pfx-toolbar-pad-y, 6px)) var(--p-table-toolbar-padding-inline, var(--pfx-toolbar-pad-x, 12px));min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));display:flex;flex-direction:row;align-items:center;gap:var(--p-table-toolbar-gap, 6px);flex-wrap:wrap;border:var(--p-table-toolbar-border-width, 1px) solid var(--p-table-toolbar-border-color, var(--p-table-toolbar-border-color-default));border-radius:var(--p-table-toolbar-radius, 10px)}.praxis-toolbar.p-table-toolbar--flat{--p-table-toolbar-border-width: 0;--p-table-toolbar-shadow: none}.praxis-toolbar.p-table-toolbar--elevated{--p-table-toolbar-shadow: 0 12px 28px color-mix(in srgb, var(--md-sys-color-shadow, #000) 12%, transparent)}.praxis-toolbar.p-table-toolbar--integrated{--p-table-toolbar-bg: transparent;--p-table-toolbar-border-width: 0;--p-table-toolbar-radius: 0}.praxis-toolbar.p-table-toolbar--compact{--p-table-toolbar-min-height: 36px;--p-table-toolbar-padding-block: 4px;--p-table-toolbar-padding-inline: 10px;--p-table-toolbar-gap: 4px;--p-table-toolbar-actions-gap: 4px;--p-table-toolbar-action-size: 32px;--p-table-toolbar-action-radius: 7px}.praxis-toolbar.p-table-toolbar--comfortable{--p-table-toolbar-min-height: 44px;--p-table-toolbar-action-size: 36px}.praxis-toolbar.p-table-toolbar--spacious{--p-table-toolbar-min-height: 52px;--p-table-toolbar-padding-block: 8px;--p-table-toolbar-padding-inline: 16px;--p-table-toolbar-gap: 8px;--p-table-toolbar-actions-gap: 8px;--p-table-toolbar-action-size: 40px}.praxis-toolbar.p-table-toolbar--square{--p-table-toolbar-radius: 0;--p-table-toolbar-action-radius: 4px}.praxis-toolbar.p-table-toolbar--pill{--p-table-toolbar-radius: 999px;--p-table-toolbar-action-radius: 999px}:host(.praxis-toolbar-stack-top) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.praxis-toolbar-footer) .praxis-toolbar{border-top-left-radius:0;border-top-right-radius:0}:host(.praxis-toolbar-footer.footer-flat) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}.praxis-toolbar.mat-toolbar-single-row,.praxis-toolbar .mat-toolbar-row{height:auto}.praxis-toolbar.mat-toolbar-multiple-rows{min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px))}.toolbar-main{display:flex;align-items:center;justify-content:flex-start;min-width:0;column-gap:var(--p-table-toolbar-gap, 6px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));flex:1 1 360px;flex-wrap:wrap;container-type:inline-size}.toolbar-identity{display:flex;align-items:center;gap:var(--p-table-toolbar-identity-gap, 8px);min-width:0;max-width:100%;min-height:var(--p-table-toolbar-identity-min-height, 30px);flex:1 1 100%;margin-block-end:var(--p-table-toolbar-identity-margin-bottom, 2px);padding-inline:2px;color:var(--p-table-toolbar-title-fg, var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default)))}.toolbar-identity--center{text-align:center;justify-content:center}.toolbar-identity--end{text-align:end;justify-content:flex-end}.toolbar-identity--center .toolbar-identity__copy{align-items:center}.toolbar-identity--end .toolbar-identity__copy{align-items:flex-end}.toolbar-identity__icon{width:var(--p-table-toolbar-identity-icon-size, 28px);height:var(--p-table-toolbar-identity-icon-size, 28px);border-radius:var(--p-table-toolbar-identity-icon-radius, 8px);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor));background:color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 8%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 18%,transparent)}.toolbar-identity__icon .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.toolbar-identity__copy{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:1px}.toolbar-identity__title,.toolbar-identity__subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-identity__title{font-size:var(--p-table-toolbar-title-font-size, 14px);font-weight:var(--p-table-toolbar-title-font-weight, 700);line-height:1.2;letter-spacing:0;color:var(--p-table-toolbar-title-fg, currentColor)}.toolbar-identity__subtitle{font-size:var(--p-table-toolbar-subtitle-font-size, 11.5px);line-height:1.25;color:var(--p-table-toolbar-subtitle-fg, var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default)))}.toolbar-main>*{min-width:0}@container (max-width: 720px){.toolbar-identity{flex-basis:100%;max-width:100%}}@container (max-width: 420px){.toolbar-identity{min-width:0;flex-basis:auto}.toolbar-identity__subtitle{display:none}}.toolbar-actions{display:flex;align-items:center;align-self:flex-end;justify-content:flex-end;gap:var(--p-table-toolbar-gap, 6px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));flex:0 0 auto;margin-left:auto}.actions-group{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px)}.action-btn{height:var(--p-table-toolbar-action-size, 36px);min-width:var(--p-table-toolbar-action-size, 36px);border-radius:var(--p-table-toolbar-action-radius, 8px);font-size:12px;line-height:1.2;color:var(--p-table-toolbar-action-fg, inherit);background:var(--p-table-toolbar-action-bg, transparent)}.action-btn:hover:not(:disabled),.overflow-trigger:hover:not(:disabled),.end-actions ::ng-deep .mat-mdc-icon-button:hover:not(:disabled){background:var(--p-table-toolbar-action-hover-bg, var(--p-table-toolbar-action-hover-bg-default))}.action-btn:focus-visible,.overflow-trigger:focus-visible,.end-actions ::ng-deep .mat-mdc-icon-button:focus-visible{outline:2px solid var(--p-table-toolbar-action-focus-ring, var(--p-table-toolbar-action-focus-ring-default));outline-offset:2px}.action-btn--utility{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}.praxis-table-toolbar-action--columns.action-btn{width:var(--p-table-toolbar-action-size, 36px);padding:0}.praxis-table-toolbar-action--columns mat-icon{margin:0}.toolbar-icon-btn{width:var(--p-table-toolbar-action-size, 36px);height:var(--p-table-toolbar-action-size, 36px);border-radius:var(--p-table-toolbar-action-radius, 8px);color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.toolbar-icon-btn:hover:not(:disabled){color:var(--md-sys-color-on-primary-container);background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-primary) 36%,transparent)}.action-btn--fab{width:42px;height:42px;box-shadow:none}.pfx-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pfx-tonal:hover{background:var(--md-sys-color-secondary-container)}.mobile-actions{display:none;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px)}.overflow-trigger{height:var(--p-table-toolbar-action-size, 36px)}.action-btn .mat-icon,.action-btn--fab .mat-icon,.overflow-trigger .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.praxis-table-toolbar-action--columns .mat-icon{font-size:24px;width:24px;height:24px;line-height:24px}.praxis-table-column-menu-item.mat-mdc-menu-item{min-height:40px}.praxis-table-export-menu-item.mat-mdc-menu-item{min-width:280px;white-space:nowrap}.praxis-table-column-menu-content{align-items:center;display:flex;gap:10px;min-height:40px;width:100%}.praxis-table-column-menu-check.mat-icon{color:var(--md-sys-color-primary, currentColor);flex:0 0 20px;font-size:20px;height:20px;line-height:20px;margin-inline-end:0;width:20px}.action-btn.mat-mdc-button-base,.action-btn--fab.mat-mdc-button-base,.overflow-trigger.mat-mdc-button-base,.toolbar-icon-btn.mat-mdc-button-base{--mdc-text-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-filled-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-protected-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-outlined-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px)}.action-btn.mat-mdc-unelevated-button:not(:disabled),.action-btn.mat-mdc-outlined-button:not(:disabled),.action-btn.pfx-tonal:not(:disabled){border-color:color-mix(in srgb,var(--md-sys-color-outline-variant, #d7dbe5) 82%,transparent)}.action-btn.mat-mdc-unelevated-button:not(:disabled){box-shadow:none}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--md-sys-color-primary);--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);--mat-filled-button-state-layer-color: var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)!important;border-color:transparent;color:var(--md-sys-color-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%)!important}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled) .mat-icon{color:var(--md-sys-color-on-primary)!important}.action-btn.mat-mdc-button-base:not(.mat-mdc-icon-button){padding-inline:10px}.end-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px);margin-left:4px;padding-left:10px;border-left:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions:empty{display:none;gap:0;margin-left:0;padding-left:0;border-left:0}.end-actions ::ng-deep .mat-mdc-icon-button{width:var(--p-table-toolbar-action-size, 36px);height:var(--p-table-toolbar-action-size, 36px);display:inline-grid;place-items:center;padding:0;line-height:0;--mdc-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px);--mat-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px)}.end-actions ::ng-deep .mat-mdc-icon-button .mat-icon{display:block;flex:0 0 auto;font-size:24px;width:24px;height:24px;line-height:24px;margin:0}.praxis-toolbar.p-table-toolbar--divider-between-groups .actions-group,.praxis-toolbar.p-table-toolbar--divider-start .toolbar-main{padding-right:10px;border-right:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions ::ng-deep .praxis-table-toolbar-action--ai,.end-actions ::ng-deep .praxis-table-ai-trigger{color:var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default));background:color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 10%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 24%,transparent)}.end-actions ::ng-deep [data-role=table-settings]{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}@media(min-width:1024px){.toolbar-actions{justify-content:flex-end}}@media(max-width:1023px){.actions-group{display:none}.mobile-actions{display:flex}.toolbar-actions{justify-content:flex-end}.toolbar-identity{min-width:0;max-width:100%;flex:1 1 100%}}\n"], dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
|
|
1847
2086
|
}
|
|
1848
2087
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisTableToolbar, decorators: [{
|
|
1849
2088
|
type: Component,
|
|
@@ -1949,8 +2188,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1949
2188
|
[color]="getActionColor(action)"
|
|
1950
2189
|
[disabled]="isActionDisabled(action)"
|
|
1951
2190
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1952
|
-
[attr.aria-label]="
|
|
1953
|
-
[matTooltip]="action
|
|
2191
|
+
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2192
|
+
[matTooltip]="getActionTooltip(action) || action.label || getActionId(action)"
|
|
1954
2193
|
matTooltipPosition="below"
|
|
1955
2194
|
>
|
|
1956
2195
|
<mat-icon [praxisIcon]="action.icon || 'bolt'"></mat-icon>
|
|
@@ -1962,8 +2201,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1962
2201
|
[color]="getActionColor(action)"
|
|
1963
2202
|
[disabled]="isActionDisabled(action)"
|
|
1964
2203
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
1965
|
-
[attr.aria-label]="
|
|
1966
|
-
[matTooltip]="action
|
|
2204
|
+
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2205
|
+
[matTooltip]="getActionTooltip(action) || action.label || getActionId(action)"
|
|
1967
2206
|
matTooltipPosition="below"
|
|
1968
2207
|
>
|
|
1969
2208
|
<mat-icon [praxisIcon]="action.icon || 'bolt'"></mat-icon>
|
|
@@ -1974,6 +2213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1974
2213
|
mat-button
|
|
1975
2214
|
[color]="getActionColor(action)"
|
|
1976
2215
|
[disabled]="isActionDisabled(action)"
|
|
2216
|
+
[matTooltip]="getActionTooltip(action)"
|
|
1977
2217
|
[matMenuTriggerFor]="startActionMenu"
|
|
1978
2218
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
1979
2219
|
>
|
|
@@ -1985,6 +2225,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1985
2225
|
<button
|
|
1986
2226
|
mat-menu-item
|
|
1987
2227
|
[disabled]="isActionDisabled(child)"
|
|
2228
|
+
[matTooltip]="getActionTooltip(child)"
|
|
1988
2229
|
(click)="emitToolbarAction($event, getActionId(child), child)"
|
|
1989
2230
|
>
|
|
1990
2231
|
@if (child.icon) { <mat-icon [praxisIcon]="child.icon"></mat-icon> }
|
|
@@ -1998,6 +2239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1998
2239
|
mat-button
|
|
1999
2240
|
[color]="getActionColor(action)"
|
|
2000
2241
|
[disabled]="isActionDisabled(action)"
|
|
2242
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2001
2243
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2002
2244
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2003
2245
|
>
|
|
@@ -2010,6 +2252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2010
2252
|
mat-stroked-button
|
|
2011
2253
|
[color]="getActionColor(action)"
|
|
2012
2254
|
[disabled]="isActionDisabled(action)"
|
|
2255
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2013
2256
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2014
2257
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2015
2258
|
>
|
|
@@ -2022,6 +2265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2022
2265
|
mat-raised-button
|
|
2023
2266
|
[color]="getActionColor(action)"
|
|
2024
2267
|
[disabled]="isActionDisabled(action)"
|
|
2268
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2025
2269
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2026
2270
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2027
2271
|
>
|
|
@@ -2034,6 +2278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2034
2278
|
mat-button
|
|
2035
2279
|
[color]="getActionColor(action)"
|
|
2036
2280
|
[disabled]="isActionDisabled(action)"
|
|
2281
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2037
2282
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2038
2283
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2039
2284
|
>
|
|
@@ -2046,6 +2291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2046
2291
|
mat-button
|
|
2047
2292
|
[color]="getActionColor(action)"
|
|
2048
2293
|
[disabled]="isActionDisabled(action)"
|
|
2294
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2049
2295
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2050
2296
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2051
2297
|
>
|
|
@@ -2058,6 +2304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2058
2304
|
mat-flat-button
|
|
2059
2305
|
[color]="getActionColor(action)"
|
|
2060
2306
|
[disabled]="isActionDisabled(action)"
|
|
2307
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2061
2308
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2062
2309
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2063
2310
|
>
|
|
@@ -2075,8 +2322,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2075
2322
|
[color]="getActionColor(action)"
|
|
2076
2323
|
[disabled]="isActionDisabled(action)"
|
|
2077
2324
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2078
|
-
[attr.aria-label]="
|
|
2079
|
-
[matTooltip]="action
|
|
2325
|
+
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2326
|
+
[matTooltip]="getActionTooltip(action) || action.label || getActionId(action)"
|
|
2080
2327
|
matTooltipPosition="below"
|
|
2081
2328
|
>
|
|
2082
2329
|
<mat-icon [praxisIcon]="action.icon || 'bolt'"></mat-icon>
|
|
@@ -2088,8 +2335,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2088
2335
|
[color]="getActionColor(action)"
|
|
2089
2336
|
[disabled]="isActionDisabled(action)"
|
|
2090
2337
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2091
|
-
[attr.aria-label]="
|
|
2092
|
-
[matTooltip]="action
|
|
2338
|
+
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2339
|
+
[matTooltip]="getActionTooltip(action) || action.label || getActionId(action)"
|
|
2093
2340
|
matTooltipPosition="below"
|
|
2094
2341
|
>
|
|
2095
2342
|
<mat-icon [praxisIcon]="action.icon || 'bolt'"></mat-icon>
|
|
@@ -2100,6 +2347,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2100
2347
|
mat-button
|
|
2101
2348
|
[color]="getActionColor(action)"
|
|
2102
2349
|
[disabled]="isActionDisabled(action)"
|
|
2350
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2103
2351
|
[matMenuTriggerFor]="endActionMenu"
|
|
2104
2352
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2105
2353
|
>
|
|
@@ -2111,6 +2359,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2111
2359
|
<button
|
|
2112
2360
|
mat-menu-item
|
|
2113
2361
|
[disabled]="isActionDisabled(child)"
|
|
2362
|
+
[matTooltip]="getActionTooltip(child)"
|
|
2114
2363
|
(click)="emitToolbarAction($event, getActionId(child), child)"
|
|
2115
2364
|
>
|
|
2116
2365
|
@if (child.icon) { <mat-icon [praxisIcon]="child.icon"></mat-icon> }
|
|
@@ -2124,6 +2373,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2124
2373
|
mat-button
|
|
2125
2374
|
[color]="getActionColor(action)"
|
|
2126
2375
|
[disabled]="isActionDisabled(action)"
|
|
2376
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2127
2377
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2128
2378
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2129
2379
|
>
|
|
@@ -2136,6 +2386,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2136
2386
|
mat-stroked-button
|
|
2137
2387
|
[color]="getActionColor(action)"
|
|
2138
2388
|
[disabled]="isActionDisabled(action)"
|
|
2389
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2139
2390
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2140
2391
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2141
2392
|
>
|
|
@@ -2148,6 +2399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2148
2399
|
mat-raised-button
|
|
2149
2400
|
[color]="getActionColor(action)"
|
|
2150
2401
|
[disabled]="isActionDisabled(action)"
|
|
2402
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2151
2403
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2152
2404
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2153
2405
|
>
|
|
@@ -2160,6 +2412,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2160
2412
|
mat-button
|
|
2161
2413
|
[color]="getActionColor(action)"
|
|
2162
2414
|
[disabled]="isActionDisabled(action)"
|
|
2415
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2163
2416
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2164
2417
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2165
2418
|
>
|
|
@@ -2172,6 +2425,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2172
2425
|
mat-button
|
|
2173
2426
|
[color]="getActionColor(action)"
|
|
2174
2427
|
[disabled]="isActionDisabled(action)"
|
|
2428
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2175
2429
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2176
2430
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2177
2431
|
>
|
|
@@ -2184,6 +2438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2184
2438
|
mat-flat-button
|
|
2185
2439
|
[color]="getActionColor(action)"
|
|
2186
2440
|
[disabled]="isActionDisabled(action)"
|
|
2441
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2187
2442
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2188
2443
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2189
2444
|
>
|
|
@@ -2200,6 +2455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2200
2455
|
mat-button
|
|
2201
2456
|
[color]="getActionColor(action)"
|
|
2202
2457
|
[disabled]="isActionDisabled(action)"
|
|
2458
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2203
2459
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2204
2460
|
[attr.aria-label]="getActionAriaLabel(action)"
|
|
2205
2461
|
>
|
|
@@ -2226,12 +2482,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2226
2482
|
@for (format of config?.export?.formats; track format) {
|
|
2227
2483
|
<button
|
|
2228
2484
|
mat-menu-item
|
|
2485
|
+
class="praxis-table-export-menu-item"
|
|
2229
2486
|
[disabled]="exportBusy"
|
|
2487
|
+
[matTooltip]="getExportFormatTooltip(format)"
|
|
2488
|
+
[attr.aria-label]="getExportFormatAriaLabel(format)"
|
|
2230
2489
|
(click)="emitExportAction($event, format)"
|
|
2231
2490
|
>
|
|
2232
2491
|
<mat-icon [praxisIcon]="getExportIcon(format)"></mat-icon>
|
|
2233
|
-
{{ format
|
|
2492
|
+
{{ getExportFormatLabel(format) }}
|
|
2234
2493
|
</button>
|
|
2494
|
+
@if (isVisibleExcelExportEnabled(format)) {
|
|
2495
|
+
<button
|
|
2496
|
+
mat-menu-item
|
|
2497
|
+
class="praxis-table-export-menu-item"
|
|
2498
|
+
[disabled]="exportBusy"
|
|
2499
|
+
[matTooltip]="getVisibleExcelExportDescription()"
|
|
2500
|
+
[attr.aria-label]="getVisibleExcelExportAriaLabel()"
|
|
2501
|
+
(click)="emitVisibleExcelExportAction($event)"
|
|
2502
|
+
>
|
|
2503
|
+
<mat-icon [praxisIcon]="'table_view'"></mat-icon>
|
|
2504
|
+
{{ getVisibleExcelExportLabel() }}
|
|
2505
|
+
</button>
|
|
2506
|
+
}
|
|
2235
2507
|
}
|
|
2236
2508
|
</mat-menu>
|
|
2237
2509
|
}
|
|
@@ -2302,6 +2574,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2302
2574
|
<button
|
|
2303
2575
|
mat-menu-item
|
|
2304
2576
|
[disabled]="isActionDisabled(action)"
|
|
2577
|
+
[matTooltip]="getActionTooltip(action)"
|
|
2305
2578
|
(click)="emitToolbarAction($event, getActionId(action), action)"
|
|
2306
2579
|
>
|
|
2307
2580
|
@if (action.icon) { <mat-icon [praxisIcon]="action.icon"></mat-icon> }
|
|
@@ -2324,12 +2597,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2324
2597
|
@for (format of config?.export?.formats; track format) {
|
|
2325
2598
|
<button
|
|
2326
2599
|
mat-menu-item
|
|
2600
|
+
class="praxis-table-export-menu-item"
|
|
2327
2601
|
[disabled]="exportBusy"
|
|
2602
|
+
[matTooltip]="getExportFormatTooltip(format)"
|
|
2603
|
+
[attr.aria-label]="getExportFormatAriaLabel(format)"
|
|
2328
2604
|
(click)="emitExportAction($event, format)"
|
|
2329
2605
|
>
|
|
2330
2606
|
<mat-icon>{{ getExportIcon(format) }}</mat-icon>
|
|
2331
|
-
{{ format
|
|
2607
|
+
{{ getExportFormatLabel(format) }}
|
|
2332
2608
|
</button>
|
|
2609
|
+
@if (isVisibleExcelExportEnabled(format)) {
|
|
2610
|
+
<button
|
|
2611
|
+
mat-menu-item
|
|
2612
|
+
class="praxis-table-export-menu-item"
|
|
2613
|
+
[disabled]="exportBusy"
|
|
2614
|
+
[matTooltip]="getVisibleExcelExportDescription()"
|
|
2615
|
+
[attr.aria-label]="getVisibleExcelExportAriaLabel()"
|
|
2616
|
+
(click)="emitVisibleExcelExportAction($event)"
|
|
2617
|
+
>
|
|
2618
|
+
<mat-icon [praxisIcon]="'table_view'"></mat-icon>
|
|
2619
|
+
{{ getVisibleExcelExportLabel() }}
|
|
2620
|
+
</button>
|
|
2621
|
+
}
|
|
2333
2622
|
}
|
|
2334
2623
|
</mat-menu>
|
|
2335
2624
|
}
|
|
@@ -2380,7 +2669,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
2380
2669
|
`, host: {
|
|
2381
2670
|
'[class.praxis-toolbar-footer]': "placement === 'footer'",
|
|
2382
2671
|
'(document:keydown)': 'onDocumentKeydown($event)',
|
|
2383
|
-
}, styles: [":host{display:block}.praxis-toolbar{--p-table-toolbar-bg-default: linear-gradient( 180deg, color-mix(in srgb, var(--md-sys-color-surface, #fff) 96%, transparent), color-mix(in srgb, var(--md-sys-color-surface-container-low, #f6f8fc) 100%, transparent) );--p-table-toolbar-fg-default: var(--md-sys-color-on-surface, currentColor);--p-table-toolbar-border-color-default: color-mix(in srgb, var(--md-sys-color-outline-variant, #d7dbe5) 78%, transparent);--p-table-toolbar-divider-color-default: color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);--p-table-toolbar-action-hover-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);--p-table-toolbar-action-active-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);--p-table-toolbar-action-focus-ring-default: color-mix(in srgb, var(--md-sys-color-primary) 52%, transparent);--p-table-toolbar-ai-accent-color-default: var(--md-sys-color-primary, #0b72d9);--p-table-toolbar-status-fg-default: var(--md-sys-color-on-surface-variant, currentColor);background:var(--p-table-toolbar-bg, var(--p-table-toolbar-bg-default));color:var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default));box-shadow:var(--p-table-toolbar-shadow, none);padding:var(--p-table-toolbar-padding-block, var(--pfx-toolbar-pad-y, 6px)) var(--p-table-toolbar-padding-inline, var(--pfx-toolbar-pad-x, 12px));min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));display:flex;flex-direction:row;align-items:center;gap:var(--p-table-toolbar-gap, 6px);flex-wrap:wrap;border:var(--p-table-toolbar-border-width, 1px) solid var(--p-table-toolbar-border-color, var(--p-table-toolbar-border-color-default));border-radius:var(--p-table-toolbar-radius, 10px)}.praxis-toolbar.p-table-toolbar--flat{--p-table-toolbar-border-width: 0;--p-table-toolbar-shadow: none}.praxis-toolbar.p-table-toolbar--elevated{--p-table-toolbar-shadow: 0 12px 28px color-mix(in srgb, var(--md-sys-color-shadow, #000) 12%, transparent)}.praxis-toolbar.p-table-toolbar--integrated{--p-table-toolbar-bg: transparent;--p-table-toolbar-border-width: 0;--p-table-toolbar-radius: 0}.praxis-toolbar.p-table-toolbar--compact{--p-table-toolbar-min-height: 36px;--p-table-toolbar-padding-block: 4px;--p-table-toolbar-padding-inline: 10px;--p-table-toolbar-gap: 4px;--p-table-toolbar-actions-gap: 4px;--p-table-toolbar-action-size: 32px;--p-table-toolbar-action-radius: 7px}.praxis-toolbar.p-table-toolbar--comfortable{--p-table-toolbar-min-height: 44px;--p-table-toolbar-action-size: 36px}.praxis-toolbar.p-table-toolbar--spacious{--p-table-toolbar-min-height: 52px;--p-table-toolbar-padding-block: 8px;--p-table-toolbar-padding-inline: 16px;--p-table-toolbar-gap: 8px;--p-table-toolbar-actions-gap: 8px;--p-table-toolbar-action-size: 40px}.praxis-toolbar.p-table-toolbar--square{--p-table-toolbar-radius: 0;--p-table-toolbar-action-radius: 4px}.praxis-toolbar.p-table-toolbar--pill{--p-table-toolbar-radius: 999px;--p-table-toolbar-action-radius: 999px}:host(.praxis-toolbar-stack-top) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.praxis-toolbar-footer) .praxis-toolbar{border-top-left-radius:0;border-top-right-radius:0}:host(.praxis-toolbar-footer.footer-flat) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}.praxis-toolbar.mat-toolbar-single-row,.praxis-toolbar .mat-toolbar-row{height:auto}.praxis-toolbar.mat-toolbar-multiple-rows{min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px))}.toolbar-main{display:flex;align-items:center;justify-content:flex-start;min-width:0;column-gap:var(--p-table-toolbar-gap, 6px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));flex:1 1 360px;flex-wrap:wrap;container-type:inline-size}.toolbar-identity{display:flex;align-items:center;gap:var(--p-table-toolbar-identity-gap, 8px);min-width:0;max-width:100%;min-height:var(--p-table-toolbar-identity-min-height, 30px);flex:1 1 100%;margin-block-end:var(--p-table-toolbar-identity-margin-bottom, 2px);padding-inline:2px;color:var(--p-table-toolbar-title-fg, var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default)))}.toolbar-identity--center{text-align:center;justify-content:center}.toolbar-identity--end{text-align:end;justify-content:flex-end}.toolbar-identity--center .toolbar-identity__copy{align-items:center}.toolbar-identity--end .toolbar-identity__copy{align-items:flex-end}.toolbar-identity__icon{width:var(--p-table-toolbar-identity-icon-size, 28px);height:var(--p-table-toolbar-identity-icon-size, 28px);border-radius:var(--p-table-toolbar-identity-icon-radius, 8px);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor));background:color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 8%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 18%,transparent)}.toolbar-identity__icon .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.toolbar-identity__copy{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:1px}.toolbar-identity__title,.toolbar-identity__subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-identity__title{font-size:var(--p-table-toolbar-title-font-size, 14px);font-weight:var(--p-table-toolbar-title-font-weight, 700);line-height:1.2;letter-spacing:0;color:var(--p-table-toolbar-title-fg, currentColor)}.toolbar-identity__subtitle{font-size:var(--p-table-toolbar-subtitle-font-size, 11.5px);line-height:1.25;color:var(--p-table-toolbar-subtitle-fg, var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default)))}.toolbar-main>*{min-width:0}@container (max-width: 720px){.toolbar-identity{flex-basis:100%;max-width:100%}}@container (max-width: 420px){.toolbar-identity{min-width:0;flex-basis:auto}.toolbar-identity__subtitle{display:none}}.toolbar-actions{display:flex;align-items:center;align-self:flex-end;justify-content:flex-end;gap:var(--p-table-toolbar-gap, 6px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));flex:0 0 auto;margin-left:auto}.actions-group{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px)}.action-btn{height:var(--p-table-toolbar-action-size, 36px);min-width:var(--p-table-toolbar-action-size, 36px);border-radius:var(--p-table-toolbar-action-radius, 8px);font-size:12px;line-height:1.2;color:var(--p-table-toolbar-action-fg, inherit);background:var(--p-table-toolbar-action-bg, transparent)}.action-btn:hover:not(:disabled),.overflow-trigger:hover:not(:disabled),.end-actions ::ng-deep .mat-mdc-icon-button:hover:not(:disabled){background:var(--p-table-toolbar-action-hover-bg, var(--p-table-toolbar-action-hover-bg-default))}.action-btn:focus-visible,.overflow-trigger:focus-visible,.end-actions ::ng-deep .mat-mdc-icon-button:focus-visible{outline:2px solid var(--p-table-toolbar-action-focus-ring, var(--p-table-toolbar-action-focus-ring-default));outline-offset:2px}.action-btn--utility{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}.praxis-table-toolbar-action--columns.action-btn{width:var(--p-table-toolbar-action-size, 36px);padding:0}.praxis-table-toolbar-action--columns mat-icon{margin:0}.toolbar-icon-btn{width:var(--p-table-toolbar-action-size, 36px);height:var(--p-table-toolbar-action-size, 36px);border-radius:var(--p-table-toolbar-action-radius, 8px);color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.toolbar-icon-btn:hover:not(:disabled){color:var(--md-sys-color-on-primary-container);background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-primary) 36%,transparent)}.action-btn--fab{width:42px;height:42px;box-shadow:none}.pfx-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pfx-tonal:hover{background:var(--md-sys-color-secondary-container)}.mobile-actions{display:none;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px)}.overflow-trigger{height:var(--p-table-toolbar-action-size, 36px)}.action-btn .mat-icon,.action-btn--fab .mat-icon,.overflow-trigger .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.praxis-table-toolbar-action--columns .mat-icon{font-size:24px;width:24px;height:24px;line-height:24px}.praxis-table-column-menu-item.mat-mdc-menu-item{min-height:40px}.praxis-table-column-menu-content{align-items:center;display:flex;gap:10px;min-height:40px;width:100%}.praxis-table-column-menu-check.mat-icon{color:var(--md-sys-color-primary, currentColor);flex:0 0 20px;font-size:20px;height:20px;line-height:20px;margin-inline-end:0;width:20px}.action-btn.mat-mdc-button-base,.action-btn--fab.mat-mdc-button-base,.overflow-trigger.mat-mdc-button-base,.toolbar-icon-btn.mat-mdc-button-base{--mdc-text-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-filled-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-protected-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-outlined-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px)}.action-btn.mat-mdc-unelevated-button:not(:disabled),.action-btn.mat-mdc-outlined-button:not(:disabled),.action-btn.pfx-tonal:not(:disabled){border-color:color-mix(in srgb,var(--md-sys-color-outline-variant, #d7dbe5) 82%,transparent)}.action-btn.mat-mdc-unelevated-button:not(:disabled){box-shadow:none}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--md-sys-color-primary);--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);--mat-filled-button-state-layer-color: var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)!important;border-color:transparent;color:var(--md-sys-color-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%)!important}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled) .mat-icon{color:var(--md-sys-color-on-primary)!important}.action-btn.mat-mdc-button-base:not(.mat-mdc-icon-button){padding-inline:10px}.end-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px);margin-left:4px;padding-left:10px;border-left:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions:empty{display:none;gap:0;margin-left:0;padding-left:0;border-left:0}.end-actions ::ng-deep .mat-mdc-icon-button{width:var(--p-table-toolbar-action-size, 36px);height:var(--p-table-toolbar-action-size, 36px);display:inline-grid;place-items:center;padding:0;line-height:0;--mdc-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px);--mat-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px)}.end-actions ::ng-deep .mat-mdc-icon-button .mat-icon{display:block;flex:0 0 auto;font-size:24px;width:24px;height:24px;line-height:24px;margin:0}.praxis-toolbar.p-table-toolbar--divider-between-groups .actions-group,.praxis-toolbar.p-table-toolbar--divider-start .toolbar-main{padding-right:10px;border-right:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions ::ng-deep .praxis-table-toolbar-action--ai,.end-actions ::ng-deep .praxis-table-ai-trigger{color:var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default));background:color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 10%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 24%,transparent)}.end-actions ::ng-deep [data-role=table-settings]{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}@media(min-width:1024px){.toolbar-actions{justify-content:flex-end}}@media(max-width:1023px){.actions-group{display:none}.mobile-actions{display:flex}.toolbar-actions{justify-content:flex-end}.toolbar-identity{min-width:0;max-width:100%;flex:1 1 100%}}\n"] }]
|
|
2672
|
+
}, styles: [":host{display:block}.praxis-toolbar{--p-table-toolbar-bg-default: linear-gradient( 180deg, color-mix(in srgb, var(--md-sys-color-surface, #fff) 96%, transparent), color-mix(in srgb, var(--md-sys-color-surface-container-low, #f6f8fc) 100%, transparent) );--p-table-toolbar-fg-default: var(--md-sys-color-on-surface, currentColor);--p-table-toolbar-border-color-default: color-mix(in srgb, var(--md-sys-color-outline-variant, #d7dbe5) 78%, transparent);--p-table-toolbar-divider-color-default: color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);--p-table-toolbar-action-hover-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);--p-table-toolbar-action-active-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);--p-table-toolbar-action-focus-ring-default: color-mix(in srgb, var(--md-sys-color-primary) 52%, transparent);--p-table-toolbar-ai-accent-color-default: var(--md-sys-color-primary, #0b72d9);--p-table-toolbar-status-fg-default: var(--md-sys-color-on-surface-variant, currentColor);background:var(--p-table-toolbar-bg, var(--p-table-toolbar-bg-default));color:var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default));box-shadow:var(--p-table-toolbar-shadow, none);padding:var(--p-table-toolbar-padding-block, var(--pfx-toolbar-pad-y, 6px)) var(--p-table-toolbar-padding-inline, var(--pfx-toolbar-pad-x, 12px));min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));display:flex;flex-direction:row;align-items:center;gap:var(--p-table-toolbar-gap, 6px);flex-wrap:wrap;border:var(--p-table-toolbar-border-width, 1px) solid var(--p-table-toolbar-border-color, var(--p-table-toolbar-border-color-default));border-radius:var(--p-table-toolbar-radius, 10px)}.praxis-toolbar.p-table-toolbar--flat{--p-table-toolbar-border-width: 0;--p-table-toolbar-shadow: none}.praxis-toolbar.p-table-toolbar--elevated{--p-table-toolbar-shadow: 0 12px 28px color-mix(in srgb, var(--md-sys-color-shadow, #000) 12%, transparent)}.praxis-toolbar.p-table-toolbar--integrated{--p-table-toolbar-bg: transparent;--p-table-toolbar-border-width: 0;--p-table-toolbar-radius: 0}.praxis-toolbar.p-table-toolbar--compact{--p-table-toolbar-min-height: 36px;--p-table-toolbar-padding-block: 4px;--p-table-toolbar-padding-inline: 10px;--p-table-toolbar-gap: 4px;--p-table-toolbar-actions-gap: 4px;--p-table-toolbar-action-size: 32px;--p-table-toolbar-action-radius: 7px}.praxis-toolbar.p-table-toolbar--comfortable{--p-table-toolbar-min-height: 44px;--p-table-toolbar-action-size: 36px}.praxis-toolbar.p-table-toolbar--spacious{--p-table-toolbar-min-height: 52px;--p-table-toolbar-padding-block: 8px;--p-table-toolbar-padding-inline: 16px;--p-table-toolbar-gap: 8px;--p-table-toolbar-actions-gap: 8px;--p-table-toolbar-action-size: 40px}.praxis-toolbar.p-table-toolbar--square{--p-table-toolbar-radius: 0;--p-table-toolbar-action-radius: 4px}.praxis-toolbar.p-table-toolbar--pill{--p-table-toolbar-radius: 999px;--p-table-toolbar-action-radius: 999px}:host(.praxis-toolbar-stack-top) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.praxis-toolbar-footer) .praxis-toolbar{border-top-left-radius:0;border-top-right-radius:0}:host(.praxis-toolbar-footer.footer-flat) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}.praxis-toolbar.mat-toolbar-single-row,.praxis-toolbar .mat-toolbar-row{height:auto}.praxis-toolbar.mat-toolbar-multiple-rows{min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px))}.toolbar-main{display:flex;align-items:center;justify-content:flex-start;min-width:0;column-gap:var(--p-table-toolbar-gap, 6px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));flex:1 1 360px;flex-wrap:wrap;container-type:inline-size}.toolbar-identity{display:flex;align-items:center;gap:var(--p-table-toolbar-identity-gap, 8px);min-width:0;max-width:100%;min-height:var(--p-table-toolbar-identity-min-height, 30px);flex:1 1 100%;margin-block-end:var(--p-table-toolbar-identity-margin-bottom, 2px);padding-inline:2px;color:var(--p-table-toolbar-title-fg, var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default)))}.toolbar-identity--center{text-align:center;justify-content:center}.toolbar-identity--end{text-align:end;justify-content:flex-end}.toolbar-identity--center .toolbar-identity__copy{align-items:center}.toolbar-identity--end .toolbar-identity__copy{align-items:flex-end}.toolbar-identity__icon{width:var(--p-table-toolbar-identity-icon-size, 28px);height:var(--p-table-toolbar-identity-icon-size, 28px);border-radius:var(--p-table-toolbar-identity-icon-radius, 8px);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor));background:color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 8%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 18%,transparent)}.toolbar-identity__icon .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.toolbar-identity__copy{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:1px}.toolbar-identity__title,.toolbar-identity__subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-identity__title{font-size:var(--p-table-toolbar-title-font-size, 14px);font-weight:var(--p-table-toolbar-title-font-weight, 700);line-height:1.2;letter-spacing:0;color:var(--p-table-toolbar-title-fg, currentColor)}.toolbar-identity__subtitle{font-size:var(--p-table-toolbar-subtitle-font-size, 11.5px);line-height:1.25;color:var(--p-table-toolbar-subtitle-fg, var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default)))}.toolbar-main>*{min-width:0}@container (max-width: 720px){.toolbar-identity{flex-basis:100%;max-width:100%}}@container (max-width: 420px){.toolbar-identity{min-width:0;flex-basis:auto}.toolbar-identity__subtitle{display:none}}.toolbar-actions{display:flex;align-items:center;align-self:flex-end;justify-content:flex-end;gap:var(--p-table-toolbar-gap, 6px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));flex:0 0 auto;margin-left:auto}.actions-group{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px)}.action-btn{height:var(--p-table-toolbar-action-size, 36px);min-width:var(--p-table-toolbar-action-size, 36px);border-radius:var(--p-table-toolbar-action-radius, 8px);font-size:12px;line-height:1.2;color:var(--p-table-toolbar-action-fg, inherit);background:var(--p-table-toolbar-action-bg, transparent)}.action-btn:hover:not(:disabled),.overflow-trigger:hover:not(:disabled),.end-actions ::ng-deep .mat-mdc-icon-button:hover:not(:disabled){background:var(--p-table-toolbar-action-hover-bg, var(--p-table-toolbar-action-hover-bg-default))}.action-btn:focus-visible,.overflow-trigger:focus-visible,.end-actions ::ng-deep .mat-mdc-icon-button:focus-visible{outline:2px solid var(--p-table-toolbar-action-focus-ring, var(--p-table-toolbar-action-focus-ring-default));outline-offset:2px}.action-btn--utility{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}.praxis-table-toolbar-action--columns.action-btn{width:var(--p-table-toolbar-action-size, 36px);padding:0}.praxis-table-toolbar-action--columns mat-icon{margin:0}.toolbar-icon-btn{width:var(--p-table-toolbar-action-size, 36px);height:var(--p-table-toolbar-action-size, 36px);border-radius:var(--p-table-toolbar-action-radius, 8px);color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.toolbar-icon-btn:hover:not(:disabled){color:var(--md-sys-color-on-primary-container);background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-primary) 36%,transparent)}.action-btn--fab{width:42px;height:42px;box-shadow:none}.pfx-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pfx-tonal:hover{background:var(--md-sys-color-secondary-container)}.mobile-actions{display:none;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px)}.overflow-trigger{height:var(--p-table-toolbar-action-size, 36px)}.action-btn .mat-icon,.action-btn--fab .mat-icon,.overflow-trigger .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.praxis-table-toolbar-action--columns .mat-icon{font-size:24px;width:24px;height:24px;line-height:24px}.praxis-table-column-menu-item.mat-mdc-menu-item{min-height:40px}.praxis-table-export-menu-item.mat-mdc-menu-item{min-width:280px;white-space:nowrap}.praxis-table-column-menu-content{align-items:center;display:flex;gap:10px;min-height:40px;width:100%}.praxis-table-column-menu-check.mat-icon{color:var(--md-sys-color-primary, currentColor);flex:0 0 20px;font-size:20px;height:20px;line-height:20px;margin-inline-end:0;width:20px}.action-btn.mat-mdc-button-base,.action-btn--fab.mat-mdc-button-base,.overflow-trigger.mat-mdc-button-base,.toolbar-icon-btn.mat-mdc-button-base{--mdc-text-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-filled-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-protected-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-outlined-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px)}.action-btn.mat-mdc-unelevated-button:not(:disabled),.action-btn.mat-mdc-outlined-button:not(:disabled),.action-btn.pfx-tonal:not(:disabled){border-color:color-mix(in srgb,var(--md-sys-color-outline-variant, #d7dbe5) 82%,transparent)}.action-btn.mat-mdc-unelevated-button:not(:disabled){box-shadow:none}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--md-sys-color-primary);--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);--mat-filled-button-state-layer-color: var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)!important;border-color:transparent;color:var(--md-sys-color-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%)!important}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled) .mat-icon{color:var(--md-sys-color-on-primary)!important}.action-btn.mat-mdc-button-base:not(.mat-mdc-icon-button){padding-inline:10px}.end-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 6px);margin-left:4px;padding-left:10px;border-left:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions:empty{display:none;gap:0;margin-left:0;padding-left:0;border-left:0}.end-actions ::ng-deep .mat-mdc-icon-button{width:var(--p-table-toolbar-action-size, 36px);height:var(--p-table-toolbar-action-size, 36px);display:inline-grid;place-items:center;padding:0;line-height:0;--mdc-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px);--mat-icon-button-state-layer-size: var(--p-table-toolbar-action-size, 36px)}.end-actions ::ng-deep .mat-mdc-icon-button .mat-icon{display:block;flex:0 0 auto;font-size:24px;width:24px;height:24px;line-height:24px;margin:0}.praxis-toolbar.p-table-toolbar--divider-between-groups .actions-group,.praxis-toolbar.p-table-toolbar--divider-start .toolbar-main{padding-right:10px;border-right:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions ::ng-deep .praxis-table-toolbar-action--ai,.end-actions ::ng-deep .praxis-table-ai-trigger{color:var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default));background:color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 10%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 24%,transparent)}.end-actions ::ng-deep [data-role=table-settings]{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}@media(min-width:1024px){.toolbar-actions{justify-content:flex-end}}@media(max-width:1023px){.actions-group{display:none}.mobile-actions{display:flex}.toolbar-actions{justify-content:flex-end}.toolbar-identity{min-width:0;max-width:100%;flex:1 1 100%}}\n"] }]
|
|
2384
2673
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LoggerService, decorators: [{
|
|
2385
2674
|
type: Optional
|
|
2386
2675
|
}] }, { type: i1.PraxisI18nService, decorators: [{
|
|
@@ -8349,6 +8638,7 @@ const PRAXIS_TABLE_EDITOR_I18N_CONFIG = {
|
|
|
8349
8638
|
'toolbar.export.fileName': 'Nome padrão do arquivo',
|
|
8350
8639
|
'toolbar.export.fileName.placeholder': 'dados-export',
|
|
8351
8640
|
'toolbar.export.includeHeaders': 'Incluir cabeçalhos',
|
|
8641
|
+
'toolbar.export.visibleCurrentPage': 'Exibir Excel da página atual',
|
|
8352
8642
|
'toolbar.export.scope': 'Escopo da exportação',
|
|
8353
8643
|
'toolbar.export.scope.auto': 'Seleção ou visão atual',
|
|
8354
8644
|
'toolbar.export.scope.selected': 'Linhas selecionadas',
|
|
@@ -9453,6 +9743,7 @@ const PRAXIS_TABLE_EDITOR_I18N_CONFIG = {
|
|
|
9453
9743
|
'toolbar.export.fileName': 'Default file name',
|
|
9454
9744
|
'toolbar.export.fileName.placeholder': 'data-export',
|
|
9455
9745
|
'toolbar.export.includeHeaders': 'Include headers',
|
|
9746
|
+
'toolbar.export.visibleCurrentPage': 'Show current-page Excel',
|
|
9456
9747
|
'toolbar.export.scope': 'Export scope',
|
|
9457
9748
|
'toolbar.export.scope.auto': 'Selection or current view',
|
|
9458
9749
|
'toolbar.export.scope.selected': 'Selected rows',
|
|
@@ -19595,6 +19886,7 @@ class ToolbarActionsEditorComponent {
|
|
|
19595
19886
|
exportFormats: [['excel', 'csv']],
|
|
19596
19887
|
exportFileName: [this.tx('toolbar.export.fileName.placeholder', 'data-export')],
|
|
19597
19888
|
exportIncludeHeaders: [true],
|
|
19889
|
+
exportVisibleCurrentPage: [true],
|
|
19598
19890
|
exportScope: ['auto'],
|
|
19599
19891
|
exportMaxRows: [10000],
|
|
19600
19892
|
});
|
|
@@ -19645,6 +19937,7 @@ class ToolbarActionsEditorComponent {
|
|
|
19645
19937
|
exportFileName: v2Config.export.general?.defaultFileName ||
|
|
19646
19938
|
this.tx('toolbar.export.fileName.placeholder', 'data-export'),
|
|
19647
19939
|
exportIncludeHeaders: v2Config.export.general?.includeHeaders !== false,
|
|
19940
|
+
exportVisibleCurrentPage: v2Config.export.excel?.visibleCurrentPage !== false,
|
|
19648
19941
|
exportScope: v2Config.export.general?.scope || 'auto',
|
|
19649
19942
|
exportMaxRows: v2Config.export.general?.maxRows || 10000,
|
|
19650
19943
|
});
|
|
@@ -19870,6 +20163,15 @@ class ToolbarActionsEditorComponent {
|
|
|
19870
20163
|
v2Config.export = {
|
|
19871
20164
|
enabled: values.exportEnabled,
|
|
19872
20165
|
formats: values.exportFormats,
|
|
20166
|
+
excel: {
|
|
20167
|
+
...(v2Config.export?.excel || {
|
|
20168
|
+
sheetName: 'Export',
|
|
20169
|
+
includeFormulas: false,
|
|
20170
|
+
freezeHeaders: true,
|
|
20171
|
+
autoFitColumns: true,
|
|
20172
|
+
}),
|
|
20173
|
+
visibleCurrentPage: values.exportVisibleCurrentPage !== false,
|
|
20174
|
+
},
|
|
19873
20175
|
general: {
|
|
19874
20176
|
includeHeaders: values.exportIncludeHeaders,
|
|
19875
20177
|
scope: values.exportScope || 'auto',
|
|
@@ -22381,6 +22683,12 @@ class ToolbarActionsEditorComponent {
|
|
|
22381
22683
|
>
|
|
22382
22684
|
{{ tx('toolbar.export.includeHeaders', 'Include headers') }}
|
|
22383
22685
|
</mat-slide-toggle>
|
|
22686
|
+
<mat-slide-toggle
|
|
22687
|
+
formControlName="exportVisibleCurrentPage"
|
|
22688
|
+
class="toggle-field"
|
|
22689
|
+
>
|
|
22690
|
+
{{ tx('toolbar.export.visibleCurrentPage', 'Show current-page Excel') }}
|
|
22691
|
+
</mat-slide-toggle>
|
|
22384
22692
|
<mat-form-field appearance="outline">
|
|
22385
22693
|
<mat-label>{{ tx('toolbar.export.scope', 'Export scope') }}</mat-label>
|
|
22386
22694
|
<mat-select formControlName="exportScope">
|
|
@@ -24037,6 +24345,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
24037
24345
|
>
|
|
24038
24346
|
{{ tx('toolbar.export.includeHeaders', 'Include headers') }}
|
|
24039
24347
|
</mat-slide-toggle>
|
|
24348
|
+
<mat-slide-toggle
|
|
24349
|
+
formControlName="exportVisibleCurrentPage"
|
|
24350
|
+
class="toggle-field"
|
|
24351
|
+
>
|
|
24352
|
+
{{ tx('toolbar.export.visibleCurrentPage', 'Show current-page Excel') }}
|
|
24353
|
+
</mat-slide-toggle>
|
|
24040
24354
|
<mat-form-field appearance="outline">
|
|
24041
24355
|
<mat-label>{{ tx('toolbar.export.scope', 'Export scope') }}</mat-label>
|
|
24042
24356
|
<mat-select formControlName="exportScope">
|
|
@@ -41538,7 +41852,7 @@ class PraxisTable {
|
|
|
41538
41852
|
if (this.aiAdapter || this.aiAdapterLoadStarted)
|
|
41539
41853
|
return;
|
|
41540
41854
|
this.aiAdapterLoadStarted = true;
|
|
41541
|
-
import('./praxisui-table-table-ai.adapter-
|
|
41855
|
+
import('./praxisui-table-table-ai.adapter-DE5WpZ-t.mjs')
|
|
41542
41856
|
.then(({ TableAiAdapter }) => {
|
|
41543
41857
|
if (!this.isAiAssistantEnabled()) {
|
|
41544
41858
|
this.aiAssistantOpenAfterAdapterLoad = false;
|
|
@@ -47308,8 +47622,13 @@ class PraxisTable {
|
|
|
47308
47622
|
this.exportStatusMessage = translateTableRuntimeText(this.i18n, 'table.export.processing', 'Exportando dados...');
|
|
47309
47623
|
this.cdr.markForCheck();
|
|
47310
47624
|
try {
|
|
47311
|
-
const
|
|
47312
|
-
const
|
|
47625
|
+
const localVisibleExcelExport = event?.localOnly === true && format === 'excel';
|
|
47626
|
+
const request = localVisibleExcelExport
|
|
47627
|
+
? this.buildVisibleExcelExportRequest()
|
|
47628
|
+
: this.buildTableExportRequest(format, scopeOverride);
|
|
47629
|
+
const result = localVisibleExcelExport
|
|
47630
|
+
? this.collectionExport.exportLocalCollection(request)
|
|
47631
|
+
: await this.collectionExport.exportCollection(request);
|
|
47313
47632
|
assertPraxisCollectionExportArtifact(result);
|
|
47314
47633
|
this.exportAction.emit({
|
|
47315
47634
|
format,
|
|
@@ -47409,6 +47728,52 @@ class PraxisTable {
|
|
|
47409
47728
|
},
|
|
47410
47729
|
};
|
|
47411
47730
|
}
|
|
47731
|
+
buildVisibleExcelExportRequest() {
|
|
47732
|
+
const request = this.buildTableExportRequest('excel', 'currentPage');
|
|
47733
|
+
return {
|
|
47734
|
+
...request,
|
|
47735
|
+
scope: 'currentPage',
|
|
47736
|
+
resourcePath: undefined,
|
|
47737
|
+
loadedItems: this.resolveTableExportLoadedItems('currentPage'),
|
|
47738
|
+
fields: this.buildTableExportFields('visible', true),
|
|
47739
|
+
includeHeaders: true,
|
|
47740
|
+
applyFormatting: true,
|
|
47741
|
+
maxRows: undefined,
|
|
47742
|
+
fileName: this.resolveVisibleExcelExportFileName(),
|
|
47743
|
+
formatOptions: {
|
|
47744
|
+
...request.formatOptions,
|
|
47745
|
+
excel: {
|
|
47746
|
+
...request.formatOptions?.excel,
|
|
47747
|
+
sheetName: request.formatOptions?.excel?.sheetName || this.tableId || this.componentInstanceId || 'Export',
|
|
47748
|
+
freezeHeaders: request.formatOptions?.excel?.freezeHeaders ?? true,
|
|
47749
|
+
autoFitColumns: request.formatOptions?.excel?.autoFitColumns ?? true,
|
|
47750
|
+
},
|
|
47751
|
+
},
|
|
47752
|
+
metadata: {
|
|
47753
|
+
...request.metadata,
|
|
47754
|
+
exportMode: 'visible-local',
|
|
47755
|
+
configuredScope: request.scope,
|
|
47756
|
+
effectiveScope: 'currentPage',
|
|
47757
|
+
},
|
|
47758
|
+
};
|
|
47759
|
+
}
|
|
47760
|
+
resolveVisibleExcelExportFileName() {
|
|
47761
|
+
const baseName = String(this.config?.export?.general?.defaultFileName
|
|
47762
|
+
|| this.tableId
|
|
47763
|
+
|| this.componentInstanceId
|
|
47764
|
+
|| 'praxis-table')
|
|
47765
|
+
.trim()
|
|
47766
|
+
.replace(/[\\/:*?"<>|]+/g, '-')
|
|
47767
|
+
.replace(/\s+/g, '-')
|
|
47768
|
+
|| 'praxis-table';
|
|
47769
|
+
return `${baseName}_visivel_${this.formatExportDate(new Date())}`;
|
|
47770
|
+
}
|
|
47771
|
+
formatExportDate(date) {
|
|
47772
|
+
const year = date.getFullYear();
|
|
47773
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
47774
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
47775
|
+
return `${year}-${month}-${day}`;
|
|
47776
|
+
}
|
|
47412
47777
|
resolveEffectiveExportScope(scope) {
|
|
47413
47778
|
if (scope !== 'auto') {
|
|
47414
47779
|
return scope;
|
|
@@ -47616,11 +47981,11 @@ class PraxisTable {
|
|
|
47616
47981
|
}
|
|
47617
47982
|
showExportFeedback(result) {
|
|
47618
47983
|
if (result.status === 'deferred') {
|
|
47619
|
-
this.exportStatusMessage = translateTableRuntimeText(this.i18n, 'table.export.deferred', '
|
|
47984
|
+
this.exportStatusMessage = translateTableRuntimeText(this.i18n, 'table.export.deferred', 'Exportação enviada para processamento.');
|
|
47620
47985
|
this.snackBar.open(this.exportStatusMessage, undefined, { duration: 3000 });
|
|
47621
47986
|
return;
|
|
47622
47987
|
}
|
|
47623
|
-
this.exportStatusMessage = translateTableRuntimeText(this.i18n, 'table.export.completed', '
|
|
47988
|
+
this.exportStatusMessage = translateTableRuntimeText(this.i18n, 'table.export.completed', 'Exportação concluída.');
|
|
47624
47989
|
this.snackBar.open(this.exportStatusMessage, undefined, { duration: 2500 });
|
|
47625
47990
|
}
|
|
47626
47991
|
onAdvancedFilterSubmit(criteria) {
|
|
@@ -57156,7 +57521,10 @@ const tableExportSchema = {
|
|
|
57156
57521
|
},
|
|
57157
57522
|
excel: {
|
|
57158
57523
|
type: 'object',
|
|
57159
|
-
properties: {
|
|
57524
|
+
properties: {
|
|
57525
|
+
autoFitColumns: { type: 'boolean' },
|
|
57526
|
+
visibleCurrentPage: { type: 'boolean' }
|
|
57527
|
+
}
|
|
57160
57528
|
},
|
|
57161
57529
|
pdf: {
|
|
57162
57530
|
type: 'object',
|
|
@@ -62278,6 +62646,7 @@ const TABLE_AI_CAPABILITIES = {
|
|
|
62278
62646
|
{ path: 'export.general.includeHeaders', category: 'export', valueKind: 'boolean', description: 'Inclui cabeçalhos no arquivo exportado.', intentExamples: ['incluir cabeçalho no excel'] },
|
|
62279
62647
|
{ path: 'export.general.scope', category: 'export', valueKind: 'enum', allowedValues: ENUMS.exportScope, description: 'Define o escopo dos dados exportados: auto, selected, filtered, currentPage ou all.', dependsOn: 'export.enabled', intentExamples: ['exportar apenas selecionados', 'exportar filtrados', 'exportar pagina atual'], example: '"auto"' },
|
|
62280
62648
|
{ path: 'export.general.maxRows', category: 'export', valueKind: 'number', description: 'Limite de linhas para exportação.', dependsOn: 'export.enabled', critical: true, example: '5000', safetyNotes: 'Previne exportações pesadas ou vazamento de massa de dados.', intentExamples: ['limite de exportação 5000'] },
|
|
62649
|
+
{ path: 'export.excel.visibleCurrentPage', category: 'export', valueKind: 'boolean', description: 'Exibe a ação local "Excel da página atual", separada do Excel via provider.', dependsOn: 'export.enabled + export.formats contains excel', critical: true, intentExamples: ['esconder excel da pagina atual', 'permitir apenas excel via provider'], safetyNotes: 'Use false quando a política corporativa exigir que exportações passem pelo provider governado.' },
|
|
62281
62650
|
{ path: 'export.excel.autoFitColumns', category: 'export', valueKind: 'boolean', description: 'Auto-ajusta largura de colunas na planilha.', dependsOn: 'export.enabled', intentExamples: ['ajustar colunas no excel'] },
|
|
62282
62651
|
{ path: 'export.pdf.orientation', category: 'export', valueKind: 'enum', allowedValues: ENUMS.pdfOrientation, description: 'Orientação do PDF.', dependsOn: 'export.enabled', intentExamples: ['pdf paisagem', 'pdf retrato'] },
|
|
62283
62652
|
{ path: 'export.pdf.pageSize', category: 'export', valueKind: 'enum', allowedValues: ENUMS.pdfPageSize, description: 'Tamanho da página no PDF.', dependsOn: 'export.enabled' },
|