@praxisui/dynamic-fields 9.0.65 → 9.0.67

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.
@@ -27,7 +27,6 @@ reading_time: 18
27
27
  estimated_setup_time: 20
28
28
  version: "1.0"
29
29
  related_docs:
30
- - "dynamic-fields-overview"
31
30
  - "dynamic-fields-field-catalog"
32
31
  - "dynamic-fields-field-selection-guide"
33
32
  - "dynamic-fields-host-custom-field-guide"
@@ -44,6 +43,8 @@ last_updated: "2026-03-26"
44
43
 
45
44
  # Dynamic Fields Inventory
46
45
 
46
+ Visão geral e integração da biblioteca: [README canônico](../README.md).
47
+
47
48
  ## Source of truth
48
49
 
49
50
  Este inventario foi montado a partir do runtime real:
@@ -89,98 +90,98 @@ Quando houver diferenca entre uma necessidade de UX de descoberta e a listagem d
89
90
 
90
91
  ## A. Primary form controls
91
92
 
92
- | Familia | controlType | Angular component | metadata | json-api | README | examples | Notes |
93
- | --- | --- | --- | --- | --- | --- | --- | --- |
94
- | texto | `input` | `TextInputComponent` | `components/text-input/text-input.metadata.ts` | `components/text-input/pdx-text-input.json-api.md` | yes | yes | texto livre canônico |
95
- | texto | `email` | `EmailInputComponent` | `components/email-input/email-input.metadata.ts` | `components/email-input/pdx-email-input.json-api.md` | yes | yes | email especializado |
96
- | texto | `password` | `PasswordInputComponent` | `components/password-input/password-input.metadata.ts` | `components/password-input/pdx-password-input.json-api.md` | yes | yes | senha |
97
- | texto | `textarea` | `MaterialTextareaComponent` | `components/material-textarea/material-textarea.metadata.ts` | `components/material-textarea/pdx-material-textarea.json-api.md` | yes | yes | texto longo |
98
- | texto | `search` | `SearchInputComponent` | `components/search-input/search-input.metadata.ts` | `components/search-input/pdx-search-input.json-api.md` | yes | yes | busca textual |
99
- | texto | `phone` | `PhoneInputComponent` | `components/phone-input/phone-input.metadata.ts` | `components/phone-input/pdx-phone-input.json-api.md` | no | yes | telefone |
100
- | texto | `url` | `UrlInputComponent` | `components/url-input/url-input.metadata.ts` | `components/url-input/pdx-url-input.json-api.md` | no | no | URL |
101
- | texto | `cpfCnpjInput` | `MaterialCpfCnpjInputComponent` | `components/material-cpf-cnpj-input/material-cpf-cnpj-input.metadata.ts` | `components/material-cpf-cnpj-input/pdx-material-cpf-cnpj-input.json-api.md` | no | no | documento BR |
102
- | numero/moeda/range | `numericTextBox` | `NumberInputComponent` | `components/number-input/number-input.metadata.ts` | `components/number-input/pdx-number-input.json-api.md` | no | no | numero canônico |
103
- | numero/moeda/range | `currency` | `MaterialCurrencyComponent` | `components/material-currency/material-currency.metadata.ts` | `components/material-currency/pdx-material-currency.json-api.md` | yes | no | moeda |
104
- | numero/moeda/range | `slider` | `MaterialSliderComponent` | `components/material-slider/material-slider.metadata.ts` | `components/material-slider/pdx-material-slider.json-api.md` | yes | no | valor unico em faixa |
105
- | numero/moeda/range | `rangeSlider` | `PdxMaterialRangeSliderComponent` | `components/material-range-slider/material-range-slider.metadata.ts` | `components/material-range-slider/pdx-material-range-slider.json-api.md` | no | no | faixa simples ou dupla |
106
- | numero/moeda/range | `priceRange` | `MaterialPriceRangeComponent` | `components/material-price-range/material-price-range.metadata.ts` | `components/material-price-range/pdx-material-price-range.json-api.md` | no | no | faixa monetaria |
107
- | numero/moeda/range | `rating` | `MaterialRatingComponent` | `components/material-rating/material-rating.metadata.ts` | `components/material-rating/pdx-material-rating.json-api.md` | yes | yes | pontuacao visual |
108
- | data e tempo | `dateInput` | `DateInputComponent` | `components/date-input/date-input.metadata.ts` | `components/date-input/pdx-date-input.json-api.md` | no | no | input de data nativo |
109
- | data e tempo | `date` | `MaterialDatepickerComponent` | `components/material-datepicker/material-datepicker.metadata.ts` | `components/material-datepicker/pdx-material-datepicker.json-api.md` | yes | yes | datepicker Material |
110
- | data e tempo | `dateRange` | `MaterialDateRangeComponent` | `components/material-date-range/material-date-range.metadata.ts` | `components/material-date-range/pdx-material-date-range.json-api.md` | no | yes | intervalo de datas |
111
- | data e tempo | `dateTimeLocal` | `DatetimeLocalInputComponent` | `components/datetime-local-input/datetime-local-input.metadata.ts` | `components/datetime-local-input/pdx-datetime-local-input.json-api.md` | no | no | data/hora local |
112
- | data e tempo | `month` | `MonthInputComponent` | `components/month-input/month-input.metadata.ts` | `components/month-input/pdx-month-input.json-api.md` | no | yes | mes/ano |
113
- | data e tempo | `time` | `TimeInputComponent` | `components/time-input/time-input.metadata.ts` | `components/time-input/pdx-time-input.json-api.md` | yes | yes | hora simples |
114
- | data e tempo | `timePicker` | `MaterialTimepickerComponent` | `components/material-timepicker/material-timepicker.metadata.ts` | `components/material-timepicker/pdx-material-timepicker.json-api.md` | yes | yes | seletor de horario |
115
- | data e tempo | `timeRange` | `PdxMaterialTimeRangeComponent` | `components/pdx-material-time-range/pdx-material-time-range.metadata.ts` | `components/pdx-material-time-range/pdx-material-time-range.json-api.md` | no | no | intervalo de horario |
116
- | data e tempo | `week` | `WeekInputComponent` | `components/week-input/week-input.metadata.ts` | `components/week-input/pdx-week-input.json-api.md` | no | no | semana ISO |
117
- | data e tempo | `year` | `PdxYearInputComponent` | `components/pdx-year-input/pdx-year-input.metadata.ts` | `components/pdx-year-input/pdx-year-input.json-api.md` | no | yes | ano |
118
- | selecao | `select` | `MaterialSelectComponent` | `components/material-select/material-select.metadata.ts` | `components/material-select/pdx-material-select.json-api.md` | yes | yes | lista local/remota |
119
- | selecao | `searchable-select` | `MaterialSearchableSelectComponent` | `components/material-searchable-select/material-searchable-select.metadata.ts` | `components/material-searchable-select/pdx-material-searchable-select.json-api.md` | no | yes | select com busca |
120
- | selecao | `async-select` | `MaterialAsyncSelectComponent` | `components/material-async-select/material-async-select.metadata.ts` | `components/material-async-select/pdx-material-async-select.json-api.md` | no | yes | select remoto |
121
- | selecao | `entityLookup` | `InlineEntityLookupComponent` | `editorial/wave1/entity-lookup.editorial.ts` | `components/inline-entity-lookup/pdx-inline-entity-lookup.json-api.md` | no | no | lookup corporativo para `RESOURCE_ENTITY`, reidratacao e politica de selecao |
122
- | selecao | `autoComplete` | `MaterialAutocompleteComponent` | `components/material-autocomplete/material-autocomplete.metadata.ts` | `components/material-autocomplete/pdx-material-autocomplete.json-api.md` | yes | yes | autocomplete |
123
- | selecao | `multiSelect` | `MaterialMultiSelectComponent` | `components/material-multi-select/material-multi-select.metadata.ts` | `components/material-multi-select/pdx-material-multi-select.json-api.md` | no | yes | multipla selecao |
124
- | arvores/listas | `multiSelectTree` | `MaterialMultiSelectTreeComponent` | `components/material-multi-select-tree/material-multi-select-tree.metadata.ts` | `components/material-multi-select-tree/pdx-material-multi-select-tree.json-api.md` | no | no | arvore multipla |
125
- | arvores/listas | `treeSelect` | `MaterialTreeSelectComponent` | `components/material-tree-select/material-tree-select.metadata.ts` | `components/material-tree-select/pdx-material-tree-select.json-api.md` | no | no | arvore simples |
126
- | arvores/listas | `array` | `EditableCollectionComponent` | `editorial/wave1/editable-collection.editorial.ts` | n/a | no | no | colecao repetivel com `FormArray` e subcampos metadata-driven |
127
- | arvores/listas | `selectionList` | `MaterialSelectionListComponent` | `components/material-selection-list/material-selection-list.metadata.ts` | `components/material-selection-list/pdx-material-selection-list.json-api.md` | no | yes | lista de opcoes; runtime basico funcional, mas `searchable` e `selectAll` ainda nao estao completos na superficie do componente |
128
- | arvores/listas | `transferList` | `MaterialTransferListComponent` | `components/material-transfer-list/material-transfer-list.metadata.ts` | `components/material-transfer-list/pdx-material-transfer-list.json-api.md` | no | no | mover entre listas |
129
- | arvores/listas | `chipInput` | `MaterialChipsComponent` | `components/material-chips/material-chips.metadata.ts` | `components/material-chips/pdx-material-chips.json-api.md` | no | no | entrada em chips |
130
- | arvores/listas | `chipList` | `MaterialChipsComponent` | `components/material-chips/material-chips.metadata.ts` | `components/material-chips/pdx-material-chips.json-api.md` | no | no | lista de chips |
131
- | toggle/choice | `checkbox` | `MaterialCheckboxGroupComponent` | `components/material-checkbox-group/material-checkbox-group.metadata.ts` | `components/material-checkbox-group/pdx-material-checkbox-group.json-api.md` | yes | yes | grupo de checkboxes |
132
- | toggle/choice | `radio` | `MaterialRadioGroupComponent` | `components/material-radio-group/material-radio-group.metadata.ts` | `components/material-radio-group/pdx-material-radio-group.json-api.md` | yes | yes | grupo de radio |
133
- | toggle/choice | `toggle` | `MaterialSlideToggleComponent` | `components/material-slide-toggle/material-slide-toggle.metadata.ts` | `components/material-slide-toggle/pdx-material-slide-toggle.json-api.md` | yes | no | booleano on/off |
134
- | toggle/choice | `buttonToggle` | `MaterialButtonToggleComponent` | `components/material-button-toggle/material-button-toggle.metadata.ts` | `components/material-button-toggle/pdx-material-button-toggle.json-api.md` | no | no | grupo segmentado |
135
- | upload | `upload` | `MaterialFileUploadComponent` | `components/material-file-upload/material-file-upload.metadata.ts` | `components/material-file-upload/pdx-material-file-upload.json-api.md` | yes | no | upload |
136
- | cor | `color` | `ColorInputComponent` | `components/color-input/color-input.metadata.ts` | `components/color-input/pdx-color-input.json-api.md` | yes | yes | input textual/cor |
137
- | cor | `colorPicker` | `PdxColorPickerComponent` | `components/color-picker/pdx-color-picker.metadata.ts` | `components/color-picker/pdx-color-picker.json-api.md` | yes | no | picker avançado |
138
- | visual/acao | `avatar` | `MaterialAvatarComponent` | `components/material-avatar/material-avatar.metadata.ts` | `components/material-avatar/pdx-material-avatar.json-api.md` | yes | no | representacao visual |
139
- | visual/acao | `button` | `MaterialButtonComponent` | `components/material-button/material-button.metadata.ts` | `components/material-button/pdx-material-button.json-api.md` | yes | yes | acao nao-CVA |
140
- | visual/acao | `cronBuilder` | `PdxCronBuilderComponent` | n/a (lib externa) | n/a (lib externa) | no | no | depende de `@praxisui/cron-builder` |
93
+ | Familia | controlType | Angular component | metadata | json-api | README | examples | Notes |
94
+ | ------------------ | ------------------- | ----------------------------------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
95
+ | texto | `input` | `TextInputComponent` | `components/text-input/text-input.metadata.ts` | `components/text-input/pdx-text-input.json-api.md` | yes | yes | texto livre canônico |
96
+ | texto | `email` | `EmailInputComponent` | `components/email-input/email-input.metadata.ts` | `components/email-input/pdx-email-input.json-api.md` | yes | yes | email especializado |
97
+ | texto | `password` | `PasswordInputComponent` | `components/password-input/password-input.metadata.ts` | `components/password-input/pdx-password-input.json-api.md` | yes | yes | senha |
98
+ | texto | `textarea` | `MaterialTextareaComponent` | `components/material-textarea/material-textarea.metadata.ts` | `components/material-textarea/pdx-material-textarea.json-api.md` | yes | yes | texto longo |
99
+ | texto | `search` | `SearchInputComponent` | `components/search-input/search-input.metadata.ts` | `components/search-input/pdx-search-input.json-api.md` | yes | yes | busca textual |
100
+ | texto | `phone` | `PhoneInputComponent` | `components/phone-input/phone-input.metadata.ts` | `components/phone-input/pdx-phone-input.json-api.md` | no | yes | telefone |
101
+ | texto | `url` | `UrlInputComponent` | `components/url-input/url-input.metadata.ts` | `components/url-input/pdx-url-input.json-api.md` | no | no | URL |
102
+ | texto | `cpfCnpjInput` | `MaterialCpfCnpjInputComponent` | `components/material-cpf-cnpj-input/material-cpf-cnpj-input.metadata.ts` | `components/material-cpf-cnpj-input/pdx-material-cpf-cnpj-input.json-api.md` | no | no | documento BR |
103
+ | numero/moeda/range | `numericTextBox` | `NumberInputComponent` | `components/number-input/number-input.metadata.ts` | `components/number-input/pdx-number-input.json-api.md` | no | no | numero canônico |
104
+ | numero/moeda/range | `currency` | `MaterialCurrencyComponent` | `components/material-currency/material-currency.metadata.ts` | `components/material-currency/pdx-material-currency.json-api.md` | yes | no | moeda |
105
+ | numero/moeda/range | `slider` | `MaterialSliderComponent` | `components/material-slider/material-slider.metadata.ts` | `components/material-slider/pdx-material-slider.json-api.md` | yes | no | valor unico em faixa |
106
+ | numero/moeda/range | `rangeSlider` | `PdxMaterialRangeSliderComponent` | `components/material-range-slider/material-range-slider.metadata.ts` | `components/material-range-slider/pdx-material-range-slider.json-api.md` | no | no | faixa simples ou dupla |
107
+ | numero/moeda/range | `priceRange` | `MaterialPriceRangeComponent` | `components/material-price-range/material-price-range.metadata.ts` | `components/material-price-range/pdx-material-price-range.json-api.md` | no | no | faixa monetaria |
108
+ | numero/moeda/range | `rating` | `MaterialRatingComponent` | `components/material-rating/material-rating.metadata.ts` | `components/material-rating/pdx-material-rating.json-api.md` | yes | yes | pontuacao visual |
109
+ | data e tempo | `dateInput` | `DateInputComponent` | `components/date-input/date-input.metadata.ts` | `components/date-input/pdx-date-input.json-api.md` | no | no | input de data nativo |
110
+ | data e tempo | `date` | `MaterialDatepickerComponent` | `components/material-datepicker/material-datepicker.metadata.ts` | `components/material-datepicker/pdx-material-datepicker.json-api.md` | yes | yes | datepicker Material |
111
+ | data e tempo | `dateRange` | `MaterialDateRangeComponent` | `components/material-date-range/material-date-range.metadata.ts` | `components/material-date-range/pdx-material-date-range.json-api.md` | no | yes | intervalo de datas |
112
+ | data e tempo | `dateTimeLocal` | `DatetimeLocalInputComponent` | `components/datetime-local-input/datetime-local-input.metadata.ts` | `components/datetime-local-input/pdx-datetime-local-input.json-api.md` | no | no | data/hora local |
113
+ | data e tempo | `month` | `MonthInputComponent` | `components/month-input/month-input.metadata.ts` | `components/month-input/pdx-month-input.json-api.md` | no | yes | mes/ano |
114
+ | data e tempo | `time` | `TimeInputComponent` | `components/time-input/time-input.metadata.ts` | `components/time-input/pdx-time-input.json-api.md` | yes | yes | hora simples |
115
+ | data e tempo | `timePicker` | `MaterialTimepickerComponent` | `components/material-timepicker/material-timepicker.metadata.ts` | `components/material-timepicker/pdx-material-timepicker.json-api.md` | yes | yes | seletor de horario |
116
+ | data e tempo | `timeRange` | `PdxMaterialTimeRangeComponent` | `components/pdx-material-time-range/pdx-material-time-range.metadata.ts` | `components/pdx-material-time-range/pdx-material-time-range.json-api.md` | no | no | intervalo de horario |
117
+ | data e tempo | `week` | `WeekInputComponent` | `components/week-input/week-input.metadata.ts` | `components/week-input/pdx-week-input.json-api.md` | no | no | semana ISO |
118
+ | data e tempo | `year` | `PdxYearInputComponent` | `components/pdx-year-input/pdx-year-input.metadata.ts` | `components/pdx-year-input/pdx-year-input.json-api.md` | no | yes | ano |
119
+ | selecao | `select` | `MaterialSelectComponent` | `components/material-select/material-select.metadata.ts` | `components/material-select/pdx-material-select.json-api.md` | yes | yes | lista local/remota |
120
+ | selecao | `searchable-select` | `MaterialSearchableSelectComponent` | `components/material-searchable-select/material-searchable-select.metadata.ts` | `components/material-searchable-select/pdx-material-searchable-select.json-api.md` | no | yes | select com busca |
121
+ | selecao | `async-select` | `MaterialAsyncSelectComponent` | `components/material-async-select/material-async-select.metadata.ts` | `components/material-async-select/pdx-material-async-select.json-api.md` | no | yes | select remoto |
122
+ | selecao | `entityLookup` | `InlineEntityLookupComponent` | `editorial/wave1/entity-lookup.editorial.ts` | `components/inline-entity-lookup/pdx-inline-entity-lookup.json-api.md` | no | no | lookup corporativo para `RESOURCE_ENTITY`, reidratacao e politica de selecao |
123
+ | selecao | `autoComplete` | `MaterialAutocompleteComponent` | `components/material-autocomplete/material-autocomplete.metadata.ts` | `components/material-autocomplete/pdx-material-autocomplete.json-api.md` | yes | yes | autocomplete |
124
+ | selecao | `multiSelect` | `MaterialMultiSelectComponent` | `components/material-multi-select/material-multi-select.metadata.ts` | `components/material-multi-select/pdx-material-multi-select.json-api.md` | no | yes | multipla selecao |
125
+ | arvores/listas | `multiSelectTree` | `MaterialMultiSelectTreeComponent` | `components/material-multi-select-tree/material-multi-select-tree.metadata.ts` | `components/material-multi-select-tree/pdx-material-multi-select-tree.json-api.md` | no | no | arvore multipla |
126
+ | arvores/listas | `treeSelect` | `MaterialTreeSelectComponent` | `components/material-tree-select/material-tree-select.metadata.ts` | `components/material-tree-select/pdx-material-tree-select.json-api.md` | no | no | arvore simples |
127
+ | arvores/listas | `array` | `EditableCollectionComponent` | `editorial/wave1/editable-collection.editorial.ts` | n/a | no | no | colecao repetivel com `FormArray` e subcampos metadata-driven |
128
+ | arvores/listas | `selectionList` | `MaterialSelectionListComponent` | `components/material-selection-list/material-selection-list.metadata.ts` | `components/material-selection-list/pdx-material-selection-list.json-api.md` | no | yes | lista de opcoes; runtime basico funcional, mas `searchable` e `selectAll` ainda nao estao completos na superficie do componente |
129
+ | arvores/listas | `transferList` | `MaterialTransferListComponent` | `components/material-transfer-list/material-transfer-list.metadata.ts` | `components/material-transfer-list/pdx-material-transfer-list.json-api.md` | no | no | mover entre listas |
130
+ | arvores/listas | `chipInput` | `MaterialChipsComponent` | `components/material-chips/material-chips.metadata.ts` | `components/material-chips/pdx-material-chips.json-api.md` | no | no | entrada em chips |
131
+ | arvores/listas | `chipList` | `MaterialChipsComponent` | `components/material-chips/material-chips.metadata.ts` | `components/material-chips/pdx-material-chips.json-api.md` | no | no | lista de chips |
132
+ | toggle/choice | `checkbox` | `MaterialCheckboxGroupComponent` | `components/material-checkbox-group/material-checkbox-group.metadata.ts` | `components/material-checkbox-group/pdx-material-checkbox-group.json-api.md` | yes | yes | grupo de checkboxes |
133
+ | toggle/choice | `radio` | `MaterialRadioGroupComponent` | `components/material-radio-group/material-radio-group.metadata.ts` | `components/material-radio-group/pdx-material-radio-group.json-api.md` | yes | yes | grupo de radio |
134
+ | toggle/choice | `toggle` | `MaterialSlideToggleComponent` | `components/material-slide-toggle/material-slide-toggle.metadata.ts` | `components/material-slide-toggle/pdx-material-slide-toggle.json-api.md` | yes | no | booleano on/off |
135
+ | toggle/choice | `buttonToggle` | `MaterialButtonToggleComponent` | `components/material-button-toggle/material-button-toggle.metadata.ts` | `components/material-button-toggle/pdx-material-button-toggle.json-api.md` | no | no | grupo segmentado |
136
+ | upload | `upload` | `MaterialFileUploadComponent` | `components/material-file-upload/material-file-upload.metadata.ts` | `components/material-file-upload/pdx-material-file-upload.json-api.md` | yes | no | upload |
137
+ | cor | `color` | `ColorInputComponent` | `components/color-input/color-input.metadata.ts` | `components/color-input/pdx-color-input.json-api.md` | yes | yes | input textual/cor |
138
+ | cor | `colorPicker` | `PdxColorPickerComponent` | `components/color-picker/pdx-color-picker.metadata.ts` | `components/color-picker/pdx-color-picker.json-api.md` | yes | no | seletor nativo, alpha, commit explícito e paleta governada; precisão avançada pendente |
139
+ | visual/acao | `avatar` | `MaterialAvatarComponent` | `components/material-avatar/material-avatar.metadata.ts` | `components/material-avatar/pdx-material-avatar.json-api.md` | yes | no | representacao visual |
140
+ | visual/acao | `button` | `MaterialButtonComponent` | `components/material-button/material-button.metadata.ts` | `components/material-button/pdx-material-button.json-api.md` | yes | yes | acao nao-CVA |
141
+ | visual/acao | `cronBuilder` | `PdxCronBuilderComponent` | n/a (lib externa) | n/a (lib externa) | no | no | depende de `@praxisui/cron-builder` |
141
142
 
142
143
  ## B. Specialized inline filter controls
143
144
 
144
145
  Estes `controlType` sao registrados por default no mesmo registry, mas pertencem a uma trilha especializada de filtro inline. Eles nao devem ser apresentados como escolha padrao para formularios corporativos comuns.
145
146
  As colunas de implementacao e metadata abaixo descrevem artefatos internos co-localizados ao `controlType`; caminhos fisicos e nomes historicos do workspace nao fazem parte do contrato recomendado.
146
147
 
147
- | Familia | controlType | implementacao Angular | metadata | json-api | README | examples | Notes |
148
- | --- | --- | --- | --- | --- | --- | --- | --- |
149
- | inline de filtro | `inlineSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | select compacto |
150
- | inline de filtro | `inlineSearchableSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | select com busca |
151
- | inline de filtro | `inlineAsyncSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | select remoto |
152
- | inline de filtro | `inlineEntityLookup` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | lookup de entidade |
153
- | inline de filtro | `inlineAutocomplete` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | autocomplete compacto |
154
- | inline de filtro | `inlineNumber` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | numero compacto |
155
- | inline de filtro | `inlineCurrency` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | moeda compacta |
156
- | inline de filtro | `inlineCurrencyRange` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | range monetario |
157
- | inline de filtro | `inlineMultiSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | multipla selecao |
158
- | inline de filtro | `inlineInput` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | texto compacto |
159
- | inline de filtro | `inlinePhone` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | telefone compacto |
160
- | inline de filtro | `inlineToggle` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | toggle compacto |
161
- | inline de filtro | `inlineRange` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | slider compacto |
162
- | inline de filtro | `inlineDate` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | date inline |
163
- | inline de filtro | `inlineDateRange` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | date range inline |
164
- | inline de filtro | `inlineTime` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | time inline |
165
- | inline de filtro | `inlineTimeRange` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | time range inline |
166
- | inline de filtro | `inlineTreeSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | tree select inline |
167
- | inline de filtro | `inlineRating` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | yes | yes | rating especializado |
168
- | inline de filtro | `inlineDistanceRadius` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | distancia/raio |
169
- | inline de filtro | `inlinePipelineStatus` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | status de pipeline |
170
- | inline de filtro | `inlineScorePriority` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | score/prioridade |
171
- | inline de filtro | `inlineRelativePeriod` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | periodo relativo |
172
- | inline de filtro | `inlineSentiment` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | sentimento |
173
- | inline de filtro | `inlineColorLabel` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | etiquetas por cor |
148
+ | Familia | controlType | implementacao Angular | metadata | json-api | README | examples | Notes |
149
+ | ---------------- | ------------------------ | ------------------------------------------- | --------------------------------------- | ------------------------------------------- | ------ | -------- | --------------------- |
150
+ | inline de filtro | `inlineSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | select compacto |
151
+ | inline de filtro | `inlineSearchableSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | select com busca |
152
+ | inline de filtro | `inlineAsyncSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | select remoto |
153
+ | inline de filtro | `inlineEntityLookup` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | lookup de entidade |
154
+ | inline de filtro | `inlineAutocomplete` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | autocomplete compacto |
155
+ | inline de filtro | `inlineNumber` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | numero compacto |
156
+ | inline de filtro | `inlineCurrency` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | moeda compacta |
157
+ | inline de filtro | `inlineCurrencyRange` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | range monetario |
158
+ | inline de filtro | `inlineMultiSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | multipla selecao |
159
+ | inline de filtro | `inlineInput` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | texto compacto |
160
+ | inline de filtro | `inlinePhone` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | telefone compacto |
161
+ | inline de filtro | `inlineToggle` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | toggle compacto |
162
+ | inline de filtro | `inlineRange` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | slider compacto |
163
+ | inline de filtro | `inlineDate` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | date inline |
164
+ | inline de filtro | `inlineDateRange` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | date range inline |
165
+ | inline de filtro | `inlineTime` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | time inline |
166
+ | inline de filtro | `inlineTimeRange` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | time range inline |
167
+ | inline de filtro | `inlineTreeSelect` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | tree select inline |
168
+ | inline de filtro | `inlineRating` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | yes | yes | rating especializado |
169
+ | inline de filtro | `inlineDistanceRadius` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | distancia/raio |
170
+ | inline de filtro | `inlinePipelineStatus` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | status de pipeline |
171
+ | inline de filtro | `inlineScorePriority` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | score/prioridade |
172
+ | inline de filtro | `inlineRelativePeriod` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | periodo relativo |
173
+ | inline de filtro | `inlineSentiment` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | sentimento |
174
+ | inline de filtro | `inlineColorLabel` | `registrada por default no registry inline` | `metadata co-localizada ao controlType` | `co-localizado ao metadata (*.json-api.md)` | no | no | etiquetas por cor |
174
175
 
175
176
  ## C. Preferred Published Control Types
176
177
 
177
178
  Estes valores existem no runtime, mas os contratos novos devem seguir a coluna `prefer`.
178
179
 
179
- | Registered runtime value | Routed component | Prefer in new contracts | Notes |
180
- | --- | --- | --- | --- |
181
- | `dateTime` | `DatetimeLocalInputComponent` | `dateTimeLocal` | manter `dateTimeLocal` como nome publicado |
182
- | `dateTimeRange` | `MaterialDateRangeComponent` | `dateRange` | reutiliza date range |
183
- | `treeView` | `MaterialTreeSelectComponent` | `treeSelect` | publicar `treeSelect` |
180
+ | Registered runtime value | Routed component | Prefer in new contracts | Notes |
181
+ | ------------------------ | ----------------------------- | ----------------------- | ------------------------------------------ |
182
+ | `dateTime` | `DatetimeLocalInputComponent` | `dateTimeLocal` | manter `dateTimeLocal` como nome publicado |
183
+ | `dateTimeRange` | `MaterialDateRangeComponent` | `dateRange` | reutiliza date range |
184
+ | `treeView` | `MaterialTreeSelectComponent` | `treeSelect` | publicar `treeSelect` |
184
185
 
185
186
  ## D. Coverage findings
186
187
 
@@ -0,0 +1,38 @@
1
+ # RFC — observacao de identidade de token de cor governado
2
+
3
+ ## Estado
4
+
5
+ Implementado em 2026-09-06 no Core e nos controles `pdx-color-input` e `pdx-color-picker`.
6
+
7
+ ## Problema e inventario de aderencia
8
+
9
+ O runtime ja materializava paletas publicadas com `paletteKey`, familia, variante, versao, ETag, `tokenId`, papel semantico e referencia CSS. Entretanto, o ControlValueAccessor confirmava somente a string CSS. Dois tokens distintos que compartilhassem a mesma referencia visual ficavam indistinguiveis para observabilidade, auditoria e mapeamentos explicitos do dominio.
10
+
11
+ Classificacao: `suportado-parcialmente`. A identidade ja existia na fonte governada e na projecao de runtime; faltava uma saida publica que a preservasse no momento correto da interacao.
12
+
13
+ ## Decisao
14
+
15
+ O valor do campo permanece `string | null`. A identidade e publicada separadamente por `governedSelectionChange`, cujo payload e `GovernedColorTokenSelection | null` e pertence canonicamente a `@praxisui/core`.
16
+
17
+ O payload contem `paletteKey`, `familyKey`, `variantKey`, `version`, `etag`, `tokenId`, `semanticRole` e a cor CSS materializada. Nenhum controle tenta reconstruir identidade por igualdade de cor.
18
+
19
+ ## Semantica dos controles
20
+
21
+ - `pdx-color-input`: confirma imediatamente e emite a identidade ao selecionar uma amostra governada; entrada nativa, recente ou local emite `null`.
22
+ - `pdx-color-picker`: conserva a identidade apenas no rascunho correspondente e a publica no `Aplicar`; `Cancelar` nao publica; uma escolha local ou edicao explicita de canais substitui a identidade por `null`.
23
+ - Tokens diferentes continuam diferentes mesmo quando usam a mesma referencia CSS.
24
+
25
+ ## Fronteiras e compatibilidade
26
+
27
+ Nao ha mudanca no payload de formulario, no ControlValueAccessor nem no submit. Um dominio que precise persistir identidade deve mapear explicitamente o evento para um campo ou comando canonico proprio. O runtime de formulario dinamico nao deve inferir nem anexar silenciosamente esse dado.
28
+
29
+ A mudanca adiciona somente um modelo no dono canonico e outputs opcionais nos componentes. `@praxisui/dynamic-fields` ja dependia de `@praxisui/core`; nenhuma nova aresta entre bibliotecas foi criada.
30
+
31
+ ## Criterios de aceitacao
32
+
33
+ - selecionar token governado emite toda a identidade publicada;
34
+ - cancelar o picker nao emite identidade;
35
+ - substituir o rascunho por cor local emite `null` ao aplicar;
36
+ - tokens com a mesma cor emitem `tokenId` distintos;
37
+ - os valores existentes de formulario continuam strings CSS;
38
+ - metadados, documentacao e registro de componentes publicam o novo output.