@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.
- package/README.md +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
- package/fesm2022/po-ui-ng-components-po-chart-modal-table.component-BfgIJ-rf.mjs.map +1 -0
- package/fesm2022/po-ui-ng-components.mjs +2866 -3250
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/index.d.ts +0 -1
- package/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.d.ts +4 -0
- package/lib/components/po-accordion/po-accordion.module.d.ts +0 -38
- package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +1 -0
- package/lib/components/po-field/po-search-ai/po-search-ai-base.component.d.ts +0 -4
- package/lib/components/po-listbox/po-listbox-base.component.d.ts +1 -1
- package/lib/components/po-navbar/po-navbar.component.d.ts +2 -3
- package/lib/components/po-navbar/po-navbar.module.d.ts +0 -38
- package/lib/components/po-page/po-page-slide/po-page-slide-base.component.d.ts +0 -39
- package/lib/components/po-page/po-page-slide/po-page-slide.component.d.ts +5 -13
- package/lib/components/po-slide/po-slide.component.d.ts +2 -3
- package/lib/components/po-slide/po-slide.module.d.ts +0 -37
- package/lib/components/po-stepper/po-stepper.component.d.ts +0 -1
- package/lib/components/po-table/po-table.component.d.ts +1 -1
- package/lib/components/po-tree-view/po-tree-view.module.d.ts +1 -0
- package/lib/components/po-widget/po-widget-base.component.d.ts +0 -1
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +3 -8
- package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +0 -1
- package/lib/services/po-component-injector/po-component-injector.service.d.ts +12 -5
- package/lib/utils/util.d.ts +0 -13
- package/package.json +13 -15
- package/po-ui-ng-components-22.0.0-next.0.tgz +0 -0
- package/schematics/collection.json +0 -20
- package/schematics/migrations.json +5 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/setup-project.d.ts +1 -0
- package/schematics/ng-add/setup-project.js +95 -0
- package/schematics/ng-add/setup-project.js.map +1 -1
- package/schematics/ng-generate/sidemenu/files/__appFileName__.spec.ts.template +35 -0
- package/schematics/ng-generate/sidemenu/files/{app.ts.template → __appFileName__.ts.template} +3 -3
- package/schematics/ng-generate/sidemenu/files-standalone/{app.spec.ts.template → __appFileName__.spec.ts.template} +4 -4
- package/schematics/ng-generate/sidemenu/files-standalone/{app.ts.template → __appFileName__.ts.template} +3 -3
- package/schematics/ng-generate/sidemenu/index.js +9 -3
- package/schematics/ng-generate/sidemenu/index.js.map +1 -1
- package/schematics/ng-generate/sidemenu/schema.d.ts +9 -0
- package/schematics/ng-generate/sidemenu/schema.json +5 -0
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v18/index.js +3 -3
- package/schematics/ng-update/v18/index.js.map +1 -1
- package/schematics/ng-update/v19/index.js +3 -3
- package/schematics/ng-update/v19/index.js.map +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v20/index.js +3 -3
- package/schematics/ng-update/v20/index.js.map +1 -1
- package/schematics/ng-update/v21/index.js +1 -1
- package/schematics/ng-update/v22/changes.d.ts +29 -0
- package/schematics/ng-update/v22/changes.js +44 -0
- package/schematics/ng-update/v22/changes.js.map +1 -0
- package/schematics/ng-update/v22/gauge-html-migration.d.ts +35 -0
- package/schematics/ng-update/v22/gauge-html-migration.js +308 -0
- package/schematics/ng-update/v22/gauge-html-migration.js.map +1 -0
- package/schematics/ng-update/v22/gauge-manual-test/all-cases.component.html +723 -0
- package/schematics/ng-update/v22/gauge-property-map.d.ts +53 -0
- package/schematics/ng-update/v22/gauge-property-map.js +298 -0
- package/schematics/ng-update/v22/gauge-property-map.js.map +1 -0
- package/schematics/ng-update/v22/gauge-ts-migration.d.ts +41 -0
- package/schematics/ng-update/v22/gauge-ts-migration.js +326 -0
- package/schematics/ng-update/v22/gauge-ts-migration.js.map +1 -0
- package/schematics/ng-update/v22/index.d.ts +39 -0
- package/schematics/ng-update/v22/index.js +253 -0
- package/schematics/ng-update/v22/index.js.map +1 -0
- package/schematics/ng-update/v22/migration-report.d.ts +48 -0
- package/schematics/ng-update/v22/migration-report.js +50 -0
- package/schematics/ng-update/v22/migration-report.js.map +1 -0
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/schematics/package.json +3 -0
- package/types/po-ui-ng-components.d.ts +40 -490
- package/fesm2022/po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs.map +0 -1
- package/lib/components/po-gauge/index.d.ts +0 -4
- package/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.d.ts +0 -19
- package/lib/components/po-gauge/interfaces/po-gauge-options.interface.d.ts +0 -69
- package/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.d.ts +0 -44
- package/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.d.ts +0 -15
- package/lib/components/po-gauge/po-gauge-base.component.d.ts +0 -133
- package/lib/components/po-gauge/po-gauge-default-values.constant.d.ts +0 -5
- package/lib/components/po-gauge/po-gauge.component.d.ts +0 -30
- package/lib/components/po-gauge/po-gauge.module.d.ts +0 -6
- package/po-ui-ng-components-21.33.0.tgz +0 -0
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -3
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -19
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
- package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -3
- package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
- package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -23
- package/schematics/ng-generate/po-page-default/index.d.ts +0 -4
- package/schematics/ng-generate/po-page-default/index.js +0 -13
- package/schematics/ng-generate/po-page-default/index.js.map +0 -1
- package/schematics/ng-generate/po-page-default/schema.d.ts +0 -3
- package/schematics/ng-generate/po-page-default/schema.js +0 -3
- package/schematics/ng-generate/po-page-default/schema.js.map +0 -1
- package/schematics/ng-generate/po-page-default/schema.json +0 -67
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -27
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
- package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
- package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
- package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -33
- package/schematics/ng-generate/po-page-detail/index.d.ts +0 -4
- package/schematics/ng-generate/po-page-detail/index.js +0 -13
- package/schematics/ng-generate/po-page-detail/index.js.map +0 -1
- package/schematics/ng-generate/po-page-detail/schema.d.ts +0 -3
- package/schematics/ng-generate/po-page-detail/schema.js +0 -3
- package/schematics/ng-generate/po-page-detail/schema.js.map +0 -1
- package/schematics/ng-generate/po-page-detail/schema.json +0 -67
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -27
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -33
- package/schematics/ng-generate/po-page-edit/index.d.ts +0 -4
- package/schematics/ng-generate/po-page-edit/index.js +0 -13
- package/schematics/ng-generate/po-page-edit/index.js.map +0 -1
- package/schematics/ng-generate/po-page-edit/schema.d.ts +0 -3
- package/schematics/ng-generate/po-page-edit/schema.js +0 -3
- package/schematics/ng-generate/po-page-edit/schema.js.map +0 -1
- package/schematics/ng-generate/po-page-edit/schema.json +0 -67
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -28
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -37
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -34
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -28
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -36
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -42
- package/schematics/ng-generate/po-page-list/index.d.ts +0 -7
- package/schematics/ng-generate/po-page-list/index.js +0 -16
- package/schematics/ng-generate/po-page-list/index.js.map +0 -1
- package/schematics/ng-generate/po-page-list/schema.d.ts +0 -5
- package/schematics/ng-generate/po-page-list/schema.js +0 -3
- package/schematics/ng-generate/po-page-list/schema.js.map +0 -1
- package/schematics/ng-generate/po-page-list/schema.json +0 -78
- package/schematics/ng-generate/sidemenu/files/app.__style__.template +0 -0
- package/schematics/ng-generate/sidemenu/files/app.spec.ts.template +0 -33
- package/schematics/ng-generate/sidemenu/files-standalone/app.__style__.template +0 -0
- /package/schematics/ng-generate/{po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template → sidemenu/files/__appFileName__.__style__.template} +0 -0
- /package/schematics/ng-generate/sidemenu/files/{app.html.template → __appFileName__.html.template} +0 -0
- /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
- /package/schematics/ng-generate/sidemenu/files-standalone/{app.html.template → __appFileName__.html.template} +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gaugePropertyRules = exports.gaugeSymbolsWithoutEquivalent = exports.gaugeSymbolMap = exports.PO_UI_PACKAGE = exports.updateDepedenciesVersion = void 0;
|
|
4
|
+
exports.updateDepedenciesVersion = {
|
|
5
|
+
dependencies: [
|
|
6
|
+
'@po-ui/ng-components',
|
|
7
|
+
'@po-ui/ng-code-editor',
|
|
8
|
+
'@po-ui/ng-templates',
|
|
9
|
+
'@po-ui/ng-storage',
|
|
10
|
+
'@po-ui/ng-sync',
|
|
11
|
+
'@po-ui/style'
|
|
12
|
+
]
|
|
13
|
+
};
|
|
14
|
+
/** Pacote de origem/destino dos símbolos migrados do gauge. */
|
|
15
|
+
exports.PO_UI_PACKAGE = '@po-ui/ng-components';
|
|
16
|
+
/** Símbolos gauge com equivalente direto no po-chart. */
|
|
17
|
+
exports.gaugeSymbolMap = {
|
|
18
|
+
PoGaugeModule: 'PoChartModule',
|
|
19
|
+
PoGaugeComponent: 'PoChartComponent',
|
|
20
|
+
PoGaugeRanges: 'PoChartSerie',
|
|
21
|
+
PoGaugeOptions: 'PoChartOptions'
|
|
22
|
+
};
|
|
23
|
+
/** Símbolos gauge SEM equivalente -> exigem revisão manual (Req 4.4). */
|
|
24
|
+
exports.gaugeSymbolsWithoutEquivalent = ['PoGaugeCoordinates', 'PoGaugeSvgContainer'];
|
|
25
|
+
/**
|
|
26
|
+
* Tabela de Mapeamento das propriedades do po-gauge para o po-chart
|
|
27
|
+
* (conforme comportamento real do componente po-gauge da v21).
|
|
28
|
+
*
|
|
29
|
+
* Referência: po-gauge.component.html passa `[p-title]` e `[p-height]`
|
|
30
|
+
* diretamente como inputs do po-chart. `p-show-pointer` é consumido via
|
|
31
|
+
* `p-options.pointer`. `p-value` com `p-ranges` vai para
|
|
32
|
+
* `p-value-gauge-multiple`.
|
|
33
|
+
*/
|
|
34
|
+
exports.gaugePropertyRules = [
|
|
35
|
+
{ gaugeProp: 'p-value', target: 'p-series' },
|
|
36
|
+
{ gaugeProp: 'p-ranges', target: 'p-series' },
|
|
37
|
+
{ gaugeProp: 'p-description', target: 'p-options', optionsKey: 'descriptionChart' },
|
|
38
|
+
{ gaugeProp: 'p-title', target: 'passthrough' },
|
|
39
|
+
{ gaugeProp: 'p-height', target: 'passthrough' },
|
|
40
|
+
{ gaugeProp: 'p-show-from-to-legend', target: 'p-options', optionsKey: 'showFromToLegend' },
|
|
41
|
+
{ gaugeProp: 'p-show-pointer', target: 'p-options', optionsKey: 'pointer' },
|
|
42
|
+
{ gaugeProp: 'p-options', target: 'p-options' }
|
|
43
|
+
];
|
|
44
|
+
//# sourceMappingURL=changes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changes.js","sourceRoot":"","sources":["../../../../../projects/ui/schematics/ng-update/v22/changes.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAuB;IAC1D,YAAY,EAAE;QACZ,sBAAsB;QACtB,uBAAuB;QACvB,qBAAqB;QACrB,mBAAmB;QACnB,gBAAgB;QAChB,cAAc;KACf;CACF,CAAC;AAEF,+DAA+D;AAClD,QAAA,aAAa,GAAG,sBAAsB,CAAC;AAEpD,yDAAyD;AAC5C,QAAA,cAAc,GAA2B;IACpD,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,gBAAgB;CACjC,CAAC;AAEF,yEAAyE;AAC5D,QAAA,6BAA6B,GAA0B,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;AAelH;;;;;;;;GAQG;AACU,QAAA,kBAAkB,GAAqC;IAClE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;IAC5C,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE;IAC7C,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE;IACnF,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE;IAC/C,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE;IAChD,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE;IAC3F,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;IAC3E,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE;CAChD,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { MigrationWarning } from './migration-report';
|
|
2
|
+
/**
|
|
3
|
+
* Resultado da transformação de um arquivo de template HTML pela
|
|
4
|
+
* Schematic_Migracao.
|
|
5
|
+
*
|
|
6
|
+
* A função `migrateHtmlContent` é pura (string → string): recebe o conteúdo
|
|
7
|
+
* original e devolve o conteúdo transformado, um indicador de alteração e a
|
|
8
|
+
* lista de Casos_Nao_Migravel encontrados. O `filePath` das advertências é
|
|
9
|
+
* preenchido pela camada de orquestração da schematic (que conhece o caminho).
|
|
10
|
+
*/
|
|
11
|
+
export interface HtmlMigrationResult {
|
|
12
|
+
/** Conteúdo do template após a transformação (idêntico ao original se nada mudou). */
|
|
13
|
+
content: string;
|
|
14
|
+
/** `true` somente quando alguma transformação/marcação foi efetivamente aplicada. */
|
|
15
|
+
changed: boolean;
|
|
16
|
+
/** Casos_Nao_Migravel identificados (trecho malformado ou propriedade sem equivalente). */
|
|
17
|
+
warnings: Array<MigrationWarning>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Transforma usos de `<po-gauge>` em `<po-chart p-type="gauge">` em um template
|
|
21
|
+
* HTML, mapeando as propriedades públicas conforme a Tabela de Mapeamento.
|
|
22
|
+
*
|
|
23
|
+
* Comportamento (Req. 2.1–2.3, 2.5–2.7, 3.10, 6.1, 6.3):
|
|
24
|
+
* - Localiza cada elemento `po-gauge` (abertura/fechamento exatos e sensíveis a
|
|
25
|
+
* maiúsculas) e o reescreve para `po-chart`, injetando `p-type="gauge"` e os
|
|
26
|
+
* atributos gerados (`[p-series]`/`[p-options]`), preservando os atributos não
|
|
27
|
+
* mapeados e sua ordem original.
|
|
28
|
+
* - Elementos já migrados (`po-chart`) nunca são correspondidos, garantindo
|
|
29
|
+
* idempotência (Req. 2.6, 7.4).
|
|
30
|
+
* - Trechos malformados ou com propriedade sem equivalente são preservados sem
|
|
31
|
+
* alteração; um comentário `TODO` é inserido na linha anterior e um
|
|
32
|
+
* `MigrationWarning` é registrado (Req. 2.7, 3.10, 6.1, 6.3). O `TODO` não é
|
|
33
|
+
* duplicado quando já existe imediatamente antes do trecho (Req. 7.4).
|
|
34
|
+
*/
|
|
35
|
+
export declare function migrateHtmlContent(source: string): HtmlMigrationResult;
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateHtmlContent = migrateHtmlContent;
|
|
4
|
+
const gauge_property_map_1 = require("./gauge-property-map");
|
|
5
|
+
/** Seletor de abertura do po-gauge (correspondência exata e case-sensitive, Req. 2.1). */
|
|
6
|
+
const OPEN_TAG = '<po-gauge';
|
|
7
|
+
/** Seletor de fechamento do po-gauge (correspondência exata e case-sensitive, Req. 2.2). */
|
|
8
|
+
const CLOSE_TAG = '</po-gauge>';
|
|
9
|
+
/** Marcador estável usado para detectar/evitar TODOs duplicados (idempotência, Req. 7.4). */
|
|
10
|
+
const TODO_MARKER = 'TODO: migração po-gauge';
|
|
11
|
+
/**
|
|
12
|
+
* Transforma usos de `<po-gauge>` em `<po-chart p-type="gauge">` em um template
|
|
13
|
+
* HTML, mapeando as propriedades públicas conforme a Tabela de Mapeamento.
|
|
14
|
+
*
|
|
15
|
+
* Comportamento (Req. 2.1–2.3, 2.5–2.7, 3.10, 6.1, 6.3):
|
|
16
|
+
* - Localiza cada elemento `po-gauge` (abertura/fechamento exatos e sensíveis a
|
|
17
|
+
* maiúsculas) e o reescreve para `po-chart`, injetando `p-type="gauge"` e os
|
|
18
|
+
* atributos gerados (`[p-series]`/`[p-options]`), preservando os atributos não
|
|
19
|
+
* mapeados e sua ordem original.
|
|
20
|
+
* - Elementos já migrados (`po-chart`) nunca são correspondidos, garantindo
|
|
21
|
+
* idempotência (Req. 2.6, 7.4).
|
|
22
|
+
* - Trechos malformados ou com propriedade sem equivalente são preservados sem
|
|
23
|
+
* alteração; um comentário `TODO` é inserido na linha anterior e um
|
|
24
|
+
* `MigrationWarning` é registrado (Req. 2.7, 3.10, 6.1, 6.3). O `TODO` não é
|
|
25
|
+
* duplicado quando já existe imediatamente antes do trecho (Req. 7.4).
|
|
26
|
+
*/
|
|
27
|
+
function migrateHtmlContent(source) {
|
|
28
|
+
const warnings = [];
|
|
29
|
+
let result = '';
|
|
30
|
+
let index = 0;
|
|
31
|
+
let changed = false;
|
|
32
|
+
while (index <= source.length) {
|
|
33
|
+
const openIdx = source.indexOf(OPEN_TAG, index);
|
|
34
|
+
if (openIdx === -1) {
|
|
35
|
+
result += source.slice(index);
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
const charAfter = source[openIdx + OPEN_TAG.length];
|
|
39
|
+
// Garante correspondência exata do seletor: o caractere seguinte deve ser
|
|
40
|
+
// whitespace, `/` ou `>` (evita casar `<po-gauge-foo`).
|
|
41
|
+
if (charAfter !== undefined && !isTagBoundary(charAfter)) {
|
|
42
|
+
result += source.slice(index, openIdx + OPEN_TAG.length);
|
|
43
|
+
index = openIdx + OPEN_TAG.length;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
// Texto entre o último ponto processado e este elemento.
|
|
47
|
+
result += source.slice(index, openIdx);
|
|
48
|
+
const line = lineOf(source, openIdx);
|
|
49
|
+
const openingTag = scanOpeningTag(source, openIdx);
|
|
50
|
+
// Caso 1: tag de abertura malformada (sem `>`, aspas não fechadas, etc.).
|
|
51
|
+
if (!openingTag) {
|
|
52
|
+
const preserved = {
|
|
53
|
+
snippet: OPEN_TAG,
|
|
54
|
+
reason: 'Elemento po-gauge malformado (tag de abertura não pôde ser interpretada).',
|
|
55
|
+
line
|
|
56
|
+
};
|
|
57
|
+
const outcome = appendPreserved(result, preserved, warnings);
|
|
58
|
+
result = outcome.result;
|
|
59
|
+
changed = outcome.changed || changed;
|
|
60
|
+
index = openIdx + OPEN_TAG.length;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
// Caso 2: elemento não auto-fechado sem `</po-gauge>` correspondente.
|
|
64
|
+
let innerContent = '';
|
|
65
|
+
let elementEnd = openingTag.tagEndIndex;
|
|
66
|
+
if (!openingTag.selfClosing) {
|
|
67
|
+
const closeIdx = source.indexOf(CLOSE_TAG, openingTag.tagEndIndex);
|
|
68
|
+
if (closeIdx === -1) {
|
|
69
|
+
const preserved = {
|
|
70
|
+
snippet: source.slice(openIdx, openingTag.tagEndIndex),
|
|
71
|
+
reason: 'Elemento po-gauge sem tag de fechamento (</po-gauge>) correspondente.',
|
|
72
|
+
line
|
|
73
|
+
};
|
|
74
|
+
const outcome = appendPreserved(result, preserved, warnings);
|
|
75
|
+
result = outcome.result;
|
|
76
|
+
changed = outcome.changed || changed;
|
|
77
|
+
index = openingTag.tagEndIndex;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
innerContent = source.slice(openingTag.tagEndIndex, closeIdx);
|
|
81
|
+
elementEnd = closeIdx + CLOSE_TAG.length;
|
|
82
|
+
}
|
|
83
|
+
const gaugeAttrs = toGaugeAttributes(openingTag.attrs);
|
|
84
|
+
const mapped = (0, gauge_property_map_1.mapGaugeProperties)(gaugeAttrs);
|
|
85
|
+
// Caso 3: propriedade sem equivalente na Tabela de Mapeamento (Req. 3.10).
|
|
86
|
+
if (mapped.unmapped.length > 0) {
|
|
87
|
+
const props = mapped.unmapped.map(attr => attr.name).join(', ');
|
|
88
|
+
const preserved = {
|
|
89
|
+
snippet: source.slice(openIdx, elementEnd),
|
|
90
|
+
reason: `Propriedade(s) do po-gauge sem equivalente no po-chart: ${props}. Migração manual necessária.`,
|
|
91
|
+
line
|
|
92
|
+
};
|
|
93
|
+
const outcome = appendPreserved(result, preserved, warnings);
|
|
94
|
+
result = outcome.result;
|
|
95
|
+
changed = outcome.changed || changed;
|
|
96
|
+
index = elementEnd;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// Caso de sucesso: reescreve o elemento para po-chart.
|
|
100
|
+
result += buildChartElement(openingTag, mapped, innerContent);
|
|
101
|
+
changed = true;
|
|
102
|
+
index = elementEnd;
|
|
103
|
+
// Conflito de p-options resolvido em favor de p-options (Req. 3.11): migra e
|
|
104
|
+
// apenas registra a advertência, sem preservar/TODO.
|
|
105
|
+
if (mapped.conflicts.length > 0) {
|
|
106
|
+
warnings.push({
|
|
107
|
+
filePath: '',
|
|
108
|
+
line,
|
|
109
|
+
reason: `Conflito de configuração em p-options para: ${mapped.conflicts.join(', ')}. ` +
|
|
110
|
+
`Prevaleceu o valor definido em p-options; revise o resultado.`
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return { content: result, changed, warnings };
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Anexa ao `result` acumulado um trecho preservado (Caso_Nao_Migravel),
|
|
118
|
+
* inserindo um comentário `TODO` na linha imediatamente anterior (sem duplicar)
|
|
119
|
+
* e registrando a advertência correspondente.
|
|
120
|
+
*/
|
|
121
|
+
function appendPreserved(result, preserved, warnings) {
|
|
122
|
+
warnings.push({ filePath: '', line: preserved.line, reason: preserved.reason });
|
|
123
|
+
if (hasTodoImmediatelyBefore(result)) {
|
|
124
|
+
// TODO já presente (execução idempotente): apenas preserva o trecho.
|
|
125
|
+
return { result: result + preserved.snippet, changed: false };
|
|
126
|
+
}
|
|
127
|
+
const lineStart = result.lastIndexOf('\n') + 1;
|
|
128
|
+
const linePrefix = result.slice(lineStart);
|
|
129
|
+
const todo = `<!-- ${TODO_MARKER} → po-chart requer revisão manual: ${preserved.reason} -->`;
|
|
130
|
+
if (/^\s*$/.test(linePrefix)) {
|
|
131
|
+
// O trecho inicia a linha (após a indentação): TODO na linha anterior com a
|
|
132
|
+
// mesma indentação.
|
|
133
|
+
const withTodo = result.slice(0, lineStart) + linePrefix + todo + '\n' + linePrefix;
|
|
134
|
+
return { result: withTodo + preserved.snippet, changed: true };
|
|
135
|
+
}
|
|
136
|
+
// Há conteúdo antes do trecho na mesma linha: insere o TODO imediatamente
|
|
137
|
+
// antes, em nova linha.
|
|
138
|
+
return { result: result + todo + '\n' + preserved.snippet, changed: true };
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Reescreve a tag `po-gauge` para `po-chart`, injetando `p-type="gauge"`, os
|
|
142
|
+
* atributos gerados (`[p-series]`/`[p-options]`/`[p-value-gauge-multiple]`) e
|
|
143
|
+
* preservando os atributos não mapeados na ordem original.
|
|
144
|
+
*/
|
|
145
|
+
function buildChartElement(openingTag, mapped, innerContent) {
|
|
146
|
+
const separator = openingTag.attrs.length > 0 ? openingTag.attrs[0].leadingWs || ' ' : ' ';
|
|
147
|
+
const parts = [`${separator}[p-type]="$any('gauge')"`];
|
|
148
|
+
// Atributos não mapeados preservados na ordem original, com a whitespace
|
|
149
|
+
// original de cada um.
|
|
150
|
+
mapped.passthrough.forEach(attr => {
|
|
151
|
+
const source = attr.source;
|
|
152
|
+
parts.push(`${source.leadingWs || ' '}${source.raw}`);
|
|
153
|
+
});
|
|
154
|
+
if (mapped.pSeries !== undefined) {
|
|
155
|
+
parts.push(`${separator}[p-series]="${mapped.pSeries}"`);
|
|
156
|
+
}
|
|
157
|
+
if (mapped.pValueGaugeMultiple !== undefined) {
|
|
158
|
+
parts.push(`${separator}[p-value-gauge-multiple]="${mapped.pValueGaugeMultiple}"`);
|
|
159
|
+
}
|
|
160
|
+
if (mapped.pOptions !== undefined) {
|
|
161
|
+
parts.push(`${separator}[p-options]="${mapped.pOptions}"`);
|
|
162
|
+
}
|
|
163
|
+
const openTag = `<po-chart${parts.join('')}${openingTag.trailingWs}${openingTag.selfClosing ? '/>' : '>'}`;
|
|
164
|
+
return openingTag.selfClosing ? openTag : `${openTag}${innerContent}</po-chart>`;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Varre a tag de abertura `<po-gauge ...>` a partir de `openIdx`, extraindo os
|
|
168
|
+
* atributos com a whitespace que os precede e determinando o fim da tag.
|
|
169
|
+
* Retorna `null` quando a tag está malformada (sem `>` ou com aspas não
|
|
170
|
+
* fechadas), sinalizando um Caso_Nao_Migravel.
|
|
171
|
+
*/
|
|
172
|
+
function scanOpeningTag(source, openIdx) {
|
|
173
|
+
const len = source.length;
|
|
174
|
+
const attrs = [];
|
|
175
|
+
let i = openIdx + OPEN_TAG.length;
|
|
176
|
+
while (i < len) {
|
|
177
|
+
const wsStart = i;
|
|
178
|
+
while (i < len && isWhitespace(source[i])) {
|
|
179
|
+
i++;
|
|
180
|
+
}
|
|
181
|
+
const leadingWs = source.slice(wsStart, i);
|
|
182
|
+
if (i >= len) {
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
const ch = source[i];
|
|
186
|
+
if (ch === '>') {
|
|
187
|
+
return { attrs, trailingWs: leadingWs, selfClosing: false, tagEndIndex: i + 1 };
|
|
188
|
+
}
|
|
189
|
+
if (ch === '/' && source[i + 1] === '>') {
|
|
190
|
+
return { attrs, trailingWs: leadingWs, selfClosing: true, tagEndIndex: i + 2 };
|
|
191
|
+
}
|
|
192
|
+
if (ch === '/') {
|
|
193
|
+
// `/` isolado não seguido de `>`: estrutura não reconhecida.
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
const nameStart = i;
|
|
197
|
+
while (i < len && !isNameTerminator(source[i])) {
|
|
198
|
+
i++;
|
|
199
|
+
}
|
|
200
|
+
const name = source.slice(nameStart, i);
|
|
201
|
+
if (name.length === 0) {
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
204
|
+
// Whitespace opcional antes de um eventual `=`.
|
|
205
|
+
let j = i;
|
|
206
|
+
while (j < len && isWhitespace(source[j])) {
|
|
207
|
+
j++;
|
|
208
|
+
}
|
|
209
|
+
if (source[j] === '=') {
|
|
210
|
+
j++;
|
|
211
|
+
while (j < len && isWhitespace(source[j])) {
|
|
212
|
+
j++;
|
|
213
|
+
}
|
|
214
|
+
const quote = source[j];
|
|
215
|
+
if (quote === '"' || quote === "'") {
|
|
216
|
+
const valueEnd = source.indexOf(quote, j + 1);
|
|
217
|
+
if (valueEnd === -1) {
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
attrs.push({ leadingWs, name, raw: source.slice(nameStart, valueEnd + 1) });
|
|
221
|
+
i = valueEnd + 1;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
// Valor sem aspas: consome até whitespace ou `>`.
|
|
225
|
+
let k = j;
|
|
226
|
+
while (k < len && !isWhitespace(source[k]) && source[k] !== '>') {
|
|
227
|
+
k++;
|
|
228
|
+
}
|
|
229
|
+
attrs.push({ leadingWs, name, raw: source.slice(nameStart, k) });
|
|
230
|
+
i = k;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
// Atributo booleano (sem valor).
|
|
235
|
+
attrs.push({ leadingWs, name, raw: source.slice(nameStart, i) });
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Converte os atributos brutos em `GaugeAttribute` (enriquecidos com o atributo
|
|
242
|
+
* de origem) para consumo por `mapGaugeProperties`. A expressão original é
|
|
243
|
+
* preservada textualmente (Req. 3.1–3.7).
|
|
244
|
+
*/
|
|
245
|
+
function toGaugeAttributes(attrs) {
|
|
246
|
+
return attrs.map(source => {
|
|
247
|
+
const binding = source.name.startsWith('[');
|
|
248
|
+
return {
|
|
249
|
+
name: source.name,
|
|
250
|
+
binding,
|
|
251
|
+
rawExpression: extractRawExpression(source),
|
|
252
|
+
source
|
|
253
|
+
};
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
/** Extrai a expressão/valor original do atributo (conteúdo entre aspas, se houver). */
|
|
257
|
+
function extractRawExpression(source) {
|
|
258
|
+
const eqIndex = source.raw.indexOf('=');
|
|
259
|
+
if (eqIndex === -1) {
|
|
260
|
+
// Atributo booleano sem valor.
|
|
261
|
+
return '';
|
|
262
|
+
}
|
|
263
|
+
const afterEq = source.raw.slice(eqIndex + 1).trim();
|
|
264
|
+
const first = afterEq[0];
|
|
265
|
+
if (first === '"' || first === "'") {
|
|
266
|
+
return afterEq.slice(1, afterEq.lastIndexOf(first));
|
|
267
|
+
}
|
|
268
|
+
return afterEq;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Indica se já existe um comentário `TODO` da migração imediatamente antes do
|
|
272
|
+
* trecho (última linha não vazia do conteúdo já acumulado), evitando duplicatas
|
|
273
|
+
* em reexecuções (idempotência, Req. 7.4).
|
|
274
|
+
*/
|
|
275
|
+
function hasTodoImmediatelyBefore(result) {
|
|
276
|
+
const trimmed = result.replace(/\s+$/, '');
|
|
277
|
+
if (!trimmed.endsWith('-->')) {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
const open = trimmed.lastIndexOf('<!--');
|
|
281
|
+
if (open === -1) {
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
return trimmed.slice(open).includes(TODO_MARKER);
|
|
285
|
+
}
|
|
286
|
+
/** Número da linha (1-indexado) correspondente ao índice informado. */
|
|
287
|
+
function lineOf(source, index) {
|
|
288
|
+
let line = 1;
|
|
289
|
+
for (let i = 0; i < index; i++) {
|
|
290
|
+
if (source[i] === '\n') {
|
|
291
|
+
line++;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return line;
|
|
295
|
+
}
|
|
296
|
+
/** `true` quando o caractere delimita o fim do seletor (`whitespace`, `/` ou `>`). */
|
|
297
|
+
function isTagBoundary(char) {
|
|
298
|
+
return isWhitespace(char) || char === '/' || char === '>';
|
|
299
|
+
}
|
|
300
|
+
/** `true` quando o caractere encerra o nome de um atributo. */
|
|
301
|
+
function isNameTerminator(char) {
|
|
302
|
+
return isWhitespace(char) || char === '=' || char === '>' || char === '/';
|
|
303
|
+
}
|
|
304
|
+
/** `true` para qualquer caractere de espaçamento (espaço, tab, quebras de linha). */
|
|
305
|
+
function isWhitespace(char) {
|
|
306
|
+
return char === ' ' || char === '\t' || char === '\n' || char === '\r' || char === '\f' || char === '\v';
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=gauge-html-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gauge-html-migration.js","sourceRoot":"","sources":["../../../../../projects/ui/schematics/ng-update/v22/gauge-html-migration.ts"],"names":[],"mappings":";;AAgFA,gDAoGC;AApLD,6DAAiG;AAqBjG,0FAA0F;AAC1F,MAAM,QAAQ,GAAG,WAAW,CAAC;AAC7B,4FAA4F;AAC5F,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,6FAA6F;AAC7F,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAsC9C;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,0EAA0E;QAC1E,wDAAwD;QACxD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzD,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;YAClC,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEnD,0EAA0E;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,SAAS,GAAqB;gBAClC,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,2EAA2E;gBACnF,IAAI;aACL,CAAC;YACF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;YACrC,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;YAClC,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAqB;oBAClC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;oBACtD,MAAM,EAAE,uEAAuE;oBAC/E,IAAI;iBACL,CAAC;gBACF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC7D,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBACxB,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;gBACrC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3C,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,UAAU,CAAC,CAAC;QAE9C,2EAA2E;QAC3E,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,SAAS,GAAqB;gBAClC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;gBAC1C,MAAM,EAAE,2DAA2D,KAAK,+BAA+B;gBACvG,IAAI;aACL,CAAC;YACF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;YACrC,KAAK,GAAG,UAAU,CAAC;YACnB,SAAS;QACX,CAAC;QAED,uDAAuD;QACvD,MAAM,IAAI,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO,GAAG,IAAI,CAAC;QACf,KAAK,GAAG,UAAU,CAAC;QAEnB,6EAA6E;QAC7E,qDAAqD;QACrD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,IAAI;gBACJ,MAAM,EACJ,+CAA+C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAC9E,+DAA+D;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACtB,MAAc,EACd,SAA2B,EAC3B,QAAiC;IAEjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhF,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,qEAAqE;QACrE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,QAAQ,WAAW,sCAAsC,SAAS,CAAC,MAAM,MAAM,CAAC;IAE7F,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,4EAA4E;QAC5E,oBAAoB;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;QACpF,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,0EAA0E;IAC1E,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,UAAsB,EAAE,MAA6B,EAAE,YAAoB;IACpG,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3F,MAAM,KAAK,GAAkB,CAAC,GAAG,SAAS,0BAA0B,CAAC,CAAC;IAEtE,yEAAyE;IACzE,uBAAuB;IACvB,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChC,MAAM,MAAM,GAAI,IAAmB,CAAC,MAAM,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,eAAe,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,6BAA6B,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,gBAAgB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAE3G,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,YAAY,aAAa,CAAC;AACnF,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAc,EAAE,OAAe;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;IAElC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC,EAAE,CAAC;QACN,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAClF,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QACjF,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,6DAA6D;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,CAAC,EAAE,CAAC;QACN,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC,EAAE,CAAC;QACN,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACtB,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5E,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChE,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjE,CAAC,GAAG,CAAC,CAAC;YACR,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,KAAqB;IAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO;YACP,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC;YAC3C,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uFAAuF;AACvF,SAAS,oBAAoB,CAAC,MAAe;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,+BAA+B;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,MAAc;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,uEAAuE;AACvE,SAAS,MAAM,CAAC,MAAc,EAAE,KAAa;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sFAAsF;AACtF,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;AAC5D,CAAC;AAED,+DAA+D;AAC/D,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;AAC5E,CAAC;AAED,qFAAqF;AACrF,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;AAC3G,CAAC"}
|