@govbr-ds/webcomponents 2.0.0-next.62 → 2.0.0-next.64
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/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/br-checkbox_3.cjs.entry.js +17 -28
- package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -1
- package/dist/cjs/br-collapse_2.cjs.entry.js +10 -15
- package/dist/cjs/br-datetime-picker.cjs.entry.js +18 -31
- package/dist/cjs/br-datetime-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +1 -1
- package/dist/cjs/br-dropdown_2.cjs.entry.js +73 -56
- package/dist/cjs/br-header-list.cjs.entry.js +6 -13
- package/dist/cjs/br-header-list.entry.cjs.js.map +1 -1
- package/dist/cjs/br-header.cjs.entry.js +2 -5
- package/dist/cjs/br-header.entry.cjs.js.map +1 -1
- package/dist/cjs/br-item.cjs.entry.js +3 -6
- package/dist/cjs/br-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-message.cjs.entry.js +13 -16
- package/dist/cjs/br-message.entry.cjs.js.map +1 -1
- package/dist/cjs/br-modal.cjs.entry.js +8 -13
- package/dist/cjs/br-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/br-scrim.cjs.entry.js +40 -51
- package/dist/cjs/br-scrim.entry.cjs.js.map +1 -1
- package/dist/cjs/br-skip-link.cjs.entry.js +25 -30
- package/dist/cjs/br-skip-link.entry.cjs.js.map +1 -1
- package/dist/cjs/br-skiplink-item.cjs.entry.js +32 -37
- package/dist/cjs/br-skiplink-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-step.br-step-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-step_2.cjs.entry.js +33 -56
- package/dist/cjs/br-switch.cjs.entry.js +3 -6
- package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/br-textarea.cjs.entry.js +5 -8
- package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/br-tooltip.cjs.entry.js +1 -2
- package/dist/cjs/br-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/br-wizard-panel.cjs.entry.js +6 -13
- package/dist/cjs/br-wizard-panel.entry.cjs.js.map +1 -1
- package/dist/cjs/br-wizard.cjs.entry.js +147 -182
- package/dist/cjs/br-wizard.entry.cjs.js.map +1 -1
- package/dist/cjs/{floating-ui-D_WzFT9x.js → floating-ui-CkTJEp-y.js} +11 -15
- package/dist/{esm/floating-ui-DBIzWbO2.js.map → cjs/floating-ui-CkTJEp-y.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +9 -16
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/collapse/collapse.js +10 -15
- package/dist/collection/components/collapse/collapse.js.map +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +18 -31
- package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +13 -20
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/header/header-list/header-list.js +6 -13
- package/dist/collection/components/header/header-list/header-list.js.map +1 -1
- package/dist/collection/components/header/header.js +2 -5
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/item/item.js +3 -6
- package/dist/collection/components/item/item.js.map +1 -1
- package/dist/collection/components/message/message.js +13 -16
- package/dist/collection/components/message/message.js.map +1 -1
- package/dist/collection/components/modal/modal.js +8 -13
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/radio/radio.js +8 -13
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/scrim/scrim.js +40 -51
- package/dist/collection/components/scrim/scrim.js.map +1 -1
- package/dist/collection/components/select/select.js +79 -36
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +32 -37
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js.map +1 -1
- package/dist/collection/components/skip-link/skip-link.js +25 -30
- package/dist/collection/components/skip-link/skip-link.js.map +1 -1
- package/dist/collection/components/step/step-item/step-item.js +13 -26
- package/dist/collection/components/step/step-item/step-item.js.map +1 -1
- package/dist/collection/components/step/step.js +20 -31
- package/dist/collection/components/step/step.js.map +1 -1
- package/dist/collection/components/switch/switch.js +3 -6
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +5 -8
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +6 -13
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js.map +1 -1
- package/dist/collection/components/wizard/wizard.js +147 -182
- package/dist/collection/components/wizard/wizard.js.map +1 -1
- package/dist/collection/utils/floating-ui.js +9 -12
- package/dist/collection/utils/floating-ui.js.map +1 -1
- package/dist/components/br-breadcrumb.js +3 -3
- package/dist/components/br-checkbox.js +4 -4
- package/dist/components/br-checkgroup.js +1 -1
- package/dist/components/br-collapse.js +4 -4
- package/dist/components/br-datetime-picker.js +1981 -1995
- package/dist/components/br-datetime-picker.js.map +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-footer-category.js +3 -3
- package/dist/components/br-footer-item.js +1 -1
- package/dist/components/br-header-function.js +1 -1
- package/dist/components/br-header-link.js +1 -1
- package/dist/components/br-header-list.js +31 -39
- package/dist/components/br-header-list.js.map +1 -1
- package/dist/components/br-header.js +63 -67
- package/dist/components/br-header.js.map +1 -1
- package/dist/components/br-item.js +1 -1
- package/dist/components/br-list.js +3 -3
- package/dist/components/br-message.js +28 -32
- package/dist/components/br-message.js.map +1 -1
- package/dist/components/br-modal.js +21 -27
- package/dist/components/br-modal.js.map +1 -1
- package/dist/components/br-pagination.js +7 -7
- package/dist/components/br-radio.js +1 -1
- package/dist/components/br-scrim.js +49 -61
- package/dist/components/br-scrim.js.map +1 -1
- package/dist/components/br-select.js +3 -3
- package/dist/components/br-skip-link.js +42 -49
- package/dist/components/br-skip-link.js.map +1 -1
- package/dist/components/br-skiplink-item.js +55 -61
- package/dist/components/br-skiplink-item.js.map +1 -1
- package/dist/components/br-step-item.js +4 -4
- package/dist/components/br-step.js +4 -4
- package/dist/components/br-switch.js +12 -16
- package/dist/components/br-switch.js.map +1 -1
- package/dist/components/br-textarea.js +14 -18
- package/dist/components/br-textarea.js.map +1 -1
- package/dist/components/br-tooltip.js +1 -1
- package/dist/components/br-wizard-panel.js +13 -21
- package/dist/components/br-wizard-panel.js.map +1 -1
- package/dist/components/br-wizard.js +190 -228
- package/dist/components/br-wizard.js.map +1 -1
- package/dist/components/{p-Cc75U9ZX.js → p-B_YesJM8.js} +26 -34
- package/dist/components/{p-Cc75U9ZX.js.map → p-B_YesJM8.js.map} +1 -1
- package/dist/components/{p-xFn46pdm.js → p-Bc03PTAW.js} +27 -39
- package/dist/components/{p-xFn46pdm.js.map → p-Bc03PTAW.js.map} +1 -1
- package/dist/components/{p-DzKEfDGA.js → p-Bri6ECVa.js} +27 -33
- package/dist/components/{p-DzKEfDGA.js.map → p-Bri6ECVa.js.map} +1 -1
- package/dist/components/{p-BZ8BetvD.js → p-CJSXIVVe.js} +17 -23
- package/dist/components/{p-BZ8BetvD.js.map → p-CJSXIVVe.js.map} +1 -1
- package/dist/components/{p-D9c7NikS.js → p-CWRBs6PD.js} +24 -38
- package/dist/components/{p-D9c7NikS.js.map → p-CWRBs6PD.js.map} +1 -1
- package/dist/components/{p-D0dPo1K5.js → p-CwtLw60M.js} +12 -16
- package/dist/components/{p-D0dPo1K5.js.map → p-CwtLw60M.js.map} +1 -1
- package/dist/components/{p-z1PVVVFI.js → p-DW63EY0U.js} +27 -35
- package/dist/components/{p-z1PVVVFI.js.map → p-DW63EY0U.js.map} +1 -1
- package/dist/components/{p-7kxAU6Gr.js → p-DdjKNpU3.js} +92 -72
- package/dist/components/p-DdjKNpU3.js.map +1 -0
- package/dist/{webcomponents/p-B4au_byv.js → components/p-k0WZfTfL.js} +121 -124
- package/dist/components/{p-B4au_byv.js.map → p-k0WZfTfL.js.map} +1 -1
- package/dist/components/{p-OKkBxn1z.js → p-lIb35q2K.js} +3 -3
- package/dist/custom-elements.json +19459 -0
- package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +1 -1
- package/dist/esm/br-checkbox_3.entry.js +17 -28
- package/dist/esm/br-collapse.br-list.entry.js.map +1 -1
- package/dist/esm/br-collapse_2.entry.js +10 -15
- package/dist/esm/br-datetime-picker.entry.js +18 -31
- package/dist/esm/br-datetime-picker.entry.js.map +1 -1
- package/dist/esm/br-dropdown.br-select.entry.js.map +1 -1
- package/dist/esm/br-dropdown_2.entry.js +73 -56
- package/dist/esm/br-header-list.entry.js +6 -13
- package/dist/esm/br-header-list.entry.js.map +1 -1
- package/dist/esm/br-header.entry.js +2 -5
- package/dist/esm/br-header.entry.js.map +1 -1
- package/dist/esm/br-item.entry.js +3 -6
- package/dist/esm/br-item.entry.js.map +1 -1
- package/dist/esm/br-message.entry.js +13 -16
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-modal.entry.js +8 -13
- package/dist/esm/br-modal.entry.js.map +1 -1
- package/dist/esm/br-scrim.entry.js +40 -51
- package/dist/esm/br-scrim.entry.js.map +1 -1
- package/dist/esm/br-skip-link.entry.js +25 -30
- package/dist/esm/br-skip-link.entry.js.map +1 -1
- package/dist/esm/br-skiplink-item.entry.js +32 -37
- package/dist/esm/br-skiplink-item.entry.js.map +1 -1
- package/dist/esm/br-step.br-step-item.entry.js.map +1 -1
- package/dist/esm/br-step_2.entry.js +33 -56
- package/dist/esm/br-switch.entry.js +3 -6
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/br-textarea.entry.js +5 -8
- package/dist/esm/br-textarea.entry.js.map +1 -1
- package/dist/esm/br-tooltip.entry.js +1 -2
- package/dist/esm/br-tooltip.entry.js.map +1 -1
- package/dist/esm/br-wizard-panel.entry.js +6 -13
- package/dist/esm/br-wizard-panel.entry.js.map +1 -1
- package/dist/esm/br-wizard.entry.js +147 -182
- package/dist/esm/br-wizard.entry.js.map +1 -1
- package/dist/esm/{floating-ui-DBIzWbO2.js → floating-ui-k0WZfTfL.js} +11 -15
- package/dist/{cjs/floating-ui-D_WzFT9x.js.map → esm/floating-ui-k0WZfTfL.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/webcomponents.js +1 -1
- package/dist/hydrate/index.js +451 -592
- package/dist/hydrate/index.mjs +451 -592
- package/dist/types/components/select/select.d.ts +5 -0
- package/dist/types/components.d.ts +10 -0
- package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-datetime-picker.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header-list.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-modal.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-scrim.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-skip-link.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-skiplink-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-step.br-step-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tooltip.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-wizard-panel.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-wizard.entry.esm.js.map +1 -1
- package/dist/webcomponents/{p-2fe329d6.entry.js → p-10e25a32.entry.js} +28 -34
- package/dist/webcomponents/p-10e25a32.entry.js.map +1 -0
- package/dist/webcomponents/{p-61e5421b.entry.js → p-27eb10f9.entry.js} +57 -61
- package/dist/webcomponents/p-27eb10f9.entry.js.map +1 -0
- package/dist/webcomponents/{p-097912c2.entry.js → p-2be1c309.entry.js} +34 -41
- package/dist/webcomponents/p-2be1c309.entry.js.map +1 -0
- package/dist/webcomponents/{p-5070161f.entry.js → p-30af66b3.entry.js} +45 -51
- package/dist/webcomponents/p-30af66b3.entry.js.map +1 -0
- package/dist/webcomponents/{p-9464b692.entry.js → p-336071a5.entry.js} +2 -4
- package/dist/webcomponents/p-336071a5.entry.js.map +1 -0
- package/dist/webcomponents/{p-8a034433.entry.js → p-462c5647.entry.js} +20 -24
- package/dist/webcomponents/p-462c5647.entry.js.map +1 -0
- package/dist/webcomponents/{p-d674cee3.entry.js → p-46dfc3ee.entry.js} +12 -16
- package/dist/webcomponents/p-46dfc3ee.entry.js.map +1 -0
- package/dist/webcomponents/{p-821b896c.entry.js → p-56aabe89.entry.js} +36 -44
- package/dist/webcomponents/p-56aabe89.entry.js.map +1 -0
- package/dist/webcomponents/{p-a615baaa.entry.js → p-5710a3e9.entry.js} +41 -65
- package/dist/webcomponents/p-5710a3e9.entry.js.map +1 -0
- package/dist/webcomponents/{p-1799a082.entry.js → p-6a9d2a0b.entry.js} +1996 -2010
- package/dist/webcomponents/p-6a9d2a0b.entry.js.map +1 -0
- package/dist/webcomponents/{p-8ad1f003.entry.js → p-83001853.entry.js} +175 -213
- package/dist/webcomponents/p-83001853.entry.js.map +1 -0
- package/dist/webcomponents/{p-463b06a4.entry.js → p-90401ecd.entry.js} +32 -38
- package/dist/webcomponents/p-90401ecd.entry.js.map +1 -0
- package/dist/webcomponents/{p-216dc111.entry.js → p-a2eec4fb.entry.js} +49 -61
- package/dist/webcomponents/p-a2eec4fb.entry.js.map +1 -0
- package/dist/webcomponents/{p-d6475852.entry.js → p-c1b0a116.entry.js} +11 -19
- package/dist/webcomponents/p-c1b0a116.entry.js.map +1 -0
- package/dist/webcomponents/{p-c90a089a.entry.js → p-ca2d95f7.entry.js} +96 -83
- package/dist/webcomponents/p-ca2d95f7.entry.js.map +1 -0
- package/dist/webcomponents/{p-7ff6698f.entry.js → p-cfa86a23.entry.js} +10 -14
- package/dist/webcomponents/p-cfa86a23.entry.js.map +1 -0
- package/dist/webcomponents/{p-abc0ecbe.entry.js → p-e5875d3d.entry.js} +10 -14
- package/dist/webcomponents/p-e5875d3d.entry.js.map +1 -0
- package/dist/webcomponents/{p-0bfb0edf.entry.js → p-f2ea0d7e.entry.js} +133 -145
- package/dist/webcomponents/p-f2ea0d7e.entry.js.map +1 -0
- package/dist/{components/p-B4au_byv.js → webcomponents/p-k0WZfTfL.js} +121 -124
- package/dist/webcomponents/{p-B4au_byv.js.map → p-k0WZfTfL.js.map} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/dist/webcomponents.html-custom-data.json +2573 -0
- package/package.json +1 -1
- package/dist/cjs/tslib.es6-CF44W9Bn.js +0 -42
- package/dist/cjs/tslib.es6-CF44W9Bn.js.map +0 -1
- package/dist/components/p-7kxAU6Gr.js.map +0 -1
- package/dist/components/p-DIPMDb5E.js +0 -55
- package/dist/components/p-DIPMDb5E.js.map +0 -1
- package/dist/esm/tslib.es6-DIPMDb5E.js +0 -40
- package/dist/esm/tslib.es6-DIPMDb5E.js.map +0 -1
- package/dist/webcomponents/p-097912c2.entry.js.map +0 -1
- package/dist/webcomponents/p-0bfb0edf.entry.js.map +0 -1
- package/dist/webcomponents/p-1799a082.entry.js.map +0 -1
- package/dist/webcomponents/p-216dc111.entry.js.map +0 -1
- package/dist/webcomponents/p-2fe329d6.entry.js.map +0 -1
- package/dist/webcomponents/p-463b06a4.entry.js.map +0 -1
- package/dist/webcomponents/p-5070161f.entry.js.map +0 -1
- package/dist/webcomponents/p-61e5421b.entry.js.map +0 -1
- package/dist/webcomponents/p-7ff6698f.entry.js.map +0 -1
- package/dist/webcomponents/p-821b896c.entry.js.map +0 -1
- package/dist/webcomponents/p-8a034433.entry.js.map +0 -1
- package/dist/webcomponents/p-8ad1f003.entry.js.map +0 -1
- package/dist/webcomponents/p-9464b692.entry.js.map +0 -1
- package/dist/webcomponents/p-DIPMDb5E.js +0 -55
- package/dist/webcomponents/p-DIPMDb5E.js.map +0 -1
- package/dist/webcomponents/p-a615baaa.entry.js.map +0 -1
- package/dist/webcomponents/p-abc0ecbe.entry.js.map +0 -1
- package/dist/webcomponents/p-c90a089a.entry.js.map +0 -1
- package/dist/webcomponents/p-d6475852.entry.js.map +0 -1
- package/dist/webcomponents/p-d674cee3.entry.js.map +0 -1
- /package/dist/components/{p-OKkBxn1z.js.map → p-lIb35q2K.js.map} +0 -0
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* © https://serpro.gov.br/ - MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-ByGJPTh2.js';
|
|
6
|
-
import { _ as __awaiter } from './tslib.es6-DIPMDb5E.js';
|
|
7
6
|
import { H as Helpers } from './helpers-D4N4PPot.js';
|
|
8
7
|
|
|
9
8
|
/**
|
|
@@ -470,7 +469,7 @@ const Wizard = class {
|
|
|
470
469
|
* Se for a última etapa, valida e emite evento de conclusão.
|
|
471
470
|
* Caso contrário, avança para a próxima etapa.
|
|
472
471
|
*/
|
|
473
|
-
this.handleNext = () =>
|
|
472
|
+
this.handleNext = async () => {
|
|
474
473
|
if (this.currentStep === this.panels.length) {
|
|
475
474
|
// Última etapa: validar antes de completar
|
|
476
475
|
const eventResult = this.brWizardBeforeStepChange.emit(this.currentStep);
|
|
@@ -480,16 +479,16 @@ const Wizard = class {
|
|
|
480
479
|
}
|
|
481
480
|
}
|
|
482
481
|
else {
|
|
483
|
-
|
|
482
|
+
await this.nextStep();
|
|
484
483
|
}
|
|
485
|
-
}
|
|
484
|
+
};
|
|
486
485
|
/**
|
|
487
486
|
* Handler do botão "Voltar".
|
|
488
487
|
* Navega para a etapa anterior.
|
|
489
488
|
*/
|
|
490
|
-
this.handlePrevious = () =>
|
|
491
|
-
|
|
492
|
-
}
|
|
489
|
+
this.handlePrevious = async () => {
|
|
490
|
+
await this.previousStep();
|
|
491
|
+
};
|
|
493
492
|
/**
|
|
494
493
|
* Handler do botão "Cancelar".
|
|
495
494
|
* Emite evento de cancelamento do wizard.
|
|
@@ -512,12 +511,10 @@ const Wizard = class {
|
|
|
512
511
|
* Observa mudanças na etapa inicial.
|
|
513
512
|
* Reinicializa o wizard quando a prop initialStep é alterada externamente.
|
|
514
513
|
*/
|
|
515
|
-
handleInitialStepChange() {
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
this.updatePanels();
|
|
520
|
-
});
|
|
514
|
+
async handleInitialStepChange() {
|
|
515
|
+
this.setInitialStep();
|
|
516
|
+
await this.syncWithBrStep();
|
|
517
|
+
this.updatePanels();
|
|
521
518
|
}
|
|
522
519
|
/**
|
|
523
520
|
* Observa mudanças na etapa atual (fonte única de verdade).
|
|
@@ -525,15 +522,13 @@ const Wizard = class {
|
|
|
525
522
|
* @param newStep - Nova etapa
|
|
526
523
|
* @param oldStep - Etapa anterior
|
|
527
524
|
*/
|
|
528
|
-
handleCurrentStepChange(newStep, oldStep) {
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
}
|
|
536
|
-
});
|
|
525
|
+
async handleCurrentStepChange(newStep, oldStep) {
|
|
526
|
+
if (newStep !== oldStep) {
|
|
527
|
+
await this.syncWithBrStep();
|
|
528
|
+
this.updatePanels();
|
|
529
|
+
this.announceStepChange(newStep, oldStep);
|
|
530
|
+
this.setFocusOnActivePanel();
|
|
531
|
+
}
|
|
537
532
|
}
|
|
538
533
|
// ========================================
|
|
539
534
|
// LISTENERS
|
|
@@ -543,31 +538,27 @@ const Wizard = class {
|
|
|
543
538
|
* Redescobre os painéis e ressincroniza o estado.
|
|
544
539
|
* @param event - Evento slotchange
|
|
545
540
|
*/
|
|
546
|
-
handleSlotChange(event) {
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
this.updatePanels();
|
|
552
|
-
});
|
|
541
|
+
async handleSlotChange(event) {
|
|
542
|
+
const slot = event.target;
|
|
543
|
+
this.discoverPanelsFromSlot(slot);
|
|
544
|
+
await this.syncWithBrStep();
|
|
545
|
+
this.updatePanels();
|
|
553
546
|
}
|
|
554
547
|
/**
|
|
555
548
|
* Detecta quando o br-step muda de etapa ativa.
|
|
556
549
|
* Valida e sincroniza a navegação com o componente interno br-step.
|
|
557
550
|
* @param event - Evento customizado do br-step
|
|
558
551
|
*/
|
|
559
|
-
handleStepChange(event) {
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
}
|
|
570
|
-
});
|
|
552
|
+
async handleStepChange(event) {
|
|
553
|
+
if (this.isSyncingWithStep) {
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
const requestedStep = event.detail.activeStep + 1;
|
|
557
|
+
const success = await this.navigateToStep(requestedStep);
|
|
558
|
+
if (!success) {
|
|
559
|
+
event.stopPropagation();
|
|
560
|
+
await this.syncWithBrStep();
|
|
561
|
+
}
|
|
571
562
|
}
|
|
572
563
|
// ========================================
|
|
573
564
|
// LIFECYCLE HOOKS
|
|
@@ -583,24 +574,22 @@ const Wizard = class {
|
|
|
583
574
|
* Lifecycle: carrega painéis e configura estado inicial.
|
|
584
575
|
* Sincroniza com br-step, atualiza painéis e configura detecção mobile.
|
|
585
576
|
*/
|
|
586
|
-
componentDidLoad() {
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
this.panels = slotPanels;
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
yield this.syncWithBrStep();
|
|
598
|
-
this.updatePanels();
|
|
599
|
-
this.setupMobileDetection();
|
|
600
|
-
if (this.isMobile) {
|
|
601
|
-
this.collapsed = true;
|
|
577
|
+
async componentDidLoad() {
|
|
578
|
+
var _a;
|
|
579
|
+
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
580
|
+
if (slot !== null && typeof slot !== 'undefined') {
|
|
581
|
+
const assignedElements = slot.assignedElements();
|
|
582
|
+
const slotPanels = assignedElements.filter((el) => el.tagName.toLowerCase() === 'br-wizard-panel');
|
|
583
|
+
if (slotPanels.length !== this.panels.length) {
|
|
584
|
+
this.panels = slotPanels;
|
|
602
585
|
}
|
|
603
|
-
}
|
|
586
|
+
}
|
|
587
|
+
await this.syncWithBrStep();
|
|
588
|
+
this.updatePanels();
|
|
589
|
+
this.setupMobileDetection();
|
|
590
|
+
if (this.isMobile) {
|
|
591
|
+
this.collapsed = true;
|
|
592
|
+
}
|
|
604
593
|
}
|
|
605
594
|
/**
|
|
606
595
|
* Lifecycle: limpa listeners quando componente é removido.
|
|
@@ -618,20 +607,16 @@ const Wizard = class {
|
|
|
618
607
|
* Executa validação via evento `brWizardBeforeStepChange` antes de navegar.
|
|
619
608
|
* @returns Promise<boolean> - true se navegou com sucesso, false se bloqueado
|
|
620
609
|
*/
|
|
621
|
-
nextStep() {
|
|
622
|
-
return
|
|
623
|
-
return yield this.navigateToStep(this.currentStep + 1);
|
|
624
|
-
});
|
|
610
|
+
async nextStep() {
|
|
611
|
+
return await this.navigateToStep(this.currentStep + 1);
|
|
625
612
|
}
|
|
626
613
|
/**
|
|
627
614
|
* Volta para a etapa anterior.
|
|
628
615
|
* Não executa validação ao retornar.
|
|
629
616
|
* @returns Promise<boolean> - true se navegou com sucesso, false se bloqueado
|
|
630
617
|
*/
|
|
631
|
-
previousStep() {
|
|
632
|
-
return
|
|
633
|
-
return yield this.navigateToStep(this.currentStep - 1);
|
|
634
|
-
});
|
|
618
|
+
async previousStep() {
|
|
619
|
+
return await this.navigateToStep(this.currentStep - 1);
|
|
635
620
|
}
|
|
636
621
|
/**
|
|
637
622
|
* Navega para uma etapa específica.
|
|
@@ -639,67 +624,53 @@ const Wizard = class {
|
|
|
639
624
|
* @param stepNumber - Número da etapa de destino (numeração começa em 1)
|
|
640
625
|
* @returns Promise<boolean> - true se navegou com sucesso, false se bloqueado
|
|
641
626
|
*/
|
|
642
|
-
goToStep(stepNumber) {
|
|
643
|
-
return
|
|
644
|
-
return yield this.navigateToStep(stepNumber);
|
|
645
|
-
});
|
|
627
|
+
async goToStep(stepNumber) {
|
|
628
|
+
return await this.navigateToStep(stepNumber);
|
|
646
629
|
}
|
|
647
630
|
/**
|
|
648
631
|
* Retorna à primeira etapa do wizard.
|
|
649
632
|
* Não executa validação (útil para reiniciar o fluxo).
|
|
650
633
|
* @returns Promise<void>
|
|
651
634
|
*/
|
|
652
|
-
reset() {
|
|
653
|
-
|
|
654
|
-
yield this.navigateToStep(1, true);
|
|
655
|
-
});
|
|
635
|
+
async reset() {
|
|
636
|
+
await this.navigateToStep(1, true);
|
|
656
637
|
}
|
|
657
638
|
/**
|
|
658
639
|
* Retorna o elemento HTML do painel ativo no momento.
|
|
659
640
|
* @returns Promise<HTMLElement | null>
|
|
660
641
|
*/
|
|
661
|
-
getCurrentStep() {
|
|
662
|
-
return
|
|
663
|
-
return this.panels[this.currentStep - 1] || null;
|
|
664
|
-
});
|
|
642
|
+
async getCurrentStep() {
|
|
643
|
+
return this.panels[this.currentStep - 1] || null;
|
|
665
644
|
}
|
|
666
645
|
/**
|
|
667
646
|
* Retorna todos os painéis do wizard.
|
|
668
647
|
* @returns Promise<HTMLElement[]>
|
|
669
648
|
*/
|
|
670
|
-
getAllSteps() {
|
|
671
|
-
return
|
|
672
|
-
return [...this.panels];
|
|
673
|
-
});
|
|
649
|
+
async getAllSteps() {
|
|
650
|
+
return [...this.panels];
|
|
674
651
|
}
|
|
675
652
|
/**
|
|
676
653
|
* Retorna um painel específico pelo índice.
|
|
677
654
|
* @param stepNumber - Número da etapa (numeração começa em 1)
|
|
678
655
|
* @returns Promise<HTMLElement | null>
|
|
679
656
|
*/
|
|
680
|
-
getStepByIndex(stepNumber) {
|
|
681
|
-
return
|
|
682
|
-
return this.panels[stepNumber - 1] || null;
|
|
683
|
-
});
|
|
657
|
+
async getStepByIndex(stepNumber) {
|
|
658
|
+
return this.panels[stepNumber - 1] || null;
|
|
684
659
|
}
|
|
685
660
|
/**
|
|
686
661
|
* Retorna o índice (número) da etapa atual.
|
|
687
662
|
* A numeração começa em 1 (primeira etapa = 1, segunda = 2, etc).
|
|
688
663
|
* @returns Promise<number>
|
|
689
664
|
*/
|
|
690
|
-
getCurrentStepIndex() {
|
|
691
|
-
return
|
|
692
|
-
return this.currentStep;
|
|
693
|
-
});
|
|
665
|
+
async getCurrentStepIndex() {
|
|
666
|
+
return this.currentStep;
|
|
694
667
|
}
|
|
695
668
|
/**
|
|
696
669
|
* Retorna o número total de etapas do wizard.
|
|
697
670
|
* @returns Promise<number>
|
|
698
671
|
*/
|
|
699
|
-
getTotalSteps() {
|
|
700
|
-
return
|
|
701
|
-
return this.panels.length;
|
|
702
|
-
});
|
|
672
|
+
async getTotalSteps() {
|
|
673
|
+
return this.panels.length;
|
|
703
674
|
}
|
|
704
675
|
// ========================================
|
|
705
676
|
// NAVEGAÇÃO E VALIDAÇÃO
|
|
@@ -715,64 +686,62 @@ const Wizard = class {
|
|
|
715
686
|
* @param skipValidation - Se true, pula validação (útil para reset/programático)
|
|
716
687
|
* @returns Promise<boolean> - true se navegou com sucesso, false se bloqueado
|
|
717
688
|
*/
|
|
718
|
-
navigateToStep(
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
689
|
+
async navigateToStep(targetStep, skipValidation = false) {
|
|
690
|
+
/**
|
|
691
|
+
* VALIDAÇÕES BÁSICAS
|
|
692
|
+
* 1. Verifica se targetStep está dentro dos limites válidos
|
|
693
|
+
* 2. Se já estamos na etapa alvo, retorna sucesso imediatamente
|
|
694
|
+
*/
|
|
695
|
+
if (targetStep < 1 || targetStep > this.panels.length) {
|
|
696
|
+
return false;
|
|
697
|
+
}
|
|
698
|
+
if (targetStep === this.currentStep) {
|
|
699
|
+
return true;
|
|
700
|
+
}
|
|
701
|
+
/**
|
|
702
|
+
* MODO LINEAR: RESTRIÇÕES
|
|
703
|
+
* No modo linear, não é permitido pular para etapas futuras não visitadas.
|
|
704
|
+
* É possível voltar, mas não avançar além da próxima etapa sequencial.
|
|
705
|
+
*/
|
|
706
|
+
if (this.progressionType === 'linear') {
|
|
707
|
+
if (targetStep > this.currentStep + 1) {
|
|
708
|
+
const message = `Não é possível pular etapas. Complete a etapa ${this.currentStep + 1} antes de avançar.`;
|
|
709
|
+
this.announceToScreenReader(message);
|
|
710
|
+
this.brWizardNavigationBlocked.emit('linear-progression');
|
|
726
711
|
return false;
|
|
727
712
|
}
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
}
|
|
743
|
-
}
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* VALIDAÇÃO CUSTOMIZADA
|
|
716
|
+
* Emite evento brWizardBeforeStepChange APENAS se:
|
|
717
|
+
* 1. Não estamos pulando validação (skipValidation=false)
|
|
718
|
+
* 2. Estamos AVANÇANDO (targetStep > currentStep)
|
|
719
|
+
*
|
|
720
|
+
* Observações:
|
|
721
|
+
* - Voltar não precisa validar
|
|
722
|
+
* - Validação se aplica a ambos os modos (linear e nonlinear)
|
|
723
|
+
*/
|
|
724
|
+
const shouldValidate = !skipValidation && targetStep > this.currentStep;
|
|
725
|
+
if (shouldValidate) {
|
|
726
|
+
const eventResult = this.brWizardBeforeStepChange.emit(targetStep);
|
|
744
727
|
/**
|
|
745
|
-
*
|
|
746
|
-
*
|
|
747
|
-
* 1. Não estamos pulando validação (skipValidation=false)
|
|
748
|
-
* 2. Estamos AVANÇANDO (targetStep > currentStep)
|
|
749
|
-
*
|
|
750
|
-
* Observações:
|
|
751
|
-
* - Voltar não precisa validar
|
|
752
|
-
* - Validação se aplica a ambos os modos (linear e nonlinear)
|
|
728
|
+
* Se preventDefault() foi chamado no listener do evento,
|
|
729
|
+
* bloqueia a navegação e retorna false
|
|
753
730
|
*/
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
* bloqueia a navegação e retorna false
|
|
760
|
-
*/
|
|
761
|
-
if (eventResult.defaultPrevented) {
|
|
762
|
-
const message = 'Não é possível avançar. Verifique os campos obrigatórios da etapa atual.';
|
|
763
|
-
this.announceToScreenReader(message);
|
|
764
|
-
this.brWizardNavigationBlocked.emit('validation-failed');
|
|
765
|
-
return false;
|
|
766
|
-
}
|
|
731
|
+
if (eventResult.defaultPrevented) {
|
|
732
|
+
const message = 'Não é possível avançar. Verifique os campos obrigatórios da etapa atual.';
|
|
733
|
+
this.announceToScreenReader(message);
|
|
734
|
+
this.brWizardNavigationBlocked.emit('validation-failed');
|
|
735
|
+
return false;
|
|
767
736
|
}
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* EXECUTA NAVEGAÇÃO
|
|
740
|
+
* Atualiza o estado interno e emite evento de confirmação
|
|
741
|
+
*/
|
|
742
|
+
this.currentStep = targetStep;
|
|
743
|
+
this.brWizardStepChange.emit(this.currentStep);
|
|
744
|
+
return true;
|
|
776
745
|
}
|
|
777
746
|
// ========================================
|
|
778
747
|
// SINCRONIZAÇÃO COM BR-STEP
|
|
@@ -783,35 +752,33 @@ const Wizard = class {
|
|
|
783
752
|
* O br-step já gerencia completamente os atributos 'active' via componentShouldUpdate
|
|
784
753
|
* e requestAnimationFrame, então apenas chamamos os métodos de navegação dele.
|
|
785
754
|
*/
|
|
786
|
-
syncWithBrStep() {
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
yield this.stepRef.ProceedToNextStep();
|
|
802
|
-
}
|
|
755
|
+
async syncWithBrStep() {
|
|
756
|
+
if (this.stepRef === null)
|
|
757
|
+
return;
|
|
758
|
+
if (typeof this.stepRef.GetActiveStep !== 'function') {
|
|
759
|
+
return;
|
|
760
|
+
}
|
|
761
|
+
this.isSyncingWithStep = true;
|
|
762
|
+
try {
|
|
763
|
+
const targetStepIndex = this.currentStep - 1;
|
|
764
|
+
const currentActiveStep = await this.stepRef.GetActiveStep();
|
|
765
|
+
if (currentActiveStep !== targetStepIndex) {
|
|
766
|
+
const diff = targetStepIndex - currentActiveStep;
|
|
767
|
+
if (diff > 0) {
|
|
768
|
+
for (let i = 0; i < diff; i++) {
|
|
769
|
+
await this.stepRef.ProceedToNextStep();
|
|
803
770
|
}
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
771
|
+
}
|
|
772
|
+
else {
|
|
773
|
+
for (let i = 0; i < Math.abs(diff); i++) {
|
|
774
|
+
await this.stepRef.BackToPreviousStep();
|
|
808
775
|
}
|
|
809
776
|
}
|
|
810
777
|
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
}
|
|
778
|
+
}
|
|
779
|
+
finally {
|
|
780
|
+
this.isSyncingWithStep = false;
|
|
781
|
+
}
|
|
815
782
|
}
|
|
816
783
|
// ========================================
|
|
817
784
|
// GERENCIAMENTO DE PAINÉIS
|
|
@@ -828,16 +795,14 @@ const Wizard = class {
|
|
|
828
795
|
* Atualiza estados de todos os painéis.
|
|
829
796
|
* Define o índice e o estado ativo de cada painel.
|
|
830
797
|
*/
|
|
831
|
-
updatePanels() {
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
}
|
|
840
|
-
});
|
|
798
|
+
async updatePanels() {
|
|
799
|
+
for (let idx = 0; idx < this.panels.length; idx++) {
|
|
800
|
+
const panel = this.panels[idx];
|
|
801
|
+
const stepNumber = idx + 1;
|
|
802
|
+
const isActive = stepNumber === this.currentStep;
|
|
803
|
+
await panel.setIndex(stepNumber);
|
|
804
|
+
await panel.setActive(isActive);
|
|
805
|
+
}
|
|
841
806
|
}
|
|
842
807
|
/**
|
|
843
808
|
* Define etapa inicial baseada na prop initialStep.
|