@praxisui/core 9.0.0-beta.13 → 9.0.0-beta.14
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.
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-06-
|
|
3
|
+
"generatedAt": "2026-06-24T01:01:47.814Z",
|
|
4
4
|
"packageName": "@praxisui/core",
|
|
5
|
-
"packageVersion": "9.0.0-beta.
|
|
5
|
+
"packageVersion": "9.0.0-beta.14",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 3,
|
|
@@ -2020,6 +2020,9 @@ class SchemaNormalizerService {
|
|
|
2020
2020
|
if (ui.helpText !== undefined) {
|
|
2021
2021
|
field.helpText = String(ui.helpText);
|
|
2022
2022
|
}
|
|
2023
|
+
if (ui.tooltip !== undefined) {
|
|
2024
|
+
field.tooltip = String(ui.tooltip);
|
|
2025
|
+
}
|
|
2023
2026
|
if (ui.hint !== undefined) {
|
|
2024
2027
|
field.hint = ui.hint;
|
|
2025
2028
|
}
|
|
@@ -9606,9 +9609,25 @@ function mapFieldDefinitionToMetadata(field) {
|
|
|
9606
9609
|
metadata.maxLength = field.maxLength;
|
|
9607
9610
|
if (field.pattern !== undefined)
|
|
9608
9611
|
metadata.pattern = field.pattern;
|
|
9612
|
+
if (field.helpText !== undefined) {
|
|
9613
|
+
metadata.helpText = field.helpText;
|
|
9614
|
+
}
|
|
9609
9615
|
if (field.hint || field.helpText) {
|
|
9610
9616
|
metadata.hint = field.hint ?? field.helpText;
|
|
9611
9617
|
}
|
|
9618
|
+
if (field.tooltipOnHover !== undefined) {
|
|
9619
|
+
metadata.tooltipOnHover = field.tooltipOnHover;
|
|
9620
|
+
const tooltip = field.tooltip ??
|
|
9621
|
+
(field.tooltipOnHover === true
|
|
9622
|
+
? field.description ?? field.helpText ?? field.hint
|
|
9623
|
+
: undefined);
|
|
9624
|
+
if (tooltip !== undefined && tooltip !== null) {
|
|
9625
|
+
metadata.tooltip = String(tooltip);
|
|
9626
|
+
}
|
|
9627
|
+
}
|
|
9628
|
+
else if (field.tooltip !== undefined) {
|
|
9629
|
+
metadata.tooltip = String(field.tooltip);
|
|
9630
|
+
}
|
|
9612
9631
|
if (field.hiddenCondition !== undefined) {
|
|
9613
9632
|
metadata.hiddenCondition = field.hiddenCondition;
|
|
9614
9633
|
}
|
|
@@ -16502,6 +16521,37 @@ function normalizeSelectLike(meta) {
|
|
|
16502
16521
|
return m;
|
|
16503
16522
|
}
|
|
16504
16523
|
|
|
16524
|
+
const SERVER_OWNED_FIELD_SEMANTIC_KEYS = [
|
|
16525
|
+
'label',
|
|
16526
|
+
'hint',
|
|
16527
|
+
'helpText',
|
|
16528
|
+
'description',
|
|
16529
|
+
'tooltip',
|
|
16530
|
+
'tooltipOnHover',
|
|
16531
|
+
'icon',
|
|
16532
|
+
'prefixIcon',
|
|
16533
|
+
'suffixIcon',
|
|
16534
|
+
'iconPosition',
|
|
16535
|
+
'iconSize',
|
|
16536
|
+
'iconColor',
|
|
16537
|
+
'iconClass',
|
|
16538
|
+
'iconStyle',
|
|
16539
|
+
'iconFontSize',
|
|
16540
|
+
];
|
|
16541
|
+
function applyServerOwnedFieldSemantics(merged, serverField) {
|
|
16542
|
+
const next = { ...merged };
|
|
16543
|
+
const server = serverField;
|
|
16544
|
+
for (const key of SERVER_OWNED_FIELD_SEMANTIC_KEYS) {
|
|
16545
|
+
if (server[key] === undefined) {
|
|
16546
|
+
delete next[key];
|
|
16547
|
+
}
|
|
16548
|
+
else {
|
|
16549
|
+
next[key] = server[key];
|
|
16550
|
+
}
|
|
16551
|
+
}
|
|
16552
|
+
return next;
|
|
16553
|
+
}
|
|
16554
|
+
|
|
16505
16555
|
function createDefaultFormConfig() {
|
|
16506
16556
|
const config = {
|
|
16507
16557
|
sections: [
|
|
@@ -16664,7 +16714,7 @@ function syncWithServerMetadata(localConfig, serverMetadata) {
|
|
|
16664
16714
|
toggleOptions: pick('toggleOptions'),
|
|
16665
16715
|
nodes: pick('nodes'),
|
|
16666
16716
|
};
|
|
16667
|
-
mergedOverlapping.push(merged);
|
|
16717
|
+
mergedOverlapping.push(applyServerOwnedFieldSemantics(merged, serverField));
|
|
16668
16718
|
// Track simple modifications for diagnostics
|
|
16669
16719
|
['label', 'required', 'maxLength', 'minLength', 'dataType', 'controlType'].forEach((prop) => {
|
|
16670
16720
|
if (loc[prop] !== base[prop]) {
|
|
@@ -21304,6 +21354,13 @@ const FIELD_METADATA_CAPABILITIES = {
|
|
|
21304
21354
|
description: 'Texto de ajuda exibido abaixo do campo.',
|
|
21305
21355
|
intentExamples: ['colocar dica', 'ajuda no rodapé do campo'],
|
|
21306
21356
|
},
|
|
21357
|
+
{
|
|
21358
|
+
path: 'helpText',
|
|
21359
|
+
category: 'identity',
|
|
21360
|
+
valueKind: 'string',
|
|
21361
|
+
description: 'Texto semântico de ajuda publicado pelo schema/DTO.',
|
|
21362
|
+
intentExamples: ['explicar regra de negócio do campo', 'ajuda vinda do backend'],
|
|
21363
|
+
},
|
|
21307
21364
|
{
|
|
21308
21365
|
path: 'tooltip',
|
|
21309
21366
|
category: 'identity',
|
|
@@ -21311,6 +21368,13 @@ const FIELD_METADATA_CAPABILITIES = {
|
|
|
21311
21368
|
description: 'Texto exibido ao passar o mouse.',
|
|
21312
21369
|
intentExamples: ['adicionar tooltip'],
|
|
21313
21370
|
},
|
|
21371
|
+
{
|
|
21372
|
+
path: 'tooltipOnHover',
|
|
21373
|
+
category: 'identity',
|
|
21374
|
+
valueKind: 'boolean',
|
|
21375
|
+
description: 'Habilita apresentação do tooltip no hover quando suportado pelo renderer.',
|
|
21376
|
+
intentExamples: ['mostrar tooltip ao passar o mouse', 'ativar dica no hover'],
|
|
21377
|
+
},
|
|
21314
21378
|
{
|
|
21315
21379
|
path: 'description',
|
|
21316
21380
|
category: 'identity',
|
|
@@ -21522,6 +21586,34 @@ const FIELD_METADATA_CAPABILITIES = {
|
|
|
21522
21586
|
description: 'Tamanho do ícone.',
|
|
21523
21587
|
intentExamples: ['ícone pequeno', 'aumentar tamanho do ícone', 'ícone grande'],
|
|
21524
21588
|
},
|
|
21589
|
+
{
|
|
21590
|
+
path: 'iconColor',
|
|
21591
|
+
category: 'appearance',
|
|
21592
|
+
valueKind: 'string',
|
|
21593
|
+
description: 'Cor semântica ou token de cor aplicado ao ícone principal.',
|
|
21594
|
+
intentExamples: ['ícone em cor primária', 'usar token do tema no ícone'],
|
|
21595
|
+
},
|
|
21596
|
+
{
|
|
21597
|
+
path: 'iconClass',
|
|
21598
|
+
category: 'appearance',
|
|
21599
|
+
valueKind: 'string',
|
|
21600
|
+
description: 'Classe CSS controlada pelo host para o ícone principal.',
|
|
21601
|
+
intentExamples: ['usar classe de ícone outlined', 'aplicar classe corporativa'],
|
|
21602
|
+
},
|
|
21603
|
+
{
|
|
21604
|
+
path: 'iconStyle',
|
|
21605
|
+
category: 'appearance',
|
|
21606
|
+
valueKind: 'string',
|
|
21607
|
+
description: 'Estilo visual semântico do ícone quando o renderer suportar variações.',
|
|
21608
|
+
intentExamples: ['usar ícone arredondado', 'aplicar estilo filled'],
|
|
21609
|
+
},
|
|
21610
|
+
{
|
|
21611
|
+
path: 'iconFontSize',
|
|
21612
|
+
category: 'appearance',
|
|
21613
|
+
valueKind: 'string',
|
|
21614
|
+
description: 'Tamanho tipográfico do ícone principal.',
|
|
21615
|
+
intentExamples: ['ícone com 18px', 'ajustar tamanho do ícone'],
|
|
21616
|
+
},
|
|
21525
21617
|
// =============================================================================
|
|
21526
21618
|
// MASK / FORMAT
|
|
21527
21619
|
// =============================================================================
|
|
@@ -35543,15 +35635,9 @@ function applyLocalCustomizations$1(base, local) {
|
|
|
35543
35635
|
// Server authority on identity/core props
|
|
35544
35636
|
const authoritative = {
|
|
35545
35637
|
name: base.name,
|
|
35546
|
-
label: base.label,
|
|
35547
35638
|
type: base.type,
|
|
35548
35639
|
controlType: base.controlType,
|
|
35549
35640
|
required: base.required,
|
|
35550
|
-
hint: base.hint,
|
|
35551
|
-
helpText: base.helpText,
|
|
35552
|
-
description: base.description,
|
|
35553
|
-
icon: base.icon,
|
|
35554
|
-
iconPosition: base.iconPosition,
|
|
35555
35641
|
endpoint: base.endpoint,
|
|
35556
35642
|
resourcePath: base.resourcePath,
|
|
35557
35643
|
optionSource: base.optionSource,
|
|
@@ -35587,12 +35673,13 @@ function applyLocalCustomizations$1(base, local) {
|
|
|
35587
35673
|
? serverBackedLocal.queryParams
|
|
35588
35674
|
: base.queryParams,
|
|
35589
35675
|
};
|
|
35590
|
-
|
|
35676
|
+
const merged = {
|
|
35591
35677
|
...base,
|
|
35592
35678
|
...serverBackedLocal,
|
|
35593
35679
|
...authoritative,
|
|
35594
35680
|
...preserved,
|
|
35595
35681
|
};
|
|
35682
|
+
return applyServerOwnedFieldSemantics(merged, base);
|
|
35596
35683
|
}
|
|
35597
35684
|
function mergeServerVisibilityFlag(serverValue) {
|
|
35598
35685
|
return serverValue === true ? true : undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/core",
|
|
3
|
-
"version": "9.0.0-beta.
|
|
3
|
+
"version": "9.0.0-beta.14",
|
|
4
4
|
"description": "Core library for Praxis UI Workspace: types, tokens, services and utilities shared across @praxisui/* packages.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
package/types/praxisui-core.d.ts
CHANGED
|
@@ -3963,8 +3963,12 @@ interface FieldMetadata extends ComponentMetadata {
|
|
|
3963
3963
|
placeholder?: string;
|
|
3964
3964
|
/** Help text displayed below field */
|
|
3965
3965
|
hint?: string;
|
|
3966
|
+
/** Domain help text emitted by backend schema metadata. */
|
|
3967
|
+
helpText?: string;
|
|
3966
3968
|
/** Tooltip text on hover */
|
|
3967
3969
|
tooltip?: string;
|
|
3970
|
+
/** Enables hover tooltip presentation when supported by the field renderer. */
|
|
3971
|
+
tooltipOnHover?: boolean;
|
|
3968
3972
|
/** Semantic selection mode for boolean/single/multiple choice controls */
|
|
3969
3973
|
selectionMode?: 'boolean' | 'single' | 'multiple';
|
|
3970
3974
|
/** Visual variant used by controls with more than one supported presentation */
|
|
@@ -4004,6 +4008,10 @@ interface FieldMetadata extends ComponentMetadata {
|
|
|
4004
4008
|
suffixIcon?: string;
|
|
4005
4009
|
iconPosition?: 'start' | 'end';
|
|
4006
4010
|
iconSize?: 'small' | 'medium' | 'large';
|
|
4011
|
+
iconColor?: string;
|
|
4012
|
+
iconClass?: string;
|
|
4013
|
+
iconStyle?: string;
|
|
4014
|
+
iconFontSize?: string | number;
|
|
4007
4015
|
/** Tooltip for suffix icon (used for help actions) */
|
|
4008
4016
|
suffixIconTooltip?: string;
|
|
4009
4017
|
/** ARIA label for suffix icon when used as help */
|
|
@@ -4223,6 +4231,7 @@ interface FieldDefinition {
|
|
|
4223
4231
|
helpText?: string;
|
|
4224
4232
|
hint?: string;
|
|
4225
4233
|
hiddenCondition?: JsonLogicExpression | null;
|
|
4234
|
+
tooltip?: string;
|
|
4226
4235
|
tooltipOnHover?: boolean;
|
|
4227
4236
|
icon?: string;
|
|
4228
4237
|
iconPosition?: string;
|