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