@po-ui/ng-components 21.33.0 → 22.0.0-next.0

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.
Files changed (164) hide show
  1. package/README.md +2 -2
  2. package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs → po-ui-ng-components-po-chart-modal-table.component-BfgIJ-rf.mjs} +7 -6
  3. package/fesm2022/po-ui-ng-components-po-chart-modal-table.component-BfgIJ-rf.mjs.map +1 -0
  4. package/fesm2022/po-ui-ng-components.mjs +2866 -3250
  5. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  6. package/lib/components/index.d.ts +0 -1
  7. package/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.d.ts +4 -0
  8. package/lib/components/po-accordion/po-accordion.module.d.ts +0 -38
  9. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +1 -0
  10. package/lib/components/po-field/po-search-ai/po-search-ai-base.component.d.ts +0 -4
  11. package/lib/components/po-listbox/po-listbox-base.component.d.ts +1 -1
  12. package/lib/components/po-navbar/po-navbar.component.d.ts +2 -3
  13. package/lib/components/po-navbar/po-navbar.module.d.ts +0 -38
  14. package/lib/components/po-page/po-page-slide/po-page-slide-base.component.d.ts +0 -39
  15. package/lib/components/po-page/po-page-slide/po-page-slide.component.d.ts +5 -13
  16. package/lib/components/po-slide/po-slide.component.d.ts +2 -3
  17. package/lib/components/po-slide/po-slide.module.d.ts +0 -37
  18. package/lib/components/po-stepper/po-stepper.component.d.ts +0 -1
  19. package/lib/components/po-table/po-table.component.d.ts +1 -1
  20. package/lib/components/po-tree-view/po-tree-view.module.d.ts +1 -0
  21. package/lib/components/po-widget/po-widget-base.component.d.ts +0 -1
  22. package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +3 -8
  23. package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +0 -1
  24. package/lib/services/po-component-injector/po-component-injector.service.d.ts +12 -5
  25. package/lib/utils/util.d.ts +0 -13
  26. package/package.json +13 -15
  27. package/po-ui-ng-components-22.0.0-next.0.tgz +0 -0
  28. package/schematics/collection.json +0 -20
  29. package/schematics/migrations.json +5 -0
  30. package/schematics/ng-add/index.js +1 -1
  31. package/schematics/ng-add/setup-project.d.ts +1 -0
  32. package/schematics/ng-add/setup-project.js +95 -0
  33. package/schematics/ng-add/setup-project.js.map +1 -1
  34. package/schematics/ng-generate/sidemenu/files/__appFileName__.spec.ts.template +35 -0
  35. package/schematics/ng-generate/sidemenu/files/{app.ts.template → __appFileName__.ts.template} +3 -3
  36. package/schematics/ng-generate/sidemenu/files-standalone/{app.spec.ts.template → __appFileName__.spec.ts.template} +4 -4
  37. package/schematics/ng-generate/sidemenu/files-standalone/{app.ts.template → __appFileName__.ts.template} +3 -3
  38. package/schematics/ng-generate/sidemenu/index.js +9 -3
  39. package/schematics/ng-generate/sidemenu/index.js.map +1 -1
  40. package/schematics/ng-generate/sidemenu/schema.d.ts +9 -0
  41. package/schematics/ng-generate/sidemenu/schema.json +5 -0
  42. package/schematics/ng-update/v14/index.js +1 -1
  43. package/schematics/ng-update/v15/index.js +1 -1
  44. package/schematics/ng-update/v16/index.js +1 -1
  45. package/schematics/ng-update/v17/index.js +1 -1
  46. package/schematics/ng-update/v18/index.js +3 -3
  47. package/schematics/ng-update/v18/index.js.map +1 -1
  48. package/schematics/ng-update/v19/index.js +3 -3
  49. package/schematics/ng-update/v19/index.js.map +1 -1
  50. package/schematics/ng-update/v2/index.js +1 -1
  51. package/schematics/ng-update/v20/index.js +3 -3
  52. package/schematics/ng-update/v20/index.js.map +1 -1
  53. package/schematics/ng-update/v21/index.js +1 -1
  54. package/schematics/ng-update/v22/changes.d.ts +29 -0
  55. package/schematics/ng-update/v22/changes.js +44 -0
  56. package/schematics/ng-update/v22/changes.js.map +1 -0
  57. package/schematics/ng-update/v22/gauge-html-migration.d.ts +35 -0
  58. package/schematics/ng-update/v22/gauge-html-migration.js +308 -0
  59. package/schematics/ng-update/v22/gauge-html-migration.js.map +1 -0
  60. package/schematics/ng-update/v22/gauge-manual-test/all-cases.component.html +723 -0
  61. package/schematics/ng-update/v22/gauge-property-map.d.ts +53 -0
  62. package/schematics/ng-update/v22/gauge-property-map.js +298 -0
  63. package/schematics/ng-update/v22/gauge-property-map.js.map +1 -0
  64. package/schematics/ng-update/v22/gauge-ts-migration.d.ts +41 -0
  65. package/schematics/ng-update/v22/gauge-ts-migration.js +326 -0
  66. package/schematics/ng-update/v22/gauge-ts-migration.js.map +1 -0
  67. package/schematics/ng-update/v22/index.d.ts +39 -0
  68. package/schematics/ng-update/v22/index.js +253 -0
  69. package/schematics/ng-update/v22/index.js.map +1 -0
  70. package/schematics/ng-update/v22/migration-report.d.ts +48 -0
  71. package/schematics/ng-update/v22/migration-report.js +50 -0
  72. package/schematics/ng-update/v22/migration-report.js.map +1 -0
  73. package/schematics/ng-update/v3/index.js +1 -1
  74. package/schematics/ng-update/v4/index.js +1 -1
  75. package/schematics/ng-update/v5/index.js +1 -1
  76. package/schematics/ng-update/v6/index.js +1 -1
  77. package/schematics/package.json +3 -0
  78. package/types/po-ui-ng-components.d.ts +40 -490
  79. package/fesm2022/po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs.map +0 -1
  80. package/lib/components/po-gauge/index.d.ts +0 -4
  81. package/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.d.ts +0 -19
  82. package/lib/components/po-gauge/interfaces/po-gauge-options.interface.d.ts +0 -69
  83. package/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.d.ts +0 -44
  84. package/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.d.ts +0 -15
  85. package/lib/components/po-gauge/po-gauge-base.component.d.ts +0 -133
  86. package/lib/components/po-gauge/po-gauge-default-values.constant.d.ts +0 -5
  87. package/lib/components/po-gauge/po-gauge.component.d.ts +0 -30
  88. package/lib/components/po-gauge/po-gauge.module.d.ts +0 -6
  89. package/po-ui-ng-components-21.33.0.tgz +0 -0
  90. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  91. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -3
  92. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
  93. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -19
  94. package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
  95. package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -3
  96. package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
  97. package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -23
  98. package/schematics/ng-generate/po-page-default/index.d.ts +0 -4
  99. package/schematics/ng-generate/po-page-default/index.js +0 -13
  100. package/schematics/ng-generate/po-page-default/index.js.map +0 -1
  101. package/schematics/ng-generate/po-page-default/schema.d.ts +0 -3
  102. package/schematics/ng-generate/po-page-default/schema.js +0 -3
  103. package/schematics/ng-generate/po-page-default/schema.js.map +0 -1
  104. package/schematics/ng-generate/po-page-default/schema.json +0 -67
  105. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  106. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  107. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
  108. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
  109. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -27
  110. package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
  111. package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  112. package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
  113. package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
  114. package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -33
  115. package/schematics/ng-generate/po-page-detail/index.d.ts +0 -4
  116. package/schematics/ng-generate/po-page-detail/index.js +0 -13
  117. package/schematics/ng-generate/po-page-detail/index.js.map +0 -1
  118. package/schematics/ng-generate/po-page-detail/schema.d.ts +0 -3
  119. package/schematics/ng-generate/po-page-detail/schema.js +0 -3
  120. package/schematics/ng-generate/po-page-detail/schema.js.map +0 -1
  121. package/schematics/ng-generate/po-page-detail/schema.json +0 -67
  122. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  123. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  124. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
  125. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
  126. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -27
  127. package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
  128. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  129. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  130. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
  131. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
  132. package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -33
  133. package/schematics/ng-generate/po-page-edit/index.d.ts +0 -4
  134. package/schematics/ng-generate/po-page-edit/index.js +0 -13
  135. package/schematics/ng-generate/po-page-edit/index.js.map +0 -1
  136. package/schematics/ng-generate/po-page-edit/schema.d.ts +0 -3
  137. package/schematics/ng-generate/po-page-edit/schema.js +0 -3
  138. package/schematics/ng-generate/po-page-edit/schema.js.map +0 -1
  139. package/schematics/ng-generate/po-page-edit/schema.json +0 -67
  140. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  141. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  142. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -28
  143. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -37
  144. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -34
  145. package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
  146. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
  147. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
  148. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -28
  149. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -36
  150. package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -42
  151. package/schematics/ng-generate/po-page-list/index.d.ts +0 -7
  152. package/schematics/ng-generate/po-page-list/index.js +0 -16
  153. package/schematics/ng-generate/po-page-list/index.js.map +0 -1
  154. package/schematics/ng-generate/po-page-list/schema.d.ts +0 -5
  155. package/schematics/ng-generate/po-page-list/schema.js +0 -3
  156. package/schematics/ng-generate/po-page-list/schema.js.map +0 -1
  157. package/schematics/ng-generate/po-page-list/schema.json +0 -78
  158. package/schematics/ng-generate/sidemenu/files/app.__style__.template +0 -0
  159. package/schematics/ng-generate/sidemenu/files/app.spec.ts.template +0 -33
  160. package/schematics/ng-generate/sidemenu/files-standalone/app.__style__.template +0 -0
  161. /package/schematics/ng-generate/{po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template → sidemenu/files/__appFileName__.__style__.template} +0 -0
  162. /package/schematics/ng-generate/sidemenu/files/{app.html.template → __appFileName__.html.template} +0 -0
  163. /package/schematics/ng-generate/{po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template → sidemenu/files-standalone/__appFileName__.__style__.template} +0 -0
  164. /package/schematics/ng-generate/sidemenu/files-standalone/{app.html.template → __appFileName__.html.template} +0 -0
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Representa um único atributo/binding de um elemento `po-gauge` extraído do
3
+ * template. A expressão original é preservada textualmente (`rawExpression`),
4
+ * sem qualquer avaliação, garantindo que a migração seja fiel ao código-fonte.
5
+ */
6
+ export interface GaugeAttribute {
7
+ /** Nome da propriedade do po-gauge (ex.: `p-value`, `p-ranges`). */
8
+ name: string;
9
+ /** `true` quando o atributo é um property binding (`[p-value]="..."`). */
10
+ binding: boolean;
11
+ /** Expressão/valor original preservado textualmente. */
12
+ rawExpression: string;
13
+ }
14
+ /**
15
+ * Resultado do mapeamento das propriedades do `po-gauge` para os atributos do
16
+ * `po-chart`, conforme o comportamento real do componente po-gauge da v21.
17
+ */
18
+ export interface MappedChartAttributes {
19
+ /** Expressão gerada para `[p-series]` do po-chart. */
20
+ pSeries?: string;
21
+ /** Expressão gerada para `[p-options]` do po-chart (omitida se não aplicável). */
22
+ pOptions?: string;
23
+ /** Expressão gerada para `[p-value-gauge-multiple]` (quando p-value + p-ranges). */
24
+ pValueGaugeMultiple?: string;
25
+ /** Atributos fora do Mapeamento_Propriedades preservados no elemento (Req. 2.5). */
26
+ passthrough: Array<GaugeAttribute>;
27
+ /** Propriedades `po-gauge` sem equivalente na tabela (Req. 3.10). */
28
+ unmapped: Array<GaugeAttribute>;
29
+ /** Chaves de `p-options` em conflito entre propriedade individual e `p-options` (Req. 3.11). */
30
+ conflicts: Array<string>;
31
+ }
32
+ /**
33
+ * Mapeia os atributos/bindings de um `po-gauge` para a configuração equivalente
34
+ * do `po-chart`, seguindo o comportamento real do componente po-gauge da v21.
35
+ *
36
+ * Regras aplicadas (baseadas no template e ngOnChanges do po-gauge):
37
+ * - `p-value` sem `p-ranges` → `[p-series]="[{ data: <expr> }]"`
38
+ * - `p-value` com `p-ranges` → `[p-value-gauge-multiple]="<expr>"`
39
+ * - `p-ranges` → `[p-series]="<ranges expr>"` (direto, sem wrap)
40
+ * - `p-title` → `[p-title]` passthrough direto no po-chart
41
+ * - `p-height` → `[p-height]` passthrough direto no po-chart
42
+ * - `p-description` → `p-options.descriptionChart`
43
+ * - `p-show-from-to-legend` → `p-options.showFromToLegend`
44
+ * - `p-show-pointer` → `p-options.pointer`
45
+ * - `p-options` → mescla para `[p-options]` do po-chart
46
+ * - `showContainerGauge: true` é injetado por padrão em `p-options`
47
+ * (comportamento do ngOnInit do po-gauge)
48
+ * - Propriedade `p-*` sem equivalente: coletada em `unmapped`
49
+ * - Demais atributos (não `po-gauge`): coletados em `passthrough`
50
+ * - Conflito entre propriedade individual e chave de `p-options`: prevalece o
51
+ * valor de `p-options` e o conflito é registrado
52
+ */
53
+ export declare function mapGaugeProperties(attrs: Array<GaugeAttribute>): MappedChartAttributes;
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapGaugeProperties = mapGaugeProperties;
4
+ const changes_1 = require("./changes");
5
+ /** Índice das regras de mapeamento por nome da propriedade do po-gauge. */
6
+ const ruleByProp = (() => {
7
+ const map = new Map();
8
+ changes_1.gaugePropertyRules.forEach(rule => map.set(rule.gaugeProp, rule));
9
+ return map;
10
+ })();
11
+ /**
12
+ * Mapeia os atributos/bindings de um `po-gauge` para a configuração equivalente
13
+ * do `po-chart`, seguindo o comportamento real do componente po-gauge da v21.
14
+ *
15
+ * Regras aplicadas (baseadas no template e ngOnChanges do po-gauge):
16
+ * - `p-value` sem `p-ranges` → `[p-series]="[{ data: <expr> }]"`
17
+ * - `p-value` com `p-ranges` → `[p-value-gauge-multiple]="<expr>"`
18
+ * - `p-ranges` → `[p-series]="<ranges expr>"` (direto, sem wrap)
19
+ * - `p-title` → `[p-title]` passthrough direto no po-chart
20
+ * - `p-height` → `[p-height]` passthrough direto no po-chart
21
+ * - `p-description` → `p-options.descriptionChart`
22
+ * - `p-show-from-to-legend` → `p-options.showFromToLegend`
23
+ * - `p-show-pointer` → `p-options.pointer`
24
+ * - `p-options` → mescla para `[p-options]` do po-chart
25
+ * - `showContainerGauge: true` é injetado por padrão em `p-options`
26
+ * (comportamento do ngOnInit do po-gauge)
27
+ * - Propriedade `p-*` sem equivalente: coletada em `unmapped`
28
+ * - Demais atributos (não `po-gauge`): coletados em `passthrough`
29
+ * - Conflito entre propriedade individual e chave de `p-options`: prevalece o
30
+ * valor de `p-options` e o conflito é registrado
31
+ */
32
+ function mapGaugeProperties(attrs) {
33
+ const result = {
34
+ passthrough: [],
35
+ unmapped: [],
36
+ conflicts: []
37
+ };
38
+ let valueAttr;
39
+ let rangesAttr;
40
+ let optionsAttr;
41
+ // Entradas individuais destinadas a p-options, na ordem de ocorrência.
42
+ const optionEntries = [];
43
+ attrs.forEach(attr => {
44
+ const base = normalizeName(attr.name);
45
+ const rule = ruleByProp.get(base);
46
+ if (!rule) {
47
+ // Propriedade `p-*` do po-gauge sem equivalente vs. atributo genérico
48
+ // preservado.
49
+ if (base.toLowerCase().startsWith('p-')) {
50
+ result.unmapped.push(attr);
51
+ }
52
+ else {
53
+ result.passthrough.push(attr);
54
+ }
55
+ return;
56
+ }
57
+ switch (rule.target) {
58
+ case 'p-series':
59
+ if (base === 'p-value') {
60
+ valueAttr = attr;
61
+ }
62
+ else if (base === 'p-ranges') {
63
+ rangesAttr = attr;
64
+ }
65
+ break;
66
+ case 'p-options':
67
+ if (base === 'p-options') {
68
+ optionsAttr = attr;
69
+ }
70
+ else if (rule.optionsKey) {
71
+ optionEntries.push({ key: rule.optionsKey, value: formatValue(attr) });
72
+ }
73
+ break;
74
+ case 'passthrough':
75
+ // p-title e p-height vão direto como inputs do po-chart.
76
+ result.passthrough.push(attr);
77
+ break;
78
+ }
79
+ });
80
+ const pSeries = buildSeries(valueAttr, rangesAttr);
81
+ if (pSeries !== undefined) {
82
+ result.pSeries = pSeries;
83
+ }
84
+ // Quando p-value + p-ranges estão presentes, o valor vai para
85
+ // p-value-gauge-multiple (como no ngOnChanges do po-gauge original).
86
+ if (valueAttr && rangesAttr) {
87
+ const rangesExpr = formatValue(rangesAttr);
88
+ if (isNonEmptyArrayLiteral(rangesExpr)) {
89
+ result.pValueGaugeMultiple = formatValue(valueAttr);
90
+ }
91
+ else {
92
+ // Ranges dinâmico: quando vazio em runtime, o po-gauge colocava o valor na
93
+ // série (`[{ data: value }]`) e não usava valuesMultiple. Replica esse
94
+ // fallback condicional para preservar o comportamento original.
95
+ // Usa `expr && expr.length` para evitar warning NG8107.
96
+ result.pValueGaugeMultiple = `${rangesExpr} && ${rangesExpr}.length ? ${formatValue(valueAttr)} : undefined`;
97
+ }
98
+ }
99
+ const pOptions = buildOptions(optionEntries, optionsAttr, result.conflicts);
100
+ if (pOptions !== undefined) {
101
+ result.pOptions = pOptions;
102
+ }
103
+ return result;
104
+ }
105
+ /**
106
+ * Constrói a expressão de `p-series` seguindo o comportamento real do
107
+ * ngOnChanges do po-gauge:
108
+ * - Com ranges: `this.series = [...this.ranges]` → p-series recebe ranges diretamente
109
+ * - Sem ranges, com value: `this.series = [{ data: this.value }]`
110
+ * - Nem value nem ranges: gera `[]` (comportamento padrão do po-gauge que
111
+ * inicializava `series: Array<PoChartSerie> = []`)
112
+ *
113
+ * Quando ambos existem, o value é tratado separadamente via
114
+ * `p-value-gauge-multiple` (pelo chamador).
115
+ */
116
+ function buildSeries(valueAttr, rangesAttr) {
117
+ if (rangesAttr) {
118
+ const rangesExpr = formatValue(rangesAttr);
119
+ // Array literal não vazio: o conteúdo é garantido em tempo de build, então
120
+ // usa os ranges diretamente (equivale a `this.series = [...this.ranges]`).
121
+ if (isNonEmptyArrayLiteral(rangesExpr)) {
122
+ return rangesExpr;
123
+ }
124
+ // Ranges dinâmico (variável/expressão) ou array literal vazio: pode não ter
125
+ // itens em runtime. O po-gauge decidia isso em tempo de execução no
126
+ // ngOnChanges:
127
+ // this.ranges?.length ? [...this.ranges]
128
+ // : (value ? [{ data: value }] : [])
129
+ // Replica esse fallback condicional para preservar o comportamento original.
130
+ // Usa `expr && expr.length` em vez de `expr?.length` para evitar o warning
131
+ // NG8107 do Angular (optional chain desnecessário em tipos não-nullable).
132
+ const fallback = valueAttr ? `[{ data: ${formatValue(valueAttr)} }]` : '[]';
133
+ return `${rangesExpr} && ${rangesExpr}.length ? ${rangesExpr} : ${fallback}`;
134
+ }
135
+ if (valueAttr) {
136
+ // Sem ranges: series é [{ data: value }].
137
+ return `[{ data: ${formatValue(valueAttr)} }]`;
138
+ }
139
+ // Sem value nem ranges: o po-gauge inicializava series como [] por padrão.
140
+ // É necessário passar explicitamente para evitar que o po-chart receba
141
+ // undefined (o que causaria erro em runtime no template).
142
+ return '[]';
143
+ }
144
+ /**
145
+ * Indica se a expressão é um array literal com pelo menos um elemento (ex.:
146
+ * `[{ from: 0, to: 50 }]`). Nesses casos o conteúdo é garantido em build-time e
147
+ * dispensa o fallback condicional aplicado a ranges dinâmicos.
148
+ */
149
+ function isNonEmptyArrayLiteral(expr) {
150
+ const trimmed = expr.trim();
151
+ return trimmed.startsWith('[') && trimmed.endsWith(']') && trimmed.slice(1, -1).trim().length > 0;
152
+ }
153
+ /**
154
+ * Constrói a expressão de `p-options` mesclando as propriedades individuais com
155
+ * o objeto `p-options` de origem, e injetando `showContainerGauge: true` por
156
+ * padrão (comportamento do ngOnInit do po-gauge original).
157
+ *
158
+ * Quando uma mesma chave é definida pela propriedade individual e por
159
+ * `p-options`, prevalece o valor de `p-options` e o conflito é registrado.
160
+ */
161
+ function buildOptions(individualEntries, optionsAttr, conflicts) {
162
+ // showContainerGauge: true é o default do ngOnInit do po-gauge.
163
+ const defaultEntries = [{ key: 'showContainerGauge', value: 'true' }];
164
+ const allIndividualEntries = [...defaultEntries, ...individualEntries];
165
+ if (!optionsAttr) {
166
+ return `{ ${allIndividualEntries.map(entry => `${entry.key}: ${entry.value}`).join(', ')} }`;
167
+ }
168
+ const optionsExpr = optionsAttr.binding ? optionsAttr.rawExpression.trim() : formatValue(optionsAttr);
169
+ const isLiteralObject = optionsAttr.binding && optionsExpr.startsWith('{') && optionsExpr.endsWith('}');
170
+ if (isLiteralObject) {
171
+ const topLevelKeys = parseTopLevelKeys(optionsExpr);
172
+ const keptEntries = [];
173
+ allIndividualEntries.forEach(entry => {
174
+ if (topLevelKeys.includes(entry.key)) {
175
+ if (entry.key === 'descriptionChart') {
176
+ // descriptionChart de p-description PREVALECE sobre p-options
177
+ // (comportamento do po-gauge: this.description || options.descriptionChart).
178
+ keptEntries.push(entry);
179
+ conflicts.push(entry.key);
180
+ }
181
+ else if (entry.key !== 'showContainerGauge') {
182
+ // Demais chaves: prevalece o valor definido em p-options.
183
+ // Não registra conflito para showContainerGauge (é apenas um default).
184
+ conflicts.push(entry.key);
185
+ }
186
+ }
187
+ else {
188
+ keptEntries.push(entry);
189
+ }
190
+ });
191
+ // Monta o corpo do p-options literal, removendo a chave descriptionChart
192
+ // quando p-description prevalece (para não duplicar a chave).
193
+ let inner = optionsExpr.slice(1, -1).trim();
194
+ const descriptionOverrides = allIndividualEntries.some(entry => entry.key === 'descriptionChart') && topLevelKeys.includes('descriptionChart');
195
+ if (descriptionOverrides) {
196
+ inner = splitTopLevel(inner, ',')
197
+ .map(part => part.trim())
198
+ .filter(part => part.length > 0)
199
+ .filter(part => {
200
+ var _a;
201
+ const key = ((_a = splitTopLevel(part, ':')[0]) !== null && _a !== void 0 ? _a : '').trim().replace(/^['"`]|['"`]$/g, '');
202
+ return key !== 'descriptionChart';
203
+ })
204
+ .join(', ');
205
+ }
206
+ const parts = keptEntries.map(entry => `${entry.key}: ${entry.value}`);
207
+ if (inner.length > 0) {
208
+ parts.push(inner);
209
+ }
210
+ return parts.length > 0 ? `{ ${parts.join(', ')} }` : '{}';
211
+ }
212
+ // p-options é uma expressão opaca (variável/chamada): mescla via spread.
213
+ // As chaves individuais vêm antes do spread (p-options vence), EXCETO
214
+ // descriptionChart, que vem depois do spread para prevalecer, replicando
215
+ // `this.description || options.descriptionChart` do po-gauge original.
216
+ const descriptionEntry = allIndividualEntries.find(entry => entry.key === 'descriptionChart');
217
+ const otherEntries = allIndividualEntries.filter(entry => entry.key !== 'descriptionChart');
218
+ const otherParts = otherEntries.map(entry => `${entry.key}: ${entry.value}`).join(', ');
219
+ const prefix = otherParts.length > 0 ? `${otherParts}, ` : '';
220
+ if (descriptionEntry) {
221
+ return `{ ${prefix}...${optionsExpr}, ${descriptionEntry.key}: ${descriptionEntry.value} }`;
222
+ }
223
+ return `{ ${prefix}...${optionsExpr} }`;
224
+ }
225
+ /**
226
+ * Formata o valor de um atributo para uso em uma expressão de binding do
227
+ * po-chart. Bindings preservam a expressão original; atributos estáticos são
228
+ * convertidos em literais de string (Req. 3.1, 3.3).
229
+ */
230
+ function formatValue(attr) {
231
+ if (attr.binding) {
232
+ return attr.rawExpression.trim();
233
+ }
234
+ return `'${attr.rawExpression.replace(/'/g, "\\'")}'`;
235
+ }
236
+ /** Remove colchetes/parênteses de binding e espaços do nome de um atributo. */
237
+ function normalizeName(name) {
238
+ return name
239
+ .replace(/^[[(]/, '')
240
+ .replace(/[\])]$/, '')
241
+ .trim();
242
+ }
243
+ /**
244
+ * Extrai as chaves de primeiro nível de um objeto literal preservado
245
+ * textualmente, respeitando aninhamento de `{}`/`[]`/`()` e literais de string.
246
+ */
247
+ function parseTopLevelKeys(objectLiteral) {
248
+ const inner = objectLiteral.trim().slice(1, -1);
249
+ return splitTopLevel(inner, ',')
250
+ .map(entry => {
251
+ var _a, _b;
252
+ const key = (_b = (_a = splitTopLevel(entry, ':')[0]) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
253
+ return key.replace(/^['"`]|['"`]$/g, '');
254
+ })
255
+ .filter(key => key.length > 0);
256
+ }
257
+ /**
258
+ * Divide uma string por um separador considerando apenas o nível superior,
259
+ * ignorando separadores dentro de `{}`/`[]`/`()` ou de literais de string.
260
+ */
261
+ function splitTopLevel(source, separator) {
262
+ const parts = [];
263
+ let current = '';
264
+ let depth = 0;
265
+ let quote = '';
266
+ for (let i = 0; i < source.length; i++) {
267
+ const char = source[i];
268
+ if (quote) {
269
+ current += char;
270
+ if (char === quote && source[i - 1] !== '\\') {
271
+ quote = '';
272
+ }
273
+ continue;
274
+ }
275
+ if (char === '"' || char === "'" || char === '`') {
276
+ quote = char;
277
+ current += char;
278
+ continue;
279
+ }
280
+ if (char === '{' || char === '[' || char === '(') {
281
+ depth++;
282
+ }
283
+ else if (char === '}' || char === ']' || char === ')') {
284
+ depth--;
285
+ }
286
+ if (char === separator && depth === 0) {
287
+ parts.push(current);
288
+ current = '';
289
+ continue;
290
+ }
291
+ current += char;
292
+ }
293
+ if (current.trim().length > 0) {
294
+ parts.push(current);
295
+ }
296
+ return parts;
297
+ }
298
+ //# sourceMappingURL=gauge-property-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gauge-property-map.js","sourceRoot":"","sources":["../../../../../projects/ui/schematics/ng-update/v22/gauge-property-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { MigrationWarning } from './migration-report';
2
+ /**
3
+ * Resultado da transformação de um arquivo TypeScript pela Schematic_Migracao.
4
+ *
5
+ * A função `migrateTypeScriptContent` é pura (string → string): recebe o
6
+ * conteúdo original e devolve o conteúdo transformado, um indicador de
7
+ * alteração e a lista de Casos_Nao_Migravel encontrados.
8
+ */
9
+ export interface TsMigrationResult {
10
+ /** Conteúdo do arquivo após a transformação (idêntico ao original se nada mudou). */
11
+ content: string;
12
+ /** `true` somente quando alguma transformação foi efetivamente aplicada. */
13
+ changed: boolean;
14
+ /** Casos_Nao_Migravel identificados (ex.: símbolo gauge sem equivalente). */
15
+ warnings: Array<MigrationWarning>;
16
+ }
17
+ /**
18
+ * Transforma referências ao `po-gauge` em referências equivalentes ao
19
+ * `po-chart` em um arquivo TypeScript.
20
+ *
21
+ * Comportamento (Req. 4.1–4.4, 4.6, 5.1–5.3):
22
+ * - Localiza `ImportDeclaration` de `@po-ui/ng-components` que contenham
23
+ * símbolos gauge e substitui os símbolos com equivalente conhecido
24
+ * (`gaugeSymbolMap`), preservando os demais símbolos do mesmo import.
25
+ * - Atualiza as referências desses símbolos no restante do arquivo
26
+ * (`declarations`/`imports`/`exports` de `@NgModule` e `imports` de
27
+ * componentes standalone / configuração da aplicação).
28
+ * - Se um símbolo gauge importado NÃO possui equivalente
29
+ * (`gaugeSymbolsWithoutEquivalent`), o arquivo é mantido inalterado e um
30
+ * `MigrationWarning` é registrado (Req. 4.4).
31
+ * - Deduplica símbolos-alvo já importados, evitando imports/itens duplicados
32
+ * (idempotência, Req. 7.4).
33
+ * - Preserva indentação, quebras de linha e a ordenação das importações não
34
+ * relacionadas ao gauge (Req. 4.6).
35
+ *
36
+ * @param source Conteúdo original do arquivo `.ts`.
37
+ * @param isStandalone Indica se o projeto é standalone (mantido por contrato de
38
+ * interface; a transformação de referências é a mesma para ambas as
39
+ * arquiteturas).
40
+ */
41
+ export declare function migrateTypeScriptContent(source: string, isStandalone: boolean): TsMigrationResult;