@praxisui/dynamic-fields 9.0.61 → 9.0.63

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.
@@ -160,8 +160,9 @@ Exemplo mínimo (quick clear explícito para os 3 inline especiais):
160
160
  - `inlineCurrencyRange`: faixa monetária compacta em pill, com slider duplo em popover, resumo `min-max`, ticks/marks semânticos compactos, bands opcionais, histograma/distribuição, indicadores discretos adaptativos sem colisão ou escape nas bordas e confirmação explícita por `Aplicar`/`Cancelar`.
161
161
  - `inlineMultiSelect`: listas múltiplas compactas em pill + popover, exibindo tokens selecionados com overflow `+N`, seção de selecionados no painel e confirmação explícita por `inlineOverlay` quando necessário.
162
162
  - `inlineInput`: texto compacto com ícone de busca, clear, largura adaptativa e mascara de
163
- display para campos textuais semanticamente conhecidos (CPF/CNPJ, telefone BR/E.164 e CEP),
164
- preservando o valor cru enviado ao filtro.
163
+ display para campos textuais semanticamente declarados (CPF/CNPJ via `documentType`, telefone
164
+ BR/E.164 e CEP), preservando o valor cru enviado ao filtro. Nome ou label `CPF` nao substitui
165
+ a declaracao semantica canonica.
165
166
  - `inlineToggle`: toggle booleano compacto em pill, com `clear` para voltar a estado neutro (`null`); quando o host limitar sua largura, o label usa ellipsis real e preserva a leitura integral no tooltip.
166
167
  - `inlineRange`: chip compacto + popover com slider, suportando `rangeSlider` em modo `single` e `range`, inputs numéricos opcionais (`showInputs`), labels/marks declarativos, value labels, histograma/distribuição e presets rápidos (`quickPresets` / `quickPresetsAuto`).
167
168
  - `inlinePeriodRange`: faixa temporal compacta por granularidade, cobrindo `month`, `quarter`, `year` e `fiscal-year` com chip e presets específicos por período.
@@ -421,6 +422,8 @@ O vocabulário público de `inlineOverlay.applyMode` é `auto | explicit`. Compo
421
422
  `inlineMultiSelect` também usa o envelope adaptativo e, com `inlineOverlay.applyMode: "explicit"`, mantém seleção, remoção e limpeza do painel em rascunho até `Aplicar`; `Cancelar`, `Esc` ou fechamento externo restauram a seleção confirmada anterior. Labels, aria, `appearance` e `colorRole` das ações do rodapé devem vir de `inlineOverlay.actions.*`. O `inlineSelect` single comita quando uma opção do listbox é ativada e fecha pelo contrato explícito do overlay compartilhado; uma futura confirmação explícita deve reutilizar o mesmo estado de rascunho governado, sem reintroduzir semântica de `mat-select`.
422
423
  `inlineAsyncSelect` segue o mesmo envelope adaptativo de largura e mantém label como placeholder visual quando vazio.
423
424
  `inlineAutocomplete` também usa auto-width por conteúdo (valor/label), mantendo foco no shape pill e clear alinhado.
425
+ `inlineInput` usa o valor de exibição para calcular a largura intrínseca. Máscaras semânticas, como CPF declarado com `documentType: "cpf"`, são aplicadas progressivamente apenas na apresentação (`000.000.000-00`), enquanto o `FormControl` e o payload de filtro preservam os dígitos canônicos e respeitam a capacidade máxima da máscara. O editor adiciona tipo, versão e máscara apenas quando essa semântica já existe no metadata; não infere CPF pelo nome do campo. Entre 421px e 1024px, a toolbar respeita essa medida em vez de uniformizar campos curtos e identificadores; em superfícies de até 420px, o controle ocupa a linha disponível.
426
+ `inlineToggle` preserva largura intrínseca suficiente para os estados localizados verdadeiro/falso e suas ações, sem herdar a largura de controles compostos. Em superfícies de até 420px, ocupa a linha disponível como os demais filtros inline.
424
427
  `inlineNumber` segue o mesmo envelope adaptativo de largura, usando valor numérico atual ou label como fallback quando vazio.
425
428
  No modo percentual (`numericFormat` ou `format` com valor `percent`), mantém o mesmo layout inline e exibe sufixo `%`, preservando overrides explícitos de `min/max/step`.
426
429
  `inlineCurrency` segue envelope adaptativo (`inlineAutoSize`) com máscara de moeda e símbolo antes/depois conforme metadata (`currencyPosition`).
@@ -96,15 +96,27 @@ Para hosts oficiais:
96
96
  - Shape do valor: `string`
97
97
  - Mascara de display: quando houver semantica explicita em metadata (`mask`, `displayMask`,
98
98
  `inputMask`, `format` com tokens de mascara) o campo renderiza o valor mascarado e preserva
99
- o valor cru no form. Para compatibilidade com filtros metadata-driven, `inlineInput` tambem
100
- reconhece sinais explicitos de CPF/CNPJ, telefone BR/E.164 e CEP; numeros sem essa semantica
101
- permanecem texto cru.
99
+ o valor cru no form. CPF/CNPJ exige `documentType: "cpf" | "cnpj" | "auto"` ou uma
100
+ mascara declarada; nome e label nao inferem semantica documental. A capacidade da mascara
101
+ limita tanto a projecao visual quanto o payload canonico. Telefone BR/E.164 e CEP mantem os
102
+ sinais metadata-driven ja suportados; numeros sem semantica declarada permanecem texto cru.
102
103
  - Snippet:
103
104
 
104
105
  ```json
105
106
  { "name": "name", "controlType": "inlineInput", "label": "Nome" }
106
107
  ```
107
108
 
109
+ ```json
110
+ {
111
+ "name": "cpf",
112
+ "controlType": "inlineInput",
113
+ "label": "CPF",
114
+ "documentType": "cpf",
115
+ "version": "legacy",
116
+ "mask": "000.000.000-00"
117
+ }
118
+ ```
119
+
108
120
  - UX note: mantenha placeholder curto e `clearButton` habilitado
109
121
  - Docs relacionadas: `dynamic-fields-inline-filter-runtime-contract`, `dynamic-filter-payload-contract`
110
122
 
@@ -0,0 +1 @@
1
+ export { InlineInputComponent, InlineMaskedValueAccessorDirective, PDX_INLINE_INPUT_COMPONENT_METADATA, PDX_INLINE_PHONE_COMPONENT_METADATA } from './praxisui-dynamic-fields.mjs';