@praxisui/list 9.0.0-beta.7 → 9.0.0-beta.71

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.7",
3
+ "version": "9.0.0-beta.71",
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.7",
9
+ "@praxisui/dynamic-fields": "^9.0.0-beta.71",
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.7",
14
- "@praxisui/core": "^9.0.0-beta.7",
15
- "@praxisui/rich-content": "^9.0.0-beta.7",
16
- "@praxisui/settings-panel": "^9.0.0-beta.7"
13
+ "@praxisui/ai": "^9.0.0-beta.71",
14
+ "@praxisui/core": "^9.0.0-beta.71",
15
+ "@praxisui/rich-content": "^9.0.0-beta.71",
16
+ "@praxisui/settings-panel": "^9.0.0-beta.71"
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`. |
@@ -316,6 +316,7 @@ A integracao com host ocorre por `SettingsValueProvider`:
316
316
  | `export.enabled/formats/general.*` | Active | Editor guiado de formatos, escopo, cabecalhos, limite, nome de arquivo, formatacao e campos incluidos. |
317
317
  | `interaction.expandable/expandTrigger/expandMode/expandPlacement` | Active | Editor guiado de comportamento expansivel da linha. |
318
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. |
319
320
  | `skin.type` | Active | Presets + selecao manual. |
320
321
  | `skin.gradient/radius/shadow/border/backdropBlur/class/inlineStyle` | Active | Edicao direta + presets. |
321
322
  | `selection.mode` | Active | `none/single/multiple`. |
@@ -347,11 +348,11 @@ A integracao com host ocorre por `SettingsValueProvider`:
347
348
  | Area | Adherence | Current editor coverage | Recommended next step |
348
349
  | --- | --- | --- | --- |
349
350
  | `events.exportAction` | ja-suportado-so-ux | Campo visual no tab de eventos. | Manter coberto por spec focal de round-trip. |
350
- | `layout.rowLayout` | ja-suportado-so-ux | Editor guiado cobre ativacao, preset corporativo, tipo, colunas, largura, alinhamento, gap e CSS avancado. | Evoluir depois com preview visual por slot e warnings inline para slots sem template. |
351
- | `export` | ja-suportado-so-ux | Editor guiado cobre habilitacao, formatos, escopo, cabecalhos, limite, nome de arquivo, formatacao e campos incluidos. | Evoluir depois com preview do payload de exportacao e validacao visual de campo inexistente. |
352
- | `interaction`/`expansion` | suportado-parcialmente | Editor guiado cobre interacao expansivel, secoes inline e rendering; `dataSource` remoto e `schemaContract` continuam JSON-only. | Evoluir fonte remota/schemaContract apenas com validacao de seguranca e prova runtime. |
353
- | `rules.itemStyles`/`rules.slotOverrides` | suportado-parcialmente | Runtime e validacao aplicam regras condicionais; authoring visual dedicado ainda ausente. | Criar editor de regras com Json Logic assistido e preview de impacto por slot. |
354
- | `dataSource.data` | ja-suportado-mal-nomeado-ou-mal-materializado | Round-trip por JSON, sem editor visual de dataset local. | Manter JSON-only para datasets grandes; considerar import/preview separado se houver demanda operacional. |
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. |
355
356
 
356
357
  ### Validacao Estrutural
357
358
 
@@ -443,11 +444,11 @@ ref.saved$.subscribe((payload) => {
443
444
 
444
445
  ### Known limitations and pending investigation
445
446
 
446
- 1. Nao existe editor dedicado para `dataSource.data` (dataset local grande).
447
- 2. `rules` possui suporte runtime/capability maior do que a cobertura visual atual do editor; essa area deve evoluir por configurador guiado, nao por contrato paralelo.
448
- 3. `layout.rowLayout` possui editor guiado basico, mas ainda nao tem preview visual por slot nem warnings inline dedicados para slots sem template.
449
- 4. `export` possui editor guiado basico, mas ainda nao tem preview do payload final nem validacao visual dedicada para campo inexistente em `includeFields`.
450
- 5. `expansion.dataSource` remoto e `expansion.schemaContract` permanecem JSON-only ate existir validacao visual e prova runtime especifica no componente.
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.
451
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.
452
453
  7. `isDirty$` usa comparacao por snapshot JSON; mudancas de ordenacao de chaves/objetos podem gerar ruido em cenarios extremos.
453
454
  8. Conversao automatica de `globalAction.payload` string para JSON e heuristica (so quando formato parece objeto/array).
@@ -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
 
@@ -1179,6 +1179,7 @@ type SkinPreset = Exclude<SkinType, 'custom'>;
1179
1179
  type RowLayoutColumn = NonNullable<NonNullable<NonNullable<PraxisListConfig['layout']>['rowLayout']>['columns']>[number];
1180
1180
  type RowLayoutAlign = NonNullable<NonNullable<NonNullable<PraxisListConfig['layout']>['rowLayout']>['align']>;
1181
1181
  type ListExpansionRendering = NonNullable<NonNullable<PraxisListConfig['expansion']>['rendering']>;
1182
+ type ExportPreviewRow = Record<string, string>;
1182
1183
  declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1183
1184
  config: PraxisListConfig;
1184
1185
  listId?: string;
@@ -1328,6 +1329,7 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1328
1329
  readonly rowLayoutAlignOptions: RowLayoutAlign[];
1329
1330
  readonly rowLayoutColumnAlignOptions: Array<NonNullable<RowLayoutColumn['align']>>;
1330
1331
  readonly rowLayoutJustifyOptions: Array<NonNullable<RowLayoutColumn['justify']>>;
1332
+ readonly rowLayoutStructuralSlots: Set<ListRowLayoutSlot>;
1331
1333
  readonly exportFormatOptions: PraxisExportFormat[];
1332
1334
  readonly exportScopeOptions: PraxisExportScope[];
1333
1335
  readonly expandTriggerOptions: Array<NonNullable<NonNullable<PraxisListConfig['interaction']>['expandTrigger']>>;
@@ -1336,6 +1338,8 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1336
1338
  readonly expansionSectionTypeOptions: ListExpansionSectionType[];
1337
1339
  readonly expansionShellOptions: Array<NonNullable<ListExpansionRendering['shell']>>;
1338
1340
  readonly expansionColumnOptions: Array<NonNullable<ListExpansionRendering['columns']>>;
1341
+ readonly ruleSlotOptions: ListSlotOverrideRule['slot'][];
1342
+ readonly ruleTemplateTypeOptions: TemplateType[];
1339
1343
  mappingMetaFields: string[];
1340
1344
  mappingMetaSeparator: string;
1341
1345
  mappingMetaWrapSecondInParens: boolean;
@@ -1382,6 +1386,11 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1382
1386
  private resetVisualMappingState;
1383
1387
  private setupSchemaWatcher;
1384
1388
  onResourcePathChange(value: string): void;
1389
+ getLocalDataRows(): any[];
1390
+ getLocalDataSummary(): string;
1391
+ getLocalDataPrecedenceWarning(): string;
1392
+ getLocalDataColumns(): string[];
1393
+ getLocalDataPreviewRows(): Array<Record<string, string>>;
1385
1394
  applySkinPreset(preset: SkinPreset): void;
1386
1395
  applyLayoutPreset(preset: 'tiles-modern'): void;
1387
1396
  private defaultPresetLocale;
@@ -1505,6 +1514,8 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1505
1514
  removeRowLayoutColumn(index: number): void;
1506
1515
  moveRowLayoutColumn(index: number, direction: -1 | 1): void;
1507
1516
  onRowLayoutChanged(): void;
1517
+ rowLayoutColumnWarning(column: RowLayoutColumn): string;
1518
+ private rowLayoutSlotHasMaterialization;
1508
1519
  private ensureRowLayoutDraft;
1509
1520
  private defaultRowLayout;
1510
1521
  private nextRowLayoutSlot;
@@ -1532,7 +1543,14 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1532
1543
  onExportApplyFormattingChange(value: boolean): void;
1533
1544
  onExportMaxRowsChange(value: any): void;
1534
1545
  getExportIncludeFieldsText(): string;
1546
+ getExportPreviewColumns(): string[];
1547
+ getExportPreviewRows(): ExportPreviewRow[];
1548
+ getExportPreviewSummary(): string;
1549
+ getExportIncludeFieldsWarning(): string;
1550
+ getExportUnknownIncludeFields(): string[];
1535
1551
  onExportIncludeFieldsTextChange(value: string): void;
1552
+ private readExportPreviewValue;
1553
+ private formatExportPreviewValue;
1536
1554
  private ensureExportDraft;
1537
1555
  expansionEnabled(): boolean;
1538
1556
  onExpansionEnabledChange(enabled: boolean): void;
@@ -1545,6 +1563,8 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1545
1563
  getExpansionColumnsModel(): NonNullable<ListExpansionRendering['columns']>;
1546
1564
  getExpansionGapModel(): string;
1547
1565
  getExpansionPaddingModel(): string;
1566
+ getExpansionRemoteSummary(): string;
1567
+ getExpansionRemoteWarnings(): string[];
1548
1568
  onExpansionRenderingChanged(prop: 'shell' | 'columns' | 'gap' | 'padding', value: string | number): void;
1549
1569
  addExpansionSection(): void;
1550
1570
  removeExpansionSection(index: number): void;
@@ -1553,6 +1573,37 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1553
1573
  getExpansionSectionShowIfText(section: ListExpansionSectionDef): string;
1554
1574
  private ensureExpansionDraft;
1555
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;
1556
1607
  onSkeletonChanged(value: any): void;
1557
1608
  addUiSortRow(): void;
1558
1609
  removeUiSortRow(i: number): void;
@@ -2174,7 +2225,7 @@ declare const PRAXIS_LIST_EN_US: {
2174
2225
  readonly 'Field to search': "Field to search";
2175
2226
  readonly 'Search placeholder': "Search placeholder";
2176
2227
  readonly 'e.g.: Search by title': "e.g.: Search by title";
2177
- 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)";
2178
2229
  readonly 'Add option': "Add option";
2179
2230
  readonly Field: "Field";
2180
2231
  readonly 'Duplicate option (field+direction)': "Duplicate option (field+direction)";
@@ -2287,6 +2338,7 @@ declare const PRAXIS_LIST_EN_US: {
2287
2338
  readonly Date: "Date";
2288
2339
  readonly 'Default text': "Default text";
2289
2340
  readonly 'Default chip': "Default chip";
2341
+ readonly 'No items available': "No items available";
2290
2342
  readonly 'Fields:': "Fields:";
2291
2343
  readonly ' (Required)': " (Required)";
2292
2344
  readonly 'Example available': "Example available";
@@ -2295,6 +2347,129 @@ declare const PRAXIS_LIST_EN_US: {
2295
2347
  readonly 'Do you want to proceed with this action?': "Do you want to proceed with this action?";
2296
2348
  readonly Attention: "Attention";
2297
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";
2298
2473
  };
2299
2474
 
2300
2475
  declare const PRAXIS_LIST_I18N_NAMESPACE = "praxis-list";
@@ -2508,24 +2683,25 @@ declare const PRAXIS_LIST_PT_BR: {
2508
2683
  readonly 'Between groups': "Entre grupos";
2509
2684
  readonly All: "Todos";
2510
2685
  readonly 'Group by': "Agrupar por";
2511
- readonly Cards: "Cartões (Cards)";
2512
- readonly Tiles: "Blocos (Tiles)";
2513
- readonly 'Pill Soft': "Pílula Suave (Pill Soft)";
2686
+ readonly Cards: "Cartões";
2687
+ readonly Tiles: "Blocos";
2688
+ readonly 'Pill Soft': "Pílula suave";
2514
2689
  readonly 'Gradient Tile': "Bloco com degradê";
2515
- readonly Glass: "Vidro (Glass)";
2690
+ readonly Glass: "Vidro";
2516
2691
  readonly Elevated: "Elevado";
2517
2692
  readonly Outline: "Contorno";
2518
2693
  readonly Flat: "Plano";
2519
2694
  readonly Neumorphism: "Neumorfismo";
2520
2695
  readonly Text: "Texto";
2521
2696
  readonly Chip: "Chip";
2522
- readonly Rating: "Avaliação (Rating)";
2697
+ readonly Rating: "Avaliação";
2523
2698
  readonly Image: "Imagem";
2524
2699
  readonly HTML: "HTML";
2525
2700
  readonly Currency: "Moeda";
2526
2701
  readonly Date: "Data";
2527
2702
  readonly 'Default text': "Texto padrão";
2528
2703
  readonly 'Default chip': "Chip padrão";
2704
+ readonly 'No items available': "Nenhum item disponível";
2529
2705
  readonly 'Fields:': "Campos:";
2530
2706
  readonly ' (Required)': " (Obrigatório)";
2531
2707
  readonly 'Example available': "Exemplo disponível";
@@ -2534,6 +2710,129 @@ declare const PRAXIS_LIST_PT_BR: {
2534
2710
  readonly 'Do you want to proceed with this action?': "Deseja prosseguir com esta ação?";
2535
2711
  readonly Attention: "Atenção";
2536
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";
2537
2836
  };
2538
2837
 
2539
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 };