@praxisui/list 9.0.0-beta.6 → 9.0.0-beta.61

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/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@praxisui/list",
3
- "version": "9.0.0-beta.6",
3
+ "version": "9.0.0-beta.61",
4
4
  "description": "List components and helpers for Praxis UI.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
8
  "@angular/material": "^21.0.0",
9
- "@praxisui/dynamic-fields": "^9.0.0-beta.6",
9
+ "@praxisui/dynamic-fields": "^9.0.0-beta.61",
10
10
  "rxjs": ">=7 <9",
11
11
  "@angular/forms": "^21.0.0",
12
12
  "@angular/router": "^21.0.0",
13
- "@praxisui/ai": "^9.0.0-beta.6",
14
- "@praxisui/core": "^9.0.0-beta.6",
15
- "@praxisui/rich-content": "^9.0.0-beta.6",
16
- "@praxisui/settings-panel": "^9.0.0-beta.6"
13
+ "@praxisui/ai": "^9.0.0-beta.61",
14
+ "@praxisui/core": "^9.0.0-beta.61",
15
+ "@praxisui/rich-content": "^9.0.0-beta.61",
16
+ "@praxisui/settings-panel": "^9.0.0-beta.61"
17
17
  },
18
18
  "dependencies": {
19
19
  "tslib": "^2.3.0",
@@ -27,6 +27,7 @@
27
27
  "keywords": [
28
28
  "angular",
29
29
  "praxisui",
30
+ "praxis",
30
31
  "list",
31
32
  "cards",
32
33
  "selection",
@@ -42,7 +43,10 @@
42
43
  ".": {
43
44
  "types": "./types/praxisui-list.d.ts",
44
45
  "default": "./fesm2022/praxisui-list.mjs"
46
+ },
47
+ "./ai/component-registry.json": {
48
+ "default": "./ai/component-registry.json"
45
49
  }
46
50
  },
47
51
  "type": "module"
48
- }
52
+ }
@@ -302,7 +302,7 @@ A integracao com host ocorre por `SettingsValueProvider`:
302
302
  | `dataSource.resourcePath` | Active | Campo principal para schema remoto. |
303
303
  | `dataSource.query` | Active | JSON editavel com validacao sintatica. |
304
304
  | `dataSource.sort` | Active | Gerado por `sortField/sortDir` e por UI sort rows. |
305
- | `dataSource.data` | Declared-only | Nao possui editor dedicado para dataset local. |
305
+ | `dataSource.data` | Active | Preservado no objeto; editor mostra resumo, colunas de amostra e aviso de precedencia sobre `resourcePath`. |
306
306
  | `layout.variant` | Active | `list/cards/tiles`. |
307
307
  | `layout.model` | Active | `standard/media/hotel`. |
308
308
  | `layout.lines` | Active | `1/2/3`. |
@@ -312,6 +312,11 @@ A integracao com host ocorre por `SettingsValueProvider`:
312
312
  | `layout.stickySectionHeader` | Active | Toggle dedicado. |
313
313
  | `layout.virtualScroll` | Active | Toggle dedicado (mesmo que runtime possa nao aplicar). |
314
314
  | `layout.pageSize` | Active | Numero inteiro >= 1. |
315
+ | `layout.rowLayout.type/columns/gap/itemAlignY/class/style` | Active | Editor guiado de colunas estaveis para listas corporativas. |
316
+ | `export.enabled/formats/general.*` | Active | Editor guiado de formatos, escopo, cabecalhos, limite, nome de arquivo, formatacao e campos incluidos. |
317
+ | `interaction.expandable/expandTrigger/expandMode/expandPlacement` | Active | Editor guiado de comportamento expansivel da linha. |
318
+ | `expansion.sections/rendering` | Active | Editor guiado para secoes inline e shell visual da expansao. |
319
+ | `rules.itemStyles/slotOverrides` | Active | Editor guiado basico para Json Logic, classe, estilo, template de slot, ocultacao e primeiro `effects[]` canonico. |
315
320
  | `skin.type` | Active | Presets + selecao manual. |
316
321
  | `skin.gradient/radius/shadow/border/backdropBlur/class/inlineStyle` | Active | Edicao direta + presets. |
317
322
  | `selection.mode` | Active | `none/single/multiple`. |
@@ -336,7 +341,18 @@ A integracao com host ocorre por `SettingsValueProvider`:
336
341
  | `ui.showRange` | Active | Toggle dedicado. |
337
342
  | `i18n.locale/currency` | Active | Usado em formatacao de preview/runtime. |
338
343
  | `a11y.ariaLabel/ariaLabelledBy/highContrast/reduceMotion` | Active | Editavel no tab de acessibilidade. |
339
- | `events.itemClick/actionClick/selectionChange/loaded` | Active | Mapeamentos editaveis no tab de eventos. |
344
+ | `events.itemClick/actionClick/selectionChange/exportAction/loaded` | Active | Mapeamentos editaveis no tab de eventos. |
345
+
346
+ ### Coverage inventory for runtime/editor parity
347
+
348
+ | Area | Adherence | Current editor coverage | Recommended next step |
349
+ | --- | --- | --- | --- |
350
+ | `events.exportAction` | ja-suportado-so-ux | Campo visual no tab de eventos. | Manter coberto por spec focal de round-trip. |
351
+ | `layout.rowLayout` | ja-suportado-so-ux | Editor guiado cobre ativacao, preset corporativo, tipo, colunas, largura, alinhamento, gap, CSS avancado e warnings inline para slots sem materializacao. | Evoluir depois com preview visual por slot. |
352
+ | `export` | ja-suportado-so-ux | Editor guiado cobre habilitacao, formatos, escopo, cabecalhos, limite, nome de arquivo, formatacao, campos incluidos, warning para campo inexistente quando o schema esta carregado e preview compacto de colunas/amostra. | Evoluir depois com preview fiel do payload final gerado pelo runtime. |
353
+ | `interaction`/`expansion` | suportado-parcialmente | Editor guiado cobre interacao expansivel, secoes inline, rendering e diagnostico de `dataSource`/`schemaContract` remotos preservados por JSON. | Evoluir fonte remota/schemaContract apenas com validacao de seguranca e prova runtime. |
354
+ | `rules.itemStyles`/`rules.slotOverrides` | ja-suportado-so-ux | Editor guiado cobre condicao Json Logic, estilo de item, override de slot, template basico, ocultacao e primeira materializacao canonica `effects[0]`. | Evoluir depois com builder visual de Json Logic, preview por item e suporte multi-effect se o runtime passar a consumir mais de um efeito. |
355
+ | `dataSource.data` | ja-suportado-mal-nomeado-ou-mal-materializado | Round-trip por JSON com resumo visual, colunas de amostra e aviso de precedencia sobre `resourcePath`. | Manter JSON-only para datasets grandes; considerar import dedicado apenas se houver demanda operacional. |
340
356
 
341
357
  ### Validacao Estrutural
342
358
 
@@ -428,10 +444,14 @@ ref.saved$.subscribe((payload) => {
428
444
 
429
445
  ### Known limitations and pending investigation
430
446
 
431
- 1. Nao existe editor dedicado para `dataSource.data` (dataset local grande).
432
- 2. O editor preserva em JSON/config campos declared-only que podem nao ter efeito no runtime final, mas nao deve promove-los como controles visuais ativos.
433
- 3. `isDirty$` usa comparacao por snapshot JSON; mudancas de ordenacao de chaves/objetos podem gerar ruido em cenarios extremos.
434
- 4. Conversao automatica de `globalAction.payload` string para JSON e heuristica (so quando formato parece objeto/array).
447
+ 1. Nao existe editor dedicado para alterar `dataSource.data` (dataset local grande); o editor mostra resumo, amostra e precedencia para evitar erro silencioso.
448
+ 2. `rules` possui editor guiado basico com `effects[0]`, mas ainda nao tem builder visual de Json Logic, preview de impacto por item ou authoring multi-effect. O runtime atualmente materializa o primeiro efeito valido.
449
+ 3. `layout.rowLayout` possui editor guiado com warnings inline para slots sem materializacao, mas ainda nao tem preview visual por slot.
450
+ 4. `export` possui editor guiado com warning de `includeFields` desconhecido e preview compacto de colunas/amostra, mas ainda nao tem preview fiel do payload final gerado pelo runtime.
451
+ 5. `expansion.dataSource` remoto e `expansion.schemaContract` permanecem JSON-only para authoring; o editor mostra diagnostico de seguranca e preservacao ate existir prova runtime especifica de carregamento remoto.
452
+ 6. O editor preserva em JSON/config campos declared-only que podem nao ter efeito no runtime final, mas nao deve promove-los como controles visuais ativos.
453
+ 7. `isDirty$` usa comparacao por snapshot JSON; mudancas de ordenacao de chaves/objetos podem gerar ruido em cenarios extremos.
454
+ 8. Conversao automatica de `globalAction.payload` string para JSON e heuristica (so quando formato parece objeto/array).
435
455
 
436
456
  ### Source references
437
457
 
@@ -273,7 +273,7 @@ A maior parte das falhas opera em modo fail-open (persistência, inferência, co
273
273
  | Condition | Mode | Runtime behavior | Consumer impact |
274
274
  | --------------------------------- | --------- | ------------------------------------------------ | ---------------------------------- |
275
275
  | Falha em `loadConfig/saveConfig` | fail-open | ignora persistência e mantém config ativa | sem perda de renderização |
276
- | `showIf` inválido | fail-open | item/ação pode ser ocultado com warning | evita quebra de template |
276
+ | `showIf` invalido | fail-closed | item/acao e ocultado com warning | evita renderizacao indevida |
277
277
  | comando global não disponível | fail-open | ação global não executa; fluxo local continua | comportamento parcial, sem crash |
278
278
  | contrato de seleção inconsistente | fail-soft | adapter normaliza payload para formato suportado | pode reduzir fidelidade do payload |
279
279
 
@@ -1142,6 +1142,7 @@ type NormalizedListConfig = Omit<PraxisListConfig, 'dataSource' | 'layout' | 'se
1142
1142
  stickySectionHeader?: boolean;
1143
1143
  virtualScroll?: boolean;
1144
1144
  pageSize?: number;
1145
+ rowLayout?: NonNullable<PraxisListConfig['layout']>['rowLayout'];
1145
1146
  };
1146
1147
  skin: {
1147
1148
  type: 'pill-soft' | 'gradient-tile' | 'glass' | 'elevated' | 'outline' | 'flat' | 'neumorphism' | 'custom';
@@ -1175,6 +1176,10 @@ type NormalizedListConfig = Omit<PraxisListConfig, 'dataSource' | 'layout' | 'se
1175
1176
  };
1176
1177
  type SkinType = NormalizedListConfig['skin']['type'];
1177
1178
  type SkinPreset = Exclude<SkinType, 'custom'>;
1179
+ type RowLayoutColumn = NonNullable<NonNullable<NonNullable<PraxisListConfig['layout']>['rowLayout']>['columns']>[number];
1180
+ type RowLayoutAlign = NonNullable<NonNullable<NonNullable<PraxisListConfig['layout']>['rowLayout']>['align']>;
1181
+ type ListExpansionRendering = NonNullable<NonNullable<PraxisListConfig['expansion']>['rendering']>;
1182
+ type ExportPreviewRow = Record<string, string>;
1178
1183
  declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1179
1184
  config: PraxisListConfig;
1180
1185
  listId?: string;
@@ -1320,6 +1325,21 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1320
1325
  field?: string;
1321
1326
  dir?: 'asc' | 'desc';
1322
1327
  }>;
1328
+ readonly rowLayoutSlotOptions: ListRowLayoutSlot[];
1329
+ readonly rowLayoutAlignOptions: RowLayoutAlign[];
1330
+ readonly rowLayoutColumnAlignOptions: Array<NonNullable<RowLayoutColumn['align']>>;
1331
+ readonly rowLayoutJustifyOptions: Array<NonNullable<RowLayoutColumn['justify']>>;
1332
+ readonly rowLayoutStructuralSlots: Set<ListRowLayoutSlot>;
1333
+ readonly exportFormatOptions: PraxisExportFormat[];
1334
+ readonly exportScopeOptions: PraxisExportScope[];
1335
+ readonly expandTriggerOptions: Array<NonNullable<NonNullable<PraxisListConfig['interaction']>['expandTrigger']>>;
1336
+ readonly expandModeOptions: Array<NonNullable<NonNullable<PraxisListConfig['interaction']>['expandMode']>>;
1337
+ readonly expandPlacementOptions: Array<NonNullable<NonNullable<PraxisListConfig['interaction']>['expandPlacement']>>;
1338
+ readonly expansionSectionTypeOptions: ListExpansionSectionType[];
1339
+ readonly expansionShellOptions: Array<NonNullable<ListExpansionRendering['shell']>>;
1340
+ readonly expansionColumnOptions: Array<NonNullable<ListExpansionRendering['columns']>>;
1341
+ readonly ruleSlotOptions: ListSlotOverrideRule['slot'][];
1342
+ readonly ruleTemplateTypeOptions: TemplateType[];
1323
1343
  mappingMetaFields: string[];
1324
1344
  mappingMetaSeparator: string;
1325
1345
  mappingMetaWrapSecondInParens: boolean;
@@ -1366,6 +1386,11 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1366
1386
  private resetVisualMappingState;
1367
1387
  private setupSchemaWatcher;
1368
1388
  onResourcePathChange(value: string): void;
1389
+ getLocalDataRows(): any[];
1390
+ getLocalDataSummary(): string;
1391
+ getLocalDataPrecedenceWarning(): string;
1392
+ getLocalDataColumns(): string[];
1393
+ getLocalDataPreviewRows(): Array<Record<string, string>>;
1369
1394
  applySkinPreset(preset: SkinPreset): void;
1370
1395
  applyLayoutPreset(preset: 'tiles-modern'): void;
1371
1396
  private defaultPresetLocale;
@@ -1482,6 +1507,18 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1482
1507
  ngDoCheck(): void;
1483
1508
  reset(): void;
1484
1509
  onLayoutChanged(): void;
1510
+ rowLayoutEnabled(): boolean;
1511
+ onRowLayoutEnabledChange(enabled: boolean): void;
1512
+ applyCorporateRowLayoutPreset(): void;
1513
+ addRowLayoutColumn(): void;
1514
+ removeRowLayoutColumn(index: number): void;
1515
+ moveRowLayoutColumn(index: number, direction: -1 | 1): void;
1516
+ onRowLayoutChanged(): void;
1517
+ rowLayoutColumnWarning(column: RowLayoutColumn): string;
1518
+ private rowLayoutSlotHasMaterialization;
1519
+ private ensureRowLayoutDraft;
1520
+ private defaultRowLayout;
1521
+ private nextRowLayoutSlot;
1485
1522
  onSelectionChanged(): void;
1486
1523
  onSkinGradientChanged(prop: 'from' | 'to' | 'angle', value: string | number): void;
1487
1524
  onSkinTypeChanged(type: SkinType): void;
@@ -1490,6 +1527,83 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1490
1527
  onQueryChanged(value: string): void;
1491
1528
  onPageSizeChange(value: any): void;
1492
1529
  onUiChanged(): void;
1530
+ exportEnabled(): boolean;
1531
+ onExportEnabledChange(enabled: boolean): void;
1532
+ onExportChanged(): void;
1533
+ getExportFormatsModel(): PraxisExportFormat[];
1534
+ getExportScopeModel(): PraxisExportScope;
1535
+ getExportIncludeHeadersModel(): boolean;
1536
+ getExportApplyFormattingModel(): boolean;
1537
+ getExportMaxRowsModel(): number | undefined;
1538
+ getExportDefaultFileNameModel(): string;
1539
+ onExportFormatsChange(formats: PraxisExportFormat[]): void;
1540
+ onExportScopeChange(scope: PraxisExportScope): void;
1541
+ onExportDefaultFileNameChange(value: string): void;
1542
+ onExportIncludeHeadersChange(value: boolean): void;
1543
+ onExportApplyFormattingChange(value: boolean): void;
1544
+ onExportMaxRowsChange(value: any): void;
1545
+ getExportIncludeFieldsText(): string;
1546
+ getExportPreviewColumns(): string[];
1547
+ getExportPreviewRows(): ExportPreviewRow[];
1548
+ getExportPreviewSummary(): string;
1549
+ getExportIncludeFieldsWarning(): string;
1550
+ getExportUnknownIncludeFields(): string[];
1551
+ onExportIncludeFieldsTextChange(value: string): void;
1552
+ private readExportPreviewValue;
1553
+ private formatExportPreviewValue;
1554
+ private ensureExportDraft;
1555
+ expansionEnabled(): boolean;
1556
+ onExpansionEnabledChange(enabled: boolean): void;
1557
+ onExpansionChanged(): void;
1558
+ getExpandTriggerModel(): NonNullable<NonNullable<PraxisListConfig['interaction']>['expandTrigger']>;
1559
+ getExpandModeModel(): NonNullable<NonNullable<PraxisListConfig['interaction']>['expandMode']>;
1560
+ getExpandPlacementModel(): NonNullable<NonNullable<PraxisListConfig['interaction']>['expandPlacement']>;
1561
+ onExpansionInteractionChanged(prop: 'expandTrigger' | 'expandMode' | 'expandPlacement', value: string): void;
1562
+ getExpansionShellModel(): NonNullable<ListExpansionRendering['shell']>;
1563
+ getExpansionColumnsModel(): NonNullable<ListExpansionRendering['columns']>;
1564
+ getExpansionGapModel(): string;
1565
+ getExpansionPaddingModel(): string;
1566
+ getExpansionRemoteSummary(): string;
1567
+ getExpansionRemoteWarnings(): string[];
1568
+ onExpansionRenderingChanged(prop: 'shell' | 'columns' | 'gap' | 'padding', value: string | number): void;
1569
+ addExpansionSection(): void;
1570
+ removeExpansionSection(index: number): void;
1571
+ moveExpansionSection(index: number, direction: -1 | 1): void;
1572
+ onExpansionSectionShowIfChanged(section: ListExpansionSectionDef, raw: string): void;
1573
+ getExpansionSectionShowIfText(section: ListExpansionSectionDef): string;
1574
+ private ensureExpansionDraft;
1575
+ private defaultExpansionSection;
1576
+ addItemStyleRule(): void;
1577
+ removeItemStyleRule(index: number): void;
1578
+ addSlotOverrideRule(): void;
1579
+ removeSlotOverrideRule(index: number): void;
1580
+ onRulesChanged(): void;
1581
+ getRuleConditionText(rule: {
1582
+ condition?: JsonLogicExpression | null;
1583
+ }): string;
1584
+ onRuleConditionChanged(rule: {
1585
+ condition?: JsonLogicExpression | null;
1586
+ }, raw: string): void;
1587
+ getItemStyleEffect(rule: ListItemStyleRule): ListItemStyleEffect | undefined;
1588
+ ensureItemStyleEffect(rule: ListItemStyleRule): void;
1589
+ clearItemStyleEffects(rule: ListItemStyleRule): void;
1590
+ getSlotOverrideEffect(rule: ListSlotOverrideRule): ListSlotOverrideEffect | undefined;
1591
+ ensureSlotOverrideEffect(rule: ListSlotOverrideRule): void;
1592
+ clearSlotOverrideEffects(rule: ListSlotOverrideRule): void;
1593
+ getSlotOverrideTemplateExpr(rule: {
1594
+ template?: TemplateDef;
1595
+ }): string;
1596
+ onSlotOverrideTemplateExprChanged(rule: {
1597
+ template?: TemplateDef;
1598
+ }, expr: string): void;
1599
+ getSlotOverrideTemplateType(rule: {
1600
+ template?: TemplateDef;
1601
+ }): TemplateType;
1602
+ onSlotOverrideTemplateTypeChanged(rule: {
1603
+ template?: TemplateDef;
1604
+ }, type: TemplateType): void;
1605
+ private defaultItemStyleRule;
1606
+ private defaultSlotOverrideRule;
1493
1607
  onSkeletonChanged(value: any): void;
1494
1608
  addUiSortRow(): void;
1495
1609
  removeUiSortRow(i: number): void;
@@ -2111,7 +2225,7 @@ declare const PRAXIS_LIST_EN_US: {
2111
2225
  readonly 'Field to search': "Field to search";
2112
2226
  readonly 'Search placeholder': "Search placeholder";
2113
2227
  readonly 'e.g.: Search by title': "e.g.: Search by title";
2114
- readonly 'Sorting options (label \u00E2\u2020\u2019 field+direction)': "Sorting options (label → field+direction)";
2228
+ readonly 'Sorting options (label \u2192 field+direction)': "Sorting options (label field+direction)";
2115
2229
  readonly 'Add option': "Add option";
2116
2230
  readonly Field: "Field";
2117
2231
  readonly 'Duplicate option (field+direction)': "Duplicate option (field+direction)";
@@ -2224,6 +2338,7 @@ declare const PRAXIS_LIST_EN_US: {
2224
2338
  readonly Date: "Date";
2225
2339
  readonly 'Default text': "Default text";
2226
2340
  readonly 'Default chip': "Default chip";
2341
+ readonly 'No items available': "No items available";
2227
2342
  readonly 'Fields:': "Fields:";
2228
2343
  readonly ' (Required)': " (Required)";
2229
2344
  readonly 'Example available': "Example available";
@@ -2232,6 +2347,129 @@ declare const PRAXIS_LIST_EN_US: {
2232
2347
  readonly 'Do you want to proceed with this action?': "Do you want to proceed with this action?";
2233
2348
  readonly Attention: "Attention";
2234
2349
  readonly 'CSS class example (add this to your global styles):': "CSS class example (add this to your global styles):";
2350
+ readonly 'No local dataset configured.': "No local dataset configured.";
2351
+ readonly '{{count}} local rows \u00B7 {{columns}} columns': "{{count}} local rows · {{columns}} columns";
2352
+ readonly 'Local data is present and will take precedence over the remote resource.': "Local data is present and will take precedence over the remote resource.";
2353
+ readonly Rules: "Rules";
2354
+ readonly Expansion: "Expansion";
2355
+ readonly Export: "Export";
2356
+ readonly 'Row layout': "Row layout";
2357
+ readonly 'Enable row layout': "Enable row layout";
2358
+ readonly 'Stable columns for list rows': "Stable columns for list rows";
2359
+ readonly 'Corporate row preset': "Corporate row preset";
2360
+ readonly 'Name + role': "Name + role";
2361
+ readonly Salary: "Salary";
2362
+ readonly 'Status icon': "Status icon";
2363
+ readonly Shell: "Shell";
2364
+ readonly 'Control placement': "Control placement";
2365
+ readonly 'Actions column': "Actions column";
2366
+ readonly Trailing: "Trailing";
2367
+ readonly 'Layout type': "Layout type";
2368
+ readonly Flex: "Flex";
2369
+ readonly Align: "Align";
2370
+ readonly 'Vertical alignment': "Vertical alignment";
2371
+ readonly 'Add column': "Add column";
2372
+ readonly Slot: "Slot";
2373
+ readonly Width: "Width";
2374
+ readonly 'Min width': "Min width";
2375
+ readonly 'Max width': "Max width";
2376
+ readonly Justify: "Justify";
2377
+ readonly 'Move column left': "Move column left";
2378
+ readonly 'Move column right': "Move column right";
2379
+ readonly 'Remove column': "Remove column";
2380
+ readonly 'Select a slot for this column.': "Select a slot for this column.";
2381
+ readonly 'This slot is not supported by the list runtime.': "This slot is not supported by the list runtime.";
2382
+ readonly 'This slot has no template or conditional override yet.': "This slot has no template or conditional override yet.";
2383
+ readonly 'Enable expansion': "Enable expansion";
2384
+ readonly Sections: "Sections";
2385
+ readonly Details: "Details";
2386
+ readonly 'Inline details for list rows': "Inline details for list rows";
2387
+ readonly 'Add section': "Add section";
2388
+ readonly 'Move section up': "Move section up";
2389
+ readonly 'Move section down': "Move section down";
2390
+ readonly 'Remove section': "Remove section";
2391
+ readonly Id: "Id";
2392
+ readonly Name: "Name";
2393
+ readonly Placement: "Placement";
2394
+ readonly Trigger: "Trigger";
2395
+ readonly 'Items expression': "Items expression";
2396
+ readonly 'Expression (item.key)': "Expression (item.key)";
2397
+ readonly 'Empty label': "Empty label";
2398
+ readonly 'No details available': "No details available";
2399
+ readonly 'Inline expansion sections only.': "Inline expansion sections only.";
2400
+ readonly 'Remote expansion config preserved \u00B7 {{mode}} \u00B7 {{nodes}} allowed node types': "Remote expansion config preserved · {{mode}} · {{nodes}} allowed node types";
2401
+ readonly 'resourcePath mode should declare resourceAllowList before remote detail loading is enabled.': "resourcePath mode should declare resourceAllowList before remote detail loading is enabled.";
2402
+ readonly 'Remote expansion should declare schemaContract for fail-closed rendering.': "Remote expansion should declare schemaContract for fail-closed rendering.";
2403
+ readonly 'schemaContract has no allowedNodes; remote sections may render fail-closed.': "schemaContract has no allowedNodes; remote sections may render fail-closed.";
2404
+ readonly 'The visual editor currently authors inline sections; remote expansion details remain JSON-governed.': "The visual editor currently authors inline sections; remote expansion details remain JSON-governed.";
2405
+ readonly 'Enable export': "Enable export";
2406
+ readonly Formats: "Formats";
2407
+ readonly Scope: "Scope";
2408
+ readonly 'Default file name': "Default file name";
2409
+ readonly 'Max rows': "Max rows";
2410
+ readonly 'Include headers': "Include headers";
2411
+ readonly 'Included fields': "Included fields";
2412
+ readonly 'Empty means all fields': "Empty means all fields";
2413
+ readonly 'Formats, scope and file options': "Formats, scope and file options";
2414
+ readonly 'Export preview': "Export preview";
2415
+ readonly 'No fields available for preview yet.': "No fields available for preview yet.";
2416
+ readonly '{{formats}} \u00B7 {{scope}} \u00B7 {{columns}} columns{{limit}}': "{{formats}} · {{scope}} · {{columns}} columns{{limit}}";
2417
+ readonly 'max {{count}} rows': "max {{count}} rows";
2418
+ readonly 'Unknown export fields: {{fields}}': "Unknown export fields: {{fields}}";
2419
+ readonly Columns: "Columns";
2420
+ readonly Presets: "Presets";
2421
+ readonly 'Single field': "Single field";
2422
+ readonly 'Card with media': "Card with media";
2423
+ readonly 'Tile with media': "Tile with media";
2424
+ readonly 'Media on the left': "Media on the left";
2425
+ readonly 'Hotel tile': "Hotel tile";
2426
+ readonly 'Hotel (large media)': "Hotel (large media)";
2427
+ readonly 'Standard tile': "Standard tile";
2428
+ readonly Hotel: "Hotel";
2429
+ readonly Subtitle: "Subtitle";
2430
+ readonly 'Short date': "Short date";
2431
+ readonly 'Apply formatting': "Apply formatting";
2432
+ readonly 'Formatting and style': "Formatting and style";
2433
+ readonly 'CSS class': "CSS class";
2434
+ readonly Border: "Border";
2435
+ readonly Background: "Background";
2436
+ readonly Padding: "Padding";
2437
+ readonly Gap: "Gap";
2438
+ readonly Angle: "Angle";
2439
+ readonly 'Gradient from': "Gradient from";
2440
+ readonly 'Gradient to': "Gradient to";
2441
+ readonly Custom: "Custom";
2442
+ readonly 'Show when (Json Logic)': "Show when (Json Logic)";
2443
+ readonly 'Condition (Json Logic)': "Condition (Json Logic)";
2444
+ readonly 'Use a Json Logic object, for example {"==":[{"var":"row.status"},"done"]}.': "Use a Json Logic object, for example {\"==\":[{\"var\":\"row.status\"},\"done\"]}.";
2445
+ readonly 'Item style rules': "Item style rules";
2446
+ readonly 'Apply class, style, border or background when Json Logic matches.': "Apply class, style, border or background when Json Logic matches.";
2447
+ readonly 'Add item rule': "Add item rule";
2448
+ readonly 'Item rule': "Item rule";
2449
+ readonly 'Canonical effect': "Canonical effect";
2450
+ readonly 'Materialize the first effects[] entry used by the runtime.': "Materialize the first effects[] entry used by the runtime.";
2451
+ readonly 'Use direct fields': "Use direct fields";
2452
+ readonly 'Use effects[]': "Use effects[]";
2453
+ readonly 'Effect class': "Effect class";
2454
+ readonly 'Effect style': "Effect style";
2455
+ readonly 'Effect border': "Effect border";
2456
+ readonly 'Effect background': "Effect background";
2457
+ readonly 'Slot override rules': "Slot override rules";
2458
+ readonly 'Replace, decorate or hide a slot when Json Logic matches.': "Replace, decorate or hide a slot when Json Logic matches.";
2459
+ readonly 'Add slot rule': "Add slot rule";
2460
+ readonly 'Slot rule': "Slot rule";
2461
+ readonly 'Template type': "Template type";
2462
+ readonly 'Template expression': "Template expression";
2463
+ readonly 'Hide slot': "Hide slot";
2464
+ readonly 'Effect template type': "Effect template type";
2465
+ readonly 'Effect template expression': "Effect template expression";
2466
+ readonly 'Effect hides slot': "Effect hides slot";
2467
+ readonly 'Payload expression': "Payload expression";
2468
+ readonly 'Advanced escape hatch. When set, payload is resolved from this expression and no default item payload is injected.': "Advanced escape hatch. When set, payload is resolved from this expression and no default item payload is injected.";
2469
+ readonly 'e.g.: department': "e.g.: department";
2470
+ readonly 'e.g.: Most recent': "e.g.: Most recent";
2471
+ readonly 'Local columns': "Local columns";
2472
+ readonly 'Advanced row CSS': "Advanced row CSS";
2235
2473
  };
2236
2474
 
2237
2475
  declare const PRAXIS_LIST_I18N_NAMESPACE = "praxis-list";
@@ -2445,24 +2683,25 @@ declare const PRAXIS_LIST_PT_BR: {
2445
2683
  readonly 'Between groups': "Entre grupos";
2446
2684
  readonly All: "Todos";
2447
2685
  readonly 'Group by': "Agrupar por";
2448
- readonly Cards: "Cartões (Cards)";
2449
- readonly Tiles: "Blocos (Tiles)";
2450
- readonly 'Pill Soft': "Pílula Suave (Pill Soft)";
2686
+ readonly Cards: "Cartões";
2687
+ readonly Tiles: "Blocos";
2688
+ readonly 'Pill Soft': "Pílula suave";
2451
2689
  readonly 'Gradient Tile': "Bloco com degradê";
2452
- readonly Glass: "Vidro (Glass)";
2690
+ readonly Glass: "Vidro";
2453
2691
  readonly Elevated: "Elevado";
2454
2692
  readonly Outline: "Contorno";
2455
2693
  readonly Flat: "Plano";
2456
2694
  readonly Neumorphism: "Neumorfismo";
2457
2695
  readonly Text: "Texto";
2458
2696
  readonly Chip: "Chip";
2459
- readonly Rating: "Avaliação (Rating)";
2697
+ readonly Rating: "Avaliação";
2460
2698
  readonly Image: "Imagem";
2461
2699
  readonly HTML: "HTML";
2462
2700
  readonly Currency: "Moeda";
2463
2701
  readonly Date: "Data";
2464
2702
  readonly 'Default text': "Texto padrão";
2465
2703
  readonly 'Default chip': "Chip padrão";
2704
+ readonly 'No items available': "Nenhum item disponível";
2466
2705
  readonly 'Fields:': "Campos:";
2467
2706
  readonly ' (Required)': " (Obrigatório)";
2468
2707
  readonly 'Example available': "Exemplo disponível";
@@ -2471,6 +2710,129 @@ declare const PRAXIS_LIST_PT_BR: {
2471
2710
  readonly 'Do you want to proceed with this action?': "Deseja prosseguir com esta ação?";
2472
2711
  readonly Attention: "Atenção";
2473
2712
  readonly 'CSS class example (add this to your global styles):': "Exemplo de classe CSS (adicione isto aos seus estilos globais):";
2713
+ readonly 'No local dataset configured.': "Nenhum conjunto de dados local configurado.";
2714
+ readonly '{{count}} local rows \u00B7 {{columns}} columns': "{{count}} linhas locais · {{columns}} colunas";
2715
+ readonly 'Local data is present and will take precedence over the remote resource.': "Há dados locais configurados e eles terão precedência sobre o recurso remoto.";
2716
+ readonly Rules: "Regras";
2717
+ readonly Expansion: "Expansão";
2718
+ readonly Export: "Exportação";
2719
+ readonly 'Row layout': "Layout da linha";
2720
+ readonly 'Enable row layout': "Ativar layout da linha";
2721
+ readonly 'Stable columns for list rows': "Colunas estáveis para linhas da lista";
2722
+ readonly 'Corporate row preset': "Preset de linha corporativa";
2723
+ readonly 'Name + role': "Nome + função";
2724
+ readonly Salary: "Salário";
2725
+ readonly 'Status icon': "Ícone de status";
2726
+ readonly Shell: "Estrutura";
2727
+ readonly 'Control placement': "Posição do controle";
2728
+ readonly 'Actions column': "Coluna de ações";
2729
+ readonly Trailing: "Final";
2730
+ readonly 'Layout type': "Tipo de layout";
2731
+ readonly Flex: "Flexível";
2732
+ readonly Align: "Alinhamento";
2733
+ readonly 'Vertical alignment': "Alinhamento vertical";
2734
+ readonly 'Add column': "Adicionar coluna";
2735
+ readonly Slot: "Slot";
2736
+ readonly Width: "Largura";
2737
+ readonly 'Min width': "Largura mínima";
2738
+ readonly 'Max width': "Largura máxima";
2739
+ readonly Justify: "Justificar";
2740
+ readonly 'Move column left': "Mover coluna para a esquerda";
2741
+ readonly 'Move column right': "Mover coluna para a direita";
2742
+ readonly 'Remove column': "Remover coluna";
2743
+ readonly 'Select a slot for this column.': "Selecione um slot para esta coluna.";
2744
+ readonly 'This slot is not supported by the list runtime.': "Este slot não é suportado pelo runtime da lista.";
2745
+ readonly 'This slot has no template or conditional override yet.': "Este slot ainda não tem template ou substituição condicional.";
2746
+ readonly 'Enable expansion': "Ativar expansão";
2747
+ readonly Sections: "Seções";
2748
+ readonly Details: "Detalhes";
2749
+ readonly 'Inline details for list rows': "Detalhes inline para linhas da lista";
2750
+ readonly 'Add section': "Adicionar seção";
2751
+ readonly 'Move section up': "Mover seção para cima";
2752
+ readonly 'Move section down': "Mover seção para baixo";
2753
+ readonly 'Remove section': "Remover seção";
2754
+ readonly Id: "Id";
2755
+ readonly Name: "Nome";
2756
+ readonly Placement: "Posicionamento";
2757
+ readonly Trigger: "Gatilho";
2758
+ readonly 'Items expression': "Expressão dos itens";
2759
+ readonly 'Expression (item.key)': "Expressão (item.key)";
2760
+ readonly 'Empty label': "Rótulo vazio";
2761
+ readonly 'No details available': "Nenhum detalhe disponível";
2762
+ readonly 'Inline expansion sections only.': "Somente seções de expansão inline.";
2763
+ readonly 'Remote expansion config preserved \u00B7 {{mode}} \u00B7 {{nodes}} allowed node types': "Configuração de expansão remota preservada · {{mode}} · {{nodes}} tipos de nós permitidos";
2764
+ readonly 'resourcePath mode should declare resourceAllowList before remote detail loading is enabled.': "O modo resourcePath deve declarar resourceAllowList antes de habilitar o carregamento remoto de detalhes.";
2765
+ readonly 'Remote expansion should declare schemaContract for fail-closed rendering.': "A expansão remota deve declarar schemaContract para renderização fail-closed.";
2766
+ readonly 'schemaContract has no allowedNodes; remote sections may render fail-closed.': "schemaContract não tem allowedNodes; seções remotas podem renderizar em modo fail-closed.";
2767
+ readonly 'The visual editor currently authors inline sections; remote expansion details remain JSON-governed.': "O editor visual authora seções inline; detalhes de expansão remota continuam governados por JSON.";
2768
+ readonly 'Enable export': "Ativar exportação";
2769
+ readonly Formats: "Formatos";
2770
+ readonly Scope: "Escopo";
2771
+ readonly 'Default file name': "Nome padrão do arquivo";
2772
+ readonly 'Max rows': "Máximo de linhas";
2773
+ readonly 'Include headers': "Incluir cabeçalhos";
2774
+ readonly 'Included fields': "Campos incluídos";
2775
+ readonly 'Empty means all fields': "Vazio significa todos os campos";
2776
+ readonly 'Formats, scope and file options': "Formatos, escopo e opções de arquivo";
2777
+ readonly 'Export preview': "Prévia da exportação";
2778
+ readonly 'No fields available for preview yet.': "Ainda não há campos disponíveis para prévia.";
2779
+ readonly '{{formats}} \u00B7 {{scope}} \u00B7 {{columns}} columns{{limit}}': "{{formats}} · {{scope}} · {{columns}} colunas{{limit}}";
2780
+ readonly 'max {{count}} rows': "máx. {{count}} linhas";
2781
+ readonly 'Unknown export fields: {{fields}}': "Campos de exportação desconhecidos: {{fields}}";
2782
+ readonly Columns: "Colunas";
2783
+ readonly Presets: "Presets";
2784
+ readonly 'Single field': "Campo único";
2785
+ readonly 'Card with media': "Cartão com mídia";
2786
+ readonly 'Tile with media': "Bloco com mídia";
2787
+ readonly 'Media on the left': "Mídia à esquerda";
2788
+ readonly 'Hotel tile': "Bloco de hotel";
2789
+ readonly 'Hotel (large media)': "Hotel (mídia grande)";
2790
+ readonly 'Standard tile': "Bloco padrão";
2791
+ readonly Hotel: "Hotel";
2792
+ readonly Subtitle: "Subtítulo";
2793
+ readonly 'Short date': "Data curta";
2794
+ readonly 'Apply formatting': "Aplicar formatação";
2795
+ readonly 'Formatting and style': "Formatação e estilo";
2796
+ readonly 'CSS class': "Classe CSS";
2797
+ readonly Border: "Borda";
2798
+ readonly Background: "Fundo";
2799
+ readonly Padding: "Espaçamento interno";
2800
+ readonly Gap: "Espaçamento";
2801
+ readonly Angle: "Ângulo";
2802
+ readonly 'Gradient from': "Degradê inicial";
2803
+ readonly 'Gradient to': "Degradê final";
2804
+ readonly Custom: "Personalizado";
2805
+ readonly 'Show when (Json Logic)': "Exibir quando (Json Logic)";
2806
+ readonly 'Condition (Json Logic)': "Condição (Json Logic)";
2807
+ readonly 'Use a Json Logic object, for example {"==":[{"var":"row.status"},"done"]}.': "Use um objeto Json Logic, por exemplo {\"==\":[{\"var\":\"row.status\"},\"done\"]}.";
2808
+ readonly 'Item style rules': "Regras de estilo do item";
2809
+ readonly 'Apply class, style, border or background when Json Logic matches.': "Aplique classe, estilo, borda ou fundo quando o Json Logic corresponder.";
2810
+ readonly 'Add item rule': "Adicionar regra de item";
2811
+ readonly 'Item rule': "Regra de item";
2812
+ readonly 'Canonical effect': "Efeito canônico";
2813
+ readonly 'Materialize the first effects[] entry used by the runtime.': "Materialize a primeira entrada effects[] usada pelo runtime.";
2814
+ readonly 'Use direct fields': "Usar campos diretos";
2815
+ readonly 'Use effects[]': "Usar effects[]";
2816
+ readonly 'Effect class': "Classe do efeito";
2817
+ readonly 'Effect style': "Estilo do efeito";
2818
+ readonly 'Effect border': "Borda do efeito";
2819
+ readonly 'Effect background': "Fundo do efeito";
2820
+ readonly 'Slot override rules': "Regras de substituição de slot";
2821
+ readonly 'Replace, decorate or hide a slot when Json Logic matches.': "Substitua, decore ou oculte um slot quando o Json Logic corresponder.";
2822
+ readonly 'Add slot rule': "Adicionar regra de slot";
2823
+ readonly 'Slot rule': "Regra de slot";
2824
+ readonly 'Template type': "Tipo de template";
2825
+ readonly 'Template expression': "Expressão do template";
2826
+ readonly 'Hide slot': "Ocultar slot";
2827
+ readonly 'Effect template type': "Tipo de template do efeito";
2828
+ readonly 'Effect template expression': "Expressão do template do efeito";
2829
+ readonly 'Effect hides slot': "Efeito oculta o slot";
2830
+ readonly 'Payload expression': "Expressão do payload";
2831
+ readonly 'Advanced escape hatch. When set, payload is resolved from this expression and no default item payload is injected.': "Escape hatch avançado. Quando definido, o payload é resolvido por esta expressão e nenhum payload padrão do item é injetado.";
2832
+ readonly 'e.g.: department': "ex.: departamento";
2833
+ readonly 'e.g.: Most recent': "ex.: Mais recentes";
2834
+ readonly 'Local columns': "Colunas locais";
2835
+ readonly 'Advanced row CSS': "CSS avançado da linha";
2474
2836
  };
2475
2837
 
2476
2838
  export { ExecutiveAlertsComponent, ExecutiveBadgeComponent, ExecutiveOwnerComponent, LIST_AI_CAPABILITIES, ListDataService, ListSkinService, PRAXIS_LIST_AUTHORING_MANIFEST, PRAXIS_LIST_COMPONENT_METADATA, PRAXIS_LIST_EN_US, PRAXIS_LIST_I18N_NAMESPACE, PRAXIS_LIST_PT_BR, PraxisList, PraxisListConfigEditor, PraxisListDocPageComponent, PraxisListJsonConfigEditorComponent, PraxisListWidgetConfigEditor, adaptSelection, buildListApplyPlan, createListAuthoringDocument, evalExpr, evaluateTemplate, inferListAuthoringDocument, inferTemplatingFromSchema, isListTemplateSupportedByRichContentP0, mapListTemplateToRichContentP0, normalizeListActionPayloads, normalizeListAuthoringDocument, normalizeListConfig, parseLegacyOrListDocument, projectListAuthoringDocument, providePraxisListI18n, providePraxisListMetadata, serializeListAuthoringDocument, toCanonicalListConfig, validateListAuthoringDocument };